diff options
Diffstat (limited to 'src/qmmpui')
| -rw-r--r-- | src/qmmpui/configdialog.cpp | 2 | ||||
| -rw-r--r-- | src/qmmpui/playlistmanager.h | 2 | ||||
| -rw-r--r-- | src/qmmpui/qmmpuisettings.cpp | 15 | ||||
| -rw-r--r-- | src/qmmpui/qmmpuisettings.h | 14 |
4 files changed, 26 insertions, 7 deletions
diff --git a/src/qmmpui/configdialog.cpp b/src/qmmpui/configdialog.cpp index 2071a630d..c3899ea27 100644 --- a/src/qmmpui/configdialog.cpp +++ b/src/qmmpui/configdialog.cpp @@ -391,7 +391,6 @@ void ConfigDialog::saveSettings() m_ui->defaultPlayListCheckBox->isChecked()); guis->setAutoSavePlayList(m_ui->autoSavePlayListCheckBox->isChecked()); guis->setUseClipboard(m_ui->clipboardCheckBox->isChecked()); - guis->sync(); } QmmpSettings *gs = QmmpSettings::instance(); @@ -418,7 +417,6 @@ void ConfigDialog::saveSettings() gs->setAudioSettings(m_ui->softVolumeCheckBox->isChecked(), m_ui->use16BitCheckBox->isChecked()); gs->setBufferSize(m_ui->bufferSizeSpinBox->value()); gs->setDetermineFileTypeByContent(m_ui->byContentCheckBox->isChecked()); - gs->sync(); QList<QVariant> var_sizes; var_sizes << m_ui->splitter->sizes().first() << m_ui->splitter->sizes().last(); QSettings settings (Qmmp::configFile(), QSettings::IniFormat); diff --git a/src/qmmpui/playlistmanager.h b/src/qmmpui/playlistmanager.h index 520d7c876..1903fcae3 100644 --- a/src/qmmpui/playlistmanager.h +++ b/src/qmmpui/playlistmanager.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2009-2012 by Ilya Kotov * + * Copyright (C) 2009-2013 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * diff --git a/src/qmmpui/qmmpuisettings.cpp b/src/qmmpui/qmmpuisettings.cpp index 6e718eb0b..36668c5f8 100644 --- a/src/qmmpui/qmmpuisettings.cpp +++ b/src/qmmpui/qmmpuisettings.cpp @@ -20,6 +20,7 @@ #include <QSettings> #include <QApplication> +#include <QTimer> #include <qmmp/qmmp.h> #include "playlistmanager.h" #include "qmmpuisettings.h" @@ -53,6 +54,10 @@ QmmpUiSettings::QmmpUiSettings(QObject *parent) : QObject(parent) m_default_pl_name = s.value("default_pl_name", tr("Playlist")).toString(); s.endGroup(); m_use_clipboard = s.value("URLDialog/use_clipboard", false).toBool(); + m_timer = new QTimer(this); + m_timer->setInterval(5000); + m_timer->setSingleShot(true); + connect(m_timer, SIGNAL(timeout()), SLOT(sync())); } QmmpUiSettings::~QmmpUiSettings() @@ -172,6 +177,7 @@ bool QmmpUiSettings::useClipboard() const void QmmpUiSettings::sync() { + qDebug("%s", Q_FUNC_INFO); QSettings s(Qmmp::configFile(), QSettings::IniFormat); s.setValue("PlayList/title_format", m_title_format); s.setValue("PlayList/group_format", m_group_format); @@ -197,6 +203,7 @@ void QmmpUiSettings::setRepeatableList(bool r) if(m_repeate_list == r) return; m_repeate_list = r; + m_timer->start(); emit repeatableListChanged(r); } @@ -205,6 +212,7 @@ void QmmpUiSettings::setShuffle(bool s) if(m_shuffle == s) return; m_shuffle = s; + m_timer->start(); emit shuffleChanged(s); } @@ -213,6 +221,7 @@ void QmmpUiSettings::setGroupsEnabled(bool enabled) if(m_groups_enabled == enabled) return; m_groups_enabled = enabled; + m_timer->start(); emit groupsChanged(enabled); } @@ -221,6 +230,7 @@ void QmmpUiSettings::setRepeatableTrack(bool enabled) if(m_repeat_track == enabled) return; m_repeat_track = enabled; + m_timer->start(); emit repeatableTrackChanged(enabled); } @@ -229,6 +239,7 @@ void QmmpUiSettings::setNoPlayListAdvance(bool enabled) if(m_no_pl_advance == enabled) return; m_no_pl_advance = enabled; + m_timer->start(); emit noPlayListAdvanceChanged(enabled); } @@ -240,6 +251,7 @@ QStringList QmmpUiSettings::restrictFilters() const void QmmpUiSettings::setRestrictFilters(const QString &filters) { m_restrict_filters = filters.trimmed().split(";", QString::SkipEmptyParts); + m_timer->start(); } QStringList QmmpUiSettings::excludeFilters() const @@ -250,6 +262,7 @@ QStringList QmmpUiSettings::excludeFilters() const void QmmpUiSettings::setExcludeFilters(const QString &filters) { m_exclude_filters = filters.trimmed().split(";", QString::SkipEmptyParts); + m_timer->start(); } bool QmmpUiSettings::useDefaultPlayList() const @@ -273,11 +286,13 @@ void QmmpUiSettings::setDefaultPlayList(const QString &name, bool enabled) { m_use_default_pl = enabled; m_default_pl_name = name; + m_timer->start(); } void QmmpUiSettings::setAutoSavePlayList(bool enabled) { m_autosave_playlist = enabled; + m_timer->start(); } bool QmmpUiSettings::autoSavePlayList() const diff --git a/src/qmmpui/qmmpuisettings.h b/src/qmmpui/qmmpuisettings.h index c5b63f496..9df54b6ee 100644 --- a/src/qmmpui/qmmpuisettings.h +++ b/src/qmmpui/qmmpuisettings.h @@ -24,6 +24,8 @@ #include <QObject> #include <QStringList> +class QTimer; + /*! @brief The QmmpUiSettings class provides access to global libqmmpui library settings. * @author Ilya Kotov <forkotov02@hotmail.ru> */ @@ -202,10 +204,6 @@ signals: public slots: /*! - * Writes all unsaved settings to configuration file - */ - void sync(); - /*! * Prepares all playlists for repeatable playing (loop mode). * @param r State of the repeatable mode (\b true - enabled, \b false - disabled) */ @@ -232,6 +230,12 @@ public slots: */ void setNoPlayListAdvance(bool enabled); +private slots: + /*! + * Writes all unsaved settings to configuration file + */ + void sync(); + private: static QmmpUiSettings* m_instance; @@ -254,6 +258,8 @@ private: QString m_default_pl_name; //url dialog bool m_use_clipboard; + //timer + QTimer *m_timer; }; #endif // QMMPUISETTINGS_H |
