From 9e25f077c352c9b86638f9ac2177e5949502f58a Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Sun, 8 Aug 2004 13:17:22 +0000 Subject: [PATCH] do not use QFileDialog directly git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8871 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/controllers/ChangeLog | 7 +++++++ src/frontends/controllers/ControlBibtex.C | 18 ++++++++++++++---- src/frontends/controllers/ControlBibtex.h | 10 ++++++---- src/frontends/qt2/ChangeLog | 7 +++++++ src/frontends/qt2/QBibtexDialog.C | 22 ++++++++-------------- src/frontends/qt2/QLPrintDialog.C | 8 ++------ src/frontends/xforms/ChangeLog | 5 +++++ src/frontends/xforms/FormBibtex.C | 11 ++--------- 8 files changed, 51 insertions(+), 37 deletions(-) diff --git a/src/frontends/controllers/ChangeLog b/src/frontends/controllers/ChangeLog index 0b763271d6..5a21f20d31 100644 --- a/src/frontends/controllers/ChangeLog +++ b/src/frontends/controllers/ChangeLog @@ -1,3 +1,10 @@ +2004-08-07 Jean-Marc Lasgouttes + + * ControlBibtex.C (browseBst): new method, specialized to lookup + bibtex style files + (browseBib): new method, specialized to lookup bibtex database files + (browse): removed + 2004-07-25 Lars Gullik Bjonnes * ControlErrorList.C (goTo): shuffle code to avoid compiler warning. diff --git a/src/frontends/controllers/ControlBibtex.C b/src/frontends/controllers/ControlBibtex.C index 0675c87b89..9d7fb6c069 100644 --- a/src/frontends/controllers/ControlBibtex.C +++ b/src/frontends/controllers/ControlBibtex.C @@ -43,14 +43,24 @@ ControlBibtex::ControlBibtex(Dialog & d) {} -string const ControlBibtex::browse(string const & in_name, - string const & title, - FileFilterList const & filters) const +string const ControlBibtex::browseBib(string const & in_name) const { pair dir1(_("Documents|#o#O"), string(lyxrc.document_path)); + FileFilterList const filter(_("BibTeX Databases (*.bib)")); return browseRelFile(in_name, kernel().bufferFilepath(), - title, filters, false, dir1); + _("Select a BibTeX database to add"), + filter, false, dir1); +} + + +string const ControlBibtex::browseBst(string const & in_name) const +{ + pair dir1(_("Documents|#o#O"), + string(lyxrc.document_path)); + FileFilterList const filter(_("BibTeX Styles (*.bst)")); + return browseRelFile(in_name, kernel().bufferFilepath(), + _("Select a BibTeX style"), filter, false, dir1); } diff --git a/src/frontends/controllers/ControlBibtex.h b/src/frontends/controllers/ControlBibtex.h index cdd91ef9cb..0dc3d0db62 100644 --- a/src/frontends/controllers/ControlBibtex.h +++ b/src/frontends/controllers/ControlBibtex.h @@ -33,10 +33,12 @@ public: /// ControlBibtex(Dialog &); - /// Browse for a file - std::string const browse(std::string const & in_name, - std::string const & title, - support::FileFilterList const & filters) const; + /// Browse for a .bib file + std::string const browseBib(std::string const & in_name) const; + + /// Browse for a .bst file + std::string const browseBst(std::string const & in_name) const; + /// get the list of bst files void getBibStyles(std::vector & data) const; /// get the list of bib files diff --git a/src/frontends/qt2/ChangeLog b/src/frontends/qt2/ChangeLog index d90f5cf944..04012ed639 100644 --- a/src/frontends/qt2/ChangeLog +++ b/src/frontends/qt2/ChangeLog @@ -1,3 +1,10 @@ +2004-08-07 Jean-Marc Lasgouttes + + * QBibtexDialog.C (browsePressed): use ControlBibtex::browseBst + (browseBibPressed): use ControlBibtex::browseBib + + * QLPrintDialog.C (browseClicked): use ControlPrint::browse + 2004-08-01 Lars Gullik Bjonnes * QContentPane.C (keyPressEvent): make sure to use the smart diff --git a/src/frontends/qt2/QBibtexDialog.C b/src/frontends/qt2/QBibtexDialog.C index 5acd3f8ee2..5b4ef22ac3 100644 --- a/src/frontends/qt2/QBibtexDialog.C +++ b/src/frontends/qt2/QBibtexDialog.C @@ -15,14 +15,13 @@ #include "QBibtex.h" #include "qt_helpers.h" +#include "controllers/ControlBibtex.h" #include "support/filetools.h" #include #include #include #include -#include - using lyx::support::ChangeExtension; @@ -58,14 +57,10 @@ void QBibtexDialog::change_adaptor() void QBibtexDialog::browsePressed() { - QString const file = - QFileDialog::getOpenFileName(QString::null, - qt_("BibTeX style files (*.bst)"), - this, - 0, - qt_("Select a BibTeX style")); - if (!file.isNull()) { - string const filen = ChangeExtension(fromqstr(file), ""); + string const file = form_->controller().browseBst(""); + + if (!file.empty()) { + string const filen = ChangeExtension(file, ""); bool present = false; unsigned int pres = 0; @@ -87,11 +82,10 @@ void QBibtexDialog::browsePressed() void QBibtexDialog::browseBibPressed() { - QString const file = QFileDialog::getOpenFileName(QString::null, - qt_("BibTeX database files (*.bib)"), add_, 0, qt_("Select a BibTeX database to add")); + string const file = form_->controller().browseBib(""); - if (!file.isNull()) { - string const f = ChangeExtension(fromqstr(file), ""); + if (!file.empty()) { + string const f = ChangeExtension(file, ""); bool present = false; for (unsigned int i = 0; i != add_->bibLB->count(); i++) { diff --git a/src/frontends/qt2/QLPrintDialog.C b/src/frontends/qt2/QLPrintDialog.C index e06b9e9f95..7c4d50625c 100644 --- a/src/frontends/qt2/QLPrintDialog.C +++ b/src/frontends/qt2/QLPrintDialog.C @@ -11,11 +11,11 @@ #include +#include "controllers/ControlPrint.h" #include "QLPrintDialog.h" #include "QPrint.h" #include "qt_helpers.h" -#include #include #include #include @@ -43,11 +43,7 @@ void QLPrintDialog::change_adaptor() void QLPrintDialog::browseClicked() { - QString file = - QFileDialog::getOpenFileName(QString::null, - qt_("PostScript files (*.ps)"), - this, 0, - qt_("Select a file to print to")); + QString file = toqstr(form_->controller().browse("")); if (!file.isNull()) { fileED->setText(file); form_->changed(); diff --git a/src/frontends/xforms/ChangeLog b/src/frontends/xforms/ChangeLog index 179ef837f9..cbcee40d40 100644 --- a/src/frontends/xforms/ChangeLog +++ b/src/frontends/xforms/ChangeLog @@ -1,3 +1,8 @@ +2004-08-08 Jean-Marc Lasgouttes + + * FormBibtex.C (input): use ControlBibtex::browseBst and + ControlBibtex::browseBib + 2004-08-01 Lars Gullik Bjonnes * XWorkArea.C (work_area_handler): handle wheel events more diff --git a/src/frontends/xforms/FormBibtex.C b/src/frontends/xforms/FormBibtex.C index cfcb93ae93..a517664ff4 100644 --- a/src/frontends/xforms/FormBibtex.C +++ b/src/frontends/xforms/FormBibtex.C @@ -128,11 +128,7 @@ ButtonPolicy::SMInput FormBibtex::input(FL_OBJECT * ob, long ob_value) if (ob == dialog_->button_database_browse) { // When browsing, take the first file only string const in_name = getString(dialog_->input_database); - FileFilterList const - filter(_("*.bib| BibTeX Databases (*.bib)")); - string out_name = - controller().browse("", _("Select Database"), - filter); + string out_name = controller().browseBib(""); if (!out_name.empty()) { // add the database to any existing ones if (!in_name.empty()) @@ -143,10 +139,7 @@ ButtonPolicy::SMInput FormBibtex::input(FL_OBJECT * ob, long ob_value) } else if (ob == dialog_->button_style_browse) { string const in_name = getString(dialog_->input_style); - FileFilterList const - filter(_("*.bst| BibTeX Styles (*.bst)")); - string const style = controller() - .browse(in_name, _("Select BibTeX-Style"), filter); + string const style = controller().browseBst(in_name); if (!style.empty()) { fl_set_input(dialog_->input_style, style.c_str()); } -- 2.39.2