X-Git-Url: http://git.maemo.org/git/?p=jspeed;a=blobdiff_plain;f=src%2Fthemeschedulersettings.cpp;h=7e967feb4b0d5afc6197db2571cfa4915bf65f67;hp=d03a449d1e11cac710eb9fa00027ec9aad63e91d;hb=5cc39ab8c690baf4e2b189ec189890834e63badc;hpb=fa66fb373153edc684f4d575c56107b74a615a3b diff --git a/src/themeschedulersettings.cpp b/src/themeschedulersettings.cpp index d03a449..7e967fe 100644 --- a/src/themeschedulersettings.cpp +++ b/src/themeschedulersettings.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #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); +}