aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/qmmp/CMakeLists.txt1
-rw-r--r--src/qmmp/decoder.cpp6
-rw-r--r--src/qmmp/effect.cpp5
-rw-r--r--src/qmmp/output.cpp8
-rw-r--r--src/qmmp/qmmp.cpp24
-rw-r--r--src/qmmp/qmmp.h10
-rw-r--r--src/qmmp/visual.cpp5
-rw-r--r--src/qmmpui/CMakeLists.txt6
-rw-r--r--src/qmmpui/commandlinemanager.cpp7
-rw-r--r--src/qmmpui/filedialog.cpp13
-rw-r--r--src/qmmpui/general.cpp6
-rw-r--r--src/qmmpui/playlistparser.cpp7
-rw-r--r--src/qmmpui/qmmpui.pro9
13 files changed, 54 insertions, 53 deletions
diff --git a/src/qmmp/CMakeLists.txt b/src/qmmp/CMakeLists.txt
index bbf68a8b5..6df4a1926 100644
--- a/src/qmmp/CMakeLists.txt
+++ b/src/qmmp/CMakeLists.txt
@@ -16,6 +16,7 @@ ADD_DEFINITIONS(-DQT_THREAD)
ADD_DEFINITIONS(-DLIB_DIR=\\\"\\/${LIB_DIR}\\\")
ADD_DEFINITIONS(-DQMMP_VERSION=${QMMP_VERSION})
ADD_DEFINITIONS(-DQMMP_STR_VERSION=\\\"${QMMP_VERSION}\\\")
+ADD_DEFINITIONS(-DQMMP_INSTALL_PREFIX=\\\"${CMAKE_INSTALL_PREFIX}\\\")
IF(SVN_VERSION) #add svn revision
execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/svn_revision.sh
diff --git a/src/qmmp/decoder.cpp b/src/qmmp/decoder.cpp
index 3a6cde240..65a34abbf 100644
--- a/src/qmmp/decoder.cpp
+++ b/src/qmmp/decoder.cpp
@@ -19,6 +19,7 @@
#include "visual.h"
#include "decoderfactory.h"
#include "streamreader.h"
+#include "qmmp.h"
extern "C"
{
@@ -200,9 +201,8 @@ void Decoder::checkFactories()
m_files.clear();
m_factories = new QList<DecoderFactory *>;
- QDir pluginsDir (qApp->applicationDirPath());
- pluginsDir.cdUp();
- pluginsDir.cd("./"LIB_DIR"/qmmp/Input");
+ QDir pluginsDir (Qmmp::pluginsPath());
+ pluginsDir.cd("Input");
foreach (QString fileName, pluginsDir.entryList(QDir::Files))
{
QPluginLoader loader(pluginsDir.absoluteFilePath(fileName));
diff --git a/src/qmmp/effect.cpp b/src/qmmp/effect.cpp
index 7d0b15ded..0cb45a268 100644
--- a/src/qmmp/effect.cpp
+++ b/src/qmmp/effect.cpp
@@ -66,9 +66,8 @@ static void checkFactories()
files.clear();
factories = new QList<EffectFactory *>;
- QDir pluginsDir (qApp->applicationDirPath());
- pluginsDir.cdUp();
- pluginsDir.cd("./"LIB_DIR"/qmmp/Effect");
+ QDir pluginsDir (Qmmp::pluginsPath());
+ pluginsDir.cd("Effect");
foreach (QString fileName, pluginsDir.entryList(QDir::Files))
{
QPluginLoader loader(pluginsDir.absoluteFilePath(fileName));
diff --git a/src/qmmp/output.cpp b/src/qmmp/output.cpp
index 90591baf7..bd8948b97 100644
--- a/src/qmmp/output.cpp
+++ b/src/qmmp/output.cpp
@@ -14,6 +14,7 @@
#include "buffer.h"
#include "output.h"
#include "volumecontrol.h"
+#include "qmmp.h"
#include <stdio.h>
@@ -159,7 +160,7 @@ void Output::run()
mutex()->lock ();
recycler()->mutex()->lock ();
done = m_userStop;
-
+
while (!done && (recycler()->empty() || m_pause))
{
mutex()->unlock();
@@ -249,9 +250,8 @@ void Output::checkFactories()
m_files.clear();
m_factories = new QList<OutputFactory *>;
- QDir pluginsDir ( qApp->applicationDirPath() );
- pluginsDir.cdUp();
- pluginsDir.cd ( "./"LIB_DIR"/qmmp/Output" );
+ QDir pluginsDir (Qmmp::pluginsPath());
+ pluginsDir.cd("Output");
foreach ( QString fileName, pluginsDir.entryList ( QDir::Files ) )
{
QPluginLoader loader ( pluginsDir.absoluteFilePath ( fileName ) );
diff --git a/src/qmmp/qmmp.cpp b/src/qmmp/qmmp.cpp
index 820897dad..9020876fb 100644
--- a/src/qmmp/qmmp.cpp
+++ b/src/qmmp/qmmp.cpp
@@ -19,17 +19,22 @@
***************************************************************************/
#include <QDir>
+#include <QApplication>
#include <QSettings>
#ifndef QMMP_STR_VERSION
#define QMMP_STR_VERSION "0.3.0"
#endif
+#ifndef LIB_DIR
+#define "/lib"
+#endif
+
#include "qmmp.h"
QString Qmmp::m_configFile;
-QString Qmmp::configFile()
+const QString Qmmp::configFile()
{
return m_configFile.isEmpty() ? QDir::homePath() +"/.qmmp/qmmprc" : m_configFile;
}
@@ -39,12 +44,12 @@ void Qmmp::setConfigFile(const QString &path)
m_configFile = path;
}
-QString Qmmp::strVersion()
+const QString Qmmp::strVersion()
{
#ifdef SVN_REVISION
return QString("%1-%2").arg(QMMP_STR_VERSION).arg(SVN_REVISION);
#else
- return QMMP_VERSION_STR;
+ return QMMP_STR_VERSION;
#endif
}
@@ -60,7 +65,7 @@ bool Qmmp::useProxyAuth()
return settings.value("Proxy/authentication", FALSE).toBool();
}
-QUrl Qmmp::proxy()
+const QUrl Qmmp::proxy()
{
QSettings settings(configFile(), QSettings::IniFormat);
return settings.value("Proxy/url").toUrl();
@@ -83,3 +88,14 @@ void Qmmp::setProxy (const QUrl &proxy)
QSettings settings(configFile(), QSettings::IniFormat);
settings.setValue("Proxy/url", proxy);
}
+
+const QString Qmmp::pluginsPath()
+{
+#ifdef QMMP_INSTALL_PREFIX
+ QDir dir(QMMP_INSTALL_PREFIX"/"LIB_DIR"/qmmp");
+ qDebug(QMMP_INSTALL_PREFIX"/"LIB_DIR"/qmmp");
+#else
+ QDir dir(qApp->applicationDirPath() + "/../"LIB_DIR"/qmmp");
+#endif
+ return dir.canonicalPath();
+}
diff --git a/src/qmmp/qmmp.h b/src/qmmp/qmmp.h
index 54fe2984a..91950cce3 100644
--- a/src/qmmp/qmmp.h
+++ b/src/qmmp/qmmp.h
@@ -57,7 +57,7 @@ public:
/*!
* Returns configuration file path.
*/
- static QString configFile();
+ static const QString configFile();
/*!
* Overrides default configuration file path.
*/
@@ -65,7 +65,7 @@ public:
/*!
* Returns %Qmmp library version.
*/
- static QString strVersion();
+ static const QString strVersion();
/*!
* Returns \b true if global proxy is enabled, otherwise returns \b false
*/
@@ -77,7 +77,7 @@ public:
/*!
* Returns global proxy url.
*/
- static QUrl proxy();
+ static const QUrl proxy();
/*!
* Enables or disables global proxy.
* @param yes Proxy enable state (\b true - enabled, \b false - disabled)
@@ -92,6 +92,10 @@ public:
* Sets global proxy url to \b proxy
*/
static void setProxy (const QUrl &proxy);
+ /*!
+ * Returns the location of the installed Qmmp plugins.
+ */
+ static const QString pluginsPath();
private:
static QString m_configFile;
diff --git a/src/qmmp/visual.cpp b/src/qmmp/visual.cpp
index c8874e1d9..366492986 100644
--- a/src/qmmp/visual.cpp
+++ b/src/qmmp/visual.cpp
@@ -204,9 +204,8 @@ void Visual::checkFactories()
m_files.clear();
m_factories = new QList<VisualFactory *>;
- QDir pluginsDir (qApp->applicationDirPath());
- pluginsDir.cdUp();
- pluginsDir.cd("./"LIB_DIR"/qmmp/Visual");
+ QDir pluginsDir (Qmmp::pluginsPath());
+ pluginsDir.cd("Visual");
foreach (QString fileName, pluginsDir.entryList(QDir::Files))
{
QPluginLoader loader(pluginsDir.absoluteFilePath(fileName));
diff --git a/src/qmmpui/CMakeLists.txt b/src/qmmpui/CMakeLists.txt
index 4434f3a81..490c7fd1e 100644
--- a/src/qmmpui/CMakeLists.txt
+++ b/src/qmmpui/CMakeLists.txt
@@ -13,12 +13,6 @@ ADD_DEFINITIONS(${QT_DEFINITIONS})
ADD_DEFINITIONS(-DQT_NO_DEBUG)
ADD_DEFINITIONS(-DQT_SHARED)
ADD_DEFINITIONS(-DQT_THREAD)
-ADD_DEFINITIONS(-DLIB_DIR=\\\"\\/${LIB_DIR}\\\")
-IF(SVN_VERSION)
-ADD_DEFINITIONS(-DQMMP_STR_VERSION=\\\"${QMMP_VERSION}-svn\\\")
-ELSE(SVN_VERSION)
-ADD_DEFINITIONS(-DQMMP_STR_VERSION=\\\"${QMMP_VERSION}\\\")
-ENDIF(SVN_VERSION)
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/src/qmmpui/commandlinemanager.cpp b/src/qmmpui/commandlinemanager.cpp
index 9320064f1..4a8ae40af 100644
--- a/src/qmmpui/commandlinemanager.cpp
+++ b/src/qmmpui/commandlinemanager.cpp
@@ -25,7 +25,7 @@
#include <cstdlib>
#include <iostream>
-
+#include <qmmp/qmmp.h>
#include "commandlinemanager.h"
using namespace std;
@@ -40,9 +40,8 @@ static void checkOptions()
files.clear();
options = new QList<CommandLineOption *>;
- QDir pluginsDir (qApp->applicationDirPath());
- pluginsDir.cdUp();
- pluginsDir.cd("./"LIB_DIR"/qmmp/CommandLineOptions");
+ QDir pluginsDir (Qmmp::pluginsPath());
+ pluginsDir.cd("CommadLineOptions");
foreach (QString fileName, pluginsDir.entryList(QDir::Files))
{
QPluginLoader loader(pluginsDir.absoluteFilePath(fileName));
diff --git a/src/qmmpui/filedialog.cpp b/src/qmmpui/filedialog.cpp
index 9ab1c57c2..e094f5006 100644
--- a/src/qmmpui/filedialog.cpp
+++ b/src/qmmpui/filedialog.cpp
@@ -156,10 +156,8 @@ void FileDialog::registerBuiltinFactories()
void FileDialog::registerExternalFactories()
{
- QDir pluginsDir (qApp->applicationDirPath());
- pluginsDir.cdUp();
- pluginsDir.cd("./"LIB_DIR"/qmmp/FileDialogs");
-
+ QDir pluginsDir (Qmmp::pluginsPath());
+ pluginsDir.cd("FileDialogs");
foreach (QString fileName, pluginsDir.entryList(QDir::Files))
{
QPluginLoader loader(pluginsDir.absoluteFilePath(fileName));
@@ -208,7 +206,7 @@ FileDialog* FileDialog::instance()
QStringList names = factories.keys();
- if(!names.contains(f_dialogName))
+ if (!names.contains(f_dialogName))
f_dialogName = "qt_dialog";
if (m_current_factory != f_dialogName || !_instance)
@@ -275,7 +273,10 @@ void FileDialog::popup(QWidget *parent,
{
QStringList files;
if (m == AddFiles || m == AddFile || m == AddDirsFiles)
- files = getOpenFileNames(parent, caption, *dir, filters);
+ {
+ QString selectedFilter;
+ files = getOpenFileNames(parent, caption, *dir, filters, &selectedFilter);
+ }
else if (m == AddDirs || m == AddDir)
{
QString path = getExistingDirectory(parent, caption, *dir);
diff --git a/src/qmmpui/general.cpp b/src/qmmpui/general.cpp
index 9f47ddc1f..7bf9514d7 100644
--- a/src/qmmpui/general.cpp
+++ b/src/qmmpui/general.cpp
@@ -36,10 +36,8 @@ static void checkFactories()
{
files.clear();
factories = new QList<GeneralFactory *>;
-
- QDir pluginsDir (qApp->applicationDirPath());
- pluginsDir.cdUp();
- pluginsDir.cd("./"LIB_DIR"/qmmp/General");
+ QDir pluginsDir (Qmmp::pluginsPath());
+ pluginsDir.cd("General");
foreach (QString fileName, pluginsDir.entryList(QDir::Files))
{
QPluginLoader loader(pluginsDir.absoluteFilePath(fileName));
diff --git a/src/qmmpui/playlistparser.cpp b/src/qmmpui/playlistparser.cpp
index 673abcb0f..7b41f35c9 100644
--- a/src/qmmpui/playlistparser.cpp
+++ b/src/qmmpui/playlistparser.cpp
@@ -22,7 +22,7 @@
#include <QObject>
#include <QList>
#include <QApplication>
-
+#include <qmmp/qmmp.h>
#include "playlistformat.h"
#include "playlistparser.h"
@@ -78,9 +78,8 @@ void PlaylistParser::loadExternalPlaylistFormats()
{
if (!m_formats.isEmpty())
return;
- QDir pluginsDir (qApp->applicationDirPath());
- pluginsDir.cdUp();
- pluginsDir.cd("./"LIB_DIR"/qmmp/PlaylistFormats");
+ QDir pluginsDir (Qmmp::pluginsPath());
+ pluginsDir.cd("PlaylistFormats");
foreach (QString fileName, pluginsDir.entryList(QDir::Files))
{
QPluginLoader loader(pluginsDir.absoluteFilePath(fileName));
diff --git a/src/qmmpui/qmmpui.pro b/src/qmmpui/qmmpui.pro
index 7027a9070..af48ad1fa 100644
--- a/src/qmmpui/qmmpui.pro
+++ b/src/qmmpui/qmmpui.pro
@@ -17,15 +17,6 @@ unix : isEmpty(LIB_DIR){
LIB_DIR = /lib
}
-unix : DEFINES += LIB_DIR=\\\"$$LIB_DIR\\\"
-
-DEFINES += QMMP_VERSION=$$QMMP_VERSION
-contains(CONFIG, SVN_VERSION){
- DEFINES += QMMP_STR_VERSION=\\\"$$QMMP_VERSION-svn\\\"
-}else {
- DEFINES += QMMP_STR_VERSION=\\\"$$QMMP_VERSION\\\"
-}
-
VERSION = $$QMMP_VERSION
target.path = $$LIB_DIR