Merge pull request #4 from xiannox/testing

Merge Xian Nox qcma branch into testing
This commit is contained in:
codestation
2013-12-16 13:18:05 -08:00
70 changed files with 303 additions and 78 deletions

View File

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

View 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

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

View 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
View File

@@ -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'\\\"

View File

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

View File

Before

Width:  |  Height:  |  Size: 859 B

After

Width:  |  Height:  |  Size: 859 B

View File

Before

Width:  |  Height:  |  Size: 387 B

After

Width:  |  Height:  |  Size: 387 B

View File

Before

Width:  |  Height:  |  Size: 344 B

After

Width:  |  Height:  |  Size: 344 B

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

Before

Width:  |  Height:  |  Size: 994 B

After

Width:  |  Height:  |  Size: 994 B

View File

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

View File

@@ -18,9 +18,9 @@
*/
#include "clientmanager.h"
#include "progressform.h"
#include "cmaclient.h"
#include "utils.h"
#include "forms/progressform.h"
#include <vitamtp.h>

View File

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

View File

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

View File

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

View File

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

View File

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