[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [amarok/spotify] src/core-impl/collections/spotifycollection: SpotifyDownloadDialog WIP.
From:       Bart Cerneels <bart.cerneels () kde ! org>
Date:       2012-11-07 17:16:24
Message-ID: 20121107171624.D0DE7A60C8 () git ! kde ! org
[Download RAW message or body]

Git commit cabd4ed94a2a2c8c38fbc3ab711cac299ce9bb4b by Bart Cerneels.
Committed on 07/11/2012 at 16:44.
Pushed by shanachie into branch 'spotify'.

SpotifyDownloadDialog WIP.

M  +3    -4    src/core-impl/collections/spotifycollection/SpotifyCollection.cpp
M  +18   -0    src/core-impl/collections/spotifycollection/SpotifyDownloadDialog.ui
M  +21   -29   src/core-impl/collections/spotifycollection/SpotifySettingsDialog.cpp
M  +2    -2    src/core-impl/collections/spotifycollection/SpotifySettingsDialog.h

http://commits.kde.org/amarok/cabd4ed94a2a2c8c38fbc3ab711cac299ce9bb4b

diff --git a/src/core-impl/collections/spotifycollection/SpotifyCollection.cpp \
b/src/core-impl/collections/spotifycollection/SpotifyCollection.cpp index \
                3b47a67..543050a 100644
--- a/src/core-impl/collections/spotifycollection/SpotifyCollection.cpp
+++ b/src/core-impl/collections/spotifycollection/SpotifyCollection.cpp
@@ -400,11 +400,10 @@ namespace Collections
     void
     SpotifyCollection::slotConfigure()
     {
-        // settingDialog will be deleted after closed
-        SpotifySettingsDialog* settingDialog = new SpotifySettingsDialog;
-        settingDialog->setModal( true );
+        SpotifySettingsDialog settingDialog;
+        settingDialog.setModal( true );
         // This will return immediately
-        settingDialog->show();
+        settingDialog.exec();
     }
 
     void
diff --git a/src/core-impl/collections/spotifycollection/SpotifyDownloadDialog.ui \
b/src/core-impl/collections/spotifycollection/SpotifyDownloadDialog.ui index \
                77d380e..9a1e65c 100644
--- a/src/core-impl/collections/spotifycollection/SpotifyDownloadDialog.ui
+++ b/src/core-impl/collections/spotifycollection/SpotifyDownloadDialog.ui
@@ -27,6 +27,16 @@
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
    <item>
+    <widget class="KMessageWidget" name="messageWidget">
+     <property name="frameShape">
+      <enum>QFrame::StyledPanel</enum>
+     </property>
+     <property name="frameShadow">
+      <enum>QFrame::Raised</enum>
+     </property>
+    </widget>
+   </item>
+   <item>
     <widget class="QLabel" name="messageLabel">
      <property name="sizePolicy">
       <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
@@ -133,6 +143,14 @@ p, li { white-space: pre-wrap; }
    </item>
   </layout>
  </widget>
+ <customwidgets>
+  <customwidget>
+   <class>KMessageWidget</class>
+   <extends>QFrame</extends>
+   <header location="global">kmessagewidget.h</header>
+   <container>1</container>
+  </customwidget>
+ </customwidgets>
  <resources/>
  <connections/>
 </ui>
diff --git a/src/core-impl/collections/spotifycollection/SpotifySettingsDialog.cpp \
b/src/core-impl/collections/spotifycollection/SpotifySettingsDialog.cpp index \
                3274f62..9f0d264 100644
--- a/src/core-impl/collections/spotifycollection/SpotifySettingsDialog.cpp
+++ b/src/core-impl/collections/spotifycollection/SpotifySettingsDialog.cpp
@@ -34,16 +34,29 @@
 #include <QScopedPointer>
 #include <QtGlobal>
 
-SpotifySettingsDialog::SpotifySettingsDialog( QWidget* parent, const QVariantList& \
args ) +SpotifySettingsDialog::SpotifySettingsDialog( QWidget *parent )
     : KDialog( parent )
     , m_settingsWidget(new Ui::SpotifySettingsWidget)
     , m_downloadReply( 0 )
 {
-    DEBUG_BLOCK
-
-    Q_UNUSED( args )
-
-    debug() << "Creating Spotify settings object...";
+    debug() << "Checking Spotify resolver: " << m_config.resolverPath();
+    if( !QFile::exists( m_config.resolverPath() ) )
+    {
+        QDialog dialog;
+        m_downloadDialog = new Ui::SpotifyDownloadDialog;
+        m_downloadDialog->setupUi(&dialog);
+        m_config.reset();
+        connect(m_downloadDialog->buttonBox, SIGNAL(accepted()),
+                SLOT(tryDownloadResolver()));
+        if( SpotifyConfig::supportedPlatformName().isEmpty() )
+        {
+            m_downloadDialog->messageWidget->setText(i18n( "Your platform is not \
currently " +                                           "supported by Amarok Spotify \
resolver." )); +            m_downloadDialog->messageWidget->animatedShow();
+            m_downloadDialog->buttonBox->setEnabled(false);
+        }
+        dialog.exec();
+    }
 
     setCaption( i18n( "Spotify configuration" ) );
     setButtons( KDialog::Ok | KDialog::Cancel | KDialog::Apply | KDialog::Default );
@@ -74,22 +87,6 @@ SpotifySettingsDialog::SpotifySettingsDialog( QWidget* parent, \
const QVariantLis  
     // Load config from KConfig or KWallet
     load();
-
-    debug() << "Checking Spotify resolver: " << m_config.resolverPath();
-    if( !QFile::exists( m_config.resolverPath() ) )
-    {
-        if( SpotifyConfig::supportedPlatformName().isEmpty() )
-        {
-            m_settingsWidget->messageWidget->setText(i18n( "Your platform is not \
                currently "
-                                           "supported by Amarok Spotify resolver." \
                ));
-            m_settingsWidget->messageWidget->animatedShow();
-        }
-
-        m_downloadDialog = new Ui::SpotifyDownloadDialog;
-        m_config.reset();
-        connect(m_downloadDialog->buttonBox, SIGNAL(accepted()),
-                SLOT(tryDownloadResolver()));
-    }
 }
 
 SpotifySettingsDialog::~SpotifySettingsDialog()
@@ -143,7 +140,7 @@ SpotifySettingsDialog::slotTryLogin()
     connect(controller, SIGNAL(customMessage(QString,QVariantMap)),
                         SLOT(slotCustomMessage(QString,QVariantMap)));
     connect(controller, SIGNAL(loginSuccess(QString)), \
                SLOT(slotLoginSuccess(QString)));
-    connect(controller, SIGNAL(loginFailed(QString)), \
SLOT(slotLogonFailed(QString))); +    connect(controller, \
SIGNAL(loginFailed(QString)), SLOT(slotLoginFailed(QString)));  
     controller->login( m_settingsWidget->lineUsername->text(),
                        m_settingsWidget->linePassword->text(),
@@ -158,7 +155,7 @@ void SpotifySettingsDialog::slotLoginSuccess(const QString \
&username)  m_settingsWidget->messageWidget->animatedShow();
 }
 
-void SpotifySettingsDialog::slotLogonFailed(const QString &message)
+void SpotifySettingsDialog::slotLoginFailed(const QString &message)
 {
     //TODO: translate message
     m_settingsWidget->messageWidget->setText(message);
@@ -202,11 +199,6 @@ SpotifySettingsDialog::tryDownloadResolver()
     m_downloadDialog->progDownload->setMinimum( 0 );
     m_downloadDialog->progDownload->setMaximum( 1000 );
     m_downloadDialog->progDownload->setValue( 0 );
-    m_downloadDialog->progDownload->show();
-
-    enableButtonApply( false );
-    enableButtonOk( false );
-    enableButton( Default, false );
 }
 
 void
diff --git a/src/core-impl/collections/spotifycollection/SpotifySettingsDialog.h \
b/src/core-impl/collections/spotifycollection/SpotifySettingsDialog.h index \
                a486eb1..9232997 100644
--- a/src/core-impl/collections/spotifycollection/SpotifySettingsDialog.h
+++ b/src/core-impl/collections/spotifycollection/SpotifySettingsDialog.h
@@ -34,7 +34,7 @@ class SpotifySettingsDialog: public KDialog
     Q_OBJECT
 
 public:
-    explicit SpotifySettingsDialog( QWidget *parent = 0, const QVariantList &args = \
QVariantList() ); +    explicit SpotifySettingsDialog( QWidget *parent = 0 );
     virtual ~SpotifySettingsDialog();
 
 signals:
@@ -50,7 +50,7 @@ public Q_SLOTS:
 private Q_SLOTS:
     void slotTryLogin();
     void slotLoginSuccess(const QString &user);
-    void slotLogonFailed(const QString &message);
+    void slotLoginFailed(const QString &message);
     void slotCustomMessage(const QString &messageType, const QVariantMap &map);
 
     void slotDownloadError( QNetworkReply::NetworkError error );


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic