]> ToastFreeware Gitweb - toast/confclerk.git/blobdiff - src/gui/mainwindow.cpp
Adjust shown event time when displayTimeShift is set.
[toast/confclerk.git] / src / gui / mainwindow.cpp
index 3b2582a213eab1f72b0a87d5ac4e5c4283005957..550e3fd0bc8f793bee802be2b99f03f7d06dd969 100644 (file)
@@ -37,6 +37,7 @@
 
 #include <QDialog>
 #include <QMessageBox>
+#include <application.h>
 
 #include "ui_about.h"
 #include "eventdialog.h"
@@ -49,9 +50,6 @@
 #include "tabcontainer.h"
 #include "appsettings.h"
 
-const QString PROXY_USERNAME;
-const QString PROXY_PASSWD;
-
 MainWindow::MainWindow(QWidget* parent): QMainWindow(parent) {
     setupUi(this);
 
@@ -82,11 +80,11 @@ MainWindow::MainWindow(QWidget* parent): QMainWindow(parent) {
         AppSettings::setDirectConnection(true);
 
     QNetworkProxy proxy(
-            AppSettings::isDirectConnection() ? QNetworkProxy::NoProxy : QNetworkProxy::HttpProxy,
+            AppSettings::isDirectConnection() ? QNetworkProxy::NoProxy : (QNetworkProxy::ProxyType)AppSettings::proxyType(),
             AppSettings::proxyAddress(),
             AppSettings::proxyPort(),
-            PROXY_USERNAME,
-            PROXY_PASSWD);
+            AppSettings::proxyUsername(),
+            AppSettings::proxyPassword());
     QNetworkProxy::setApplicationProxy(proxy);
 
     // event details have changed
@@ -241,22 +239,24 @@ void MainWindow::onSystemTrayMessageClicked() {
 
 void MainWindow::onAlarmTimerTimeout() {
     // determine if an alarm is set on an event that's starting soon
-    QList<Event> events = Event::getImminentAlarmEvents(AppSettings::preEventAlarmSec(), Conference::activeConference());
+    int conferenceId = Conference::activeConference();
+    QList<Event> events = Event::getImminentAlarmEvents(AppSettings::preEventAlarmSec(), conferenceId);
     if (events.empty()) return;
 
     // build a message string
+    const Conference conference = Conference::getById(conferenceId);
     Event event;
     QString title;
     QString message;
     if (events.size() == 1) {
         event = events.first();
-        title = tr("Next event at %1").arg(event.start().toString("HH:mm"));
+        title = tr("Next event at %1").arg(conference.shiftTime(event.start().time()).toString("HH:mm"));
         message = tr("\"%1\"\n(%2)").arg(event.title()).arg(event.room()->name());
     } else {
         title = tr("%1 upcoming events").arg(events.size());
         QStringList messages;
         foreach (event, events) {
-            messages += tr("%1: \"%2\" (%3)").arg(event.start().toString("HH:mm")).arg(event.title()).arg(event.room()->name());
+            messages += tr("%1: \"%2\" (%3)").arg(conference.shiftTime(event.start().time()).toString("HH:mm")).arg(event.title()).arg(event.room()->name());
         }
         message = messages.join("\n");
     }
@@ -325,6 +325,7 @@ void MainWindow::initTabs()
     if (confId != -1)   // only init tabs if a conference is active
     {
         Conference active = Conference::getById(confId);
+        ((Application*) qApp)->setActiveConference(active);
         QDate startDate = active.start();
         QDate endDate = active.end();
 
@@ -348,6 +349,7 @@ void MainWindow::unsetConference()
     clearTabs();
     dayNavigator->unsetDates();
     setWindowTitle(saved_title);
+    ((Application*) qApp)->unsetActiveConference();
 }
 
 
@@ -363,11 +365,11 @@ void MainWindow::on_settingsAction_triggered()
     if (dialog.exec() == QDialog::Accepted) {
         dialog.saveDialogData();
         QNetworkProxy proxy(
-                AppSettings::isDirectConnection() ? QNetworkProxy::NoProxy : QNetworkProxy::HttpProxy,
+                AppSettings::isDirectConnection() ? QNetworkProxy::NoProxy : (QNetworkProxy::ProxyType)AppSettings::proxyType(),
                 AppSettings::proxyAddress(),
                 AppSettings::proxyPort(),
-                PROXY_USERNAME,
-                PROXY_PASSWD);
+                AppSettings::proxyUsername(),
+                AppSettings::proxyPassword());
         QNetworkProxy::setApplicationProxy(proxy);
     }
 }