A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd
at master 65 lines 1.9 kB view raw
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