Merge pull request #4 from xiannox/testing
Merge Xian Nox qcma branch into testing
2
.gitignore
vendored
@@ -1,2 +1,2 @@
|
||||
qcma.pro.user*
|
||||
*.qm
|
||||
*.qm
|
10
README.md
@@ -1,13 +1,13 @@
|
||||
QCMA
|
||||
====
|
||||
|
||||
QCMA is an cross-platform application to provide a Open Source implementation
|
||||
QCMA is a cross-platform application to provide a Open Source implementation
|
||||
of the original Content Manager Assistant that comes with the PS Vita. QCMA is
|
||||
meant to be compatible with Linux, Windows and MAC OS X.
|
||||
|
||||
## Features
|
||||
|
||||
The aim of this project is to provide a implementation that is on par with the
|
||||
The aim of this project is to provide an implementation that is on par with the
|
||||
official CMA and also offer some features missing in the original one.
|
||||
|
||||
#### Implemented features missing in OpenCMA (Yifan Lu CLI application)
|
||||
@@ -23,11 +23,11 @@ official CMA and also offer some features missing in the original one.
|
||||
* Complete categories for music.
|
||||
* SQLite backend for database.
|
||||
|
||||
## Planned features
|
||||
#### Planned features
|
||||
* **UPNP bridge**: connect an existing UPNP server to interface with the Vita
|
||||
using the wireless streaming feature.
|
||||
|
||||
#### Dependencies
|
||||
## Dependencies
|
||||
* [Qt 4.x or 5.x](http://qt-project.org/)
|
||||
|
||||
* [VitaMTP](https://github.com/yifanlu/VitaMTP). Use my
|
||||
@@ -42,7 +42,7 @@ Check the GitHub repo here: https://github.com/codestation/qcma
|
||||
#### I want to contribute
|
||||
Contact me on [GitHub](https://github.com/codestation/)
|
||||
|
||||
#### Thanks to
|
||||
## Thanks to
|
||||
[Yifan Lu](https://github.com/yifanlu/vitamtp/) - for the vitamtp library and
|
||||
the reference implementation of OpenCMA.
|
||||
|
||||
|
68
build/rpmbuild/VitaMTP.spec
Normal file
@@ -0,0 +1,68 @@
|
||||
#
|
||||
# VitaMTP spec file
|
||||
#
|
||||
|
||||
Name: libvitamtp2
|
||||
Summary: Low-level Vita communication library
|
||||
License: GPL-3.0
|
||||
Release: 2
|
||||
Version: 2.1.0
|
||||
URL: https://github.com/codestation/VitaMTP
|
||||
Source: https://github.com/codestation/VitaMTP.git
|
||||
Prefix: /usr
|
||||
Group: System/Libraries
|
||||
|
||||
%package devel
|
||||
Summary: Low-level Vita communication library - development files
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: libvitamtp2 == 2.1.0
|
||||
|
||||
%description
|
||||
libVitaMTP is a library based off of libMTP that does low level USB
|
||||
communications with the Vita. It can read and receive MTP commands that
|
||||
the Vita sends, which are a proprietary set of commands that is based on
|
||||
the MTP open standard.
|
||||
|
||||
%description devel
|
||||
libVitaMTP is a library based off of libMTP that does low level USB
|
||||
communications with the Vita. It can read and receive MTP commands that
|
||||
the Vita sends, which are a proprietary set of commands that is based on
|
||||
the MTP open standard.
|
||||
This package contains only the files necessary for development.
|
||||
|
||||
%changelog
|
||||
* Tue Nov 05 2013 codestation <codestation> - 2.1.0
|
||||
- Added new CMA version.
|
||||
|
||||
%prep
|
||||
rm -rf $RPM_SOURCE_DIR/libvitamtp2
|
||||
git clone https://github.com/codestation/VitaMTP.git $RPM_SOURCE_DIR/libvitamtp2
|
||||
cp -r $RPM_SOURCE_DIR/libvitamtp2 $RPM_BUILD_DIR/libvitamtp2
|
||||
%setup -n libvitamtp2 -DT
|
||||
|
||||
%build
|
||||
./autogen.sh
|
||||
./configure --prefix=/usr --disable-opencma
|
||||
make
|
||||
|
||||
%install
|
||||
make DESTDIR=%{buildroot} install
|
||||
mkdir -p %{buildroot}/lib/udev/rules.d
|
||||
cp debian/vitamtp1.udev %{buildroot}/lib/udev/rules.d/80-psvita.rules
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
/lib/udev/rules.d/80-psvita.rules
|
||||
/usr/lib/libvitamtp.la
|
||||
/usr/lib/libvitamtp.so.2
|
||||
/usr/lib/libvitamtp.so.2.0.0
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root,-)
|
||||
/usr/include/vitamtp.h
|
||||
/usr/lib/libvitamtp.a
|
||||
/usr/lib/libvitamtp.so
|
||||
/usr/lib/pkgconfig/libvitamtp.pc
|
68
build/rpmbuild/VitaMTP64.spec
Normal file
@@ -0,0 +1,68 @@
|
||||
#
|
||||
# VitaMTP spec file
|
||||
#
|
||||
|
||||
Name: libvitamtp2
|
||||
Summary: Low-level Vita communication library
|
||||
License: GPL-3.0
|
||||
Release: 2
|
||||
Version: 2.1.0
|
||||
URL: https://github.com/codestation/VitaMTP
|
||||
Source: https://github.com/codestation/VitaMTP.git
|
||||
Prefix: /usr
|
||||
Group: System/Libraries
|
||||
|
||||
%package devel
|
||||
Summary: Low-level Vita communication library - development files
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: libvitamtp2 == 2.1.0
|
||||
|
||||
%description
|
||||
libVitaMTP is a library based off of libMTP that does low level USB
|
||||
communications with the Vita. It can read and receive MTP commands that
|
||||
the Vita sends, which are a proprietary set of commands that is based on
|
||||
the MTP open standard.
|
||||
|
||||
%description devel
|
||||
libVitaMTP is a library based off of libMTP that does low level USB
|
||||
communications with the Vita. It can read and receive MTP commands that
|
||||
the Vita sends, which are a proprietary set of commands that is based on
|
||||
the MTP open standard.
|
||||
This package contains only the files necessary for development.
|
||||
|
||||
%changelog
|
||||
* Tue Nov 05 2013 codestation <codestation> - 2.1.0
|
||||
- Added new CMA version.
|
||||
|
||||
%prep
|
||||
rm -rf $RPM_SOURCE_DIR/libvitamtp2
|
||||
git clone https://github.com/codestation/VitaMTP.git $RPM_SOURCE_DIR/libvitamtp2
|
||||
cp -r $RPM_SOURCE_DIR/libvitamtp2 $RPM_BUILD_DIR/libvitamtp2
|
||||
%setup -n libvitamtp2 -DT
|
||||
|
||||
%build
|
||||
./autogen.sh
|
||||
./configure --prefix=/usr --disable-opencma
|
||||
make
|
||||
|
||||
%install
|
||||
make DESTDIR=%{buildroot} install
|
||||
mkdir -p %{buildroot}/lib/udev/rules.d
|
||||
cp debian/vitamtp1.udev %{buildroot}/lib/udev/rules.d/80-psvita.rules
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
/lib/udev/rules.d/80-psvita.rules
|
||||
/usr/lib64/libvitamtp.la
|
||||
/usr/lib64/libvitamtp.so.2
|
||||
/usr/lib64/libvitamtp.so.2.0.0
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root,-)
|
||||
/usr/include/vitamtp.h
|
||||
/usr/lib64/libvitamtp.a
|
||||
/usr/lib64/libvitamtp.so
|
||||
/usr/lib64/pkgconfig/libvitamtp.pc
|
42
build/rpmbuild/qcma.spec
Normal file
@@ -0,0 +1,42 @@
|
||||
#
|
||||
# qcma spec file
|
||||
#
|
||||
|
||||
Name: qcma
|
||||
Summary: PSVita Content Manager Assistant
|
||||
License: GPL-3.0
|
||||
Release: 1
|
||||
Version: 0.2.4
|
||||
URL: https://github.com/codestation/qcma
|
||||
Source: https://github.com/codestation/qcma.git
|
||||
Prefix: /usr
|
||||
Group: Productivity/File utilities
|
||||
|
||||
%description
|
||||
QCMA is an cross-platform application to provide a Open Source implementation
|
||||
of the original Content Manager Assistant that comes with the PS Vita. QCMA
|
||||
is meant to be compatible with Linux, Windows and MAC OS X.
|
||||
|
||||
%changelog
|
||||
* Tue Nov 06 2013 codestation <codestation> - 0.2.4
|
||||
- QCMA in WiFi mode is compatible with FW 3.00.
|
||||
|
||||
%prep
|
||||
rm -rf $RPM_SOURCE_DIR/qcma
|
||||
git clone https://github.com/codestation/qcma.git $RPM_SOURCE_DIR/qcma
|
||||
cp -r $RPM_SOURCE_DIR/qcma $RPM_BUILD_DIR/qcma
|
||||
%setup -n qcma -DT
|
||||
|
||||
%build
|
||||
lrelease qcma.pro
|
||||
qmake PREFIX=/usr
|
||||
make
|
||||
|
||||
%install
|
||||
make INSTALL_ROOT=%{buildroot} install
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
/usr/bin/qcma
|
||||
/usr/share/applications/qcma/qcma.desktop
|
||||
/usr/share/icons/hicolor/64x64/apps/qcma.png
|
42
build/rpmbuild/qcma64.spec
Normal file
@@ -0,0 +1,42 @@
|
||||
#
|
||||
# qcma spec file
|
||||
#
|
||||
|
||||
Name: qcma
|
||||
Summary: PSVita Content Manager Assistant
|
||||
License: GPL-3.0
|
||||
Release: 1
|
||||
Version: 0.2.4
|
||||
URL: https://github.com/codestation/qcma
|
||||
Source: https://github.com/codestation/qcma.git
|
||||
Prefix: /usr
|
||||
Group: Productivity/File utilities
|
||||
|
||||
%description
|
||||
QCMA is an cross-platform application to provide a Open Source implementation
|
||||
of the original Content Manager Assistant that comes with the PS Vita. QCMA
|
||||
is meant to be compatible with Linux, Windows and MAC OS X.
|
||||
|
||||
%changelog
|
||||
* Tue Nov 06 2013 codestation <codestation> - 0.2.4
|
||||
- QCMA in WiFi mode is compatible with FW 3.00.
|
||||
|
||||
%prep
|
||||
rm -rf $RPM_SOURCE_DIR/qcma
|
||||
git clone https://github.com/codestation/qcma.git $RPM_SOURCE_DIR/qcma
|
||||
cp -r $RPM_SOURCE_DIR/qcma $RPM_BUILD_DIR/qcma
|
||||
%setup -n qcma -DT
|
||||
|
||||
%build
|
||||
lrelease qcma.pro
|
||||
qmake PREFIX=/usr
|
||||
make
|
||||
|
||||
%install
|
||||
make INSTALL_ROOT=%{buildroot} install
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
/usr/bin/qcma
|
||||
/usr/share/applications/qcma/qcma.desktop
|
||||
/usr/share/icons/hicolor/64x64/apps/qcma.png
|
113
qcma.pro
@@ -13,74 +13,79 @@ TARGET = qcma
|
||||
|
||||
TEMPLATE = app
|
||||
|
||||
SOURCES += main.cpp \
|
||||
capability.cpp \
|
||||
database.cpp \
|
||||
cmaobject.cpp \
|
||||
cmarootobject.cpp \
|
||||
utils.cpp \
|
||||
mainwidget.cpp \
|
||||
configwidget.cpp \
|
||||
singleapplication.cpp \
|
||||
sforeader.cpp \
|
||||
cmaclient.cpp \
|
||||
cmabroadcast.cpp \
|
||||
avdecoder.cpp \
|
||||
cmaevent.cpp \
|
||||
clientmanager.cpp \
|
||||
backupmanagerform.cpp \
|
||||
backupitem.cpp \
|
||||
confirmdialog.cpp \
|
||||
progressform.cpp \
|
||||
pinform.cpp \
|
||||
filterlineedit.cpp
|
||||
SOURCES += src/main.cpp \
|
||||
src/capability.cpp \
|
||||
src/database.cpp \
|
||||
src/cmaobject.cpp \
|
||||
src/cmarootobject.cpp \
|
||||
src/utils.cpp \
|
||||
src/mainwidget.cpp \
|
||||
src/singleapplication.cpp \
|
||||
src/sforeader.cpp \
|
||||
src/cmaclient.cpp \
|
||||
src/cmabroadcast.cpp \
|
||||
src/avdecoder.cpp \
|
||||
src/cmaevent.cpp \
|
||||
src/clientmanager.cpp \
|
||||
src/filterlineedit.cpp \
|
||||
# forms
|
||||
src/forms/backupitem.cpp \
|
||||
src/forms/backupmanagerform.cpp \
|
||||
src/forms/configwidget.cpp \
|
||||
src/forms/confirmdialog.cpp \
|
||||
src/forms/pinform.cpp \
|
||||
src/forms/progressform.cpp
|
||||
|
||||
HEADERS += \
|
||||
capability.h \
|
||||
database.h \
|
||||
cmaobject.h \
|
||||
cmarootobject.h \
|
||||
utils.h \
|
||||
mainwidget.h \
|
||||
configwidget.h \
|
||||
singleapplication.h \
|
||||
sforeader.h \
|
||||
cmaclient.h \
|
||||
cmabroadcast.h \
|
||||
avdecoder.h \
|
||||
cmaevent.h \
|
||||
clientmanager.h \
|
||||
backupmanagerform.h \
|
||||
backupitem.h \
|
||||
confirmdialog.h \
|
||||
progressform.h \
|
||||
pinform.h \
|
||||
filterlineedit.h
|
||||
src/capability.h \
|
||||
src/database.h \
|
||||
src/cmaobject.h \
|
||||
src/cmarootobject.h \
|
||||
src/utils.h \
|
||||
src/mainwidget.h \
|
||||
src/singleapplication.h \
|
||||
src/sforeader.h \
|
||||
src/cmaclient.h \
|
||||
src/cmabroadcast.h \
|
||||
src/avdecoder.h \
|
||||
src/cmaevent.h \
|
||||
src/clientmanager.h \
|
||||
src/filterlineedit.h \
|
||||
# forms
|
||||
src/forms/backupitem.h \
|
||||
src/forms/backupmanagerform.h \
|
||||
src/forms/configwidget.h \
|
||||
src/forms/confirmdialog.h \
|
||||
src/forms/pinform.h \
|
||||
src/forms/progressform.h
|
||||
|
||||
INCLUDEPATH += src/
|
||||
|
||||
CONFIG += link_pkgconfig
|
||||
PKGCONFIG += libvitamtp libavformat libavcodec libavutil libswscale
|
||||
|
||||
QMAKE_CXXFLAGS += -Wno-write-strings -Wall -D__STDC_CONSTANT_MACROS
|
||||
|
||||
RESOURCES += \
|
||||
qcmares.qrc
|
||||
RESOURCES += qcmares.qrc
|
||||
|
||||
OTHER_FILES += \
|
||||
resources/psp2-updatelist.xml \
|
||||
resources/psv_icon.png \
|
||||
README.md \
|
||||
qcma.desktop \
|
||||
resources/xml/psp2-updatelist.xml \
|
||||
resources/images/psv_icon.png \
|
||||
resources/images/psv_icon_16.png \
|
||||
resources/images/qcma.png \
|
||||
resources/qcma.desktop \
|
||||
qcma.rc
|
||||
|
||||
FORMS += \
|
||||
configwidget.ui \
|
||||
backupmanagerform.ui \
|
||||
backupitem.ui \
|
||||
confirmdialog.ui \
|
||||
progressform.ui \
|
||||
pinform.ui
|
||||
src/forms/configwidget.ui \
|
||||
src/forms/backupmanagerform.ui \
|
||||
src/forms/backupitem.ui \
|
||||
src/forms/confirmdialog.ui \
|
||||
src/forms/progressform.ui \
|
||||
src/forms/pinform.ui
|
||||
|
||||
TRANSLATIONS += resources/translations/qcma.es.ts \
|
||||
TRANSLATIONS += \
|
||||
resources/translations/qcma.es.ts \
|
||||
resources/translations/qcma.ja.ts
|
||||
|
||||
VERSION = \\\"'0.2.4'\\\"
|
||||
|
10
qcmares.qrc
@@ -1,11 +1,11 @@
|
||||
<RCC>
|
||||
<qresource prefix="/main">
|
||||
<file>resources/psp2-updatelist.xml</file>
|
||||
<file>resources/psv_icon.png</file>
|
||||
<file>resources/xml/psp2-updatelist.xml</file>
|
||||
<file>resources/translations/qcma.es.qm</file>
|
||||
<file>resources/translations/qcma.ja.qm</file>
|
||||
<file>resources/psv_icon_16.png</file>
|
||||
<file>resources/qcma.png</file>
|
||||
<file>resources/edit-clear-locationbar-rtl.png</file>
|
||||
<file>resources/images/psv_icon.png</file>
|
||||
<file>resources/images/psv_icon_16.png</file>
|
||||
<file>resources/images/qcma.png</file>
|
||||
<file>resources/images/edit-clear-locationbar-rtl.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
Before Width: | Height: | Size: 859 B After Width: | Height: | Size: 859 B |
Before Width: | Height: | Size: 387 B After Width: | Height: | Size: 387 B |
Before Width: | Height: | Size: 344 B After Width: | Height: | Size: 344 B |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 994 B After Width: | Height: | Size: 994 B |
@@ -5,7 +5,7 @@ GenericName=Content Manager Assistant
|
||||
GenericName[es]=Asistente del Gestor de Contenido
|
||||
Comment=Content Manager Assistant for the PS Vita
|
||||
Comment[es]=Asistente del Gestor de Contenido para PS Vita
|
||||
Icon=qcma.png
|
||||
Icon=images/qcma.png
|
||||
Name=QCMA
|
||||
Path=
|
||||
StartupNotify=false
|
@@ -18,9 +18,9 @@
|
||||
*/
|
||||
|
||||
#include "clientmanager.h"
|
||||
#include "progressform.h"
|
||||
#include "cmaclient.h"
|
||||
#include "utils.h"
|
||||
#include "forms/progressform.h"
|
||||
|
||||
#include <vitamtp.h>
|
||||
|
@@ -20,9 +20,9 @@
|
||||
#ifndef CLIENTMANAGER_H
|
||||
#define CLIENTMANAGER_H
|
||||
|
||||
#include "pinform.h"
|
||||
#include "database.h"
|
||||
#include "progressform.h"
|
||||
#include "forms/pinform.h"
|
||||
#include "forms/progressform.h"
|
||||
|
||||
#include <QObject>
|
||||
#include <QThread>
|
@@ -478,7 +478,7 @@ void CmaEvent::vitaEventSendHttpObjectFromURL(vita_event_t *event, int eventId)
|
||||
if(!file.open(QIODevice::ReadOnly)) {
|
||||
if(basename == "psp2-updatelist.xml") {
|
||||
qDebug("Found request for update list. Sending cached data");
|
||||
QFile res(":/main/resources/psp2-updatelist.xml");
|
||||
QFile res(":/main/resources/xml/psp2-updatelist.xml");
|
||||
res.open(QIODevice::ReadOnly);
|
||||
data = res.readAll();
|
||||
} else {
|
@@ -26,7 +26,7 @@ FilterLineEdit::FilterLineEdit(QWidget *parent) :
|
||||
QLineEdit(parent)
|
||||
{
|
||||
clearButton = new QToolButton(this);
|
||||
QIcon clearIcon(":/main/resources/edit-clear-locationbar-rtl.png");
|
||||
QIcon clearIcon(":/main/resources/images/edit-clear-locationbar-rtl.png");
|
||||
clearButton->setIcon(clearIcon);
|
||||
clearButton->setCursor(Qt::ArrowCursor);
|
||||
clearButton->setStyleSheet("border:none;padding:0px");
|
@@ -119,7 +119,7 @@ void MainWidget::showAboutDialog()
|
||||
about.setWindowTitle(tr("About QCMA"));
|
||||
about.setInformativeText(tr("Copyright (C) 2013 Codestation") + "\n");
|
||||
about.setStandardButtons(QMessageBox::Ok);
|
||||
about.setIconPixmap(QPixmap(":/main/resources/qcma.png"));
|
||||
about.setIconPixmap(QPixmap(":/main/resources/images/qcma.png"));
|
||||
about.setDefaultButton(QMessageBox::Ok);
|
||||
|
||||
// hack to expand the messagebox minimum size
|
||||
@@ -164,9 +164,9 @@ void MainWidget::createTrayIcon()
|
||||
trayIcon = new QSystemTrayIcon(this);
|
||||
trayIcon->setContextMenu(trayIconMenu);
|
||||
#ifndef Q_OS_WIN32
|
||||
trayIcon->setIcon(QIcon(":/main/resources/psv_icon.png"));
|
||||
trayIcon->setIcon(QIcon(":/main/resources/images/psv_icon.png"));
|
||||
#else
|
||||
trayIcon->setIcon(QIcon(":/main/resources/psv_icon_16.png"));
|
||||
trayIcon->setIcon(QIcon(":/main/resources/images/psv_icon_16.png"));
|
||||
#endif
|
||||
trayIcon->show();
|
||||
// try to avoid the iconTray Qt bug
|
@@ -20,11 +20,11 @@
|
||||
#ifndef MAINWIDGET_H
|
||||
#define MAINWIDGET_H
|
||||
|
||||
#include "configwidget.h"
|
||||
#include "clientmanager.h"
|
||||
#include "backupmanagerform.h"
|
||||
#include "cmaclient.h"
|
||||
#include "progressform.h"
|
||||
#include "clientmanager.h"
|
||||
#include "forms/configwidget.h"
|
||||
#include "forms/backupmanagerform.h"
|
||||
#include "forms/progressform.h"
|
||||
|
||||
#include <QAction>
|
||||
#include <QWidget>
|