diff options
Diffstat (limited to 'src/qmmpui')
| -rw-r--r-- | src/qmmpui/uihelper.cpp | 28 | ||||
| -rw-r--r-- | src/qmmpui/uihelper.h | 9 |
2 files changed, 36 insertions, 1 deletions
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; }; |
