From 74e4b8bc02108193bbb00cf383bdd77a97a75211 Mon Sep 17 00:00:00 2001
From: Edric Milaret <edric.ladent-milaret@savoirfairelinux.com>
Date: Fri, 15 May 2015 10:25:00 -0400
Subject: [PATCH] UI: wait screen for setup wizard

Refs #73052

Change-Id: Ib53a79cbd4104b21aeaad570f89c57979ecb243d
---
 images/spinner.gif | Bin 0 -> 10740 bytes
 ressources.qrc     |   1 +
 wizarddialog.cpp   |  43 ++++++++++++++++++++++++++++---------------
 wizarddialog.h     |   7 +++++--
 wizarddialog.ui    |  16 ++++++++++++++--
 5 files changed, 48 insertions(+), 19 deletions(-)
 create mode 100644 images/spinner.gif

diff --git a/images/spinner.gif b/images/spinner.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b97e8d9c8660ab1f83eefd0cb7317fb876034e1b
GIT binary patch
literal 10740
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

literal 0
HcmV?d00001

diff --git a/ressources.qrc b/ressources.qrc
index 66f70a7..1b6660e 100644
--- a/ressources.qrc
+++ b/ressources.qrc
@@ -21,5 +21,6 @@
         <file>images/sort-variant.png</file>
         <file>images/arrow-down.png</file>
         <file>images/arrow-up.png</file>
+        <file>images/spinner.gif</file>
     </qresource>
 </RCC>
diff --git a/wizarddialog.cpp b/wizarddialog.cpp
index ae21ae3..b281d0c 100644
--- a/wizarddialog.cpp
+++ b/wizarddialog.cpp
@@ -19,7 +19,10 @@
 #include "wizarddialog.h"
 #include "ui_wizarddialog.h"
 
+#include <QMovie>
+
 #include "accountmodel.h"
+#include "account.h"
 
 #include "utils.h"
 
@@ -33,6 +36,14 @@ WizardDialog::WizardDialog(QWidget *parent) :
     this->setWindowFlags(Qt::FramelessWindowHint);
     this->setFixedSize(this->width(),this->height());
     ui->buttonBox->setEnabled(false);
+
+    ui->spinnerLabel->hide();
+    QMovie* movie = new QMovie(":images/spinner.gif");
+    if (movie->isValid())
+    {
+        ui->spinnerLabel->setMovie(movie);
+        movie->start();
+    }
 }
 
 WizardDialog::~WizardDialog()
@@ -43,32 +54,34 @@ WizardDialog::~WizardDialog()
 void
 WizardDialog::accept()
 {
-    ui->label->setText("Working...");
+    //ui->spinnerLabel->show();
+    ui->label->setText("Please wait while we create your account.");
     ui->buttonBox->setEnabled(false);
     ui->usernameEdit->setEnabled(false);
 
-   QtConcurrent::run(this, &WizardDialog::setup).waitForFinished();
-}
+    repaint();
 
-void
-WizardDialog::endSetup()
-{
-    QDialog::accept();
-}
+    Utils::CreateStartupLink();
 
-void
-WizardDialog::setup()
-{
     auto account = AccountModel::instance()->add(ui->usernameEdit->text(), Account::Protocol::RING);
     AccountModel::instance()->ip2ip()->setRingtonePath(Utils::GetRingtonePath());
     account->setRingtonePath(Utils::GetRingtonePath());
-    AccountModel::instance()->save();
-    Utils::CreateStartupLink();
-    endSetup();
+    account->setUpnpEnabled(true);
+
+    connect(account, SIGNAL(changed(Account*)), this, SLOT(endSetup(Account*)));
+
+    account->performAction(Account::EditAction::SAVE);
+}
+
+void
+WizardDialog::endSetup(Account* a)
+{
+    Q_UNUSED(a)
+    QDialog::accept();
 }
 
 void
 WizardDialog::on_usernameEdit_textChanged(const QString &arg1)
 {
-     ui->buttonBox->setEnabled(!arg1.isEmpty());
+    ui->buttonBox->setEnabled(!arg1.isEmpty());
 }
diff --git a/wizarddialog.h b/wizarddialog.h
index 1a03e27..b3445e6 100644
--- a/wizarddialog.h
+++ b/wizarddialog.h
@@ -22,6 +22,8 @@
 #include <QDialog>
 #include <QtConcurrent/QtConcurrent>
 
+#include "account.h"
+
 namespace Ui {
 class WizardDialog;
 }
@@ -38,13 +40,14 @@ private slots:
     void on_usernameEdit_textChanged(const QString &arg1);
     void accept();
 
-    void endSetup();
-
 private:
     Ui::WizardDialog *ui;
 
 private:
     void setup();
+
+private slots:
+    void endSetup(Account* a);
 };
 
 #endif // WIZARDDIALOG_H
diff --git a/wizarddialog.ui b/wizarddialog.ui
index 0ed6d26..a0d9c5e 100644
--- a/wizarddialog.ui
+++ b/wizarddialog.ui
@@ -435,7 +435,17 @@
       <string/>
      </property>
      <property name="pixmap">
-      <pixmap>:/images/logo-ring-standard-coul.png</pixmap>
+      <pixmap resource="ressources.qrc">:/images/logo-ring-standard-coul.png</pixmap>
+     </property>
+     <property name="scaledContents">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+   <item alignment="Qt::AlignHCenter">
+    <widget class="QLabel" name="spinnerLabel">
+     <property name="text">
+      <string/>
      </property>
      <property name="scaledContents">
       <bool>true</bool>
@@ -471,7 +481,9 @@
    </item>
   </layout>
  </widget>
- <resources/>
+ <resources>
+  <include location="ressources.qrc"/>
+ </resources>
  <connections>
   <connection>
    <sender>buttonBox</sender>
-- 
GitLab