- bc().setOK(dialog_->okPB);
- bc().setApply(dialog_->applyPB);
- bc().setCancel(dialog_->closePB);
- bc().setRestore(dialog_->restorePB);
-
- bc().addReadOnly(dialog_->addPB);
- bc().addReadOnly(dialog_->delPB);
- bc().addReadOnly(dialog_->upPB);
- bc().addReadOnly(dialog_->downPB);
- bc().addReadOnly(dialog_->citationStyleCO);
- // add when enabled !
- //bc().addReadOnly(dialog_->textBeforeED);
- bc().addReadOnly(dialog_->textAfterED);
+ bcview().setOK(dialog_->okPB);
+ bcview().setApply(dialog_->applyPB);
+ bcview().setCancel(dialog_->closePB);
+ bcview().setRestore(dialog_->restorePB);
+
+ bcview().addReadOnly(dialog_->addPB);
+ bcview().addReadOnly(dialog_->deletePB);
+ bcview().addReadOnly(dialog_->upPB);
+ bcview().addReadOnly(dialog_->downPB);
+ bcview().addReadOnly(dialog_->citationStyleCO);
+ bcview().addReadOnly(dialog_->forceuppercaseCB);
+ bcview().addReadOnly(dialog_->fulllistCB);
+ // add when enabled !
+ //bcview().addReadOnly(dialog_->textBeforeED);
+ bcview().addReadOnly(dialog_->textAfterED);
+}
+
+
+void QCitation::fillStyles()
+{
+ if (citekeys.empty()) {
+ dialog_->citationStyleCO->setEnabled(false);
+ dialog_->citationStyleLA->setEnabled(false);
+ return;
+ }
+
+ int const orig = dialog_->citationStyleCO->currentItem();
+
+ dialog_->citationStyleCO->clear();
+
+ int curr = dialog_->selectedLB->currentItem();
+ if (curr < 0)
+ curr = 0;
+
+ string key = citekeys[curr];
+
+ vector<string> const & sty = controller().getCiteStrings(key);
+
+ bool const natbib = controller().usingNatbib();
+ dialog_->citationStyleCO->setEnabled(!sty.empty() && natbib);
+ dialog_->citationStyleLA->setEnabled(!sty.empty() && natbib);
+
+ for (vector<string>::const_iterator it = sty.begin();
+ it != sty.end(); ++it) {
+ dialog_->citationStyleCO->insertItem(toqstr(*it));
+ }
+
+ if (orig != -1 && orig < dialog_->citationStyleCO->count())
+ dialog_->citationStyleCO->setCurrentItem(orig);
+}
+
+
+void QCitation::updateStyle()
+{
+ bool const natbib = controller().usingNatbib();
+
+ dialog_->fulllistCB->setEnabled(natbib);
+ dialog_->forceuppercaseCB->setEnabled(natbib);
+
+ string const & command = controller().params().getCmdName();
+
+ // Find the style of the citekeys
+ vector<biblio::CiteStyle> const & styles =
+ ControlCitation::getCiteStyles();
+ biblio::CitationStyle cs = biblio::getCitationStyle(command);
+
+ vector<biblio::CiteStyle>::const_iterator cit =
+ find(styles.begin(), styles.end(), cs.style);
+
+ dialog_->citationStyleCO->setCurrentItem(0);
+ dialog_->fulllistCB->setChecked(false);
+ dialog_->forceuppercaseCB->setChecked(false);
+
+ if (cit != styles.end()) {
+ int const i = int(cit - styles.begin());
+ dialog_->citationStyleCO->setCurrentItem(i);
+ dialog_->fulllistCB->setChecked(cs.full);
+ dialog_->forceuppercaseCB->setChecked(cs.forceUCase);
+ }