diff --git a/Software/Lightpack.pro b/Software/Lightpack.pro
index bf0cb5c1..a724a44b 100755
--- a/Software/Lightpack.pro
+++ b/Software/Lightpack.pro
@@ -29,6 +29,18 @@
# Project created by QtCreator 2010-04-28T19:08:13
# -------------------------------------------------
+
+CONFIG-=create_cmake
+
+#linux-g++:QMAKE_TARGET.arch = $$QMAKE_HOST.arch
+#linux-g++-32:QMAKE_TARGET.arch = x86
+#linux-g++-64:QMAKE_TARGET.arch = x86_64
+
+#contains(QMAKE_TARGET.arch, x86_64):{
+# unix:QMAKE_CXXFLAGS+=-m32
+# unix:QMAKE_LFLAGS+=-m32 -L/usr/lib32 -L/usr/lib/i386-linux-gnu
+# }
+
TEMPLATE = subdirs
CONFIG += ordered
diff --git a/Software/qtserialport/qtserialport.pro b/Software/qtserialport/qtserialport.pro
index c182996d..9d711341 100644
--- a/Software/qtserialport/qtserialport.pro
+++ b/Software/qtserialport/qtserialport.pro
@@ -1,3 +1,5 @@
+CONFIG-=create_cmake
+
lessThan(QT_MAJOR_VERSION, 5) {
TEMPLATE = subdirs
SUBDIRS = src
diff --git a/Software/qtserialport/src/serialport/serialport.pro b/Software/qtserialport/src/serialport/serialport.pro
index d329a0b7..27fa7f35 100644
--- a/Software/qtserialport/src/serialport/serialport.pro
+++ b/Software/qtserialport/src/serialport/serialport.pro
@@ -1,5 +1,7 @@
QT = core
+CONFIG-=create_cmake
+
QMAKE_DOCS = $$PWD/doc/qtserialport.qdocconf
include($$PWD/serialport-lib.pri)
diff --git a/Software/qtserialport/src/src.pro b/Software/qtserialport/src/src.pro
index 1426d64e..cb2a07eb 100644
--- a/Software/qtserialport/src/src.pro
+++ b/Software/qtserialport/src/src.pro
@@ -1,3 +1,4 @@
TEMPLATE = subdirs
SUBDIRS = serialport
+CONFIG-=create_cmake
diff --git a/Software/res/LightpackResources.qrc b/Software/res/LightpackResources.qrc
index 3932329d..5746238a 100644
--- a/Software/res/LightpackResources.qrc
+++ b/Software/res/LightpackResources.qrc
@@ -38,5 +38,9 @@
icons/Prismatik.png
icons/Prismatik-pixmap.png
text/cast.html
+ icons/error16.png
+ icons/lock16.png
+ icons/off16.png
+ icons/on16.png
diff --git a/Software/res/icons/error16.png b/Software/res/icons/error16.png
new file mode 100644
index 00000000..4034b2d0
Binary files /dev/null and b/Software/res/icons/error16.png differ
diff --git a/Software/res/icons/lock16.png b/Software/res/icons/lock16.png
new file mode 100644
index 00000000..6cda2cf8
Binary files /dev/null and b/Software/res/icons/lock16.png differ
diff --git a/Software/res/icons/off16.png b/Software/res/icons/off16.png
new file mode 100644
index 00000000..bef32375
Binary files /dev/null and b/Software/res/icons/off16.png differ
diff --git a/Software/res/icons/on16.png b/Software/res/icons/on16.png
new file mode 100644
index 00000000..86e9df68
Binary files /dev/null and b/Software/res/icons/on16.png differ
diff --git a/Software/src/SettingsWindow.ui b/Software/src/SettingsWindow.ui
index 686ad909..5fce32bc 100644
--- a/Software/src/SettingsWindow.ui
+++ b/Software/src/SettingsWindow.ui
@@ -7,8 +7,8 @@
0
0
- 608
- 600
+ 654
+ 599
@@ -243,7 +243,7 @@
QTabWidget::Rounded
- 5
+ 0
diff --git a/Software/src/qtsingleapplication/src/qtlocalpeer.h b/Software/src/qtsingleapplication/src/qtlocalpeer.h
index 1b533b1a..365012c4 100644
--- a/Software/src/qtsingleapplication/src/qtlocalpeer.h
+++ b/Software/src/qtsingleapplication/src/qtlocalpeer.h
@@ -44,6 +44,7 @@
#include
#include
#include
+#include
#include "qtlockedfile.h"
diff --git a/Software/src/src.pro b/Software/src/src.pro
index 5d392764..7c24ddf3 100644
--- a/Software/src/src.pro
+++ b/Software/src/src.pro
@@ -15,6 +15,7 @@ CONFIG(msvc) {
DESTDIR = bin
TEMPLATE = app
QT += network widgets
+QT += gui-private
win32 {
QT += serialport
}
@@ -65,6 +66,7 @@ unix:!macx{
DESKTOP = $$(XDG_CURRENT_DESKTOP)
equals(DESKTOP, "Unity") {
+ message(Unity DESKTOP)
DEFINES += UNITY_DESKTOP
PKGCONFIG += gtk+-2.0 appindicator-0.1 libnotify
}
diff --git a/Software/src/systrayicon/SysTrayIcon.cpp b/Software/src/systrayicon/SysTrayIcon.cpp
index 7286329f..8fc4b342 100644
--- a/Software/src/systrayicon/SysTrayIcon.cpp
+++ b/Software/src/systrayicon/SysTrayIcon.cpp
@@ -91,6 +91,20 @@ void SysTrayIcon::checkUpdate()
d->checkUpdate();
}
+void SysTrayIcon::switchBacklight(const bool &power)
+{
+ if (power)
+ emit backlightOn();
+ else
+ emit backlightOff();
+}
+
+void SysTrayIcon::nextProfile()
+{
+ using namespace SettingsScope;
+ QStringList profiles = Settings::findAllProfiles();
+}
+
void SysTrayIcon::setStatus(const Status status, const QString *arg)
{
Q_D(SysTrayIcon);
diff --git a/Software/src/systrayicon/SysTrayIcon.hpp b/Software/src/systrayicon/SysTrayIcon.hpp
index 33e68b12..fcae0d3d 100644
--- a/Software/src/systrayicon/SysTrayIcon.hpp
+++ b/Software/src/systrayicon/SysTrayIcon.hpp
@@ -81,6 +81,10 @@ class SysTrayIcon : public QObject
public slots:
void retranslateUi();
void checkUpdate();
+ void nextProfile();
+
+private slots:
+ void switchBacklight(const bool &power);
private:
SysTrayIconPrivate * const d_ptr;
diff --git a/Software/src/systrayicon/SysTrayIcon_qt_p.hpp b/Software/src/systrayicon/SysTrayIcon_qt_p.hpp
index 43bca789..f84f5754 100644
--- a/Software/src/systrayicon/SysTrayIcon_qt_p.hpp
+++ b/Software/src/systrayicon/SysTrayIcon_qt_p.hpp
@@ -54,8 +54,10 @@ class SysTrayIconPrivate : public QObject, public SysTrayIconPrivateData
fillProfilesFromSettings();
- trayIconMenu->addAction(_switchOnBacklightAction);
- trayIconMenu->addAction(_switchOffBacklightAction);
+ trayIconMenu->addAction(_switchBacklightAction);
+ trayIconMenu->addAction(_nextProfile);
+// trayIconMenu->addAction(_switchOnBacklightAction);
+// trayIconMenu->addAction(_switchOffBacklightAction);
trayIconMenu->addSeparator();
trayIconMenu->addMenu(_profilesMenu);
trayIconMenu->addAction(_settingsAction);
@@ -83,10 +85,11 @@ class SysTrayIconPrivate : public QObject, public SysTrayIconPrivateData
connect(&_updatesProcessor, SIGNAL(readyRead()), this, SLOT(onCheckUpdate_Finished()));
- _pixmapCache.insert("lock16", new QPixmap(QPixmap(":/icons/lock.png").scaledToWidth(16, Qt::SmoothTransformation)) );
- _pixmapCache.insert("on16", new QPixmap(QPixmap(":/icons/on.png").scaledToWidth(16, Qt::SmoothTransformation)) );
- _pixmapCache.insert("off16", new QPixmap(QPixmap(":/icons/off.png").scaledToWidth(16, Qt::SmoothTransformation)) );
- _pixmapCache.insert("error16", new QPixmap(QPixmap(":/icons/error.png").scaledToWidth(16, Qt::SmoothTransformation)) );
+ const int icon_size = 16;
+ _pixmapCache.insert("on16", new QPixmap(QPixmap(":/icons/on.png").scaledToWidth(icon_size, Qt::SmoothTransformation)) );
+ _pixmapCache.insert("lock16", new QPixmap(QPixmap(":/icons/lock.png").scaledToWidth(icon_size, Qt::SmoothTransformation)) );
+ _pixmapCache.insert("off16", new QPixmap(QPixmap(":/icons/off.png").scaledToWidth(icon_size, Qt::SmoothTransformation)) );
+ _pixmapCache.insert("error16", new QPixmap(QPixmap(":/icons/error.png").scaledToWidth(icon_size, Qt::SmoothTransformation)) );
setStatus(SysTrayIcon::StatusOn);
_qsystray->show();
@@ -138,8 +141,10 @@ class SysTrayIconPrivate : public QObject, public SysTrayIconPrivateData
void retranslateUi()
{
DEBUG_LOW_LEVEL << Q_FUNC_INFO;
- _switchOnBacklightAction->setText(tr("&Turn on"));
- _switchOffBacklightAction->setText(tr("&Turn off"));
+ _switchBacklightAction->setText(tr("&Switch on/off"));
+// _nextProfile->setText(tr("&Next profile"));
+// _switchOnBacklightAction->setText(tr("&Turn on"));
+// _switchOffBacklightAction->setText(tr("&Turn off"));
_settingsAction->setText(tr("&Settings"));
_quitAction->setText(tr("&Quit"));
_profilesMenu->setTitle(tr("&Profiles"));
@@ -173,8 +178,9 @@ class SysTrayIconPrivate : public QObject, public SysTrayIconPrivateData
switch (status)
{
case SysTrayIcon::StatusOn:
- _switchOnBacklightAction->setEnabled(false);
- _switchOffBacklightAction->setEnabled(true);
+// _switchOnBacklightAction->setEnabled(false);
+// _switchOffBacklightAction->setEnabled(true);
+// /mnt/workspace/source/Lightpack/Software/res/icons
_qsystray->setIcon(QIcon(*_pixmapCache["on16"]));
if(SettingsScope::Settings::isProfileLoaded())
@@ -182,8 +188,8 @@ class SysTrayIconPrivate : public QObject, public SysTrayIconPrivateData
break;
case SysTrayIcon::StatusLockedByApi:
- _switchOnBacklightAction->setEnabled(false);
- _switchOffBacklightAction->setEnabled(true);
+// _switchOnBacklightAction->setEnabled(false);
+// _switchOffBacklightAction->setEnabled(true);
_qsystray->setIcon(QIcon(*_pixmapCache["lock16"]));
_qsystray->setToolTip(tr("Device locked via API"));
break;
@@ -193,15 +199,15 @@ class SysTrayIconPrivate : public QObject, public SysTrayIconPrivateData
break;
case SysTrayIcon::StatusOff:
- _switchOnBacklightAction->setEnabled(true);
- _switchOffBacklightAction->setEnabled(false);
+// _switchOnBacklightAction->setEnabled(true);
+// _switchOffBacklightAction->setEnabled(false);
_qsystray->setIcon(QIcon(*_pixmapCache["off16"]));
_qsystray->setToolTip(tr("Disabled"));
break;
case SysTrayIcon::StatusError:
- _switchOnBacklightAction->setEnabled(false);
- _switchOffBacklightAction->setEnabled(true);
+// _switchOnBacklightAction->setEnabled(false);
+// _switchOffBacklightAction->setEnabled(true);
_qsystray->setIcon(QIcon(*_pixmapCache["error16"]));
_qsystray->setToolTip(tr("Error with connection device, verbose in logs"));
break;
@@ -226,6 +232,54 @@ class SysTrayIconPrivate : public QObject, public SysTrayIconPrivateData
private slots:
+ void nextProfile()
+ {
+ using namespace SettingsScope;
+ QStringList profiles = Settings::findAllProfiles();
+ const QString curProfile = Settings::getCurrentProfileName();
+ int index = 0;
+ for (int i=0; i=profiles.count())
+ index = 0;
+ const QString next = profiles.at(index);
+
+ Settings::loadOrCreateProfile(next);
+ }
+
+ void updateProfileNextText(const QString)
+ {
+ using namespace SettingsScope;
+ QStringList profiles = Settings::findAllProfiles();
+ const QString curProfile = Settings::getCurrentProfileName();
+ int index = 0;
+ for (int i=0; i=profiles.count())
+ index = 0;
+ const QString next = profiles.at(index);
+
+ index++;
+ if (index>=profiles.count())
+ index = 0;
+ const QString nextAfterNext = profiles.at(index);
+
+ _nextProfile->setText(QString("%1 -> %2").arg(next).arg(nextAfterNext));
+ qDebug() << _nextProfile->text();
+ }
+
void onCheckUpdate_Finished()
{
using namespace SettingsScope;
@@ -329,15 +383,25 @@ private slots:
{
Q_Q(SysTrayIcon);
DEBUG_LOW_LEVEL << Q_FUNC_INFO;
+ using namespace SettingsScope;
+
+// _switchOnBacklightAction = new QAction(QIcon(":/icons/on.png"), tr("&Turn on"), this);
+// _switchOnBacklightAction->setIconVisibleInMenu(true);
+// connect(_switchOnBacklightAction, SIGNAL(triggered()), q, SIGNAL(backlightOn()));
- _switchOnBacklightAction = new QAction(QIcon(":/icons/on.png"), tr("&Turn on"), this);
- _switchOnBacklightAction->setIconVisibleInMenu(true);
- connect(_switchOnBacklightAction, SIGNAL(triggered()), q, SIGNAL(backlightOn()));
+ _switchBacklightAction = new QAction(QIcon(":/icons/on.png"), tr("&Switch on/off"), this);
+ _switchBacklightAction->setIconVisibleInMenu(true);
+ _switchBacklightAction->setCheckable(true);
+ connect(_switchBacklightAction, SIGNAL(triggered(bool)), q, SLOT(switchBacklight(bool)));
- _switchOffBacklightAction = new QAction(QIcon(":/icons/off.png"), tr("&Turn off"), this);
- _switchOffBacklightAction->setIconVisibleInMenu(true);
- connect(_switchOffBacklightAction, SIGNAL(triggered()), q, SIGNAL(backlightOff()));
+// _switchOffBacklightAction = new QAction(QIcon(":/icons/off.png"), tr("&Turn off"), this);
+// _switchOffBacklightAction->setIconVisibleInMenu(true);
+// connect(_switchOffBacklightAction, SIGNAL(triggered()), q, SIGNAL(backlightOff()));
+ _nextProfile = new QAction(QIcon(":/icons/profiles.png"), ("&Next profile"), this);
+ _nextProfile->setIconVisibleInMenu(true);
+ connect(_nextProfile, SIGNAL(triggered()), this, SLOT(nextProfile()));
+ connect(SettingsScope::Settings::settingsSingleton(), SIGNAL(currentProfileInited(QString)), this, SLOT(updateProfileNextText(QString)));
_profilesMenu = new QMenu(tr("&Profiles"));
_profilesMenu->setIcon(QIcon(":/icons/profiles.png"));
@@ -373,8 +437,10 @@ private slots:
private:
QSystemTrayIcon * _qsystray;
- QAction * _switchOnBacklightAction;
- QAction * _switchOffBacklightAction;
+ QAction * _switchBacklightAction;
+ QAction * _nextProfile;
+// QAction * _switchOnBacklightAction;
+// QAction * _switchOffBacklightAction;
QAction * _settingsAction;
QAction * _quitAction;
QMenu * _profilesMenu;