From: Manuel Nickschas Date: Wed, 20 Dec 2017 22:16:52 +0000 (+0100) Subject: Minor cleanups for core-side highlight feature X-Git-Tag: travis-deploy-test~202 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=71d3d0d705a853fa8fea3729e13dbddf52363417 Minor cleanups for core-side highlight feature Also remove some accidental fallthroughs, and fix the Qt4 build. Closes GH-303. --- diff --git a/src/client/client.h b/src/client/client.h index 6f261f57..89ef829d 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -18,16 +18,15 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef CLIENT_H_ -#define CLIENT_H_ +#pragma once #include #include -#include #include "bufferinfo.h" #include "coreaccount.h" #include "coreconnection.h" +#include "highlightrulemanager.h" #include "quassel.h" #include "types.h" @@ -287,6 +286,3 @@ private: friend class CoreConnection; }; - - -#endif diff --git a/src/common/highlightrulemanager.cpp b/src/common/highlightrulemanager.cpp index 4d74deb0..207dd219 100644 --- a/src/common/highlightrulemanager.cpp +++ b/src/common/highlightrulemanager.cpp @@ -19,11 +19,10 @@ ***************************************************************************/ #include "highlightrulemanager.h" + #include "util.h" -#include #include -#include INIT_SYNCABLE_OBJECT(HighlightRuleManager) HighlightRuleManager &HighlightRuleManager::operator=(const HighlightRuleManager &other) @@ -123,7 +122,13 @@ void HighlightRuleManager::addHighlightRule(const QString &name, bool isRegEx, b } -bool HighlightRuleManager::_match(const QString &msgContents, const QString &msgSender, Message::Type msgType, Message::Flags msgFlags, const QString &bufferName, const QString ¤tNick, const QStringList identityNicks) +bool HighlightRuleManager::match(const QString &msgContents, + const QString &msgSender, + Message::Type msgType, + Message::Flags msgFlags, + const QString &bufferName, + const QString ¤tNick, + const QStringList identityNicks) { if (!((msgType & (Message::Plain | Message::Notice | Message::Action)) && !(msgFlags & Message::Self))) { return false; @@ -222,5 +227,5 @@ void HighlightRuleManager::toggleHighlightRule(const QString &highlightRule) bool HighlightRuleManager::match(const Message &msg, const QString ¤tNick, const QStringList &identityNicks) { - return _match(msg.contents(), msg.sender(), msg.type(), msg.flags(), msg.bufferInfo().bufferName(), currentNick, identityNicks); + return match(msg.contents(), msg.sender(), msg.type(), msg.flags(), msg.bufferInfo().bufferName(), currentNick, identityNicks); } diff --git a/src/common/highlightrulemanager.h b/src/common/highlightrulemanager.h index 427b6581..bda760e3 100644 --- a/src/common/highlightrulemanager.h +++ b/src/common/highlightrulemanager.h @@ -18,13 +18,16 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef HIGHLIGHTRULELISTMANAGER_H -#define HIGHLIGHTRULELISTMANAGER_H +#pragma once -#include -#include #include +#include +#include +#include +#include +#include + #include "message.h" #include "syncableobject.h" @@ -80,7 +83,7 @@ public: inline const HighlightRuleList &highlightRuleList() const { return _highlightRuleList; } inline HighlightNickType highlightNick() { return _highlightNick; } - inline bool nicksCaseSensitive() { return _nicksCaseSensitive; } + inline bool nicksCaseSensitive() { return _nicksCaseSensitive; } //! Check if a message matches the HighlightRule /** This method checks if a message matches the users highlight rules. @@ -141,7 +144,13 @@ public slots: protected: void setHighlightRuleList(const QList &HighlightRuleList) { _highlightRuleList = HighlightRuleList; } - bool _match(const QString &msgContents, const QString &msgSender, Message::Type msgType, Message::Flags msgFlags, const QString &bufferName, const QString ¤tNick, const QStringList identityNicks); + bool match(const QString &msgContents, + const QString &msgSender, + Message::Type msgType, + Message::Flags msgFlags, + const QString &bufferName, + const QString ¤tNick, + const QStringList identityNicks); signals: void ruleAdded(QString name, bool isRegEx, bool isCaseSensitive, bool isEnabled, bool isInverse, QString sender, QString chanName); @@ -151,6 +160,3 @@ private: HighlightNickType _highlightNick = HighlightNickType::CurrentNick; bool _nicksCaseSensitive = false; }; - - -#endif // HIGHLIGHTRULELISTMANAGER_H diff --git a/src/core/corehighlightrulemanager.cpp b/src/core/corehighlightrulemanager.cpp index c35ca508..6299e82d 100644 --- a/src/core/corehighlightrulemanager.cpp +++ b/src/core/corehighlightrulemanager.cpp @@ -53,5 +53,5 @@ void CoreHighlightRuleManager::save() const bool CoreHighlightRuleManager::match(const RawMessage &msg, const QString ¤tNick, const QStringList &identityNicks) { - return _match(msg.text, msg.sender, msg.type, msg.flags, msg.target, currentNick, identityNicks); + return match(msg.text, msg.sender, msg.type, msg.flags, msg.target, currentNick, identityNicks); } diff --git a/src/core/corehighlightrulemanager.h b/src/core/corehighlightrulemanager.h index 5f2db906..09d7cbff 100644 --- a/src/core/corehighlightrulemanager.h +++ b/src/core/corehighlightrulemanager.h @@ -18,8 +18,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef COREHIGHLIGHTRULEMANAHER_H -#define COREHIGHLIGHTRULEMANAHER_H +#pragma once #include "highlightrulemanager.h" @@ -28,8 +27,10 @@ struct RawMessage; class CoreHighlightRuleManager : public HighlightRuleManager { + Q_OBJECT SYNCABLE_OBJECT - Q_OBJECT + + using HighlightRuleManager::match; public: explicit CoreHighlightRuleManager(CoreSession *parent); @@ -37,6 +38,7 @@ public: inline virtual const QMetaObject *syncMetaObject() const { return &HighlightRuleManager::staticMetaObject; } bool match(const RawMessage &msg, const QString ¤tNick, const QStringList &identityNicks); + public slots: virtual inline void requestToggleHighlightRule(const QString &highlightRule) { toggleHighlightRule(highlightRule); } virtual inline void requestRemoveHighlightRule(const QString &highlightRule) { removeHighlightRule(highlightRule); } @@ -50,6 +52,3 @@ public slots: private slots: void save() const; }; - - -#endif //COREHIGHLIGHTRULEMANAHER_H diff --git a/src/core/coresession.h b/src/core/coresession.h index 3bc7cd0a..c4bf9efa 100644 --- a/src/core/coresession.h +++ b/src/core/coresession.h @@ -26,12 +26,12 @@ #include "corecoreinfo.h" #include "corealiasmanager.h" +#include "corehighlightrulemanager.h" #include "coreignorelistmanager.h" #include "peer.h" #include "protocol.h" #include "message.h" #include "storage.h" -#include "corehighlightrulemanager.h" class CoreBacklogManager; class CoreBufferSyncer; diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index d9c7cc36..d3687c89 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -27,7 +27,6 @@ #include #include #include -#include #ifdef HAVE_KDE4 # include @@ -147,6 +146,7 @@ #include "settingspages/connectionsettingspage.h" #include "settingspages/coreaccountsettingspage.h" #include "settingspages/coreconnectionsettingspage.h" +#include #include "settingspages/dccsettingspage.h" #include "settingspages/highlightsettingspage.h" #include "settingspages/identitiessettingspage.h" diff --git a/src/qtui/settingspages/corehighlightsettingspage.cpp b/src/qtui/settingspages/corehighlightsettingspage.cpp index cdb50888..fba21eb2 100644 --- a/src/qtui/settingspages/corehighlightsettingspage.cpp +++ b/src/qtui/settingspages/corehighlightsettingspage.cpp @@ -18,12 +18,12 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ +#include #include -#include +#include "client.h" #include "corehighlightsettingspage.h" #include "qtui.h" -#include "client.h" CoreHighlightSettingsPage::CoreHighlightSettingsPage(QWidget *parent) : SettingsPage(tr("Interface"), tr("Core-Side Highlights"), parent) @@ -75,6 +75,7 @@ CoreHighlightSettingsPage::CoreHighlightSettingsPage(QWidget *parent) connect(Client::instance(), SIGNAL(connected()), this, SLOT(clientConnected())); } + void CoreHighlightSettingsPage::setupRuleTable(QTableWidget *table) const { table->verticalHeader()->hide(); @@ -318,6 +319,7 @@ void CoreHighlightSettingsPage::highlightTableChanged(QTableWidgetItem *item) switch (item->column()) { case CoreHighlightSettingsPage::EnableColumn: highlightRule.isEnabled = (item->checkState() == Qt::Checked); + break; case CoreHighlightSettingsPage::NameColumn: if (item->text() == "") item->setText(tr("this shouldn't be empty")); @@ -355,6 +357,7 @@ void CoreHighlightSettingsPage::ignoredTableChanged(QTableWidgetItem *item) switch (item->column()) { case CoreHighlightSettingsPage::EnableColumn: ignoredRule.isEnabled = (item->checkState() == Qt::Checked); + break; case CoreHighlightSettingsPage::NameColumn: if (item->text() == "") item->setText(tr("this shouldn't be empty")); @@ -440,7 +443,7 @@ void CoreHighlightSettingsPage::save() rule.sender, rule.chanName); } - auto highlightNickType = ui.highlightNicksComboBox->currentData().value(); + auto highlightNickType = ui.highlightNicksComboBox->itemData(ui.highlightNicksComboBox->currentIndex()).value(); clonedManager.setHighlightNick(HighlightRuleManager::HighlightNickType(highlightNickType)); clonedManager.setNicksCaseSensitive(ui.nicksCaseSensitive->isChecked()); @@ -453,4 +456,4 @@ void CoreHighlightSettingsPage::save() void CoreHighlightSettingsPage::widgetHasChanged() { setChangedState(true); -} \ No newline at end of file +} diff --git a/src/qtui/settingspages/corehighlightsettingspage.h b/src/qtui/settingspages/corehighlightsettingspage.h index 393f31ad..722bf00a 100644 --- a/src/qtui/settingspages/corehighlightsettingspage.h +++ b/src/qtui/settingspages/corehighlightsettingspage.h @@ -18,14 +18,14 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef _COREHIGHLIGHTSETTINGSPAGE_H_ -#define _COREHIGHLIGHTSETTINGSPAGE_H_ +#pragma once #include #include -#include +#include "highlightrulemanager.h" #include "settingspage.h" + #include "ui_corehighlightsettingspage.h" class CoreHighlightSettingsPage : public SettingsPage @@ -60,8 +60,10 @@ private slots: private: Ui::CoreHighlightSettingsPage ui; + HighlightRuleManager::HighlightRuleList highlightList; HighlightRuleManager::HighlightRuleList ignoredList; + enum column { EnableColumn = 0, NameColumn = 1, @@ -79,6 +81,3 @@ private: bool _initialized; }; - - -#endif