2 * \file QBibtexDialog.C
3 * Copyright 2001 the LyX Team
4 * Read the file COPYING
6 * \author John Levon <moz@compsoc.man.ac.uk>
11 #include "ControlBibtex.h"
15 #include "support/filetools.h"
18 #include <qpushbutton.h>
19 #include <qcombobox.h>
21 #include <qlineedit.h>
22 #include <qcheckbox.h>
23 #include <qfiledialog.h>
25 #include "QBibtexDialog.h"
28 QBibtexDialog::QBibtexDialog(QBibtex * form)
29 : QBibtexDialogBase(0, 0, false, 0),
32 connect(okPB, SIGNAL(clicked()),
33 form, SLOT(slotOK()));
34 connect(closePB, SIGNAL(clicked()),
35 form, SLOT(slotClose()));
39 void QBibtexDialog::change_adaptor()
45 void QBibtexDialog::browsePressed()
47 QString file = QFileDialog::getOpenFileName(QString::null,
48 _("BibTeX style files (*.bst)"), this, 0, _("Select a BibTeX style"));
50 styleED->setText(ChangeExtension(OnlyFilename(file.latin1()), "").c_str());
56 void QBibtexDialog::addPressed()
58 QString file = QFileDialog::getOpenFileName(QString::null,
59 _("BibTeX database files (*.bib)"), this, 0, _("Select a BibTeX database to add"));
61 // FIXME: check duplicates
62 databaseLB->insertItem(ChangeExtension(file.latin1(), "").c_str());
68 void QBibtexDialog::deletePressed()
70 databaseLB->removeItem(databaseLB->currentItem());
74 void QBibtexDialog::styleChanged(const QString & sel)
76 if (form_->readOnly())
79 if (string(_("Other ...")) == sel.latin1()) {
80 styleED->setEnabled(true);
81 stylePB->setEnabled(true);
83 styleED->setEnabled(false);
84 stylePB->setEnabled(false);
90 void QBibtexDialog::databaseChanged()
92 deletePB->setEnabled(!form_->readOnly() && databaseLB->currentItem() != -1);
96 void QBibtexDialog::closeEvent(QCloseEvent *e)