From 1763b5effcfba6dd51f805c5948c9108f7c97348 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 2 Jul 2011 11:58:53 +0000 Subject: fixed command line option, removed unused code git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2259 90c681e8-e032-0410-971d-27865f9a5e38 --- src/app/builtincommandlineoption.cpp | 52 ++++++++++++++++++++++----- src/app/builtincommandlineoption.h | 8 ++++- src/plugins/General/hotkey/hotkeymanager.cpp | 3 +- src/plugins/General/statusicon/statusicon.cpp | 5 +-- src/plugins/Ui/skinned/mainwindow.cpp | 32 ----------------- src/plugins/Ui/skinned/mainwindow.h | 3 -- src/qmmpui/general.cpp | 5 --- src/qmmpui/general.h | 4 --- src/qmmpui/generalhandler.cpp | 5 +++ src/qmmpui/generalhandler.h | 4 +++ 10 files changed, 64 insertions(+), 57 deletions(-) diff --git a/src/app/builtincommandlineoption.cpp b/src/app/builtincommandlineoption.cpp index 29c2a50f5..68ad43771 100644 --- a/src/app/builtincommandlineoption.cpp +++ b/src/app/builtincommandlineoption.cpp @@ -21,10 +21,12 @@ #include #include #include +#include #include "builtincommandlineoption.h" BuiltinCommandLineOption::BuiltinCommandLineOption(QObject *parent) : QObject(parent) { + m_model = 0; m_options << "--enqueue" << "-e" << "--play" << "-p" << "--pause" << "-u" @@ -69,16 +71,15 @@ const QString BuiltinCommandLineOption::helpString() const void BuiltinCommandLineOption::executeCommand(const QString &option_string, const QStringList &args, - const QString &cwd/*, - MainWindow *mw*/) + const QString &cwd) { SoundCore *core = SoundCore::instance(); MediaPlayer *player = MediaPlayer::instance(); + PlayListManager *pl_manager = PlayListManager::instance(); if(!core || !player) return; - /*if(option_string == "--enqueue" || option_string == "-e" || option_string.isEmpty()) + if(option_string == "--enqueue" || option_string == "-e" || option_string.isEmpty()) { - //QStringList args = commands.value(key); if(args.isEmpty()) return; QStringList full_path_list; @@ -89,10 +90,28 @@ void BuiltinCommandLineOption::executeCommand(const QString &option_string, else full_path_list << cwd + "/" + s; } - //clear playlist if option is empty - //mw->setFileList(full_path_list, option_string.isEmpty()); + pl_manager->activatePlayList(pl_manager->selectedPlayList()); + if(option_string.isEmpty()) //clear playlist if option is empty + { + if (core->state() != Qmmp::Stopped) + { + core->stop(); + qApp->processEvents(); //receive stop signal + } + m_model = pl_manager->selectedPlayList(); + m_model->clear(); + connect(m_model, SIGNAL(itemAdded(PlayListItem*)), player, SLOT(play())); + connect(core, SIGNAL(stateChanged(Qmmp::State)), SLOT(disconnectPl())); + connect(m_model, SIGNAL(loaderFinished()), SLOT(disconnectPl())); + m_model->add(full_path_list); + } + else + { + pl_manager->selectedPlayList()->add(full_path_list); + return; + } } - else*/ if (option_string == "--play" || option_string == "-p") + else if (option_string == "--play" || option_string == "-p") { player->play(); } @@ -118,7 +137,10 @@ void BuiltinCommandLineOption::executeCommand(const QString &option_string, } else if (option_string == "--play-pause" || option_string == "-t") { - //mw->playPause(); + if (core->state() == Qmmp::Playing) + core->pause(); + else + player->play(); } else if (option_string == "--jump-to-file" || option_string == "-j") { @@ -128,10 +150,11 @@ void BuiltinCommandLineOption::executeCommand(const QString &option_string, { //mw->close(); qApp->closeAllWindows(); + qApp->quit(); } else if (option_string == "--toggle-visibility") { - //mw->toggleVisibility(); + GeneralHandler::instance()->toggleVisibility(); } else if (option_string == "--add-file") { @@ -162,3 +185,14 @@ QHash BuiltinCommandLineOption::splitArgs(const QStringLi } return commands; } + +void BuiltinCommandLineOption::disconnectPl() +{ + if(m_model) + { + disconnect(m_model, SIGNAL(itemAdded(PlayListItem*)), MediaPlayer::instance(), SLOT(play())); + disconnect(m_model, SIGNAL(loaderFinished()), this, SLOT(disconnectPl())); + disconnect(SoundCore::instance(), SIGNAL(stateChanged(Qmmp::State)), this, SLOT(disconnectPl())); + m_model = 0; + } +} diff --git a/src/app/builtincommandlineoption.h b/src/app/builtincommandlineoption.h index 08d8e2df3..e771d9c63 100644 --- a/src/app/builtincommandlineoption.h +++ b/src/app/builtincommandlineoption.h @@ -24,6 +24,8 @@ #include #include +class PlayListModel; + /** @author Vladimir Kuznetsov */ @@ -42,11 +44,15 @@ public: bool identify(const QString& str)const; const QString helpString()const; void executeCommand(const QString& option, const QStringList &args, - const QString &cwd/*, MainWindow *mw*/); + const QString &cwd); QHash splitArgs(const QStringList &args) const; +private slots: + void disconnectPl(); + private: QStringList m_options; + PlayListModel *m_model; }; #endif diff --git a/src/plugins/General/hotkey/hotkeymanager.cpp b/src/plugins/General/hotkey/hotkeymanager.cpp index c21431cea..9eddce3a0 100644 --- a/src/plugins/General/hotkey/hotkeymanager.cpp +++ b/src/plugins/General/hotkey/hotkeymanager.cpp @@ -45,6 +45,7 @@ extern "C" #include #include #include +#include #include "hotkeymanager.h" quint32 Hotkey::defaultKey() @@ -164,7 +165,7 @@ bool HotkeyManager::eventFilter(QObject* o, QEvent* e) MediaPlayer::instance()->previous(); break; case Hotkey::SHOW_HIDE: - toggleVisibility(); + GeneralHandler::instance()->toggleVisibility(); break; case Hotkey::VOLUME_UP: case Hotkey::VOLUME_DOWN: diff --git a/src/plugins/General/statusicon/statusicon.cpp b/src/plugins/General/statusicon/statusicon.cpp index 78302ecd1..8311f7137 100644 --- a/src/plugins/General/statusicon/statusicon.cpp +++ b/src/plugins/General/statusicon/statusicon.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2008-2010 by Ilya Kotov * + * Copyright (C) 2008-2011 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -30,6 +30,7 @@ #include #include +#include #include "qmmptrayicon.h" #include "statusicon.h" @@ -129,7 +130,7 @@ void StatusIcon::showMetaData() void StatusIcon::trayActivated(QSystemTrayIcon::ActivationReason reason) { if (reason == QSystemTrayIcon::Trigger) - toggleVisibility(); + GeneralHandler::instance()->toggleVisibility(); else if (reason == QSystemTrayIcon::MiddleClick) { if (SoundCore::instance()->state() == Qmmp::Stopped) diff --git a/src/plugins/Ui/skinned/mainwindow.cpp b/src/plugins/Ui/skinned/mainwindow.cpp index cfb6bf927..972cf967e 100644 --- a/src/plugins/Ui/skinned/mainwindow.cpp +++ b/src/plugins/Ui/skinned/mainwindow.cpp @@ -49,7 +49,6 @@ #include "visualmenu.h" #include "windowsystem.h" #include "actionmanager.h" -//#include "builtincommandlineoption.h" #define KEY_OFFSET 10000 @@ -183,7 +182,6 @@ void MainWindow::previous() void MainWindow::showState(Qmmp::State state) { - disconnectPl(); switch ((int) state) { case Qmmp::Playing: @@ -525,26 +523,6 @@ void MainWindow::savePlaylist() qWarning("Error: There is no registered playlist parsers"); } -void MainWindow::setFileList(const QStringList &l, bool clear) -{ - m_pl_manager->activatePlayList(m_pl_manager->selectedPlayList()); - if(!clear) - { - m_pl_manager->selectedPlayList()->add(l); - return; - } - if (m_core->state() != Qmmp::Stopped) - { - stop(); - qApp->processEvents(); //receive stop signal - } - m_model = m_pl_manager->selectedPlayList(); - m_model->clear(); - connect(m_model, SIGNAL(itemAdded(PlayListItem*)), SLOT(play())); - connect(m_model, SIGNAL(loaderFinished()), SLOT(disconnectPl())); - m_model->add(l); -} - void MainWindow::playPause() { if (m_core->state() == Qmmp::Playing) @@ -570,16 +548,6 @@ void MainWindow::handleCloseRequest() QApplication::closeAllWindows(); } -void MainWindow::disconnectPl() -{ - if(m_model) - { - disconnect(m_model, SIGNAL(itemAdded(PlayListItem*)), this, SLOT(play())); - disconnect(m_model, SIGNAL(loaderFinished()), this, SLOT(disconnectPl())); - m_model = 0; - } -} - void MainWindow::addUrl() { AddUrlDialog::popup(this, m_pl_manager->selectedPlayList()); diff --git a/src/plugins/Ui/skinned/mainwindow.h b/src/plugins/Ui/skinned/mainwindow.h index 0069ecafb..542b154a9 100644 --- a/src/plugins/Ui/skinned/mainwindow.h +++ b/src/plugins/Ui/skinned/mainwindow.h @@ -77,9 +77,7 @@ public slots: void loadPlaylist(); void savePlaylist(); - void setFileList(const QStringList&, bool clear = true); void about(); - void updateSettings(); protected: @@ -94,7 +92,6 @@ private slots: void forward(); void backward(); void handleCloseRequest(); - void disconnectPl(); private: void readSettings(); diff --git a/src/qmmpui/general.cpp b/src/qmmpui/general.cpp index f6078cd13..2c9bef7c4 100644 --- a/src/qmmpui/general.cpp +++ b/src/qmmpui/general.cpp @@ -74,11 +74,6 @@ void General::exit() emit exitCalled(); } -void General::toggleVisibility() -{ - emit toggleVisibilityCalled(); -} - QList *General::factories() { checkFactories(); diff --git a/src/qmmpui/general.h b/src/qmmpui/general.h index 700a021b2..4c80c3de1 100644 --- a/src/qmmpui/general.h +++ b/src/qmmpui/general.h @@ -76,10 +76,6 @@ public slots: * Tells the player to exit. */ void exit(); - /*! - * Toggles player window visibility. - */ - void toggleVisibility(); private: QMap m_strValues; diff --git a/src/qmmpui/generalhandler.cpp b/src/qmmpui/generalhandler.cpp index 2a163b0c1..5494b4d22 100644 --- a/src/qmmpui/generalhandler.cpp +++ b/src/qmmpui/generalhandler.cpp @@ -163,6 +163,11 @@ QMenu *GeneralHandler::createMenu(MenuType type, const QString &title, QWidget * return 0; } +void GeneralHandler::toggleVisibility() +{ + emit toggleVisibilityCalled(); +} + GeneralHandler* GeneralHandler::instance() { return m_instance; diff --git a/src/qmmpui/generalhandler.h b/src/qmmpui/generalhandler.h index f7dcff968..209652434 100644 --- a/src/qmmpui/generalhandler.h +++ b/src/qmmpui/generalhandler.h @@ -95,6 +95,10 @@ public: * @param parent Parent widget */ QMenu *createMenu(MenuType type, const QString &title = QString(), QWidget *parent = 0); + /*! + * Toggles player window visibility. + */ + void toggleVisibility(); /*! * Returns a pointer to the object's instance. */ -- cgit v1.2.3-13-gbd6f