X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiCitation.h;h=08a7c4c42d8372e07e1339201190f408de5b0e92;hb=7c0cbe68bc11bbe00deaa0346d96948a9827f35d;hp=3ca1b50a9450fc971812615a9fde69fe8191f278;hpb=e3f65fd0883c7706aa08fb72e128e7c32fba11b5;p=lyx.git diff --git a/src/frontends/qt4/GuiCitation.h b/src/frontends/qt4/GuiCitation.h index 3ca1b50a94..08a7c4c42d 100644 --- a/src/frontends/qt4/GuiCitation.h +++ b/src/frontends/qt4/GuiCitation.h @@ -17,11 +17,15 @@ #include "DialogView.h" #include "ui_CitationUi.h" +#include "FancyLineEdit.h" #include "insets/InsetCommandParams.h" +#include "BiblioInfo.h" #include "Citation.h" +#include +#include #include #include @@ -33,6 +37,7 @@ namespace frontend { class GuiSelectionManager; + class GuiCitation : public DialogView, public Ui::CitationUi { Q_OBJECT @@ -40,25 +45,27 @@ class GuiCitation : public DialogView, public Ui::CitationUi public: /// GuiCitation(GuiView & lv); - /// - ~GuiCitation(); private Q_SLOTS: void on_okPB_clicked(); void on_cancelPB_clicked(); void on_restorePB_clicked(); void on_applyPB_clicked(); - void on_searchPB_clicked(); - void on_findLE_textChanged(const QString & text); + void on_literalCB_clicked(); + void filterPressed(); + void filterChanged(const QString & text); void on_fieldsCO_currentIndexChanged(int index); void on_entriesCO_currentIndexChanged(int index); void on_citationStyleCO_currentIndexChanged(int index); - void on_caseCB_stateChanged(int); - void on_regexCB_stateChanged(int); - void on_asTypeCB_stateChanged(int); + void resetFilter(); + void caseChanged(); + void regexChanged(); + void instantChanged(bool checked); void changed(); - /// + /// set the citation keys, mark as changed void setCitedKeys(); + /// update the styles for the style combo, mark as changed + void updateStyles(); /// performs a limited update, suitable for internal call void updateControls(); @@ -72,7 +79,7 @@ private: void clearParams(); void dispatchParams(); bool isBufferDependent() const { return true; } - void saveSession() const; + void saveSession(QSettings & settings) const; void restoreSession(); /** Disconnect from the inset when the Apply button is pressed. * Allows easy insertion of multiple citations. @@ -93,23 +100,36 @@ private: void updateInfo(BiblioInfo const & bi, QModelIndex const &); /// enable/disable buttons void setButtons(); - /// fill the styles combo - void fillStyles(BiblioInfo const & bi); /// fill the fields combo void fillFields(BiblioInfo const & bi); /// fill the entries combo void fillEntries(BiblioInfo const & bi); /// set the styles combo - void updateStyle(); + void updateStyles(BiblioInfo const & bi); /// set the formatting widgets - void updateFormatting(CiteStyle currentStyle); + void updateFormatting(CitationStyle const & currentStyle); /// void updateControls(BiblioInfo const & bi); + /// Set the appropriate hinting text on the filter bar + void updateFilterHint(); /// void init(); /// Clear selected keys void clearSelection(); + /// Set selected keys + void setSelectedKeys(QStringList const); + /// Get selected keys + QStringList selectedKeys(); + /// Set pre texts of qualified lists + void setPreTexts(std::vector const m); + /// Get pre texts of qualified lists + std::vector getPreTexts(); + /// Set post texts of qualified lists + void setPostTexts(std::vector const m); + /// Get post texts of qualified lists + std::vector getPostTexts(); + /// Find keys containing a string. void findKey( BiblioInfo const & bi, //< optimize by passing this @@ -122,20 +142,17 @@ private: bool reset = false //< whether to reset and search all keys ); - /// List of example cite strings - QStringList citationStyles(BiblioInfo const & bi, int); + /// List of example cite strings and their correlating lyx name + BiblioInfo::CiteStringMap citationStyles(BiblioInfo const & bi, + size_t max_size); /// Set the Params variable for the Controller. - void apply(int const choice, bool const full, bool const force, + void applyParams(int const choice, bool const full, bool const force, QString before, QString after); /// void filterByEntryType(BiblioInfo const & bi, std::vector & keyVector, docstring entryType); - /// - CiteEngine citeEngine() const; - /// - CiteEngineType citeEngineType() const; /// Search a given string within the passed keys. /// \return the vector of matched keys. @@ -154,14 +171,26 @@ private: /// the like, so it should be avoided. BiblioInfo const & bibInfo() const; + /// contains the search box + FancyLineEdit * filter_; + + /// Regexp action + QAction * regexp_; + /// Case sensitive action + QAction * casesense_; + /// Search as you type action + QAction * instant_; + /// last used citation style - int style_; + QString style_; + /// this is the last style chosen in the current dialog + QString last_chosen_style_; /// GuiSelectionManager * selectionManager; /// available keys. QStringListModel available_model_; /// selected keys. - QStringListModel selected_model_; + QStandardItemModel selected_model_; /// All keys. QStringList all_keys_; /// Cited keys.