]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/QCitationDialog.h
This new citation dialog follows a new design similar to lyx-1.3:
[lyx.git] / src / frontends / qt4 / QCitationDialog.h
index 712fcc81505ad6da1948bcac5f190d61d15e7774..0eb96da84ec1532748ce4f711002bb156ec737f4 100644 (file)
 #include "ui/QCitationUi.h"
 #include "ui/QCitationFindUi.h"
 #include "controllers/biblio.h"
+
 #include <QDialog>
+#include <vector>
+
+class Q3ListBox;
+class Q3ListBoxItem;
+
+class InsetCommandParams;
 
 namespace lyx {
 namespace frontend {
 
 class QCitation;
+class QCitationFind;
 
 class QCitationDialog : public QDialog, public Ui::QCitationUi {
        Q_OBJECT
@@ -30,29 +38,82 @@ public:
 
        ~QCitationDialog();
 
+       void update(InsetCommandParams const & params);
+       void apply(InsetCommandParams & params);
+
+//     virtual bool isValid();
+
+protected slots:
+
+//     void on_selectedLB_currentChanged(Q3ListBoxItem*);
+       
+       void on_okPB_clicked();
+       void on_cancelPB_clicked();
+       void on_restorePB_clicked();
+       void on_applyPB_clicked();
+       void on_addPB_clicked();
+
+       void on_deletePB_clicked();
+       void on_upPB_clicked();
+       void on_downPB_clicked();
+       void on_findLE_textChanged(const QString & text);
+       void on_advancedSearchPB_clicked();
+
+       virtual void changed();
+
+private:
        void setButtons();
        /// open the find dialog if nothing selected
        void openFind();
 
-       Ui::QCitationFindUi ui_;
-       QDialog * add_;
+       /// fill the styles combo
+       void fillStyles();
+
+       /// set the styles combo
+       void updateStyle();
+
+       /// check if apply has been pressed
+       bool open_find_;
+
+       /// selected keys
+       std::vector<std::string> citekeys;
+
+       /// selected natbib style
+       int style_;
+
+       QCitation * form_;
+       QCitationFind * find_;
+};
+
+
+class QCitationFind: public QDialog, public Ui::QCitationFindUi {
+       Q_OBJECT
+
+public:
+       QCitationFind(QCitation * form, QWidget * parent = 0, Qt::WFlags f = 0);
+
+       void update();
+
+       std::vector<std::string> const & foundCitations()
+       { return foundkeys;     }
+
+signals:
+       void newCitations();
 
 protected slots:
 
-       virtual void availableChanged();
-       virtual void selectedChanged();
-       virtual void up();
-       virtual void down();
-       virtual void del();
-       virtual void addCitation();
-       virtual void add();
+       void on_availableLB_currentChanged(Q3ListBoxItem *);
+       void on_availableLB_selected(Q3ListBoxItem *);
+       void on_addPB_clicked();
        virtual void previous();
        virtual void next();
-       virtual void changed_adaptor();
 
 private:
        void find(biblio::Direction dir);
 
+       /// selected keys
+       std::vector<std::string> foundkeys;
+
        QCitation * form_;
 };