aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/app/builtincommandlineoption.cpp15
-rw-r--r--src/plugins/Ui/skinned/mainwindow.cpp18
-rw-r--r--src/plugins/Ui/skinned/mainwindow.h1
-rw-r--r--src/qmmp/qmmp.cpp2
-rw-r--r--src/qmmpui/uihelper.cpp28
-rw-r--r--src/qmmpui/uihelper.h9
6 files changed, 44 insertions, 29 deletions
diff --git a/src/app/builtincommandlineoption.cpp b/src/app/builtincommandlineoption.cpp
index f9d246c8f..3370c882e 100644
--- a/src/app/builtincommandlineoption.cpp
+++ b/src/app/builtincommandlineoption.cpp
@@ -23,6 +23,7 @@
#include <qmmpui/mediaplayer.h>
#include <qmmpui/uihelper.h>
#include <qmmpui/filedialog.h>
+#include <qmmpui/uihelper.h>
#include <qmmp/metadatamanager.h>
#include "builtincommandlineoption.h"
@@ -159,21 +160,11 @@ void BuiltinCommandLineOption::executeCommand(const QString &option_string,
}
else if (option_string == "--add-file")
{
- QString m_lastDir;
- QStringList filters;
- filters << tr("All Supported Bitstreams")+" (" +
- MetaDataManager::instance()->nameFilters().join (" ") +")";
- filters << MetaDataManager::instance()->filters();
- FileDialog::popup(qApp->activeWindow(), FileDialog::AddDirsFiles, &m_lastDir,
- pl_manager->selectedPlayList(), SLOT(add(const QStringList&)),
- tr("Select one or more files to open"), filters.join(";;"));
+ UiHelper::instance()->addFile();
}
else if (option_string == "--add-dir")
{
- QString m_lastDir;
- FileDialog::popup(qApp->activeWindow(), FileDialog::AddDirs, &m_lastDir,
- pl_manager->selectedPlayList(), SLOT(add(const QStringList&)),
- tr("Choose a directory"));
+ UiHelper::instance()->addDirectory();
}
else if (option_string == "--volume" && !args.isEmpty())
{
diff --git a/src/plugins/Ui/skinned/mainwindow.cpp b/src/plugins/Ui/skinned/mainwindow.cpp
index 3c025484c..8398807d5 100644
--- a/src/plugins/Ui/skinned/mainwindow.cpp
+++ b/src/plugins/Ui/skinned/mainwindow.cpp
@@ -216,20 +216,12 @@ void MainWindow::closeEvent (QCloseEvent *)
void MainWindow::addDir()
{
- FileDialog::popup(this, FileDialog::AddDirs, &m_lastDir,
- m_pl_manager->selectedPlayList(), SLOT(add(const QStringList&)),
- tr("Choose a directory"));
+ m_generalHandler->addDirectory(this);
}
void MainWindow::addFile()
{
- QStringList filters;
- filters << tr("All Supported Bitstreams")+" (" +
- MetaDataManager::instance()->nameFilters().join (" ") +")";
- filters << MetaDataManager::instance()->filters();
- FileDialog::popup(this, FileDialog::AddDirsFiles, &m_lastDir,
- m_pl_manager->selectedPlayList(), SLOT(add(const QStringList&)),
- tr("Select one or more files to open"), filters.join(";;"));
+ m_generalHandler->addFile(this);
}
void MainWindow::changeEvent (QEvent * event)
@@ -248,8 +240,6 @@ void MainWindow::readSettings()
settings.beginGroup("MainWindow");
move(settings.value("pos", QPoint(100, 100)).toPoint()); //geometry
-
- m_lastDir = settings.value("last_dir","/").toString(); //last directory
m_startHidden = settings.value("start_hidden", false).toBool();
settings.endGroup();
@@ -323,8 +313,6 @@ void MainWindow::writeSettings()
settings.beginGroup("MainWindow");
//geometry
settings.setValue("pos", this->pos());
- //last directory
- settings.setValue("last_dir",m_lastDir);
settings.endGroup();
// Repeat/Shuffle
settings.beginGroup("Playlist");
@@ -482,6 +470,7 @@ void MainWindow::loadPlaylist()
QString mask = tr("Playlist Files")+" (" + l.join(" *.").prepend("*.") + ")";
//TODO use nonmodal dialog and multiplier playlists
+ QString m_lastDir;
QString f_name = FileDialog::getOpenFileName(this,tr("Open Playlist"),m_lastDir,mask);
if (!f_name.isEmpty())
{
@@ -501,6 +490,7 @@ void MainWindow::savePlaylist()
{
QStringList l;
QList<PlaylistFormat*> p_list = PlaylistParser::instance()->formats();
+ QString m_lastDir;
if (!p_list.isEmpty())
{
foreach(PlaylistFormat* fmt,p_list)
diff --git a/src/plugins/Ui/skinned/mainwindow.h b/src/plugins/Ui/skinned/mainwindow.h
index 4fa4656c4..9d8a8e519 100644
--- a/src/plugins/Ui/skinned/mainwindow.h
+++ b/src/plugins/Ui/skinned/mainwindow.h
@@ -106,7 +106,6 @@ private:
int m_preamp;
EqWidget *m_equalizer;
MainVisual *m_vis;
- QString m_lastDir;
bool m_update;
Skin *m_skin;
JumpToTrackDialog* m_jumpDialog;
diff --git a/src/qmmp/qmmp.cpp b/src/qmmp/qmmp.cpp
index 01228d5e5..aeab23bed 100644
--- a/src/qmmp/qmmp.cpp
+++ b/src/qmmp/qmmp.cpp
@@ -25,7 +25,7 @@
#include <QByteArray>
#ifndef QMMP_STR_VERSION
-#define QMMP_STR_VERSION "0.4.0"
+#define QMMP_STR_VERSION "0.6.0"
#endif
#ifndef LIB_DIR
diff --git a/src/qmmpui/uihelper.cpp b/src/qmmpui/uihelper.cpp
index 158bab3c5..abc11680a 100644
--- a/src/qmmpui/uihelper.cpp
+++ b/src/qmmpui/uihelper.cpp
@@ -22,6 +22,9 @@
#include <QMenu>
#include <QWidget>
#include <QAction>
+#include <QSettings>
+#include <qmmp/metadatamanager.h>
+#include <qmmpui/filedialog.h>
#include "general.h"
#include "generalfactory.h"
#include "uihelper.h"
@@ -35,10 +38,15 @@ UiHelper::UiHelper(QObject *parent)
m_toolsMenu = 0;
m_playlistMenu = 0;
General::create(parent);
+ QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+ m_lastDir = settings.value("General/last_dir", QDir::homePath()).toString(); //last directory
}
UiHelper::~UiHelper()
-{}
+{
+ QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+ settings.setValue("General/last_dir",m_lastDir);
+}
bool UiHelper::visibilityControl()
{
@@ -114,6 +122,24 @@ QMenu *UiHelper::createMenu(MenuType type, const QString &title, QWidget *parent
return 0;
}
+void UiHelper::addFile(QWidget *parent, PlayListModel *model)
+{
+ QStringList filters;
+ filters << tr("All Supported Bitstreams")+" (" +
+ MetaDataManager::instance()->nameFilters().join (" ") +")";
+ filters << MetaDataManager::instance()->filters();
+ FileDialog::popup(parent, FileDialog::AddDirsFiles, &m_lastDir,
+ model, SLOT(add(const QStringList&)),
+ tr("Select one or more files to open"), filters.join(";;"));
+}
+
+void UiHelper::addDirectory(QWidget *parent, PlayListModel *model)
+{
+ FileDialog::popup(parent, FileDialog::AddDirs, &m_lastDir,
+ model, SLOT(add(const QStringList&)),
+ tr("Choose a directory"));
+}
+
void UiHelper::toggleVisibility()
{
emit toggleVisibilityCalled();
diff --git a/src/qmmpui/uihelper.h b/src/qmmpui/uihelper.h
index efc623bb7..ec33250e8 100644
--- a/src/qmmpui/uihelper.h
+++ b/src/qmmpui/uihelper.h
@@ -25,6 +25,9 @@
#include <QList>
#include <QPointer>
#include <QStringList>
+#include <QApplication>
+#include <qmmpui/playlistmanager.h>
+#include <qmmpui/playlistmodel.h>
class QAction;
class QMenu;
@@ -82,6 +85,11 @@ public:
* @param parent Parent widget
*/
QMenu *createMenu(MenuType type, const QString &title = QString(), QWidget *parent = 0);
+
+ void addFile(QWidget *parent = qApp->activeWindow(),
+ PlayListModel *model = PlayListManager::instance()->selectedPlayList());
+ void addDirectory(QWidget *parent = qApp->activeWindow(),
+ PlayListModel *model = PlayListManager::instance()->selectedPlayList());
/*!
* Returns a pointer to the object's instance.
*/
@@ -118,6 +126,7 @@ private:
QList <QAction*> m_playlistActions;
QPointer<QMenu> m_toolsMenu;
QPointer<QMenu> m_playlistMenu;
+ QString m_lastDir;
static UiHelper* m_instance;
};