Happy New Year!
[quassel.git] / src / client / coreaccountmodel.h
index 0dc22cf..f85fb93 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2009 by the Quassel Project                             *
+ *   Copyright (C) 2005-2015 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 COREACCOUNTMODEL_H_
 
 #include "coreaccount.h"
 
-class CoreAccountModel : public QAbstractListModel {
-  Q_OBJECT
+class CoreAccountModel : public QAbstractListModel
+{
+    Q_OBJECT
 
 public:
-  enum {
-    AccountIdRole = Qt::UserRole,
-    UuidRole
-  };
+    enum {
+        AccountIdRole = Qt::UserRole,
+        UuidRole
+    };
 
-  CoreAccountModel(QObject *parent = 0);
-  CoreAccountModel(const CoreAccountModel *other, QObject *parent = 0);
+    CoreAccountModel(QObject *parent = 0);
+    CoreAccountModel(const CoreAccountModel *other, QObject *parent = 0);
 
-  inline int rowCount(const QModelIndex &parent = QModelIndex()) const;
-  virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
+    inline int rowCount(const QModelIndex &parent = QModelIndex()) const;
+    virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
 
-  CoreAccount account(const QModelIndex &) const;
-  CoreAccount account(AccountId) const;
-  QList<CoreAccount> accounts() const;
-  QList<AccountId> accountIds() const;
-  QModelIndex accountIndex(AccountId id) const;
+    CoreAccount account(const QModelIndex &) const;
+    CoreAccount account(AccountId) const;
+    QList<CoreAccount> accounts() const;
+    QList<AccountId> accountIds() const;
+    QModelIndex accountIndex(AccountId id) const;
 
-  inline AccountId internalAccount() const;
+    inline AccountId internalAccount() const;
 
-  AccountId createOrUpdateAccount(const CoreAccount &newAccountData = CoreAccount());
-  CoreAccount takeAccount(AccountId);
-  void removeAccount(AccountId);
+    AccountId createOrUpdateAccount(const CoreAccount &newAccountData);
+    CoreAccount takeAccount(AccountId);
+    void removeAccount(AccountId);
 
-  void update(const CoreAccountModel *other);
+    void update(const CoreAccountModel *other);
 
-  bool operator==(const CoreAccountModel &other) const;
+    bool operator==(const CoreAccountModel &other) const;
 
 public slots:
-  void save();
-  void load();
-  void clear();
+    void save();
+    void load();
+    void clear();
 
 protected:
-  void insertAccount(const CoreAccount &);
-  int findAccountIdx(AccountId) const;
+    void insertAccount(const CoreAccount &);
+    int findAccountIdx(AccountId) const;
 
 private:
-  int listIndex(AccountId);
-
-  QList<CoreAccount> _accounts;
-  AccountId _internalAccount;
+    int listIndex(AccountId);
 
+    QList<CoreAccount> _accounts;
+    QSet<AccountId> _removedAccounts;
+    AccountId _internalAccount;
 };
 
+
 // Inlines
-int CoreAccountModel::rowCount(const QModelIndex &) const {
-  return _accounts.count();
+int CoreAccountModel::rowCount(const QModelIndex &) const
+{
+    return _accounts.count();
 }
 
-AccountId CoreAccountModel::internalAccount() const {
-  return _internalAccount;
+
+AccountId CoreAccountModel::internalAccount() const
+{
+    return _internalAccount;
 }
 
+
 #endif