X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fcoreaccountsettingspage.h;h=f28e01f083e60ef6f56988838f59a08b2de6ef94;hb=15d94f850d7e82b9f9f65ec162d9db13f750d23f;hp=6948e85a823f8811c858b82faf9bb2a4f0ce4e7a;hpb=bf86381e85cd97ef04a9dc45c2b1a063035391fa;p=quassel.git diff --git a/src/qtui/settingspages/coreaccountsettingspage.h b/src/qtui/settingspages/coreaccountsettingspage.h index 6948e85a..f28e01f0 100644 --- a/src/qtui/settingspages/coreaccountsettingspage.h +++ b/src/qtui/settingspages/coreaccountsettingspage.h @@ -21,6 +21,8 @@ #ifndef COREACCOUNTSETTINGSPAGE_H_ #define COREACCOUNTSETTINGSPAGE_H_ +#include + #include "settingspage.h" #include "coreaccount.h" @@ -29,6 +31,7 @@ #include "ui_coreaccountsettingspage.h" class CoreAccountModel; +class FilteredCoreAccountModel; class CoreAccountSettingsPage : public SettingsPage { Q_OBJECT @@ -58,6 +61,7 @@ signals: void on_accountView_doubleClicked(const QModelIndex &index); void setWidgetStates(); + void widgetHasChanged(); void rowsAboutToBeRemoved(const QModelIndex &index, int start, int end); void rowsInserted(const QModelIndex &index, int start, int end); @@ -67,16 +71,14 @@ signals: CoreAccountModel *_model; inline CoreAccountModel *model() const { return _model; } + FilteredCoreAccountModel *_filteredModel; + inline FilteredCoreAccountModel *filteredModel() const { return _filteredModel; } AccountId _lastAccountId, _lastAutoConnectId; bool _standalone; - virtual QVariant loadAutoWidgetValue(const QString &widgetName); - virtual void saveAutoWidgetValue(const QString &widgetName, const QVariant &value); - void editAccount(const QModelIndex &); - void widgetHasChanged(); bool testHasChanged(); inline QString settingsKey() const { return QString("CoreAccounts"); } @@ -105,4 +107,22 @@ private: CoreAccount _account; }; +// ======================================== +// FilteredCoreAccountModel +// ======================================== + +//! This filters out the internal account from the non-monolithic client's UI +class FilteredCoreAccountModel : public QSortFilterProxyModel { + Q_OBJECT + +public: + FilteredCoreAccountModel(CoreAccountModel *model, QObject *parent = 0); + +protected: + virtual bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const; + +private: + AccountId _internalAccount; +}; + #endif