aboutsummaryrefslogtreecommitdiff
path: root/accounts.cpp
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi.dcr@tutanota.com>2023-06-12 23:47:17 +0200
committerXavier Del Campo Romero <xavi.dcr@tutanota.com>2023-06-29 14:09:46 +0200
commit05b2584fa4d773f5a88ed3ce98f5dd8304e11c34 (patch)
treef72e73c3259b8100e886f49f67ecc669b7667502 /accounts.cpp
parent3b8fafc4122848219898245d52dabd669cacb4ba (diff)
downloadxxcc-05b2584fa4d773f5a88ed3ce98f5dd8304e11c34.tar.gz
First commit
Diffstat (limited to 'accounts.cpp')
-rw-r--r--accounts.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/accounts.cpp b/accounts.cpp
new file mode 100644
index 0000000..b0d2f97
--- /dev/null
+++ b/accounts.cpp
@@ -0,0 +1,39 @@
+#include "accounts.h"
+#include "account.h"
+#include "login.h"
+#include <utility>
+#include <QListWidgetItem>
+#include <QScroller>
+
+Accounts::Accounts(const QList<Client *> &accounts,
+ QWidget *const parent) :
+ QDialog(parent)
+{
+ ui.setupUi(this);
+ QScroller::grabGesture(ui.accounts_list, QScroller::TouchGesture);
+
+ for (const auto &a : accounts)
+ add(a);
+
+ connect(ui.add, &QPushButton::released, this,
+ [this]
+ {
+ Login l(this);
+
+ l.connect(&l, &Login::auth_success, this,
+ [this] (Client *c)
+ {
+ add(c);
+ Q_EMIT new_account(c);
+ });
+
+ l.exec();
+ });
+
+ showMaximized();
+}
+
+void Accounts::add(Client *c)
+{
+ new Account(c, ui.accounts_list, this);
+}