Skip to content
This repository has been archived by the owner on Jul 4, 2020. It is now read-only.

Commit

Permalink
Added libappindicator3-dev and kdelibs-dev as build dependency.
Browse files Browse the repository at this point in the history
Downgrade to Qt4 since Qt5 5.2.0 on Ubuntu 14.04 has a bug with harbuzz and japanese characters.
  • Loading branch information
codestation committed Oct 7, 2014
1 parent f454fd2 commit 3b7c5af
Show file tree
Hide file tree
Showing 13 changed files with 67 additions and 34 deletions.
22 changes: 15 additions & 7 deletions debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -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)
2 changes: 1 addition & 1 deletion debian/qcma-appindicator.install
Original file line number Diff line number Diff line change
@@ -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 change: 1 addition & 0 deletions debian/qcma-kdenotifier.install
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
usr/lib/qcma/libqcma_kdenotifier.so
2 changes: 1 addition & 1 deletion debian/rules
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 1 addition & 1 deletion qcma.pro
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand Down
2 changes: 1 addition & 1 deletion qcma_appindicator.pro
Original file line number Diff line number Diff line change
Expand Up @@ -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 += \
Expand Down
2 changes: 2 additions & 0 deletions qcma_kdenotifier.pro
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,5 @@ HEADERS += \
src/indicator/kdenotifiertray.h

target.path = /usr/lib/qcma

INSTALLS += target
2 changes: 2 additions & 0 deletions qcmares.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -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>
22 changes: 20 additions & 2 deletions src/forms/configwidget.ui
Original file line number Diff line number Diff line change
Expand Up @@ -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">
Expand All @@ -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>
Expand Down Expand Up @@ -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>
Expand Down
22 changes: 12 additions & 10 deletions src/gui/mainwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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"));
Expand All @@ -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);
Expand Down Expand Up @@ -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
Expand All @@ -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();

Expand Down
3 changes: 2 additions & 1 deletion src/indicator/qtrayicon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down
12 changes: 9 additions & 3 deletions src/indicator/unityindicator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
#define writableLocation storageLocation
#endif

#include <QDebug>
#include <QDir>
#include <QVector>

Expand Down Expand Up @@ -143,21 +144,26 @@ 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();
else if(QFile("/usr/local" + icon_name).exists())
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));
Expand Down
7 changes: 0 additions & 7 deletions src/indicator/unityindicator.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 3b7c5af

Please sign in to comment.