aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/General/kdenotify/kdenotify.cpp3
-rw-r--r--src/plugins/General/streambrowser/streamwindow.cpp12
-rw-r--r--src/plugins/Input/cdaudio/decoder_cdaudio.cpp9
-rw-r--r--src/plugins/Input/cdaudio/settingsdialog.cpp3
-rw-r--r--src/plugins/Input/sid/decodersidfactory.cpp2
-rw-r--r--src/plugins/Input/sid/settingsdialog.cpp2
-rw-r--r--src/qmmp/qmmp.cpp15
-rw-r--r--src/qmmp/qmmp.h14
8 files changed, 33 insertions, 27 deletions
diff --git a/src/plugins/General/kdenotify/kdenotify.cpp b/src/plugins/General/kdenotify/kdenotify.cpp
index 0346c52cb..47e7987d6 100644
--- a/src/plugins/General/kdenotify/kdenotify.cpp
+++ b/src/plugins/General/kdenotify/kdenotify.cpp
@@ -55,8 +55,7 @@ KdeNotify::KdeNotify(QObject *parent) : QObject(parent),m_useFreedesktopSpec(fal
m_useFreedesktopSpec = true;
}
qWarning() << "KdeNotify: DBus interfece created successfully.";
- QString path = QFileInfo(Qmmp::configFile()).absoluteDir().path();
- QDir dir(path);
+ QDir dir(Qmmp::configDir());
if(!dir.exists("kdenotifycache"))
dir.mkdir("kdenotifycache");
dir.cd("kdenotifycache");
diff --git a/src/plugins/General/streambrowser/streamwindow.cpp b/src/plugins/General/streambrowser/streamwindow.cpp
index 83efe1dc5..a2bf295ea 100644
--- a/src/plugins/General/streambrowser/streamwindow.cpp
+++ b/src/plugins/General/streambrowser/streamwindow.cpp
@@ -108,17 +108,16 @@ StreamWindow::StreamWindow(QWidget *parent) : QWidget(parent)
ui.tabWidget->setCurrentIndex(settings.value("current_tab", 1).toInt());
settings.endGroup();
//create cache dir
- QString path = QFileInfo(Qmmp::configFile()).absoluteDir().path();
- QDir dir(path);
+ QDir dir(Qmmp::configDir());
if(!dir.exists("streambrowser"))
dir.mkdir("streambrowser");
//read cache
- QFile file(path + "/streambrowser/icecast.xml");
+ QFile file(Qmmp::configDir() + "/streambrowser/icecast.xml");
if(file.open(QIODevice::ReadOnly))
readXml(&file, m_iceCastModel);
else
on_updatePushButton_clicked();
- QFile file2(path + "/streambrowser/favorites.xml");
+ QFile file2(Qmmp::configDir() + "/streambrowser/favorites.xml");
if(file2.open(QIODevice::ReadOnly))
readXml(&file2, m_favoritesModel);
//create menus
@@ -255,9 +254,8 @@ void StreamWindow::closeEvent(QCloseEvent *)
settings.setValue("current_tab", ui.tabWidget->currentIndex());
settings.endGroup();
- QString path = QFileInfo(Qmmp::configFile()).absoluteDir().path();
//save icecast directory
- QFile file(path + "/streambrowser/icecast.xml");
+ QFile file(Qmmp::configDir() + "/streambrowser/icecast.xml");
file.open(QIODevice::WriteOnly);
QXmlStreamWriter writer(&file);
writer.setCodec("UTF-8");
@@ -278,7 +276,7 @@ void StreamWindow::closeEvent(QCloseEvent *)
writer.writeEndDocument();
file.close();
//save favorites
- QFile file2(path + "/streambrowser/favorites.xml");
+ QFile file2(Qmmp::configDir() + "/streambrowser/favorites.xml");
file2.open(QIODevice::WriteOnly);
QXmlStreamWriter writer2(&file2);
writer2.setCodec("UTF-8");
diff --git a/src/plugins/Input/cdaudio/decoder_cdaudio.cpp b/src/plugins/Input/cdaudio/decoder_cdaudio.cpp
index f35d0cb70..6fe9b96e2 100644
--- a/src/plugins/Input/cdaudio/decoder_cdaudio.cpp
+++ b/src/plugins/Input/cdaudio/decoder_cdaudio.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2013 by Ilya Kotov *
+ * Copyright (C) 2009-2014 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -327,12 +327,11 @@ QList <CDATrack> DecoderCDAudio::generateTrackList(const QString &device)
void DecoderCDAudio::saveToCache(QList <CDATrack> tracks, uint disc_id)
{
- QString path = QFileInfo(Qmmp::configFile()).absoluteDir().path();
- QDir dir(path);
+ QDir dir(Qmmp::configDir());
if(!dir.exists("cddbcache"))
dir.mkdir("cddbcache");
dir.cd("cddbcache");
- path = dir.absolutePath() + QString("/%1").arg(disc_id, 0, 16);
+ QString path = dir.absolutePath() + QString("/%1").arg(disc_id, 0, 16);
QSettings settings(path, QSettings::IniFormat);
settings.clear();
settings.setValue("count", tracks.size());
@@ -349,7 +348,7 @@ void DecoderCDAudio::saveToCache(QList <CDATrack> tracks, uint disc_id)
bool DecoderCDAudio::readFromCache(QList <CDATrack> *tracks, uint disc_id)
{
- QString path = QFileInfo(Qmmp::configFile()).absoluteDir().path();
+ QString path = Qmmp::configDir();
path += QString("/cddbcache/%1").arg(disc_id, 0, 16);
if(!QFile::exists(path))
return false;
diff --git a/src/plugins/Input/cdaudio/settingsdialog.cpp b/src/plugins/Input/cdaudio/settingsdialog.cpp
index 41730af51..209cd38a3 100644
--- a/src/plugins/Input/cdaudio/settingsdialog.cpp
+++ b/src/plugins/Input/cdaudio/settingsdialog.cpp
@@ -75,8 +75,7 @@ void SettingsDialog::accept()
void SettingsDialog::on_clearCacheButton_clicked()
{
- QString path = QFileInfo(Qmmp::configFile()).absoluteDir().path();
- QDir dir(path);
+ QDir dir(Qmmp::configDir());
dir.cd("cddbcache");
QStringList list = dir.entryList(QStringList() << "*", QDir::Files);
foreach(QString name, list)
diff --git a/src/plugins/Input/sid/decodersidfactory.cpp b/src/plugins/Input/sid/decodersidfactory.cpp
index 3795be74c..e4b1d0b52 100644
--- a/src/plugins/Input/sid/decodersidfactory.cpp
+++ b/src/plugins/Input/sid/decodersidfactory.cpp
@@ -35,7 +35,7 @@ DecoderSIDFactory::DecoderSIDFactory()
settings.beginGroup("SID");
if(settings.value("use_hvsc", false).toBool())
{
- QString default_path = QFileInfo(Qmmp::configFile()).absolutePath() + "/Songlengths.txt";
+ QString default_path = Qmmp::configDir() + "/Songlengths.txt";
if(!m_db.open(qPrintable(settings.value("hvsc_path", default_path).toString())))
qWarning("DecoderSIDFactory: %s", m_db.error());
}
diff --git a/src/plugins/Input/sid/settingsdialog.cpp b/src/plugins/Input/sid/settingsdialog.cpp
index a27107fa8..375672a01 100644
--- a/src/plugins/Input/sid/settingsdialog.cpp
+++ b/src/plugins/Input/sid/settingsdialog.cpp
@@ -34,7 +34,7 @@ SettingsDialog::SettingsDialog(SidDatabase *db, QWidget *parent) : QDialog(paren
settings.beginGroup("SID");
m_ui.useHVSCCheckBox->setChecked(settings.value("use_hvsc", false).toBool());
- QString hvsc_default_path = QFileInfo(Qmmp::configFile()).absolutePath() + "/Songlengths.txt";
+ QString hvsc_default_path = Qmmp::configDir() + "/Songlengths.txt";
m_ui.hvscPathLineEdit->setText(settings.value("hvsc_path", hvsc_default_path).toString());
m_ui.defaultLengthSpinBox->setValue(settings.value("song_length", 180).toInt());
diff --git a/src/qmmp/qmmp.cpp b/src/qmmp/qmmp.cpp
index 3b6863ee4..20c002888 100644
--- a/src/qmmp/qmmp.cpp
+++ b/src/qmmp/qmmp.cpp
@@ -32,17 +32,24 @@
#include "qmmp.h"
-QString Qmmp::m_configFile;
+QString Qmmp::m_configDir;
QString Qmmp::m_langID;
const QString Qmmp::configFile()
{
- return m_configFile.isEmpty() ? QDir::homePath() +"/.qmmp/qmmprc" : m_configFile;
+ return m_configDir + "qmmprc";
}
-void Qmmp::setConfigFile(const QString &path)
+const QString Qmmp::configDir()
{
- m_configFile = path;
+ return m_configDir.isEmpty() ? QDir::homePath() +"/.qmmp/" : m_configDir;
+}
+
+void Qmmp::setConfigDir(const QString &path)
+{
+ m_configDir = path;
+ if(!m_configDir.endsWith('/'))
+ m_configDir.append('/');
}
const QString Qmmp::strVersion()
diff --git a/src/qmmp/qmmp.h b/src/qmmp/qmmp.h
index e1036185c..abdc5f3b3 100644
--- a/src/qmmp/qmmp.h
+++ b/src/qmmp/qmmp.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008-2013 by Ilya Kotov *
+ * Copyright (C) 2008-2014 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -86,13 +86,17 @@ public:
PCM_S32LE /*!< Signed 32 bit Little Endian */
};
/*!
- * Returns configuration file path.
+ * Returns the configuration file name, including the path.
*/
static const QString configFile();
/*!
- * Overrides default configuration file path.
+ * Returns the configuration directory path.
*/
- static void setConfigFile(const QString &path);
+ static const QString configDir();
+ /*!
+ * Overrides default configuration directory path.
+ */
+ static void setConfigDir(const QString &path);
/*!
* Returns %Qmmp library version.
*/
@@ -116,7 +120,7 @@ public:
static void setUiLanguageID(const QString &code);
private:
- static QString m_configFile;
+ static QString m_configDir;
static QString m_langID;
};