TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musicconfigmanager.cpp
Go to the documentation of this file.
1 #include "musicconfigmanager.h"
2 #include "musicsettingmanager.h"
3 #include "musicstringutils.h"
4 #include "ttkversion.h"
5 
6 #include <QRect>
7 
10 {
11 
12 }
13 
15 {
16  int items = 0;
17  return readBuffer(items);
18 }
19 
21 {
22  int items = 0;
23  return writeBuffer(items);
24 }
25 
27 {
28  Q_UNUSED(items);
29 
32  G_SETTING_PTR->setValue(MusicSettingManager::Volume, readAttributeByTagName("playVolume").toInt());
33 
34  QString value = readAttributeByTagName("lastPlayIndex");
35  {
36  QStringList lastPlayIndex;
37  if(value.isEmpty())
38  {
39  lastPlayIndex << "1" << "-1" << "-1";
40  }
41  else
42  {
43  lastPlayIndex << value.split(",");
44  if(lastPlayIndex.count() != 3)
45  {
46  lastPlayIndex.clear();
47  lastPlayIndex << "1" << "-1" << "-1";
48  }
49  }
50  G_SETTING_PTR->setValue(MusicSettingManager::LastPlayIndex, lastPlayIndex);
51  }
52 
55  G_SETTING_PTR->setValue(MusicSettingManager::StartUpPlayMode, readAttributeByTagName("startUpPlayMode").toInt());
56  G_SETTING_PTR->setValue(MusicSettingManager::CloseEventMode, readAttributeByTagName("closeEventMode").toInt());
57  G_SETTING_PTR->setValue(MusicSettingManager::CloseNetWorkMode, readAttributeByTagName("closeNetworkMode").toInt());
58  G_SETTING_PTR->setValue(MusicSettingManager::FileAssociationMode, readAttributeByTagName("fileAssociationMode").toInt());
60  G_SETTING_PTR->setValue(MusicSettingManager::WindowConciseMode, readAttributeByTagName("windowConciseMode").toInt());
61  G_SETTING_PTR->setValue(MusicSettingManager::RemoteWidgetMode, readAttributeByTagName("remoteWidgetMode").toInt());
62  G_SETTING_PTR->setValue(MusicSettingManager::WindowQuitMode, readAttributeByTagName("windowQuitMode").toInt());
65 
66  G_SETTING_PTR->setValue(MusicSettingManager::OtherCheckUpdateEnable, readAttributeByTagName("otherCheckUpdateEnable").toInt());
67  G_SETTING_PTR->setValue(MusicSettingManager::OtherReadAlbumCover, readAttributeByTagName("otherUseAlbumCover").toInt());
68  G_SETTING_PTR->setValue(MusicSettingManager::OtherReadFileInfo, readAttributeByTagName("otherUseFileInfo").toInt());
69  G_SETTING_PTR->setValue(MusicSettingManager::OtherWriteAlbumCover, readAttributeByTagName("otherWriteAlbumCover").toInt());
70  G_SETTING_PTR->setValue(MusicSettingManager::OtherWriteFileInfo, readAttributeByTagName("otherWriteFileInfo").toInt());
71  G_SETTING_PTR->setValue(MusicSettingManager::OtherSideByMode, readAttributeByTagName("otherSideByMode").toInt());
72  G_SETTING_PTR->setValue(MusicSettingManager::OtherLrcKTVMode, readAttributeByTagName("otherLrcKTVMode").toInt());
73  G_SETTING_PTR->setValue(MusicSettingManager::OtherScreenSaverEnable, readAttributeByTagName("otherScreenSaverEnable").toInt());
74  G_SETTING_PTR->setValue(MusicSettingManager::OtherScreenSaverTime, readAttributeByTagName("otherScreenSaverTime").toInt());
79 
80  G_SETTING_PTR->setValue(MusicSettingManager::RippleLowPowerMode, readAttributeByTagName("rippleLowPowerMode").toInt());
81  G_SETTING_PTR->setValue(MusicSettingManager::RippleSpectrumEnable, readAttributeByTagName("rippleSpectrumEnable").toInt());
83 
85  G_SETTING_PTR->setValue(MusicSettingManager::BackgroundTransparent, readAttributeByTagName("backgroundTransparent").toInt());
86  G_SETTING_PTR->setValue(MusicSettingManager::BackgroundTransparentEnable, readAttributeByTagName("backgroundTransparentEnable").toInt());
87  G_SETTING_PTR->setValue(MusicSettingManager::BackgroundListTransparent, readAttributeByTagName("backgroundListTransparent").toInt());
88 
91 
99 
100  G_SETTING_PTR->setValue(MusicSettingManager::ShowDesktopLrc, readAttributeByTagName("showDesktopLrc").toInt());
108  G_SETTING_PTR->setValue(MusicSettingManager::DLrcWindowMode, readAttributeByTagName("lrcDWindowMode").toInt());
109  G_SETTING_PTR->setValue(MusicSettingManager::DLrcSingleLineMode, readAttributeByTagName("lrcDSingleLineMode").toInt());
110  G_SETTING_PTR->setValue(MusicSettingManager::DLrcLockedMode, readAttributeByTagName("lrcDLockedMode").toInt());
111 
112  G_SETTING_PTR->setValue(MusicSettingManager::EnhancedMusicIndex, readAttributeByTagName("enhancedMusicIndex").toInt());
113  G_SETTING_PTR->setValue(MusicSettingManager::EqualizerIndex, readAttributeByTagName("equalizerIndex").toInt());
114  G_SETTING_PTR->setValue(MusicSettingManager::EqualizerEnable, readAttributeByTagName("equalizerEnable").toInt());
116  G_SETTING_PTR->setValue(MusicSettingManager::EnhancedFadeEnable, readAttributeByTagName("enhancedFadeEnable").toInt());
117  G_SETTING_PTR->setValue(MusicSettingManager::EnhancedFadeInValue, readAttributeByTagName("enhancedFadeInValue").toInt());
118  G_SETTING_PTR->setValue(MusicSettingManager::EnhancedFadeOutValue, readAttributeByTagName("enhancedFadeOutValue").toInt());
120 
121  G_SETTING_PTR->setValue(MusicSettingManager::TimerAutoIndex, readAttributeByTagName("timeAutoIndex").toInt());
122  G_SETTING_PTR->setValue(MusicSettingManager::TimerAutoPlayMode, readAttributeByTagName("timeAutoPlayMode").toInt());
123  G_SETTING_PTR->setValue(MusicSettingManager::TimerAutoPlayHour, readAttributeByTagName("timeAutoPlayHour").toInt());
124  G_SETTING_PTR->setValue(MusicSettingManager::TimerAutoPlaySecond, readAttributeByTagName("timeAutoPlaySecond").toInt());
125  G_SETTING_PTR->setValue(MusicSettingManager::TimerAutoPlayRepeat, readAttributeByTagName("timeAutoPlayRepeat").toInt());
126  G_SETTING_PTR->setValue(MusicSettingManager::TimerAutoPlayItemIndex, readAttributeByTagName("timeAutoPlayItemIndex").toInt());
127  G_SETTING_PTR->setValue(MusicSettingManager::TimerAutoPlaySongIndex, readAttributeByTagName("timeAutoPlaySongIndex").toInt());
128  G_SETTING_PTR->setValue(MusicSettingManager::TimerAutoStopMode, readAttributeByTagName("timeAutoStopMode").toInt());
129  G_SETTING_PTR->setValue(MusicSettingManager::TimerAutoStopHour, readAttributeByTagName("timeAutoStopHour").toInt());
130  G_SETTING_PTR->setValue(MusicSettingManager::TimerAutoStopSecond, readAttributeByTagName("timeAutoStopSecond").toInt());
131  G_SETTING_PTR->setValue(MusicSettingManager::TimerAutoStopRepeat, readAttributeByTagName("timeAutoStopRepeat").toInt());
132  G_SETTING_PTR->setValue(MusicSettingManager::TimerAutoShutdownMode, readAttributeByTagName("timeAutoShutdownMode").toInt());
133  G_SETTING_PTR->setValue(MusicSettingManager::TimerAutoShutdownHour, readAttributeByTagName("timeAutoShutdownHour").toInt());
134  G_SETTING_PTR->setValue(MusicSettingManager::TimerAutoShutdownSecond, readAttributeByTagName("timeAutoShutdownSecond").toInt());
135  G_SETTING_PTR->setValue(MusicSettingManager::TimerAutoShutdownRepeat, readAttributeByTagName("timeAutoShutdownRepeat").toInt());
136 
137  value = readAttributeByTagName("downloadMusicPath");
138  G_SETTING_PTR->setValue(MusicSettingManager::DownloadMusicDirPath, (value.isEmpty() || !QFile::exists(value)) ? TTK::String::musicDirPrefix() : value);
139  value = readAttributeByTagName("downloadLrcPath");
140  G_SETTING_PTR->setValue(MusicSettingManager::DownloadLrcDirPath, (value.isEmpty() || !QFile::exists(value)) ? TTK::String::lrcDirPrefix() : value);
141  value = readAttributeByTagName("downloadFileNameRule");
142  G_SETTING_PTR->setValue(MusicSettingManager::DownloadFileNameRule, value.isEmpty() ? "%artist - %title" : value);
143 
144  G_SETTING_PTR->setValue(MusicSettingManager::DownloadCacheEnable, readAttributeByTagName("downloadCacheEnable").toInt());
145  G_SETTING_PTR->setValue(MusicSettingManager::DownloadCacheSize, readAttributeByTagName("downloadCacheSize").toInt());
146  G_SETTING_PTR->setValue(MusicSettingManager::DownloadLimitEnable, readAttributeByTagName("downloadLimitEnable").toInt());
147  G_SETTING_PTR->setValue(MusicSettingManager::DownloadServerIndex, readAttributeByTagName("downloadServerIndex").toInt());
150 
151  return true;
152 }
153 
154 bool MusicConfigManager::writeBuffer(const int &items)
155 {
156  Q_UNUSED(items);
157 
158  const int playMode = G_SETTING_PTR->value(MusicSettingManager::PlayMode).toInt();
159  const int volume = G_SETTING_PTR->value(MusicSettingManager::Volume).toInt();
160  const QStringList &lastPlayIndex = G_SETTING_PTR->value(MusicSettingManager::LastPlayIndex).toStringList();
161  //
162  const QPoint &widgetPosition = G_SETTING_PTR->value(MusicSettingManager::WidgetPosition).toPoint();
163  const QSize &widgetSize = G_SETTING_PTR->value(MusicSettingManager::WidgetSize).toSize();
164  const int startUpMode = G_SETTING_PTR->value(MusicSettingManager::StartUpMode).toInt();
165  const int startUpPlayMode = G_SETTING_PTR->value(MusicSettingManager::StartUpPlayMode).toInt();
166  const int languageIndex = G_SETTING_PTR->value(MusicSettingManager::LanguageIndex).toInt();
167  const int closeEventMode = G_SETTING_PTR->value(MusicSettingManager::CloseEventMode).toInt();
168  const int closeNetWorkMode = G_SETTING_PTR->value(MusicSettingManager::CloseNetWorkMode).toInt();
169  const int fileAssociationMode = G_SETTING_PTR->value(MusicSettingManager::FileAssociationMode).toInt();
170  const QString &fileAssociationValue = G_SETTING_PTR->value(MusicSettingManager::FileAssociationValue).toString();
171 
172  const int windowConciseMode = G_SETTING_PTR->value(MusicSettingManager::WindowConciseMode).toInt();
173  const int remoteWidgetMode = G_SETTING_PTR->value(MusicSettingManager::RemoteWidgetMode).toInt();
174  const int windowQuitMode = G_SETTING_PTR->value(MusicSettingManager::WindowQuitMode).toInt();
175  const QString &lastFileDialogPath = G_SETTING_PTR->value(MusicSettingManager::LastFileDialogPath).toString();
176  const QString &mediaLibraryPath = G_SETTING_PTR->value(MusicSettingManager::MediaLibraryPath).toString();
177  //
178  const int otherCheckUpdateEnable = G_SETTING_PTR->value(MusicSettingManager::OtherCheckUpdateEnable).toInt();
179  const int otherReadAlbumCover = G_SETTING_PTR->value(MusicSettingManager::OtherReadAlbumCover).toInt();
180  const int otherReadFileInfo = G_SETTING_PTR->value(MusicSettingManager::OtherReadFileInfo).toInt();
181  const int otherWriteAlbumCover = G_SETTING_PTR->value(MusicSettingManager::OtherWriteAlbumCover).toInt();
182  const int otherWriteFileInfo = G_SETTING_PTR->value(MusicSettingManager::OtherWriteFileInfo).toInt();
183  const int otherSideByMode = G_SETTING_PTR->value(MusicSettingManager::OtherSideByMode).toInt();
184  const int otherLrcKTVMode = G_SETTING_PTR->value(MusicSettingManager::OtherLrcKTVMode).toInt();
185  const int otherScreenSaverEnable = G_SETTING_PTR->value(MusicSettingManager::OtherScreenSaverEnable).toInt();
186  const int otherScreenSaverTime = G_SETTING_PTR->value(MusicSettingManager::OtherScreenSaverTime).toInt();
187  const QString &otherScreenSaverIndex = G_SETTING_PTR->value(MusicSettingManager::OtherScreenSaverIndex).toString();
188  const int otherPlaylistAutoSaveEnable = G_SETTING_PTR->value(MusicSettingManager::OtherPlaylistAutoSaveEnable).toInt();
189  const int otherRandomShuffleMode = G_SETTING_PTR->value(MusicSettingManager::OtherRandomShuffleMode).toInt();
190  const int otherHighDpiScalingEnable = G_SETTING_PTR->value(MusicSettingManager::OtherHighDpiScalingEnable).toInt();
191  //
192  const int rippleLowPowerMode = G_SETTING_PTR->value(MusicSettingManager::RippleLowPowerMode).toInt();
193  const int rippleSpectrumEnable = G_SETTING_PTR->value(MusicSettingManager::RippleSpectrumEnable).toInt();
194  const QString &rippleSpectrumColor = G_SETTING_PTR->value(MusicSettingManager::RippleSpectrumColor).toString();
195  //
196  const QString &backgroundThemeValue = G_SETTING_PTR->value(MusicSettingManager::BackgroundThemeValue).toString();
197  const int backgroundTransparent = G_SETTING_PTR->value(MusicSettingManager::BackgroundTransparent).toInt();
198  const int backgroundListTransparent = G_SETTING_PTR->value(MusicSettingManager::BackgroundListTransparent).toInt();
199  const int backgroundTransparentEnable = G_SETTING_PTR->value(MusicSettingManager::BackgroundTransparentEnable).toInt();
200  //
201  const int hotkeyEnable = G_SETTING_PTR->value(MusicSettingManager::HotkeyEnable).toInt();
202  const QString &hotkeyValue = G_SETTING_PTR->value(MusicSettingManager::HotkeyValue).toString();
203  //
204  const int showDesktopLrc = G_SETTING_PTR->value(MusicSettingManager::ShowDesktopLrc).toInt();
205  const int lrcColor = G_SETTING_PTR->value(MusicSettingManager::LrcColor).toInt();
206  const int lrcSize = G_SETTING_PTR->value(MusicSettingManager::LrcSize).toInt();
207  const int lrcType = G_SETTING_PTR->value(MusicSettingManager::LrcType).toInt();
208  const int lrcFamily = G_SETTING_PTR->value(MusicSettingManager::LrcFamily).toInt();
209  const QString &lrcFrontgroundColor = G_SETTING_PTR->value(MusicSettingManager::LrcFrontgroundColor).toString();
210  const QString &lrcBackgroundColor = G_SETTING_PTR->value(MusicSettingManager::LrcBackgroundColor).toString();
211  const int lrcTransparent = G_SETTING_PTR->value(MusicSettingManager::LrcColorTransparent).toInt();
212  //
213  const int DLrcColor = G_SETTING_PTR->value(MusicSettingManager::DLrcColor).toInt();
214  const int DLrcSize = G_SETTING_PTR->value(MusicSettingManager::DLrcSize).toInt();
215  const int DLrcType = G_SETTING_PTR->value(MusicSettingManager::DLrcType).toInt();
216  const int DLrcFamily = G_SETTING_PTR->value(MusicSettingManager::DLrcFamily).toInt();
217  const QString &DLrcFrontgroundColor = G_SETTING_PTR->value(MusicSettingManager::DLrcFrontgroundColor).toString();
218  const QString &DLrcBackgroundColor = G_SETTING_PTR->value(MusicSettingManager::DLrcBackgroundColor).toString();
219  const int DLrcTransparent = G_SETTING_PTR->value(MusicSettingManager::DLrcColorTransparent).toInt();
220  const int DLrcWindowMode= G_SETTING_PTR->value(MusicSettingManager::DLrcWindowMode).toInt();
221  const int DLrcSingleLineMode = G_SETTING_PTR->value(MusicSettingManager::DLrcSingleLineMode).toInt();
222  const int DLrcLockedMode = G_SETTING_PTR->value(MusicSettingManager::DLrcLockedMode).toInt();
223  const QPoint &DLrcGeometry = G_SETTING_PTR->value(MusicSettingManager::DLrcGeometry).toPoint();
224  //
225  const int enhancedMusicIndex = G_SETTING_PTR->value(MusicSettingManager::EnhancedMusicIndex).toInt();
226  const int equalizerEnable = G_SETTING_PTR->value(MusicSettingManager::EqualizerEnable).toInt();
227  const QString &equalizerValue = G_SETTING_PTR->value(MusicSettingManager::EqualizerValue).toString();
228  const int equalizerIndex = G_SETTING_PTR->value(MusicSettingManager::EqualizerIndex).toInt();
229  const int enhancedFadeEnable = G_SETTING_PTR->value(MusicSettingManager::EnhancedFadeEnable).toInt();
230  const int enhancedFadeInValue = G_SETTING_PTR->value(MusicSettingManager::EnhancedFadeInValue).toInt();
231  const int enhancedFadeOutValue = G_SETTING_PTR->value(MusicSettingManager::EnhancedFadeOutValue).toInt();
232  const QString &enhancedEffectValue = G_SETTING_PTR->value(MusicSettingManager::EnhancedEffectValue).toString();
233  //
234  const int timeAutoIndex = G_SETTING_PTR->value(MusicSettingManager::TimerAutoIndex).toInt();
235  const int timeAutoPlayMode = G_SETTING_PTR->value(MusicSettingManager::TimerAutoPlayMode).toInt();
236  const int timeAutoPlayHour = G_SETTING_PTR->value(MusicSettingManager::TimerAutoPlayHour).toInt();
237  const int timeAutoPlaySecond = G_SETTING_PTR->value(MusicSettingManager::TimerAutoPlaySecond).toInt();
238  const int timeAutoPlayRepeat = G_SETTING_PTR->value(MusicSettingManager::TimerAutoPlayRepeat).toInt();
239  const int timeAutoPlayItemIndex = G_SETTING_PTR->value(MusicSettingManager::TimerAutoPlayItemIndex).toInt();
240  const int timeAutoPlaySongIndex = G_SETTING_PTR->value(MusicSettingManager::TimerAutoPlaySongIndex).toInt();
241  const int timeAutoStopMode = G_SETTING_PTR->value(MusicSettingManager::TimerAutoStopMode).toInt();
242  const int timeAutoStopHour = G_SETTING_PTR->value(MusicSettingManager::TimerAutoStopHour).toInt();
243  const int timeAutoStopSecond = G_SETTING_PTR->value(MusicSettingManager::TimerAutoStopSecond).toInt();
244  const int timeAutoStopRepeat = G_SETTING_PTR->value(MusicSettingManager::TimerAutoStopRepeat).toInt();
245  const int timeAutoShutdownMode = G_SETTING_PTR->value(MusicSettingManager::TimerAutoShutdownMode).toInt();
246  const int timeAutoShutdownHour = G_SETTING_PTR->value(MusicSettingManager::TimerAutoShutdownHour).toInt();
247  const int timeAutoShutdownSecond = G_SETTING_PTR->value(MusicSettingManager::TimerAutoShutdownSecond).toInt();
248  const int timeAutoShutdownRepeat = G_SETTING_PTR->value(MusicSettingManager::TimerAutoShutdownRepeat).toInt();
249  //
250  const QString &downloadMusicPath = G_SETTING_PTR->value(MusicSettingManager::DownloadMusicDirPath).toString();
251  const QString &downloadLrcPath = G_SETTING_PTR->value(MusicSettingManager::DownloadLrcDirPath).toString();
252  const QString &downloadFileNameRule = G_SETTING_PTR->value(MusicSettingManager::DownloadFileNameRule).toString();
253  const int downloadCacheEnable = G_SETTING_PTR->value(MusicSettingManager::DownloadCacheEnable).toInt();
254  const int downloadCacheSize = G_SETTING_PTR->value(MusicSettingManager::DownloadCacheSize).toInt();
255  const int downloadLimitEnable = G_SETTING_PTR->value(MusicSettingManager::DownloadLimitEnable).toInt();
256  const int downloadServerIndex = G_SETTING_PTR->value(MusicSettingManager::DownloadServerIndex).toInt();
257  const QString &downloadDownloadLimitSize = G_SETTING_PTR->value(MusicSettingManager::DownloadDownloadLimitSize).toString();
258  const QString &downloadUploadLimitSize = G_SETTING_PTR->value(MusicSettingManager::DownloadUploadLimitSize).toString();
259 
261  QDomElement rootDom = createRoot(TTK_APP_NAME);
262  QDomElement baseSettingDom = writeDomElement(rootDom, "musicSetting");
263  QDomElement plusSettingDom = writeDomElement(rootDom, "plusSetting");
264  QDomElement otherSettingDom = writeDomElement(rootDom, "otherSetting");
265  QDomElement rippleSettingDom = writeDomElement(rootDom, "rippleSetting");
266  QDomElement backgroundSettingDom = writeDomElement(rootDom, "backgroundSetting");
267  QDomElement hotkeySettingDom = writeDomElement(rootDom, "hotkeySetting");
268  QDomElement interiorLrcSettingDom = writeDomElement(rootDom, "interiorLrcSetting");
269  QDomElement desktopLrcSettingDom = writeDomElement(rootDom, "desktopLrcSetting");
270  QDomElement equalizerSettingDom = writeDomElement(rootDom, "equalizerSetting");
271  QDomElement timeSettingDom = writeDomElement(rootDom, "timeSetting");
272  QDomElement downloadSettingDom = writeDomElement(rootDom, "downloadSetting");
273 
274  writeDomElement(baseSettingDom, "configVersion", {"value", TTK_CONFIG_VERSION_STR});
275  writeDomElement(baseSettingDom, "playMode", {"value", playMode});
276  writeDomElement(baseSettingDom, "playVolume", {"value", volume});
277  writeDomElement(baseSettingDom, "lastPlayIndex", {"value", QString("%1,%2,%3").arg(lastPlayIndex[0], lastPlayIndex[1], lastPlayIndex[2])});
278  //
279  writeDomElement(plusSettingDom, "geometry", {"value", QString("%1,%2,%3,%4").arg(widgetPosition.x()).arg(widgetPosition.y()).arg(widgetSize.width()).arg(widgetSize.height())});
280  writeDomElement(plusSettingDom, "language", {"value", languageIndex});
281  writeDomElement(plusSettingDom, "startUpMode", {"value", startUpMode});
282  writeDomElement(plusSettingDom, "startUpPlayMode", {"value", startUpPlayMode});
283  writeDomElement(plusSettingDom, "closeEventMode", {"value", closeEventMode});
284  writeDomElement(plusSettingDom, "closeNetworkMode", {"value", closeNetWorkMode});
285  writeDomElement(plusSettingDom, "fileAssociationMode", {"value", fileAssociationMode});
286  writeDomElement(plusSettingDom, "fileAssociationValue", {"value", fileAssociationValue});
287  writeDomElement(plusSettingDom, "windowConciseMode", {"value", windowConciseMode});
288  writeDomElement(plusSettingDom, "remoteWidgetMode", {"value", remoteWidgetMode});
289  writeDomElement(plusSettingDom, "windowQuitMode", {"value", windowQuitMode});
290  writeDomElement(plusSettingDom, "lastFileDialogPath", {"value", lastFileDialogPath});
291  writeDomElement(plusSettingDom, "mediaLibraryPath", {"value", mediaLibraryPath});
292  //
293  writeDomElement(otherSettingDom, "otherCheckUpdateEnable", {"value", otherCheckUpdateEnable});
294  writeDomElement(otherSettingDom, "otherUseAlbumCover", {"value", otherReadAlbumCover});
295  writeDomElement(otherSettingDom, "otherUseFileInfo", {"value", otherReadFileInfo});
296  writeDomElement(otherSettingDom, "otherWriteAlbumCover", {"value", otherWriteAlbumCover});
297  writeDomElement(otherSettingDom, "otherWriteFileInfo", {"value", otherWriteFileInfo});
298  writeDomElement(otherSettingDom, "otherSideByMode", {"value", otherSideByMode});
299  writeDomElement(otherSettingDom, "otherLrcKTVMode", {"value", otherLrcKTVMode});
300  writeDomElement(otherSettingDom, "otherScreenSaverEnable", {"value", otherScreenSaverEnable});
301  writeDomElement(otherSettingDom, "otherScreenSaverTime", {"value", otherScreenSaverTime});
302  writeDomElement(otherSettingDom, "otherScreenSaverIndex", {"value", otherScreenSaverIndex});
303  writeDomElement(otherSettingDom, "otherPlaylistAutoSaveEnable", {"value", otherPlaylistAutoSaveEnable});
304  writeDomElement(otherSettingDom, "otherRandomShuffleMode", {"value", otherRandomShuffleMode});
305  writeDomElement(otherSettingDom, "otherHighDpiScalingEnable", {"value", otherHighDpiScalingEnable});
306  //
307  writeDomElement(rippleSettingDom, "rippleLowPowerMode", {"value", rippleLowPowerMode});
308  writeDomElement(rippleSettingDom, "rippleSpectrumEnable", {"value", rippleSpectrumEnable});
309  writeDomElement(rippleSettingDom, "rippleSpectrumColor", {"value", rippleSpectrumColor});
310  //
311  writeDomElement(backgroundSettingDom, "backgroundThemeValue", {"value", backgroundThemeValue});
312  writeDomElement(backgroundSettingDom, "backgroundTransparent", {"value", backgroundTransparent});
313  writeDomElement(backgroundSettingDom, "backgroundListTransparent", {"value", backgroundListTransparent});
314  writeDomElement(backgroundSettingDom, "backgroundTransparentEnable", {"value", backgroundTransparentEnable});
315  //
316  writeDomElement(hotkeySettingDom, "hotkeyEnable", {"value", hotkeyEnable});
317  writeDomElement(hotkeySettingDom, "hotkeyValue", {"value", hotkeyValue});
318  //
319  writeDomElement(interiorLrcSettingDom, "lrcColor", {"value", lrcColor});
320  writeDomElement(interiorLrcSettingDom, "lrcSize", {"value", lrcSize});
321  writeDomElement(interiorLrcSettingDom, "lrcFamily", {"value", lrcFamily});
322  writeDomElement(interiorLrcSettingDom, "lrcType", {"value", lrcType});
323  writeDomElement(interiorLrcSettingDom, "lrcTransparent", {"value", lrcTransparent});
324  writeDomElement(interiorLrcSettingDom, "lrcFrontgroundColor", {"value", lrcFrontgroundColor});
325  writeDomElement(interiorLrcSettingDom, "lrcBackgroundColor", {"value", lrcBackgroundColor});
326  //
327  writeDomElement(desktopLrcSettingDom, "showDesktopLrc", {"value", showDesktopLrc});
328  writeDomElement(desktopLrcSettingDom, "lrcDColor", {"value", DLrcColor});
329  writeDomElement(desktopLrcSettingDom, "lrcDSize", {"value", DLrcSize});
330  writeDomElement(desktopLrcSettingDom, "lrcDFamily", {"value", DLrcFamily});
331  writeDomElement(desktopLrcSettingDom, "lrcDType", {"value", DLrcType});
332  writeDomElement(desktopLrcSettingDom, "lrcDTransparent", {"value", DLrcTransparent});
333  writeDomElement(desktopLrcSettingDom, "lrcDFrontgroundColor", {"value", DLrcFrontgroundColor});
334  writeDomElement(desktopLrcSettingDom, "lrcDBackgroundColor", {"value", DLrcBackgroundColor});
335  writeDomElement(desktopLrcSettingDom, "lrcDWindowMode", {"value", DLrcWindowMode});
336  writeDomElement(desktopLrcSettingDom, "lrcDSingleLineMode", {"value", DLrcSingleLineMode});
337  writeDomElement(desktopLrcSettingDom, "lrcDLockedMode", {"value", DLrcLockedMode});
338  writeDomElement(desktopLrcSettingDom, "lrcDGeometry", {"value", QString("%1,%2").arg(DLrcGeometry.x()).arg(DLrcGeometry.y())});
339  //
340  writeDomElement(equalizerSettingDom, "enhancedMusicIndex", {"value", enhancedMusicIndex});
341  writeDomElement(equalizerSettingDom, "equalizerEnable", {"value", equalizerEnable});
342  writeDomElement(equalizerSettingDom, "equalizerIndex", {"value", equalizerIndex});
343  writeDomElement(equalizerSettingDom, "equalizerValue", {"value", equalizerValue});
344  writeDomElement(equalizerSettingDom, "enhancedFadeEnable", {"value", enhancedFadeEnable});
345  writeDomElement(equalizerSettingDom, "enhancedFadeInValue", {"value", enhancedFadeInValue});
346  writeDomElement(equalizerSettingDom, "enhancedFadeOutValue", {"value", enhancedFadeOutValue});
347  writeDomElement(equalizerSettingDom, "enhancedEffectValue", {"value", enhancedEffectValue});
348  //
349  writeDomElement(timeSettingDom, "timeAutoIndex", {"value", timeAutoIndex});
350  writeDomElement(timeSettingDom, "timeAutoPlayMode", {"value", timeAutoPlayMode});
351  writeDomElement(timeSettingDom, "timeAutoPlayHour", {"value", timeAutoPlayHour});
352  writeDomElement(timeSettingDom, "timeAutoPlaySecond", {"value", timeAutoPlaySecond});
353  writeDomElement(timeSettingDom, "timeAutoPlayRepeat", {"value", timeAutoPlayRepeat});
354  writeDomElement(timeSettingDom, "timeAutoPlayItemIndex", {"value", timeAutoPlayItemIndex});
355  writeDomElement(timeSettingDom, "timeAutoPlaySongIndex", {"value", timeAutoPlaySongIndex});
356  writeDomElement(timeSettingDom, "timeAutoStopMode", {"value", timeAutoStopMode});
357  writeDomElement(timeSettingDom, "timeAutoStopHour", {"value", timeAutoStopHour});
358  writeDomElement(timeSettingDom, "timeAutoStopSecond", {"value", timeAutoStopSecond});
359  writeDomElement(timeSettingDom, "timeAutoStopRepeat", {"value", timeAutoStopRepeat});
360  writeDomElement(timeSettingDom, "timeAutoShutdownMode", {"value", timeAutoShutdownMode});
361  writeDomElement(timeSettingDom, "timeAutoShutdownHour", {"value", timeAutoShutdownHour});
362  writeDomElement(timeSettingDom, "timeAutoShutdownSecond", {"value", timeAutoShutdownSecond});
363  writeDomElement(timeSettingDom, "timeAutoShutdownRepeat", {"value", timeAutoShutdownRepeat});
364  //
365  writeDomElement(downloadSettingDom, "downloadMusicPath", {"value", downloadMusicPath});
366  writeDomElement(downloadSettingDom, "downloadLrcPath", {"value", downloadLrcPath});
367  writeDomElement(downloadSettingDom, "downloadFileNameRule", {"value", downloadFileNameRule});
368  writeDomElement(downloadSettingDom, "downloadCacheEnable", {"value", downloadCacheEnable});
369  writeDomElement(downloadSettingDom, "downloadCacheSize", {"value", downloadCacheSize});
370  writeDomElement(downloadSettingDom, "downloadLimitEnable", {"value", downloadLimitEnable});
371  writeDomElement(downloadSettingDom, "downloadServerIndex", {"value", downloadServerIndex});
372  writeDomElement(downloadSettingDom, "downloadDownloadLimitSize", {"value", downloadDownloadLimitSize});
373  writeDomElement(downloadSettingDom, "downloadUploadLimitSize", {"value", downloadUploadLimitSize});
374 
375  save();
376  return true;
377 }
378 
380 {
381  const QDomNodeList &nodes = m_document->elementsByTagName("geometry");
382  if(nodes.isEmpty())
383  {
384  return QRect(0, 0, WINDOW_WIDTH_MIN, WINDOW_HEIGHT_MIN);
385  }
386 
387  const QDomElement &element = nodes.item(0).toElement();
388  const QStringList &list = element.attribute("value").split(",");
389 
390  if(list.count() == 4)
391  {
392  return QRect(list[0].toInt() < 0 ? 0 : list[0].toInt(),
393  list[1].toInt() < 0 ? 0 : list[1].toInt(),
394  list[2].toInt(),
395  list[3].toInt());
396  }
397  else
398  {
399  return QRect(0, 0, WINDOW_WIDTH_MIN, WINDOW_HEIGHT_MIN);
400  }
401 }
402 
404 {
405  const QStringList &point = readAttributeByTagName("lrcDGeometry").split(",");
406  if(point.count() != 2)
407  {
408  return QPoint();
409  }
410  return QPoint(point[0].toInt(), point[1].toInt());
411 }
The class of the ttk xml interface.
QRect readWindowGeometry() const
QDomDocument * m_document
#define TTK_APP_NAME
Definition: ttkobject.h:25
QDomElement writeDomElement(QDomElement &element, const QString &node) const
void createProcessingInstruction() const
QDomElement createRoot(const QString &node) const
TTK_MODULE_EXPORT QString lrcDirPrefix()
QString readAttributeByTagName(const QString &tagName, const QString &attrName="value") const
void save() const
#define WINDOW_WIDTH_MIN
Definition: musicobject.h:153
TTK_MODULE_EXPORT QString musicDirPrefix()
#define TTK_CONFIG_VERSION_STR
Definition: ttkversion.h:168
QPoint readShowDesktopLrcGeometry() const
#define WINDOW_HEIGHT_MIN
Definition: musicobject.h:154
#define G_SETTING_PTR