A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita
audio
rust
zig
deno
mpris
rockbox
mpd
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2010 Robert Bieber
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21
22#ifndef PROJECTMODEL_H
23#define PROJECTMODEL_H
24
25#include <QAbstractListModel>
26#include <QMap>
27
28class EditorWindow;
29
30class ProjectModel : public QAbstractListModel
31{
32Q_OBJECT
33public:
34 static const int numColumns = 2;
35
36 static QString fileFilter()
37 {
38 return QObject::tr("Project Files (*.cfg);;All Files (*)");
39 }
40
41 ProjectModel(QString config, EditorWindow* mainWindow, QObject *parent = 0);
42 virtual ~ProjectModel();
43
44 int rowCount(const QModelIndex& parent) const;
45 QVariant data(const QModelIndex &index, int role) const;
46
47 QString getSetting(QString key, QString fallback = "")
48 {
49 return settings.value(key, fallback);
50 }
51
52 const QMap<QString, QString>& getSettings() const{ return settings; }
53
54signals:
55
56public slots:
57 void activated(const QModelIndex& index);
58
59private:
60 EditorWindow* mainWindow;
61 QMap<QString, QString> settings;
62 QList<QString> files;
63};
64
65#endif // PROJECTMODEL_H