diff --git a/debian/control b/debian/control
index a865fe6..d98738d 100644
--- a/debian/control
+++ b/debian/control
@@ -10,24 +10,32 @@ Build-Depends:
cdbs,
libavformat-dev,
libswscale-dev,
- qtbase5-dev,
- qttools5-dev-tools,
- qt5-default,
+ libqt4-dev,
+ qt4-dev-tools,
+ qt4-default,
+ kdelibs5-dev,
libnotify-dev,
+ libgtk2.0-dev,
+ libappindicator-dev,
pkg-config,
- vitamtp-dev
+ vitamtp-dev (>= 2.5.4)
Package: qcma
Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Depends: vitamtp4 (>= 2.5.4), ${shlibs:Depends}, ${misc:Depends}
Description: Content Manager Assistant for the PS Vita
Package: qcma-cli
Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Depends: vitamtp4 (>= 2.5.4), ${shlibs:Depends}, ${misc:Depends}
Description: Content Manager Assistant for the PS Vita (headless version)
Package: qcma-appindicator
Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Depends: qcma (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Description: Content Manager Assistant for the PS Vita (appindicator support)
+
+Package: qcma-kdenotifier
+Architecture: any
+Depends: qcma (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Content Manager Assistant for the PS Vita (kdenotifier support)
diff --git a/debian/qcma-appindicator.install b/debian/qcma-appindicator.install
index 06b547c..031c357 100644
--- a/debian/qcma-appindicator.install
+++ b/debian/qcma-appindicator.install
@@ -1,3 +1,3 @@
-usr/share/qcma/libqcma_appindicator.so
+usr/lib/qcma/libqcma_appindicator.so
resources/images/qcma_on.png usr/share/icons/hicolor/64x64/actions
resources/images/qcma_off.png usr/share/icons/hicolor/64x64/actions
diff --git a/debian/qcma-kdenotifier.install b/debian/qcma-kdenotifier.install
new file mode 100644
index 0000000..0bb2ea9
--- /dev/null
+++ b/debian/qcma-kdenotifier.install
@@ -0,0 +1 @@
+usr/lib/qcma/libqcma_kdenotifier.so
diff --git a/debian/rules b/debian/rules
index 56c0ce0..f5c79ad 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,7 +3,7 @@
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/qmake.mk
-DEB_QMAKE_ARGS += qcma.pro PREFIX=/usr CONFIG+=ENABLE_APPINDICATOR
+DEB_QMAKE_ARGS += qcma.pro PREFIX=/usr CONFIG+="ENABLE_APPINDICATOR"
pre-build::
lrelease resources/translations/*.ts
diff --git a/qcma.pro b/qcma.pro
index 5a7ec5f..68bf92d 100644
--- a/qcma.pro
+++ b/qcma.pro
@@ -21,7 +21,7 @@ unix:!macx:!android {
}
ENABLE_KDENOTIFIER {
greaterThan(QT_MAJOR_VERSION, 4) {
- #error("ENABLE_KDE can only be used with Qt4")
+ error("ENABLE_KDE can only be used with Qt4")
}
SUBDIRS += qcma_kdenotifier.pro
}
diff --git a/qcma_appindicator.pro b/qcma_appindicator.pro
index f4fd76c..a4208df 100644
--- a/qcma_appindicator.pro
+++ b/qcma_appindicator.pro
@@ -7,7 +7,7 @@ DEFINES += QCMA_TRAYINDICATOR_LIBRARY
QT_CONFIG -= no-pkg-config
-PKGCONFIG += appindicator-0.1 libnotify
+PKGCONFIG += appindicator-0.1 gtk+-2.0 libnotify
INCLUDEPATH += src/
SOURCES += \
diff --git a/qcma_kdenotifier.pro b/qcma_kdenotifier.pro
index c0c0539..004e51b 100644
--- a/qcma_kdenotifier.pro
+++ b/qcma_kdenotifier.pro
@@ -17,3 +17,5 @@ HEADERS += \
src/indicator/kdenotifiertray.h
target.path = /usr/lib/qcma
+
+INSTALLS += target
diff --git a/qcmares.qrc b/qcmares.qrc
index 39f87a8..6c22039 100644
--- a/qcmares.qrc
+++ b/qcmares.qrc
@@ -7,5 +7,7 @@
resources/images/edit-clear-locationbar-rtl.png
resources/images/tray/qcma_off.png
resources/images/tray/qcma_off_16.png
+ resources/images/qcma_on.png
+ resources/images/qcma_off.png
diff --git a/src/forms/configwidget.ui b/src/forms/configwidget.ui
index 2637d24..dc58104 100644
--- a/src/forms/configwidget.ui
+++ b/src/forms/configwidget.ui
@@ -6,8 +6,8 @@
0
0
- 520
- 439
+ 532
+ 457
@@ -30,6 +30,11 @@
-
+
+
+ 10
+
+
Specify the folders that the PS Vita will access for each content type.
@@ -236,6 +241,19 @@
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
diff --git a/src/gui/mainwidget.cpp b/src/gui/mainwidget.cpp
index ea71f68..e65430a 100644
--- a/src/gui/mainwidget.cpp
+++ b/src/gui/mainwidget.cpp
@@ -102,9 +102,9 @@ void MainWidget::stopServer()
void MainWidget::deviceDisconnect()
{
#ifndef Q_OS_WIN32
- trayIcon->setIcon("qcma_off.png");
+ trayIcon->setIcon("qcma_off");
#else
- trayIcon->setIcon("qcma_off_16.png");
+ trayIcon->setIcon("qcma_off_16");
#endif
qDebug("Icon changed - disconnected");
setTrayTooltip(tr("Disconnected"));
@@ -114,9 +114,9 @@ void MainWidget::deviceDisconnect()
void MainWidget::deviceConnect(QString message)
{
#ifndef Q_OS_WIN32
- trayIcon->setIcon("qcma_on.png");
+ trayIcon->setIcon("qcma_on");
#else
- trayIcon->setIcon("qcma_off_16.png");
+ trayIcon->setIcon("qcma_off_16");
#endif
qDebug("Icon changed - connected");
setTrayTooltip(message);
@@ -217,27 +217,29 @@ TrayIndicator *MainWidget::createTrayObject(QWidget *parent)
TrayFunctionPointer create_tray = NULL;
QString desktop = getenv("XDG_CURRENT_DESKTOP");
+ qDebug() << "Current desktop: " << desktop;
#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
if(desktop.toLower() == "kde")
{
// KDENotifier
- QLibrary library("/usr/lib/qcma/qcma_kdenotifier.so");
+ QLibrary library("/usr/lib/qcma/libqcma_kdenotifier.so");
if(library.load())
create_tray = reinterpret_cast(library.resolve("createTrayIndicator"));
else
- qDebug() << "Cannot load qcma_kdenotifier plugin";
+ qDebug() << "Cannot load libqcma_kdenotifier plugin";
}
else
#endif
+ // try to use the appindicator if is available
// if(desktop.toLower() == "unity")
{
// AppIndicator
- QLibrary library("/usr/lib/qcma/qcma_appindicator.so");
+ QLibrary library("/usr/lib/qcma/libqcma_appindicator.so");
if(library.load())
create_tray = reinterpret_cast(library.resolve("createTrayIndicator"));
else
- qDebug() << "Cannot load qcma_appindicator plugin";
+ qDebug() << "Cannot load libqcma_appindicator plugin";
}
// else QSystemTrayIcon
@@ -250,9 +252,9 @@ void MainWidget::createTrayIcon()
trayIcon->init();
#ifndef Q_OS_WIN32
- trayIcon->setIcon("qcma_off.png");
+ trayIcon->setIcon("qcma_off");
#else
- trayIcon->setIcon("qcma_off_16.png");
+ trayIcon->setIcon("qcma_off_16");
#endif
trayIcon->show();
diff --git a/src/indicator/qtrayicon.cpp b/src/indicator/qtrayicon.cpp
index 6c92a04..6ef607b 100644
--- a/src/indicator/qtrayicon.cpp
+++ b/src/indicator/qtrayicon.cpp
@@ -96,7 +96,8 @@ bool QTrayIcon::isVisible()
void QTrayIcon::setIcon(const QString &icon)
{
- m_tray_icon->setIcon(QIcon(":/main/resources/images/tray/" + icon));
+ QIcon qicon(":/main/resources/images/" + icon + ".png");
+ m_tray_icon->setIcon(qicon);
}
void QTrayIcon::show()
diff --git a/src/indicator/unityindicator.cpp b/src/indicator/unityindicator.cpp
index c88c4e2..67cf736 100644
--- a/src/indicator/unityindicator.cpp
+++ b/src/indicator/unityindicator.cpp
@@ -27,6 +27,7 @@
#define writableLocation storageLocation
#endif
+#include
#include
#include
@@ -143,13 +144,13 @@ void UnityIndicator::init()
gtk_widget_show(quit);
m_indicator = app_indicator_new(
- "unique-application-name",
- "indicator-messages",
+ "qcma-appindicator",
+ "qcma-messages",
APP_INDICATOR_CATEGORY_APPLICATION_STATUS
);
QString icon_path;
- QString icon_name = "share/icons/hicolor/64x64/tray/qcma_on.png";
+ QString icon_name = "share/icons/hicolor/64x64/actions/qcma_on.png";
if(QFile("/usr/" + icon_name).exists())
icon_path = QFileInfo("/usr/" + icon_name).absolutePath();
@@ -157,7 +158,12 @@ void UnityIndicator::init()
icon_path = QFileInfo("/usr/" + icon_name).absolutePath();
if(!icon_path.isEmpty())
+ {
+ qDebug() << "Using " << icon_path << " as icon theme path";
app_indicator_set_icon_theme_path(m_indicator, qPrintable(icon_path));
+ }
+ else
+ qDebug() << "Cannot find qcma icons.";
app_indicator_set_status(m_indicator, APP_INDICATOR_STATUS_ACTIVE);
app_indicator_set_menu(m_indicator, GTK_MENU(menu));
diff --git a/src/indicator/unityindicator.h b/src/indicator/unityindicator.h
index 54e269c..0dc56d3 100644
--- a/src/indicator/unityindicator.h
+++ b/src/indicator/unityindicator.h
@@ -29,13 +29,6 @@
extern "C" {
#include
#include
-
-void optionsIndicator(GtkMenu *menu, gpointer data);
-void reloadIndicator(GtkMenu *menu, gpointer data);
-void backupIndicator(GtkMenu *menu, gpointer data);
-void aboutIndicator(GtkMenu *menu, gpointer data);
-void aboutQtIndicator(GtkMenu *menu, gpointer data);
-void quitIndicator(GtkMenu *menu, gpointer data);
}
#define signals public