1
0
Fork 0
forked from len0rd/rockbox

rbutil: make RbSettings a static class. (FS#10183 with improvements)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20890 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dominik Wenger 2009-05-09 16:59:14 +00:00
parent 8e63df19cb
commit 33d9cf091a
28 changed files with 395 additions and 444 deletions

View file

@ -19,6 +19,7 @@
#include <QtCore> #include <QtCore>
#include "autodetection.h" #include "autodetection.h"
#include "rbsettings.h"
#include "../ipodpatcher/ipodpatcher.h" #include "../ipodpatcher/ipodpatcher.h"
#include "../sansapatcher/sansapatcher.h" #include "../sansapatcher/sansapatcher.h"
@ -396,9 +397,9 @@ bool Autodetection::detectUsb()
// usbids holds the mapping in the form // usbids holds the mapping in the form
// ((VID<<16)|(PID)), targetname // ((VID<<16)|(PID)), targetname
// the ini file needs to hold the IDs as hex values. // the ini file needs to hold the IDs as hex values.
QMap<int, QString> usbids = settings->usbIdMap(RbSettings::MapDevice); QMap<int, QString> usbids = RbSettings::usbIdMap(RbSettings::MapDevice);
QMap<int, QString> usberror = settings->usbIdMap(RbSettings::MapError); QMap<int, QString> usberror = RbSettings::usbIdMap(RbSettings::MapError);
QMap<int, QString> usbincompat = settings->usbIdMap(RbSettings::MapIncompatible); QMap<int, QString> usbincompat = RbSettings::usbIdMap(RbSettings::MapIncompatible);
// usb pid detection // usb pid detection
QList<uint32_t> attached; QList<uint32_t> attached;

View file

@ -24,7 +24,6 @@
#define AUTODETECTION_H_ #define AUTODETECTION_H_
#include <QtCore> #include <QtCore>
#include "rbsettings.h"
class Autodetection :public QObject class Autodetection :public QObject
{ {
@ -33,8 +32,6 @@ class Autodetection :public QObject
public: public:
Autodetection(QObject* parent=0); Autodetection(QObject* parent=0);
void setSettings(RbSettings* sett) {settings = sett;}
bool detect(); bool detect();
QString getDevice() {return m_device;} QString getDevice() {return m_device;}
@ -54,7 +51,6 @@ private:
QString m_errdev; QString m_errdev;
QString m_incompat; QString m_incompat;
QList<int> m_usbconid; QList<int> m_usbconid;
RbSettings* settings;
}; };

View file

@ -59,6 +59,7 @@
#endif #endif
#include "utils.h" #include "utils.h"
#include "rbsettings.h"
/** @brief detect permission of user (only Windows at moment). /** @brief detect permission of user (only Windows at moment).
* @return enum userlevel. * @return enum userlevel.
@ -384,7 +385,7 @@ QString Detect::installedTarget(QString mountpoint)
* @param targetId the targetID to check for. if it is -1 no check is done. * @param targetId the targetID to check for. if it is -1 no check is done.
* @return string with error messages if problems occurred, empty strings if none. * @return string with error messages if problems occurred, empty strings if none.
*/ */
QString Detect::check(RbSettings* settings, bool permission) QString Detect::check(bool permission)
{ {
QString text = ""; QString text = "";
@ -401,12 +402,12 @@ QString Detect::check(RbSettings* settings, bool permission)
} }
// Check TargetId // Check TargetId
QString installed = installedTarget(settings->value(RbSettings::Mountpoint).toString()); QString installed = installedTarget(RbSettings::value(RbSettings::Mountpoint).toString());
if(!installed.isEmpty() && installed != settings->value(RbSettings::CurConfigureModel).toString()) if(!installed.isEmpty() && installed != RbSettings::value(RbSettings::CurConfigureModel).toString())
{ {
text += QObject::tr("<li>Target mismatch detected.\n" text += QObject::tr("<li>Target mismatch detected.\n"
"Installed target: %1, selected target: %2.</li>") "Installed target: %1, selected target: %2.</li>")
.arg(installed, settings->value(RbSettings::CurPlatformName).toString()); .arg(installed, RbSettings::value(RbSettings::CurPlatformName).toString());
// FIXME: replace installed by human-friendly name // FIXME: replace installed by human-friendly name
} }

View file

@ -27,7 +27,6 @@
#include <QString> #include <QString>
#include <QUrl> #include <QUrl>
#include "rbsettings.h"
class Detect class Detect
{ {
@ -49,7 +48,7 @@ public:
static QString installedVersion(QString mountpoint); static QString installedVersion(QString mountpoint);
static QString installedTarget(QString mountpoint); static QString installedTarget(QString mountpoint);
static QString check(RbSettings* settings, bool permission); static QString check(bool permission);
}; };
#endif #endif

View file

@ -19,6 +19,7 @@
#include "encoders.h" #include "encoders.h"
#include "utils.h" #include "utils.h"
#include "rbsettings.h"
/********************************************************************* /*********************************************************************
* Encoder Base * Encoder Base
@ -87,24 +88,24 @@ EncExes::EncExes(QString name,QObject *parent) : EncBase(parent)
void EncExes::generateSettings() void EncExes::generateSettings()
{ {
QString exepath =settings->subValue(m_name,RbSettings::EncoderPath).toString(); QString exepath =RbSettings::subValue(m_name,RbSettings::EncoderPath).toString();
if(exepath == "") exepath = findExecutable(m_name); if(exepath == "") exepath = findExecutable(m_name);
insertSetting(eEXEPATH,new EncTtsSetting(this,EncTtsSetting::eSTRING,"Path to Encoder:",exepath,EncTtsSetting::eBROWSEBTN)); insertSetting(eEXEPATH,new EncTtsSetting(this,EncTtsSetting::eSTRING,"Path to Encoder:",exepath,EncTtsSetting::eBROWSEBTN));
insertSetting(eEXEOPTIONS,new EncTtsSetting(this,EncTtsSetting::eSTRING,"Encoder options:",settings->subValue(m_name,RbSettings::EncoderOptions))); insertSetting(eEXEOPTIONS,new EncTtsSetting(this,EncTtsSetting::eSTRING,"Encoder options:",RbSettings::subValue(m_name,RbSettings::EncoderOptions)));
} }
void EncExes::saveSettings() void EncExes::saveSettings()
{ {
settings->setSubValue(m_name,RbSettings::EncoderPath,getSetting(eEXEPATH)->current().toString()); RbSettings::setSubValue(m_name,RbSettings::EncoderPath,getSetting(eEXEPATH)->current().toString());
settings->setSubValue(m_name,RbSettings::EncoderOptions,getSetting(eEXEOPTIONS)->current().toString()); RbSettings::setSubValue(m_name,RbSettings::EncoderOptions,getSetting(eEXEOPTIONS)->current().toString());
settings->sync(); RbSettings::sync();
} }
bool EncExes::start() bool EncExes::start()
{ {
m_EncExec = settings->subValue(m_name, RbSettings::EncoderPath).toString(); m_EncExec = RbSettings::subValue(m_name, RbSettings::EncoderPath).toString();
m_EncOpts = settings->subValue(m_name, RbSettings::EncoderOptions).toString(); m_EncOpts = RbSettings::subValue(m_name, RbSettings::EncoderOptions).toString();
m_EncTemplate = m_TemplateMap.value(m_name); m_EncTemplate = m_TemplateMap.value(m_name);
@ -136,7 +137,7 @@ bool EncExes::encode(QString input,QString output)
bool EncExes::configOk() bool EncExes::configOk()
{ {
QString path = settings->subValue(m_name, RbSettings::EncoderPath).toString(); QString path = RbSettings::subValue(m_name, RbSettings::EncoderPath).toString();
if (QFileInfo(path).exists()) if (QFileInfo(path).exists())
return true; return true;
@ -154,31 +155,31 @@ EncRbSpeex::EncRbSpeex(QObject *parent) : EncBase(parent)
void EncRbSpeex::generateSettings() void EncRbSpeex::generateSettings()
{ {
insertSetting(eVOLUME,new EncTtsSetting(this,EncTtsSetting::eDOUBLE,"Volume:",settings->subValue("rbspeex",RbSettings::EncoderVolume),1.0,10.0)); insertSetting(eVOLUME,new EncTtsSetting(this,EncTtsSetting::eDOUBLE,"Volume:",RbSettings::subValue("rbspeex",RbSettings::EncoderVolume),1.0,10.0));
insertSetting(eQUALITY,new EncTtsSetting(this,EncTtsSetting::eDOUBLE,"Quality:",settings->subValue("rbspeex",RbSettings::EncoderQuality),0,10.0)); insertSetting(eQUALITY,new EncTtsSetting(this,EncTtsSetting::eDOUBLE,"Quality:",RbSettings::subValue("rbspeex",RbSettings::EncoderQuality),0,10.0));
insertSetting(eCOMPLEXITY,new EncTtsSetting(this,EncTtsSetting::eINT,"Complexity:",settings->subValue("rbspeex",RbSettings::EncoderComplexity),0,10)); insertSetting(eCOMPLEXITY,new EncTtsSetting(this,EncTtsSetting::eINT,"Complexity:",RbSettings::subValue("rbspeex",RbSettings::EncoderComplexity),0,10));
insertSetting(eNARROWBAND,new EncTtsSetting(this,EncTtsSetting::eBOOL,"Use Narrowband:",settings->subValue("rbspeex",RbSettings::EncoderNarrowBand))); insertSetting(eNARROWBAND,new EncTtsSetting(this,EncTtsSetting::eBOOL,"Use Narrowband:",RbSettings::subValue("rbspeex",RbSettings::EncoderNarrowBand)));
} }
void EncRbSpeex::saveSettings() void EncRbSpeex::saveSettings()
{ {
//save settings in user config //save settings in user config
settings->setSubValue("rbspeex",RbSettings::EncoderVolume,getSetting(eVOLUME)->current().toDouble()); RbSettings::setSubValue("rbspeex",RbSettings::EncoderVolume,getSetting(eVOLUME)->current().toDouble());
settings->setSubValue("rbspeex",RbSettings::EncoderQuality,getSetting(eQUALITY)->current().toDouble()); RbSettings::setSubValue("rbspeex",RbSettings::EncoderQuality,getSetting(eQUALITY)->current().toDouble());
settings->setSubValue("rbspeex",RbSettings::EncoderComplexity,getSetting(eCOMPLEXITY)->current().toInt()); RbSettings::setSubValue("rbspeex",RbSettings::EncoderComplexity,getSetting(eCOMPLEXITY)->current().toInt());
settings->setSubValue("rbspeex",RbSettings::EncoderNarrowBand,getSetting(eNARROWBAND)->current().toBool()); RbSettings::setSubValue("rbspeex",RbSettings::EncoderNarrowBand,getSetting(eNARROWBAND)->current().toBool());
settings->sync(); RbSettings::sync();
} }
bool EncRbSpeex::start() bool EncRbSpeex::start()
{ {
// try to get config from settings // try to get config from settings
quality = settings->subValue("rbspeex", RbSettings::EncoderQuality).toDouble(); quality = RbSettings::subValue("rbspeex", RbSettings::EncoderQuality).toDouble();
complexity = settings->subValue("rbspeex", RbSettings::EncoderComplexity).toInt(); complexity = RbSettings::subValue("rbspeex", RbSettings::EncoderComplexity).toInt();
volume = settings->subValue("rbspeex", RbSettings::EncoderVolume).toDouble(); volume = RbSettings::subValue("rbspeex", RbSettings::EncoderVolume).toDouble();
narrowband = settings->subValue("rbspeex", RbSettings::EncoderNarrowBand).toBool(); narrowband = RbSettings::subValue("rbspeex", RbSettings::EncoderNarrowBand).toBool();
return true; return true;
@ -219,13 +220,13 @@ bool EncRbSpeex::configOk()
bool result=true; bool result=true;
// check config // check config
if(settings->subValue("rbspeex", RbSettings::EncoderVolume).toDouble() <= 0) if(RbSettings::subValue("rbspeex", RbSettings::EncoderVolume).toDouble() <= 0)
result =false; result =false;
if(settings->subValue("rbspeex", RbSettings::EncoderQuality).toDouble() <= 0) if(RbSettings::subValue("rbspeex", RbSettings::EncoderQuality).toDouble() <= 0)
result =false; result =false;
if(settings->subValue("rbspeex", RbSettings::EncoderComplexity).toInt() <= 0) if(RbSettings::subValue("rbspeex", RbSettings::EncoderComplexity).toInt() <= 0)
result =false; result =false;
return result; return result;

View file

@ -24,7 +24,6 @@
#include <QtCore> #include <QtCore>
#include "rbsettings.h"
#include "encttssettings.h" #include "encttssettings.h"
#include "rbspeex.h" #include "rbspeex.h"
@ -54,15 +53,11 @@ class EncBase : public EncTtsSettingInterface
static QString getEncoderName(QString name); static QString getEncoderName(QString name);
static EncBase* getEncoder(QObject* parent,QString name); static EncBase* getEncoder(QObject* parent,QString name);
static QStringList getEncoderList(void); static QStringList getEncoderList(void);
//set the config. users of Encoder classes, always have to call this first
void setCfg(RbSettings *sett){settings = sett;}
private: private:
static void initEncodernamesList(void); static void initEncodernamesList(void);
protected: protected:
RbSettings* settings;
static QMap<QString,QString> encoderList; static QMap<QString,QString> encoderList;
}; };

View file

@ -25,6 +25,7 @@
#include <unistd.h> #include <unistd.h>
#endif #endif
// device settings // device settings
const static struct { const static struct {
RbSettings::SystemSettings setting; RbSettings::SystemSettings setting;
@ -94,31 +95,45 @@ const static struct {
{ RbSettings::EncoderVolume, ":encoder:/volume", "1.0" }, { RbSettings::EncoderVolume, ":encoder:/volume", "1.0" },
}; };
void RbSettings::open() //! pointer to setting object to NULL
QSettings* RbSettings::systemSettings = NULL;
QSettings* RbSettings::userSettings = NULL;
void RbSettings::ensureRbSettingsExists()
{ {
// only use built-in rbutil.ini //check and create settings object
systemSettings = new QSettings(":/ini/rbutil.ini", QSettings::IniFormat, 0); if(systemSettings == NULL)
// portable installation:
// check for a configuration file in the program folder.
QFileInfo config;
config.setFile(QCoreApplication::instance()->applicationDirPath()
+ "/RockboxUtility.ini");
if(config.isFile())
{ {
userSettings = new QSettings(QCoreApplication::instance()->applicationDirPath() // only use built-in rbutil.ini
+ "/RockboxUtility.ini", QSettings::IniFormat, this); systemSettings = new QSettings(":/ini/rbutil.ini", QSettings::IniFormat, 0);
qDebug() << "config: portable";
} }
else
if(userSettings == NULL)
{ {
userSettings = new QSettings(QSettings::IniFormat, // portable installation:
QSettings::UserScope, "rockbox.org", "RockboxUtility",this); // check for a configuration file in the program folder.
qDebug() << "config: system"; QFileInfo config;
config.setFile(QCoreApplication::instance()->applicationDirPath()
+ "/RockboxUtility.ini");
if(config.isFile())
{
userSettings = new QSettings(QCoreApplication::instance()->applicationDirPath()
+ "/RockboxUtility.ini", QSettings::IniFormat, NULL);
qDebug() << "config: portable";
}
else
{
userSettings = new QSettings(QSettings::IniFormat,
QSettings::UserScope, "rockbox.org", "RockboxUtility",NULL);
qDebug() << "config: system";
}
} }
} }
void RbSettings::sync() void RbSettings::sync()
{ {
ensureRbSettingsExists();
userSettings->sync(); userSettings->sync();
#if defined(Q_OS_LINUX) #if defined(Q_OS_LINUX)
// when using sudo it runs rbutil with uid 0 but unfortunately without a // when using sudo it runs rbutil with uid 0 but unfortunately without a
@ -143,9 +158,16 @@ void RbSettings::sync()
#endif #endif
} }
QString RbSettings::userSettingFilename()
{
ensureRbSettingsExists();
return userSettings->fileName();
}
QVariant RbSettings::value(enum SystemSettings setting) QVariant RbSettings::value(enum SystemSettings setting)
{ {
ensureRbSettingsExists();
// locate setting item // locate setting item
int i = 0; int i = 0;
while(SystemSettingsList[i].setting != setting) while(SystemSettingsList[i].setting != setting)
@ -158,15 +180,16 @@ QVariant RbSettings::value(enum SystemSettings setting)
return systemSettings->value(s, d); return systemSettings->value(s, d);
} }
QVariant RbSettings::value(enum UserSettings setting)
QString RbSettings::userSettingFilename() {
{ QString empty;
return userSettings->fileName(); return subValue(empty, setting);
} }
QVariant RbSettings::subValue(QString sub, enum UserSettings setting)
QVariant RbSettings::subValue(QString& sub, enum UserSettings setting)
{ {
ensureRbSettingsExists();
// locate setting item // locate setting item
int i = 0; int i = 0;
while(UserSettingsList[i].setting != setting) while(UserSettingsList[i].setting != setting)
@ -177,9 +200,16 @@ QVariant RbSettings::subValue(QString& sub, enum UserSettings setting)
return userSettings->value(s, UserSettingsList[i].def); return userSettings->value(s, UserSettingsList[i].def);
} }
void RbSettings::setValue(enum UserSettings setting , QVariant value)
void RbSettings::setSubValue(QString& sub, enum UserSettings setting, QVariant value)
{ {
QString empty;
return setSubValue(empty, setting, value);
}
void RbSettings::setSubValue(QString sub, enum UserSettings setting, QVariant value)
{
ensureRbSettingsExists();
// locate setting item // locate setting item
int i = 0; int i = 0;
while(UserSettingsList[i].setting != setting) while(UserSettingsList[i].setting != setting)
@ -190,10 +220,10 @@ void RbSettings::setSubValue(QString& sub, enum UserSettings setting, QVariant v
userSettings->setValue(s, value); userSettings->setValue(s, value);
} }
QStringList RbSettings::platforms() QStringList RbSettings::platforms()
{ {
ensureRbSettingsExists();
QStringList result; QStringList result;
systemSettings->beginGroup("platforms"); systemSettings->beginGroup("platforms");
QStringList a = systemSettings->childKeys(); QStringList a = systemSettings->childKeys();
@ -207,6 +237,8 @@ QStringList RbSettings::platforms()
QStringList RbSettings::languages() QStringList RbSettings::languages()
{ {
ensureRbSettingsExists();
QStringList result; QStringList result;
systemSettings->beginGroup("languages"); systemSettings->beginGroup("languages");
QStringList a = systemSettings->childKeys(); QStringList a = systemSettings->childKeys();
@ -220,16 +252,20 @@ QStringList RbSettings::languages()
QString RbSettings::name(QString platform) QString RbSettings::name(QString platform)
{ {
ensureRbSettingsExists();
return systemSettings->value(platform + "/name").toString(); return systemSettings->value(platform + "/name").toString();
} }
QString RbSettings::brand(QString platform) QString RbSettings::brand(QString platform)
{ {
ensureRbSettingsExists();
return systemSettings->value(platform + "/brand").toString(); return systemSettings->value(platform + "/brand").toString();
} }
QMap<int, QString> RbSettings::usbIdMap(enum MapType type) QMap<int, QString> RbSettings::usbIdMap(enum MapType type)
{ {
ensureRbSettingsExists();
QMap<int, QString> map; QMap<int, QString> map;
// get a list of ID -> target name // get a list of ID -> target name
QStringList platforms; QStringList platforms;

View file

@ -29,23 +29,15 @@ class QSettings;
class RbSettings : public QObject class RbSettings : public QObject
{ {
Q_OBJECT Q_OBJECT
public: public:
RbSettings() {} //! Type of requested usb-id map
//! open the settings files
void open();
//! call this to flush the user Settings
void sync();
// returns the filename of the usersettings file
QString userSettingFilename();
enum MapType { enum MapType {
MapDevice, MapDevice,
MapError, MapError,
MapIncompatible, MapIncompatible,
}; };
//! All user settings
enum UserSettings { enum UserSettings {
RbutilVersion, RbutilVersion,
CurrentPlatform, CurrentPlatform,
@ -76,6 +68,8 @@ class RbSettings : public QObject
EncoderQuality, EncoderQuality,
EncoderVolume, EncoderVolume,
}; };
//! All system settings
enum SystemSettings { enum SystemSettings {
ManualUrl, ManualUrl,
BleedingUrl, BleedingUrl,
@ -103,40 +97,43 @@ class RbSettings : public QObject
CurConfigureModel, CurConfigureModel,
CurTargetId, CurTargetId,
}; };
QVariant value(enum SystemSettings setting); //! call this to flush the user Settings
// generic and "current selection" values -- getters static void sync();
QVariant value(enum UserSettings setting) //! returns the filename of the usersettings file
{ QString empty; return subValue(empty, setting); } static QString userSettingFilename();
void setValue(enum UserSettings setting , QVariant value) //! return a list of all platforms (rbutil internal names)
{ QString empty; return setSubValue(empty, setting, value); } static QStringList platforms(void);
//! returns a list of all languages
QVariant subValue(QString& sub, enum UserSettings setting); static QStringList languages(void);
QVariant subValue(const char* sub, enum UserSettings setting) //! maps a platform to its name
{ QString s = sub; return subValue(s, setting); } static QString name(QString plattform);
void setSubValue(QString& sub, enum UserSettings setting, QVariant value); //! maps a platform to its brand
void setSubValue(const char* sub, enum UserSettings setting, QVariant value) static QString brand(QString plattform);
{ QString s = sub; return setSubValue(s, setting, value); } //! returns a map of usb-ids and their targets
static QMap<int, QString> usbIdMap(enum MapType);
QStringList platforms(void); //! get a value from system settings
QStringList languages(void); static QVariant value(enum SystemSettings setting);
//! get a vaulue from user settings
QString name(QString plattform); static QVariant value(enum UserSettings setting);
QString brand(QString plattform); //! set a user setting value
static void setValue(enum UserSettings setting , QVariant value);
QMap<int, QString> usbIdMap(enum MapType); //! get a user setting from a subvalue (ie for encoders and tts engines)
static QVariant subValue(QString sub, enum UserSettings setting);
//! set a user setting from a subvalue (ie for encoders and tts engines)
static void setSubValue(QString sub, enum UserSettings setting, QVariant value);
private: private:
//! private copy constructors to prvent copying //! you shouldnt call this, its a fully static calls
RbSettings& operator= (const RbSettings& other) RbSettings() {}
{ (void)other; return *this; } //! create the setting objects if neccessary
RbSettings(const RbSettings& other) :QObject() static void ensureRbSettingsExists();
{ (void)other; } //! create a settings path, substitute platform, tts and encoder
QString constructSettingPath(QString path, QString substitute = QString()); static QString constructSettingPath(QString path, QString substitute = QString());
//! pointers to our setting objects //! pointers to our setting objects
QSettings *systemSettings; static QSettings *systemSettings;
QSettings *userSettings; static QSettings *userSettings;
}; };
#endif #endif

View file

@ -19,6 +19,7 @@
#include "tts.h" #include "tts.h"
#include "utils.h" #include "utils.h"
#include "rbsettings.h"
/********************************************************************* /*********************************************************************
* TTS Base * TTS Base
**********************************************************************/ **********************************************************************/
@ -105,24 +106,24 @@ TTSExes::TTSExes(QString name,QObject* parent) : TTSBase(parent)
void TTSExes::generateSettings() void TTSExes::generateSettings()
{ {
QString exepath =settings->subValue(m_name,RbSettings::TtsPath).toString(); QString exepath =RbSettings::subValue(m_name,RbSettings::TtsPath).toString();
if(exepath == "") exepath = findExecutable(m_name); if(exepath == "") exepath = findExecutable(m_name);
insertSetting(eEXEPATH,new EncTtsSetting(this,EncTtsSetting::eSTRING,"Path to TTS engine:",exepath,EncTtsSetting::eBROWSEBTN)); insertSetting(eEXEPATH,new EncTtsSetting(this,EncTtsSetting::eSTRING,"Path to TTS engine:",exepath,EncTtsSetting::eBROWSEBTN));
insertSetting(eOPTIONS,new EncTtsSetting(this,EncTtsSetting::eSTRING,"TTS enginge options:",settings->subValue(m_name,RbSettings::TtsOptions))); insertSetting(eOPTIONS,new EncTtsSetting(this,EncTtsSetting::eSTRING,"TTS enginge options:",RbSettings::subValue(m_name,RbSettings::TtsOptions)));
} }
void TTSExes::saveSettings() void TTSExes::saveSettings()
{ {
settings->setSubValue(m_name,RbSettings::TtsPath,getSetting(eEXEPATH)->current().toString()); RbSettings::setSubValue(m_name,RbSettings::TtsPath,getSetting(eEXEPATH)->current().toString());
settings->setSubValue(m_name,RbSettings::TtsOptions,getSetting(eOPTIONS)->current().toString()); RbSettings::setSubValue(m_name,RbSettings::TtsOptions,getSetting(eOPTIONS)->current().toString());
settings->sync(); RbSettings::sync();
} }
bool TTSExes::start(QString *errStr) bool TTSExes::start(QString *errStr)
{ {
m_TTSexec = settings->subValue(m_name,RbSettings::TtsPath).toString(); m_TTSexec = RbSettings::subValue(m_name,RbSettings::TtsPath).toString();
m_TTSOpts = settings->subValue(m_name,RbSettings::TtsOptions).toString(); m_TTSOpts = RbSettings::subValue(m_name,RbSettings::TtsOptions).toString();
m_TTSTemplate = m_TemplateMap.value(m_name); m_TTSTemplate = m_TemplateMap.value(m_name);
@ -155,7 +156,7 @@ TTSStatus TTSExes::voice(QString text,QString wavfile, QString *errStr)
bool TTSExes::configOk() bool TTSExes::configOk()
{ {
QString path = settings->subValue(m_name,RbSettings::TtsPath).toString(); QString path = RbSettings::subValue(m_name,RbSettings::TtsPath).toString();
if (QFileInfo(path).exists()) if (QFileInfo(path).exists())
return true; return true;
@ -176,31 +177,31 @@ TTSSapi::TTSSapi(QObject* parent) : TTSBase(parent)
void TTSSapi::generateSettings() void TTSSapi::generateSettings()
{ {
// language // language
QStringList languages = settings->languages(); QStringList languages = RbSettings::languages();
languages.sort(); languages.sort();
EncTtsSetting* setting =new EncTtsSetting(this,EncTtsSetting::eSTRINGLIST,"Language:",settings->subValue("sapi",RbSettings::TtsLanguage),languages); EncTtsSetting* setting =new EncTtsSetting(this,EncTtsSetting::eSTRINGLIST,"Language:",RbSettings::subValue("sapi",RbSettings::TtsLanguage),languages);
connect(setting,SIGNAL(dataChanged()),this,SLOT(updateVoiceList())); connect(setting,SIGNAL(dataChanged()),this,SLOT(updateVoiceList()));
insertSetting(eLANGUAGE,setting); insertSetting(eLANGUAGE,setting);
// voice // voice
setting = new EncTtsSetting(this,EncTtsSetting::eSTRINGLIST,"Voice:",settings->subValue("sapi",RbSettings::TtsVoice),getVoiceList(settings->subValue("sapi",RbSettings::TtsLanguage).toString()),EncTtsSetting::eREFRESHBTN); setting = new EncTtsSetting(this,EncTtsSetting::eSTRINGLIST,"Voice:",RbSettings::subValue("sapi",RbSettings::TtsVoice),getVoiceList(RbSettings::subValue("sapi",RbSettings::TtsLanguage).toString()),EncTtsSetting::eREFRESHBTN);
connect(setting,SIGNAL(refresh()),this,SLOT(updateVoiceList())); connect(setting,SIGNAL(refresh()),this,SLOT(updateVoiceList()));
insertSetting(eVOICE,setting); insertSetting(eVOICE,setting);
//speed //speed
insertSetting(eSPEED,new EncTtsSetting(this,EncTtsSetting::eINT,"Speed:",settings->subValue("sapi",RbSettings::TtsSpeed),-10,10)); insertSetting(eSPEED,new EncTtsSetting(this,EncTtsSetting::eINT,"Speed:",RbSettings::subValue("sapi",RbSettings::TtsSpeed),-10,10));
// options // options
insertSetting(eOPTIONS,new EncTtsSetting(this,EncTtsSetting::eSTRING,"Options:",settings->subValue("sapi",RbSettings::TtsOptions))); insertSetting(eOPTIONS,new EncTtsSetting(this,EncTtsSetting::eSTRING,"Options:",RbSettings::subValue("sapi",RbSettings::TtsOptions)));
} }
void TTSSapi::saveSettings() void TTSSapi::saveSettings()
{ {
//save settings in user config //save settings in user config
settings->setSubValue("sapi",RbSettings::TtsLanguage,getSetting(eLANGUAGE)->current().toString()); RbSettings::setSubValue("sapi",RbSettings::TtsLanguage,getSetting(eLANGUAGE)->current().toString());
settings->setSubValue("sapi",RbSettings::TtsVoice,getSetting(eVOICE)->current().toString()); RbSettings::setSubValue("sapi",RbSettings::TtsVoice,getSetting(eVOICE)->current().toString());
settings->setSubValue("sapi",RbSettings::TtsSpeed,getSetting(eSPEED)->current().toInt()); RbSettings::setSubValue("sapi",RbSettings::TtsSpeed,getSetting(eSPEED)->current().toInt());
settings->setSubValue("sapi",RbSettings::TtsOptions,getSetting(eOPTIONS)->current().toString()); RbSettings::setSubValue("sapi",RbSettings::TtsOptions,getSetting(eOPTIONS)->current().toString());
settings->sync(); RbSettings::sync();
} }
void TTSSapi::updateVoiceList() void TTSSapi::updateVoiceList()
@ -215,11 +216,11 @@ void TTSSapi::updateVoiceList()
bool TTSSapi::start(QString *errStr) bool TTSSapi::start(QString *errStr)
{ {
m_TTSOpts = settings->subValue("sapi",RbSettings::TtsOptions).toString(); m_TTSOpts = RbSettings::subValue("sapi",RbSettings::TtsOptions).toString();
m_TTSLanguage =settings->subValue("sapi",RbSettings::TtsLanguage).toString(); m_TTSLanguage =RbSettings::subValue("sapi",RbSettings::TtsLanguage).toString();
m_TTSVoice=settings->subValue("sapi",RbSettings::TtsVoice).toString(); m_TTSVoice=RbSettings::subValue("sapi",RbSettings::TtsVoice).toString();
m_TTSSpeed=settings->subValue("sapi",RbSettings::TtsSpeed).toString(); m_TTSSpeed=RbSettings::subValue("sapi",RbSettings::TtsSpeed).toString();
m_sapi4 = settings->subValue("sapi",RbSettings::TtsUseSapi4).toBool(); m_sapi4 = RbSettings::subValue("sapi",RbSettings::TtsUseSapi4).toBool();
QFile::remove(QDir::tempPath() +"/sapi_voice.vbs"); QFile::remove(QDir::tempPath() +"/sapi_voice.vbs");
QFile::copy(":/builtin/sapi_voice.vbs",QDir::tempPath() + "/sapi_voice.vbs"); QFile::copy(":/builtin/sapi_voice.vbs",QDir::tempPath() + "/sapi_voice.vbs");
@ -283,7 +284,7 @@ QStringList TTSSapi::getVoiceList(QString language)
execstring.replace("%exe",m_TTSexec); execstring.replace("%exe",m_TTSexec);
execstring.replace("%lang",language); execstring.replace("%lang",language);
if(settings->value(RbSettings::TtsUseSapi4).toBool()) if(RbSettings::value(RbSettings::TtsUseSapi4).toBool())
execstring.append(" /sapi4 "); execstring.append(" /sapi4 ");
qDebug() << "init" << execstring; qDebug() << "init" << execstring;
@ -348,7 +349,7 @@ bool TTSSapi::stop()
bool TTSSapi::configOk() bool TTSSapi::configOk()
{ {
if(settings->subValue("sapi",RbSettings::TtsVoice).toString().isEmpty()) if(RbSettings::subValue("sapi",RbSettings::TtsVoice).toString().isEmpty())
return false; return false;
return true; return true;
} }
@ -363,17 +364,17 @@ TTSFestival::~TTSFestival()
void TTSFestival::generateSettings() void TTSFestival::generateSettings()
{ {
// server path // server path
QString exepath = settings->subValue("festival-server",RbSettings::TtsPath).toString(); QString exepath = RbSettings::subValue("festival-server",RbSettings::TtsPath).toString();
if(exepath == "" ) exepath = findExecutable("festival"); if(exepath == "" ) exepath = findExecutable("festival");
insertSetting(eSERVERPATH,new EncTtsSetting(this,EncTtsSetting::eSTRING,"Path to Festival server:",exepath,EncTtsSetting::eBROWSEBTN)); insertSetting(eSERVERPATH,new EncTtsSetting(this,EncTtsSetting::eSTRING,"Path to Festival server:",exepath,EncTtsSetting::eBROWSEBTN));
// client path // client path
QString clientpath = settings->subValue("festival-client",RbSettings::TtsPath).toString(); QString clientpath = RbSettings::subValue("festival-client",RbSettings::TtsPath).toString();
if(clientpath == "" ) clientpath = findExecutable("festival_client"); if(clientpath == "" ) clientpath = findExecutable("festival_client");
insertSetting(eCLIENTPATH,new EncTtsSetting(this,EncTtsSetting::eSTRING,"Path to Festival client:",clientpath,EncTtsSetting::eBROWSEBTN)); insertSetting(eCLIENTPATH,new EncTtsSetting(this,EncTtsSetting::eSTRING,"Path to Festival client:",clientpath,EncTtsSetting::eBROWSEBTN));
// voice // voice
EncTtsSetting* setting = new EncTtsSetting(this,EncTtsSetting::eSTRINGLIST,"Voice:",settings->subValue("festival",RbSettings::TtsVoice),getVoiceList(exepath),EncTtsSetting::eREFRESHBTN); EncTtsSetting* setting = new EncTtsSetting(this,EncTtsSetting::eSTRINGLIST,"Voice:",RbSettings::subValue("festival",RbSettings::TtsVoice),getVoiceList(exepath),EncTtsSetting::eREFRESHBTN);
connect(setting,SIGNAL(refresh()),this,SLOT(updateVoiceList())); connect(setting,SIGNAL(refresh()),this,SLOT(updateVoiceList()));
connect(setting,SIGNAL(dataChanged()),this,SLOT(clearVoiceDescription())); connect(setting,SIGNAL(dataChanged()),this,SLOT(clearVoiceDescription()));
insertSetting(eVOICE,setting); insertSetting(eVOICE,setting);
@ -387,11 +388,11 @@ void TTSFestival::generateSettings()
void TTSFestival::saveSettings() void TTSFestival::saveSettings()
{ {
//save settings in user config //save settings in user config
settings->setSubValue("festival-server",RbSettings::TtsPath,getSetting(eSERVERPATH)->current().toString()); RbSettings::setSubValue("festival-server",RbSettings::TtsPath,getSetting(eSERVERPATH)->current().toString());
settings->setSubValue("festival-client",RbSettings::TtsPath,getSetting(eCLIENTPATH)->current().toString()); RbSettings::setSubValue("festival-client",RbSettings::TtsPath,getSetting(eCLIENTPATH)->current().toString());
settings->setSubValue("festival",RbSettings::TtsVoice,getSetting(eVOICE)->current().toString()); RbSettings::setSubValue("festival",RbSettings::TtsVoice,getSetting(eVOICE)->current().toString());
settings->sync(); RbSettings::sync();
} }
void TTSFestival::updateVoiceDescription() void TTSFestival::updateVoiceDescription()
@ -420,7 +421,7 @@ void TTSFestival::startServer(QString path)
return; return;
if(path == "") if(path == "")
path = settings->subValue("festival-server",RbSettings::TtsPath).toString(); path = RbSettings::subValue("festival-server",RbSettings::TtsPath).toString();
serverProcess.start(QString("%1 --server").arg(path)); serverProcess.start(QString("%1 --server").arg(path));
serverProcess.waitForStarted(); serverProcess.waitForStarted();
@ -444,9 +445,9 @@ bool TTSFestival::start(QString* errStr)
{ {
(void) errStr; (void) errStr;
ensureServerRunning(); ensureServerRunning();
if (!settings->subValue("festival",RbSettings::TtsVoice).toString().isEmpty()) if (!RbSettings::subValue("festival",RbSettings::TtsVoice).toString().isEmpty())
queryServer(QString("(voice.select '%1)") queryServer(QString("(voice.select '%1)")
.arg(settings->subValue("festival", RbSettings::TtsVoice).toString())); .arg(RbSettings::subValue("festival", RbSettings::TtsVoice).toString()));
return true; return true;
} }
@ -463,7 +464,7 @@ TTSStatus TTSFestival::voice(QString text, QString wavfile, QString* errStr)
{ {
qDebug() << text << "->" << wavfile; qDebug() << text << "->" << wavfile;
QString path = settings->subValue("festival-client",RbSettings::TtsPath).toString(); QString path = RbSettings::subValue("festival-client",RbSettings::TtsPath).toString();
QString cmd = QString("%1 --server localhost --otype riff --ttw --withlisp --output \"%2\" - ").arg(path).arg(wavfile); QString cmd = QString("%1 --server localhost --otype riff --ttw --withlisp --output \"%2\" - ").arg(path).arg(wavfile);
qDebug() << cmd; qDebug() << cmd;
@ -493,13 +494,13 @@ TTSStatus TTSFestival::voice(QString text, QString wavfile, QString* errStr)
bool TTSFestival::configOk() bool TTSFestival::configOk()
{ {
QString serverPath = settings->subValue("festival-server",RbSettings::TtsPath).toString(); QString serverPath = RbSettings::subValue("festival-server",RbSettings::TtsPath).toString();
QString clientPath = settings->subValue("festival-client",RbSettings::TtsVoice).toString(); QString clientPath = RbSettings::subValue("festival-client",RbSettings::TtsVoice).toString();
bool ret = QFileInfo(serverPath).isExecutable() && bool ret = QFileInfo(serverPath).isExecutable() &&
QFileInfo(clientPath).isExecutable(); QFileInfo(clientPath).isExecutable();
if(settings->subValue("festival",RbSettings::TtsVoice).toString().size() > 0 && voices.size() > 0) if(RbSettings::subValue("festival",RbSettings::TtsVoice).toString().size() > 0 && voices.size() > 0)
ret = ret && (voices.indexOf(settings->subValue("festival",RbSettings::TtsVoice).toString()) != -1); ret = ret && (voices.indexOf(RbSettings::subValue("festival",RbSettings::TtsVoice).toString()) != -1);
return ret; return ret;
} }

View file

@ -23,7 +23,6 @@
#ifndef TTS_H #ifndef TTS_H
#define TTS_H #define TTS_H
#include "rbsettings.h"
#include <QtCore> #include <QtCore>
#include <QProcess> #include <QProcess>
#include <QDateTime> #include <QDateTime>
@ -58,16 +57,12 @@ class TTSBase : public EncTtsSettingInterface
static TTSBase* getTTS(QObject* parent,QString ttsname); static TTSBase* getTTS(QObject* parent,QString ttsname);
static QStringList getTTSList(); static QStringList getTTSList();
static QString getTTSName(QString tts); static QString getTTSName(QString tts);
// sets the config. Users of TTS classes, always have to call this first
void setCfg(RbSettings* sett) { settings = sett; }
private: private:
//inits the tts List //inits the tts List
static void initTTSList(); static void initTTSList();
protected: protected:
RbSettings* settings;
static QMap<QString,QString> ttsList; static QMap<QString,QString> ttsList;
}; };

View file

@ -28,6 +28,7 @@
#include "tts.h" #include "tts.h"
#include "detect.h" #include "detect.h"
#include "encttscfggui.h" #include "encttscfggui.h"
#include "rbsettings.h"
#include <stdio.h> #include <stdio.h>
#if defined(Q_OS_WIN32) #if defined(Q_OS_WIN32)
@ -85,10 +86,10 @@ Config::Config(QWidget *parent,int index) : QDialog(parent)
connect(ui.comboTts, SIGNAL(currentIndexChanged(int)), this, SLOT(updateTtsState(int))); connect(ui.comboTts, SIGNAL(currentIndexChanged(int)), this, SLOT(updateTtsState(int)));
connect(ui.treeDevices, SIGNAL(itemSelectionChanged()), this, SLOT(updateEncState())); connect(ui.treeDevices, SIGNAL(itemSelectionChanged()), this, SLOT(updateEncState()));
setUserSettings();
setDevices();
} }
void Config::accept() void Config::accept()
{ {
qDebug() << "Config::accept()"; qDebug() << "Config::accept()";
@ -104,20 +105,20 @@ void Config::accept()
proxy.setPort(ui.proxyPort->text().toInt()); proxy.setPort(ui.proxyPort->text().toInt());
} }
settings->setValue(RbSettings::Proxy, proxy.toString()); RbSettings::setValue(RbSettings::Proxy, proxy.toString());
qDebug() << "new proxy:" << proxy; qDebug() << "new proxy:" << proxy;
// proxy type // proxy type
QString proxyType; QString proxyType;
if(ui.radioNoProxy->isChecked()) proxyType = "none"; if(ui.radioNoProxy->isChecked()) proxyType = "none";
else if(ui.radioSystemProxy->isChecked()) proxyType = "system"; else if(ui.radioSystemProxy->isChecked()) proxyType = "system";
else proxyType = "manual"; else proxyType = "manual";
settings->setValue(RbSettings::ProxyType, proxyType); RbSettings::setValue(RbSettings::ProxyType, proxyType);
// language // language
if(settings->value(RbSettings::Language).toString() != language && !language.isEmpty()) { if(RbSettings::value(RbSettings::Language).toString() != language && !language.isEmpty()) {
QMessageBox::information(this, tr("Language changed"), QMessageBox::information(this, tr("Language changed"),
tr("You need to restart the application for the changed language to take effect.")); tr("You need to restart the application for the changed language to take effect."));
settings->setValue(RbSettings::Language, language); RbSettings::setValue(RbSettings::Language, language);
} }
// mountpoint // mountpoint
@ -139,14 +140,14 @@ void Config::accept()
error = true; error = true;
} }
else { else {
settings->setValue(RbSettings::Mountpoint, QDir::fromNativeSeparators(mp)); RbSettings::setValue(RbSettings::Mountpoint, QDir::fromNativeSeparators(mp));
} }
// platform // platform
QString nplat; QString nplat;
if(ui.treeDevices->selectedItems().size() != 0) { if(ui.treeDevices->selectedItems().size() != 0) {
nplat = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString(); nplat = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString();
settings->setValue(RbSettings::Platform, nplat); RbSettings::setValue(RbSettings::Platform, nplat);
} }
else { else {
errormsg += "<li>" + tr("No player selected") + "</li>"; errormsg += "<li>" + tr("No player selected") + "</li>";
@ -161,18 +162,18 @@ void Config::accept()
error = true; error = true;
} }
else else
settings->setValue(RbSettings::CachePath, ui.cachePath->text()); RbSettings::setValue(RbSettings::CachePath, ui.cachePath->text());
} }
else // default to system temp path else // default to system temp path
settings->setValue(RbSettings::CachePath, QDir::tempPath()); RbSettings::setValue(RbSettings::CachePath, QDir::tempPath());
settings->setValue(RbSettings::CacheDisabled, ui.cacheDisable->isChecked()); RbSettings::setValue(RbSettings::CacheDisabled, ui.cacheDisable->isChecked());
settings->setValue(RbSettings::CacheOffline, ui.cacheOfflineMode->isChecked()); RbSettings::setValue(RbSettings::CacheOffline, ui.cacheOfflineMode->isChecked());
// tts settings // tts settings
int i = ui.comboTts->currentIndex(); int i = ui.comboTts->currentIndex();
settings->setValue(RbSettings::Tts, ui.comboTts->itemData(i).toString()); RbSettings::setValue(RbSettings::Tts, ui.comboTts->itemData(i).toString());
settings->setValue(RbSettings::RbutilVersion, PUREVERSION); RbSettings::setValue(RbSettings::RbutilVersion, PUREVERSION);
errormsg += "</ul>"; errormsg += "</ul>";
errormsg += tr("You need to fix the above errors before you can continue."); errormsg += tr("You need to fix the above errors before you can continue.");
@ -182,7 +183,7 @@ void Config::accept()
} }
else { else {
// sync settings // sync settings
settings->sync(); RbSettings::sync();
this->close(); this->close();
emit settingsUpdated(); emit settingsUpdated();
} }
@ -195,18 +196,10 @@ void Config::abort()
this->close(); this->close();
} }
void Config::setSettings(RbSettings* sett)
{
settings = sett;
setUserSettings();
setDevices();
}
void Config::setUserSettings() void Config::setUserSettings()
{ {
// set proxy // set proxy
proxy = settings->value(RbSettings::Proxy).toString(); proxy = RbSettings::value(RbSettings::Proxy).toString();
if(proxy.port() > 0) if(proxy.port() > 0)
ui.proxyPort->setText(QString("%1").arg(proxy.port())); ui.proxyPort->setText(QString("%1").arg(proxy.port()));
@ -215,7 +208,7 @@ void Config::setUserSettings()
ui.proxyUser->setText(proxy.userName()); ui.proxyUser->setText(proxy.userName());
ui.proxyPass->setText(proxy.password()); ui.proxyPass->setText(proxy.password());
QString proxyType = settings->value(RbSettings::ProxyType).toString(); QString proxyType = RbSettings::value(RbSettings::ProxyType).toString();
if(proxyType == "manual") ui.radioManualProxy->setChecked(true); if(proxyType == "manual") ui.radioManualProxy->setChecked(true);
else if(proxyType == "system") ui.radioSystemProxy->setChecked(true); else if(proxyType == "system") ui.radioSystemProxy->setChecked(true);
else ui.radioNoProxy->setChecked(true); else ui.radioNoProxy->setChecked(true);
@ -225,7 +218,7 @@ void Config::setUserSettings()
QString b; QString b;
// find key for lang value // find key for lang value
QMap<QString, QString>::const_iterator i = lang.constBegin(); QMap<QString, QString>::const_iterator i = lang.constBegin();
QString l = settings->value(RbSettings::Language).toString(); QString l = RbSettings::value(RbSettings::Language).toString();
if(l.isEmpty()) if(l.isEmpty())
l = QLocale::system().name(); l = QLocale::system().name();
while (i != lang.constEnd()) { while (i != lang.constEnd()) {
@ -248,15 +241,15 @@ void Config::setUserSettings()
connect(ui.listLanguages, SIGNAL(itemSelectionChanged()), this, SLOT(updateLanguage())); connect(ui.listLanguages, SIGNAL(itemSelectionChanged()), this, SLOT(updateLanguage()));
// devices tab // devices tab
ui.mountPoint->setText(QDir::toNativeSeparators(settings->value(RbSettings::Mountpoint).toString())); ui.mountPoint->setText(QDir::toNativeSeparators(RbSettings::value(RbSettings::Mountpoint).toString()));
// cache tab // cache tab
if(!QFileInfo(settings->value(RbSettings::CachePath).toString()).isDir()) if(!QFileInfo(RbSettings::value(RbSettings::CachePath).toString()).isDir())
settings->setValue(RbSettings::CachePath, QDir::tempPath()); RbSettings::setValue(RbSettings::CachePath, QDir::tempPath());
ui.cachePath->setText(QDir::toNativeSeparators(settings->value(RbSettings::CachePath).toString())); ui.cachePath->setText(QDir::toNativeSeparators(RbSettings::value(RbSettings::CachePath).toString()));
ui.cacheDisable->setChecked(settings->value(RbSettings::CacheDisabled).toBool()); ui.cacheDisable->setChecked(RbSettings::value(RbSettings::CacheDisabled).toBool());
ui.cacheOfflineMode->setChecked(settings->value(RbSettings::CacheOffline).toBool()); ui.cacheOfflineMode->setChecked(RbSettings::value(RbSettings::CacheOffline).toBool());
updateCacheInfo(settings->value(RbSettings::CachePath).toString()); updateCacheInfo(RbSettings::value(RbSettings::CachePath).toString());
} }
@ -280,20 +273,20 @@ void Config::setDevices()
// setup devices table // setup devices table
qDebug() << "Config::setDevices()"; qDebug() << "Config::setDevices()";
QStringList platformList = settings->platforms(); QStringList platformList = RbSettings::platforms();
QMap <QString, QString> manuf; QMap <QString, QString> manuf;
QMap <QString, QString> devcs; QMap <QString, QString> devcs;
for(int it = 0; it < platformList.size(); it++) for(int it = 0; it < platformList.size(); it++)
{ {
QString curname = settings->name(platformList.at(it)); QString curname = RbSettings::name(platformList.at(it));
QString curbrand = settings->brand(platformList.at(it)); QString curbrand = RbSettings::brand(platformList.at(it));
manuf.insertMulti(curbrand, platformList.at(it)); manuf.insertMulti(curbrand, platformList.at(it));
devcs.insert(platformList.at(it), curname); devcs.insert(platformList.at(it), curname);
} }
QString platform; QString platform;
platform = devcs.value(settings->value(RbSettings::Platform).toString()); platform = devcs.value(RbSettings::value(RbSettings::Platform).toString());
// set up devices table // set up devices table
ui.treeDevices->header()->hide(); ui.treeDevices->header()->hide();
@ -316,8 +309,8 @@ void Config::setDevices()
// go through platforms again for sake of order // go through platforms again for sake of order
for(int it = 0; it < platformList.size(); it++) { for(int it = 0; it < platformList.size(); it++) {
QString curname = settings->name(platformList.at(it)); QString curname = RbSettings::name(platformList.at(it));
QString curbrand = settings->brand(platformList.at(it)); QString curbrand = RbSettings::brand(platformList.at(it));
if(curbrand != brands.at(c)) continue; if(curbrand != brands.at(c)) continue;
qDebug() << "adding:" << brands.at(c) << curname; qDebug() << "adding:" << brands.at(c) << curname;
@ -346,7 +339,7 @@ void Config::setDevices()
for(int a = 0; a < ttslist.size(); a++) for(int a = 0; a < ttslist.size(); a++)
ui.comboTts->addItem(TTSBase::getTTSName(ttslist.at(a)), ttslist.at(a)); ui.comboTts->addItem(TTSBase::getTTSName(ttslist.at(a)), ttslist.at(a));
//update index of combobox //update index of combobox
int index = ui.comboTts->findData(settings->value(RbSettings::Tts).toString()); int index = ui.comboTts->findData(RbSettings::value(RbSettings::Tts).toString());
if(index < 0) index = 0; if(index < 0) index = 0;
ui.comboTts->setCurrentIndex(index); ui.comboTts->setCurrentIndex(index);
updateTtsState(index); updateTtsState(index);
@ -358,7 +351,6 @@ void Config::updateTtsState(int index)
{ {
QString ttsName = ui.comboTts->itemData(index).toString(); QString ttsName = ui.comboTts->itemData(index).toString();
TTSBase* tts = TTSBase::getTTS(this,ttsName); TTSBase* tts = TTSBase::getTTS(this,ttsName);
tts->setCfg(settings);
if(tts->configOk()) if(tts->configOk())
{ {
@ -381,14 +373,13 @@ void Config::updateEncState()
return; return;
QString devname = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString(); QString devname = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString();
QString olddevice = settings->value(RbSettings::Platform).toString(); QString olddevice = RbSettings::value(RbSettings::Platform).toString();
settings->setValue(RbSettings::Platform, devname); RbSettings::setValue(RbSettings::Platform, devname);
QString encoder = settings->value(RbSettings::CurEncoder).toString(); QString encoder = RbSettings::value(RbSettings::CurEncoder).toString();
ui.encoderName->setText(EncBase::getEncoderName(settings->value(RbSettings::CurEncoder).toString())); ui.encoderName->setText(EncBase::getEncoderName(RbSettings::value(RbSettings::CurEncoder).toString()));
settings->setValue(RbSettings::Platform, olddevice); RbSettings::setValue(RbSettings::Platform, olddevice);
EncBase* enc = EncBase::getEncoder(this,encoder); EncBase* enc = EncBase::getEncoder(this,encoder);
enc->setCfg(settings);
if(enc->configOk()) if(enc->configOk())
{ {
@ -546,7 +537,6 @@ void Config::setCache(QString c)
void Config::autodetect() void Config::autodetect()
{ {
Autodetection detector(this); Autodetection detector(this);
detector.setSettings(settings);
// disable tree during detection as "working" feedback. // disable tree during detection as "working" feedback.
// TODO: replace the tree view with a splash screen during this time. // TODO: replace the tree view with a splash screen during this time.
ui.treeDevices->setEnabled(false); ui.treeDevices->setEnabled(false);
@ -601,10 +591,10 @@ void Config::autodetect()
QString text; QString text;
// we need to set the platform here to get the brand from the // we need to set the platform here to get the brand from the
// settings object // settings object
settings->setValue(RbSettings::Platform, detector.incompatdev()); RbSettings::setValue(RbSettings::Platform, detector.incompatdev());
text = tr("Detected an unsupported %1 player variant. Sorry, " text = tr("Detected an unsupported %1 player variant. Sorry, "
"Rockbox doesn't run on your player.") "Rockbox doesn't run on your player.")
.arg(settings->value(RbSettings::CurBrand).toString()); .arg(RbSettings::value(RbSettings::CurBrand).toString());
QMessageBox::critical(this, tr("Fatal error: incompatible player found"), QMessageBox::critical(this, tr("Fatal error: incompatible player found"),
text, QMessageBox::Ok); text, QMessageBox::Ok);
@ -660,7 +650,7 @@ void Config::cacheClear()
QFile::remove(f); QFile::remove(f);
qDebug() << "removed:" << f; qDebug() << "removed:" << f;
} }
updateCacheInfo(settings->value(RbSettings::CachePath).toString()); updateCacheInfo(RbSettings::value(RbSettings::CachePath).toString());
} }
@ -669,8 +659,7 @@ void Config::configTts()
int index = ui.comboTts->currentIndex(); int index = ui.comboTts->currentIndex();
TTSBase* tts = TTSBase::getTTS(this,ui.comboTts->itemData(index).toString()); TTSBase* tts = TTSBase::getTTS(this,ui.comboTts->itemData(index).toString());
tts->setCfg(settings); EncTtsCfgGui gui(this,tts,TTSBase::getTTSName(RbSettings::value(RbSettings::Tts).toString()));
EncTtsCfgGui gui(this,tts,TTSBase::getTTSName(settings->value(RbSettings::Tts).toString()));
gui.exec(); gui.exec();
updateTtsState(ui.comboTts->currentIndex()); updateTtsState(ui.comboTts->currentIndex());
} }
@ -685,16 +674,15 @@ void Config::configEnc()
return; return;
QString devname = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString(); QString devname = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString();
QString olddevice = settings->value(RbSettings::CurrentPlatform).toString(); QString olddevice = RbSettings::value(RbSettings::CurrentPlatform).toString();
settings->setValue(RbSettings::CurrentPlatform,devname); RbSettings::setValue(RbSettings::CurrentPlatform,devname);
QString encoder = settings->value(RbSettings::CurEncoder).toString(); QString encoder = RbSettings::value(RbSettings::CurEncoder).toString();
ui.encoderName->setText(EncBase::getEncoderName(settings->value(RbSettings::CurEncoder).toString())); ui.encoderName->setText(EncBase::getEncoderName(RbSettings::value(RbSettings::CurEncoder).toString()));
settings->setValue(RbSettings::CurrentPlatform,olddevice); RbSettings::setValue(RbSettings::CurrentPlatform,olddevice);
EncBase* enc = EncBase::getEncoder(this,encoder); EncBase* enc = EncBase::getEncoder(this,encoder);
enc->setCfg(settings);
EncTtsCfgGui gui(this,enc,EncBase::getEncoderName(encoder)); EncTtsCfgGui gui(this,enc,EncBase::getEncoderName(encoder));
gui.exec(); gui.exec();

View file

@ -24,7 +24,6 @@
#include "ui_configurefrm.h" #include "ui_configurefrm.h"
#include "browsedirtree.h" #include "browsedirtree.h"
#include "rbsettings.h"
#include <QtGui> #include <QtGui>
class Config : public QDialog class Config : public QDialog
@ -32,7 +31,6 @@ class Config : public QDialog
Q_OBJECT Q_OBJECT
public: public:
Config(QWidget *parent = 0,int index=0); Config(QWidget *parent = 0,int index=0);
void setSettings(RbSettings* sett);
signals: signals:
void settingsUpdated(void); void settingsUpdated(void);
@ -46,8 +44,7 @@ class Config : public QDialog
void setDevices(); void setDevices();
Ui::ConfigForm ui; Ui::ConfigForm ui;
RbSettings* settings;
QStringList findLanguageFiles(void); QStringList findLanguageFiles(void);
QString languageName(const QString&); QString languageName(const QString&);
QMap<QString, QString> lang; QMap<QString, QString> lang;

View file

@ -22,6 +22,7 @@
#include "browsedirtree.h" #include "browsedirtree.h"
#include "configure.h" #include "configure.h"
#include "rbsettings.h"
CreateVoiceWindow::CreateVoiceWindow(QWidget *parent) : QDialog(parent) CreateVoiceWindow::CreateVoiceWindow(QWidget *parent) : QDialog(parent)
{ {
@ -34,7 +35,6 @@ CreateVoiceWindow::CreateVoiceWindow(QWidget *parent) : QDialog(parent)
void CreateVoiceWindow::change() void CreateVoiceWindow::change()
{ {
Config *cw = new Config(this,4); Config *cw = new Config(this,4);
cw->setSettings(settings);
connect(cw, SIGNAL(settingsUpdated()), this, SLOT(updateSettings())); connect(cw, SIGNAL(settingsUpdated()), this, SLOT(updateSettings()));
cw->show(); cw->show();
} }
@ -49,14 +49,13 @@ void CreateVoiceWindow::accept()
int wvThreshold = ui.wavtrimthreshold->value(); int wvThreshold = ui.wavtrimthreshold->value();
//safe selected language //safe selected language
settings->setValue(RbSettings::Language, lang); RbSettings::setValue(RbSettings::Language, lang);
settings->setValue(RbSettings::WavtrimThreshold, wvThreshold); RbSettings::setValue(RbSettings::WavtrimThreshold, wvThreshold);
settings->sync(); RbSettings::sync();
//configure voicecreator //configure voicecreator
voicecreator->setSettings(settings); voicecreator->setMountPoint(RbSettings::value(RbSettings::Mountpoint).toString());
voicecreator->setMountPoint(settings->value(RbSettings::Mountpoint).toString()); voicecreator->setTargetId(RbSettings::value(RbSettings::CurTargetId).toInt());
voicecreator->setTargetId(settings->value(RbSettings::CurTargetId).toInt());
voicecreator->setLang(lang); voicecreator->setLang(lang);
voicecreator->setWavtrimThreshold(wvThreshold); voicecreator->setWavtrimThreshold(wvThreshold);
@ -65,28 +64,19 @@ void CreateVoiceWindow::accept()
} }
/** @brief set settings object
*/
void CreateVoiceWindow::setSettings(RbSettings* sett)
{
settings = sett;
updateSettings();
}
/** @brief update displayed settings /** @brief update displayed settings
*/ */
void CreateVoiceWindow::updateSettings(void) void CreateVoiceWindow::updateSettings(void)
{ {
// fill in language combobox // fill in language combobox
QStringList languages = settings->languages(); QStringList languages = RbSettings::languages();
languages.sort(); languages.sort();
ui.comboLanguage->addItems(languages); ui.comboLanguage->addItems(languages);
// set saved lang // set saved lang
int sel = ui.comboLanguage->findText(settings->value(RbSettings::VoiceLanguage).toString()); int sel = ui.comboLanguage->findText(RbSettings::value(RbSettings::VoiceLanguage).toString());
// if no saved language is found try to figure the language from the UI lang // if no saved language is found try to figure the language from the UI lang
if(sel == -1) { if(sel == -1) {
QString f = settings->value(RbSettings::Language).toString(); QString f = RbSettings::value(RbSettings::Language).toString();
// if no language is set default to english. Make sure not to check an empty string. // if no language is set default to english. Make sure not to check an empty string.
if(f.isEmpty()) f = "english"; if(f.isEmpty()) f = "english";
sel = ui.comboLanguage->findText(f, Qt::MatchStartsWith); sel = ui.comboLanguage->findText(f, Qt::MatchStartsWith);
@ -97,9 +87,8 @@ void CreateVoiceWindow::updateSettings(void)
} }
ui.comboLanguage->setCurrentIndex(sel); ui.comboLanguage->setCurrentIndex(sel);
QString ttsName = settings->value(RbSettings::Tts).toString(); QString ttsName = RbSettings::value(RbSettings::Tts).toString();
TTSBase* tts = TTSBase::getTTS(this,ttsName); TTSBase* tts = TTSBase::getTTS(this,ttsName);
tts->setCfg(settings);
if(tts->configOk()) if(tts->configOk())
ui.labelTtsProfile->setText(tr("Selected TTS engine: <b>%1</b>") ui.labelTtsProfile->setText(tr("Selected TTS engine: <b>%1</b>")
.arg(TTSBase::getTTSName(ttsName))); .arg(TTSBase::getTTSName(ttsName)));
@ -107,11 +96,10 @@ void CreateVoiceWindow::updateSettings(void)
ui.labelTtsProfile->setText(tr("Selected TTS engine: <b>%1</b>") ui.labelTtsProfile->setText(tr("Selected TTS engine: <b>%1</b>")
.arg("Invalid TTS configuration!")); .arg("Invalid TTS configuration!"));
QString encoder = settings->value(RbSettings::CurEncoder).toString(); QString encoder = RbSettings::value(RbSettings::CurEncoder).toString();
// only proceed if encoder setting is set // only proceed if encoder setting is set
EncBase* enc = EncBase::getEncoder(this,encoder); EncBase* enc = EncBase::getEncoder(this,encoder);
if(enc != NULL) { if(enc != NULL) {
enc->setCfg(settings);
if(enc->configOk()) if(enc->configOk())
ui.labelEncProfile->setText(tr("Selected encoder: <b>%1</b>") ui.labelEncProfile->setText(tr("Selected encoder: <b>%1</b>")
.arg(EncBase::getEncoderName(encoder))); .arg(EncBase::getEncoderName(encoder)));
@ -122,7 +110,7 @@ void CreateVoiceWindow::updateSettings(void)
else else
ui.labelEncProfile->setText(tr("Selected encoder: <b>%1</b>") ui.labelEncProfile->setText(tr("Selected encoder: <b>%1</b>")
.arg("Invalid encoder configuration!")); .arg("Invalid encoder configuration!"));
ui.wavtrimthreshold->setValue(settings->value(RbSettings::WavtrimThreshold).toInt()); ui.wavtrimthreshold->setValue(RbSettings::value(RbSettings::WavtrimThreshold).toInt());
emit settingsUpdated(); emit settingsUpdated();
} }

View file

@ -27,14 +27,13 @@
#include "ui_createvoicefrm.h" #include "ui_createvoicefrm.h"
#include "progressloggergui.h" #include "progressloggergui.h"
#include "voicefile.h" #include "voicefile.h"
#include "rbsettings.h"
class CreateVoiceWindow : public QDialog class CreateVoiceWindow : public QDialog
{ {
Q_OBJECT Q_OBJECT
public: public:
CreateVoiceWindow(QWidget *parent); CreateVoiceWindow(QWidget *parent);
void setSettings(RbSettings* sett);
void setProxy(QUrl proxy){m_proxy = proxy;} void setProxy(QUrl proxy){m_proxy = proxy;}
public slots: public slots:
@ -49,7 +48,6 @@ class CreateVoiceWindow : public QDialog
VoiceFileCreator* voicecreator; VoiceFileCreator* voicecreator;
Ui::CreateVoiceFrm ui; Ui::CreateVoiceFrm ui;
ProgressLoggerGui* logger; ProgressLoggerGui* logger;
RbSettings* settings;
QUrl m_proxy; QUrl m_proxy;
}; };

View file

@ -21,10 +21,10 @@
#include "ui_installfrm.h" #include "ui_installfrm.h"
#include "rbzip.h" #include "rbzip.h"
#include "detect.h" #include "detect.h"
#include "rbsettings.h"
Install::Install(RbSettings *sett,QWidget *parent) : QDialog(parent) Install::Install(QWidget *parent) : QDialog(parent)
{ {
settings = sett;
ui.setupUi(this); ui.setupUi(this);
connect(ui.radioStable, SIGNAL(toggled(bool)), this, SLOT(setDetailsStable(bool))); connect(ui.radioStable, SIGNAL(toggled(bool)), this, SLOT(setDetailsStable(bool)));
@ -34,12 +34,12 @@ Install::Install(RbSettings *sett,QWidget *parent) : QDialog(parent)
connect(ui.backup, SIGNAL(stateChanged(int)), this, SLOT(backupCheckboxChanged(int))); connect(ui.backup, SIGNAL(stateChanged(int)), this, SLOT(backupCheckboxChanged(int)));
//! check if rockbox is already installed //! check if rockbox is already installed
QString version = Detect::installedVersion(settings->value(RbSettings::Mountpoint).toString()); QString version = Detect::installedVersion(RbSettings::value(RbSettings::Mountpoint).toString());
if(version != "") if(version != "")
{ {
ui.Backupgroup->show(); ui.Backupgroup->show();
m_backupName = settings->value(RbSettings::Mountpoint).toString(); m_backupName = RbSettings::value(RbSettings::Mountpoint).toString();
if(!m_backupName.endsWith("/")) m_backupName += "/"; if(!m_backupName.endsWith("/")) m_backupName += "/";
m_backupName += ".backup/rockbox-backup-"+version+".zip"; m_backupName += ".backup/rockbox-backup-"+version+".zip";
// for some reason the label doesn't return its final size yet. // for some reason the label doesn't return its final size yet.
@ -91,8 +91,8 @@ void Install::accept()
{ {
logger = new ProgressLoggerGui(this); logger = new ProgressLoggerGui(this);
logger->show(); logger->show();
QString mountPoint = settings->value(RbSettings::Mountpoint).toString(); QString mountPoint = RbSettings::value(RbSettings::Mountpoint).toString();
qDebug() << "mountpoint:" << settings->value(RbSettings::Mountpoint).toString(); qDebug() << "mountpoint:" << RbSettings::value(RbSettings::Mountpoint).toString();
// show dialog with error if mount point is wrong // show dialog with error if mount point is wrong
if(!QFileInfo(mountPoint).isDir()) { if(!QFileInfo(mountPoint).isDir()) {
logger->addItem(tr("Mount point is wrong!"),LOGERROR); logger->addItem(tr("Mount point is wrong!"),LOGERROR);
@ -101,39 +101,39 @@ void Install::accept()
} }
QString myversion; QString myversion;
QString buildname = settings->value(RbSettings::CurBuildserverModel).toString(); QString buildname = RbSettings::value(RbSettings::CurBuildserverModel).toString();
if(ui.radioStable->isChecked()) { if(ui.radioStable->isChecked()) {
file = QString("%1/%2/rockbox-%3-%4.zip") file = QString("%1/%2/rockbox-%3-%4.zip")
.arg(settings->value(RbSettings::ReleaseUrl).toString(), version.value("rel_rev"), .arg(RbSettings::value(RbSettings::ReleaseUrl).toString(), version.value("rel_rev"),
buildname, version.value("rel_rev")); buildname, version.value("rel_rev"));
fileName = QString("rockbox-%1-%2.zip") fileName = QString("rockbox-%1-%2.zip")
.arg(version.value("rel_rev"), buildname); .arg(version.value("rel_rev"), buildname);
settings->setValue(RbSettings::Build, "stable"); RbSettings::setValue(RbSettings::Build, "stable");
myversion = version.value("rel_rev"); myversion = version.value("rel_rev");
} }
else if(ui.radioArchived->isChecked()) { else if(ui.radioArchived->isChecked()) {
file = QString("%1%2/rockbox-%3-%4.zip") file = QString("%1%2/rockbox-%3-%4.zip")
.arg(settings->value(RbSettings::DailyUrl).toString(), .arg(RbSettings::value(RbSettings::DailyUrl).toString(),
buildname, buildname, version.value("arch_date")); buildname, buildname, version.value("arch_date"));
fileName = QString("rockbox-%1-%2.zip") fileName = QString("rockbox-%1-%2.zip")
.arg(buildname, version.value("arch_date")); .arg(buildname, version.value("arch_date"));
settings->setValue(RbSettings::Build, "archived"); RbSettings::setValue(RbSettings::Build, "archived");
myversion = "r" + version.value("arch_rev") + "-" + version.value("arch_date"); myversion = "r" + version.value("arch_rev") + "-" + version.value("arch_date");
} }
else if(ui.radioCurrent->isChecked()) { else if(ui.radioCurrent->isChecked()) {
file = QString("%1%2/rockbox.zip") file = QString("%1%2/rockbox.zip")
.arg(settings->value(RbSettings::BleedingUrl).toString(), buildname); .arg(RbSettings::value(RbSettings::BleedingUrl).toString(), buildname);
fileName = QString("rockbox.zip"); fileName = QString("rockbox.zip");
settings->setValue(RbSettings::Build, "current"); RbSettings::setValue(RbSettings::Build, "current");
myversion = "r" + version.value("bleed_rev"); myversion = "r" + version.value("bleed_rev");
} }
else { else {
qDebug() << "no build selected -- this shouldn't happen"; qDebug() << "no build selected -- this shouldn't happen";
return; return;
} }
settings->sync(); RbSettings::sync();
QString warning = Detect::check(settings, false); QString warning = Detect::check(false);
if(!warning.isEmpty()) if(!warning.isEmpty())
{ {
if(QMessageBox::warning(this, tr("Really continue?"), warning, if(QMessageBox::warning(this, tr("Really continue?"), warning,
@ -163,7 +163,7 @@ void Install::accept()
RbZip backup; RbZip backup;
connect(&backup,SIGNAL(zipProgress(int,int)),logger,SLOT(setProgress(int,int))); connect(&backup,SIGNAL(zipProgress(int,int)),logger,SLOT(setProgress(int,int)));
if(backup.createZip(m_backupName, if(backup.createZip(m_backupName,
settings->value(RbSettings::Mountpoint).toString() + "/.rockbox") == Zip::Ok) RbSettings::value(RbSettings::Mountpoint).toString() + "/.rockbox") == Zip::Ok)
{ {
logger->addItem(tr("Backup successful"),LOGOK); logger->addItem(tr("Backup successful"),LOGOK);
} }
@ -179,7 +179,7 @@ void Install::accept()
installer = new ZipInstaller(this); installer = new ZipInstaller(this);
installer->setUrl(file); installer->setUrl(file);
installer->setLogSection("Rockbox (Base)"); installer->setLogSection("Rockbox (Base)");
if(!settings->value(RbSettings::CacheDisabled).toBool() if(!RbSettings::value(RbSettings::CacheDisabled).toBool()
&& !ui.checkBoxCache->isChecked()) && !ui.checkBoxCache->isChecked())
{ {
installer->setCache(true); installer->setCache(true);
@ -223,9 +223,9 @@ void Install::done(bool error)
// no error, close the window, when the logger is closed // no error, close the window, when the logger is closed
connect(logger,SIGNAL(closed()),this,SLOT(close())); connect(logger,SIGNAL(closed()),this,SLOT(close()));
// add platform info to log file for later detection // add platform info to log file for later detection
QSettings installlog(settings->value(RbSettings::Mountpoint).toString() QSettings installlog(RbSettings::value(RbSettings::Mountpoint).toString()
+ "/.rockbox/rbutil.log", QSettings::IniFormat, 0); + "/.rockbox/rbutil.log", QSettings::IniFormat, 0);
installlog.setValue("platform", settings->value(RbSettings::Platform).toString()); installlog.setValue("platform", RbSettings::value(RbSettings::Platform).toString());
installlog.sync(); installlog.sync();
} }
@ -293,12 +293,12 @@ void Install::setVersionStrings(QMap<QString, QString>& ver)
// try to use the old selection first. If no selection has been made // try to use the old selection first. If no selection has been made
// in the past, use a preselection based on released status. // in the past, use a preselection based on released status.
if(settings->value(RbSettings::Build).toString() == "stable" if(RbSettings::value(RbSettings::Build).toString() == "stable"
&& !version.value("rel_rev").isEmpty()) && !version.value("rel_rev").isEmpty())
ui.radioStable->setChecked(true); ui.radioStable->setChecked(true);
else if(settings->value(RbSettings::Build).toString() == "archived") else if(RbSettings::value(RbSettings::Build).toString() == "archived")
ui.radioArchived->setChecked(true); ui.radioArchived->setChecked(true);
else if(settings->value(RbSettings::Build).toString() == "current") else if(RbSettings::value(RbSettings::Build).toString() == "current")
ui.radioCurrent->setChecked(true); ui.radioCurrent->setChecked(true);
else if(!version.value("rel_rev").isEmpty()) { else if(!version.value("rel_rev").isEmpty()) {
ui.radioStable->setChecked(true); ui.radioStable->setChecked(true);

View file

@ -27,13 +27,12 @@
#include "ui_installfrm.h" #include "ui_installfrm.h"
#include "zipinstaller.h" #include "zipinstaller.h"
#include "progressloggergui.h" #include "progressloggergui.h"
#include "rbsettings.h"
class Install : public QDialog class Install : public QDialog
{ {
Q_OBJECT Q_OBJECT
public: public:
Install(RbSettings* sett,QWidget *parent = 0); Install(QWidget *parent);
void setVersionStrings(QMap<QString, QString>&); void setVersionStrings(QMap<QString, QString>&);
public slots: public slots:
@ -42,7 +41,6 @@ class Install : public QDialog
private: private:
Ui::InstallFrm ui; Ui::InstallFrm ui;
ProgressLoggerGui* logger; ProgressLoggerGui* logger;
RbSettings* settings;
QHttp *download; QHttp *download;
QFile *target; QFile *target;
QString file; QString file;

View file

@ -22,6 +22,7 @@
#include "browsedirtree.h" #include "browsedirtree.h"
#include "configure.h" #include "configure.h"
#include "rbsettings.h"
InstallTalkWindow::InstallTalkWindow(QWidget *parent) : QDialog(parent) InstallTalkWindow::InstallTalkWindow(QWidget *parent) : QDialog(parent)
{ {
@ -34,6 +35,8 @@ InstallTalkWindow::InstallTalkWindow(QWidget *parent) : QDialog(parent)
ui.recursive->setChecked(true); ui.recursive->setChecked(true);
ui.OverwriteTalk->setChecked(true); ui.OverwriteTalk->setChecked(true);
ui.StripExtensions->setChecked(true); ui.StripExtensions->setChecked(true);
updateSettings();
} }
void InstallTalkWindow::browseFolder() void InstallTalkWindow::browseFolder()
@ -64,7 +67,6 @@ void InstallTalkWindow::setTalkFolder(QString folder)
void InstallTalkWindow::change() void InstallTalkWindow::change()
{ {
Config *cw = new Config(this,4); Config *cw = new Config(this,4);
cw->setSettings(settings);
connect(cw, SIGNAL(settingsUpdated()), this, SLOT(updateSettings())); connect(cw, SIGNAL(settingsUpdated()), this, SLOT(updateSettings()));
@ -88,13 +90,12 @@ void InstallTalkWindow::accept()
return; return;
} }
settings->setValue(RbSettings::LastTalkedFolder, folderToTalk); RbSettings::setValue(RbSettings::LastTalkedFolder, folderToTalk);
settings->sync(); RbSettings::sync();
talkcreator->setSettings(settings);
talkcreator->setDir(QDir(folderToTalk)); talkcreator->setDir(QDir(folderToTalk));
talkcreator->setMountPoint(settings->value(RbSettings::Mountpoint).toString()); talkcreator->setMountPoint(RbSettings::value(RbSettings::Mountpoint).toString());
talkcreator->setOverwriteTalk(ui.OverwriteTalk->isChecked()); talkcreator->setOverwriteTalk(ui.OverwriteTalk->isChecked());
talkcreator->setRecursive(ui.recursive->isChecked()); talkcreator->setRecursive(ui.recursive->isChecked());
@ -106,18 +107,10 @@ void InstallTalkWindow::accept()
} }
void InstallTalkWindow::setSettings(RbSettings* sett)
{
settings = sett;
updateSettings();
}
void InstallTalkWindow::updateSettings(void) void InstallTalkWindow::updateSettings(void)
{ {
QString ttsName = settings->value(RbSettings::Tts).toString(); QString ttsName = RbSettings::value(RbSettings::Tts).toString();
TTSBase* tts = TTSBase::getTTS(this,ttsName); TTSBase* tts = TTSBase::getTTS(this,ttsName);
tts->setCfg(settings);
if(tts->configOk()) if(tts->configOk())
ui.labelTtsProfile->setText(tr("Selected TTS engine: <b>%1</b>") ui.labelTtsProfile->setText(tr("Selected TTS engine: <b>%1</b>")
.arg(TTSBase::getTTSName(ttsName))); .arg(TTSBase::getTTSName(ttsName)));
@ -125,10 +118,9 @@ void InstallTalkWindow::updateSettings(void)
ui.labelTtsProfile->setText(tr("Selected TTS engine: <b>%1</b>") ui.labelTtsProfile->setText(tr("Selected TTS engine: <b>%1</b>")
.arg("Invalid TTS configuration!")); .arg("Invalid TTS configuration!"));
QString encoder = settings->value(RbSettings::CurEncoder).toString(); QString encoder = RbSettings::value(RbSettings::CurEncoder).toString();
EncBase* enc = EncBase::getEncoder(this,encoder); EncBase* enc = EncBase::getEncoder(this,encoder);
if(enc != NULL) { if(enc != NULL) {
enc->setCfg(settings);
if(enc->configOk()) if(enc->configOk())
ui.labelEncProfile->setText(tr("Selected encoder: <b>%1</b>") ui.labelEncProfile->setText(tr("Selected encoder: <b>%1</b>")
.arg(EncBase::getEncoderName(encoder))); .arg(EncBase::getEncoderName(encoder)));
@ -140,7 +132,7 @@ void InstallTalkWindow::updateSettings(void)
ui.labelEncProfile->setText(tr("Selected encoder: <b>%1</b>") ui.labelEncProfile->setText(tr("Selected encoder: <b>%1</b>")
.arg("Invalid encoder configuration!")); .arg("Invalid encoder configuration!"));
setTalkFolder(settings->value(RbSettings::LastTalkedFolder).toString()); setTalkFolder(RbSettings::value(RbSettings::LastTalkedFolder).toString());
emit settingsUpdated(); emit settingsUpdated();
} }

View file

@ -27,15 +27,13 @@
#include "ui_installtalkfrm.h" #include "ui_installtalkfrm.h"
#include "progressloggergui.h" #include "progressloggergui.h"
#include "talkfile.h" #include "talkfile.h"
#include "rbsettings.h"
class InstallTalkWindow : public QDialog class InstallTalkWindow : public QDialog
{ {
Q_OBJECT Q_OBJECT
public: public:
InstallTalkWindow(QWidget *parent = 0); InstallTalkWindow(QWidget *parent = 0);
void setSettings(RbSettings* sett);
public slots: public slots:
void accept(void); void accept(void);
void change(void); void change(void);
@ -52,8 +50,6 @@ class InstallTalkWindow : public QDialog
TalkFileCreator* talkcreator; TalkFileCreator* talkcreator;
Ui::InstallTalkFrm ui; Ui::InstallTalkFrm ui;
ProgressLoggerGui* logger; ProgressLoggerGui* logger;
RbSettings* settings;
}; };
#endif #endif

View file

@ -34,6 +34,7 @@
#include "rbzip.h" #include "rbzip.h"
#include "sysinfo.h" #include "sysinfo.h"
#include "detect.h" #include "detect.h"
#include "rbsettings.h"
#include "progressloggerinterface.h" #include "progressloggerinterface.h"
@ -60,8 +61,6 @@ RbUtilQt::RbUtilQt(QWidget *parent) : QMainWindow(parent)
{ {
absolutePath = qApp->applicationDirPath(); absolutePath = qApp->applicationDirPath();
settings = new RbSettings();
settings->open();
HttpGet::setGlobalUserAgent("rbutil/"VERSION); HttpGet::setGlobalUserAgent("rbutil/"VERSION);
// init startup & autodetection // init startup & autodetection
ui.setupUi(this); ui.setupUi(this);
@ -154,13 +153,13 @@ void RbUtilQt::downloadInfo()
connect(daily, SIGNAL(done(bool)), this, SLOT(downloadDone(bool))); connect(daily, SIGNAL(done(bool)), this, SLOT(downloadDone(bool)));
connect(daily, SIGNAL(requestFinished(int, bool)), this, SLOT(downloadDone(int, bool))); connect(daily, SIGNAL(requestFinished(int, bool)), this, SLOT(downloadDone(int, bool)));
connect(qApp, SIGNAL(lastWindowClosed()), daily, SLOT(abort())); connect(qApp, SIGNAL(lastWindowClosed()), daily, SLOT(abort()));
if(settings->value(RbSettings::CacheOffline).toBool()) if(RbSettings::value(RbSettings::CacheOffline).toBool())
daily->setCache(true); daily->setCache(true);
else else
daily->setCache(false); daily->setCache(false);
qDebug() << "downloading build info"; qDebug() << "downloading build info";
daily->setFile(&buildInfo); daily->setFile(&buildInfo);
daily->getFile(QUrl(settings->value(RbSettings::ServerConfUrl).toString())); daily->getFile(QUrl(RbSettings::value(RbSettings::ServerConfUrl).toString()));
} }
@ -181,7 +180,7 @@ void RbUtilQt::downloadDone(bool error)
versmap.insert("arch_date", info.value("dailies/date").toString()); versmap.insert("arch_date", info.value("dailies/date").toString());
info.beginGroup("release"); info.beginGroup("release");
versmap.insert("rel_rev", info.value(settings->value(RbSettings::CurBuildserverModel).toString()).toString()); versmap.insert("rel_rev", info.value(RbSettings::value(RbSettings::CurBuildserverModel).toString()).toString());
info.endGroup(); info.endGroup();
if(versmap.value("rel_rev").isEmpty()) { if(versmap.value("rel_rev").isEmpty()) {
@ -197,12 +196,12 @@ void RbUtilQt::downloadDone(bool error)
connect(bleeding, SIGNAL(done(bool)), this, SLOT(downloadBleedingDone(bool))); connect(bleeding, SIGNAL(done(bool)), this, SLOT(downloadBleedingDone(bool)));
connect(bleeding, SIGNAL(requestFinished(int, bool)), this, SLOT(downloadDone(int, bool))); connect(bleeding, SIGNAL(requestFinished(int, bool)), this, SLOT(downloadDone(int, bool)));
connect(qApp, SIGNAL(lastWindowClosed()), daily, SLOT(abort())); connect(qApp, SIGNAL(lastWindowClosed()), daily, SLOT(abort()));
if(settings->value(RbSettings::CacheOffline).toBool()) if(RbSettings::value(RbSettings::CacheOffline).toBool())
bleeding->setCache(true); bleeding->setCache(true);
bleeding->setFile(&bleedingInfo); bleeding->setFile(&bleedingInfo);
bleeding->getFile(QUrl(settings->value(RbSettings::BleedingInfo).toString())); bleeding->getFile(QUrl(RbSettings::value(RbSettings::BleedingInfo).toString()));
if(settings->value(RbSettings::RbutilVersion) != PUREVERSION) { if(RbSettings::value(RbSettings::RbutilVersion) != PUREVERSION) {
QApplication::processEvents(); QApplication::processEvents();
QMessageBox::information(this, tr("New installation"), QMessageBox::information(this, tr("New installation"),
tr("This is a new installation of Rockbox Utility, or a new version. " tr("This is a new installation of Rockbox Utility, or a new version. "
@ -291,7 +290,6 @@ void RbUtilQt::help()
void RbUtilQt::configDialog() void RbUtilQt::configDialog()
{ {
Config *cw = new Config(this); Config *cw = new Config(this);
cw->setSettings(settings);
connect(cw, SIGNAL(settingsUpdated()), this, SLOT(updateSettings())); connect(cw, SIGNAL(settingsUpdated()), this, SLOT(updateSettings()));
connect(cw, SIGNAL(settingsUpdated()), this, SLOT(downloadInfo())); connect(cw, SIGNAL(settingsUpdated()), this, SLOT(downloadInfo()));
cw->show(); cw->show();
@ -303,23 +301,23 @@ void RbUtilQt::updateSettings()
qDebug() << "updateSettings()"; qDebug() << "updateSettings()";
updateDevice(); updateDevice();
updateManual(); updateManual();
if(settings->value(RbSettings::ProxyType) == "system") { if(RbSettings::value(RbSettings::ProxyType) == "system") {
HttpGet::setGlobalProxy(Detect::systemProxy()); HttpGet::setGlobalProxy(Detect::systemProxy());
} }
else if(settings->value(RbSettings::ProxyType) == "manual") { else if(RbSettings::value(RbSettings::ProxyType) == "manual") {
HttpGet::setGlobalProxy(settings->value(RbSettings::Proxy).toString()); HttpGet::setGlobalProxy(RbSettings::value(RbSettings::Proxy).toString());
} }
else { else {
HttpGet::setGlobalProxy(QUrl("")); HttpGet::setGlobalProxy(QUrl(""));
} }
HttpGet::setGlobalCache(settings->value(RbSettings::CachePath).toString()); HttpGet::setGlobalCache(RbSettings::value(RbSettings::CachePath).toString());
HttpGet::setGlobalDumbCache(settings->value(RbSettings::CacheOffline).toBool()); HttpGet::setGlobalDumbCache(RbSettings::value(RbSettings::CacheOffline).toBool());
} }
void RbUtilQt::updateDevice() void RbUtilQt::updateDevice()
{ {
if(settings->value(RbSettings::CurBootloaderMethod) == "none" ) { if(RbSettings::value(RbSettings::CurBootloaderMethod) == "none" ) {
ui.buttonBootloader->setEnabled(false); ui.buttonBootloader->setEnabled(false);
ui.buttonRemoveBootloader->setEnabled(false); ui.buttonRemoveBootloader->setEnabled(false);
ui.labelBootloader->setEnabled(false); ui.labelBootloader->setEnabled(false);
@ -328,7 +326,7 @@ void RbUtilQt::updateDevice()
else { else {
ui.buttonBootloader->setEnabled(true); ui.buttonBootloader->setEnabled(true);
ui.labelBootloader->setEnabled(true); ui.labelBootloader->setEnabled(true);
if(settings->value(RbSettings::CurBootloaderMethod) == "fwpatcher") { if(RbSettings::value(RbSettings::CurBootloaderMethod) == "fwpatcher") {
ui.labelRemoveBootloader->setEnabled(false); ui.labelRemoveBootloader->setEnabled(false);
ui.buttonRemoveBootloader->setEnabled(false); ui.buttonRemoveBootloader->setEnabled(false);
} }
@ -339,9 +337,9 @@ void RbUtilQt::updateDevice()
} }
// displayed device info // displayed device info
QString mountpoint = settings->value(RbSettings::Mountpoint).toString(); QString mountpoint = RbSettings::value(RbSettings::Mountpoint).toString();
QString brand = settings->value(RbSettings::CurBrand).toString(); QString brand = RbSettings::value(RbSettings::CurBrand).toString();
QString name = settings->value(RbSettings::CurName).toString(); QString name = RbSettings::value(RbSettings::CurName).toString();
if(name.isEmpty()) name = "&lt;none&gt;"; if(name.isEmpty()) name = "&lt;none&gt;";
if(mountpoint.isEmpty()) mountpoint = "&lt;invalid&gt;"; if(mountpoint.isEmpty()) mountpoint = "&lt;invalid&gt;";
ui.labelDevice->setText(tr("<b>%1 %2</b> at <b>%3</b>") ui.labelDevice->setText(tr("<b>%1 %2</b> at <b>%3</b>")
@ -351,17 +349,17 @@ void RbUtilQt::updateDevice()
void RbUtilQt::updateManual() void RbUtilQt::updateManual()
{ {
if(settings->value(RbSettings::Platform) != "") if(RbSettings::value(RbSettings::Platform) != "")
{ {
QString manual= settings->value(RbSettings::CurManual).toString(); QString manual= RbSettings::value(RbSettings::CurManual).toString();
if(manual == "") if(manual == "")
manual = "rockbox-" + settings->value(RbSettings::Platform).toString(); manual = "rockbox-" + RbSettings::value(RbSettings::Platform).toString();
QString pdfmanual; QString pdfmanual;
pdfmanual = settings->value(RbSettings::ManualUrl).toString() pdfmanual = RbSettings::value(RbSettings::ManualUrl).toString()
+ "/" + manual + ".pdf"; + "/" + manual + ".pdf";
QString htmlmanual; QString htmlmanual;
htmlmanual = settings->value(RbSettings::ManualUrl).toString() htmlmanual = RbSettings::value(RbSettings::ManualUrl).toString()
+ "/" + manual + "/rockbox-build.html"; + "/" + manual + "/rockbox-build.html";
ui.labelPdfManual->setText(tr("<a href='%1'>PDF Manual</a>") ui.labelPdfManual->setText(tr("<a href='%1'>PDF Manual</a>")
.arg(pdfmanual)); .arg(pdfmanual));
@ -455,7 +453,7 @@ void RbUtilQt::smallInstall()
bool RbUtilQt::smallInstallInner() bool RbUtilQt::smallInstallInner()
{ {
QString mountpoint = settings->value(RbSettings::Mountpoint).toString(); QString mountpoint = RbSettings::value(RbSettings::Mountpoint).toString();
// show dialog with error if mount point is wrong // show dialog with error if mount point is wrong
if(!QFileInfo(mountpoint).isDir()) { if(!QFileInfo(mountpoint).isDir()) {
logger->addItem(tr("Mount point is wrong!"),LOGERROR); logger->addItem(tr("Mount point is wrong!"),LOGERROR);
@ -463,7 +461,7 @@ bool RbUtilQt::smallInstallInner()
return true; return true;
} }
// Bootloader // Bootloader
if(settings->value(RbSettings::CurBootloaderMethod) != "none") if(RbSettings::value(RbSettings::CurBootloaderMethod) != "none")
{ {
m_error = false; m_error = false;
m_installed = false; m_installed = false;
@ -515,17 +513,17 @@ void RbUtilQt::installBtn()
bool RbUtilQt::installAuto() bool RbUtilQt::installAuto()
{ {
QString file = QString("%1/%2/rockbox-%3-%4.zip") QString file = QString("%1/%2/rockbox-%3-%4.zip")
.arg(settings->value(RbSettings::ReleaseUrl).toString(), .arg(RbSettings::value(RbSettings::ReleaseUrl).toString(),
versmap.value("rel_rev"), versmap.value("rel_rev"),
settings->value(RbSettings::CurBuildserverModel).toString(), RbSettings::value(RbSettings::CurBuildserverModel).toString(),
versmap.value("rel_rev")); versmap.value("rel_rev"));
buildInfo.open(); buildInfo.open();
QSettings info(buildInfo.fileName(), QSettings::IniFormat, this); QSettings info(buildInfo.fileName(), QSettings::IniFormat, this);
buildInfo.close(); buildInfo.close();
// check installed Version and Target // check installed Version and Target
QString rbVersion = Detect::installedVersion(settings->value(RbSettings::Mountpoint).toString()); QString rbVersion = Detect::installedVersion(RbSettings::value(RbSettings::Mountpoint).toString());
QString warning = Detect::check(settings, false); QString warning = Detect::check(false);
if(!warning.isEmpty()) if(!warning.isEmpty())
{ {
@ -546,7 +544,7 @@ bool RbUtilQt::installAuto()
QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes)
{ {
logger->addItem(tr("Starting backup..."),LOGINFO); logger->addItem(tr("Starting backup..."),LOGINFO);
QString backupName = settings->value(RbSettings::Mountpoint).toString() QString backupName = RbSettings::value(RbSettings::Mountpoint).toString()
+ "/.backup/rockbox-backup-" + rbVersion + ".zip"; + "/.backup/rockbox-backup-" + rbVersion + ".zip";
//! create dir, if it doesnt exist //! create dir, if it doesnt exist
@ -561,7 +559,7 @@ bool RbUtilQt::installAuto()
RbZip backup; RbZip backup;
connect(&backup,SIGNAL(zipProgress(int,int)),logger, SLOT(setProgress(int,int))); connect(&backup,SIGNAL(zipProgress(int,int)),logger, SLOT(setProgress(int,int)));
if(backup.createZip(backupName, if(backup.createZip(backupName,
settings->value(RbSettings::Mountpoint).toString() + "/.rockbox") == Zip::Ok) RbSettings::value(RbSettings::Mountpoint).toString() + "/.rockbox") == Zip::Ok)
{ {
logger->addItem(tr("Backup successful"),LOGOK); logger->addItem(tr("Backup successful"),LOGOK);
} }
@ -579,9 +577,9 @@ bool RbUtilQt::installAuto()
installer->setUrl(file); installer->setUrl(file);
installer->setLogSection("Rockbox (Base)"); installer->setLogSection("Rockbox (Base)");
installer->setLogVersion(versmap.value("rel_rev")); installer->setLogVersion(versmap.value("rel_rev"));
if(!settings->value(RbSettings::CacheDisabled).toBool()) if(!RbSettings::value(RbSettings::CacheDisabled).toBool())
installer->setCache(true); installer->setCache(true);
installer->setMountPoint(settings->value(RbSettings::Mountpoint).toString()); installer->setMountPoint(RbSettings::value(RbSettings::Mountpoint).toString());
connect(installer, SIGNAL(done(bool)), this, SLOT(installdone(bool))); connect(installer, SIGNAL(done(bool)), this, SLOT(installdone(bool)));
connect(installer, SIGNAL(logItem(QString, int)), logger, SLOT(addItem(QString, int))); connect(installer, SIGNAL(logItem(QString, int)), logger, SLOT(addItem(QString, int)));
@ -595,7 +593,7 @@ bool RbUtilQt::installAuto()
void RbUtilQt::install() void RbUtilQt::install()
{ {
Install *installWindow = new Install(settings,this); Install *installWindow = new Install(this);
buildInfo.open(); buildInfo.open();
QSettings info(buildInfo.fileName(), QSettings::IniFormat, this); QSettings info(buildInfo.fileName(), QSettings::IniFormat, this);
@ -626,13 +624,13 @@ void RbUtilQt::installBootloaderBtn()
void RbUtilQt::installBootloader() void RbUtilQt::installBootloader()
{ {
QString platform = settings->value(RbSettings::Platform).toString(); QString platform = RbSettings::value(RbSettings::Platform).toString();
QString backupDestination = ""; QString backupDestination = "";
m_error = false; m_error = false;
// create installer // create installer
BootloaderInstallBase *bl; BootloaderInstallBase *bl;
QString type = settings->value(RbSettings::CurBootloaderMethod).toString(); QString type = RbSettings::value(RbSettings::CurBootloaderMethod).toString();
if(type == "mi4") { if(type == "mi4") {
bl = new BootloaderInstallMi4(this); bl = new BootloaderInstallMi4(this);
} }
@ -656,23 +654,23 @@ void RbUtilQt::installBootloader()
// set bootloader filename. Do this now as installed() needs it. // set bootloader filename. Do this now as installed() needs it.
QString blfile; QString blfile;
blfile = settings->value(RbSettings::Mountpoint).toString() blfile = RbSettings::value(RbSettings::Mountpoint).toString()
+ settings->value(RbSettings::CurBootloaderFile).toString(); + RbSettings::value(RbSettings::CurBootloaderFile).toString();
// special case for H10 pure: this player can have a different // special case for H10 pure: this player can have a different
// bootloader file filename. This is handled here to keep the install // bootloader file filename. This is handled here to keep the install
// class clean, though having it here is also not the nicest solution. // class clean, though having it here is also not the nicest solution.
if(settings->value(RbSettings::Platform).toString() == "h10_ums" if(RbSettings::value(RbSettings::Platform).toString() == "h10_ums"
|| settings->value(RbSettings::Platform) == "h10_mtp") { || RbSettings::value(RbSettings::Platform) == "h10_mtp") {
if(resolvePathCase(blfile).isEmpty()) if(resolvePathCase(blfile).isEmpty())
blfile = settings->value(RbSettings::Mountpoint).toString() blfile = RbSettings::value(RbSettings::Mountpoint).toString()
+ settings->value(RbSettings::CurBootloaderName).toString() + RbSettings::value(RbSettings::CurBootloaderName).toString()
.replace("H10", "H10EMP", Qt::CaseInsensitive); .replace("H10", "H10EMP", Qt::CaseInsensitive);
} }
bl->setBlFile(blfile); bl->setBlFile(blfile);
QUrl url(settings->value(RbSettings::BootloaderUrl).toString() QUrl url(RbSettings::value(RbSettings::BootloaderUrl).toString()
+ settings->value(RbSettings::CurBootloaderName).toString()); + RbSettings::value(RbSettings::CurBootloaderName).toString());
bl->setBlUrl(url); bl->setBlUrl(url);
bl->setLogfile(settings->value(RbSettings::Mountpoint).toString() bl->setLogfile(RbSettings::value(RbSettings::Mountpoint).toString()
+ "/.rockbox/rbutil.log"); + "/.rockbox/rbutil.log");
if(bl->installed() == BootloaderInstallBase::BootloaderRockbox) { if(bl->installed() == BootloaderInstallBase::BootloaderRockbox) {
@ -695,7 +693,7 @@ void RbUtilQt::installBootloader()
else if(bl->installed() == BootloaderInstallBase::BootloaderOther else if(bl->installed() == BootloaderInstallBase::BootloaderOther
&& bl->capabilities() & BootloaderInstallBase::Backup) && bl->capabilities() & BootloaderInstallBase::Backup)
{ {
QString targetFolder = settings->value(RbSettings::CurPlatformName).toString() QString targetFolder = RbSettings::value(RbSettings::CurPlatformName).toString()
+ " Firmware Backup"; + " Firmware Backup";
// remove invalid character(s) // remove invalid character(s)
targetFolder.remove(QRegExp("[:/]")); targetFolder.remove(QRegExp("[:/]"));
@ -790,7 +788,7 @@ void RbUtilQt::installBootloaderPost(bool error)
return; return;
QString msg = BootloaderInstallBase::postinstallHints( QString msg = BootloaderInstallBase::postinstallHints(
settings->value(RbSettings::Platform).toString()); RbSettings::value(RbSettings::Platform).toString());
if(!msg.isEmpty()) { if(!msg.isEmpty()) {
QMessageBox::information(this, tr("Manual steps required"), msg); QMessageBox::information(this, tr("Manual steps required"), msg);
logger->close(); logger->close();
@ -822,11 +820,11 @@ void RbUtilQt::installFonts()
// create zip installer // create zip installer
installer = new ZipInstaller(this); installer = new ZipInstaller(this);
installer->setUrl(settings->value(RbSettings::FontUrl).toString()); installer->setUrl(RbSettings::value(RbSettings::FontUrl).toString());
installer->setLogSection("Fonts"); installer->setLogSection("Fonts");
installer->setLogVersion(versmap.value("arch_date")); installer->setLogVersion(versmap.value("arch_date"));
installer->setMountPoint(settings->value(RbSettings::Mountpoint).toString()); installer->setMountPoint(RbSettings::value(RbSettings::Mountpoint).toString());
if(!settings->value(RbSettings::CacheDisabled).toBool()) if(!RbSettings::value(RbSettings::CacheDisabled).toBool())
installer->setCache(true); installer->setCache(true);
connect(installer, SIGNAL(done(bool)), this, SLOT(installdone(bool))); connect(installer, SIGNAL(done(bool)), this, SLOT(installdone(bool)));
@ -860,17 +858,17 @@ void RbUtilQt::installVoice()
// create zip installer // create zip installer
installer = new ZipInstaller(this); installer = new ZipInstaller(this);
QString voiceurl = settings->value(RbSettings::VoiceUrl).toString(); QString voiceurl = RbSettings::value(RbSettings::VoiceUrl).toString();
voiceurl += settings->value(RbSettings::CurConfigureModel).toString() + "-" + voiceurl += RbSettings::value(RbSettings::CurConfigureModel).toString() + "-" +
versmap.value("arch_date") + "-english.zip"; versmap.value("arch_date") + "-english.zip";
qDebug() << voiceurl; qDebug() << voiceurl;
installer->setUrl(voiceurl); installer->setUrl(voiceurl);
installer->setLogSection("Voice"); installer->setLogSection("Voice");
installer->setLogVersion(versmap.value("arch_date")); installer->setLogVersion(versmap.value("arch_date"));
installer->setMountPoint(settings->value(RbSettings::Mountpoint).toString()); installer->setMountPoint(RbSettings::value(RbSettings::Mountpoint).toString());
if(!settings->value(RbSettings::CacheDisabled).toBool()) if(!RbSettings::value(RbSettings::CacheDisabled).toBool())
installer->setCache(true); installer->setCache(true);
connect(installer, SIGNAL(logItem(QString, int)), logger, SLOT(addItem(QString, int))); connect(installer, SIGNAL(logItem(QString, int)), logger, SLOT(addItem(QString, int)));
connect(installer, SIGNAL(logProgress(int, int)), logger, SLOT(setProgress(int, int))); connect(installer, SIGNAL(logProgress(int, int)), logger, SLOT(setProgress(int, int)));
@ -906,7 +904,7 @@ bool RbUtilQt::installDoomAuto()
bool RbUtilQt::hasDoom() bool RbUtilQt::hasDoom()
{ {
QFile doomrock(settings->value(RbSettings::Mountpoint).toString() QFile doomrock(RbSettings::value(RbSettings::Mountpoint).toString()
+"/.rockbox/rocks/games/doom.rock"); +"/.rockbox/rocks/games/doom.rock");
return doomrock.exists(); return doomrock.exists();
} }
@ -916,11 +914,11 @@ void RbUtilQt::installDoom()
// create zip installer // create zip installer
installer = new ZipInstaller(this); installer = new ZipInstaller(this);
installer->setUrl(settings->value(RbSettings::DoomUrl).toString()); installer->setUrl(RbSettings::value(RbSettings::DoomUrl).toString());
installer->setLogSection("Game Addons"); installer->setLogSection("Game Addons");
installer->setLogVersion(versmap.value("arch_date")); installer->setLogVersion(versmap.value("arch_date"));
installer->setMountPoint(settings->value(RbSettings::Mountpoint).toString()); installer->setMountPoint(RbSettings::value(RbSettings::Mountpoint).toString());
if(!settings->value(RbSettings::CacheDisabled).toBool()) if(!RbSettings::value(RbSettings::CacheDisabled).toBool())
installer->setCache(true); installer->setCache(true);
connect(installer, SIGNAL(done(bool)), this, SLOT(installdone(bool))); connect(installer, SIGNAL(done(bool)), this, SLOT(installdone(bool)));
connect(installer, SIGNAL(logItem(QString, int)), logger, SLOT(addItem(QString, int))); connect(installer, SIGNAL(logItem(QString, int)), logger, SLOT(addItem(QString, int)));
@ -935,7 +933,6 @@ void RbUtilQt::installThemes()
{ {
if(chkConfig(true)) return; if(chkConfig(true)) return;
ThemesInstallWindow* tw = new ThemesInstallWindow(this); ThemesInstallWindow* tw = new ThemesInstallWindow(this);
tw->setSettings(settings);
tw->setModal(true); tw->setModal(true);
tw->show(); tw->show();
} }
@ -944,7 +941,6 @@ void RbUtilQt::createTalkFiles(void)
{ {
if(chkConfig(true)) return; if(chkConfig(true)) return;
InstallTalkWindow *installWindow = new InstallTalkWindow(this); InstallTalkWindow *installWindow = new InstallTalkWindow(this);
installWindow->setSettings(settings);
connect(installWindow, SIGNAL(settingsUpdated()), this, SLOT(downloadInfo())); connect(installWindow, SIGNAL(settingsUpdated()), this, SLOT(downloadInfo()));
connect(installWindow, SIGNAL(settingsUpdated()), this, SLOT(updateSettings())); connect(installWindow, SIGNAL(settingsUpdated()), this, SLOT(updateSettings()));
@ -956,8 +952,7 @@ void RbUtilQt::createVoiceFile(void)
{ {
if(chkConfig(true)) return; if(chkConfig(true)) return;
CreateVoiceWindow *installWindow = new CreateVoiceWindow(this); CreateVoiceWindow *installWindow = new CreateVoiceWindow(this);
installWindow->setSettings(settings);
connect(installWindow, SIGNAL(settingsUpdated()), this, SLOT(downloadInfo())); connect(installWindow, SIGNAL(settingsUpdated()), this, SLOT(downloadInfo()));
connect(installWindow, SIGNAL(settingsUpdated()), this, SLOT(updateSettings())); connect(installWindow, SIGNAL(settingsUpdated()), this, SLOT(updateSettings()));
installWindow->show(); installWindow->show();
@ -967,7 +962,6 @@ void RbUtilQt::uninstall(void)
{ {
if(chkConfig(true)) return; if(chkConfig(true)) return;
UninstallWindow *uninstallWindow = new UninstallWindow(this); UninstallWindow *uninstallWindow = new UninstallWindow(this);
uninstallWindow->setSettings(settings);
uninstallWindow->show(); uninstallWindow->show();
} }
@ -983,11 +977,11 @@ void RbUtilQt::uninstallBootloader(void)
logger->setProgressVisible(false); logger->setProgressVisible(false);
logger->show(); logger->show();
QString platform = settings->value(RbSettings::Platform).toString(); QString platform = RbSettings::value(RbSettings::Platform).toString();
// create installer // create installer
BootloaderInstallBase *bl; BootloaderInstallBase *bl;
QString type = settings->value(RbSettings::CurBootloaderMethod).toString(); QString type = RbSettings::value(RbSettings::CurBootloaderMethod).toString();
if(type == "mi4") { if(type == "mi4") {
bl = new BootloaderInstallMi4(); bl = new BootloaderInstallMi4();
} }
@ -1009,13 +1003,13 @@ void RbUtilQt::uninstallBootloader(void)
return; return;
} }
QString blfile = settings->value(RbSettings::Mountpoint).toString() QString blfile = RbSettings::value(RbSettings::Mountpoint).toString()
+ settings->value(RbSettings::CurBootloaderFile).toString(); + RbSettings::value(RbSettings::CurBootloaderFile).toString();
if(settings->value(RbSettings::Platform).toString() == "h10_ums" if(RbSettings::value(RbSettings::Platform).toString() == "h10_ums"
|| settings->value(RbSettings::Platform).toString() == "h10_mtp") { || RbSettings::value(RbSettings::Platform).toString() == "h10_mtp") {
if(resolvePathCase(blfile).isEmpty()) if(resolvePathCase(blfile).isEmpty())
blfile = settings->value(RbSettings::Mountpoint).toString() blfile = RbSettings::value(RbSettings::Mountpoint).toString()
+ settings->value(RbSettings::CurBootloaderName).toString() + RbSettings::value(RbSettings::CurBootloaderName).toString()
.replace("H10", "H10EMP", Qt::CaseInsensitive); .replace("H10", "H10EMP", Qt::CaseInsensitive);
} }
bl->setBlFile(blfile); bl->setBlFile(blfile);
@ -1044,7 +1038,7 @@ void RbUtilQt::downloadManual(void)
QSettings info(buildInfo.fileName(), QSettings::IniFormat, this); QSettings info(buildInfo.fileName(), QSettings::IniFormat, this);
buildInfo.close(); buildInfo.close();
QString manual = settings->value(RbSettings::CurManual).toString(); QString manual = RbSettings::value(RbSettings::CurManual).toString();
QString date = (info.value("dailies/date").toString()); QString date = (info.value("dailies/date").toString());
@ -1059,14 +1053,14 @@ void RbUtilQt::downloadManual(void)
target = "/" + manual + "-" + date + "-html.zip"; target = "/" + manual + "-" + date + "-html.zip";
section = "Manual (HTML)"; section = "Manual (HTML)";
} }
manualurl = settings->value(RbSettings::ManualUrl).toString() + "/" + target; manualurl = RbSettings::value(RbSettings::ManualUrl).toString() + "/" + target;
qDebug() << "manualurl =" << manualurl; qDebug() << "manualurl =" << manualurl;
ProgressLoggerGui* logger = new ProgressLoggerGui(this); ProgressLoggerGui* logger = new ProgressLoggerGui(this);
logger->show(); logger->show();
installer = new ZipInstaller(this); installer = new ZipInstaller(this);
installer->setMountPoint(settings->value(RbSettings::Mountpoint).toString()); installer->setMountPoint(RbSettings::value(RbSettings::Mountpoint).toString());
if(!settings->value(RbSettings::CacheDisabled).toBool()) if(!RbSettings::value(RbSettings::CacheDisabled).toBool())
installer->setCache(true); installer->setCache(true);
installer->setLogSection(section); installer->setLogSection(section);
installer->setLogVersion(date); installer->setLogVersion(date);
@ -1096,28 +1090,28 @@ void RbUtilQt::installPortable(void)
logger->addItem(tr("Installing Rockbox Utility"), LOGINFO); logger->addItem(tr("Installing Rockbox Utility"), LOGINFO);
// check mountpoint // check mountpoint
if(!QFileInfo(settings->value(RbSettings::Mountpoint).toString()).isDir()) { if(!QFileInfo(RbSettings::value(RbSettings::Mountpoint).toString()).isDir()) {
logger->addItem(tr("Mount point is wrong!"),LOGERROR); logger->addItem(tr("Mount point is wrong!"),LOGERROR);
logger->setFinished(); logger->setFinished();
return; return;
} }
// remove old files first. // remove old files first.
QFile::remove(settings->value(RbSettings::Mountpoint).toString() QFile::remove(RbSettings::value(RbSettings::Mountpoint).toString()
+ "/RockboxUtility.exe"); + "/RockboxUtility.exe");
QFile::remove(settings->value(RbSettings::Mountpoint).toString() QFile::remove(RbSettings::value(RbSettings::Mountpoint).toString()
+ "/RockboxUtility.ini"); + "/RockboxUtility.ini");
// copy currently running binary and currently used settings file // copy currently running binary and currently used settings file
if(!QFile::copy(qApp->applicationFilePath(), if(!QFile::copy(qApp->applicationFilePath(),
settings->value(RbSettings::Mountpoint).toString() RbSettings::value(RbSettings::Mountpoint).toString()
+ "/RockboxUtility.exe")) { + "/RockboxUtility.exe")) {
logger->addItem(tr("Error installing Rockbox Utility"), LOGERROR); logger->addItem(tr("Error installing Rockbox Utility"), LOGERROR);
logger->setFinished(); logger->setFinished();
return; return;
} }
logger->addItem(tr("Installing user configuration"), LOGINFO); logger->addItem(tr("Installing user configuration"), LOGINFO);
if(!QFile::copy(settings->userSettingFilename(), if(!QFile::copy(RbSettings::userSettingFilename(),
settings->value(RbSettings::Mountpoint).toString() RbSettings::value(RbSettings::Mountpoint).toString()
+ "/RockboxUtility.ini")) { + "/RockboxUtility.ini")) {
logger->addItem(tr("Error installing user configuration"), LOGERROR); logger->addItem(tr("Error installing user configuration"), LOGERROR);
logger->setFinished(); logger->setFinished();
@ -1135,7 +1129,7 @@ void RbUtilQt::updateInfo()
{ {
qDebug() << "RbUtilQt::updateInfo()"; qDebug() << "RbUtilQt::updateInfo()";
QSettings log(settings->value(RbSettings::Mountpoint).toString() QSettings log(RbSettings::value(RbSettings::Mountpoint).toString()
+ "/.rockbox/rbutil.log", QSettings::IniFormat, this); + "/.rockbox/rbutil.log", QSettings::IniFormat, this);
QStringList groups = log.childGroups(); QStringList groups = log.childGroups();
QList<QTreeWidgetItem *> items; QList<QTreeWidgetItem *> items;
@ -1172,7 +1166,7 @@ void RbUtilQt::updateInfo()
for(int b = 0; b < keys.size(); b++) { for(int b = 0; b < keys.size(); b++) {
QString file; QString file;
file = settings->value(RbSettings::Mountpoint).toString() + "/" + keys.at(b); file = RbSettings::value(RbSettings::Mountpoint).toString() + "/" + keys.at(b);
if(QFileInfo(file).isDir()) if(QFileInfo(file).isDir())
continue; continue;
w2 = new QTreeWidgetItem(w, QStringList() << "/" w2 = new QTreeWidgetItem(w, QStringList() << "/"
@ -1197,9 +1191,9 @@ void RbUtilQt::updateInfo()
QUrl RbUtilQt::proxy() QUrl RbUtilQt::proxy()
{ {
if(settings->value(RbSettings::ProxyType) == "manual") if(RbSettings::value(RbSettings::ProxyType) == "manual")
return QUrl(settings->value(RbSettings::Proxy).toString()); return QUrl(RbSettings::value(RbSettings::Proxy).toString());
else if(settings->value(RbSettings::ProxyType) == "system") else if(RbSettings::value(RbSettings::ProxyType) == "system")
return Detect::systemProxy(); return Detect::systemProxy();
return QUrl(""); return QUrl("");
} }
@ -1208,9 +1202,9 @@ QUrl RbUtilQt::proxy()
bool RbUtilQt::chkConfig(bool warn) bool RbUtilQt::chkConfig(bool warn)
{ {
bool error = false; bool error = false;
if(settings->value(RbSettings::Platform).toString().isEmpty() if(RbSettings::value(RbSettings::Platform).toString().isEmpty()
|| settings->value(RbSettings::Mountpoint).toString().isEmpty() || RbSettings::value(RbSettings::Mountpoint).toString().isEmpty()
|| !QFileInfo(settings->value(RbSettings::Mountpoint).toString()).isWritable()) { || !QFileInfo(RbSettings::value(RbSettings::Mountpoint).toString()).isWritable()) {
error = true; error = true;
if(warn) QMessageBox::critical(this, tr("Configuration error"), if(warn) QMessageBox::critical(this, tr("Configuration error"),

View file

@ -32,8 +32,6 @@
#include "progressloggergui.h" #include "progressloggergui.h"
#include "bootloaderinstallbase.h" #include "bootloaderinstallbase.h"
#include "rbsettings.h"
class RbUtilQt : public QMainWindow class RbUtilQt : public QMainWindow
{ {
Q_OBJECT Q_OBJECT
@ -43,8 +41,7 @@ class RbUtilQt : public QMainWindow
private: private:
Ui::RbUtilQtFrm ui; Ui::RbUtilQtFrm ui;
RbSettings* settings;
void initDeviceNames(void); void initDeviceNames(void);
QString deviceName(QString); QString deviceName(QString);
QString platform; QString platform;

View file

@ -18,6 +18,7 @@
****************************************************************************/ ****************************************************************************/
#include "talkfile.h" #include "talkfile.h"
#include "rbsettings.h"
TalkFileCreator::TalkFileCreator(QObject* parent): QObject(parent) TalkFileCreator::TalkFileCreator(QObject* parent): QObject(parent)
{ {
@ -40,8 +41,7 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
m_logger->addItem(tr("Starting Talk file generation"),LOGINFO); m_logger->addItem(tr("Starting Talk file generation"),LOGINFO);
//tts //tts
m_tts = TTSBase::getTTS(this,settings->value(RbSettings::Tts).toString()); m_tts = TTSBase::getTTS(this,RbSettings::value(RbSettings::Tts).toString());
m_tts->setCfg(settings);
if(!m_tts->start(&errStr)) if(!m_tts->start(&errStr))
{ {
@ -52,8 +52,7 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
} }
// Encoder // Encoder
m_enc = EncBase::getEncoder(this,settings->value(RbSettings::CurEncoder).toString()); m_enc = EncBase::getEncoder(this,RbSettings::value(RbSettings::CurEncoder).toString());
m_enc->setCfg(settings);
if(!m_enc->start()) if(!m_enc->start())
{ {

View file

@ -37,8 +37,6 @@ public:
TalkFileCreator(QObject* parent); TalkFileCreator(QObject* parent);
bool createTalkFiles(ProgressloggerInterface* logger); bool createTalkFiles(ProgressloggerInterface* logger);
void setSettings(RbSettings* sett) { settings = sett;}
void setDir(QDir dir){m_dir = dir; } void setDir(QDir dir){m_dir = dir; }
void setMountPoint(QString mountpoint) {m_mountpoint =mountpoint; } void setMountPoint(QString mountpoint) {m_mountpoint =mountpoint; }
@ -65,7 +63,6 @@ private:
TTSBase* m_tts; TTSBase* m_tts;
EncBase* m_enc; EncBase* m_enc;
RbSettings* settings;
QDir m_dir; QDir m_dir;
QString m_mountpoint; QString m_mountpoint;

View file

@ -24,6 +24,7 @@
#include "zipinstaller.h" #include "zipinstaller.h"
#include "progressloggergui.h" #include "progressloggergui.h"
#include "utils.h" #include "utils.h"
#include "rbsettings.h"
ThemesInstallWindow::ThemesInstallWindow(QWidget *parent) : QDialog(parent) ThemesInstallWindow::ThemesInstallWindow(QWidget *parent) : QDialog(parent)
{ {
@ -61,11 +62,11 @@ void ThemesInstallWindow::downloadInfo()
themesInfo.close(); themesInfo.close();
QUrl url; QUrl url;
url = QUrl(settings->value(RbSettings::ThemesUrl).toString() + "/rbutilqt.php?target=" url = QUrl(RbSettings::value(RbSettings::ThemesUrl).toString() + "/rbutilqt.php?target="
+ settings->value(RbSettings::CurConfigureModel).toString()); + RbSettings::value(RbSettings::CurConfigureModel).toString());
qDebug() << "downloadInfo()" << url; qDebug() << "downloadInfo()" << url;
qDebug() << url.queryItems(); qDebug() << url.queryItems();
if(settings->value(RbSettings::CacheOffline).toBool()) if(RbSettings::value(RbSettings::CacheOffline).toBool())
getter->setCache(true); getter->setCache(true);
getter->setFile(&themesInfo); getter->setFile(&themesInfo);
@ -144,7 +145,7 @@ void ThemesInstallWindow::downloadDone(bool error)
// check if there's a themes "MOTD" available // check if there's a themes "MOTD" available
if(iniDetails.contains("status/msg")) { if(iniDetails.contains("status/msg")) {
// check if there's a localized msg available // check if there's a localized msg available
QString lang = settings->value(RbSettings::Language).toString().split("_").at(0); QString lang = RbSettings::value(RbSettings::Language).toString().split("_").at(0);
QString msg; QString msg;
if(iniDetails.contains("status/msg." + lang)) if(iniDetails.contains("status/msg." + lang))
msg = iniDetails.value("status/msg." + lang).toString(); msg = iniDetails.value("status/msg." + lang).toString();
@ -191,9 +192,9 @@ void ThemesInstallWindow::updateDetails(QListWidgetItem* cur, QListWidgetItem* p
iniDetails.beginGroup(cur->data(Qt::UserRole).toString()); iniDetails.beginGroup(cur->data(Qt::UserRole).toString());
QUrl img, txt; QUrl img, txt;
txt = QUrl(QString(settings->value(RbSettings::ThemesUrl).toString() + "/" txt = QUrl(QString(RbSettings::value(RbSettings::ThemesUrl).toString() + "/"
+ iniDetails.value("descriptionfile").toString())); + iniDetails.value("descriptionfile").toString()));
img = QUrl(QString(settings->value(RbSettings::ThemesUrl).toString() + "/" img = QUrl(QString(RbSettings::value(RbSettings::ThemesUrl).toString() + "/"
+ iniDetails.value("image").toString())); + iniDetails.value("image").toString()));
QString text; QString text;
@ -211,7 +212,7 @@ void ThemesInstallWindow::updateDetails(QListWidgetItem* cur, QListWidgetItem* p
iniDetails.endGroup(); iniDetails.endGroup();
igetter.abort(); igetter.abort();
if(!settings->value(RbSettings::CacheDisabled).toBool()) if(!RbSettings::value(RbSettings::CacheDisabled).toBool())
igetter.setCache(true); igetter.setCache(true);
else else
{ {
@ -307,7 +308,7 @@ void ThemesInstallWindow::accept()
QSettings iniDetails(themesInfo.fileName(), QSettings::IniFormat, this); QSettings iniDetails(themesInfo.fileName(), QSettings::IniFormat, this);
for(int i = 0; i < ui.listThemes->selectedItems().size(); i++) { for(int i = 0; i < ui.listThemes->selectedItems().size(); i++) {
iniDetails.beginGroup(ui.listThemes->selectedItems().at(i)->data(Qt::UserRole).toString()); iniDetails.beginGroup(ui.listThemes->selectedItems().at(i)->data(Qt::UserRole).toString());
zip = settings->value(RbSettings::ThemesUrl).toString() zip = RbSettings::value(RbSettings::ThemesUrl).toString()
+ "/" + iniDetails.value("archive").toString(); + "/" + iniDetails.value("archive").toString();
themes.append(zip); themes.append(zip);
names.append("Theme: " + names.append("Theme: " +
@ -321,7 +322,7 @@ void ThemesInstallWindow::accept()
logger = new ProgressLoggerGui(this); logger = new ProgressLoggerGui(this);
logger->show(); logger->show();
QString mountPoint = settings->value(RbSettings::Mountpoint).toString(); QString mountPoint = RbSettings::value(RbSettings::Mountpoint).toString();
qDebug() << "mountpoint:" << mountPoint; qDebug() << "mountpoint:" << mountPoint;
// show dialog with error if mount point is wrong // show dialog with error if mount point is wrong
if(!QFileInfo(mountPoint).isDir()) { if(!QFileInfo(mountPoint).isDir()) {
@ -335,7 +336,7 @@ void ThemesInstallWindow::accept()
installer->setLogSection(names); installer->setLogSection(names);
installer->setLogVersion(version); installer->setLogVersion(version);
installer->setMountPoint(mountPoint); installer->setMountPoint(mountPoint);
if(!settings->value(RbSettings::CacheDisabled).toBool()) if(!RbSettings::value(RbSettings::CacheDisabled).toBool())
installer->setCache(true); installer->setCache(true);
connect(logger, SIGNAL(closed()), this, SLOT(close())); connect(logger, SIGNAL(closed()), this, SLOT(close()));

View file

@ -29,7 +29,6 @@
#include "httpget.h" #include "httpget.h"
#include "zipinstaller.h" #include "zipinstaller.h"
#include "progressloggergui.h" #include "progressloggergui.h"
#include "rbsettings.h"
class ThemesInstallWindow : public QDialog class ThemesInstallWindow : public QDialog
{ {
@ -38,7 +37,6 @@ class ThemesInstallWindow : public QDialog
public: public:
ThemesInstallWindow(QWidget* parent = 0); ThemesInstallWindow(QWidget* parent = 0);
~ThemesInstallWindow(); ~ThemesInstallWindow();
void setSettings(RbSettings* sett){settings=sett;}
void downloadInfo(void); void downloadInfo(void);
void show(void); void show(void);
@ -47,7 +45,6 @@ class ThemesInstallWindow : public QDialog
private: private:
Ui::ThemeInstallFrm ui; Ui::ThemeInstallFrm ui;
RbSettings* settings;
HttpGet *getter; HttpGet *getter;
HttpGet igetter; HttpGet igetter;
QTemporaryFile themesInfo; QTemporaryFile themesInfo;

View file

@ -19,7 +19,7 @@
#include "uninstallwindow.h" #include "uninstallwindow.h"
#include "ui_uninstallfrm.h" #include "ui_uninstallfrm.h"
#include "rbsettings.h"
UninstallWindow::UninstallWindow(QWidget *parent) : QDialog(parent) UninstallWindow::UninstallWindow(QWidget *parent) : QDialog(parent)
{ {
@ -27,6 +27,24 @@ UninstallWindow::UninstallWindow(QWidget *parent) : QDialog(parent)
ui.UninstalllistWidget->setAlternatingRowColors(true); ui.UninstalllistWidget->setAlternatingRowColors(true);
connect(ui.UninstalllistWidget,SIGNAL(itemSelectionChanged()),this,SLOT(selectionChanged())); connect(ui.UninstalllistWidget,SIGNAL(itemSelectionChanged()),this,SLOT(selectionChanged()));
connect(ui.CompleteRadioBtn,SIGNAL(toggled(bool)),this,SLOT(UninstallMethodChanged(bool))); connect(ui.CompleteRadioBtn,SIGNAL(toggled(bool)),this,SLOT(UninstallMethodChanged(bool)));
QString mountpoint = RbSettings::value(RbSettings::Mountpoint).toString();
uninstaller = new Uninstaller(this,mountpoint);
// disable smart uninstall, if not possible
if(!uninstaller->uninstallPossible())
{
ui.smartRadioButton->setEnabled(false);
ui.smartGroupBox->setEnabled(false);
ui.CompleteRadioBtn->setChecked(true);
}
else // fill in installed parts
{
ui.smartRadioButton->setChecked(true);
ui.UninstalllistWidget->addItems(uninstaller->getAllSections());
}
} }
@ -68,24 +86,3 @@ void UninstallWindow::UninstallMethodChanged(bool complete)
ui.smartGroupBox->setEnabled(true); ui.smartGroupBox->setEnabled(true);
} }
void UninstallWindow::setSettings(RbSettings *sett)
{
settings = sett;
QString mountpoint = settings->value(RbSettings::Mountpoint).toString();
uninstaller = new Uninstaller(this,mountpoint);
// disable smart uninstall, if not possible
if(!uninstaller->uninstallPossible())
{
ui.smartRadioButton->setEnabled(false);
ui.smartGroupBox->setEnabled(false);
ui.CompleteRadioBtn->setChecked(true);
}
else // fill in installed parts
{
ui.smartRadioButton->setChecked(true);
ui.UninstalllistWidget->addItems(uninstaller->getAllSections());
}
}

View file

@ -27,14 +27,12 @@
#include "ui_uninstallfrm.h" #include "ui_uninstallfrm.h"
#include "progressloggergui.h" #include "progressloggergui.h"
#include "uninstall.h" #include "uninstall.h"
#include "rbsettings.h"
class UninstallWindow : public QDialog class UninstallWindow : public QDialog
{ {
Q_OBJECT Q_OBJECT
public: public:
UninstallWindow(QWidget *parent = 0); UninstallWindow(QWidget *parent = 0);
void setSettings(RbSettings* sett);
public slots: public slots:
void accept(void); void accept(void);
@ -46,8 +44,6 @@ class UninstallWindow : public QDialog
Uninstaller* uninstaller; Uninstaller* uninstaller;
Ui::UninstallFrm ui; Ui::UninstallFrm ui;
ProgressLoggerGui* logger; ProgressLoggerGui* logger;
RbSettings* settings;
}; };

View file

@ -19,6 +19,7 @@
#include "voicefile.h" #include "voicefile.h"
#include "utils.h" #include "utils.h"
#include "rbsettings.h"
#define STATE_INVALID 0 #define STATE_INVALID 0
#define STATE_PHRASE 1 #define STATE_PHRASE 1
@ -65,7 +66,7 @@ bool VoiceFileCreator::createVoiceFile(ProgressloggerInterface* logger)
version = version.left(version.indexOf("-")).remove(0,1); version = version.left(version.indexOf("-")).remove(0,1);
//prepare download url //prepare download url
QUrl genlangUrl = settings->value(RbSettings::GenlangUrl).toString() QUrl genlangUrl = RbSettings::value(RbSettings::GenlangUrl).toString()
+"?lang=" + m_lang + "&t=" + target + "&rev=" + version + "&f=" + features; +"?lang=" + m_lang + "&t=" + target + "&rev=" + version + "&f=" + features;
qDebug() << "downloading " << genlangUrl; qDebug() << "downloading " << genlangUrl;
@ -128,8 +129,7 @@ void VoiceFileCreator::downloadDone(bool error)
} }
//tts //tts
m_tts = TTSBase::getTTS(this,settings->value(RbSettings::Tts).toString()); m_tts = TTSBase::getTTS(this,RbSettings::value(RbSettings::Tts).toString());
m_tts->setCfg(settings);
QString errStr; QString errStr;
if(!m_tts->start(&errStr)) if(!m_tts->start(&errStr))
@ -142,8 +142,7 @@ void VoiceFileCreator::downloadDone(bool error)
} }
// Encoder // Encoder
m_enc = EncBase::getEncoder(this,settings->value(RbSettings::CurEncoder).toString()); m_enc = EncBase::getEncoder(this,RbSettings::value(RbSettings::CurEncoder).toString());
m_enc->setCfg(settings);
if(!m_enc->start()) if(!m_enc->start())
{ {

View file

@ -29,7 +29,6 @@
#include "encoders.h" #include "encoders.h"
#include "tts.h" #include "tts.h"
#include "httpget.h" #include "httpget.h"
#include "rbsettings.h"
#include "wavtrim.h" #include "wavtrim.h"
#include "voicefont.h" #include "voicefont.h"
@ -43,9 +42,6 @@ public:
//start creation //start creation
bool createVoiceFile(ProgressloggerInterface* logger); bool createVoiceFile(ProgressloggerInterface* logger);
// set infos
void setSettings(RbSettings* sett) { settings = sett;}
void setMountPoint(QString mountpoint) {m_mountpoint =mountpoint; } void setMountPoint(QString mountpoint) {m_mountpoint =mountpoint; }
void setTargetId(int id){m_targetid = id;} void setTargetId(int id){m_targetid = id;}
void setLang(QString name){m_lang =name;} void setLang(QString name){m_lang =name;}
@ -64,7 +60,6 @@ private:
// ptr to encoder, tts and settings // ptr to encoder, tts and settings
TTSBase* m_tts; TTSBase* m_tts;
EncBase* m_enc; EncBase* m_enc;
RbSettings* settings;
HttpGet *getter; HttpGet *getter;
QString filename; //the temporary file QString filename; //the temporary file