rockbox/rbutil/rbutilqt/base/systeminfo.h
Dominik Riebeling 988b3083df Replace list of languages with map.
- Use ISO codes as keys for voice languages instead of enumeration.
- Instead of trying to select a suitable voicefile language from the UI
  language use the ISO codes stored as UI language and match against the
  mapping.
- Always store the selected UI language. Fixes the voicefile creation
  language lookup to fail if the language used is the system language.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29207 a1c6a512-1295-4272-9138-f99709370657
2011-02-04 23:28:34 +00:00

100 lines
3.1 KiB
C++

/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2010 by Dominik Wenger
* $Id$
*
* 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.
*
****************************************************************************/
#ifndef SYSTEMINFO_H
#define SYSTEMINFO_H
#include <QtCore>
class SystemInfo : public QObject
{
Q_OBJECT
public:
//! Type of requested usb-id map
enum MapType {
MapDevice,
MapError,
MapIncompatible,
};
//! All system settings
enum SystemInfos {
ManualUrl,
BleedingUrl,
BootloaderUrl,
BootloaderInfoUrl,
DailyUrl,
DailyFontUrl,
DailyVoiceUrl,
DoomUrl,
ReleaseUrl,
ReleaseVoiceUrl,
ReleaseFontUrl,
ServerConfUrl,
GenlangUrl,
ThemesUrl,
ThemesInfoUrl,
RbutilUrl,
BleedingInfo,
CurPlatformName,
CurManual,
CurBootloaderMethod,
CurBootloaderName,
CurBootloaderFile,
CurEncoder,
CurBrand,
CurName,
CurBuildserverModel,
CurConfigureModel,
};
enum PlatformType {
PlatformAll,
PlatformAllDisabled,
PlatformBase,
PlatformBaseDisabled,
PlatformVariant,
PlatformVariantDisabled
};
//! return a list of all platforms (rbutil internal names)
static QStringList platforms(enum PlatformType type = PlatformAll,
QString variant="");
//! returns a map of all languages
static QMap<QString, QString> languages(void);
//! returns a map of usb-ids and their targets
static QMap<int, QString> usbIdMap(enum MapType);
//! get a value from system settings
static QVariant value(enum SystemInfos info);
//! get a value from system settings for a named platform.
static QVariant platformValue(QString platform, enum SystemInfos info);
private:
//! you shouldnt call this, its a fully static calls
SystemInfo() {}
//! create the setting objects if neccessary
static void ensureSystemInfoExists();
//! pointers to our setting objects
static QSettings *systemInfos;
};
#endif