-// -*- C++ -*-
/* This file is part of
* ======================================================
*
#include "mainapp.h"
extern GLyxAppWin * mainAppWin;
-using SigC::bind;
+namespace anon {
// configuration keys
-static string const CONF_ENTRY_NAME("FormRef_name");
+string const CONF_ENTRY_NAME("FormRef_name");
// goto button labels
-static string const GOTO_REF_LABEL(N_("Goto reference"));
-static string const GOTO_BACK_LABEL(N_("Go back"));
+string const GOTO_REF_LABEL(N_("Goto reference"));
+string const GOTO_BACK_LABEL(N_("Go back"));
+
+} // namespace anon
+
FormRef::FormRef(LyXView * lv, Dialogs * d)
- : lv_(lv), d_(d), inset_(0), u_(0), h_(0), ih_(0), dialog_(NULL)
+ : lv_(lv), d_(d), inset_(0), u_(0), h_(0), ih_(0), dialog_(0)
{
// let the dialog be shown
// These are permanent connections so we won't bother
void FormRef::showInset( InsetCommand * const inset )
{
- if( dialog_!=NULL || inset == 0 ) return;
+ if( dialog_!=0 || inset == 0 ) return;
inset_ = inset;
- ih_ = inset_->hide.connect(slot(this, &FormRef::hide));
+ ih_ = inset_->hideDialog.connect(slot(this, &FormRef::hide));
acttype_ = EDIT;
void FormRef::createInset( string const & arg )
{
- if( dialog_!=NULL ) return;
+ if( dialog_!=0 ) return;
acttype_ = INSERT;
// packing dialog to main window
dialog_ = alig;
- mainAppWin->add_action(*dialog_, N_(" Reference "));
+ mainAppWin->add_action(*dialog_, _(" Reference "));
// setting focus
gtk_widget_grab_focus (GTK_WIDGET(b_cancel->gtkobj()));
b_cancel->clicked.connect(slot(mainAppWin, &GLyxAppWin::remove_action));
dialog_->destroy.connect(slot(this, &FormRef::free));
- u_ = d_->updateBufferDependent.connect(slot(this, &FormRef::update));
+ u_ = d_->updateBufferDependent.connect(slot(this, &FormRef::updateSlot));
h_ = d_->hideBufferDependent.connect(slot(this, &FormRef::hide));
}
}
// packing dialog to main window
dialog_ = mbox;
- mainAppWin->add_action(*dialog_, N_(" Reference: Select reference "), true);
+ mainAppWin->add_action(*dialog_, _(" Reference: Select reference "), true);
// setting focus
GTK_WIDGET_SET_FLAGS (GTK_WIDGET(b_ok->gtkobj()), GTK_CAN_DEFAULT);
dialog_->destroy.connect(slot(this, &FormRef::free));
- u_ = d_->updateBufferDependent.connect(slot(this, &FormRef::update));
+ u_ = d_->updateBufferDependent.connect(slot(this, &FormRef::updateSlot));
h_ = d_->hideBufferDependent.connect(slot(this, &FormRef::hide));
}
}
Gtk::Menu * menu = manage( new Gtk::Menu() );
Gtk::MenuItem * e;
- e = manage( new Gtk::MenuItem(N_("Ref")) );
+ e = manage( new Gtk::MenuItem(_("Ref")) );
e->activate.connect(bind<Type>(slot(this, &FormRef::changeType), REF));
e->show();
menu->append( *e );
- e = manage( new Gtk::MenuItem(N_("Page")) );
+ e = manage( new Gtk::MenuItem(_("Page")) );
e->activate.connect(bind<Type>(slot(this, &FormRef::changeType), PAGEREF));
e->show();
menu->append( *e );
- e = manage( new Gtk::MenuItem(N_("TextRef")) );
+ e = manage( new Gtk::MenuItem(_("TextRef")) );
e->activate.connect(bind<Type>(slot(this, &FormRef::changeType), VREF));
e->show();
menu->append( *e );
- e = manage( new Gtk::MenuItem(N_("TextPage")) );
+ e = manage( new Gtk::MenuItem(_("TextPage")) );
e->activate.connect(bind<Type>(slot(this, &FormRef::changeType), VPAGEREF));
e->show();
menu->append( *e );
- e = manage( new Gtk::MenuItem(N_("PrettyRef")) );
+ e = manage( new Gtk::MenuItem(_("PrettyRef")) );
e->activate.connect(bind<Type>(slot(this, &FormRef::changeType), PRETTYREF));
e->show();
menu->append( *e );
bbox->children().push_back(Element(*b_ok, false, false));
bbox->children().push_back(Element(*b_cancel, false, false));
- table->attach( *manage( new Gtk::Label(N_("Type:")) ), 0, 1, 0, 1, 0, 0 );
- table->attach( *manage( new Gtk::Label(N_("Name:")) ), 0, 1, 1, 2, 0, 0 );
+ table->attach( *manage( new Gtk::Label(_("Type:")) ), 0, 1, 0, 1, 0, 0 );
+ table->attach( *manage( new Gtk::Label(_("Name:")) ), 0, 1, 1, 2, 0, 0 );
table->attach( *choice_, 1, 2, 0, 1 );
table->attach( *name_, 1, 2, 1, 2 );
// packing dialog to main window
dialog_ = mbox;
- mainAppWin->add_action(*dialog_, string(N_(" Reference: ")) + params.getContents() + string(" "));
+ mainAppWin->add_action(*dialog_, string(_(" Reference: ")) + params.getContents() + string(" "));
// setting focus
GTK_WIDGET_SET_FLAGS (GTK_WIDGET(b_cancel->gtkobj()), GTK_CAN_DEFAULT);
dialog_->destroy.connect(slot(this, &FormRef::free));
- u_ = d_->updateBufferDependent.connect(slot(this, &FormRef::update));
+ u_ = d_->updateBufferDependent.connect(slot(this, &FormRef::updateSlot));
h_ = d_->hideBufferDependent.connect(slot(this, &FormRef::hide));
}
}
+void FormRef::updateSlot(bool buffchanged)
+{
+ if (buffchanged) hide();
+}
+
void FormRef::hide()
{
- if (dialog_!=NULL) mainAppWin->remove_action();
+ if (dialog_!=0) mainAppWin->remove_action();
}
void FormRef::free()
{
- if (dialog_!=NULL)
+ if (dialog_!=0)
{
- dialog_ = NULL;
+ dialog_ = 0;
u_.disconnect();
h_.disconnect();
inset_ = 0;
}
case GOBACK:
{
- lv_->getLyXFunc()->Dispatch(LFUN_REF_BACK);
+ lv_->getLyXFunc()->Dispatch(LFUN_BOOKMARK_GOTO, "0");
gototype_ = GOREF;
b_goto->set_text(GOTO_REF_LABEL);
{
lv_->getLyXFunc()->Dispatch(LFUN_REF_INSERT,
params.getAsString());
+ lv_->getLyXFunc()->Dispatch(LFUN_BOOKMARK_SAVE, "0");
}
// save configuration