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