Set some SSL parameters for network request.
[toast/confclerk.git] / src / gui / mainwindow.cpp
index b20b3ba..a2e28d1 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2010 Ixonos Plc.
- * Copyright (C) 2011-2012 Philipp Spitzer, gregor herrmann, Stefan Stahl
+ * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl
  *
  * This file is part of ConfClerk.
  *
@@ -24,6 +24,7 @@
 #include <QNetworkProxy>
 #include <QNetworkAccessManager>
 #include <QNetworkReply>
+#include <QSslConfiguration>
 
 #include "sqlengine.h"
 
@@ -112,6 +113,15 @@ MainWindow::MainWindow(QWidget* parent): QMainWindow(parent) {
     // timer
     connect(alarmTimer, SIGNAL(timeout()), SLOT(onAlarmTimerTimeout()));
 
+    // add the actions from the main menu to the window, otherwise the shortcuts don't work on MAEMO
+    addAction(conferencesAction);
+    addAction(settingsAction);
+    addAction(quitAction);
+
+    // make it impossible to hide the toolbar by disallowing its context menu
+    toolBar->setContextMenuPolicy(Qt::PreventContextMenu);
+
+    // open conference
     useConference(Conference::activeConference());
     // optimization, see useConference() code
     try {
@@ -127,6 +137,11 @@ MainWindow::MainWindow(QWidget* parent): QMainWindow(parent) {
 }
 
 
+MainWindow::~MainWindow() {
+    sqlEngine->close();
+}
+
+
 void MainWindow::on_aboutAction_triggered()
 {
     QDialog dialog(this);
@@ -234,13 +249,13 @@ void MainWindow::onAlarmTimerTimeout() {
     QString message;
     if (events.size() == 1) {
         event = events.first();
-        title = tr("Next event at %1").arg(event.start().toString());
-        message = tr("Title: %1\nRoom: %2").arg(event.title()).arg(event.room()->name());
+        title = tr("Next event at %1").arg(event.start().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("Start: %1; Title: %2; Room: %3").arg(event.start().toString()).arg(event.title()).arg(event.room()->name());
+            messages += tr("%1: \"%2\" (%3)").arg(event.start().toString("HH:mm")).arg(event.title()).arg(event.room()->name());
         }
         message = messages.join("\n");
     }
@@ -396,7 +411,7 @@ void MainWindow::on_conferencesAction_triggered()
 
 void MainWindow::networkQueryFinished(QNetworkReply *aReply) {
     if (aReply->error() != QNetworkReply::NoError) {
-        error_message(QString("Error occured during download: ") + aReply->errorString());
+        error_message(QString("Error occurred during download: ") + aReply->errorString());
     } else {
         QUrl redirectUrl = aReply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl();
         if (!redirectUrl.isEmpty()) {
@@ -421,7 +436,11 @@ void MainWindow::importData(const QByteArray &aData, const QString& url, int con
 void MainWindow::importFromNetwork(const QString& url, int conferenceId)
 {
     QNetworkRequest request;
+    QSslConfiguration qSslConfiguration = request.sslConfiguration();
+    qSslConfiguration.setProtocol(QSsl::AnyProtocol);
+    qSslConfiguration.setPeerVerifyMode(QSslSocket::QueryPeer);
     request.setUrl(QUrl(url));
+    request.setSslConfiguration(qSslConfiguration);
     request.setAttribute(QNetworkRequest::User, conferenceId);
 
     mNetworkAccessManager->setProxy(QNetworkProxy::applicationProxy());