X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=mainwindow.cpp;h=89392a3cd4e54ba0b7c2bee489d9650cc617c7c4;hb=74851b2730e2d2d2714a8e032a9722a6f6bb23cf;hp=e4ed214abf8b20a6e3f41e0d3121677a09dfe465;hpb=b803e20c0900032203c9e89044901f92c7a0a5df;p=timedsilencer diff --git a/mainwindow.cpp b/mainwindow.cpp index e4ed214..89392a3 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -26,102 +26,39 @@ #include #include #include - +#include #include "mainwindow.h" -#include "alarmd_backend.h" -#include "dbus_backend.h" +#include "switchingeventlist.h" +#include "newalarmdlg.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { setCentralWidget(new QWidget()); - QHBoxLayout *hori_layout = new QHBoxLayout(centralWidget()); - QVBoxLayout *verticalLayoutL = new QVBoxLayout(); - verticalLayoutL->addItem(new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding)); - QLabel *from_lbl = new QLabel(tr("Use the silent profile between")); - from_lbl->setAlignment(Qt::AlignHCenter); - verticalLayoutL->addWidget(from_lbl); - from_button = new QMaemo5ValueButton(); - from_button->setPickSelector(new QMaemo5TimePickSelector()); - verticalLayoutL->addWidget(from_button); - QLabel *to_lbl = new QLabel(tr("and")); - to_lbl->setAlignment(Qt::AlignHCenter); - verticalLayoutL->addWidget(to_lbl); - to_button = new QMaemo5ValueButton(); - to_button->setPickSelector(new QMaemo5TimePickSelector()); - verticalLayoutL->addWidget(to_button); - // Status - verticalLayoutL->addItem(new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding)); - cb_enable = new QCheckBox(tr("Activated")); - verticalLayoutL->addWidget(cb_enable); - hori_layout->addLayout(verticalLayoutL); - QVBoxLayout *verticalLayoutR = new QVBoxLayout; - verticalLayoutR->addItem(new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding)); - done_btn = new QPushButton(tr("Save")); - done_btn->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); - connect(done_btn, SIGNAL(clicked()), this, SLOT(saveAndClose())); - verticalLayoutR->addWidget(done_btn); - hori_layout->addLayout(verticalLayoutR); - // Load settings - loadSettings(); + QVBoxLayout *vLayout = new QVBoxLayout(centralWidget()); + addEventBtn = new QPushButton(QIcon::fromTheme("general_add"), tr("New profile switching event")); + connect(addEventBtn, SIGNAL(clicked()), this, SLOT(addEvent())); + vLayout->addWidget(addEventBtn); + eventList = new SwitchingEventList; + vLayout->addWidget(eventList); // Auto rotation setAttribute(Qt::WA_Maemo5AutoOrientation, true); } MainWindow::~MainWindow() { - delete from_button; - delete to_button; - delete cb_enable; - delete done_btn; + delete addEventBtn; + delete eventList; } -void MainWindow::saveAndClose() { - // Save the settings and set the events - if(cb_enable->isChecked()) { - setProfileEvents(); - QMaemo5InformationBox::information(this, tr("The daily profile switching is activated"), 0); - } else { - AlarmdBackend::deleteEvents(); - QMaemo5InformationBox::information(this, tr("The daily profile switching is deactivated"), 0); - } - saveSettings(); - // Close the window - close(); +void MainWindow::loadSettings() { + } void MainWindow::saveSettings() { - QSettings settings("TimedSilencer", "TimedSilencer"); - settings.setValue("from_time", static_cast(from_button->pickSelector())->currentTime()); - settings.setValue("to_time", static_cast(to_button->pickSelector())->currentTime()); - settings.setValue("enabled", cb_enable->isChecked()); -} -void MainWindow::loadSettings() { - QSettings settings("TimedSilencer", "TimedSilencer"); - QTime from_time = settings.value("from_time", QTime(22, 0)).toTime(); - static_cast(from_button->pickSelector())->setCurrentTime(from_time); - QTime to_time = settings.value("to_time", QTime(8, 0)).toTime(); - static_cast(to_button->pickSelector())->setCurrentTime(to_time); - cb_enable->setChecked(settings.value("enabled", false).toBool()); } -void MainWindow::setProfileEvents() { - // Set profile events in Alarmd - QTime from_time = static_cast(from_button->pickSelector())->currentTime(); - qDebug("From time: %s", qPrintable(from_time.toString())); - AlarmdBackend::setProfileEvent(SILENT, from_time); - QTime to_time = static_cast(to_button->pickSelector())->currentTime(); - AlarmdBackend::setProfileEvent(GENERAL, to_time); - qDebug("To time: %s", qPrintable(to_time.toString())); - // Update current profile - bool in_silent_mode = false; - QTime ctime = QTime::currentTime(); - if(from_time < to_time) { - in_silent_mode = (ctime > from_time && ctime < to_time); - } else { - // to_time is the next day - in_silent_mode = (ctime > from_time || (ctime < from_time && ctime < to_time)); - } - if(in_silent_mode) - DBusBackend::setProfile(SILENT); - /*else - DBusBackend::setProfile(GENERAL);*/ +void MainWindow::addEvent() { + NewAlarmDlg dlg(this); + connect(&dlg, SIGNAL(newEvent(QVariant)), eventList, SLOT(addNewEvent(QVariant))); + dlg.exec(); } +