aboutsummaryrefslogtreecommitdiff
path: root/src/ui/configdialog.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-12-11 17:30:09 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-12-11 17:30:09 +0000
commit4602c4fda29f1455ed6693b6af421ec7c7f68eb8 (patch)
tree18fb91e995311c2b38a1c304e13af30cf4103ecb /src/ui/configdialog.cpp
parentf599c04cb6e5b6394c44aa9e6f0b9b04a3f4afdb (diff)
downloadqmmp-4602c4fda29f1455ed6693b6af421ec7c7f68eb8.tar.gz
qmmp-4602c4fda29f1455ed6693b6af421ec7c7f68eb8.tar.bz2
qmmp-4602c4fda29f1455ed6693b6af421ec7c7f68eb8.zip
skin installation dialog
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@675 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/ui/configdialog.cpp')
-rw-r--r--src/ui/configdialog.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/ui/configdialog.cpp b/src/ui/configdialog.cpp
index 95c23ad96..8b7a82591 100644
--- a/src/ui/configdialog.cpp
+++ b/src/ui/configdialog.cpp
@@ -69,11 +69,13 @@ ConfigDialog::ConfigDialog ( QWidget *parent )
connect (ui.pluginsTab, SIGNAL(currentChanged(int)), SLOT(updateButtons()));
connect (ui.fileDialogComboBox, SIGNAL (currentIndexChanged (int)), SLOT(updateDialogButton(int)));
connect (ui.fdInformationButton, SIGNAL (clicked()), SLOT(showFileDialogInfo()));
+ connect (ui.skinInstallButton, SIGNAL (clicked()), SLOT(installSkin()));
+ connect (ui.skinReloadButton, SIGNAL (clicked()), SLOT(loadSkins()));
+ connect (ui.listWidget, SIGNAL (itemClicked (QListWidgetItem *)), this, SLOT (changeSkin()));
ui.listWidget->setIconSize (QSize (69,29));
m_skin = Skin::getPointer();
readSettings();
m_reader = new SkinReader(this);
- m_reader->generateThumbs();
loadSkins();
loadPluginsInfo();
loadFonts();
@@ -152,7 +154,9 @@ void ConfigDialog::changeSkin()
void ConfigDialog::loadSkins()
{
+ m_reader->generateThumbs();
m_skinList.clear();
+ ui.listWidget->clear();
QFileInfo fileInfo (":/default");
QPixmap preview = Skin::getPixmap ("main", QDir (fileInfo.filePath()));
QListWidgetItem *item = new QListWidgetItem (fileInfo.fileName ());
@@ -170,8 +174,6 @@ void ConfigDialog::loadSkins()
ui.listWidget->addItem (item);
m_skinList << QFileInfo(path);
}
- connect (ui.listWidget, SIGNAL (itemClicked (QListWidgetItem *)),
- this, SLOT (changeSkin()));
}
void ConfigDialog::findSkins(const QString &path)
@@ -624,3 +626,15 @@ void ConfigDialog::showFileDialogInfo()
int index = ui.fileDialogComboBox->currentIndex ();
FileDialog::registeredFactories()[index]->showAbout(this);
}
+
+void ConfigDialog::installSkin()
+{
+ QStringList files = FileDialog::getOpenFileNames(this,tr("Select Skin Files"), QDir::homePath(),
+ tr("Skin files") + " (*.tar.gz *.tgz *.tar.bz2 *.zip *.wsz)");
+ foreach(QString path, files)
+ {
+ QFile file(path);
+ file.copy(QDir::homePath() +"/.qmmp/skins/" + QFileInfo(path).fileName());
+ }
+ loadSkins();
+}