]> git.lyx.org Git - lyx.git/blob - src/frontends/qt2/QBibtexDialog.C
Yet more (minor) compilation fixes.
[lyx.git] / src / frontends / qt2 / QBibtexDialog.C
1 /**
2  * \file QBibtexDialog.C
3  * Copyright 2001 the LyX Team
4  * Read the file COPYING
5  *
6  * \author John Levon <moz@compsoc.man.ac.uk>
7  */
8
9 #include <config.h>
10  
11 #include "ControlBibtex.h"
12 #include "gettext.h"
13 #include "debug.h"
14
15 #include "support/filetools.h"
16
17 #include <qwidget.h>
18 #include <qpushbutton.h>
19 #include <qcombobox.h>
20 #include <qlistbox.h>
21 #include <qlineedit.h>
22 #include <qcheckbox.h>
23 #include <qfiledialog.h>
24
25 #include "QBibtexDialog.h"
26 #include "QBibtex.h"
27  
28 QBibtexDialog::QBibtexDialog(QBibtex * form)
29         : QBibtexDialogBase(0, 0, false, 0),
30         form_(form)
31 {
32         connect(okPB, SIGNAL(clicked()),
33                 form, SLOT(slotOK()));
34         connect(closePB, SIGNAL(clicked()),
35                 form, SLOT(slotClose()));
36 }
37
38
39 void QBibtexDialog::change_adaptor()
40 {
41         form_->changed();
42 }
43
44
45 void QBibtexDialog::browsePressed()
46 {
47         QString file = QFileDialog::getOpenFileName(QString::null,
48                 _("BibTeX style files (*.bst)"), this, 0, _("Select a BibTeX style"));
49         if (!file.isNull()) {
50                 styleED->setText(ChangeExtension(OnlyFilename(file.latin1()), "").c_str());
51                 form_->changed();
52         }
53 }
54
55
56 void QBibtexDialog::addPressed()
57 {
58         QString file = QFileDialog::getOpenFileName(QString::null,
59                 _("BibTeX database files (*.bib)"), this, 0, _("Select a BibTeX database to add"));
60         if (!file.isNull()) {
61                 // FIXME: check duplicates
62                 databaseLB->insertItem(ChangeExtension(file.latin1(), "").c_str());
63                 form_->changed();
64         }
65 }
66
67
68 void QBibtexDialog::deletePressed()
69 {
70         databaseLB->removeItem(databaseLB->currentItem());
71 }
72
73
74 void QBibtexDialog::styleChanged(const QString & sel)
75 {
76         if (form_->readOnly())
77                 return;
78
79         if (string(_("Other ...")) == sel.latin1()) {
80                 styleED->setEnabled(true);
81                 stylePB->setEnabled(true);
82         } else {
83                 styleED->setEnabled(false);
84                 stylePB->setEnabled(false);
85                 styleED->setText("");
86         }
87 }
88
89
90 void QBibtexDialog::databaseChanged()
91 {
92         deletePB->setEnabled(!form_->readOnly() && databaseLB->currentItem() != -1);
93 }
94
95
96 void QBibtexDialog::closeEvent(QCloseEvent *e)
97 {
98         form_->slotWMHide();
99         e->accept();
100 }