Changeset 809b5e5
- Timestamp:
- 08/30/17 20:38:27 (5 years ago)
- Branches:
- master, qt5
- Children:
- 79a7671
- Parents:
- ebe26af (diff), e27a3f5 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Files:
-
- 4 added
- 2 deleted
- 76 edited
Legend:
- Unmodified
- Added
- Removed
-
NEWS
rebe26af r809b5e5 2 2 fosdem-schedule; cf. docs/fosdem-schedule for the historic documentation. 3 3 4 version 0.6. 2, $DATE4 version 0.6.3, 20xx-xx-xx 5 5 * ... 6 7 version 0.6.2, 2017-01-24 8 * Event dialog: don't unconditionally assume plain text for description and 9 abstract, can be rich text as well (i.e. contain HTML tags). 10 * Favourites: change from boolean to tri-strate: no favourite, weak/fallback 11 favourite, strong favourite. Adapt buttons and conflict markers. 12 Thanks to Elena ``of Valhalla'' for the bug report. 13 (Fixes: #54) 14 * Handle SSL errors. 15 Present SSL error messages during download in a warning dialog and ask 16 user about how to proceed. 17 (In practice seen on Maemo due to ancient certificates.) 6 18 7 19 version 0.6.1, 2014-09-11 -
README
rebe26af r809b5e5 25 25 26 26 Copyright (C) 2010 Ixonos Plc. 27 Copyright (C) 2011-201 5, Philipp Spitzer, gregor herrmann, Stefan Strahl27 Copyright (C) 2011-2017, Philipp Spitzer, gregor herrmann, Stefan Strahl 28 28 29 29 This program is free software; you can redistribute it and/or modify … … 61 61 src/icons/favourite*, src/icons/alarm*, src/icons/collapse*, src/icons/expand*: 62 62 63 Copyright (C) 2012 , Philipp Spitzer, Stefan Strahl63 Copyright (C) 2012-2017, Philipp Spitzer, Stefan Strahl 64 64 65 65 This program is free software; you can redistribute it and/or modify … … 123 123 124 124 125 Tested pentabarf (or frab, or summit with patches) instances:125 Tested pentabarf (or frab, or summit/wafer with patches) instances: 126 126 127 - 3 0C3: https://events.ccc.de/congress/2013/Fahrplan/schedule.xml127 - 33C3: https://fahrplan.events.ccc.de/congress/2016/Fahrplan/schedule.xml 128 128 - DebConf (2013, pentbarf): https://penta.debconf.org/dc13_schedule/schedule.en.xml 129 129 - DebConf (2014, summit): https://summit.debconf.org/debconf14.xml 130 - DebConf (2015, summit): https://summit.debconf.org/debconf15.xml 131 - DebConf (2016, wafer): https://debconf16.debconf.org/schedule/pentabarf.xml 130 132 - FOSDEM: http://fosdem.org/schedule/xml 131 - FrOSCon (201 4): http://programm.froscon.org/2014/schedule.xml132 - Grazer Linuxtage (201 4): http://glt14-programm.linuxtage.at/schedule.de.xml133 - FrOSCon (2016): http://programm.froscon.org/2016/schedule.xml 134 - Grazer Linuxtage (2016): https://glt16-programm.linuxtage.at/schedule.xml -
confclerk.pro
rebe26af r809b5e5 21 21 22 22 icon.target = data/$${TARGET}.png 23 icon.commands = convert data/$${TARGET}.svg data/$${TARGET}.png23 icon.commands = convert -transparent white data/$${TARGET}.svg data/$${TARGET}.png 24 24 icon.depends = data/$${TARGET}.svg 25 25 -
data/confclerk.pod
rebe26af r809b5e5 66 66 67 67 Copyright (C) 2010 Ixonos Plc. 68 Copyright (C) 2011-201 5, Philipp Spitzer <philipp@toastfreeware.priv.at>69 Copyright (C) 2011-201 5, gregor herrmann <gregor@toastfreeware.priv.at>70 Copyright (C) 2011-201 5, Stefan Strahl <stefan@toastfreeware.priv.at>68 Copyright (C) 2011-2017, Philipp Spitzer <philipp@toastfreeware.priv.at> 69 Copyright (C) 2011-2017, gregor herrmann <gregor@toastfreeware.priv.at> 70 Copyright (C) 2011-2017, Stefan Strahl <stefan@toastfreeware.priv.at> 71 71 72 72 This program is free software; you can redistribute it and/or modify … … 120 120 =item src/icons/favourite*, src/icons/alarm*, src/icons/collapse*, src/icons/expand*: 121 121 122 Copyright (C) 2012 , Philipp Spitzer <philipp@toastfreeware.priv.at>123 Copyright (C) 2012 , Stefan Strahl <stefan@toastfreeware.priv.at>122 Copyright (C) 2012-2017, Philipp Spitzer <philipp@toastfreeware.priv.at> 123 Copyright (C) 2012-2017, Stefan Strahl <stefan@toastfreeware.priv.at> 124 124 125 125 This program is free software; you can redistribute it and/or modify -
src/alarm/alarm.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/alarm/alarm.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/app/application.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. … … 18 18 * ConfClerk. If not, see <http://www.gnu.org/licenses/>. 19 19 */ 20 #if defined(__GNUC__) || defined(__llvm__) || defined(__clang__) 21 #include <cxxabi.h> 22 #endif 23 #include <exception> 24 20 25 #include "application.h" 21 26 #include "errormessage.h" … … 33 38 error_message("UNCAUGHT OrmException: " + e.text()); 34 39 return false; 40 } catch (std::exception& e) { 41 error_message("UNCAUGHT exception: " + QString(e.what())); 42 return false; 35 43 } catch (...) { 36 error_message("UNCAUGHT EXCEPTION: unknown"); 44 #if defined(__GNUC__) || defined(__llvm__) || defined(__clang__) 45 int status = 0; 46 char *buff = __cxxabiv1::__cxa_demangle( 47 __cxxabiv1::__cxa_current_exception_type()->name(), 48 NULL, NULL, &status); 49 QString exception_name = QString(buff); 50 std::free(buff); 51 #else 52 QString exception_name = QString("unknown"); 53 #endif 54 error_message("UNCAUGHT exception: " + exception_name); 37 55 return false; 38 56 } -
src/app/application.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/app/appsettings.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/app/appsettings.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/app/main.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/dbschema001.sql
rebe26af r809b5e5 50 50 abstract VARCHAR, 51 51 description VARCHAR, 52 favourite INTEGER DEFAULT 0, 52 favourite INTEGER DEFAULT 0, -- 0 ... no favourite, 1 ... strong favourite, 2 ... weak favourite/alternative to strong favourite 53 53 alarm INTEGER DEFAULT 0, 54 54 PRIMARY KEY (xid_conference, id) -
src/global.pri
rebe26af r809b5e5 5 5 6 6 # VERSION 7 VERSION = 0.6. 27 VERSION = 0.6.3 8 8 DEFINES += VERSION=\\\"$$VERSION\\\" 9 9 -
src/gui/about.ui
rebe26af r809b5e5 138 138 <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">ConfClerk is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.</p> 139 139 <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">ConfClerk is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p> 140 <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright (C) 2010 Ixonos Plc.<br />Copyright (C) 2011-201 5Philipp Spitzer &amp; gregor herrmann &amp; Stefan Strahl</p></body></html></string>140 <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Copyright (C) 2010 Ixonos Plc.<br />Copyright (C) 2011-2017 Philipp Spitzer &amp; gregor herrmann &amp; Stefan Strahl</p></body></html></string> 141 141 </property> 142 142 <property name="textFormat"> -
src/gui/conferenceeditor.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/conferenceeditor.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/conflictdialogcontainer.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/conflictdialogcontainer.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/conflictsdialog.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/conflictsdialog.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/daynavigatorwidget.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/daynavigatorwidget.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/dayviewtabcontainer.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/dayviewtabcontainer.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/errormessage.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/errormessage.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/eventdialog.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. … … 49 49 // abstract 50 50 info += QString("<h2>%1</h2>\n").arg(tr("Abstract")); 51 info += Qt::convertFromPlainText(event.abstract(), Qt::WhiteSpaceNormal); 51 if (Qt::mightBeRichText(event.abstract())) { 52 info += event.abstract(); 53 } else { 54 info += Qt::convertFromPlainText(event.abstract(), Qt::WhiteSpaceNormal); 55 } 52 56 53 57 // description 54 58 info += QString("<h2>%1</h2>\n").arg(tr("Description")); 55 info += Qt::convertFromPlainText(event.description(), Qt::WhiteSpaceNormal); 59 if (Qt::mightBeRichText(event.description())) { 60 info += event.description(); 61 } else { 62 info += Qt::convertFromPlainText(event.description(), Qt::WhiteSpaceNormal); 63 } 56 64 57 65 // links … … 81 89 connect(alarmButton, SIGNAL(clicked()), SLOT(alarmClicked())); 82 90 83 if(event.isFavourite()) 84 { 85 favouriteButton->setIcon(QIcon(":/icons/favourite-on.png")); 86 } 91 updateFavouriteButton(event); 87 92 88 93 if(event.hasAlarm()) … … 95 100 { 96 101 Event event = Event::getById(mEventId, mConferenceId); 102 event.cycleFavourite(); 103 event.update("favourite"); 104 updateFavouriteButton(event); 97 105 106 // 'conflicts' list may have changed 98 107 QList<Event> conflicts = Event::conflictEvents(event.id(), mConferenceId); 99 if(event.isFavourite())100 {101 event.setFavourite(false);102 favouriteButton->setIcon(QIcon(":/icons/favourite-off.png"));103 }104 else105 {106 event.setFavourite(true);107 favouriteButton->setIcon(QIcon(":/icons/favourite-on.png"));108 }109 event.update("favourite");110 111 if(event.isFavourite())112 {113 // event has became 'favourite' and so 'conflicts' list may have changed114 conflicts = Event::conflictEvents(event.id(), mConferenceId);115 }116 108 117 109 // have to emit 'eventChanged' signal on all events in conflict … … 155 147 } 156 148 149 150 void EventDialog::updateFavouriteButton(const Event& event) { 151 switch (event.favourite()) { 152 case Favourite_no: favouriteButton->setIcon(QIcon(":/icons/favourite-no.png")); break; 153 case Favourite_weak: favouriteButton->setIcon(QIcon(":/icons/favourite-weak.png")); break; 154 case Favourite_strong: favouriteButton->setIcon(QIcon(":/icons/favourite-strong.png")); break; 155 } 156 } 157 -
src/gui/eventdialog.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. … … 39 39 int mConferenceId; 40 40 int mEventId; 41 void updateFavouriteButton(const Event& event); 41 42 }; 42 43 -
src/gui/eventdialog.ui
rebe26af r809b5e5 60 60 <property name="icon"> 61 61 <iconset resource="../icons.qrc"> 62 <normaloff>:/icons/favourite- off.png</normaloff>:/icons/favourite-off.png</iconset>62 <normaloff>:/icons/favourite-no.png</normaloff>:/icons/favourite-no.png</iconset> 63 63 </property> 64 64 <property name="iconSize"> -
src/gui/favtabcontainer.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/favtabcontainer.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/mainwindow.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. … … 25 25 #include <QNetworkAccessManager> 26 26 #include <QNetworkReply> 27 #include <QSslConfiguration> 27 28 28 29 #include "sqlengine.h" … … 131 132 } 132 133 134 connect(mNetworkAccessManager, SIGNAL(sslErrors(QNetworkReply*, QList<QSslError>)), SLOT(sslErrors(QNetworkReply*, QList<QSslError>))); 133 135 connect(mNetworkAccessManager, SIGNAL(finished(QNetworkReply*)), SLOT(networkQueryFinished(QNetworkReply*))); 134 136 connect(mXmlParser, SIGNAL(parsingScheduleBegin()), conferenceModel, SLOT(newConferenceBegin())); … … 270 272 systemTrayIcon->show(); 271 273 // The next two lines are to prevent a very strange position of the message box the first time at X11/aweseome (not Win32/XP) 272 systemTrayIcon->showMessage("ConfClerk", "Your upcoming events", QSystemTrayIcon::Information);274 systemTrayIcon->showMessage("ConfClerk", tr("Your upcoming events"), QSystemTrayIcon::Information); 273 275 qApp->processEvents(); 274 276 systemTrayIcon->showMessage(title, message, QSystemTrayIcon::Information, 60*60*24*1000); … … 309 311 // end of optimization 310 312 // initTabs(); 311 } catch (OrmException& e) { 313 } catch (const OrmException& e) { 314 qDebug() << "OrmException:" << e.text(); 312 315 // cannon set an active conference 313 316 unsetConference(); // TODO: as no active conference is now correctly managed this should be handled as a fatal error … … 404 407 try { 405 408 initTabs(); 406 } catch (OrmException) { 409 } catch (const OrmException& e) { 410 qDebug() << "OrmException:" << e.text(); 407 411 clearTabs(); 412 } 413 } 414 415 void MainWindow::sslErrors(QNetworkReply *aReply, const QList<QSslError> &errors) { 416 QString errorString; 417 foreach (const QSslError &error, errors) { 418 if (!errorString.isEmpty()) { 419 errorString += ", "; 420 } 421 errorString += error.errorString(); 422 } 423 424 if (QMessageBox::warning( 425 this, 426 tr("SSL errors"), 427 tr("One or more SSL errors have occurred: %1", 0, errors.size()).arg(errorString), 428 QMessageBox::Ignore | QMessageBox::Cancel) == QMessageBox::Ignore) { 429 aReply->ignoreSslErrors(); 430 } else { 431 aReply->abort(); 408 432 } 409 433 } … … 411 435 void MainWindow::networkQueryFinished(QNetworkReply *aReply) { 412 436 if (aReply->error() != QNetworkReply::NoError) { 413 error_message( QString("Error occured during download: ") + aReply->errorString());437 error_message(tr("Error occurred during download: %1").arg(aReply->errorString())); 414 438 } else { 415 439 QUrl redirectUrl = aReply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl(); … … 419 443 return; // don't enable controls 420 444 } else { 421 error_message( QString("Error: Cyclic redirection from %1 to itself.").arg(redirectUrl.toString()));445 error_message(tr("Error: Cyclic redirection from %1 to itself.").arg(redirectUrl.toString())); 422 446 } 423 447 } else { … … 436 460 { 437 461 QNetworkRequest request; 462 QSslConfiguration qSslConfiguration = request.sslConfiguration(); 463 qSslConfiguration.setProtocol(QSsl::AnyProtocol); 464 qSslConfiguration.setPeerVerifyMode(QSslSocket::QueryPeer); 438 465 request.setUrl(QUrl(url)); 466 request.setSslConfiguration(qSslConfiguration); 439 467 request.setAttribute(QNetworkRequest::User, conferenceId); 440 468 -
src/gui/mainwindow.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. … … 22 22 23 23 #include <QtWidgets> 24 #include <QSslError> 24 25 25 26 #include "ui_mainwindow.h" … … 52 53 void onSearchResultChanged(); 53 54 55 void sslErrors(QNetworkReply*,const QList<QSslError> &errors); 54 56 void networkQueryFinished(QNetworkReply*); 55 57 void importFromNetwork(const QString&, int conferenceId); -
src/gui/roomstabcontainer.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/roomstabcontainer.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/searchhead.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/searchhead.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/searchtabcontainer.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/searchtabcontainer.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/settingsdialog.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/settingsdialog.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/tabcontainer.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/tabcontainer.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/trackstabcontainer.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/trackstabcontainer.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/urlinputdialog.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/gui/urlinputdialog.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/icons.qrc
rebe26af r809b5e5 9 9 <file>icons/search.png</file> 10 10 <file>icons/today.png</file> 11 <file>icons/favourite-off.png</file> 12 <file>icons/favourite-on.png</file> 11 <file>icons/favourite-no.png</file> 12 <file>icons/favourite-weak.png</file> 13 <file>icons/favourite-strong.png</file> 13 14 <file>icons/alarm-on.png</file> 14 15 <file>icons/alarm-off.png</file> -
src/mvc/conference.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/mvc/conference.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/mvc/conferencemodel.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/mvc/conferencemodel.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/mvc/delegate.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. … … 61 61 if(hasParent(index)) 62 62 { 63 Event *event = static_cast<Event*>(index.internalPointer()); 64 65 // determine severity of conflict 66 Favourite eventTimeConflict = event->timeConflict(); // cache value as event->timeConflict is expensive 67 enum ConflictSeverity {csNone, csWeak, csStrong} conflictSeverity = csNone; 68 switch (event->favourite()) { 69 case Favourite_strong: 70 conflictSeverity = (eventTimeConflict == Favourite_strong) ? csStrong : csNone; 71 break; 72 case Favourite_weak: 73 conflictSeverity = (eventTimeConflict == Favourite_no) ? csNone : csWeak; 74 break; 75 case Favourite_no: 76 conflictSeverity = csNone; 77 break; 78 } 79 63 80 // entry horizontal layout: 64 81 // * spacer (aka y position of image) 65 82 // * image 66 83 // * rest is text, which is 1 line of title with big letters and 2 lines of Presenter and Track 67 int aux = option.rect.height() - SPACER - mControls[FavouriteControlOn]->image()->height(); 68 Event *event = static_cast<Event*>(index.internalPointer()); 84 int aux = option.rect.height() - SPACER - mControls[FavouriteControlStrong]->image()->height(); 69 85 70 86 // font SMALL … … 89 105 90 106 // background (in case of time conflicts) 91 if (event->hasTimeConflict()) {92 painter->setBrush( Qt::yellow);107 if (conflictSeverity != csNone) { 108 painter->setBrush(conflictSeverity == csStrong ? Qt::yellow : QColor("lightyellow")); 93 109 painter->setPen(Qt::NoPen); 94 110 painter->drawRect(option.rect); … … 106 122 c->setEnabled(false); 107 123 } 108 if(event->isFavourite()) 109 mControls[FavouriteControlOn]->paint(painter, option.rect); 110 else 111 mControls[FavouriteControlOff]->paint(painter, option.rect); 124 switch (event->favourite()) { 125 case Favourite_strong: 126 mControls[FavouriteControlStrong]->paint(painter, option.rect); 127 break; 128 case Favourite_weak: 129 mControls[FavouriteControlWeak]->paint(painter, option.rect); 130 break; 131 case Favourite_no: 132 mControls[FavouriteControlNo]->paint(painter, option.rect); 133 break; 134 } 112 135 113 136 if(event->hasAlarm()) … … 116 139 mControls[AlarmControlOff]->paint(painter, option.rect); 117 140 118 if(event ->hasTimeConflict())141 if(eventTimeConflict != Favourite_no) 119 142 mControls[WarningControl]->paint(painter, option.rect); 120 143 … … 123 146 // ("position of text" is lower-left angle of the first letter, 124 147 // so the first line is actually at the same height as the image) 125 painter->setPen(QPen( event->hasTimeConflict()? Qt::black : textColor));148 painter->setPen(QPen(conflictSeverity != csNone ? Qt::black : textColor)); 126 149 QPointF titlePointF(option.rect.x() + SPACER, 127 option.rect.y() + SPACER + mControls[FavouriteControl On]->image()->height());150 option.rect.y() + SPACER + mControls[FavouriteControlStrong]->image()->height()); 128 151 QTime start = event->start().time(); 129 152 painter->setFont(fontBig); … … 189 212 painter->setPen(QPen(textColor)); 190 213 painter->setFont(fontSmall); 191 QImage *image = mControls[numFav ? FavouriteControl On : FavouriteControlOff]->image();214 QImage *image = mControls[numFav ? FavouriteControlStrong : FavouriteControlNo]->image(); 192 215 QPoint drawPoint = 193 216 option.rect.topRight() … … 307 330 { 308 331 // FAVOURITE ICONs 309 // on 310 mControls.insert(FavouriteControlOn, new Control(FavouriteControlOn, QString(":icons/favourite-on.png"), NULL)); 311 // off 312 mControls.insert(FavouriteControlOff, new Control(FavouriteControlOff, QString(":icons/favourite-off.png"), NULL)); 332 // strong 333 mControls.insert(FavouriteControlStrong, new Control(FavouriteControlStrong, QString(":icons/favourite-strong.png"), NULL)); 334 // weak 335 mControls.insert(FavouriteControlWeak, new Control(FavouriteControlWeak, QString(":icons/favourite-weak.png"), NULL)); 336 // no 337 mControls.insert(FavouriteControlNo, new Control(FavouriteControlNo, QString(":icons/favourite-no.png"), NULL)); 313 338 314 339 // ALARM ICONs 315 340 // on 316 341 mControls.insert(AlarmControlOn, 317 new Control(AlarmControlOn, QString(":icons/alarm-on.png"), mControls[FavouriteControl On]));342 new Control(AlarmControlOn, QString(":icons/alarm-on.png"), mControls[FavouriteControlStrong])); 318 343 // off 319 344 mControls.insert(AlarmControlOff, 320 new Control(AlarmControlOff, QString(":icons/alarm-off.png"), mControls[FavouriteControl Off]));345 new Control(AlarmControlOff, QString(":icons/alarm-off.png"), mControls[FavouriteControlNo])); 321 346 // WARNING ICON 322 347 mControls.insert(WarningControl, … … 339 364 int nrofFavs = 0; 340 365 for(int i=0; i<index.model()->rowCount(index); i++) 341 if(static_cast<Event*>(index.child(i,0).internalPointer())-> isFavourite())366 if(static_cast<Event*>(index.child(i,0).internalPointer())->favourite() != Favourite_no) 342 367 nrofFavs++; 343 368 -
src/mvc/delegate.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. … … 32 32 { 33 33 ControlNone = 0, 34 FavouriteControlOn, 35 FavouriteControlOff, 34 FavouriteControlStrong, 35 FavouriteControlWeak, 36 FavouriteControlNo, 36 37 AlarmControlOn, 37 38 AlarmControlOff, -
src/mvc/event.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. … … 32 32 << QSqlField("type", QVariant::String) 33 33 << QSqlField("language", QVariant::String) 34 << QSqlField("favourite", QVariant:: Bool)34 << QSqlField("favourite", QVariant::Int) 35 35 << QSqlField("alarm", QVariant::Bool) 36 36 << QSqlField("tag", QVariant::String) … … 91 91 ( start >= :s1 AND ( start + duration ) < :e1 ) \ 92 92 OR ( ( start + duration ) > :s2 AND start < :e2 ) ) \ 93 AND favourite = 1 AND NOT id = :id ORDER BY start, duration");93 AND favourite >= 1 AND NOT id = :id ORDER BY start, duration"); 94 94 query.bindValue(":conf", event.conferenceId()); 95 95 query.bindValue(":s1", convertToDb(event.start(), QVariant::DateTime)); … … 117 117 QDateTime dayStart(date, conference.dayChangeTime(), Qt::UTC); 118 118 QSqlQuery query; 119 query.prepare(selectQuery() + QString("WHERE xid_conference = :conf AND start >= :start AND start < :end AND favourite = 1 ORDER BY start, duration"));119 query.prepare(selectQuery() + QString("WHERE xid_conference = :conf AND start >= :start AND start < :end AND favourite >= 1 ORDER BY start, duration")); 120 120 query.bindValue(":conf", conferenceId); 121 121 query.bindValue(":start", dayStart.toTime_t()); … … 193 193 } 194 194 195 bool Event::hasTimeConflict() const 196 { 197 if(!isFavourite()) // if it's not favourite, it can't have time-conflict 198 return false; 199 200 return conflictEvents(id(),conferenceId()).count() > 0 ? true : false; 195 Favourite Event::timeConflict() const { 196 if (favourite() == Favourite_no) // if it's not favourite, it can't have time-conflict 197 return Favourite_no; 198 199 QList<Event> events = conflictEvents(id(),conferenceId()); 200 201 // find "strongest" conflict 202 Favourite f = Favourite_no; 203 for (int i = 0; i != events.size(); ++i) { 204 switch (events[i].favourite()) { 205 case Favourite_strong: f = Favourite_strong; break; 206 case Favourite_weak: if (f == Favourite_no) f = Favourite_weak; break; 207 case Favourite_no: break; 208 } 209 } 210 return f; 211 212 } 213 214 void Event::cycleFavourite(bool back) { 215 switch (favourite()) { 216 case Favourite_no: setFavourite(back ? Favourite_weak : Favourite_strong); break; 217 case Favourite_strong: setFavourite(back ? Favourite_no : Favourite_weak); break; 218 case Favourite_weak: setFavourite(back ? Favourite_strong : Favourite_no); break; 219 } 201 220 } 202 221 -
src/mvc/event.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. … … 36 36 }; 37 37 38 39 enum Favourite {Favourite_no=0, Favourite_weak=2, Favourite_strong=1}; 40 41 38 42 class Event : public OrmRecord<Event> 39 43 { … … 60 64 QString type() const { return value("type").toString(); } 61 65 QString language() const { return value("language").toString(); } 62 bool isFavourite() const { return value("favourite").toBool(); }66 Favourite favourite() const { return static_cast<Favourite>(value("favourite").toInt()); } 63 67 bool hasAlarm() const { return value("alarm").toBool(); } 64 bool hasTimeConflict() const;68 Favourite timeConflict() const; 65 69 QString tag() const { return value("tag").toString(); } 66 70 QString title() const { return value("title").toString(); } … … 82 86 void setType(const QString & type) { setValue("type", type); } 83 87 void setLanguage(const QString & language) { setValue("language", language); } 84 void setFavourite(bool favourite) { setValue("favourite", (int)((favourite))); } 88 void setFavourite(Favourite favourite) { setValue("favourite", (int) favourite); } 89 void cycleFavourite(bool back = false); 85 90 void setHasAlarm(bool alarm) { setValue("alarm", (int)((alarm))); } 86 91 void setTag(const QString& tag) { setValue("tag", tag); } -
src/mvc/eventmodel.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/mvc/eventmodel.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/mvc/room.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/mvc/room.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/mvc/track.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. … … 31 31 << QSqlField(NAME, QVariant::String)); 32 32 33 class TrackInsertException : OrmSqlException33 class TrackInsertException : public OrmSqlException 34 34 { 35 35 public: … … 40 40 { 41 41 QSqlQuery query; 42 query.prepare("INSERT INTO " + sTableName + " (" + CONFERENCEID + "," + NAME + ")" + " VALUES " + "(\"" + QString::number(conferenceid()) + "\",\"" + name() + "\")"); 42 QString trackname = name(); 43 query.prepare( 44 QString("INSERT INTO %1 (%2, %3) VALUES (:xid_conference, :name)") 45 .arg(sTableName, CONFERENCEID, NAME)); 46 query.bindValue(":xid_conference", conferenceid()); 47 query.bindValue(":name", trackname); 43 48 if (!query.exec()) 44 49 { 45 throw TrackInsertException("Exec Error"); 50 throw TrackInsertException( 51 "Inserting track '" + trackname + "' into database failed: " + 52 query.lastError().text()); 46 53 } 47 54 QVariant variant = query.lastInsertId(); -
src/mvc/track.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/mvc/treeview.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. … … 45 45 46 46 // test whether we have handled the mouse event 47 if(!testForControlClicked(index, point))47 if(!testForControlClicked(index, point, aEvent->button())) 48 48 { 49 49 // pass the event to the Base class, so item clicks/events are handled correctly … … 53 53 54 54 // returns bool if some Control was clicked 55 bool TreeView::testForControlClicked(const QModelIndex &aIndex, const QPoint &aPoint )55 bool TreeView::testForControlClicked(const QModelIndex &aIndex, const QPoint &aPoint, Qt::MouseButton button) 56 56 { 57 57 bool handled = false; … … 65 65 switch(delegate->whichControlClicked(aIndex,aPoint)) 66 66 { 67 case Delegate::FavouriteControlOn: 68 case Delegate::FavouriteControlOff: 67 case Delegate::FavouriteControlStrong: 68 case Delegate::FavouriteControlWeak: 69 case Delegate::FavouriteControlNo: 69 70 { 70 71 // handle Favourite Control clicked … … 72 73 73 74 QList<Event> conflicts = Event::conflictEvents(event.id(),Conference::activeConference()); 74 event. setFavourite(!event.isFavourite());75 event.cycleFavourite(button == Qt::RightButton); 75 76 event.update("favourite"); 76 77 77 if(event.isFavourite()) 78 { 79 // event has became 'favourite' and so 'conflicts' list may have changed 80 conflicts = Event::conflictEvents(event.id(),Conference::activeConference()); 81 } 78 // event has became 'favourite' and so 'conflicts' list may have changed 79 conflicts = Event::conflictEvents(event.id(),Conference::activeConference()); 82 80 83 81 // have to emit 'eventChanged' signal on all events in conflict -
src/mvc/treeview.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. … … 31 31 private: 32 32 void mouseReleaseEvent(QMouseEvent *aEvent); 33 bool testForControlClicked(const QModelIndex &aIndex, const QPoint &aPoint );33 bool testForControlClicked(const QModelIndex &aIndex, const QPoint &aPoint, Qt::MouseButton button); 34 34 public slots: 35 35 void setAllExpanded(bool aExpanded); // (aExpanded==true) => expanded; (aExpanded==false) => collapsed -
src/orm/ormrecord.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. … … 28 28 #include <QDateTime> 29 29 #include <QDebug> 30 31 class OrmException 32 { 33 public: 34 OrmException(const QString& text) : mText(text) {} 30 #include <stdexcept> 31 32 class OrmException : public std::runtime_error 33 { 34 public: 35 OrmException(const QString& text) : std::runtime_error(text.toStdString()), mText(text) {} 35 36 virtual ~OrmException(){} 36 37 virtual const QString& text() const { return mText; } … … 42 43 { 43 44 public: 44 OrmNoObjectException() : OrmException(" No object exception"){}45 OrmNoObjectException() : OrmException("SQL query expects one record but found none."){} 45 46 ~OrmNoObjectException(){} 46 47 }; -
src/sql/schedulexmlparser.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/sql/schedulexmlparser.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/sql/sqlengine.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. … … 180 180 int trackId; 181 181 QString trackName = aEvent["track"]; 182 if (trackName.isEmpty()) trackName = tr("No track"); 182 183 try 183 184 { -
src/sql/sqlengine.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/test/main.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/test/mvc/eventtest.cpp
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk. -
src/test/mvc/eventtest.h
rebe26af r809b5e5 1 1 /* 2 2 * Copyright (C) 2010 Ixonos Plc. 3 * Copyright (C) 2011-201 5Philipp Spitzer, gregor herrmann, Stefan Stahl3 * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl 4 4 * 5 5 * This file is part of ConfClerk.
Note: See TracChangeset
for help on using the changeset viewer.