X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fxforms%2FFormCitation.C;h=a6694383f272e928eb4baab8a1cf597709f84cd8;hb=eba67bc3120dc301bf193c3f3b570f51f00a4654;hp=8cdcfac7e690dc659cdedc504e3bbd45aef04df6;hpb=adaef99e60e28eba8c413a3472cc71e234718af0;p=lyx.git diff --git a/src/frontends/xforms/FormCitation.C b/src/frontends/xforms/FormCitation.C index 8cdcfac7e6..a6694383f2 100644 --- a/src/frontends/xforms/FormCitation.C +++ b/src/frontends/xforms/FormCitation.C @@ -25,15 +25,16 @@ #include "lyxfunc.h" #include "support/filetools.h" -using std::vector; -using std::pair; +using std::find; using std::max; using std::min; -using std::find; +using std::pair; +using std::sort; +using std::vector; FormCitation::FormCitation(LyXView * lv, Dialogs * d) - : FormCommand(lv, d, _("Citation"), new OkApplyCancelReadOnlyPolicy), + : FormCommand(lv, d, _("Citation"), new NoRepeatedApplyReadOnlyPolicy), dialog_(0) { // let the dialog be shown @@ -59,7 +60,7 @@ FL_FORM * FormCitation::form() const void FormCitation::connect() { - fl_set_form_maxsize( dialog_->form, 3*minw_, minh_ ); + //fl_set_form_maxsize( dialog_->form, 3*minw_, minh_ ); FormCommand::connect(); } @@ -82,12 +83,19 @@ void FormCitation::build() minw_ = form()->w; minh_ = form()->h; - // manage the ok, apply and cancel/close buttons + // Manage the ok, apply, restore and cancel/close buttons bc_.setOK(dialog_->button_ok); bc_.setApply(dialog_->button_apply); bc_.setCancel(dialog_->button_cancel); bc_.setUndoAll(dialog_->button_restore); bc_.refresh(); + + bc_.addReadOnly(dialog_->addBtn); + bc_.addReadOnly(dialog_->delBtn); + bc_.addReadOnly(dialog_->upBtn); + bc_.addReadOnly(dialog_->downBtn); + bc_.addReadOnly(dialog_->textBefore); + bc_.addReadOnly(dialog_->textAftr); } @@ -98,6 +106,7 @@ void FormCitation::update() vector > blist = lv_->buffer()->getBibkeyList(); + sort(blist.begin(), blist.end()); for (unsigned int i = 0; i < blist.size(); ++i) { bibkeys.push_back(blist[i].first); @@ -132,6 +141,8 @@ void FormCitation::update() setSize( size, bibPresent ); fl_set_input( dialog_->textAftr, params.getOptions().c_str()); + + bc_.readOnly(lv_->buffer()->isReadonly()); }