diff options
Diffstat (limited to 'Slimber/Qt')
-rw-r--r-- | Slimber/Qt/QtAboutDialog.cpp | 54 | ||||
-rw-r--r-- | Slimber/Qt/QtAboutDialog.h | 10 | ||||
-rw-r--r-- | Slimber/Qt/QtMenulet.cpp | 9 | ||||
-rw-r--r-- | Slimber/Qt/QtMenulet.h | 114 | ||||
-rw-r--r-- | Slimber/Qt/SConscript | 54 | ||||
-rw-r--r-- | Slimber/Qt/main.cpp | 35 |
6 files changed, 144 insertions, 132 deletions
diff --git a/Slimber/Qt/QtAboutDialog.cpp b/Slimber/Qt/QtAboutDialog.cpp index 9b4e821..301661e 100644 --- a/Slimber/Qt/QtAboutDialog.cpp +++ b/Slimber/Qt/QtAboutDialog.cpp @@ -1,37 +1,37 @@ /* - * Copyright (c) 2010 Remko Tronçon - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. + * Copyright (c) 2010-2016 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. */ -#include "Slimber/Qt/QtAboutDialog.h" +#include <Slimber/Qt/QtAboutDialog.h> #include <QCoreApplication> -#include <QVBoxLayout> #include <QLabel> #include <QPixmap> +#include <QVBoxLayout> QtAboutDialog::QtAboutDialog() { - setAttribute(Qt::WA_DeleteOnClose); - setWindowTitle("About Slimber"); - - QVBoxLayout* layout = new QVBoxLayout(this); - - QLabel* iconLabel = new QLabel(this); - iconLabel->setPixmap(QPixmap(":/icons/Icon-128.png")); - iconLabel->setAlignment(Qt::AlignHCenter); - layout->addWidget(iconLabel); - - QLabel* appNameLabel = new QLabel("<center><font size='+1'><b>" + QCoreApplication::applicationName() + "</b></font></center>", this); - layout->addWidget(appNameLabel); - - QLabel* versionLabel = new QLabel(QString("<center><font size='-1'>Version ") + QCoreApplication::applicationVersion() + "</font></center>", this); - layout->addWidget(versionLabel); - QString buildString = QString("<center><font size='-1'>Built with: Qt version ") + QT_VERSION_STR; - buildString += QString("<br/>Running with Qt version ") + qVersion(); - buildString += "</font></center>"; - QLabel* buildLabel = new QLabel(buildString, this); - layout->addWidget(buildLabel); - - setFixedSize(minimumSizeHint()); + setAttribute(Qt::WA_DeleteOnClose); + setWindowTitle("About Slimber"); + + QVBoxLayout* layout = new QVBoxLayout(this); + + QLabel* iconLabel = new QLabel(this); + iconLabel->setPixmap(QPixmap(":/icons/Icon-128.png")); + iconLabel->setAlignment(Qt::AlignHCenter); + layout->addWidget(iconLabel); + + QLabel* appNameLabel = new QLabel("<center><font size='+1'><b>" + QCoreApplication::applicationName() + "</b></font></center>", this); + layout->addWidget(appNameLabel); + + QLabel* versionLabel = new QLabel(QString("<center><font size='-1'>Version ") + QCoreApplication::applicationVersion() + "</font></center>", this); + layout->addWidget(versionLabel); + QString buildString = QString("<center><font size='-1'>Built with: Qt version ") + QT_VERSION_STR; + buildString += QString("<br/>Running with Qt version ") + qVersion(); + buildString += "</font></center>"; + QLabel* buildLabel = new QLabel(buildString, this); + layout->addWidget(buildLabel); + + setFixedSize(minimumSizeHint()); } diff --git a/Slimber/Qt/QtAboutDialog.h b/Slimber/Qt/QtAboutDialog.h index 9e139da..1f14ebe 100644 --- a/Slimber/Qt/QtAboutDialog.h +++ b/Slimber/Qt/QtAboutDialog.h @@ -1,7 +1,7 @@ /* - * Copyright (c) 2010 Remko Tronçon - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. + * Copyright (c) 2010 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. */ #pragma once @@ -9,6 +9,6 @@ #include <QDialog> class QtAboutDialog : public QDialog { - public: - QtAboutDialog(); + public: + QtAboutDialog(); }; diff --git a/Slimber/Qt/QtMenulet.cpp b/Slimber/Qt/QtMenulet.cpp index 71e4f70..5d0d276 100644 --- a/Slimber/Qt/QtMenulet.cpp +++ b/Slimber/Qt/QtMenulet.cpp @@ -1,8 +1,7 @@ /* - * Copyright (c) 2010 Remko Tronçon - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. + * Copyright (c) 2010-2016 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. */ -#include "Slimber/Qt/QtMenulet.h" - +#include <Slimber/Qt/QtMenulet.h> diff --git a/Slimber/Qt/QtMenulet.h b/Slimber/Qt/QtMenulet.h index 01a9db1..fa17d21 100644 --- a/Slimber/Qt/QtMenulet.h +++ b/Slimber/Qt/QtMenulet.h @@ -1,82 +1,82 @@ /* - * Copyright (c) 2010 Remko Tronçon - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. + * Copyright (c) 2010-2016 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. */ #pragma once #include <QCoreApplication> #include <QMenu> -#include <QString> -#include <QSystemTrayIcon> #include <QObject> #include <QPixmap> #include <QPointer> +#include <QString> +#include <QSystemTrayIcon> -#include "Slimber/Menulet.h" -#include "Slimber/Qt/QtAboutDialog.h" +#include <Slimber/Menulet.h> +#include <Slimber/Qt/QtAboutDialog.h> class QtMenulet : public QObject, public Menulet { - Q_OBJECT - public: - QtMenulet() { - trayIcon.setIcon(QPixmap(":/icons/UsersOffline.png")); - trayIcon.setContextMenu(&menu); - trayIcon.show(); - } + Q_OBJECT + public: + QtMenulet() { + trayIcon.setIcon(QPixmap(":/icons/UsersOffline.png")); + trayIcon.setContextMenu(&menu); + trayIcon.show(); + } - void clear() { - menu.clear(); - } + void clear() { + menu.clear(); + } - void addItem(const std::string& name, const std::string& icon) { - menu.addAction(getIcon(icon), QString::fromUtf8(name.c_str())); - } + void addItem(const std::string& name, const std::string& icon) { + menu.addAction(getIcon(icon), QString::fromUtf8(name.c_str())); + } - void addAboutItem() { - menu.addAction("About", this, SLOT(showAboutDialog())); - } + void addAboutItem() { + menu.addAction("About", this, SLOT(showAboutDialog())); + } - void addRestartItem() { - menu.addAction("Restart", this, SLOT(restart())); - } + void addRestartItem() { + menu.addAction("Restart", this, SLOT(restart())); + } - void addExitItem() { - menu.addAction("Exit", qApp, SLOT(quit())); - } + void addExitItem() { + menu.addAction("Exit", qApp, SLOT(quit())); + } - void addSeparator() { - menu.addSeparator(); - } + void addSeparator() { + menu.addSeparator(); + } - void setIcon(const std::string& icon) { - trayIcon.setIcon(getIcon(icon)); - } + void setIcon(const std::string& icon) { + trayIcon.setIcon(getIcon(icon)); + } - private: - QPixmap getIcon(const std::string& name) { - return QPixmap(":/icons/" + QString::fromUtf8(name.c_str()) + ".png"); - } + private: + QPixmap getIcon(const std::string& name) { + return QPixmap(":/icons/" + QString::fromUtf8(name.c_str()) + ".png"); + } - private slots: - void showAboutDialog() { - if (aboutDialog) { - aboutDialog->raise(); - aboutDialog->activateWindow(); - } - else { - aboutDialog = new QtAboutDialog(); - aboutDialog->show(); - } - } + private slots: + void showAboutDialog() { + if (aboutDialog) { + aboutDialog->raise(); + aboutDialog->activateWindow(); + } + else { + aboutDialog = new QtAboutDialog(); + aboutDialog->show(); + } + } - void restart() { - onRestartClicked(); - } + void restart() { + onRestartClicked(); + } - private: - QMenu menu; - QSystemTrayIcon trayIcon; - QPointer<QtAboutDialog> aboutDialog; + private: + QMenu menu; + QSystemTrayIcon trayIcon; + QPointer<QtAboutDialog> aboutDialog; }; diff --git a/Slimber/Qt/SConscript b/Slimber/Qt/SConscript index 054d8b6..8328f8c 100644 --- a/Slimber/Qt/SConscript +++ b/Slimber/Qt/SConscript @@ -8,46 +8,58 @@ myenv.UseFlags(env["SLIMBER_FLAGS"]) myenv.UseFlags(env["LIMBER_FLAGS"]) myenv.UseFlags(env["SWIFTOOLS_FLAGS"]) myenv.UseFlags(env["SWIFTEN_FLAGS"]) -myenv.UseFlags(env["LIBIDN_FLAGS"]) myenv.UseFlags(env["BOOST_FLAGS"]) myenv.UseFlags(env.get("LIBXML_FLAGS", "")) myenv.UseFlags(env.get("EXPAT_FLAGS", "")) myenv.UseFlags(env.get("AVAHI_FLAGS", "")) myenv.UseFlags(myenv["PLATFORM_FLAGS"]) +if myenv.get("HAVE_ICU") : + myenv.MergeFlags(env["ICU_FLAGS"]) + myenv.Append(CPPDEFINES = ["HAVE_ICU"]) +if myenv.get("HAVE_LIBIDN") : + myenv.MergeFlags(env["LIBIDN_FLAGS"]) + myenv.Append(CPPDEFINES = ["HAVE_LIBIDN"]) + myenv.Tool("qt4", toolpath = ["#/BuildTools/SCons/Tools"]) myenv.Tool("nsis", toolpath = ["#/BuildTools/SCons/Tools"]) -myenv.EnableQt4Modules(['QtCore', 'QtGui'], debug = False) -myenv.Append(CPPPATH = ["."]) + +qt4modules = ['QtCore', 'QtGui'] +if myenv["qt5"] : + qt_version = '5' + qt4modules += ['QtWidgets'] +else : + qt_version = '4' +myenv.EnableQt4Modules(qt4modules, debug = False, version = qt_version) if env["PLATFORM"] == "win32" : - myenv.Append(LINKFLAGS = ["/SUBSYSTEM:WINDOWS"]) - myenv.Append(LIBS = "qtmain") + myenv.Append(LINKFLAGS = ["/SUBSYSTEM:WINDOWS"]) + myenv.Append(LIBS = "qtmain") myenv.BuildVersion("BuildVersion.h", project = "slimber") sources = [ - "main.cpp", - "QtMenulet.cpp", - "QtAboutDialog.cpp", - myenv.Qrc("Slimber.qrc"), - ] + "main.cpp", + "QtMenulet.cpp", + "QtAboutDialog.cpp", + myenv.Qrc("Slimber.qrc"), + ] #if env["PLATFORM"] == "win32" : -# myenv.RES("../resources/Windows/Slimber.rc") -# sources += ["../resources/Windows/Slimber.res"] +# myenv.RES("../resources/Windows/Slimber.rc") +# sources += ["../resources/Windows/Slimber.res"] if env["PLATFORM"] == "win32" : - slimberProgram = myenv.Program("Slimber", sources) + slimberProgram = myenv.Program("Slimber", sources) else : - slimberProgram = myenv.Program("slimber", sources) + slimberProgram = myenv.Program("slimber", sources) if env["PLATFORM"] == "win32" : - if "dist" in COMMAND_LINE_TARGETS or env.GetOption("clean") : - myenv.WindowsBundle("Slimber", resources = {}, qtlibs = ["QtCore4", "QtGui4"]) - myenv.Append(NSIS_OPTIONS = [ - "/DmsvccRedistributableDir=\"" + env["vcredist"] + "\"", - "/DbuildDate=" + datetime.date.today().strftime("%Y%m%d") - ]) - #myenv.Nsis("../Packaging/nsis/slimber.nsi") + if "dist" in COMMAND_LINE_TARGETS or env.GetOption("clean") : + myenv.WindowsBundle("Slimber", resources = {}, qtlibs = ["QtCore4", "QtGui4"]) + myenv.Append(NSIS_OPTIONS = [ + "/DmsvccRedistributableDir=\"" + env["vcredist"] + "\"", + "/DbuildDate=" + datetime.date.today().strftime("%Y%m%d") + ]) + #myenv.Nsis("../Packaging/nsis/slimber.nsi") diff --git a/Slimber/Qt/main.cpp b/Slimber/Qt/main.cpp index 517a253..8fbfbb6 100644 --- a/Slimber/Qt/main.cpp +++ b/Slimber/Qt/main.cpp @@ -1,35 +1,36 @@ /* - * Copyright (c) 2010 Remko Tronçon - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. + * Copyright (c) 2010-2016 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. */ #include <QApplication> #include <QCoreApplication> -#include <QSystemTrayIcon> #include <QMessageBox> +#include <QSystemTrayIcon> -#include "QtMenulet.h" -#include "Slimber/MainController.h" #include <Swiften/EventLoop/Qt/QtEventLoop.h> + +#include <Slimber/MainController.h> #include <Slimber/Qt/BuildVersion.h> +#include <Slimber/Qt/QtMenulet.h> int main(int argc, char* argv[]) { - QApplication app(argc, argv); - Swift::QtEventLoop eventLoop; + QApplication app(argc, argv); + Swift::QtEventLoop eventLoop; - QCoreApplication::setApplicationName("Slimber"); - QCoreApplication::setApplicationVersion(QString(buildVersion)); + QCoreApplication::setApplicationName("Slimber"); + QCoreApplication::setApplicationVersion(QString(buildVersion)); - if (!QSystemTrayIcon::isSystemTrayAvailable()) { + if (!QSystemTrayIcon::isSystemTrayAvailable()) { QMessageBox::critical(0, QObject::tr("Systray"), QObject::tr("No system tray")); - return 1; - } + return 1; + } - app.setQuitOnLastWindowClosed(false); + app.setQuitOnLastWindowClosed(false); - QtMenulet menulet; - MainController controller(&menulet, &eventLoop); + QtMenulet menulet; + MainController controller(&menulet, &eventLoop); - return app.exec(); + return app.exec(); } |