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
EditProfilesDialog::EditProfilesDialog
EditProfilesDialog(QWidget *parent=nullptr)
Definition: EditProfilesDialog.cpp:17
EditProfilesDialog::ui
Ui::EditProfilesDialog * ui
Definition: EditProfilesDialog.h:32
AvatarLoader::connectAvatarReady
void connectAvatarReady(const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
Definition: AvatarLoader.h:45
AvatarLoader::disconnectAvatarReady
void disconnectAvatarReady(const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
Definition: AvatarLoader.h:49
EditProfilesDialog::Item::name
QString name
Definition: EditProfilesDialog.h:18
EditProfilesDialog::list_
std::vector< Item > list_
Definition: EditProfilesDialog.h:34
EditProfilesDialog.h
EditProfilesDialog::enable_double_click_
bool enable_double_click_
Definition: EditProfilesDialog.h:33
EditProfilesDialog::Item::Item
Item()=default
RepositoryData.cpp
EditProfilesDialog::updateAvatar
void updateAvatar(const QString &email, bool request)
Definition: EditProfilesDialog.cpp:51
UserEvent.h
EditProfilesDialog::on_lineEdit_mail_textChanged
void on_lineEdit_mail_textChanged(const QString &text)
メールアドレスが編集されたとき
Definition: EditProfilesDialog.cpp:199
EditProfilesDialog::exec
int exec(Item const &select)
Definition: EditProfilesDialog.cpp:36
EditProfilesDialog::on_pushButton_delete_clicked
void on_pushButton_delete_clicked()
プロファイルを削除する
Definition: EditProfilesDialog.cpp:161
BlockSignals.h
EditProfilesDialog::on_tableWidget_itemChanged
void on_tableWidget_itemChanged(QTableWidgetItem *item)
Definition: EditProfilesDialog.cpp:250
ApplicationGlobal::avatar_loader
AvatarLoader avatar_loader
Definition: ApplicationGlobal.h:54
EditProfilesDialog::on_pushButton_get_icon_from_network_clicked
void on_pushButton_get_icon_from_network_clicked()
Definition: EditProfilesDialog.cpp:348
EditProfilesDialog
Definition: EditProfilesDialog.h:14
EditProfilesDialog::on_pushButton_down_clicked
void on_pushButton_down_clicked()
Definition: EditProfilesDialog.cpp:226
misc.h
Ui
Definition: AboutDialog.h:6
EditProfilesDialog::loadXML
bool loadXML(const QString &path)
Definition: EditProfilesDialog.cpp:269
EditProfilesDialog::updateTableWidget
void updateTableWidget(const Item &select)
list_ の内容をテーブルウィジェットへ反映する
Definition: EditProfilesDialog.cpp:105
EditProfilesDialog::on_tableWidget_itemDoubleClicked
void on_tableWidget_itemDoubleClicked(QTableWidgetItem *item)
Definition: EditProfilesDialog.cpp:354
XmlTagState::pop
void pop()
Definition: XmlTagState.cpp:22
EditProfilesDialog::selectedItem
Item selectedItem() const
Definition: EditProfilesDialog.cpp:310
EditProfilesDialog::enableDoubleClock
void enableDoubleClock(bool f)
Definition: EditProfilesDialog.cpp:31
Git::User
Definition: Git.h:548
EditProfilesDialog::resetTableWidget
void resetTableWidget()
テーブルウィジェットを初期化
Definition: EditProfilesDialog.cpp:72
Git.h
EditProfilesDialog::on_pushButton_up_clicked
void on_pushButton_up_clicked()
Definition: EditProfilesDialog.cpp:215
misc::isValidMailAddress
static bool isValidMailAddress(const QString &email)
文字列が有効なメールアドレスか判定する
Definition: misc.cpp:546
global
ApplicationGlobal * global
Definition: main.cpp:33
AvatarLoader::fetch
QImage fetch(const QString &email, bool request) const
Definition: AvatarLoader.cpp:187
EditProfilesDialog::on_tableWidget_currentItemChanged
void on_tableWidget_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous)
Definition: EditProfilesDialog.cpp:236
EditProfilesDialog::Item::email
QString email
Definition: EditProfilesDialog.h:19
EditProfilesDialog::Item::operator==
bool operator==(Item const &other) const
Definition: EditProfilesDialog.h:26
EditProfilesDialog::on_pushButton_add_clicked
void on_pushButton_add_clicked()
プロファイルを追加する
Definition: EditProfilesDialog.cpp:130
EditProfilesDialog::current_email_
QString current_email_
Definition: EditProfilesDialog.h:35
EditProfilesDialog::Item
Definition: EditProfilesDialog.h:17
EditProfilesDialog::on_lineEdit_name_textChanged
void on_lineEdit_name_textChanged(const QString &text)
名前が編集されたとき
Definition: EditProfilesDialog.cpp:180
ApplicationGlobal.h
EditProfilesDialog::~EditProfilesDialog
~EditProfilesDialog()
Definition: EditProfilesDialog.cpp:25
EditProfilesDialog::saveXML
bool saveXML(const QString &path) const
Definition: EditProfilesDialog.cpp:319
BlockSignals
Definition: BlockSignals.h:6
XmlTagState::push
void push(QString const &tag)
Definition: XmlTagState.cpp:5
XmlTagState
Definition: XmlTagState.h:10
EditProfilesDialog::avatarReady
void avatarReady()
Definition: EditProfilesDialog.cpp:64
EditProfilesDialog::updateUI
void updateUI()
UI更新
Definition: EditProfilesDialog.cpp:89