aboutsummaryrefslogtreecommitdiff
path: root/src/ui
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/configdialog.cpp20
-rw-r--r--src/ui/configdialog.h3
-rw-r--r--src/ui/forms/configdialog.ui104
3 files changed, 87 insertions, 40 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();
+}
diff --git a/src/ui/configdialog.h b/src/ui/configdialog.h
index 9522be645..595db0ccc 100644
--- a/src/ui/configdialog.h
+++ b/src/ui/configdialog.h
@@ -59,10 +59,11 @@ private slots:
void updateButtons();
void updateDialogButton(int);
void showFileDialogInfo();
+ void installSkin();
+ void loadSkins();
private:
void readSettings();
- void loadSkins();
void findSkins(const QString &path);
void loadPluginsInfo();
void loadFonts();
diff --git a/src/ui/forms/configdialog.ui b/src/ui/forms/configdialog.ui
index fd5e3f32b..15d1a5d7b 100644
--- a/src/ui/forms/configdialog.ui
+++ b/src/ui/forms/configdialog.ui
@@ -6,7 +6,7 @@
<x>0</x>
<y>0</y>
<width>601</width>
- <height>409</height>
+ <height>426</height>
</rect>
</property>
<property name="windowTitle" >
@@ -160,14 +160,8 @@
<property name="title" >
<string>Skins</string>
</property>
- <layout class="QVBoxLayout" >
- <property name="spacing" >
- <number>6</number>
- </property>
- <property name="margin" >
- <number>9</number>
- </property>
- <item>
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" colspan="2" >
<widget class="QListWidget" name="listWidget" >
<property name="alternatingRowColors" >
<bool>true</bool>
@@ -186,21 +180,47 @@
</property>
</widget>
</item>
+ <item row="1" column="0" >
+ <widget class="QPushButton" name="skinInstallButton" >
+ <property name="minimumSize" >
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text" >
+ <string>Add...</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QPushButton" name="skinReloadButton" >
+ <property name="minimumSize" >
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text" >
+ <string>Refresh</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="plGroupBox" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="title" >
<string>Fonts</string>
</property>
- <layout class="QGridLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
+ <layout class="QGridLayout" name="gridLayout_2" >
<item row="0" column="0" >
<widget class="QLabel" name="label" >
<property name="maximumSize" >
@@ -217,6 +237,26 @@
</property>
</widget>
</item>
+ <item row="0" column="1" >
+ <widget class="QLabel" name="mainFontLabel" >
+ <property name="frameShape" >
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Sunken</enum>
+ </property>
+ <property name="text" >
+ <string>???</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2" >
+ <widget class="QToolButton" name="mainFontButton" >
+ <property name="text" >
+ <string>...</string>
+ </property>
+ </widget>
+ </item>
<item row="1" column="0" >
<widget class="QLabel" name="label_2" >
<property name="maximumSize" >
@@ -253,26 +293,6 @@
</property>
</widget>
</item>
- <item row="0" column="1" >
- <widget class="QLabel" name="mainFontLabel" >
- <property name="frameShape" >
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow" >
- <enum>QFrame::Sunken</enum>
- </property>
- <property name="text" >
- <string>???</string>
- </property>
- </widget>
- </item>
- <item row="0" column="2" >
- <widget class="QToolButton" name="mainFontButton" >
- <property name="text" >
- <string>...</string>
- </property>
- </widget>
- </item>
</layout>
</widget>
</item>
@@ -395,6 +415,12 @@
</property>
<item row="1" column="0" >
<widget class="QPushButton" name="preferencesButton" >
+ <property name="minimumSize" >
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
<property name="text" >
<string>Preferences</string>
</property>
@@ -402,6 +428,12 @@
</item>
<item row="1" column="1" >
<widget class="QPushButton" name="informationButton" >
+ <property name="minimumSize" >
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
<property name="text" >
<string>Information</string>
</property>