- QString filename = QFileDialog::getOpenFileName(this, tr("Open file"),
- QDir::home().path(),
- tr("Theme files") + "(*" + ThemeLoader::getThemeSuffix() + ")");
-
- if(filename.isEmpty())
- {
- return;
- }
-
- qDebug() << filename;
-
- QString basename;
- int i = filename.lastIndexOf(QDir::separator());
-
- if(i == -1)
- {
- basename = filename;
- }
- else
- {
- basename = filename.mid(i + 1);
- }
-
- QString targetFile = ThemeLoader::getThemeDir() + basename;
-
- qDebug() << targetFile;
-
- bool ok = true;
-
- if(QFile::exists(targetFile))
- {
- ok = confirmCopy(basename);
-
- if(ok)
- {
- QFile::remove(targetFile);
- }
- }
-
- if(ok)
- {
- QFile::copy(filename, targetFile);
- QString name;
- QString id;
- getThemeDetails(basename, name, id);
- theme_ = id;
- loadThemes();
- }
-}
-
-void ThemeSelector::loadThemes()
-{
- selector_->clear();
- selector_->addItem(tr("Default"), "default");
- QDir themeDir(ThemeLoader::getThemeDir());
-
- if(!themeDir.exists() || !themeDir.isReadable())
- {
- qDebug() << "Warning: theme dir (" + ThemeLoader::getThemeDir() + ") doesn't exist or is read protected";
- return;
- }