1 #ifndef SEAFILE_CLIENT_UI_ACCOUNT_VIEW_H 2 #define SEAFILE_CLIENT_UI_ACCOUNT_VIEW_H 3 4 #include <QWidget> 5 6 #include "utils/singleton.h" 7 #include "ui_account-view.h" 8 9 class Account; 10 class QAction; 11 class QMenu; 12 class ApiError; 13 class QLabel; 14 15 /* 16 * The account information area, right below the header 17 */ 18 class AccountView : public QWidget, 19 public Ui::AccountView 20 { 21 Q_OBJECT 22 public: 23 AccountView(QWidget *parent=0); 24 25 public slots: 26 void onAccountChanged(); 27 void showAddAccountDialog(); 28 void deleteAccount(); 29 void editAccountSettings(); 30 void onAccountItemClicked(); 31 void updateAccountInfoDisplay(); 32 33 private slots: 34 void updateAvatar(); 35 void toggleAccount(); 36 void visitServerInBrowser(const QString& link); 37 38 private: 39 Q_DISABLE_COPY(AccountView) 40 41 QAction *makeAccountAction(const Account& account); 42 bool eventFilter(QObject *obj, QEvent *event); 43 44 // Account operations 45 QAction *add_account_action_; 46 QAction *account_settings_action_; 47 QMenu *account_menu_; 48 49 signals: 50 void refresh(); 51 }; 52 53 #endif // SEAFILE_CLIENT_UI_ACCOUNT_VIEW_H 54