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(Git::User const &user);
22  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 public slots:
62  int exec(Item const &select);
63 };
64 
65 #endif // EDITPROFILESDIALOG_H
Definition: EditProfilesDialog.h:14
Item selectedItem() const
Definition: EditProfilesDialog.cpp:310
void on_pushButton_add_clicked()
プロファイルを追加する
Definition: EditProfilesDialog.cpp:130
void on_tableWidget_itemChanged(QTableWidgetItem *item)
Definition: EditProfilesDialog.cpp:250
void on_pushButton_up_clicked()
Definition: EditProfilesDialog.cpp:215
bool enable_double_click_
Definition: EditProfilesDialog.h:33
void on_pushButton_down_clicked()
Definition: EditProfilesDialog.cpp:226
~EditProfilesDialog()
Definition: EditProfilesDialog.cpp:25
void on_pushButton_delete_clicked()
プロファイルを削除する
Definition: EditProfilesDialog.cpp:161
void resetTableWidget()
テーブルウィジェットを初期化
Definition: EditProfilesDialog.cpp:72
Ui::EditProfilesDialog * ui
Definition: EditProfilesDialog.h:32
void on_pushButton_get_icon_from_network_clicked()
Definition: EditProfilesDialog.cpp:348
void on_tableWidget_itemDoubleClicked(QTableWidgetItem *item)
Definition: EditProfilesDialog.cpp:354
void updateAvatar(const QString &email, bool request)
Definition: EditProfilesDialog.cpp:51
int exec(Item const &select)
Definition: EditProfilesDialog.cpp:36
void enableDoubleClock(bool f)
Definition: EditProfilesDialog.cpp:31
QString current_email_
Definition: EditProfilesDialog.h:35
void updateUI()
UI更新
Definition: EditProfilesDialog.cpp:89
void updateTableWidget(const Item &select)
list_ の内容をテーブルウィジェットへ反映する
Definition: EditProfilesDialog.cpp:105
void on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous)
Definition: EditProfilesDialog.cpp:236
void avatarReady()
Definition: EditProfilesDialog.cpp:64
bool loadXML(const QString &path)
Definition: EditProfilesDialog.cpp:269
EditProfilesDialog(QWidget *parent=nullptr)
Definition: EditProfilesDialog.cpp:17
bool saveXML(const QString &path) const
Definition: EditProfilesDialog.cpp:319
void on_lineEdit_mail_textChanged(const QString &text)
メールアドレスが編集されたとき
Definition: EditProfilesDialog.cpp:199
void on_lineEdit_name_textChanged(const QString &text)
名前が編集されたとき
Definition: EditProfilesDialog.cpp:180
std::vector< Item > list_
Definition: EditProfilesDialog.h:34
static bool isValidMailAddress(const QString &email)
文字列が有効なメールアドレスか判定する
Definition: misc.cpp:748
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.h:26
Definition: Git.h:622