X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Faliasesmodel.h;h=66eeb3ab62b717a9628891a4c1b51fee68089c2e;hp=f10c8186feb8b46a4ff32529603113f63ed774ac;hb=a65f42197839da536975b3e2858eedcef420035f;hpb=6579cd49c867ce3fb6c99127851a881ea82d1b1b diff --git a/src/qtui/settingspages/aliasesmodel.h b/src/qtui/settingspages/aliasesmodel.h index f10c8186..66eeb3ab 100644 --- a/src/qtui/settingspages/aliasesmodel.h +++ b/src/qtui/settingspages/aliasesmodel.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel Project * + * Copyright (C) 2005-2019 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #ifndef ALIASESMODEL_H @@ -24,52 +24,72 @@ #include #include -#include "aliasmanager.h" +#include "clientaliasmanager.h" -class AliasesModel : public QAbstractItemModel { - Q_OBJECT +class AliasesModel : public QAbstractItemModel +{ + Q_OBJECT public: - AliasesModel(QObject *parent = 0); + AliasesModel(QObject *parent = 0); - virtual QVariant data(const QModelIndex &index, int role) const; - virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); + virtual QVariant data(const QModelIndex &index, int role) const; + virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole); - virtual Qt::ItemFlags flags(const QModelIndex &index) const; + virtual Qt::ItemFlags flags(const QModelIndex &index) const; - QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; + QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; - QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; + QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; - inline QModelIndex parent(const QModelIndex &) const { return QModelIndex(); } + inline QModelIndex parent(const QModelIndex &) const { return QModelIndex(); } - inline int rowCount(const QModelIndex &parent = QModelIndex()) const { Q_UNUSED(parent) return aliasManager().count(); } - inline int columnCount(const QModelIndex &parent = QModelIndex()) const { Q_UNUSED(parent) return 2; } + inline int rowCount(const QModelIndex &parent = QModelIndex()) const; + inline int columnCount(const QModelIndex &parent = QModelIndex()) const; - inline bool configChanged() const { return _configChanged; } + inline bool configChanged() const { return _configChanged; } + inline bool isReady() const { return _modelReady; } public slots: - void newAlias(); - void removeAlias(int index); - void revert(); - void commit(); + void newAlias(); + void loadDefaults(); + void removeAlias(int index); + void revert(); + void commit(); signals: - void configChanged(bool); - void modelReady(); - + void configChanged(bool); + void modelReady(bool); + private: - AliasManager _aliasManager; - AliasManager _clonedAliasManager; - bool _configChanged; + ClientAliasManager _clonedAliasManager; + bool _configChanged; + bool _modelReady; - const AliasManager &aliasManager() const; - AliasManager &aliasManager(); - AliasManager &cloneAliasManager(); + const AliasManager &aliasManager() const; + AliasManager &aliasManager(); + AliasManager &cloneAliasManager(); private slots: - void clientConnected(); - void initDone(); + void clientConnected(); + void clientDisconnected(); + void initDone(); }; + +// Inlines +int AliasesModel::rowCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent); + return isReady() ? aliasManager().count() : 0; +} + + +int AliasesModel::columnCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent); + return isReady() ? 2 : 0; +} + + #endif //ALIASESMODEL_H