Added spanish translation
[timedsilencer] / mainwindow.cpp
index 9506049..89392a3 100644 (file)
 #include <QVBoxLayout>
 #include <QLabel>
 #include <QSpacerItem>
-#include <QMenuBar>
 #include <QSettings>
-
+#include <QCheckBox>
+#include <QPushButton>
+#include <QHBoxLayout>
+#include <QCloseEvent>
+#include <QIcon>
 #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());
-  QVBoxLayout *verticalLayout = new QVBoxLayout(centralWidget());
-  QLabel *from_lbl = new QLabel(tr("Use silent profile between"));
-  from_lbl->setAlignment(Qt::AlignHCenter);
-  verticalLayout->addWidget(from_lbl);
-  from_button = new QMaemo5ValueButton();
-  from_button->setPickSelector(new QMaemo5TimePickSelector());
-  verticalLayout->addWidget(from_button);
-  QLabel *to_lbl = new QLabel(tr("and"));
-  to_lbl->setAlignment(Qt::AlignHCenter);
-  verticalLayout->addWidget(to_lbl);
-  to_button = new QMaemo5ValueButton();
-  to_button->setPickSelector(new QMaemo5TimePickSelector());
-  verticalLayout->addWidget(to_button);
-  verticalLayout->addItem(new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding));
-  // Menu actions
-  active_action = menuBar()->addAction(tr("Enabled"));
-  active_action->setCheckable(true);
-  // Load settings
-  loadSettings();
-  connect(active_action, SIGNAL(triggered(bool)), this, SLOT(enableSilencing(bool)));
+  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() {
-  if(active_action->isChecked()) {
-    QMaemo5InformationBox::information(this, tr("The timed silencer is enabled"), 0);
-    setProfileEvents();
-  } else {
-    QMaemo5InformationBox::information(this, tr("The timed silencer is disabled"), 0);
-  }
-  saveSettings();
-  delete from_button;
-  delete to_button;
-}
-
-void MainWindow::saveSettings() {
-  QSettings settings("TimedSilencer", "TimedSilencer");
-  settings.setValue("from_time", static_cast<QMaemo5TimePickSelector*>(from_button->pickSelector())->currentTime());
-  settings.setValue("to_time", static_cast<QMaemo5TimePickSelector*>(to_button->pickSelector())->currentTime());
-  settings.setValue("enabled", active_action->isChecked());
+  delete addEventBtn;
+  delete eventList;
 }
 
 void MainWindow::loadSettings() {
-  QSettings settings("TimedSilencer", "TimedSilencer");
-  QTime from_time = settings.value("from_time", QTime(22, 0)).toTime();
-  static_cast<QMaemo5TimePickSelector*>(from_button->pickSelector())->setCurrentTime(from_time);
-  QTime to_time = settings.value("to_time", QTime(8, 0)).toTime();
-  static_cast<QMaemo5TimePickSelector*>(to_button->pickSelector())->setCurrentTime(to_time);
-  active_action->setChecked(settings.value("enabled", true).toBool());
+
 }
 
-void MainWindow::enableSilencing(bool enabled) {
-  if(enabled) {
-    setProfileEvents();
-    //QMaemo5InformationBox::information(this, tr("The Timed Silencer is now enabled"), QMaemo5InformationBox::DefaultTimeout);
-  } else {
-    AlarmdBackend::deleteEvents();
-    //QMaemo5InformationBox::information(this, tr("The Timed Silencer is now disabled"), QMaemo5InformationBox::DefaultTimeout);
-  }
+void MainWindow::saveSettings() {
+
 }
 
-void MainWindow::setProfileEvents() {
-  // Set profile events in Alarmd
-  QTime from_time = static_cast<QMaemo5TimePickSelector*>(from_button->pickSelector())->currentTime();
-  qDebug("From time: %s", qPrintable(from_time.toString()));
-  AlarmdBackend::setProfileEvent(SILENT, from_time);
-  QTime to_time = static_cast<QMaemo5TimePickSelector*>(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();
 }
+