]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiBibtex.h
* fix spelling in comments to please John.
[lyx.git] / src / frontends / qt4 / GuiBibtex.h
index f18dfa339ae962b2cc9d4982c4778a3bea0927f3..3ce3ada32d5031665519c8972927f94e9c25eade 100644 (file)
@@ -5,6 +5,7 @@
  * Licence details can be found in the file COPYING.
  *
  * \author John Levon
+ * \author Angus Leeming
  *
  * Full author contact details are available in file CREDITS.
  */
 #ifndef GUIBIBTEX_H
 #define GUIBIBTEX_H
 
-#include "GuiDialogView.h"
+#include "GuiDialog.h"
 #include "ButtonController.h"
-#include "ControlBibtex.h"
 #include "ui_BibtexUi.h"
 #include "ui_BibtexAddUi.h"
 
-#include <QDialog>
+#include "insets/InsetCommandParams.h"
+
 
 namespace lyx {
 namespace frontend {
 
-class GuiBibtex;
-
-template<class UI>
-class UiDialog : public QDialog, public UI
+class GuiBibtexAddDialog : public QDialog, public Ui::BibtexAddUi
 {
 public:
-       UiDialog(QWidget * parent=0, bool modal=false, Qt::WFlags f=0)
-               : QDialog(parent, f)
+       GuiBibtexAddDialog(QWidget * parent) : QDialog(parent)
        {
-               UI::setupUi(this);
-               QDialog::setModal(modal);
+               Ui::BibtexAddUi::setupUi(this);
+               QDialog::setModal(true);
        }
 };
 
 
-class GuiBibtexDialog : public QDialog, public Ui::BibtexUi {
+class GuiBibtex : public GuiDialog, public Ui::BibtexUi
+{
        Q_OBJECT
 
 public:
-       GuiBibtexDialog(GuiBibtex * form);
-
-       UiDialog<Ui::BibtexAddUi> * add_;
-
-protected Q_SLOTS:
-       virtual void change_adaptor();
-       virtual void browsePressed();
-       virtual void browseBibPressed();
-       virtual void addPressed();
-       virtual void addDatabase();
-       virtual void deletePressed();
-       virtual void databaseChanged();
-       virtual void availableChanged();
+       explicit GuiBibtex(GuiView & lv);
+
+private Q_SLOTS:
+       void change_adaptor();
+       void browsePressed();
+       void browseBibPressed();
+       void addPressed();
+       void addDatabase();
+       void deletePressed();
+       void upPressed();
+       void downPressed();
+       void databaseChanged();
+       void availableChanged();
        void bibEDChanged();
+       void rescanClicked();
 
-protected:
-       virtual void closeEvent(QCloseEvent * e);
-
-private:
-       GuiBibtex * form_;
-       ButtonController add_bc_;
-};
-
-
-class GuiBibtex : public GuiView<GuiBibtexDialog>
-{
-public:
-       friend class GuiBibtexDialog;
-
-       GuiBibtex(GuiDialog &);
-       /// parent controller
-       ControlBibtex & controller()
-       { return static_cast<ControlBibtex &>(this->getController()); }
-       /// parent controller
-       ControlBibtex const & controller() const
-       { return static_cast<ControlBibtex const &>(this->getController()); }
-protected:
-       virtual bool isValid();
 private:
+       ///
+       bool isValid();
        /// Apply changes
-       virtual void applyView();
+       void applyView();
        /// update
-       virtual void update_contents();
-       /// build the dialog
-       virtual void build_dialog();
+       void updateContents();
+
+       /// Browse for a .bib file
+       QString browseBib(QString const & in_name) const;
+       /// Browse for a .bst file
+       QString browseBst(QString const & in_name) const;
+       /// get the list of bst files
+       QStringList bibStyles() const;
+       /// get the list of bib files
+       QStringList bibFiles() const;
+       /// build filelists of all availabe bib/bst/cls/sty-files. done through
+       /// kpsewhich and an external script, saved in *Files.lst
+       void rescanBibStyles() const;
+       /// do we use bibtopic (for sectioned bibliography)?
+       bool usingBibtopic() const;
+       /// should we put the bibliography to the TOC?
+       bool bibtotoc() const;
+       /// which stylefile do we use?
+       QString styleFile() const;
+
+       ///
+       bool initialiseParams(std::string const & data);
+       /// clean-up on hide.
+       void clearParams() { params_.clear(); }
+       /// clean-up on hide.
+       void dispatchParams();
+       ///
+       bool isBufferDependent() const { return true; }
+
+private:
+       ///
+       InsetCommandParams params_;
+       ///
+       GuiBibtexAddDialog * add_;
+       ///
+       ButtonController add_bc_;
 };
 
 } // namespace frontend