X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fqtui%2Fsettingspages%2Fcorehighlightsettingspage.h;h=03681e3c1e6f72410e84e50987871b5e8f4cd35a;hb=e8a39b4c3c92e193ab861a3fea84a261bb6fbd24;hp=5859d00ce87f23445675639982df5c531fc48088;hpb=3dd3e015a63cd5289e693867c27ec50779a3608d;p=quassel.git diff --git a/src/qtui/settingspages/corehighlightsettingspage.h b/src/qtui/settingspages/corehighlightsettingspage.h index 5859d00c..03681e3c 100644 --- a/src/qtui/settingspages/corehighlightsettingspage.h +++ b/src/qtui/settingspages/corehighlightsettingspage.h @@ -40,23 +40,23 @@ public: bool isSelectable() const override; public slots: - void save() override; - void load() override; - void defaults() override; + void save() final override; + void load() final override; + void defaults() final override; void revert(); void clientConnected(); private slots: void coreConnectionStateChanged(bool state); void widgetHasChanged(); - void addNewHighlightRow(bool enable = true, const QString &name = tr("highlight rule"), bool regex = false, + void addNewHighlightRow(bool enable = true, int id = -1, const QString &name = tr("highlight rule"), bool regex = false, bool cs = false, const QString &sender = "", const QString &chanName = "", bool self = false); - void addNewIgnoredRow(bool enable = true, const QString &name = tr("highlight rule"), bool regex = false, + void addNewIgnoredRow(bool enable = true, int id = -1, const QString &name = tr("highlight rule"), bool regex = false, bool cs = false, const QString &sender = "", const QString &chanName = "", bool self = false); void removeSelectedHighlightRows(); void removeSelectedIgnoredRows(); - void highlightNicksChanged(const int index); + void highlightNicksChanged(int index); void selectHighlightRow(QTableWidgetItem *item); void selectIgnoredRow(QTableWidgetItem *item); void highlightTableChanged(QTableWidgetItem *item); @@ -68,6 +68,11 @@ private slots: */ void importRules(); + /** + * Event handler for core unspported Details button + */ + void on_coreUnsupportedDetails_clicked(); + private: Ui::CoreHighlightSettingsPage ui; @@ -89,5 +94,51 @@ private: void setupRuleTable(QTableWidget *highlightTable) const; + /** + * Get tooltip for the specified rule table column + * + * @param tableColumn Column to retrieve tooltip + * @return Translated tooltip for the specified column + */ + QString getTableTooltip(column tableColumn) const; + + /** + * Setup tooltips and "What's this?" prompts for table entries + * + * @param enableWidget Enabled checkbox + * @param nameWidget Rule name + * @param regExWidget RegEx enabled + * @param csWidget Case-sensitive + * @param senderWidget Sender name + * @param chanWidget Channel name + */ + void setupTableTooltips(QWidget *enableWidget, QWidget *nameWidget, QWidget *regExWidget, + QWidget *csWidget, QWidget *senderWidget, QWidget *chanWidget) const; + + /** + * Setup tooltips and "What's this?" prompts for table entries + * + * @param enableWidget Enabled checkbox + * @param nameWidget Rule name + * @param regExWidget RegEx enabled + * @param csWidget Case-sensitive + * @param senderWidget Sender name + * @param chanWidget Channel name + */ + void setupTableTooltips(QTableWidgetItem *enableWidget, QTableWidgetItem *nameWidget, + QTableWidgetItem *regExWidget, QTableWidgetItem *csWidget, + QTableWidgetItem *senderWidget, QTableWidgetItem *chanWidget) const; + + /** Update the UI to show core support for highlights + * + * Shows or hides the UI warnings around core-side highlights according to core connection and + * core feature support. + * + * @param state True if connected to core, otherwise false + */ + void updateCoreSupportStatus(bool state); + + int nextId(); + bool _initialized; };