diff options
| author | Robert Bieber <robby@bieberphoto.com> | 2010-06-17 05:37:01 +0000 |
|---|---|---|
| committer | Robert Bieber <robby@bieberphoto.com> | 2010-06-17 05:37:01 +0000 |
| commit | ca564287ee3f48945d45c7d92be7a83452f53745 (patch) | |
| tree | d6e502bb604f925240a742b3bac2c813a98c447b /utils/themeeditor/projectmodel.cpp | |
| parent | ba07b2055c7eb8f2add96f55cb52b40b9ccb3d63 (diff) | |
| download | rockbox-ca564287ee3f48945d45c7d92be7a83452f53745.zip rockbox-ca564287ee3f48945d45c7d92be7a83452f53745.tar.gz rockbox-ca564287ee3f48945d45c7d92be7a83452f53745.tar.bz2 rockbox-ca564287ee3f48945d45c7d92be7a83452f53745.tar.xz | |
Theme Editor: Moved source files into subdirectories
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26876 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils/themeeditor/projectmodel.cpp')
| -rw-r--r-- | utils/themeeditor/projectmodel.cpp | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/utils/themeeditor/projectmodel.cpp b/utils/themeeditor/projectmodel.cpp deleted file mode 100644 index 632e0aa..0000000 --- a/utils/themeeditor/projectmodel.cpp +++ /dev/null @@ -1,131 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2010 Robert Bieber - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - - -#include "projectmodel.h" -#include "editorwindow.h" - -#include <QFile> -#include <QTextStream> -#include <QMap> -#include <QDir> - -ProjectModel::ProjectModel(QString config, EditorWindow* mainWindow, - QObject *parent) - : QAbstractListModel(parent), - mainWindow(mainWindow) -{ - /* Reading the config file */ - QFile cfg(config); - cfg.open(QFile::ReadOnly | QFile::Text); - if(!cfg.isReadable()) - return; - - QTextStream fin(&cfg); - - /* Storing the base directory */ - QString confDir = config; - confDir.chop(confDir.length() - confDir.lastIndexOf('/') - 1); - QDir base(confDir); - base.cdUp(); - settings.insert("themebase", base.canonicalPath()); - - while(!fin.atEnd()) - { - QString current = fin.readLine(); - QList<QString> parts = current.split(':'); - - /* A valid setting has at least one : */ - if(parts.count() < 2) - continue; - - QString setting; - for(int i = 1; i < parts.count(); i++) - setting.append(parts[i].trimmed()); - - settings.insert(parts[0].trimmed(), setting); - } - - cfg.close(); - - /* Adding the files, starting with the .cfg */ - config.replace(base.canonicalPath() + "/", ""); - files.append(config); - - QList<QString> keys; - keys.append("wps"); - keys.append("rwps"); - keys.append("sbs"); - keys.append("rsbs"); - keys.append("fms"); - keys.append("rfms"); - - for(int i = 0; i < keys.count(); i++) - { - QString file = settings.value(keys[i], ""); - if(file != "" && file != "-") - { - file.replace("/.rockbox/", ""); - files.append(file); - } - } - - -} - -ProjectModel::~ProjectModel() -{ -} - -int ProjectModel::rowCount(const QModelIndex& parent) const -{ - return files.count(); -} - -QVariant ProjectModel::data(const QModelIndex &index, int role) const -{ - if(!index.isValid()) - return QVariant(); - - if(role != Qt::DisplayRole) - return QVariant(); - - return files[index.row()]; -} - -void ProjectModel::activated(const QModelIndex &index) -{ - if(index.row() == 0) - { - ConfigDocument* doc = new ConfigDocument(settings, - settings.value("themebase", - "") + "/" + - files[index.row()]); - QObject::connect(doc, SIGNAL(configFileChanged(QString)), - mainWindow, SLOT(configFileChanged(QString))); - mainWindow->loadConfigTab(doc); - } - else - { - mainWindow->loadTabFromSkinFile(settings.value("themebase", "") - + "/" + files[index.row()]); - } -} |