diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-09-09 19:45:15 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-09-09 19:45:15 +0000 |
| commit | 0e860ae0ba0c6ed9f14b9d01a28b44ae64d91532 (patch) | |
| tree | 33da2a2b96d40e270b4bbe3a124bdf7e23b788f5 /src/ui | |
| parent | 3188ada336102df3bf8d77cdafdab1a8f65f4d86 (diff) | |
| download | qmmp-0e860ae0ba0c6ed9f14b9d01a28b44ae64d91532.tar.gz qmmp-0e860ae0ba0c6ed9f14b9d01a28b44ae64d91532.tar.bz2 qmmp-0e860ae0ba0c6ed9f14b9d01a28b44ae64d91532.zip | |
new libqmmp api, a lot of features has been temporary disabled
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@546 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/ui')
| -rw-r--r-- | src/ui/builtincommandlineoption.cpp | 4 | ||||
| -rw-r--r-- | src/ui/display.cpp | 69 | ||||
| -rw-r--r-- | src/ui/display.h | 18 | ||||
| -rw-r--r-- | src/ui/eqwidget.cpp | 4 | ||||
| -rw-r--r-- | src/ui/eqwidget.h | 2 | ||||
| -rw-r--r-- | src/ui/mainwindow.cpp | 98 | ||||
| -rw-r--r-- | src/ui/mainwindow.h | 5 | ||||
| -rw-r--r-- | src/ui/monostereo.h | 1 | ||||
| -rw-r--r-- | src/ui/playlist.cpp | 478 | ||||
| -rw-r--r-- | src/ui/playlist.h | 5 | ||||
| -rw-r--r-- | src/ui/pluginitem.cpp | 4 | ||||
| -rw-r--r-- | src/ui/positionbar.cpp | 23 | ||||
| -rw-r--r-- | src/ui/symboldisplay.h | 9 | ||||
| -rw-r--r-- | src/ui/titlebar.cpp | 41 | ||||
| -rw-r--r-- | src/ui/titlebar.h | 5 |
15 files changed, 453 insertions, 313 deletions
diff --git a/src/ui/builtincommandlineoption.cpp b/src/ui/builtincommandlineoption.cpp index e35914f34..32e22fb96 100644 --- a/src/ui/builtincommandlineoption.cpp +++ b/src/ui/builtincommandlineoption.cpp @@ -92,13 +92,13 @@ void BuiltinCommandLineOption::executeCommand(const QString & option_string, Mai else if (option_string == "--next") { mw->next(); - if (!mw->soundCore()->isInitialized()) + if (mw->soundCore()->state() == Qmmp::Stopped) mw->play(); } else if (option_string == "--previous") { mw->previous(); - if (!mw->soundCore()->isInitialized()) + if (mw->soundCore()->state() == Qmmp::Stopped) mw->play(); } else if (option_string == "--play-pause") diff --git a/src/ui/display.cpp b/src/ui/display.cpp index 7c7b7e961..c338050bb 100644 --- a/src/ui/display.cpp +++ b/src/ui/display.cpp @@ -25,6 +25,7 @@ #include <QMenu> #include <qmmp/output.h> +#include <qmmp/soundcore.h> #include "skin.h" #include "mainvisual.h" #include "button.h" @@ -82,23 +83,23 @@ MainDisplay::MainDisplay (QWidget *parent) vis->show(); m_eqButton = new ToggleButton (this,Skin::BT_EQ_ON_N,Skin::BT_EQ_ON_P, - Skin::BT_EQ_OFF_N,Skin::BT_EQ_OFF_P); + Skin::BT_EQ_OFF_N,Skin::BT_EQ_OFF_P); m_eqButton->move (219,58); m_eqButton->show(); m_plButton = new ToggleButton (this,Skin::BT_PL_ON_N,Skin::BT_PL_ON_P, - Skin::BT_PL_OFF_N,Skin::BT_PL_OFF_P); + Skin::BT_PL_OFF_N,Skin::BT_PL_OFF_P); m_plButton->move (241,58); m_plButton->show(); m_repeatButton = new ToggleButton (this,Skin::REPEAT_ON_N,Skin::REPEAT_ON_P, - Skin::REPEAT_OFF_N,Skin::REPEAT_OFF_P); + Skin::REPEAT_OFF_N,Skin::REPEAT_OFF_P); connect(m_repeatButton,SIGNAL(clicked(bool)),this,SIGNAL(repeatableToggled(bool))); m_repeatButton->move (210,89); m_repeatButton->show(); m_shuffleButton = new ToggleButton (this,Skin::SHUFFLE_ON_N,Skin::SHUFFLE_ON_P, - Skin::SHUFFLE_OFF_N,Skin::SHUFFLE_OFF_P); + Skin::SHUFFLE_OFF_N,Skin::SHUFFLE_OFF_P); connect(m_shuffleButton,SIGNAL(clicked(bool)),this,SIGNAL(shuffleToggled(bool))); m_shuffleButton->move (164,89); m_shuffleButton->show(); @@ -147,23 +148,60 @@ MainDisplay::~MainDisplay() settings.setValue ("Equalizer/visible",m_eqButton->isChecked()); } -void MainDisplay::setTime (int t) +void MainDisplay::setTime (qint64 t) { - posbar->setValue (t); + posbar->setValue (t); //TODO use qint64 m_timeIndicator->setTime(t); } -void MainDisplay::setMaxTime (long mt) // TODO: should be removed +void MainDisplay::setDuration(qint64 t) { - posbar->setMax (mt); - m_timeIndicator->setSongDuration(mt); + posbar->setMax (t); + m_timeIndicator->setSongDuration(t); } +void MainDisplay::setState(Qmmp::State state) +{ + switch ((int) state) + { + case Qmmp::Playing: + { + m_playstatus->setStatus(PlayStatus::PLAY); + m_timeIndicator->setNeedToShowTime(TRUE); + setDuration(m_core->length()); + break; + } + /*case OutputState::Buffering: + { + //ui.label->setText("Buffering"); + break; + }*/ + case Qmmp::Paused: + { + m_playstatus->setStatus(PlayStatus::PAUSE); + break; + } + case Qmmp::Stopped: + { + m_playstatus->setStatus(PlayStatus::STOP); + m_monoster->setChannels (0); + m_timeIndicator->setNeedToShowTime(FALSE); + posbar->setValue (0); + posbar->setMax (0); + break; + } + } +} void MainDisplay::updateSkin() { setPixmap (m_skin->getMain()); } +void MainDisplay::setSampleRate(int rate) +{ + m_freq->display(rate/1000); +} + void MainDisplay::setEQ (QWidget* w) { m_equlizer = w; @@ -180,7 +218,7 @@ void MainDisplay::setPL (QWidget* w) connect (m_playlist, SIGNAL (closed ()), m_plButton, SLOT (click())); } -void MainDisplay::setInfo(const OutputState &st) +/*void MainDisplay::setInfo(const OutputState &st) { @@ -229,6 +267,17 @@ void MainDisplay::setInfo(const OutputState &st) break; } +}*/ + +void MainDisplay::setSoundCore(SoundCore *core) +{ + m_core = core; + connect(core, SIGNAL(elapsedChanged(qint64)), SLOT(setTime(qint64))); + //connect(core, SIGNAL(totalTimeChanged(qint64 time) + connect(core, SIGNAL(bitrateChanged(int)), m_kbps, SLOT(display(int))); + connect(core, SIGNAL(frequencyChanged(int)), SLOT(setSampleRate(int))); + connect(core, SIGNAL(channelsChanged(int)), m_monoster, SLOT(setChannels(int))); + connect(core, SIGNAL(stateChanged(Qmmp::State)), SLOT(setState(Qmmp::State))); } bool MainDisplay::isPlaylistVisible() const diff --git a/src/ui/display.h b/src/ui/display.h index 15e0111d6..4e7623f2f 100644 --- a/src/ui/display.h +++ b/src/ui/display.h @@ -22,9 +22,7 @@ #include <QPixmap> -class TimeIndicator; - - +#include <qmmp/statehandler.h> #include "pixmapwidget.h" /** @@ -33,6 +31,7 @@ class TimeIndicator; class QPushButton; class QLabel; +class TimeIndicator; class TitleBar; class PositionBar; class Number; @@ -46,6 +45,7 @@ class PlayStatus; class VolumeBar; class BalanceBar; class MainWindow; +class SoundCore; class MainDisplay : public PixmapWidget { @@ -55,10 +55,10 @@ public: ~MainDisplay(); - void setMaxTime(long); void setEQ(QWidget*); void setPL(QWidget*); - void setInfo(const OutputState &st); + //void setInfo(const OutputState &st); + void setSoundCore(SoundCore *core); bool isEqualizerVisible()const; bool isPlaylistVisible()const; bool isRepeatable()const; @@ -67,11 +67,13 @@ public: void setIsShuffle(bool); public slots: - void setTime(int); void hideTimeDisplay(); + void setDuration(qint64); + signals: void repeatableToggled(bool); void shuffleToggled(bool); + protected: void wheelEvent(QWheelEvent *); void mousePressEvent(QMouseEvent*); @@ -79,6 +81,9 @@ protected: private slots: void updateSkin(); void updateVolume(); + void setSampleRate(int rate); + void setTime(qint64); + void setState(Qmmp::State state); private: QWidget* m_equlizer; @@ -101,6 +106,7 @@ private: BalanceBar* m_balanceBar; MainWindow* m_mw; TimeIndicator* m_timeIndicator; + SoundCore *m_core; }; #endif diff --git a/src/ui/eqwidget.cpp b/src/ui/eqwidget.cpp index 3f6e1c781..b9c5ede33 100644 --- a/src/ui/eqwidget.cpp +++ b/src/ui/eqwidget.cpp @@ -364,14 +364,14 @@ void EqWidget::loadPreset(const QString &name) } } -void EqWidget::setInfo(const OutputState &st) +/*void EqWidget::setInfo(const OutputState &st) { if (st.type() == OutputState::Volume) { m_titleBar->setVolume(st.leftVolume(),st.rightVolume()); } -} +}*/ EQPreset *EqWidget::findPreset(const QString &name) { diff --git a/src/ui/eqwidget.h b/src/ui/eqwidget.h index b6bf77ebf..7b3680a45 100644 --- a/src/ui/eqwidget.h +++ b/src/ui/eqwidget.h @@ -56,7 +56,7 @@ public: /*! * shows output volume and balance. Necessare for the shaded mode */ - void setInfo(const OutputState &st); + //void setInfo(const OutputState &st); signals: void valueChanged(); diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index cdb369040..d63237df7 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -123,20 +123,30 @@ MainWindow::MainWindow(const QStringList& args, BuiltinCommandLineOption* option display->setEQ(m_equalizer); display->setPL(m_playlist); + display->setSoundCore(m_core); m_vis = MainVisual::getPointer(); - m_core->addVisualization(m_vis); - m_core->showVisualization(this); + //m_core->addVisualization(m_vis); + //m_core->showVisualization(this); - connect(m_core, SIGNAL(outputStateChanged(const OutputState&)), + /*connect(m_core, SIGNAL(outputStateChanged(const OutputState&)), SLOT(showOutputState(const OutputState&))); connect(m_core, SIGNAL(decoderStateChanged(const DecoderState&)), SLOT(showDecoderState(const DecoderState&))); connect(m_core, SIGNAL(titleChanged(const QString&)), SLOT(changeTitle(const QString&))); connect(m_core, SIGNAL(bufferingProgress(int)), TextScroller::getPointer(), - SLOT(setProgress(int))); + SLOT(setProgress(int)));*/ + + + + connect(m_core, SIGNAL(finished()), SLOT(next())); + connect(m_core, SIGNAL(stateChanged(Qmmp::State)), SLOT(showState(Qmmp::State))); + connect(m_core, SIGNAL(elapsedChanged(qint64)),m_playlist, SLOT(setTime(qint64))); + connect(m_core, SIGNAL(elapsedChanged(qint64)),m_titlebar, SLOT(setTime(qint64))); + + updateEQ(); @@ -171,12 +181,12 @@ void MainWindow::play() disconnect(m_playListModel, SIGNAL(firstAdded()), this, SLOT(play())); m_playListModel->doCurrentVisibleRequest(); - if (m_core->isPaused()) + if (m_core->state() == Qmmp::Paused) { pause(); return; } - stop(); + //stop(); if (m_playListModel->count() == 0) return; @@ -188,21 +198,22 @@ void MainWindow::play() return; if (m_core->play(s)) { - display->setTime(0); + //display->setTime(0); + qDebug("play"); m_generalHandler->setTime(0); - display->setMaxTime(m_core->length()); + //display->setDuration(m_core->totalTime()); } else { //find out the reason why the playback failed - switch ((int) m_core->error()) + switch ((int) m_core->state()) { - case SoundCore::OutputError: + case Qmmp::FatalError: { stop(); return; //unrecovable error in output, so abort playing } - case SoundCore::DecoderError: + case Qmmp::NormalError: { //error in decoder, so we should try to play next song qApp->processEvents(); @@ -239,12 +250,12 @@ void MainWindow::seek(int pos) void MainWindow::forward() { - seek(m_elapsed + KEY_OFFSET); + seek(m_core->elapsed() + KEY_OFFSET); } void MainWindow::backward() { - seek(qMax(0,m_elapsed - KEY_OFFSET)); + seek(qMax(qint64(0), m_core->elapsed() - KEY_OFFSET)); } void MainWindow::setVolume(int volume, int balance) @@ -260,7 +271,7 @@ void MainWindow::pause(void) void MainWindow::stop() { - display->setTime(0); + //display->setTime(0); m_core->stop(); } void MainWindow::next() @@ -276,7 +287,7 @@ void MainWindow::next() return; } m_playlist->update(); - if (m_core->isInitialized()) + if (m_core->state() != Qmmp::Stopped) { stop(); m_elapsed = 0; @@ -294,7 +305,7 @@ void MainWindow::previous() } m_playlist->update(); - if (m_core->isInitialized()) + if (m_core->state() != Qmmp::Stopped) { stop(); play(); @@ -312,17 +323,50 @@ void MainWindow::updateEQ() m_core->setEQEnabled(m_equalizer->isEQEnabled()); } -void MainWindow::showOutputState(const OutputState &st) +void MainWindow::showState(Qmmp::State state) +{ + switch ((int) state) + { + case Qmmp::Playing: + { + m_generalHandler->setState(General::Playing); + if (m_playListModel->currentItem()) + { + SongInfo info = *m_playListModel->currentItem(); + if (info.isEmpty()) + info.setValue(SongInfo::TITLE, m_playlist->currentItem()->text()); + m_generalHandler->setSongInfo(info); + } + if (m_playlist->listWidget()) + m_playlist->listWidget()->updateList(); //removes progress message from TextScroller + break; + } + case Qmmp::Paused: + { + m_generalHandler->setState(General::Paused); + break; + } + case Qmmp::Stopped: + { + m_generalHandler->setState(General::Stopped); + m_playlist->setTime(-1); + m_titlebar->setTime(-1); + break; + } + } +} + +/*void MainWindow::showOutputState(const OutputState &st) { if (seeking) return; - display->setInfo(st); - m_playlist->setInfo(st, m_core->length(), m_playListModel->totalLength()); - m_titlebar->setInfo(st); - m_equalizer->setInfo(st); - switch ((int) st.type()) + //display->setInfo(st); + //m_playlist->setInfo(st, m_core->length(), m_playListModel->totalLength()); + //m_titlebar->setInfo(st); + // m_equalizer->setInfo(st); + /*switch ((int) st.type()) { case OutputState::Playing: { @@ -361,9 +405,9 @@ void MainWindow::showOutputState(const OutputState &st) { m_visMenu->updateActions(); } - } -} -void MainWindow::showDecoderState(const DecoderState &st) + }*/ +//} +/*void MainWindow::showDecoderState(const DecoderState &st) { switch ((int) st.type()) { @@ -407,7 +451,7 @@ void MainWindow::showDecoderState(const DecoderState &st) break; } } -} +}*/ void MainWindow::changeTitle(const QString &title) { @@ -677,7 +721,7 @@ void MainWindow::setFileList(const QStringList & l) void MainWindow::playPause() { - if (m_core->isInitialized()) + if (m_core->state() == Qmmp::Playing) pause(); else play(); diff --git a/src/ui/mainwindow.h b/src/ui/mainwindow.h index b0d535b04..3a2a7a52f 100644 --- a/src/ui/mainwindow.h +++ b/src/ui/mainwindow.h @@ -93,8 +93,9 @@ protected: virtual void keyPressEvent ( QKeyEvent* ); private slots: - void showOutputState(const OutputState&); - void showDecoderState(const DecoderState&); + //void showOutputState(const OutputState&); + //void showDecoderState(const DecoderState&); + void showState(Qmmp::State state); void changeTitle(const QString&); void clear(); void startSeek(); diff --git a/src/ui/monostereo.h b/src/ui/monostereo.h index be1419c5c..936cf0607 100644 --- a/src/ui/monostereo.h +++ b/src/ui/monostereo.h @@ -35,6 +35,7 @@ public: ~MonoStereo(); +public slots: void setChannels(int); private slots: diff --git a/src/ui/playlist.cpp b/src/ui/playlist.cpp index de79e3dcf..f4490fbec 100644 --- a/src/ui/playlist.cpp +++ b/src/ui/playlist.cpp @@ -40,12 +40,13 @@ #include "symboldisplay.h" #include "playlistcontrol.h" #include "keyboardmanager.h" -#include <qmmp/output.h> -PlayList::PlayList ( QWidget *parent ) - : QWidget ( parent ) +#include <qmmp/soundcore.h> + +PlayList::PlayList (QWidget *parent) + : QWidget (parent) { - setWindowFlags ( Qt::Dialog | Qt::FramelessWindowHint ); + setWindowFlags (Qt::Dialog | Qt::FramelessWindowHint); m_update = FALSE; m_resize = FALSE; @@ -54,62 +55,62 @@ PlayList::PlayList ( QWidget *parent ) createMenus(); - resize ( 275,116 ); - setMinimumSize ( 275,116 ); - setBaseSize ( 275,116 ); - m_listWidget = new ListWidget ( this ); + resize (275,116); + setMinimumSize (275,116); + setBaseSize (275,116); + m_listWidget = new ListWidget (this); m_listWidget->show(); - m_listWidget->setGeometry ( 12,20,243,58 ); + m_listWidget->setGeometry (12,20,243,58); - m_plslider = new PlayListSlider ( this ); + m_plslider = new PlayListSlider (this); m_plslider->show(); - setSizeIncrement ( 25,29 ); + setSizeIncrement (25,29); m_skin = Skin::getPointer(); - m_buttonAdd = new Button ( this,Skin::PL_BT_ADD,Skin::PL_BT_ADD ); - m_buttonAdd->move ( 11,86 ); - m_buttonSub = new Button ( this,Skin::PL_BT_SUB,Skin::PL_BT_SUB ); - m_buttonSub->move ( 40,86 ); - m_selectButton = new Button ( this,Skin::PL_BT_SEL,Skin::PL_BT_SEL ); - m_selectButton->move ( 70,86 ); - m_sortButton= new Button ( this,Skin::PL_BT_SORT,Skin::PL_BT_SORT ); - m_sortButton->move ( 99,86 ); - m_playlistButton = new Button ( this,Skin::PL_BT_LST,Skin::PL_BT_LST ); - - m_pl_control = new PlaylistControl ( this ); - m_pl_control->move ( 0,0 ); + m_buttonAdd = new Button (this,Skin::PL_BT_ADD,Skin::PL_BT_ADD); + m_buttonAdd->move (11,86); + m_buttonSub = new Button (this,Skin::PL_BT_SUB,Skin::PL_BT_SUB); + m_buttonSub->move (40,86); + m_selectButton = new Button (this,Skin::PL_BT_SEL,Skin::PL_BT_SEL); + m_selectButton->move (70,86); + m_sortButton= new Button (this,Skin::PL_BT_SORT,Skin::PL_BT_SORT); + m_sortButton->move (99,86); + m_playlistButton = new Button (this,Skin::PL_BT_LST,Skin::PL_BT_LST); + + m_pl_control = new PlaylistControl (this); + m_pl_control->move (0,0); m_pl_control->show(); - m_length_totalLength = new SymbolDisplay ( this,14 ); - m_length_totalLength->setAlignment ( Qt::AlignLeft ); + m_length_totalLength = new SymbolDisplay (this,14); + m_length_totalLength->setAlignment (Qt::AlignLeft); m_length_totalLength -> show(); - m_current_time = new SymbolDisplay ( this,6 ); + m_current_time = new SymbolDisplay (this,6); m_current_time->show(); - m_keyboardManager = new KeyboardManager ( this ); - - connect ( m_listWidget, SIGNAL ( selectionChanged() ), parent, SLOT ( replay() ) ); - - connect ( m_plslider, SIGNAL ( sliderMoved ( int ) ), m_listWidget, SLOT ( scroll ( int ) ) ); - connect ( m_listWidget, SIGNAL ( positionChanged ( int, int ) ), m_plslider, - SLOT ( setPos ( int, int ) ) ); - connect ( m_skin, SIGNAL ( skinChanged() ), this, SLOT ( update() ) ); - connect ( m_buttonAdd, SIGNAL ( clicked() ), SLOT ( showAddMenu() ) ); - connect ( m_buttonSub, SIGNAL ( clicked() ), SLOT ( showSubMenu() ) ); - connect ( m_selectButton, SIGNAL ( clicked() ), SLOT ( showSelectMenu() ) ); - connect ( m_sortButton, SIGNAL ( clicked() ), SLOT ( showSortMenu() ) ); - connect ( m_playlistButton, SIGNAL ( clicked() ), SLOT ( showPlaylistMenu() ) ); - - connect ( m_pl_control, SIGNAL ( nextClicked() ), SIGNAL ( next() ) ); - connect ( m_pl_control, SIGNAL ( previousClicked() ), SIGNAL ( prev() ) ); - connect ( m_pl_control, SIGNAL ( playClicked() ), SIGNAL ( play() ) ); - connect ( m_pl_control, SIGNAL ( pauseClicked() ), SIGNAL ( pause() ) ); - connect ( m_pl_control, SIGNAL ( stopClicked() ), SIGNAL ( stop() ) ); - connect ( m_pl_control, SIGNAL ( ejectClicked() ), SIGNAL ( eject() ) ); - m_titleBar = new PlayListTitleBar ( this ); - m_titleBar->move ( 0,0 ); + m_keyboardManager = new KeyboardManager (this); + + connect (m_listWidget, SIGNAL (selectionChanged()), parent, SLOT (replay())); + + connect (m_plslider, SIGNAL (sliderMoved (int)), m_listWidget, SLOT (scroll (int))); + connect (m_listWidget, SIGNAL (positionChanged (int, int)), m_plslider, + SLOT (setPos (int, int))); + connect (m_skin, SIGNAL (skinChanged()), this, SLOT (update())); + connect (m_buttonAdd, SIGNAL (clicked()), SLOT (showAddMenu())); + connect (m_buttonSub, SIGNAL (clicked()), SLOT (showSubMenu())); + connect (m_selectButton, SIGNAL (clicked()), SLOT (showSelectMenu())); + connect (m_sortButton, SIGNAL (clicked()), SLOT (showSortMenu())); + connect (m_playlistButton, SIGNAL (clicked()), SLOT (showPlaylistMenu())); + + connect (m_pl_control, SIGNAL (nextClicked()), SIGNAL (next())); + connect (m_pl_control, SIGNAL (previousClicked()), SIGNAL (prev())); + connect (m_pl_control, SIGNAL (playClicked()), SIGNAL (play())); + connect (m_pl_control, SIGNAL (pauseClicked()), SIGNAL (pause())); + connect (m_pl_control, SIGNAL (stopClicked()), SIGNAL (stop())); + connect (m_pl_control, SIGNAL (ejectClicked()), SIGNAL (eject())); + m_titleBar = new PlayListTitleBar (this); + m_titleBar->move (0,0); readSettings(); } @@ -119,120 +120,121 @@ PlayList::~PlayList() void PlayList::createMenus() { - m_addMenu = new QMenu ( this ); - m_subMenu = new QMenu ( this ); - m_selectMenu = new QMenu ( this ); - m_sortMenu = new QMenu ( this ); - m_playlistMenu = new QMenu ( this ); + m_addMenu = new QMenu (this); + m_subMenu = new QMenu (this); + m_selectMenu = new QMenu (this); + m_sortMenu = new QMenu (this); + m_playlistMenu = new QMenu (this); } void PlayList::createActions() -{ //add menu - QAction *addFileAct = new QAction ( tr ( "&Add File" ),this ); - addFileAct->setShortcut ( tr ( "F" ) ); - m_addMenu->addAction ( addFileAct ); - connect ( addFileAct, SIGNAL ( triggered() ), parent(), SLOT ( addFile () ) ); +{ + //add menu + QAction *addFileAct = new QAction (tr ("&Add File"),this); + addFileAct->setShortcut (tr ("F")); + m_addMenu->addAction (addFileAct); + connect (addFileAct, SIGNAL (triggered()), parent(), SLOT (addFile ())); m_actions << addFileAct; - QAction *addDirAct = new QAction ( tr ( "&Add Directory" ),this ); - addDirAct->setShortcut ( tr ( "D" ) ); - m_addMenu->addAction ( addDirAct ); - connect ( addDirAct, SIGNAL ( triggered() ), parent(), SLOT ( addDir () ) ); + QAction *addDirAct = new QAction (tr ("&Add Directory"),this); + addDirAct->setShortcut (tr ("D")); + m_addMenu->addAction (addDirAct); + connect (addDirAct, SIGNAL (triggered()), parent(), SLOT (addDir ())); m_actions << addDirAct; - QAction *addUrlAct = new QAction ( tr ( "&Add Url" ),this ); - addUrlAct->setShortcut ( tr ( "U" ) ); - m_addMenu->addAction ( addUrlAct ); - connect ( addUrlAct, SIGNAL ( triggered() ), parent(), SLOT ( addUrl () ) ); + QAction *addUrlAct = new QAction (tr ("&Add Url"),this); + addUrlAct->setShortcut (tr ("U")); + m_addMenu->addAction (addUrlAct); + connect (addUrlAct, SIGNAL (triggered()), parent(), SLOT (addUrl ())); m_actions << addUrlAct; //remove menu - QAction *remSelAct = new QAction ( tr ( "&Remove Selected" ),this ); - remSelAct->setShortcut ( tr ( "Del" ) ); - m_subMenu->addAction ( remSelAct ); - connect ( remSelAct, SIGNAL ( triggered() ), - m_playListModel, SLOT ( removeSelected () ) ); - this->addAction ( remSelAct ); - - QAction *remAllAct = new QAction ( tr ( "&Remove All" ),this ); + QAction *remSelAct = new QAction (tr ("&Remove Selected"),this); + remSelAct->setShortcut (tr ("Del")); + m_subMenu->addAction (remSelAct); + connect (remSelAct, SIGNAL (triggered()), + m_playListModel, SLOT (removeSelected ())); + this->addAction (remSelAct); + + QAction *remAllAct = new QAction (tr ("&Remove All"),this); //remAllAct->setShortcut(tr("D")); FIXME: add correct shortcat - m_subMenu->addAction ( remAllAct ); - connect ( remAllAct, SIGNAL ( triggered() ), m_playListModel, SLOT ( clear () ) ); + m_subMenu->addAction (remAllAct); + connect (remAllAct, SIGNAL (triggered()), m_playListModel, SLOT (clear ())); m_actions << remAllAct; - QAction *remUnselAct = new QAction ( tr ( "&Remove Unselected" ),this ); - m_subMenu->addAction ( remUnselAct ); - connect ( remUnselAct, SIGNAL ( triggered() ), - m_playListModel, SLOT ( removeUnselected () ) ); + QAction *remUnselAct = new QAction (tr ("&Remove Unselected"),this); + m_subMenu->addAction (remUnselAct); + connect (remUnselAct, SIGNAL (triggered()), + m_playListModel, SLOT (removeUnselected ())); //listwidget menu - QAction *detailsAct = new QAction ( tr ( "&View Track Details" ),this ); - detailsAct->setShortcut ( tr ( "Alt+I" ) ); - m_listWidget->menu()->addAction ( detailsAct ); - connect ( detailsAct, SIGNAL ( triggered() ), m_playListModel, SLOT ( showDetails () ) ); + QAction *detailsAct = new QAction (tr ("&View Track Details"),this); + detailsAct->setShortcut (tr ("Alt+I")); + m_listWidget->menu()->addAction (detailsAct); + connect (detailsAct, SIGNAL (triggered()), m_playListModel, SLOT (showDetails ())); // sort menu - m_sortMenu->addAction ( detailsAct ); + m_sortMenu->addAction (detailsAct); m_sortMenu->addSeparator(); - QMenu* sort_mode_menu = new QMenu ( tr ( "Sort List" ),m_sortMenu ); + QMenu* sort_mode_menu = new QMenu (tr ("Sort List"),m_sortMenu); - QSignalMapper* signalMapper = new QSignalMapper ( this ); - QAction* titleAct = sort_mode_menu->addAction ( tr ( "By Title" ) ); - connect ( titleAct, SIGNAL ( triggered ( bool ) ), signalMapper, SLOT ( map() ) ); - signalMapper->setMapping ( titleAct, PlayListModel::TITLE ); + QSignalMapper* signalMapper = new QSignalMapper (this); + QAction* titleAct = sort_mode_menu->addAction (tr ("By Title")); + connect (titleAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); + signalMapper->setMapping (titleAct, PlayListModel::TITLE); - QAction* nameAct = sort_mode_menu->addAction ( tr ( "By Filename" ) ); - connect ( nameAct, SIGNAL ( triggered ( bool ) ), signalMapper, SLOT ( map() ) ); - signalMapper->setMapping ( nameAct, PlayListModel::FILENAME ); + QAction* nameAct = sort_mode_menu->addAction (tr ("By Filename")); + connect (nameAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); + signalMapper->setMapping (nameAct, PlayListModel::FILENAME); - QAction* pathnameAct = sort_mode_menu->addAction ( tr ( "By Path + Filename" ) ); - connect ( pathnameAct, SIGNAL ( triggered ( bool ) ), signalMapper, SLOT ( map() ) ); - signalMapper->setMapping ( pathnameAct, PlayListModel::PATH_AND_FILENAME ); + QAction* pathnameAct = sort_mode_menu->addAction (tr ("By Path + Filename")); + connect (pathnameAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); + signalMapper->setMapping (pathnameAct, PlayListModel::PATH_AND_FILENAME); - QAction* dateAct = sort_mode_menu->addAction ( tr ( "By Date" ) ); - connect ( dateAct, SIGNAL ( triggered ( bool ) ), signalMapper, SLOT ( map() ) ); - signalMapper->setMapping ( dateAct, PlayListModel::DATE ); + QAction* dateAct = sort_mode_menu->addAction (tr ("By Date")); + connect (dateAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); + signalMapper->setMapping (dateAct, PlayListModel::DATE); - QAction* trackAct = sort_mode_menu->addAction ( tr ( "By Track Number" ) ); - connect ( trackAct, SIGNAL ( triggered ( bool ) ), signalMapper, SLOT ( map() ) ); - signalMapper->setMapping ( trackAct, PlayListModel::TRACK ); + QAction* trackAct = sort_mode_menu->addAction (tr ("By Track Number")); + connect (trackAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); + signalMapper->setMapping (trackAct, PlayListModel::TRACK); - connect ( signalMapper, SIGNAL ( mapped ( int ) ), - m_playListModel, SLOT ( sort ( int ) ) ); + connect (signalMapper, SIGNAL (mapped (int)), + m_playListModel, SLOT (sort (int))); - m_sortMenu->addMenu ( sort_mode_menu ); + m_sortMenu->addMenu (sort_mode_menu); - sort_mode_menu = new QMenu ( tr ( "Sort Selection" ),m_sortMenu ); - signalMapper = new QSignalMapper ( this ); - titleAct = sort_mode_menu->addAction ( tr ( "By Title" ) ); - connect ( titleAct, SIGNAL ( triggered ( bool ) ), signalMapper, SLOT ( map() ) ); - signalMapper->setMapping ( titleAct, PlayListModel::TITLE ); + sort_mode_menu = new QMenu (tr ("Sort Selection"),m_sortMenu); + signalMapper = new QSignalMapper (this); + titleAct = sort_mode_menu->addAction (tr ("By Title")); + connect (titleAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); + signalMapper->setMapping (titleAct, PlayListModel::TITLE); - nameAct = sort_mode_menu->addAction ( tr ( "By Filename" ) ); - connect ( nameAct, SIGNAL ( triggered ( bool ) ), signalMapper, SLOT ( map() ) ); - signalMapper->setMapping ( nameAct, PlayListModel::FILENAME ); + nameAct = sort_mode_menu->addAction (tr ("By Filename")); + connect (nameAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); + signalMapper->setMapping (nameAct, PlayListModel::FILENAME); - pathnameAct = sort_mode_menu->addAction ( tr ( "By Path + Filename" ) ); - connect ( pathnameAct, SIGNAL ( triggered ( bool ) ), signalMapper, SLOT ( map() ) ); - signalMapper->setMapping ( pathnameAct, PlayListModel::PATH_AND_FILENAME ); + pathnameAct = sort_mode_menu->addAction (tr ("By Path + Filename")); + connect (pathnameAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); + signalMapper->setMapping (pathnameAct, PlayListModel::PATH_AND_FILENAME); - dateAct = sort_mode_menu->addAction ( tr ( "By Date" ) ); - connect ( dateAct, SIGNAL ( triggered ( bool ) ), signalMapper, SLOT ( map() ) ); - signalMapper->setMapping ( dateAct, PlayListModel::DATE ); + dateAct = sort_mode_menu->addAction (tr ("By Date")); + connect (dateAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); + signalMapper->setMapping (dateAct, PlayListModel::DATE); - trackAct = sort_mode_menu->addAction ( tr ( "By Track Number" ) ); - connect ( trackAct, SIGNAL ( triggered ( bool ) ), signalMapper, SLOT ( map() ) ); - signalMapper->setMapping ( trackAct, PlayListModel::TRACK ); + trackAct = sort_mode_menu->addAction (tr ("By Track Number")); + connect (trackAct, SIGNAL (triggered (bool)), signalMapper, SLOT (map())); + signalMapper->setMapping (trackAct, PlayListModel::TRACK); - connect ( signalMapper, SIGNAL ( mapped ( int ) ), - m_playListModel, SLOT ( sortSelection ( int ) ) ); + connect (signalMapper, SIGNAL (mapped (int)), + m_playListModel, SLOT (sortSelection (int))); - m_sortMenu->addMenu ( sort_mode_menu ); + m_sortMenu->addMenu (sort_mode_menu); m_sortMenu->addSeparator(); - m_sortMenu->addAction ( tr ( "Randomize List" ),m_playListModel,SLOT ( randomizeList() ) ); - m_sortMenu->addAction ( tr ( "Reverse List" ),m_playListModel,SLOT ( reverseList() ) ); + m_sortMenu->addAction (tr ("Randomize List"),m_playListModel,SLOT (randomizeList())); + m_sortMenu->addAction (tr ("Reverse List"),m_playListModel,SLOT (reverseList())); m_listWidget->menu()->addSeparator(); m_listWidget->menu()->addActions (m_subMenu->actions()); @@ -241,136 +243,136 @@ void PlayList::createActions() m_actions << m_listWidget->menu()->actions(); //select menu - QAction *invSelAct = new QAction ( tr ( "Invert Selection" ),this ); - m_selectMenu->addAction ( invSelAct ); - connect ( invSelAct, SIGNAL ( triggered() ), - m_playListModel, SLOT ( invertSelection () ) ); + QAction *invSelAct = new QAction (tr ("Invert Selection"),this); + m_selectMenu->addAction (invSelAct); + connect (invSelAct, SIGNAL (triggered()), + m_playListModel, SLOT (invertSelection ())); m_selectMenu->addSeparator(); - QAction *selNoneAct = new QAction ( tr ( "&Select None" ),this ); + QAction *selNoneAct = new QAction (tr ("&Select None"),this); //selNoneAct->setShortcut(tr("Ctrl+Shift+A")); - m_selectMenu->addAction ( selNoneAct ); - connect ( selNoneAct, SIGNAL ( triggered() ), - m_playListModel, SLOT ( clearSelection () ) ); - this->addAction ( selNoneAct ); - - QAction *selAllAct = new QAction ( tr ( "&Select All" ),this ); - selAllAct->setShortcut ( tr ( "Ctrl+A" ) ); - m_selectMenu->addAction ( selAllAct ); - connect ( selAllAct, SIGNAL ( triggered() ), - m_playListModel, SLOT ( selectAll () ) ); - this->addAction ( selAllAct ); + m_selectMenu->addAction (selNoneAct); + connect (selNoneAct, SIGNAL (triggered()), + m_playListModel, SLOT (clearSelection ())); + this->addAction (selNoneAct); + + QAction *selAllAct = new QAction (tr ("&Select All"),this); + selAllAct->setShortcut (tr ("Ctrl+A")); + m_selectMenu->addAction (selAllAct); + connect (selAllAct, SIGNAL (triggered()), + m_playListModel, SLOT (selectAll ())); + this->addAction (selAllAct); // Playlist Menu - QAction *newListAct = new QAction ( tr ( "&New List" ),this ); - newListAct->setShortcut ( tr ( "Shift+N" ) ); + QAction *newListAct = new QAction (tr ("&New List"),this); + newListAct->setShortcut (tr ("Shift+N")); m_actions << newListAct; - m_playlistMenu->addAction ( newListAct ); - connect ( newListAct, SIGNAL ( triggered() ), this, SIGNAL ( newPlaylist() ) ); + m_playlistMenu->addAction (newListAct); + connect (newListAct, SIGNAL (triggered()), this, SIGNAL (newPlaylist())); m_playlistMenu->addSeparator(); - QAction *loadListAct = new QAction ( tr ( "&Load List" ),this ); - loadListAct->setShortcut ( tr ( "O" ) ); - m_playlistMenu->addAction ( loadListAct ); - connect ( loadListAct, SIGNAL ( triggered() ), this, SIGNAL ( loadPlaylist() ) ); + QAction *loadListAct = new QAction (tr ("&Load List"),this); + loadListAct->setShortcut (tr ("O")); + m_playlistMenu->addAction (loadListAct); + connect (loadListAct, SIGNAL (triggered()), this, SIGNAL (loadPlaylist())); - QAction *saveListAct = new QAction ( tr ( "&Save List" ),this ); - saveListAct->setShortcut ( tr ( "Shift+S" ) ); - m_playlistMenu->addAction ( saveListAct ); - connect ( saveListAct, SIGNAL ( triggered() ), this, SIGNAL ( savePlaylist() ) ); - this->addActions ( m_playlistMenu->actions() ); + QAction *saveListAct = new QAction (tr ("&Save List"),this); + saveListAct->setShortcut (tr ("Shift+S")); + m_playlistMenu->addAction (saveListAct); + connect (saveListAct, SIGNAL (triggered()), this, SIGNAL (savePlaylist())); + this->addActions (m_playlistMenu->actions()); - Dock::getPointer()->addActions ( m_actions ); + Dock::getPointer()->addActions (m_actions); } void PlayList::closeEvent (QCloseEvent *e) { - if(e->spontaneous ()) + if (e->spontaneous ()) emit closed(); writeSettings(); } -void PlayList::paintEvent ( QPaintEvent * ) +void PlayList::paintEvent (QPaintEvent *) { - int m_sx = ( width()-275 ) /25; - int m_sy = ( height()-116 ) /29; - drawPixmap ( m_sx, m_sy ); + int m_sx = (width()-275) /25; + int m_sy = (height()-116) /29; + drawPixmap (m_sx, m_sy); } -void PlayList::drawPixmap ( int sx, int sy ) +void PlayList::drawPixmap (int sx, int sy) { QPainter paint; - paint.begin ( this ); - paint.drawPixmap ( 0,20,m_skin->getPlPart ( Skin::PL_LFILL ) ); - for ( int i = 1; i<sy+2; i++ ) + paint.begin (this); + paint.drawPixmap (0,20,m_skin->getPlPart (Skin::PL_LFILL)); + for (int i = 1; i<sy+2; i++) { - paint.drawPixmap ( 0,20+29*i,m_skin->getPlPart ( Skin::PL_LFILL ) ); + paint.drawPixmap (0,20+29*i,m_skin->getPlPart (Skin::PL_LFILL)); } - paint.drawPixmap ( 0,78+29*sy,m_skin->getPlPart ( Skin::PL_LSBAR ) ); - for ( int i = 0; i<sx; i++ ) + paint.drawPixmap (0,78+29*sy,m_skin->getPlPart (Skin::PL_LSBAR)); + for (int i = 0; i<sx; i++) { - paint.drawPixmap ( 125+i*25,78+sy*29,m_skin->getPlPart ( Skin::PL_SFILL1 ) ); + paint.drawPixmap (125+i*25,78+sy*29,m_skin->getPlPart (Skin::PL_SFILL1)); } - paint.drawPixmap ( 125+sx*25,78+sy*29,m_skin->getPlPart ( Skin::PL_RSBAR ) ); + paint.drawPixmap (125+sx*25,78+sy*29,m_skin->getPlPart (Skin::PL_RSBAR)); paint.end(); } -void PlayList::resizeEvent ( QResizeEvent *e ) +void PlayList::resizeEvent (QResizeEvent *e) { - int sx = ( e->size().width()-275 ) /25; - int sy = ( e->size().height()-116 ) /29; + int sx = (e->size().width()-275) /25; + int sy = (e->size().height()-116) /29; if (sx < 0 || sy < 0) return; - m_titleBar->resize ( 275+25*sx,20 ); - m_plslider->resize ( 20,58+sy*29 ); + m_titleBar->resize (275+25*sx,20); + m_plslider->resize (20,58+sy*29); - m_listWidget->resize ( 243+25*sx,58+29*sy ); + m_listWidget->resize (243+25*sx,58+29*sy); - m_buttonAdd->move ( 11,86+29*sy ); - m_buttonSub->move ( 40,86+29*sy ); - m_selectButton->move ( 70,86+29*sy ); - m_sortButton->move ( 99,86+29*sy ); + m_buttonAdd->move (11,86+29*sy); + m_buttonSub->move (40,86+29*sy); + m_selectButton->move (70,86+29*sy); + m_sortButton->move (99,86+29*sy); - m_pl_control->move ( 128+sx*25,100+29*sy ); - m_playlistButton->move ( 228+sx*25,86+29*sy ); + m_pl_control->move (128+sx*25,100+29*sy); + m_playlistButton->move (228+sx*25,86+29*sy); - m_length_totalLength -> move ( 131+sx*25,88+29*sy ); - m_current_time->move ( 190+sx*25,101+29*sy ); + m_length_totalLength -> move (131+sx*25,88+29*sy); + m_current_time->move (190+sx*25,101+29*sy); - m_plslider->move ( 255+sx*25,20 ); + m_plslider->move (255+sx*25,20); } -void PlayList::mousePressEvent ( QMouseEvent *e ) +void PlayList::mousePressEvent (QMouseEvent *e) { m_pos = e->pos (); - if ( ( m_pos.x() > width()-25 ) && ( m_pos.y() > height()-25 ) ) + if ((m_pos.x() > width()-25) && (m_pos.y() > height()-25)) { m_resize = TRUE; - setCursor ( Qt::SizeFDiagCursor ); + setCursor (Qt::SizeFDiagCursor); } else m_resize = FALSE; } -void PlayList::mouseMoveEvent ( QMouseEvent *e ) +void PlayList::mouseMoveEvent (QMouseEvent *e) { - if ( m_resize ) + if (m_resize) { - resize ( e->x() +25, e->y() +25 ); + resize (e->x() +25, e->y() +25); //usleep(32000); } } -void PlayList::mouseReleaseEvent ( QMouseEvent * ) +void PlayList::mouseReleaseEvent (QMouseEvent *) { - setCursor ( Qt::ArrowCursor ); + setCursor (Qt::ArrowCursor); /*if (m_resize) m_listWidget->updateList();*/ m_resize = FALSE; Dock::getPointer()->updateDock(); } -void PlayList::setModel ( PlayListModel *model ) +void PlayList::setModel (PlayListModel *model) { m_playListModel = model; m_listWidget->setModel (model); @@ -379,17 +381,17 @@ void PlayList::setModel ( PlayListModel *model ) createActions(); } -void PlayList::changeEvent ( QEvent * event ) +void PlayList::changeEvent (QEvent * event) { - if ( event->type() == QEvent::ActivationChange ) + if (event->type() == QEvent::ActivationChange) { - m_titleBar->setActive ( isActiveWindow() ); + m_titleBar->setActive (isActiveWindow()); } } void PlayList::readSettings() { - if ( m_update ) + if (m_update) { m_listWidget->readSettings(); m_titleBar->readSettings(); @@ -397,9 +399,9 @@ void PlayList::readSettings() else { QSettings settings (QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat); - settings.beginGroup ( "PlayList" ); + settings.beginGroup ("PlayList"); //position - move ( settings.value ("pos", QPoint ( 100, 332 ) ).toPoint()); + move (settings.value ("pos", QPoint (100, 332)).toPoint()); settings.endGroup(); m_update = TRUE; } @@ -408,69 +410,85 @@ void PlayList::readSettings() void PlayList::writeSettings() { - QSettings settings ( QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat ); - settings.beginGroup ( "PlayList" ); + QSettings settings (QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat); + settings.beginGroup ("PlayList"); //position - settings.setValue ( "pos", this->pos() ); + settings.setValue ("pos", this->pos()); settings.endGroup(); } void PlayList::showAddMenu() { - m_addMenu->exec ( m_buttonAdd->mapToGlobal ( QPoint ( 0,0 ) ) ); + m_addMenu->exec (m_buttonAdd->mapToGlobal (QPoint (0,0))); } void PlayList::showSubMenu() { - m_subMenu->exec ( m_buttonSub->mapToGlobal ( QPoint ( 0,0 ) ) ); + m_subMenu->exec (m_buttonSub->mapToGlobal (QPoint (0,0))); } void PlayList::showSelectMenu() { - m_selectMenu->exec ( m_selectButton->mapToGlobal ( QPoint ( 0,0 ) ) ); + m_selectMenu->exec (m_selectButton->mapToGlobal (QPoint (0,0))); } void PlayList::showSortMenu() { - m_sortMenu->exec ( m_sortButton->mapToGlobal ( QPoint ( 0,0 ) ) ); + m_sortMenu->exec (m_sortButton->mapToGlobal (QPoint (0,0))); } - - -QString PlayList::formatTime ( int sec ) +QString PlayList::formatTime (int sec) { int minutes = sec / 60; int seconds = sec % 60; - QString str_minutes = QString::number ( minutes ); - QString str_seconds = QString::number ( seconds ); + QString str_minutes = QString::number (minutes); + QString str_seconds = QString::number (seconds); - if ( minutes < 10 ) str_minutes.prepend ( "0" ); - if ( seconds < 10 ) str_seconds.prepend ( "0" ); + if (minutes < 10) str_minutes.prepend ("0"); + if (seconds < 10) str_seconds.prepend ("0"); return str_minutes + ":" + str_seconds; } -void PlayList::setInfo (const OutputState &st,int length_current, int length_total) +void PlayList::setTime(qint64 time) { - if (st.type() == OutputState::Info) - { - m_current_time->display ( formatTime ( st.elapsedSeconds() ) ); - m_current_time->update(); + if (time < 0) + m_current_time->display ("--:--"); + else + m_current_time->display (formatTime (time)); + m_current_time->update(); - QString str_length = formatTime ( length_current ) + "/" + formatTime ( length_total ); - m_length_totalLength->display ( str_length ); - m_length_totalLength->update(); - } - else if (st.type() == OutputState::Playing) + if (m_playListModel && SoundCore::instance()) { - m_listWidget->updateList(); //removes progress message from TextScroller + m_playListModel->totalLength(); + QString str_length = formatTime (m_playListModel->totalLength()) + + "/" + formatTime (SoundCore::instance()->length()); + m_length_totalLength->display (str_length); + m_length_totalLength->update(); + } } +//void PlayList::setInfo (const OutputState &st,int length_current, int length_total) +//{ +/*if (st.type() == OutputState::Info) +{ + m_current_time->display (formatTime (st.elapsedSeconds())); + m_current_time->update(); + + QString str_length = formatTime (length_current) + "/" + formatTime (length_total); + m_length_totalLength->display (str_length); + m_length_totalLength->update(); +} +else if (st.type() == OutputState::Playing) +{ + m_listWidget->updateList(); //removes progress message from TextScroller +}*/ +//} PlayListItem *PlayList::currentItem() { - if ( m_playListModel ) + if (m_playListModel) return m_playListModel->currentItem(); else return 0; @@ -478,11 +496,11 @@ PlayListItem *PlayList::currentItem() void PlayList::showPlaylistMenu() { - m_playlistMenu->exec ( m_playlistButton->mapToGlobal ( QPoint ( 0,0 ) ) ); + m_playlistMenu->exec (m_playlistButton->mapToGlobal (QPoint (0,0))); } -void PlayList::keyPressEvent ( QKeyEvent *ke ) +void PlayList::keyPressEvent (QKeyEvent *ke) { - if ( m_keyboardManager->handleKeyPress ( ke ) ) + if (m_keyboardManager->handleKeyPress (ke)) update(); } diff --git a/src/ui/playlist.h b/src/ui/playlist.h index 0dd4016f4..a34f4e7b3 100644 --- a/src/ui/playlist.h +++ b/src/ui/playlist.h @@ -53,7 +53,7 @@ class PlayList : public QWidget void load ( PlayListItem * ); void setModel ( PlayListModel * ); void readSettings(); - void setInfo ( const OutputState &,int,int ); + //void setInfo ( const OutputState &,int,int ); PlayListItem *currentItem(); ListWidget* listWidget() const{return m_listWidget;} @@ -69,6 +69,9 @@ class PlayList : public QWidget void newPlaylist(); void closed(); + public slots: + void setTime(qint64 time); + private slots: void showAddMenu(); void showSubMenu(); diff --git a/src/ui/pluginitem.cpp b/src/ui/pluginitem.cpp index 490c46b0d..f606a7223 100644 --- a/src/ui/pluginitem.cpp +++ b/src/ui/pluginitem.cpp @@ -95,10 +95,10 @@ VisualPluginItem::~VisualPluginItem() void VisualPluginItem::select(bool on) { - if(on) + /*if(on) SoundCore::instance()->addVisual(m_factory, 0); else - SoundCore::instance()->removeVisual(m_factory); + SoundCore::instance()->removeVisual(m_factory);*/ } bool VisualPluginItem::isSelected() diff --git a/src/ui/positionbar.cpp b/src/ui/positionbar.cpp index 5431fd4f3..08a612fcb 100644 --- a/src/ui/positionbar.cpp +++ b/src/ui/positionbar.cpp @@ -38,7 +38,7 @@ PositionBar::PositionBar(QWidget *parent) mw = qobject_cast<MainWindow*>(window()); m_moving = FALSE; m_min = 0; - m_max = 50; + m_max = 0; m_old = m_value = 0; draw(FALSE); } @@ -52,7 +52,7 @@ void PositionBar::mousePressEvent(QMouseEvent *e) m_moving = TRUE; press_pos = e->x(); - if(m_pos<e->x() && e->x()<m_pos+29) + if (m_pos<e->x() && e->x()<m_pos+29) { press_pos = e->x()-m_pos; } @@ -71,12 +71,12 @@ void PositionBar::mousePressEvent(QMouseEvent *e) void PositionBar::mouseMoveEvent (QMouseEvent *e) { - if(m_moving) + if (m_moving) { int po = e->x(); po = po - press_pos; - if(0<=po && po<=width()-30) + if (0<=po && po<=width()-30) { m_value = convert(po); draw(); @@ -122,12 +122,15 @@ void PositionBar::draw(bool pressed) { int p=int(ceil(double(m_value-m_min)*(width()-30)/(m_max-m_min))); m_pixmap = m_skin->getPosBar(); - QPainter paint(&m_pixmap); - if(pressed) - paint.drawPixmap(p,0,m_skin->getButton(Skin::BT_POSBAR_P)); - else - paint.drawPixmap(p,0,m_skin->getButton(Skin::BT_POSBAR_N)); - setPixmap(m_pixmap); + if (m_max > 0) + { + QPainter paint(&m_pixmap); + if (pressed) + paint.drawPixmap(p,0,m_skin->getButton(Skin::BT_POSBAR_P)); + else + paint.drawPixmap(p,0,m_skin->getButton(Skin::BT_POSBAR_N)); + } + setPixmap(m_pixmap); m_pos = p; } diff --git a/src/ui/symboldisplay.h b/src/ui/symboldisplay.h index 065579b7a..720bad315 100644 --- a/src/ui/symboldisplay.h +++ b/src/ui/symboldisplay.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006 by Ilya Kotov * + * Copyright (C) 2006-2008 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -37,8 +37,7 @@ public: SymbolDisplay(QWidget *parent = 0, int digits = 3); ~SymbolDisplay(); - void display(const QString&); - void display(int); + void setAlignment(Qt::Alignment a) { m_alignment = a; @@ -48,6 +47,10 @@ public: return m_alignment; } +public slots: + void display(const QString&); + void display(int); + private slots: void draw(); diff --git a/src/ui/titlebar.cpp b/src/ui/titlebar.cpp index 4f22f7069..400c9c2ec 100644 --- a/src/ui/titlebar.cpp +++ b/src/ui/titlebar.cpp @@ -24,7 +24,6 @@ #include <QMenu> #include <QSettings> -#include <qmmp/soundcore.h> #include "symboldisplay.h" #include "skin.h" #include "button.h" @@ -174,7 +173,7 @@ void TitleBar::shade() connect (m_control, SIGNAL (stopClicked()), parent(), SLOT (stop())); connect (m_control, SIGNAL (ejectClicked()), parent(), SLOT (addFile())); m_visual = new ShadedVisual(this); - SoundCore::instance()->addVisualization(m_visual); + //SoundCore::instance()->addVisualization(m_visual); m_visual->show(); m_visual->move(79,5); } @@ -185,7 +184,7 @@ void TitleBar::shade() m_shade2->deleteLater(); m_currentTime->deleteLater(); m_control->deleteLater(); - SoundCore::instance()->removeVisual(m_visual); + //SoundCore::instance()->removeVisual(m_visual); m_visual->deleteLater(); m_shade2 = 0; m_currentTime = 0; @@ -210,23 +209,33 @@ QString TitleBar::formatTime ( int sec ) return str_minutes + ":" + str_seconds; } -void TitleBar::setInfo(const OutputState &st) +//void TitleBar::setInfo(const OutputState &st) +//{ +/*if (!m_currentTime) + return;*/ +/*switch ( ( int ) st.type() ) +{ +case OutputState::Info: +{ + m_currentTime->display(formatTime(st.elapsedSeconds())); + break; +} +case OutputState::Stopped: +{ + m_currentTime->display("--:--"); + break; +} +}*/ +//} + +void TitleBar::setTime(qint64 time) { if (!m_currentTime) return; - switch ( ( int ) st.type() ) - { - case OutputState::Info: - { - m_currentTime->display(formatTime(st.elapsedSeconds())); - break; - } - case OutputState::Stopped: - { + if (time < 0) m_currentTime->display("--:--"); - break; - } - } + else + m_currentTime->display(formatTime(time)); } void TitleBar::updateMask() diff --git a/src/ui/titlebar.h b/src/ui/titlebar.h index 4c15aeeff..d7c1f5fca 100644 --- a/src/ui/titlebar.h +++ b/src/ui/titlebar.h @@ -48,7 +48,10 @@ public: ~TitleBar(); void setActive(bool); - void setInfo(const OutputState &st); + //void setInfo(const OutputState &st); + +public slots: + void setTime(qint64 time); private slots: void updateSkin(); |
