diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-02-26 17:31:53 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-02-26 17:31:53 +0000 |
| commit | 20d7d8e597d171742452d902e41d930dd781387b (patch) | |
| tree | c1ba188cf4b5cd09c26e3a171aa998cb5a63c1d7 /src/ui/mainwindow.cpp | |
| parent | a9da35175045155ab8a2932f03898c292d77db2c (diff) | |
| download | qmmp-20d7d8e597d171742452d902e41d930dd781387b.tar.gz qmmp-20d7d8e597d171742452d902e41d930dd781387b.tar.bz2 qmmp-20d7d8e597d171742452d902e41d930dd781387b.zip | |
added option 'continue playback on startup'
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1587 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/ui/mainwindow.cpp')
| -rw-r--r-- | src/ui/mainwindow.cpp | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index b43c65aaf..433727d73 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2009 by Ilya Kotov * + * Copyright (C) 2006-2010 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -133,6 +133,8 @@ MainWindow::MainWindow(const QStringList& args, BuiltinCommandLineOption* option #endif if (m_startHidden && m_generalHandler->visibilityControl()) toggleVisibility(); + if(args.isEmpty()) + resume(); } @@ -330,12 +332,16 @@ void MainWindow::writeSettings() //last directory settings.setValue("last_dir",m_lastDir); settings.endGroup(); - // Repeat/Shuffle settings.beginGroup("Playlist"); settings.setValue("repeatable",m_display->isRepeatable()); settings.setValue("shuffle",m_display->isShuffle()); - + settings.endGroup(); + // playback state + settings.beginGroup("General"); + settings.setValue("resume_playback", m_core->state() == Qmmp::Playing && + settings.value("resume_on_startup", FALSE).toBool()); + settings.setValue("resume_playback_time", m_core->totalTime() > 0 ? m_core->elapsed() : 0); settings.endGroup(); } @@ -603,3 +609,16 @@ void MainWindow::keyPressEvent(QKeyEvent *ke) ke->modifiers(), ke->text(),ke->isAutoRepeat(), ke->count()); QApplication::sendEvent(m_playlist,&event); } + +void MainWindow::resume() +{ + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); + settings.beginGroup("General"); + if(settings.value("resume_playback", FALSE).toBool()) + { + play(); + qint64 pos = settings.value("resume_playback_time").toLongLong(); + if(pos) + m_core->seek(pos); + } +} |
