2 * \file QBibtexDialog.C
3 * Copyright 2001 the LyX Team
4 * Read the file COPYING
6 * \author John Levon <moz@compsoc.man.ac.uk>
10 #include <qpushbutton.h>
11 #include <qcombobox.h>
13 #include <qlineedit.h>
14 #include <qcheckbox.h>
15 #include <qfiledialog.h>
17 #include "QBibtexDialog.h"
20 #include "ControlBibtex.h"
24 #include "support/filetools.h"
26 QBibtexDialog::QBibtexDialog(QBibtex * form)
27 : QBibtexDialogBase(0, 0, false, 0),
30 connect(okPB, SIGNAL(clicked()),
31 form, SLOT(slotOK()));
32 connect(closePB, SIGNAL(clicked()),
33 form, SLOT(slotClose()));
37 void QBibtexDialog::change_adaptor()
43 void QBibtexDialog::browsePressed()
45 QString file = QFileDialog::getOpenFileName(QString::null,
46 _("BibTeX style files (*.bst)"), this, 0, _("Select a BibTeX style"));
48 styleED->setText(ChangeExtension(OnlyFilename(file.latin1()), "").c_str());
54 void QBibtexDialog::addPressed()
56 QString file = QFileDialog::getOpenFileName(QString::null,
57 _("BibTeX database files (*.bib)"), this, 0, _("Select a BibTeX database to add"));
59 // FIXME: check duplicates
60 databaseLB->insertItem(ChangeExtension(file.latin1(), "").c_str());
66 void QBibtexDialog::deletePressed()
68 databaseLB->removeItem(databaseLB->currentItem());
72 void QBibtexDialog::styleChanged(const QString & sel)
74 if (form_->readOnly())
77 if (string(_("Other ...")) == sel.latin1()) {
78 styleED->setEnabled(true);
79 stylePB->setEnabled(true);
81 styleED->setEnabled(false);
82 stylePB->setEnabled(false);
88 void QBibtexDialog::databaseChanged()
90 deletePB->setEnabled(!form_->readOnly() && databaseLB->currentItem() != -1);
94 void QBibtexDialog::closeEvent(QCloseEvent *e)