File indexing completed on 2024-05-19 04:58:06
0001 /* 0002 This file is part of Choqok, the KDE micro-blogging client 0003 0004 SPDX-FileCopyrightText: 2008-2012 Mehrdad Momeny <mehrdad.momeny@gmail.com> 0005 0006 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0007 */ 0008 0009 #ifndef ACCOUNTS_H 0010 #define ACCOUNTS_H 0011 0012 #include "ui_accountswidget_base.h" 0013 0014 #include <KCModule> 0015 0016 class QMenu; 0017 namespace Choqok 0018 { 0019 class Account; 0020 } 0021 0022 class AccountsWidget: public KCModule, public Ui_AccountsWidgetBase 0023 { 0024 Q_OBJECT 0025 public: 0026 AccountsWidget(QWidget *parent, const QVariantList &args); 0027 ~AccountsWidget(); 0028 0029 public Q_SLOTS: 0030 virtual void save() override; 0031 virtual void load() override; 0032 0033 protected Q_SLOTS: 0034 void addAccount(); 0035 void editAccount(QString alias = QString()); 0036 void removeAccount(QString alias = QString()); 0037 0038 void slotAccountAdded(Choqok::Account *account); 0039 void slotAccountRemoved(const QString alias); 0040 void accountsTablestateChanged(); 0041 0042 void moveCurrentRowUp(); 0043 void moveCurrentRowDown(); 0044 0045 void emitChanged(); 0046 0047 void accountsTableCellDoubleClicked(int row, int column); 0048 void accountsTableCellClicked(int row, int column); 0049 private: 0050 void move(bool up); 0051 QList<QTableWidgetItem *> takeRow(int row); 0052 void setRow(int row, const QList<QTableWidgetItem *> &rowItems); 0053 void addAccountToTable(Choqok::Account *account); 0054 QMenu *createAddAccountMenu(); 0055 QMenu *mBlogMenu; 0056 }; 0057 0058 #endif