Qmmp
Loading...
Searching...
No Matches
qmmpuisettings.h
1/***************************************************************************
2 * Copyright (C) 2012-2022 by Ilya Kotov *
3 * forkotov02@ya.ru *
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the *
17 * Free Software Foundation, Inc., *
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
19 ***************************************************************************/
20
21#ifndef QMMPUISETTINGS_H
22#define QMMPUISETTINGS_H
23
24#include <QObject>
25#include <QStringList>
26#include "playlistheadermodel.h"
27#include "metadataformatter.h"
28#include "qmmpui_export.h"
29
30class QTimer;
31class MetaDataHelper;
32
36class QMMPUI_EXPORT QmmpUiSettings : public QObject
37{
38 Q_OBJECT
39public:
45 explicit QmmpUiSettings(QObject *parent = nullptr);
49 virtual ~QmmpUiSettings();
53 bool convertUnderscore() const;
57 bool convertTwenty() const;
61 bool useMetaData() const;
65 const QString &groupFormat() const;
69 bool isRepeatableList() const;
73 bool isShuffle() const;
77 bool isGroupsEnabled() const;
81 bool isRepeatableTrack() const;
85 bool isNoPlayListAdvance() const;
94 void setConvertUnderscore(bool enabled);
99 void setConvertTwenty(bool enabled);
104 void setGroupFormat(const QString &groupFormat);
109 void setUseMetaData(bool enabled);
113 bool resumeOnStartup() const;
118 void setResumeOnStartup(bool enabled);
123 void setUseClipboard(bool enabled);
127 bool useClipboard() const;
131 const QStringList &restrictFilters() const;
135 void setRestrictFilters(const QString &filters);
139 const QStringList &excludeFilters() const;
144 void setExcludeFilters(const QString &filters);
149 bool useDefaultPlayList() const;
153 const QString &defaultPlayListName() const;
159 void setDefaultPlayList(const QString &name, bool enabled = true);
164 void setAutoSavePlayList(bool enabled);
170 bool autoSavePlayList() const;
175 void setClearPreviousPlayList(bool enabled);
186 void setSkipExistingTracks(bool enabled);
193 bool skipExistingTracks() const;
203 void setReadMetaDataForPlayLists(bool enabled);
208
209signals:
214 void repeatableListChanged(bool state);
219 void shuffleChanged(bool state);
224 void groupsChanged(bool state);
229 void repeatableTrackChanged(bool enabled);
235 void noPlayListAdvanceChanged(bool enabled);
240 void playListTransitionChanged(bool enabled) const;
241
242public slots:
247 void setRepeatableList(bool r);
252 void setShuffle(bool s);
257 void setGroupsEnabled(bool enabled);
262 void setRepeatableTrack(bool enabled);
268 void setNoPlayListAdvance(bool enabled);
274
275private slots:
279 void sync();
280
281
282private:
283 static QmmpUiSettings* m_instance;
284 //playlist
285 QString m_group_format;
286 bool m_convertUnderscore, m_convertTwenty;
287 bool m_useMetaData;
288 bool m_autosave_playlist;
289 bool m_repeate_list;
290 bool m_shuffle;
291 bool m_groups_enabled;
292 bool m_repeat_track;
293 bool m_no_pl_advance;
294 bool m_clear_prev_playlist;
295 bool m_read_metadata_for_playlist;
296 bool m_transit_between_playlists;
297 bool m_skip_existing_tracks;
298 //general
299 bool m_resume_on_startup;
300 QStringList m_exclude_filters, m_restrict_filters;
301 //default playlist
302 bool m_use_default_pl;
303 QString m_default_pl_name;
304 //url dialog
305 bool m_use_clipboard;
306 //timer
307 QTimer *m_timer;
308 //formatters
309 MetaDataHelper *m_helper;
310};
311
312#endif // QMMPUISETTINGS_H
The QmmpUiSettings class provides access to global libqmmpui library settings.
Definition qmmpuisettings.h:37
bool isRepeatableList() const
void setResumeOnStartup(bool enabled)
void setRepeatableTrack(bool enabled)
void noPlayListAdvanceChanged(bool enabled)
void setShuffle(bool s)
void repeatableTrackChanged(bool enabled)
void setConvertTwenty(bool enabled)
QmmpUiSettings(QObject *parent=nullptr)
const QString & groupFormat() const
bool isRepeatableTrack() const
void setUseClipboard(bool enabled)
void setDefaultPlayList(const QString &name, bool enabled=true)
bool isShuffle() const
bool isGroupsEnabled() const
void setAutoSavePlayList(bool enabled)
const QStringList & excludeFilters() const
void setClearPreviousPlayList(bool enabled)
bool autoSavePlayList() const
bool convertUnderscore() const
void repeatableListChanged(bool state)
bool clearPreviousPlayList() const
void groupsChanged(bool state)
const QStringList & restrictFilters() const
static QmmpUiSettings * instance()
bool useMetaData() const
bool resumeOnStartup() const
void setGroupsEnabled(bool enabled)
void shuffleChanged(bool state)
void setSkipExistingTracks(bool enabled)
void setConvertUnderscore(bool enabled)
bool useClipboard() const
void setExcludeFilters(const QString &filters)
void setGroupFormat(const QString &groupFormat)
void setRestrictFilters(const QString &filters)
bool isNoPlayListAdvance() const
bool isPlayListTransitionEnabled() const
bool useDefaultPlayList() const
bool readMetaDataForPlayLists() const
void setUseMetaData(bool enabled)
void setRepeatableList(bool r)
bool skipExistingTracks() const
void playListTransitionChanged(bool enabled) const
virtual ~QmmpUiSettings()
void setNoPlayListAdvance(bool enabled)
void setReadMetaDataForPlayLists(bool enabled)
void setPlayListTransitionEnabled(bool enabled)
bool convertTwenty() const
const QString & defaultPlayListName() const