Rework cma protocol selection.
Read plugins from current application directory on debug mode.
This commit is contained in:
@@ -24,7 +24,7 @@ SOURCES += \
|
|||||||
src/sqlitedb.cpp \
|
src/sqlitedb.cpp \
|
||||||
src/httpdownloader.cpp \
|
src/httpdownloader.cpp \
|
||||||
src/qlistdb.cpp \
|
src/qlistdb.cpp \
|
||||||
src/database.cpp \
|
src/database.cpp
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
src/capability.h \
|
src/capability.h \
|
||||||
@@ -40,7 +40,7 @@ HEADERS += \
|
|||||||
src/sqlitedb.h \
|
src/sqlitedb.h \
|
||||||
src/httpdownloader.h \
|
src/httpdownloader.h \
|
||||||
src/qlistdb.h \
|
src/qlistdb.h \
|
||||||
src/database.h \
|
src/database.h
|
||||||
|
|
||||||
OTHER_FILES += \
|
OTHER_FILES += \
|
||||||
resources/xml/psp2-updatelist.xml \
|
resources/xml/psp2-updatelist.xml \
|
||||||
|
@@ -42,7 +42,11 @@ bool DeviceCapability::exchangeInfo(vita_device_t *device)
|
|||||||
}
|
}
|
||||||
|
|
||||||
QString hostname = QHostInfo::localHostName();
|
QString hostname = QHostInfo::localHostName();
|
||||||
|
|
||||||
int protocol_version = ::getVitaProtocolVersion();
|
int protocol_version = ::getVitaProtocolVersion();
|
||||||
|
|
||||||
|
qDebug() << "Sending Qcma protocol version:" << protocol_version;
|
||||||
|
|
||||||
const initiator_info_t *pc_info = VitaMTP_Data_Initiator_New(hostname.toUtf8().data(), protocol_version);
|
const initiator_info_t *pc_info = VitaMTP_Data_Initiator_New(hostname.toUtf8().data(), protocol_version);
|
||||||
|
|
||||||
// Next, we send the client's (this program) info (discard the const here)
|
// Next, we send the client's (this program) info (discard the const here)
|
||||||
|
@@ -188,20 +188,14 @@ QString readable_size(qint64 size, bool use_gib)
|
|||||||
|
|
||||||
int getVitaProtocolVersion()
|
int getVitaProtocolVersion()
|
||||||
{
|
{
|
||||||
bool useCustom = QSettings().value("useCustomProtocol").toBool();
|
QString protocol_mode = QSettings().value("protocolMode", "automatic").toString();
|
||||||
if(useCustom)
|
|
||||||
|
int protocol;
|
||||||
|
|
||||||
|
if(protocol_mode == "manual")
|
||||||
{
|
{
|
||||||
bool ok;
|
|
||||||
int protocol = QSettings().value("protocolVersion").toInt(&ok);
|
|
||||||
if(ok && protocol > 0)
|
|
||||||
return protocol;
|
|
||||||
else
|
|
||||||
return VITAMTP_PROTOCOL_MAX_VERSION;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
int protocol;
|
|
||||||
int index = QSettings().value("protocolIndex").toInt();
|
int index = QSettings().value("protocolIndex").toInt();
|
||||||
|
|
||||||
switch(index)
|
switch(index)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
@@ -223,13 +217,32 @@ int getVitaProtocolVersion()
|
|||||||
protocol = VITAMTP_PROTOCOL_FW_2_00;
|
protocol = VITAMTP_PROTOCOL_FW_2_00;
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
protocol = VITAMTP_WIRELESS_FW_2_00;
|
protocol = 1300010; // VITAMTP_PROTOCOL_FW_1_80
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
protocol = 1200010; // VITAMTP_PROTOCOL_FW_1_60
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
protocol = 1100010; // VITAMTP_PROTOCOL_FW_1_50
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
protocol = 1000010; // VITAMTP_PROTOCOL_FW_1_00
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
protocol = VITAMTP_PROTOCOL_MAX_VERSION;
|
protocol = VITAMTP_PROTOCOL_MAX_VERSION;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return protocol;
|
|
||||||
}
|
}
|
||||||
|
else if(protocol_mode == "custom")
|
||||||
|
{
|
||||||
|
bool ok;
|
||||||
|
int protocol = QSettings().value("protocolVersion").toInt(&ok);
|
||||||
|
|
||||||
|
if(!ok || protocol <= 0)
|
||||||
|
protocol = VITAMTP_PROTOCOL_MAX_VERSION;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
protocol = VITAMTP_PROTOCOL_MAX_VERSION;
|
||||||
|
|
||||||
|
return protocol;
|
||||||
}
|
}
|
||||||
|
@@ -62,6 +62,32 @@ void ConfigWidget::connectSignals()
|
|||||||
connect(mapper, SIGNAL(mapped(int)), this, SLOT(browseBtnPressed(int)));
|
connect(mapper, SIGNAL(mapped(int)), this, SLOT(browseBtnPressed(int)));
|
||||||
connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
|
connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
|
||||||
connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
|
connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
|
||||||
|
|
||||||
|
connect(ui->protocolModeBox, SIGNAL(currentIndexChanged(int)), this, SLOT(protocolModeChanged(int)));
|
||||||
|
}
|
||||||
|
|
||||||
|
void ConfigWidget::protocolModeChanged(int index)
|
||||||
|
{
|
||||||
|
switch(index)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
ui->protocolBox->setEnabled(false);
|
||||||
|
ui->protocolEdit->setEnabled(false);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
ui->protocolBox->setEnabled(true);
|
||||||
|
ui->protocolEdit->setEnabled(false);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
ui->protocolBox->setEnabled(false);
|
||||||
|
ui->protocolEdit->setEnabled(true);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
ui->protocolBox->setEnabled(false);
|
||||||
|
ui->protocolEdit->setEnabled(false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConfigWidget::setDefaultData()
|
void ConfigWidget::setDefaultData()
|
||||||
@@ -99,7 +125,17 @@ void ConfigWidget::setDefaultData()
|
|||||||
ui->videoSkipCheck->setChecked(settings.value("videoSkip", false).toBool());
|
ui->videoSkipCheck->setChecked(settings.value("videoSkip", false).toBool());
|
||||||
ui->musicSkipCheck->setChecked(settings.value("musicSkip", false).toBool());
|
ui->musicSkipCheck->setChecked(settings.value("musicSkip", false).toBool());
|
||||||
|
|
||||||
ui->customProtocolCheckBox->setChecked(settings.value("useCustomProtocol", false).toBool());
|
QString protocol_mode = settings.value("protocolMode", "automatic").toString();
|
||||||
|
|
||||||
|
if(protocol_mode == "manual")
|
||||||
|
ui->protocolModeBox->setCurrentIndex(1);
|
||||||
|
else if(protocol_mode == "custom")
|
||||||
|
ui->protocolModeBox->setCurrentIndex(2);
|
||||||
|
else
|
||||||
|
ui->protocolModeBox->setCurrentIndex(0);
|
||||||
|
|
||||||
|
protocolModeChanged(ui->protocolModeBox->currentIndex());
|
||||||
|
|
||||||
ui->protocolBox->setCurrentIndex(settings.value("protocolIndex", 0).toInt());
|
ui->protocolBox->setCurrentIndex(settings.value("protocolIndex", 0).toInt());
|
||||||
|
|
||||||
bool ok;
|
bool ok;
|
||||||
@@ -190,9 +226,15 @@ void ConfigWidget::accept()
|
|||||||
settings.setValue("photoSkip", ui->photoSkipCheck->isChecked());
|
settings.setValue("photoSkip", ui->photoSkipCheck->isChecked());
|
||||||
settings.setValue("videoSkip", ui->videoSkipCheck->isChecked());
|
settings.setValue("videoSkip", ui->videoSkipCheck->isChecked());
|
||||||
settings.setValue("musicSkip", ui->musicSkipCheck->isChecked());
|
settings.setValue("musicSkip", ui->musicSkipCheck->isChecked());
|
||||||
settings.setValue("useCustomProtocol", ui->customProtocolCheckBox->isChecked());
|
|
||||||
settings.setValue("protocolIndex", ui->protocolBox->currentIndex());
|
settings.setValue("protocolIndex", ui->protocolBox->currentIndex());
|
||||||
|
|
||||||
|
if(ui->protocolModeBox->currentIndex() == 0)
|
||||||
|
settings.setValue("protocolMode", "automatic");
|
||||||
|
else if(ui->protocolModeBox->currentIndex() == 1)
|
||||||
|
settings.setValue("protocolMode", "manual");
|
||||||
|
else if(ui->protocolModeBox->currentIndex() == 2)
|
||||||
|
settings.setValue("protocolMode", "custom");
|
||||||
|
|
||||||
bool ok;
|
bool ok;
|
||||||
int protocol = ui->protocolEdit->text().toInt(&ok);
|
int protocol = ui->protocolEdit->text().toInt(&ok);
|
||||||
|
|
||||||
|
@@ -47,6 +47,7 @@ private:
|
|||||||
Ui::ConfigWidget *ui;
|
Ui::ConfigWidget *ui;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
void protocolModeChanged(int index);
|
||||||
void browseBtnPressed(int from);
|
void browseBtnPressed(int from);
|
||||||
void accept();
|
void accept();
|
||||||
};
|
};
|
||||||
|
@@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>532</width>
|
<width>519</width>
|
||||||
<height>457</height>
|
<height>525</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@@ -375,17 +375,17 @@
|
|||||||
<property name="fieldGrowthPolicy">
|
<property name="fieldGrowthPolicy">
|
||||||
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
|
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
|
||||||
</property>
|
</property>
|
||||||
<item row="0" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QLabel" name="label_10">
|
<widget class="QLabel" name="label_10">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>CMA Protocol version</string>
|
<string>CMA protocol version</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="1">
|
<item row="1" column="1">
|
||||||
<widget class="QComboBox" name="protocolBox">
|
<widget class="QComboBox" name="protocolBox">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
@@ -425,34 +425,27 @@
|
|||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>FW 1.80 - 1300010</string>
|
<string notr="true">FW 1.80 - 1300010</string>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>FW 1.60 - 1200010</string>
|
<string notr="true">FW 1.60 - 1200010</string>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>FW 1.50 - 1100010</string>
|
<string notr="true">FW 1.50 - 1100010</string>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>FW 1.00 - 1000010</string>
|
<string notr="true">FW 1.00 - 1000010</string>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="2" column="1">
|
||||||
<widget class="QCheckBox" name="customProtocolCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>Use custom version</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QLineEdit" name="protocolEdit">
|
<widget class="QLineEdit" name="protocolEdit">
|
||||||
<property name="inputMask">
|
<property name="inputMask">
|
||||||
<string notr="true">9999999</string>
|
<string notr="true">9999999</string>
|
||||||
@@ -462,6 +455,39 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label_11">
|
||||||
|
<property name="text">
|
||||||
|
<string>CMA protocol selection</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QComboBox" name="protocolModeBox">
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Latest</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Manual</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Custom</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_12">
|
||||||
|
<property name="text">
|
||||||
|
<string>CMA custom version</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
@@ -215,14 +215,21 @@ void MainWidget::refreshDatabase()
|
|||||||
TrayIndicator *MainWidget::createTrayObject(QWidget *parent)
|
TrayIndicator *MainWidget::createTrayObject(QWidget *parent)
|
||||||
{
|
{
|
||||||
TrayFunctionPointer create_tray = NULL;
|
TrayFunctionPointer create_tray = NULL;
|
||||||
|
|
||||||
#ifdef Q_OS_LINUX
|
#ifdef Q_OS_LINUX
|
||||||
QString desktop = getenv("XDG_CURRENT_DESKTOP");
|
QString desktop = getenv("XDG_CURRENT_DESKTOP");
|
||||||
qDebug() << "Current desktop: " << desktop;
|
qDebug() << "Current desktop: " << desktop;
|
||||||
|
|
||||||
|
#ifdef QT_DEBUG
|
||||||
|
QString library_path = QApplication::applicationDirPath();
|
||||||
|
#else
|
||||||
|
QString library_path = "/usr/lib/qcma";
|
||||||
|
#endif
|
||||||
|
|
||||||
if(desktop.toLower() == "kde")
|
if(desktop.toLower() == "kde")
|
||||||
{
|
{
|
||||||
// KDENotifier
|
// KDENotifier
|
||||||
QLibrary library("/usr/lib/qcma/libqcma_kdenotifier.so");
|
QLibrary library(library_path + "/libqcma_kdenotifier.so");
|
||||||
if(library.load())
|
if(library.load())
|
||||||
create_tray = reinterpret_cast<TrayFunctionPointer>(library.resolve("createTrayIndicator"));
|
create_tray = reinterpret_cast<TrayFunctionPointer>(library.resolve("createTrayIndicator"));
|
||||||
else
|
else
|
||||||
@@ -233,7 +240,7 @@ TrayIndicator *MainWidget::createTrayObject(QWidget *parent)
|
|||||||
// if(desktop.toLower() == "unity")
|
// if(desktop.toLower() == "unity")
|
||||||
{
|
{
|
||||||
// AppIndicator
|
// AppIndicator
|
||||||
QLibrary library("/usr/lib/qcma/libqcma_appindicator.so");
|
QLibrary library(library_path + "/libqcma_appindicator.so");
|
||||||
if(library.load())
|
if(library.load())
|
||||||
create_tray = reinterpret_cast<TrayFunctionPointer>(library.resolve("createTrayIndicator"));
|
create_tray = reinterpret_cast<TrayFunctionPointer>(library.resolve("createTrayIndicator"));
|
||||||
else
|
else
|
||||||
|
@@ -35,7 +35,7 @@ class TrayIndicator : public QWidget
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
virtual ~TrayIndicator() {}
|
~TrayIndicator() {}
|
||||||
virtual void init() = 0;
|
virtual void init() = 0;
|
||||||
virtual bool isVisible() = 0;
|
virtual bool isVisible() = 0;
|
||||||
virtual void setIcon(const QString &icon) = 0;
|
virtual void setIcon(const QString &icon) = 0;
|
||||||
|
Reference in New Issue
Block a user