Guitar
EditProfilesDialog.h
Go to the documentation of this file.
1 #ifndef EDITPROFILESDIALOG_H
2 #define EDITPROFILESDIALOG_H
3 
4 #include <QDialog>
5 #include <common/misc.h>
6 #include "Git.h"
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  {
25  }
26  bool operator == (Item const &other) const
27  {
28  return name == other.name && email == other.email;
29  }
30  };
31 private:
32  Ui::EditProfilesDialog *ui;
33  bool enable_double_click_ = true;
34  std::vector<Item> list_;
35  QString current_email_;
36  void resetTableWidget();
37  void updateTableWidget(const Item &select);
38  void updateUI();
39  void updateAvatar(const QString &email, bool request);
40 public:
41  explicit EditProfilesDialog(QWidget *parent = nullptr);
43  void enableDoubleClock(bool f);
44  bool saveXML(const QString &path) const;
45  bool loadXML(const QString &path);
46  Item selectedItem() const;
47 private slots:
48  void avatarReady();
51  void on_lineEdit_name_textChanged(const QString &text);
52  void on_lineEdit_mail_textChanged(const QString &text);
55  void on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous);
56  void on_tableWidget_itemChanged(QTableWidgetItem *item);
58 
59  void on_tableWidget_itemDoubleClicked(QTableWidgetItem *item);
60 
61 private:
62  using QDialog::exec; // -Woverloaded-virtual
63 public slots:
64  int exec(EditProfilesDialog::Item const &select);
65 };
66 
67 #endif // EDITPROFILESDIALOG_H
Definition: EditProfilesDialog.h:14
Item selectedItem() const
Definition: EditProfilesDialog.cpp:311
void on_pushButton_add_clicked()
プロファイルを追加する
Definition: EditProfilesDialog.cpp:131
void on_tableWidget_itemChanged(QTableWidgetItem *item)
Definition: EditProfilesDialog.cpp:251
void on_pushButton_up_clicked()
Definition: EditProfilesDialog.cpp:216
bool enable_double_click_
Definition: EditProfilesDialog.h:33
void on_pushButton_down_clicked()
Definition: EditProfilesDialog.cpp:227
~EditProfilesDialog()
Definition: EditProfilesDialog.cpp:26
void on_pushButton_delete_clicked()
プロファイルを削除する
Definition: EditProfilesDialog.cpp:162
void resetTableWidget()
テーブルウィジェットを初期化
Definition: EditProfilesDialog.cpp:73
Ui::EditProfilesDialog * ui
Definition: EditProfilesDialog.h:32
void on_pushButton_get_icon_from_network_clicked()
Definition: EditProfilesDialog.cpp:349
void on_tableWidget_itemDoubleClicked(QTableWidgetItem *item)
Definition: EditProfilesDialog.cpp:355
void updateAvatar(const QString &email, bool request)
Definition: EditProfilesDialog.cpp:52
void enableDoubleClock(bool f)
Definition: EditProfilesDialog.cpp:32
QString current_email_
Definition: EditProfilesDialog.h:35
int exec(EditProfilesDialog::Item const &select)
Definition: EditProfilesDialog.cpp:37
void updateUI()
UI更新
Definition: EditProfilesDialog.cpp:90
void updateTableWidget(const Item &select)
list_ の内容をテーブルウィジェットへ反映する
Definition: EditProfilesDialog.cpp:106
void on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous)
Definition: EditProfilesDialog.cpp:237
void avatarReady()
Definition: EditProfilesDialog.cpp:65
bool loadXML(const QString &path)
Definition: EditProfilesDialog.cpp:270
EditProfilesDialog(QWidget *parent=nullptr)
Definition: EditProfilesDialog.cpp:18
bool saveXML(const QString &path) const
Definition: EditProfilesDialog.cpp:320
void on_lineEdit_mail_textChanged(const QString &text)
メールアドレスが編集されたとき
Definition: EditProfilesDialog.cpp:200
void on_lineEdit_name_textChanged(const QString &text)
名前が編集されたとき
Definition: EditProfilesDialog.cpp:181
std::vector< Item > list_
Definition: EditProfilesDialog.h:34
Definition: AboutDialog.h:6
bool isValidMailAddress(std::string const &email)
Definition: misc.cpp:508
Definition: EditProfilesDialog.h:17
QString name
Definition: EditProfilesDialog.h:18
QString email
Definition: EditProfilesDialog.h:19
bool operator==(Item const &other) const
Definition: EditProfilesDialog.h:26
Definition: GitTypes.h:267