]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/QBibtex.C
enable Font cache only for MacOSX and inline width() for other platform.
[lyx.git] / src / frontends / qt4 / QBibtex.C
index 8585779fbd08d0777b7d6c91780c20b93659e803..b4bae450d3f742cf3611016f92d2d67f463be24f 100644 (file)
 
 #include "controllers/ControlBibtex.h"
 
-#include "support/filetools.h" // ChangeExtension
+#include "support/filetools.h" // changeExtension
 #include "support/lstrings.h"
 
-#include <qpushbutton.h>
-#include <q3listbox.h>
-#include <qcheckbox.h>
+#include <QPushButton>
+#include <QListWidget>
+#include <QCheckBox>
 
 
-using lyx::support::ChangeExtension;
-using lyx::support::contains;
-using lyx::support::prefixIs;
+using lyx::support::changeExtension;
 using lyx::support::split;
 using lyx::support::trim;
 
@@ -46,7 +44,7 @@ namespace frontend {
 typedef QController<ControlBibtex, QView<QBibtexDialog> > base_class;
 
 QBibtex::QBibtex(Dialog & parent)
-       : base_class(parent, _("BibTeX Bibliography"))
+       : base_class(parent, lyx::to_utf8(_("BibTeX Bibliography")))
 {
 }
 
@@ -57,7 +55,7 @@ void QBibtex::build_dialog()
 
        bcview().setOK(dialog_->okPB);
        bcview().setCancel(dialog_->closePB);
-       bcview().addReadOnly(dialog_->databaseLB);
+       bcview().addReadOnly(dialog_->databaseLW);
        bcview().addReadOnly(dialog_->stylePB);
        bcview().addReadOnly(dialog_->styleCB);
        bcview().addReadOnly(dialog_->bibtocCB);
@@ -75,7 +73,7 @@ void QBibtex::update_contents()
 
        bool bibtopic = controller().usingBibtopic();
 
-       dialog_->databaseLB->clear();
+       dialog_->databaseLW->clear();
 
        string bibs(controller().params().getContents());
        string bib;
@@ -84,36 +82,22 @@ void QBibtex::update_contents()
                bibs = split(bibs, bib, ',');
                bib = trim(bib);
                if (!bib.empty())
-                       dialog_->databaseLB->insertItem(toqstr(bib));
+                       dialog_->databaseLW->addItem(toqstr(bib));
        }
 
-       dialog_->add_->bibLB->clear();
+       dialog_->add_->bibLW->clear();
 
        vector<string> bib_str;
        controller().getBibFiles(bib_str);
        for (vector<string>::const_iterator it = bib_str.begin();
                it != bib_str.end(); ++it) {
-               string bibItem(ChangeExtension(*it, ""));
-               dialog_->add_->bibLB->insertItem(toqstr(bibItem));
+               string bibItem(changeExtension(*it, ""));
+               dialog_->add_->bibLW->addItem(toqstr(bibItem));
        }
 
-       string bibtotoc = "bibtotoc";
-       string bibstyle(controller().params().getOptions());
-
-       // bibtotoc exists?
-       if (prefixIs(bibstyle, bibtotoc)){
-               // bibstyle exists?
-               if (contains(bibstyle,','))
-                       bibstyle = split(bibstyle, bibtotoc, ',');
-               else
-                       bibstyle.erase();
-       }
-
-       if (prefixIs(bibstyle, bibtotoc) && !bibtopic)
-               dialog_->bibtocCB->setChecked(true);
-       else
-               dialog_->bibtocCB->setChecked(false);
+       string bibstyle(controller().getStylefile());
 
+       dialog_->bibtocCB->setChecked(controller().bibtotoc() && !bibtopic);
        dialog_->bibtocCB->setEnabled(!bibtopic);
 
        string btprint(controller().params().getSecOptions());
@@ -123,7 +107,7 @@ void QBibtex::update_contents()
        else if (btprint == "btPrintAll")
                btp = 2;
 
-       dialog_->btPrintCO->setCurrentItem(btp);
+       dialog_->btPrintCO->setCurrentIndex(btp);
        dialog_->btPrintCO->setEnabled(bibtopic);
 
        dialog_->styleCB->clear();
@@ -134,32 +118,32 @@ void QBibtex::update_contents()
        controller().getBibStyles(str);
        for (vector<string>::const_iterator it = str.begin();
                it != str.end(); ++it) {
-               string item(ChangeExtension(*it, ""));
+               string item(changeExtension(*it, ""));
                if (item == bibstyle)
                        item_nr = int(it - str.begin());
-               dialog_->styleCB->insertItem(toqstr(item));
+               dialog_->styleCB->addItem(toqstr(item));
        }
 
        if (item_nr == -1 && !bibstyle.empty()) {
-               dialog_->styleCB->insertItem(toqstr(bibstyle));
+               dialog_->styleCB->addItem(toqstr(bibstyle));
                item_nr = dialog_->styleCB->count() - 1;
        }
 
        if (item_nr != -1)
-               dialog_->styleCB->setCurrentItem(item_nr);
+               dialog_->styleCB->setCurrentIndex(item_nr);
        else
-               dialog_->styleCB->clearEdit();
+               dialog_->styleCB->clearEditText();
 }
 
 
 void QBibtex::apply()
 {
-       string dbs(fromqstr(dialog_->databaseLB->text(0)));
+       string dbs(fromqstr(dialog_->databaseLW->item(0)->text()));
 
-       unsigned int maxCount = dialog_->databaseLB->count();
+       unsigned int maxCount = dialog_->databaseLW->count();
        for (unsigned int i = 1; i < maxCount; i++) {
                dbs += ',';
-               dbs += fromqstr(dialog_->databaseLB->text(i));
+               dbs += fromqstr(dialog_->databaseLW->item(i)->text());
        }
 
        controller().params().setContents(dbs);
@@ -184,7 +168,7 @@ void QBibtex::apply()
        // 1. sections that include all cited references of the database(s)
        // 2. sections that include all uncited references of the database(s)
        // 3. sections that include all references of the database(s), cited or not
-       int btp = dialog_->btPrintCO->currentItem();
+       int btp = dialog_->btPrintCO->currentIndex();
 
        switch (btp) {
        case 0:
@@ -205,7 +189,7 @@ void QBibtex::apply()
 
 bool QBibtex::isValid()
 {
-       return dialog_->databaseLB->count() != 0;
+       return dialog_->databaseLW->count() != 0;
 }
 
 } // namespace frontend