aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2017-04-22 21:50:15 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2017-04-22 21:50:15 +0000
commit2e6fa0a1453066f1560270466797b2161d7851c4 (patch)
tree29c6f674383936f9b617a5beef6b48342ac875af /src/plugins/Ui
parente7b06c4b734a9978243751e3f44afa8b2faa21ff (diff)
downloadqmmp-2e6fa0a1453066f1560270466797b2161d7851c4.tar.gz
qmmp-2e6fa0a1453066f1560270466797b2161d7851c4.tar.bz2
qmmp-2e6fa0a1453066f1560270466797b2161d7851c4.zip
clear window title when playback is finished (#301)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@7128 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Ui')
-rw-r--r--src/plugins/Ui/qsui/mainwindow.cpp9
-rw-r--r--src/plugins/Ui/qsui/mainwindow.h3
-rw-r--r--src/plugins/Ui/skinned/mainwindow.cpp12
-rw-r--r--src/plugins/Ui/skinned/mainwindow.h3
-rw-r--r--src/plugins/Ui/skinned/textscroller.cpp19
-rw-r--r--src/plugins/Ui/skinned/textscroller.h3
6 files changed, 32 insertions, 17 deletions
diff --git a/src/plugins/Ui/qsui/mainwindow.cpp b/src/plugins/Ui/qsui/mainwindow.cpp
index ee13866a6..084e05cbf 100644
--- a/src/plugins/Ui/qsui/mainwindow.cpp
+++ b/src/plugins/Ui/qsui/mainwindow.cpp
@@ -68,6 +68,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
m_titleFormatter.setPattern("%if(%p,%p - %t,%t)");
//qmmp objects
m_player = MediaPlayer::instance();
+ connect(m_player, SIGNAL(playbackFinished()), SLOT(restoreWindowTitle()));
m_core = SoundCore::instance();
m_pl_manager = PlayListManager::instance();
m_uiHelper = UiHelper::instance();
@@ -156,6 +157,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
createActions();
readSettings();
updateStatus();
+ restoreWindowTitle();
}
MainWindow::~MainWindow()
@@ -223,7 +225,7 @@ void MainWindow::showState(Qmmp::State state)
m_positionSlider->setValue(0);
m_analyzer->clearCover();
qobject_cast<CoverWidget *>(m_ui.coverDockWidget->widget())->clearCover();
- setWindowTitle("Qmmp");
+ //setWindowTitle("Qmmp");
break;
default:
;
@@ -928,3 +930,8 @@ void MainWindow::editToolBar()
}
e->deleteLater();
}
+
+void MainWindow::restoreWindowTitle()
+{
+ setWindowTitle(tr("Qmmp"));
+}
diff --git a/src/plugins/Ui/qsui/mainwindow.h b/src/plugins/Ui/qsui/mainwindow.h
index e2284f9db..6aa2c15a3 100644
--- a/src/plugins/Ui/qsui/mainwindow.h
+++ b/src/plugins/Ui/qsui/mainwindow.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2016 by Ilya Kotov *
+ * Copyright (C) 2009-2017 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -89,6 +89,7 @@ private slots:
void setTitleBarsVisible(bool visible);
void setToolBarsBlocked(bool blocked);
void editToolBar();
+ void restoreWindowTitle();
private:
void closeEvent(QCloseEvent *);
diff --git a/src/plugins/Ui/skinned/mainwindow.cpp b/src/plugins/Ui/skinned/mainwindow.cpp
index 5ffe3127f..24575e88f 100644
--- a/src/plugins/Ui/skinned/mainwindow.cpp
+++ b/src/plugins/Ui/skinned/mainwindow.cpp
@@ -62,7 +62,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
setWindowFlags(Qt::Window | Qt::FramelessWindowHint |
Qt::WindowCloseButtonHint | Qt::WindowMinMaxButtonsHint | Qt::WindowSystemMenuHint);
- setWindowTitle("Qmmp");
+ restoreWindowTitle();
m_titleFormatter.setPattern("%if(%p,%p - %t,%t)");
@@ -105,6 +105,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
m_vis = MainVisual::instance();
Visual::add(m_vis);
//connections
+ connect (m_player,SIGNAL(playbackFinished()), SLOT(restoreWindowTitle()));
connect (m_playlist,SIGNAL(next()),SLOT(next()));
connect (m_playlist,SIGNAL(prev()),SLOT(previous()));
connect (m_playlist,SIGNAL(play()),SLOT(play()));
@@ -189,10 +190,6 @@ void MainWindow::showState(Qmmp::State state)
break;
case Qmmp::Stopped:
m_playlist->setTime(-1);
- if (m_pl_manager->currentPlayList()->currentTrack())
- setWindowTitle(m_titleFormatter.format(m_pl_manager->currentPlayList()->currentTrack()));
- else
- setWindowTitle("Qmmp");
break;
}
}
@@ -538,3 +535,8 @@ void MainWindow::keyPressEvent(QKeyEvent *ke)
ke->modifiers(), ke->text(),ke->isAutoRepeat(), ke->count());
QApplication::sendEvent(m_playlist,&event);
}
+
+void MainWindow::restoreWindowTitle()
+{
+ setWindowTitle(tr("Qmmp"));
+}
diff --git a/src/plugins/Ui/skinned/mainwindow.h b/src/plugins/Ui/skinned/mainwindow.h
index 7ceb05bbb..8817b2f0d 100644
--- a/src/plugins/Ui/skinned/mainwindow.h
+++ b/src/plugins/Ui/skinned/mainwindow.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2016 by Ilya Kotov *
+ * Copyright (C) 2006-2017 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -87,6 +87,7 @@ private slots:
void showSettings();
void forward();
void backward();
+ void restoreWindowTitle();
private:
//events
diff --git a/src/plugins/Ui/skinned/textscroller.cpp b/src/plugins/Ui/skinned/textscroller.cpp
index 214df8225..5f23229e0 100644
--- a/src/plugins/Ui/skinned/textscroller.cpp
+++ b/src/plugins/Ui/skinned/textscroller.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2015 by Ilya Kotov *
+ * Copyright (C) 2006-2017 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -30,6 +30,7 @@
#include <qmmpui/metadataformatter.h>
#include <qmmpui/playlistmanager.h>
#include <qmmpui/playlistmodel.h>
+#include <qmmpui/mediaplayer.h>
#include "skin.h"
#include "actionmanager.h"
#include "textscroller.h"
@@ -62,6 +63,7 @@ TextScroller::TextScroller (QWidget *parent) : QWidget (parent)
connect(m_skin, SIGNAL(skinChanged()), SLOT(updateSkin()));
connect(m_core, SIGNAL(stateChanged(Qmmp::State)), SLOT(processState(Qmmp::State)));
connect(m_core, SIGNAL(metaDataChanged()), SLOT(processMetaData()));
+ connect(MediaPlayer::instance(), SIGNAL(playbackFinished()), SLOT(clearText()));
updateSkin();
}
@@ -237,15 +239,9 @@ void TextScroller::processState(Qmmp::State state)
updateText();
break;
}
- case Qmmp::Paused:
- {
- break;
- }
case Qmmp::Stopped:
{
- m_bufferText.clear();
- m_titleText.clear();
- updateText();
+ disconnect(m_core, SIGNAL(bufferingProgress(int)), this, 0);
break;
}
default:
@@ -340,3 +336,10 @@ void TextScroller::updateText() //draw text according priority
}
update();
}
+
+void TextScroller::clearText()
+{
+ m_bufferText.clear();
+ m_titleText.clear();
+ updateText();
+}
diff --git a/src/plugins/Ui/skinned/textscroller.h b/src/plugins/Ui/skinned/textscroller.h
index 919f4644b..a82c2fcc5 100644
--- a/src/plugins/Ui/skinned/textscroller.h
+++ b/src/plugins/Ui/skinned/textscroller.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2015 by Ilya Kotov *
+ * Copyright (C) 2006-2017 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -52,6 +52,7 @@ private slots:
void processState(Qmmp::State state);
void processMetaData();
void updateText();
+ void clearText();
private:
void hideEvent(QHideEvent *);