1 #ifndef ARCADESETTINGS_H 2 #define ARCADESETTINGS_H 3 4 #include <qglobal.h> 5 #include <QLocale> 6 #include <QSize> 7 #include <QHash> 8 #include <QMap> 9 #include <QStringList> 10 11 #include "../settings.h" 12 13 class ArcadeSettings : public Settings 14 { 15 Q_OBJECT 16 17 public: 18 QString arcadeTheme; 19 QString frontEndPrefix; 20 QString emulatorPrefix; 21 QMap<QString, QLocale::Language> languageMap; 22 23 explicit ArcadeSettings(QString theme = QString()); 24 virtual ~ArcadeSettings(); 25 26 QString languageToString(QLocale::Language); 27 QLocale::Language languageFromString(QString); 28 QString keySequenceMapBaseKey(); 29 #if defined(QMC2_ARCADE_ENABLE_JOYSTICK) 30 QString joyFunctionMapBaseKey(); 31 #endif 32 QString emulatorName(); 33 static QString configPath(); 34 35 signals: 36 37 public slots: 38 // global settings 39 void setApplicationVersion(QString); 40 QString applicationVersion(); 41 void setViewerGeometry(QByteArray); 42 QByteArray viewerGeometry(); 43 void setViewerMaximized(bool); 44 bool viewerMaximized(); 45 void setConsoleGeometry(QByteArray); 46 QByteArray consoleGeometry(); 47 void setUseFilteredList(bool); 48 bool useFilteredList(); 49 void setFilteredListFile(QString); 50 QString filteredListFile(); 51 52 // default settings for command line arguments 53 void setDefaultTheme(QString); 54 QString defaultTheme(); 55 void setDefaultConsoleType(QString); 56 QString defaultConsoleType(); 57 #if QT_VERSION < 0x050000 58 void setDefaultGraphicsSystem(QString); 59 QString defaultGraphicsSystem(); 60 #endif 61 void setDefaultLanguage(QString); 62 QString defaultLanguage(); 63 void setDefaultFont(QString); 64 QString defaultFont(); 65 void setDefaultVideo(QString); 66 QString defaultVideo(); 67 68 // theme-specific settings (general) 69 void setFpsVisible(bool); 70 bool fpsVisible(); 71 void setFullScreen(bool); 72 bool fullScreen(); 73 void setLastIndex(int); 74 int lastIndex(); 75 void setOverlayScale(double); 76 double overlayScale(); 77 78 // ToxicWaste 79 void setShowBackgroundAnimation(bool); 80 bool showBackgroundAnimation(); 81 void setAnimateInForeground(bool); 82 bool animateInForeground(); 83 void setSecondaryImageType(QString); 84 QString secondaryImageType(); 85 void setCabinetFlipped(bool); 86 bool cabinetFlipped(); 87 void setMenuHidden(bool); 88 bool menuHidden(); 89 void setShowShaderEffect(bool); 90 bool showShaderEffect(); 91 void setConfirmQuit(bool); 92 bool confirmQuit(); 93 void setMachineCardPage(int); 94 int machineCardPage(); 95 void setPreferencesTab(int); 96 int preferencesTab(); 97 void setAutoPositionOverlay(bool); 98 bool autoPositionOverlay(); 99 void setOverlayOffsetX(double); 100 double overlayOffsetX(); 101 void setOverlayOffsetY(double); 102 double overlayOffsetY(); 103 void setOverlayOpacity(double); 104 double overlayOpacity(); 105 void setBackgroundOpacity(double); 106 double backgroundOpacity(); 107 void setMachineListOpacity(double); 108 double machineListOpacity(); 109 void setCabinetImageType(QString); 110 QString cabinetImageType(); 111 void setAutoStopAnimations(bool); 112 bool autoStopAnimations(); 113 double videoPlayerVolume(); 114 void setVideoPlayerVolume(double); 115 int videoAutoPlayTimeout(); 116 void setVideoAutoPlayTimeout(int); 117 118 // darkone 119 void setToolbarHidden(bool); 120 bool toolbarHidden(); 121 void setListHidden(bool); 122 bool listHidden(); 123 void setSortByName(bool); 124 bool sortByName(); 125 void setScreenLight(bool); 126 bool screenLight(); 127 void setScreenLightOpacity(double); 128 double screenLightOpacity(); 129 void setBackLight(bool); 130 bool backLight(); 131 void setBackLightOpacity(double); 132 double backLightOpacity(); 133 void setToolbarAutoHide(bool); 134 bool toolbarAutoHide(); 135 void setLaunchFlash(bool); 136 bool launchFlash(); 137 void setLaunchZoom(bool); 138 bool launchZoom(); 139 void setDataTypePrimary(QString); 140 QString dataTypePrimary(); 141 void setDataTypeSecondary(QString); 142 QString dataTypeSecondary(); 143 void setLightTimeout(double); 144 double lightTimeout(); 145 void setColourScheme(QString); 146 QString colourScheme(); 147 148 // main frontend / emulator settings (from QMC2, read-only) 149 QString gameListCacheFile(); 150 QString romStateCacheFile(); 151 bool previewsZipped(); 152 bool previewsSevenZipped(); 153 bool previewsArchived(); 154 QString previewFile(); 155 QString previewFolder(); 156 bool flyersZipped(); 157 bool flyersSevenZipped(); 158 bool flyersArchived(); 159 QString flyerFile(); 160 QString flyerFolder(); 161 bool cabinetsZipped(); 162 bool cabinetsSevenZipped(); 163 bool cabinetsArchived(); 164 QString cabinetFile(); 165 QString cabinetFolder(); 166 bool controllersZipped(); 167 bool controllersSevenZipped(); 168 bool controllersArchived(); 169 QString controllerFile(); 170 QString controllerFolder(); 171 bool marqueesZipped(); 172 bool marqueesSevenZipped(); 173 bool marqueesArchived(); 174 QString marqueeFile(); 175 QString marqueeFolder(); 176 bool titlesZipped(); 177 bool titlesSevenZipped(); 178 bool titlesArchived(); 179 QString titleFile(); 180 QString titleFolder(); 181 bool pcbsZipped(); 182 bool pcbsSevenZipped(); 183 bool pcbsArchived(); 184 QString pcbFile(); 185 QString pcbFolder(); 186 bool swSnapsZipped(); 187 bool swSnapsSevenZipped(); 188 bool swSnapsArchived(); 189 QString swSnapFile(); 190 QString swSnapFolder(); 191 bool iconsZipped(); 192 bool iconsSevenZipped(); 193 bool iconsArchived(); 194 QString iconFile(); 195 QString iconFolder(); 196 QString optionsTemplateFile(); 197 QString emulatorExecutablePath(); 198 QString emulatorWorkingDirectory(); 199 QString mameHistoryDat(); 200 QString messSysinfoDat(); 201 QString mameInfoDat(); 202 QString messInfoDat(); 203 QString softwareInfoDat(); 204 QStringList activeImageFormats(QString); 205 bool parentFallback(); 206 bool parentFallback(QString); 207 QString videoSnapFolder(); 208 209 // joystick related 210 #if defined(QMC2_ARCADE_ENABLE_JOYSTICK) 211 int joystickAxisMinimum(int, int); 212 int joystickAxisMaximum(int, int); 213 bool joystickAxisEnabled(int, int); 214 int joystickIndex(); 215 bool joystickEnabled(); 216 int joystickEventTimeout(); 217 bool joystickAutoRepeat(); 218 int joystickAutoRepeatTimeout(); 219 int joystickDeadzone(int, int); 220 int joystickSensitivity(int, int); 221 #endif 222 223 // DAT-info database related 224 QString datInfoDatabaseName(); 225 QStringList softwareInfoImportFiles(); 226 void setSoftwareInfoImportFiles(QStringList &); 227 void removeSoftwareInfoImportFiles(); 228 QStringList softwareInfoImportDates(); 229 void setSoftwareInfoImportDates(QStringList &); 230 void removeSoftwareInfoImportDates(); 231 QStringList emuInfoImportFiles(); 232 void setEmuInfoImportFiles(QStringList &); 233 void removeEmuInfoImportFiles(); 234 QStringList emuInfoImportDates(); 235 void setEmuInfoImportDates(QStringList &); 236 void removeEmuInfoImportDates(); 237 QStringList machineInfoImportFiles(); 238 void setMachineInfoImportFiles(QStringList &); 239 void removeMachineInfoImportFiles(); 240 QStringList machineInfoImportDates(); 241 void setMachineInfoImportDates(QStringList &); 242 void removeMachineInfoImportDates(); 243 244 // icon cache database related 245 bool iconCacheDatabaseEnabled(); 246 QString iconCacheDatabaseName(); 247 QStringList iconCacheImportPaths(); 248 QStringList iconCacheImportDates(); 249 250 // custom artwork related 251 QStringList customSystemArtworkNames(); 252 QStringList customSoftwareArtworkNames(); 253 QString customArtworkFile(QString); 254 QString customArtworkFolder(QString); 255 bool customArtworkZipped(QString); 256 bool customArtworkSevenZipped(QString); 257 bool customArtworkArchived(QString); 258 QStringList customArtworkFormats(QString); 259 260 private: 261 QMap<QString, QMap<QString, QVariant> > m_themeDefaults; 262 QHash<QString, QString> m_parentFallbackKeys; 263 }; 264 265 #endif 266