1 
2 #include "cleanconfig.h"
3 #include <QFile>
4 #include <QDir>
5 
6 #define DO_REMOVE
7 //#define REMOVE_FILE_SETTINGS
8 
clean(const QString & config_path)9 void CleanConfig::clean(const QString & config_path) {
10 	qDebug("CleanConfig::clean");
11 
12 	QStringList files;
13 	files << "smplayer.ini" << "styles.ass" << "smplayer_files.ini"
14           << "ytcode.script" << "yt.js" << "sig.ini" << "player_info.ini"
15           << "device_info.ini" << "hdpi.ini" << "playlist.ini";
16 
17 	QStringList files_to_delete;
18 
19 	foreach(QString f, files) {
20 		QString s = config_path +"/"+ f;
21 		if (QFile::exists(s)) files_to_delete << s;
22 	}
23 
24 #ifdef REMOVE_FILE_SETTINGS
25 	QString s = config_path + "/file_settings";
26 	if (QFile::exists(s)) files_to_delete << listDir(s);
27 #endif
28 
29 	printf("Deleting files:\n");
30 	for (int n = 0; n < files_to_delete.count(); n++) {
31 		printf("Delete: %s\n", files_to_delete[n].toUtf8().constData());
32 		#ifdef DO_REMOVE
33 		QFile::remove(files_to_delete[n]);
34 		#endif
35 	}
36 }
37 
listDir(const QString & path)38 QStringList CleanConfig::listDir(const QString &path) {
39 	QDir dir(path);
40 	QStringList file_list;
41 
42 	foreach(QString file, dir.entryList(QDir::Files)) {
43 		file_list << QFileInfo(dir, file).absoluteFilePath();
44 	}
45 
46 	foreach(QString sub_dir, dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot)) {
47 		file_list << listDir(path +"/"+ sub_dir);
48 	}
49 
50 	return file_list;
51 }
52 
53