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 <qcheckbox.h>
14 #include <qfiledialog.h>
16 #include "QBibtexDialog.h"
19 #include "ControlBibtex.h"
23 #include "support/filetools.h"
25 QBibtexDialog::QBibtexDialog(QBibtex * form)
26 : QBibtexDialogBase(0, 0, false, 0),
29 connect(okPB, SIGNAL(clicked()),
30 form, SLOT(slotOK()));
31 connect(closePB, SIGNAL(clicked()),
32 form, SLOT(slotClose()));
36 void QBibtexDialog::change_adaptor()
42 void QBibtexDialog::browsePressed()
44 QString file = QFileDialog::getOpenFileName(QString::null,
45 _("BibTeX style files (*.bst)"), this, 0, _("Select a BibTeX style"));
47 styleED->setText(ChangeExtension(OnlyFilename(file.latin1()), "").c_str());
53 void QBibtexDialog::addPressed()
55 QString file = QFileDialog::getOpenFileName(QString::null,
56 _("BibTeX database files (*.bib)"), this, 0, _("Select a BibTeX database to add"));
58 // FIXME: check duplicates
59 databaseLB->insertItem(ChangeExtension(file.latin1(), "").c_str());
65 void QBibtexDialog::deletePressed()
67 databaseLB->removeItem(databaseLB->currentItem());
71 void QBibtexDialog::styleChanged(const QString & sel)
73 if (form_->readOnly())
76 if (string(_("Other ...")) == sel.latin1()) {
77 styleED->setEnabled(true);
78 stylePB->setEnabled(true);
80 styleED->setEnabled(false);
81 stylePB->setEnabled(false);
87 void QBibtexDialog::databaseChanged()
89 deletePB->setEnabled(!form_->readOnly() && databaseLB->currentItem() != -1);
93 void QBibtexDialog::closeEvent(QCloseEvent *e)