Theme download link fixed in web page.
[jspeed] / src / themeschedulersettings.cpp
index d03a449..7e967fe 100644 (file)
@@ -27,6 +27,7 @@
 #include <QtGui/QDialogButtonBox>
 #include <QtGui/QPushButton>
 #include <QtGui/QListWidget>
+#include <QMaemo5InformationBox>
 #include <QMaemo5ValueButton>
 #include <QMaemo5TimePickSelector>
 #include "themeschedulersettings.h"
@@ -111,8 +112,11 @@ void ThemeSchedulerSettings::addScheduledTheme()
 
 void ThemeSchedulerSettings::clearScheduler()
 {
-    ThemeScheduler::instance().clear();
-    loadItems();
+    if(!ThemeScheduler::instance().isEmpty())
+    {
+        ThemeScheduler::instance().clear();
+        loadItems();
+    }
 }
 
 void ThemeSchedulerSettings::loadItems()
@@ -166,17 +170,25 @@ void ThemeSchedulerSettings::loadItems()
         currentWidget_ = itemList_;
         layout_->addWidget(itemList_);
     }
-
-    QApplication::processEvents();
-    adjustSize();
-    QApplication::processEvents();
-
 }
 
 void ThemeSchedulerSettings::saveSettings()
 {
-    ThemeScheduler::instance().setEnabled(enabled_->isChecked());
+    bool enabled = enabled_->isChecked();
+
+    if(enabled && ThemeScheduler::instance().isEmpty())
+    {
+        QMaemo5InformationBox::information(this, tr("Theme scheduler is empty."));
+        return;
+    }
+
+    ThemeScheduler::instance().setEnabled(enabled);
     hide();
+
+    if(enabled)
+    {
+        emit themeChanged();
+    }
 }
 
 void ThemeSchedulerSettings::showContextMenu(QPoint const& point)
@@ -213,3 +225,13 @@ void ThemeSchedulerSettings::removeSelection()
         itemList_->clearSelection();
     }
 }
+
+void ThemeSchedulerSettings::setVisible(bool visible)
+{
+    if(visible)
+    {
+        enabled_->setChecked(ThemeScheduler::instance().isEnabled());
+    }
+
+    QDialog::setVisible(visible);
+}