Guitar
EditProfilesDialog.h
Go to the documentation of this file.
1 
2 #ifndef EDITPROFILESDIALOG_H
3 #define EDITPROFILESDIALOG_H
4 
5 #include "GitUser.h"
6 #include <QDialog>
7 
8 class QTableWidgetItem;
9 
10 namespace Ui {
11 class EditProfilesDialog;
12 }
13 
14 class EditProfilesDialog : public QDialog {
15  Q_OBJECT
16 public:
17  struct Item {
18  QString name;
19  QString email;
20  Item() = default;
21  Item(GitUser const &user);
22  explicit operator bool () const;
23  bool operator == (Item const &other) const;
24  };
25 private:
26  Ui::EditProfilesDialog *ui;
27  bool enable_double_click_ = true;
28  std::vector<Item> list_;
29  QString current_email_;
30  void resetTableWidget();
31  void updateTableWidget(const Item &select);
32  void updateUI();
33  void updateAvatar(const QString &email, bool request);
34 public:
35  explicit EditProfilesDialog(QWidget *parent = nullptr);
37  void enableDoubleClock(bool f);
38  bool saveXML(const QString &path) const;
39  bool loadXML(const QString &path);
40  Item selectedItem() const;
41 private slots:
42  void avatarReady();
45  void on_lineEdit_name_textChanged(const QString &text);
46  void on_lineEdit_mail_textChanged(const QString &text);
49  void on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous);
50  void on_tableWidget_itemChanged(QTableWidgetItem *item);
52 
53  void on_tableWidget_itemDoubleClicked(QTableWidgetItem *item);
54 
55 private:
56  using QDialog::exec; // -Woverloaded-virtual
57 public slots:
58  int exec(EditProfilesDialog::Item const &select);
59 };
60 
61 #endif // EDITPROFILESDIALOG_H
Definition: EditProfilesDialog.h:14
Item selectedItem() const
Definition: EditProfilesDialog.cpp:321
void on_pushButton_add_clicked()
プロファイルを追加する
Definition: EditProfilesDialog.cpp:141
void on_tableWidget_itemChanged(QTableWidgetItem *item)
Definition: EditProfilesDialog.cpp:261
void on_pushButton_up_clicked()
Definition: EditProfilesDialog.cpp:226
bool enable_double_click_
Definition: EditProfilesDialog.h:27
void on_pushButton_down_clicked()
Definition: EditProfilesDialog.cpp:237
~EditProfilesDialog()
Definition: EditProfilesDialog.cpp:36
void on_pushButton_delete_clicked()
プロファイルを削除する
Definition: EditProfilesDialog.cpp:172
void resetTableWidget()
テーブルウィジェットを初期化
Definition: EditProfilesDialog.cpp:83
Ui::EditProfilesDialog * ui
Definition: EditProfilesDialog.h:26
void on_pushButton_get_icon_from_network_clicked()
Definition: EditProfilesDialog.cpp:359
void on_tableWidget_itemDoubleClicked(QTableWidgetItem *item)
Definition: EditProfilesDialog.cpp:365
void updateAvatar(const QString &email, bool request)
Definition: EditProfilesDialog.cpp:62
void enableDoubleClock(bool f)
Definition: EditProfilesDialog.cpp:42
QString current_email_
Definition: EditProfilesDialog.h:29
int exec(EditProfilesDialog::Item const &select)
Definition: EditProfilesDialog.cpp:47
void updateUI()
UI更新
Definition: EditProfilesDialog.cpp:100
void updateTableWidget(const Item &select)
list_ の内容をテーブルウィジェットへ反映する
Definition: EditProfilesDialog.cpp:116
void on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous)
Definition: EditProfilesDialog.cpp:247
void avatarReady()
Definition: EditProfilesDialog.cpp:75
bool loadXML(const QString &path)
Definition: EditProfilesDialog.cpp:280
EditProfilesDialog(QWidget *parent=nullptr)
Definition: EditProfilesDialog.cpp:28
bool saveXML(const QString &path) const
Definition: EditProfilesDialog.cpp:330
void on_lineEdit_mail_textChanged(const QString &text)
メールアドレスが編集されたとき
Definition: EditProfilesDialog.cpp:210
void on_lineEdit_name_textChanged(const QString &text)
名前が編集されたとき
Definition: EditProfilesDialog.cpp:191
std::vector< Item > list_
Definition: EditProfilesDialog.h:28
Definition: AboutDialog.h:6
Definition: EditProfilesDialog.h:17
QString name
Definition: EditProfilesDialog.h:18
QString email
Definition: EditProfilesDialog.h:19
bool operator==(Item const &other) const
Definition: EditProfilesDialog.cpp:23
Definition: GitUser.h:7