Added libappindicator3-dev and kdelibs-dev as build dependency.

Downgrade to Qt4 since Qt5 5.2.0 on Ubuntu 14.04 has a bug with harbuzz and japanese characters.
This commit is contained in:
codestation
2014-10-07 10:00:46 -04:30
parent f454fd2c29
commit 3b7c5af15c
13 changed files with 67 additions and 34 deletions

22
debian/control vendored
View File

@@ -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)

View File

@@ -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

1
debian/qcma-kdenotifier.install vendored Normal file
View File

@@ -0,0 +1 @@
usr/lib/qcma/libqcma_kdenotifier.so

2
debian/rules vendored
View File

@@ -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

View File

@@ -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
}

View File

@@ -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 += \

View File

@@ -17,3 +17,5 @@ HEADERS += \
src/indicator/kdenotifiertray.h
target.path = /usr/lib/qcma
INSTALLS += target

View File

@@ -7,5 +7,7 @@
<file>resources/images/edit-clear-locationbar-rtl.png</file>
<file>resources/images/tray/qcma_off.png</file>
<file>resources/images/tray/qcma_off_16.png</file>
<file>resources/images/qcma_on.png</file>
<file>resources/images/qcma_off.png</file>
</qresource>
</RCC>

View File

@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>520</width>
<height>439</height>
<width>532</width>
<height>457</height>
</rect>
</property>
<property name="windowTitle">
@@ -30,6 +30,11 @@
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Specify the folders that the PS Vita will access for each content type.</string>
</property>
@@ -236,6 +241,19 @@
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>

View File

@@ -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<TrayFunctionPointer>(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<TrayFunctionPointer>(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();

View File

@@ -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()

View File

@@ -27,6 +27,7 @@
#define writableLocation storageLocation
#endif
#include <QDebug>
#include <QDir>
#include <QVector>
@@ -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));

View File

@@ -29,13 +29,6 @@
extern "C" {
#include <libappindicator/app-indicator.h>
#include <gtk/gtk.h>
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