Black icons came back
authorNikolay Tischenko <niktischenko@gmail.com>
Sun, 10 Oct 2010 10:00:16 +0000 (17:00 +0700)
committerNikolay Tischenko <niktischenko@gmail.com>
Sun, 10 Oct 2010 10:00:16 +0000 (17:00 +0700)
Improved UI
Enhanced performance

49 files changed:
resources/black/add.png [new file with mode: 0644]
resources/black/artists.png [new file with mode: 0644]
resources/black/back.png [new file with mode: 0644]
resources/black/delete.png [new file with mode: 0644]
resources/black/deselect_all.png [new file with mode: 0644]
resources/black/dynamic.png [new file with mode: 0644]
resources/black/fav.png [new file with mode: 0644]
resources/black/forward.png [new file with mode: 0644]
resources/black/fullscreen.png [new file with mode: 0644]
resources/black/library.png [new file with mode: 0644]
resources/black/more.png [new file with mode: 0644]
resources/black/more_l.png [new file with mode: 0644]
resources/black/next.png [new file with mode: 0644]
resources/black/pause.png [new file with mode: 0644]
resources/black/play.png [new file with mode: 0644]
resources/black/playback.png [new file with mode: 0644]
resources/black/player.png [new file with mode: 0644]
resources/black/playlist.png [new file with mode: 0644]
resources/black/playlists.png [new file with mode: 0644]
resources/black/prev.png [new file with mode: 0644]
resources/black/random_active.png [new file with mode: 0644]
resources/black/random_inactive.png [new file with mode: 0644]
resources/black/repeat_active.png [new file with mode: 0644]
resources/black/repeat_inactive.png [new file with mode: 0644]
resources/black/search.png [new file with mode: 0644]
resources/black/select_all.png [new file with mode: 0644]
resources/black/stop.png [new file with mode: 0644]
resources/black/unmore.png [new file with mode: 0644]
resources/black/unmore_l.png [new file with mode: 0644]
resources/black/use.png [new file with mode: 0644]
resources/black/volume.png [new file with mode: 0644]
resources/black/window.png [new file with mode: 0644]
resources/resources.qrc
resources/white/more_l.png [new file with mode: 0644]
resources/white/unmore_l.png [new file with mode: 0644]
src/config.cpp
src/libraryform.cpp
src/libraryform.h
src/mainwindow.cpp
src/player/player.cpp
src/playerform.cpp
src/playerform.h
src/settingsdialog.cpp
src/settingsdialog.h
src/toolswidget.cpp
src/toolswidget.h
src/ui/libraryform.ui
src/ui/playerform.ui
src/ui/settingsdialog.ui

diff --git a/resources/black/add.png b/resources/black/add.png
new file mode 100644 (file)
index 0000000..a098819
Binary files /dev/null and b/resources/black/add.png differ
diff --git a/resources/black/artists.png b/resources/black/artists.png
new file mode 100644 (file)
index 0000000..61c03cf
Binary files /dev/null and b/resources/black/artists.png differ
diff --git a/resources/black/back.png b/resources/black/back.png
new file mode 100644 (file)
index 0000000..43d1f1f
Binary files /dev/null and b/resources/black/back.png differ
diff --git a/resources/black/delete.png b/resources/black/delete.png
new file mode 100644 (file)
index 0000000..74daaa2
Binary files /dev/null and b/resources/black/delete.png differ
diff --git a/resources/black/deselect_all.png b/resources/black/deselect_all.png
new file mode 100644 (file)
index 0000000..7c68419
Binary files /dev/null and b/resources/black/deselect_all.png differ
diff --git a/resources/black/dynamic.png b/resources/black/dynamic.png
new file mode 100644 (file)
index 0000000..badb712
Binary files /dev/null and b/resources/black/dynamic.png differ
diff --git a/resources/black/fav.png b/resources/black/fav.png
new file mode 100644 (file)
index 0000000..cd5d5b8
Binary files /dev/null and b/resources/black/fav.png differ
diff --git a/resources/black/forward.png b/resources/black/forward.png
new file mode 100644 (file)
index 0000000..fccf7d9
Binary files /dev/null and b/resources/black/forward.png differ
diff --git a/resources/black/fullscreen.png b/resources/black/fullscreen.png
new file mode 100644 (file)
index 0000000..cd51d5b
Binary files /dev/null and b/resources/black/fullscreen.png differ
diff --git a/resources/black/library.png b/resources/black/library.png
new file mode 100644 (file)
index 0000000..c84ea85
Binary files /dev/null and b/resources/black/library.png differ
diff --git a/resources/black/more.png b/resources/black/more.png
new file mode 100644 (file)
index 0000000..64e5c01
Binary files /dev/null and b/resources/black/more.png differ
diff --git a/resources/black/more_l.png b/resources/black/more_l.png
new file mode 100644 (file)
index 0000000..b51bcb8
Binary files /dev/null and b/resources/black/more_l.png differ
diff --git a/resources/black/next.png b/resources/black/next.png
new file mode 100644 (file)
index 0000000..10275d3
Binary files /dev/null and b/resources/black/next.png differ
diff --git a/resources/black/pause.png b/resources/black/pause.png
new file mode 100644 (file)
index 0000000..7a27e3d
Binary files /dev/null and b/resources/black/pause.png differ
diff --git a/resources/black/play.png b/resources/black/play.png
new file mode 100644 (file)
index 0000000..4d9cbf5
Binary files /dev/null and b/resources/black/play.png differ
diff --git a/resources/black/playback.png b/resources/black/playback.png
new file mode 100644 (file)
index 0000000..d5ebe27
Binary files /dev/null and b/resources/black/playback.png differ
diff --git a/resources/black/player.png b/resources/black/player.png
new file mode 100644 (file)
index 0000000..2c14632
Binary files /dev/null and b/resources/black/player.png differ
diff --git a/resources/black/playlist.png b/resources/black/playlist.png
new file mode 100644 (file)
index 0000000..39f80b6
Binary files /dev/null and b/resources/black/playlist.png differ
diff --git a/resources/black/playlists.png b/resources/black/playlists.png
new file mode 100644 (file)
index 0000000..3347025
Binary files /dev/null and b/resources/black/playlists.png differ
diff --git a/resources/black/prev.png b/resources/black/prev.png
new file mode 100644 (file)
index 0000000..b1d4e3c
Binary files /dev/null and b/resources/black/prev.png differ
diff --git a/resources/black/random_active.png b/resources/black/random_active.png
new file mode 100644 (file)
index 0000000..aae80aa
Binary files /dev/null and b/resources/black/random_active.png differ
diff --git a/resources/black/random_inactive.png b/resources/black/random_inactive.png
new file mode 100644 (file)
index 0000000..ea8f9ed
Binary files /dev/null and b/resources/black/random_inactive.png differ
diff --git a/resources/black/repeat_active.png b/resources/black/repeat_active.png
new file mode 100644 (file)
index 0000000..f574f11
Binary files /dev/null and b/resources/black/repeat_active.png differ
diff --git a/resources/black/repeat_inactive.png b/resources/black/repeat_inactive.png
new file mode 100644 (file)
index 0000000..66e78e4
Binary files /dev/null and b/resources/black/repeat_inactive.png differ
diff --git a/resources/black/search.png b/resources/black/search.png
new file mode 100644 (file)
index 0000000..413387d
Binary files /dev/null and b/resources/black/search.png differ
diff --git a/resources/black/select_all.png b/resources/black/select_all.png
new file mode 100644 (file)
index 0000000..ef60283
Binary files /dev/null and b/resources/black/select_all.png differ
diff --git a/resources/black/stop.png b/resources/black/stop.png
new file mode 100644 (file)
index 0000000..3d90ff5
Binary files /dev/null and b/resources/black/stop.png differ
diff --git a/resources/black/unmore.png b/resources/black/unmore.png
new file mode 100644 (file)
index 0000000..4bc509d
Binary files /dev/null and b/resources/black/unmore.png differ
diff --git a/resources/black/unmore_l.png b/resources/black/unmore_l.png
new file mode 100644 (file)
index 0000000..d160584
Binary files /dev/null and b/resources/black/unmore_l.png differ
diff --git a/resources/black/use.png b/resources/black/use.png
new file mode 100644 (file)
index 0000000..8a1f5ce
Binary files /dev/null and b/resources/black/use.png differ
diff --git a/resources/black/volume.png b/resources/black/volume.png
new file mode 100644 (file)
index 0000000..77915cf
Binary files /dev/null and b/resources/black/volume.png differ
diff --git a/resources/black/window.png b/resources/black/window.png
new file mode 100644 (file)
index 0000000..4540929
Binary files /dev/null and b/resources/black/window.png differ
index ef6f4a5..4325b91 100644 (file)
         <file>white/window.png</file>
         <file>white/more.png</file>
         <file>white/unmore.png</file>
+        <file>white/more_l.png</file>
+        <file>white/unmore_l.png</file>
+        <file>black/add.png</file>
+        <file>black/artists.png</file>
+        <file>black/back.png</file>
+        <file>black/delete.png</file>
+        <file>black/deselect_all.png</file>
+        <file>black/dynamic.png</file>
+        <file>black/fav.png</file>
+        <file>black/forward.png</file>
+        <file>black/fullscreen.png</file>
+        <file>black/library.png</file>
+        <file>black/more_l.png</file>
+        <file>black/more.png</file>
+        <file>black/next.png</file>
+        <file>black/pause.png</file>
+        <file>black/play.png</file>
+        <file>black/playback.png</file>
+        <file>black/player.png</file>
+        <file>black/playlist.png</file>
+        <file>black/playlists.png</file>
+        <file>black/prev.png</file>
+        <file>black/random_active.png</file>
+        <file>black/random_inactive.png</file>
+        <file>black/repeat_active.png</file>
+        <file>black/repeat_inactive.png</file>
+        <file>black/search.png</file>
+        <file>black/select_all.png</file>
+        <file>black/stop.png</file>
+        <file>black/unmore_l.png</file>
+        <file>black/unmore.png</file>
+        <file>black/use.png</file>
+        <file>black/volume.png</file>
+        <file>black/window.png</file>
     </qresource>
 </RCC>
diff --git a/resources/white/more_l.png b/resources/white/more_l.png
new file mode 100644 (file)
index 0000000..9e18c78
Binary files /dev/null and b/resources/white/more_l.png differ
diff --git a/resources/white/unmore_l.png b/resources/white/unmore_l.png
new file mode 100644 (file)
index 0000000..8a9ffd2
Binary files /dev/null and b/resources/white/unmore_l.png differ
index 286cca1..cec2c90 100644 (file)
@@ -26,6 +26,8 @@ using namespace SomePlayer::Storage;
 Config::Config()
 {
        _settings = new QSettings(QString(applicationDir())+"/settings.ini", QSettings::IniFormat);
+       if (_settings->value("ui/iconstheme").toString() == "")
+               _settings->setValue("ui/iconstheme", "white");
 }
 
 Config::~Config() {
index 5bd43d1..ccc4035 100644 (file)
@@ -32,6 +32,7 @@
 #include <QMessageBox>
 #include "config.h"
 #include <QSpacerItem>
+#include <QDebug>
 
 using namespace SomePlayer::DataObjects;
 using namespace SomePlayer::Storage;
@@ -72,6 +73,8 @@ LibraryForm::LibraryForm(Library *lib, QWidget *parent) :
     ui(new Ui::LibraryForm)
 {
        _lib = lib;
+       Config config;
+       _icons_theme = config.getValue("ui/iconstheme").toString();
        _model = new QStandardItemModel(this);
        _state = STATE_NONE;
        _tools_widget = new ToolsWidget(this);
@@ -95,6 +98,8 @@ LibraryForm::LibraryForm(Library *lib, QWidget *parent) :
        connect(ui->moreButton, SIGNAL(clicked()), this, SLOT(_more_button()));
        _view_button();
        _current_playlist_changed = true;
+       _top_gradient = ui->topWidget->styleSheet();
+       _bottom_gradient = ui->bottomWidget->styleSheet();
 }
 
 LibraryForm::~LibraryForm()
@@ -117,7 +122,7 @@ void LibraryForm::_view_button() {
        ui->backButton->setEnabled(false);
        ui->listLabel->setText("Artists");
        ui->addButton->setEnabled(true);
-       ui->addButton->setIcon(QIcon(":/icons/white/add.png"));
+       ui->addButton->setIcon(QIcon(":/icons/"+_icons_theme+"/add.png"));
        ui->deleteButton->setEnabled(false);
        ui->deleteButton->setIcon(QIcon());
        ui->useButton->setEnabled(false);
@@ -129,7 +134,7 @@ void LibraryForm::_dynamic_button() {
        ui->useButton->setIcon(QIcon());
        ui->backButton->setEnabled(false);
        ui->addButton->setEnabled(true);
-       ui->addButton->setIcon(QIcon(":/icons/white/add.png"));
+       ui->addButton->setIcon(QIcon(":/icons/"+_icons_theme+"/add.png"));
        ui->deleteButton->setEnabled(false);
        ui->deleteButton->setIcon(QIcon());
        _model->clear();
@@ -172,9 +177,9 @@ void LibraryForm::_process_list_click(QModelIndex index) {
                        _state = STATE_PLAYLIST_TRACK;
                        ui->backButton->setEnabled(true);
                        ui->deleteButton->setEnabled(true);
-                       ui->deleteButton->setIcon(QIcon(":/icons/white/delete.png"));
+                       ui->deleteButton->setIcon(QIcon(":/icons/"+_icons_theme+"/delete.png"));
                        ui->useButton->setEnabled(true);
-                       ui->useButton->setIcon(QIcon(":/icons/white/use.png"));
+                       ui->useButton->setIcon(QIcon(":/icons/"+_icons_theme+"/use.png"));
                        ui->listLabel->setText(QString("Tracks in playlist \"%1\"").arg(data));
                }
                break;
@@ -201,9 +206,9 @@ void LibraryForm::_process_list_click(QModelIndex index) {
                        _state = STATE_PLAYLIST_TRACK;
                        ui->backButton->setEnabled(true);
                        ui->useButton->setEnabled(true);
-                       ui->useButton->setIcon(QIcon(":/icons/white/use.png"));
+                       ui->useButton->setIcon(QIcon(":/icons/"+_icons_theme+"/use.png"));
                        ui->addButton->setEnabled(true);
-                       ui->addButton->setIcon(QIcon(":/icons/white/add.png"));
+                       ui->addButton->setIcon(QIcon(":/icons/"+_icons_theme+"/add.png"));
                        ui->listLabel->setText(_current_playlist.name());
                }
        default:
@@ -217,31 +222,42 @@ void LibraryForm::_add_button() {
        QModelIndexList selected = ui->listView->selectionModel()->selectedIndexes();
        ui->listView->selectionModel()->clearSelection();
        emit busy(QString("<H1>Adding... Please wait</H1>"));
+       Playlist cur = _lib->getCurrentPlaylist();
        switch (_state) {
        case STATE_ARTIST:
                foreach (QModelIndex id, selected) {
-                       _add_artist(id.data().toString());
+                       _add_artist(&cur, id.data().toString());
                }
+               _lib->saveCurrentPlaylist(cur);
+               _current_playlist_changed = true;
                break;
        case STATE_ALBUM:
                foreach (QModelIndex id, selected) {
-                       _add_album(_current_artist, id.data().toString());
+                       _add_album(&cur, _current_artist, id.data().toString());
                }
+               _lib->saveCurrentPlaylist(cur);
+               _current_playlist_changed = true;
                break;
        case STATE_TRACK:
                foreach (QModelIndex id, selected) {
-                       _add_track(_current_tracks.at(id.row()));
+                       _add_track(&cur, _current_tracks.at(id.row()));
                }
+               _lib->saveCurrentPlaylist(cur);
+               _current_playlist_changed = true;
                break;
        case STATE_PLAYLIST:
                foreach (QModelIndex id, selected) {
-                       _add_playlist(id.data().toString());
+                       _add_playlist(&cur, id.data().toString());
                }
+               _lib->saveCurrentPlaylist(cur);
+               _current_playlist_changed = true;
                break;
        case STATE_PLAYLIST_TRACK:
                foreach (QModelIndex id, selected) {
-                       _add_track(_current_tracks.at(id.row()));
+                       _add_track(&cur, _current_tracks.at(id.row()));
                }
+               _lib->saveCurrentPlaylist(cur);
+               _current_playlist_changed = true;
                break;
        default:
                emit done();
@@ -251,32 +267,29 @@ void LibraryForm::_add_button() {
 }
 
 
-void LibraryForm::_add_artist(QString artist) {
+void LibraryForm::_add_artist(Playlist *cur, QString artist) {
        QList<QString> albums = _lib->getAlbumsForArtist(artist);
        foreach(QString album, albums) {
-               _add_album(artist, album);
+               _add_album(cur, artist, album);
        }
 }
 
-void LibraryForm::_add_album(QString artist, QString album) {
+void LibraryForm::_add_album(Playlist *cur, QString artist, QString album) {
        QList<Track> tracks = _lib->getTracksForAlbum(album, artist);
        foreach(Track track, tracks) {
-               _add_track(track);
+               _add_track(cur, track);
        }
 }
 
-void LibraryForm::_add_track(Track track) {
-       Playlist current = _lib->getCurrentPlaylist();
-       current.addTrack(track);
-       _lib->saveCurrentPlaylist(current);
-       _current_playlist_changed = true;
+void LibraryForm::_add_track(Playlist *cur, Track track) {
+       cur->addTrack(track);
 }
 
-void LibraryForm::_add_playlist(QString name) {
+void LibraryForm::_add_playlist(Playlist *cur, QString name) {
        Playlist playlist = _lib->getPlaylist(name);
        QList<Track> tracks = playlist.tracks();
        foreach (Track track, tracks) {
-               _add_track(track);
+               _add_track(cur, track);
        }
 }
 
@@ -307,10 +320,10 @@ void LibraryForm::_playlists_button() {
        _state = STATE_PLAYLIST;
        ui->backButton->setEnabled(false);
        ui->listLabel->setText("Playlists");
-       ui->addButton->setEnabled(false);
-       ui->addButton->setIcon(QIcon());
+       ui->addButton->setEnabled(true);
+       ui->addButton->setIcon(QIcon(":/icons/"+_icons_theme+"/add.png"));
        ui->deleteButton->setEnabled(true);
-       ui->deleteButton->setIcon(QIcon(":/icons/white/delete.png"));
+       ui->deleteButton->setIcon(QIcon(":/icons/"+_icons_theme+"/delete.png"));
        ui->useButton->setEnabled(false);
        ui->useButton->setIcon(QIcon());
 }
@@ -435,28 +448,155 @@ void LibraryForm::refresh() {
 void LibraryForm::_toggle_select_all_button() {
        if (ui->listView->selectionModel()->selectedIndexes().count() == ui->listView->model()->rowCount()) {
                ui->listView->selectionModel()->clearSelection();
-               ui->selectAllButton->setIcon(QIcon(":/icons/white/select_all.png"));
+               ui->selectAllButton->setIcon(QIcon(":/icons/"+_icons_theme+"/select_all.png"));
        } else {
                ui->listView->selectAll();
-               ui->selectAllButton->setIcon(QIcon(":/icons/white/deselect_all.png"));
+               ui->selectAllButton->setIcon(QIcon(":/icons/"+_icons_theme+"/deselect_all.png"));
        }
 }
 
 void LibraryForm::landscapeMode() {
+       landscape = true;
+       ui->topWidget->hide();
+       ui->bottomWidget->hide();
+
+       ui->lverticalLayout->removeItem(ui->lverticalSpacer_0);
+       ui->lverticalLayout->removeItem(ui->lverticalSpacer_1);
+       ui->lverticalLayout->removeItem(ui->lverticalSpacer_2);
+       ui->lverticalLayout->removeItem(ui->lverticalSpacer_3);
+       ui->lverticalLayout->addWidget(ui->backButton);
+       ui->lverticalLayout->addItem(ui->lverticalSpacer_0);
+       ui->lverticalLayout->addWidget(ui->addButton);
+       ui->lverticalLayout->addItem(ui->lverticalSpacer_1);
+       ui->lverticalLayout->addWidget(ui->deleteButton);
+       ui->lverticalLayout->addItem(ui->lverticalSpacer_2);
+       ui->lverticalLayout->addWidget(ui->useButton);
+       ui->lverticalLayout->addItem(ui->lverticalSpacer_3);
+       ui->lverticalLayout->addWidget(ui->playerButton);
+
+       ui->rverticalLayout->removeItem(ui->rverticalSpacer_0);
+       ui->rverticalLayout->removeItem(ui->rverticalSpacer_1);
+       ui->rverticalLayout->removeItem(ui->rverticalSpacer_2);
+       ui->rverticalLayout->removeItem(ui->rverticalSpacer_3);
+       ui->rverticalLayout->addWidget(ui->moreButton);
+       ui->rverticalLayout->addItem(ui->rverticalSpacer_0);
+       ui->rverticalLayout->addWidget(ui->selectAllButton);
+       ui->rverticalLayout->addItem(ui->rverticalSpacer_1);
+       ui->rverticalLayout->addWidget(ui->viewButton);
+       ui->rverticalLayout->addItem(ui->rverticalSpacer_2);
+       ui->rverticalLayout->addWidget(ui->dynamicButton);
+       ui->rverticalLayout->addItem(ui->rverticalSpacer_3);
+       ui->rverticalLayout->addWidget(ui->playlistsButton);
+
+       if (_tools_widget->isVisible()) {
+               ui->moreButton->setIcon(QIcon(":/icons/"+_icons_theme+"/more_l.png"));
+       } else {
+               ui->moreButton->setIcon(QIcon(":/icons/"+_icons_theme+"/unmore_l.png"));
+       }
 }
 
 void LibraryForm::portraitMode() {
+       landscape = false;
+
+       ui->topWidget->show();
+       ui->bottomWidget->show();
+
+       ui->lverticalLayout->removeItem(ui->lverticalSpacer_0);
+       ui->lverticalLayout->removeItem(ui->lverticalSpacer_1);
+       ui->lverticalLayout->removeItem(ui->lverticalSpacer_2);
+       ui->lverticalLayout->removeItem(ui->lverticalSpacer_3);
+
+       ui->rverticalLayout->removeItem(ui->rverticalSpacer_0);
+       ui->rverticalLayout->removeItem(ui->rverticalSpacer_1);
+       ui->rverticalLayout->removeItem(ui->rverticalSpacer_2);
+       ui->rverticalLayout->removeItem(ui->rverticalSpacer_3);
+
+       ui->topWidget->layout()->removeItem(ui->thorizontalSpacer_0);
+       ui->topWidget->layout()->removeItem(ui->thorizontalSpacer_1);
+       ui->topWidget->layout()->removeItem(ui->thorizontalSpacer_2);
+       ui->topWidget->layout()->removeItem(ui->thorizontalSpacer_3);
+       ui->topWidget->layout()->removeItem(ui->thorizontalSpacer_4);
+       ui->topWidget->layout()->addWidget(ui->backButton);
+       ui->topWidget->layout()->addItem(ui->thorizontalSpacer_0);
+       ui->topWidget->layout()->addWidget(ui->deleteButton);
+       ui->topWidget->layout()->addItem(ui->thorizontalSpacer_1);
+       ui->topWidget->layout()->addWidget(ui->addButton);
+       ui->topWidget->layout()->addItem(ui->thorizontalSpacer_2);
+       ui->topWidget->layout()->addWidget(ui->useButton);
+       ui->topWidget->layout()->addItem(ui->thorizontalSpacer_3);
+       ui->topWidget->layout()->addWidget(ui->selectAllButton);
+       ui->topWidget->layout()->addItem(ui->thorizontalSpacer_4);
+       ui->topWidget->layout()->addWidget(ui->moreButton);
+
+       ui->bottomWidget->layout()->removeItem(ui->bhorizontalSpacer_0);
+       ui->bottomWidget->layout()->removeItem(ui->bhorizontalSpacer_1);
+       ui->bottomWidget->layout()->removeItem(ui->bhorizontalSpacer_2);
+       ui->bottomWidget->layout()->addWidget(ui->playerButton);
+       ui->bottomWidget->layout()->addItem(ui->bhorizontalSpacer_0);
+       ui->bottomWidget->layout()->addWidget(ui->viewButton);
+       ui->bottomWidget->layout()->addItem(ui->bhorizontalSpacer_1);
+       ui->bottomWidget->layout()->addWidget(ui->dynamicButton);
+       ui->bottomWidget->layout()->addItem(ui->bhorizontalSpacer_2);
+       ui->bottomWidget->layout()->addWidget(ui->playlistsButton);
+
+       if (_tools_widget->isVisible()) {
+               ui->moreButton->setIcon(QIcon(":/icons/"+_icons_theme+"/unmore.png"));
+       } else {
+               ui->moreButton->setIcon(QIcon(":/icons/"+_icons_theme+"/more.png"));
+       }
 }
 
 void LibraryForm::_more_button() {
        if (_tools_widget->isVisible()) {
-               ui->moreButton->setIcon(QIcon(":/icons/white/more.png"));
+               ui->moreButton->setIcon(QIcon(landscape ? ":/icons/"+_icons_theme+"/unmore_l.png" : ":/icons/"+_icons_theme+"/more.png"));
                _tools_widget->hide();
                _tools_widget->reset();
                cancelSearch();
        } else {
-               ui->moreButton->setIcon(QIcon(":/icons/white/unmore.png"));
+               ui->moreButton->setIcon(QIcon(landscape ? ":/icons/"+_icons_theme+"/more_l.png" : ":/icons/"+_icons_theme+"/unmore.png"));
                _tools_widget->show();
                _tools_widget->setFocus();
        }
 }
+
+
+void LibraryForm::updateIcons() {
+       Config config;
+       _icons_theme = config.getValue("ui/iconstheme").toString();
+       _tools_widget->updateIcons();
+       if (!ui->addButton->icon().isNull()) {
+               ui->addButton->setIcon(QIcon(":/icons/"+_icons_theme+"/add.png"));
+       }
+       if (!ui->deleteButton->icon().isNull()) {
+               ui->deleteButton->setIcon(QIcon(":/icons/"+_icons_theme+"/delete.png"));
+       }
+       if (!ui->useButton->icon().isNull()) {
+               ui->useButton->setIcon(QIcon(":/icons/"+_icons_theme+"/use.png"));
+       }
+       ui->backButton->setIcon(QIcon(":/icons/"+_icons_theme+"/back.png"));
+       ui->dynamicButton->setIcon(QIcon(":/icons/"+_icons_theme+"/dynamic.png"));
+       if (_tools_widget->isVisible()) {
+               ui->moreButton->setIcon(QIcon(landscape ? ":/icons/"+_icons_theme+"/more_l.png" : ":/icons/"+_icons_theme+"/unmore.png"));
+       } else {
+               ui->moreButton->setIcon(QIcon(landscape ? ":/icons/"+_icons_theme+"/unmore_l.png" : ":/icons/"+_icons_theme+"/more.png"));
+       }
+       ui->playerButton->setIcon(QIcon(":/icons/"+_icons_theme+"/player.png"));
+       ui->playlistsButton->setIcon(QIcon(":/icons/"+_icons_theme+"/playlists.png"));
+       ui->viewButton->setIcon(QIcon(":/icons/"+_icons_theme+"/artists.png"));
+       if (ui->listView->selectionModel()->selectedRows().count() == _model->rowCount()) {
+               ui->selectAllButton->setIcon(QIcon(":/icons/"+_icons_theme+"/unselect_all.png"));
+       } else {
+               ui->selectAllButton->setIcon(QIcon(":/icons/"+_icons_theme+"/select_all.png"));
+       }
+}
+
+void LibraryForm::checkGradient() {
+       Config config;
+       if (config.getValue("ui/gradient").toString() == "yes") {
+               ui->bottomWidget->setStyleSheet(_bottom_gradient);
+               ui->topWidget->setStyleSheet(_top_gradient);
+       } else {
+               ui->topWidget->setStyleSheet("");
+               ui->bottomWidget->setStyleSheet("");
+       }
+}
index 4f8e25b..5b61062 100644 (file)
@@ -59,6 +59,8 @@ public slots:
        void refresh();
        void landscapeMode();
        void portraitMode();
+       void updateIcons();
+       void checkGradient();
 private slots:
        void _player();
        void _view_button();
@@ -85,11 +87,15 @@ private:
        int _search_current_id;
        bool _current_playlist_changed;
        ToolsWidget *_tools_widget;
+       bool landscape;
+       QString _icons_theme;
+       QString _top_gradient;
+       QString _bottom_gradient;
 
-       void _add_artist(QString artist);
-       void _add_album(QString artist, QString album);
-       void _add_track(Track track);
-       void _add_playlist(QString name);
+       void _add_artist(Playlist *cur, QString artist);
+       void _add_album(Playlist *cur, QString artist, QString album);
+       void _add_track(Playlist *cur, Track track);
+       void _add_playlist(Playlist *cur, QString name);
        void _delete_track(Track track);
 };
 
index f962a56..4ab05bb 100644 (file)
@@ -100,6 +100,10 @@ MainWindow::MainWindow(QWidget *parent) :
                _equalizer_dialog->landscapeMode();
                setAttribute(Qt::WA_Maemo5AutoOrientation);
        }
+       _library_form->updateIcons();
+       _player_form->updateIcons();
+       _player_form->checkGradient();
+       _library_form->checkGradient();
 }
 
 MainWindow::~MainWindow()
@@ -248,6 +252,10 @@ void MainWindow::settings() {
        } else if (mode == "auto") {
                setAttribute(Qt::WA_Maemo5AutoOrientation);
        }
+       _player_form->updateIcons();
+       _library_form->updateIcons();
+       _player_form->checkGradient();
+       _library_form->checkGradient();
 }
 
 void MainWindow::_orientation_changed() {
index 80fc64e..37f9a02 100644 (file)
@@ -24,6 +24,7 @@
 #include <phonon/EffectParameter>
 #include "../config.h"
 #include <QTime>
+#include <QTimer>
 
 using namespace SomePlayer::Playback;
 using namespace SomePlayer::DataObjects;
index cb2fc3d..ecee53b 100644 (file)
@@ -53,18 +53,20 @@ PlayerForm::PlayerForm(Library* lib, QWidget *parent) :
     ui(new Ui::PlayerForm)
 {
        _lib = lib;
+       Config config;
+       _icons_theme = config.getValue("ui/iconstheme").toString();
        _player = new Player(this);
        _time = new QTime();
        ui->setupUi(this);
        if (_player->random()) {
-               ui->randomButton->setIcon(QIcon(":/icons/white/random_active.png"));
+               ui->randomButton->setIcon(QIcon(":/icons/"+_icons_theme+"/random_active.png"));
        } else {
-               ui->randomButton->setIcon(QIcon(":/icons/white/random_inactive.png"));
+               ui->randomButton->setIcon(QIcon(":/icons/"+_icons_theme+"/random_inactive.png"));
        }
        if (_player->repeat()) {
-               ui->repeatButton->setIcon(QIcon(":/icons/white/repeat_active.png"));
+               ui->repeatButton->setIcon(QIcon(":/icons/"+_icons_theme+"/repeat_active.png"));
        } else {
-               ui->repeatButton->setIcon(QIcon(":/icons/white/repeat_inactive.png"));
+               ui->repeatButton->setIcon(QIcon(":/icons/"+_icons_theme+"/repeat_inactive.png"));
        }
        ui->volumeSlider->setMinimum(0);
        ui->volumeSlider->setMaximum(100);
@@ -118,7 +120,9 @@ PlayerForm::PlayerForm(Library* lib, QWidget *parent) :
        connect(_tools_widget, SIGNAL(nextSearch()), this, SLOT(nextItem()));
        connect(_tools_widget, SIGNAL(prevSearch()), this, SLOT(prevItem()));
        connect(_tools_widget, SIGNAL(toggleFullscreen(bool)), this, SIGNAL(fullscreen(bool)));
-       ui->viewButton->setIcon(QIcon(":/icons/white/playback.png"));
+       ui->viewButton->setIcon(QIcon(":/icons/"+_icons_theme+"/playback.png"));
+       _top_gradient = ui->topWidget->styleSheet();
+       _bottom_gradient = ui->bottomWidget->styleSheet();
 
        // dbus
        _dbusadaptor = new DBusAdaptop(_player);
@@ -148,10 +152,10 @@ void PlayerForm::_toggle_view() {
        int index = ui->stackedWidget->currentIndex();
        index = (!index % 2);
        if (index) {
-               ui->viewButton->setIcon(QIcon(":/icons/white/playlist.png"));
+               ui->viewButton->setIcon(QIcon(":/icons/"+_icons_theme+"/playlist.png"));
                ui->moreButton->setEnabled(false);
        } else {
-               ui->viewButton->setIcon(QIcon(":/icons/white/playback.png"));
+               ui->viewButton->setIcon(QIcon(":/icons/"+_icons_theme+"/playback.png"));
                ui->moreButton->setEnabled(true);
        }
        ui->stackedWidget->setCurrentIndex(index);
@@ -235,7 +239,7 @@ void PlayerForm::_add_to_favorites() {
 
 void PlayerForm::_state_changed(PlayerState state) {
        if (state == PLAYER_PLAYING) {
-               ui->playpauseButton->setIcon(QIcon(":/icons/white/pause.png"));
+               ui->playpauseButton->setIcon(QIcon(":/icons/"+_icons_theme+"/pause.png"));
                ui->seekSlider->setEnabled(true);
        } else {
                if (state == PLAYER_STOPPED) {
@@ -243,25 +247,25 @@ void PlayerForm::_state_changed(PlayerState state) {
                        ui->doneTimeLabel->setText("00:00");
                        ui->seekSlider->setEnabled(false);
                }
-               ui->playpauseButton->setIcon(QIcon(":/icons/white/play.png"));
+               ui->playpauseButton->setIcon(QIcon(":/icons/"+_icons_theme+"/play.png"));
        }
 }
 
 void PlayerForm::_toggle_random() {
        _player->toggleRandom();
        if (_player->random()) {
-               ui->randomButton->setIcon(QIcon(":/icons/white/random_active.png"));
+               ui->randomButton->setIcon(QIcon(":/icons/"+_icons_theme+"/random_active.png"));
        } else {
-               ui->randomButton->setIcon(QIcon(":/icons/white/random_inactive.png"));
+               ui->randomButton->setIcon(QIcon(":/icons/"+_icons_theme+"/random_inactive.png"));
        }
 }
 
 void PlayerForm::_toggle_repeat() {
        _player->toggleRepeat();
        if (_player->repeat()) {
-               ui->repeatButton->setIcon(QIcon(":/icons/white/repeat_active.png"));
+               ui->repeatButton->setIcon(QIcon(":/icons/"+_icons_theme+"/repeat_active.png"));
        } else {
-               ui->repeatButton->setIcon(QIcon(":/icons/white/repeat_inactive.png"));
+               ui->repeatButton->setIcon(QIcon(":/icons/"+_icons_theme+"/repeat_inactive.png"));
        }
 }
 
@@ -374,23 +378,146 @@ void PlayerForm::landscapeMode() {
        ui->progressLayout->removeItem(ui->seekSpacer);
        ui->progressLayout->insertWidget(1, ui->seekSlider);
        ui->progressWidget->setVisible(false);
+
+       landscape = true;
+
+       ui->topWidget->hide();
+       ui->bottomWidget->hide();
+
+       ui->bhorizontalLayout->removeItem(ui->chorizontalSpacer_0);
+       ui->bhorizontalLayout->removeItem(ui->chorizontalSpacer_1);
+       ui->bhorizontalLayout->removeItem(ui->chorizontalSpacer_2);
+       ui->bhorizontalLayout->removeItem(ui->chorizontalSpacer_3);
+       ui->bhorizontalLayout->removeItem(ui->chorizontalSpacer_4);
+       ui->bhorizontalLayout->addWidget(ui->libraryButton);
+       ui->bhorizontalLayout->addItem(ui->chorizontalSpacer_0);
+       ui->bhorizontalLayout->addWidget(ui->viewButton);
+       ui->bhorizontalLayout->addItem(ui->chorizontalSpacer_1);
+       ui->bhorizontalLayout->addWidget(ui->randomButton);
+       ui->bhorizontalLayout->addWidget(ui->repeatButton);
+       ui->bhorizontalLayout->addItem(ui->chorizontalSpacer_2);
+       ui->bhorizontalLayout->addWidget(ui->prevButton);
+       ui->bhorizontalLayout->addWidget(ui->playpauseButton);
+       ui->bhorizontalLayout->addWidget(ui->nextButton);
+       ui->bhorizontalLayout->addWidget(ui->stopButton);
+       ui->bhorizontalLayout->addItem(ui->chorizontalSpacer_3);
+       ui->bhorizontalLayout->addWidget(ui->moreButton);
+       ui->bhorizontalLayout->addItem(ui->chorizontalSpacer_4);
+       ui->bhorizontalLayout->addWidget(ui->volumeButton);
+
+       if (_tools_widget->isVisible()) {
+               ui->moreButton->setIcon(QIcon(":/icons/"+_icons_theme+"/more.png"));
+       } else {
+               ui->moreButton->setIcon(QIcon(":/icons/"+_icons_theme+"/unmore.png"));
+       }
 }
 
 void PlayerForm::portraitMode() {
        ui->progressLayout->insertSpacerItem(1, ui->seekSpacer);
        ui->progressWidget->layout()->addWidget(ui->seekSlider);
        ui->progressWidget->setVisible(true);
+
+       ui->topWidget->show();
+       ui->bottomWidget->show();
+
+       landscape = false;
+
+       ui->topWidget->layout()->removeItem(ui->thorizontalSpacer_0);
+       ui->topWidget->layout()->removeItem(ui->thorizontalSpacer_1);
+       ui->topWidget->layout()->removeItem(ui->thorizontalSpacer_2);
+       ui->topWidget->layout()->removeItem(ui->thorizontalSpacer_3);
+       ui->topWidget->layout()->addWidget(ui->prevButton);
+       ui->topWidget->layout()->addItem(ui->thorizontalSpacer_0);
+       ui->topWidget->layout()->addWidget(ui->stopButton);
+       ui->topWidget->layout()->addItem(ui->thorizontalSpacer_1);
+       ui->topWidget->layout()->addWidget(ui->playpauseButton);
+       ui->topWidget->layout()->addItem(ui->thorizontalSpacer_2);
+       ui->topWidget->layout()->addWidget(ui->nextButton);
+       ui->topWidget->layout()->addItem(ui->thorizontalSpacer_3);
+       ui->topWidget->layout()->addWidget(ui->moreButton);
+       ui->bhorizontalLayout->removeItem(ui->chorizontalSpacer_0);
+       ui->bhorizontalLayout->removeItem(ui->chorizontalSpacer_1);
+       ui->bhorizontalLayout->removeItem(ui->chorizontalSpacer_2);
+       ui->bhorizontalLayout->removeItem(ui->chorizontalSpacer_3);
+       ui->bhorizontalLayout->removeItem(ui->chorizontalSpacer_4);
+
+       ui->bottomWidget->layout()->removeItem(ui->bhorizontalSpacer_0);
+       ui->bottomWidget->layout()->removeItem(ui->bhorizontalSpacer_1);
+       ui->bottomWidget->layout()->removeItem(ui->bhorizontalSpacer_2);
+       ui->bottomWidget->layout()->removeItem(ui->bhorizontalSpacer_3);
+       ui->bottomWidget->layout()->addWidget(ui->libraryButton);
+       ui->bottomWidget->layout()->addItem(ui->bhorizontalSpacer_0);
+       ui->bottomWidget->layout()->addWidget(ui->viewButton);
+       ui->bottomWidget->layout()->addItem(ui->bhorizontalSpacer_1);
+       ui->bottomWidget->layout()->addWidget(ui->randomButton);
+       ui->bottomWidget->layout()->addItem(ui->bhorizontalSpacer_2);
+       ui->bottomWidget->layout()->addWidget(ui->repeatButton);
+       ui->bottomWidget->layout()->addItem(ui->bhorizontalSpacer_3);
+       ui->bottomWidget->layout()->addWidget(ui->volumeButton);
+
+       if (_tools_widget->isVisible()) {
+               ui->moreButton->setIcon(QIcon(":/icons/"+_icons_theme+"/unmore.png"));
+       } else {
+               ui->moreButton->setIcon(QIcon(":/icons/"+_icons_theme+"/more.png"));
+       }
 }
 
 void PlayerForm::_tools_widget_toggle() {
        if (_tools_widget->isVisible()) {
-               ui->moreButton->setIcon(QIcon(":/icons/white/more.png"));
+               ui->moreButton->setIcon(QIcon(landscape ? ":/icons/"+_icons_theme+"/unmore.png" : ":/icons/"+_icons_theme+"/more.png"));
                _tools_widget->hide();
                _tools_widget->reset();
                cancelSearch();
        } else {
-               ui->moreButton->setIcon(QIcon(":/icons/white/unmore.png"));
+               ui->moreButton->setIcon(QIcon(landscape ? ":/icons/"+_icons_theme+"/more.png" : ":/icons/"+_icons_theme+"/unmore.png"));
                _tools_widget->show();
                _tools_widget->setFocus();
        }
 }
+
+void PlayerForm::updateIcons() {
+       Config config;
+       _icons_theme = config.getValue("ui/iconstheme").toString();
+       _tools_widget->updateIcons();
+       ui->libraryButton->setIcon(QIcon(":/icons/"+_icons_theme+"/library.png"));
+       if (_tools_widget->isVisible()) {
+               ui->moreButton->setIcon(QIcon(landscape ? ":/icons/"+_icons_theme+"/unmore.png" : ":/icons/"+_icons_theme+"/more.png"));
+       } else {
+               ui->moreButton->setIcon(QIcon(landscape ? ":/icons/"+_icons_theme+"/more.png" : ":/icons/"+_icons_theme+"/unmore.png"));
+       }
+       ui->nextButton->setIcon(QIcon(":/icons/"+_icons_theme+"/next.png"));
+       ui->stopButton->setIcon(QIcon(":/icons/"+_icons_theme+"/stop.png"));
+       ui->prevButton->setIcon(QIcon(":/icons/"+_icons_theme+"/prev.png"));
+       ui->volumeButton->setIcon(QIcon(":/icons/"+_icons_theme+"/volume.png"));
+       if (_player->state() == PLAYER_PLAYING) {
+               ui->playpauseButton->setIcon(QIcon(":/icons/"+_icons_theme+"/pause.png"));
+       } else {
+               ui->playpauseButton->setIcon(QIcon(":/icons/"+_icons_theme+"/play.png"));
+       }
+       if (ui->stackedWidget->currentIndex()) {
+               ui->viewButton->setIcon(QIcon(":/icons/"+_icons_theme+"/playlist.png"));
+       } else {
+               ui->viewButton->setIcon(QIcon(":/icons/"+_icons_theme+"/playback.png"));
+       }
+       if (_player->repeat()) {
+               ui->repeatButton->setIcon(QIcon(":/icons/"+_icons_theme+"/repeat_active.png"));
+       } else {
+               ui->repeatButton->setIcon(QIcon(":/icons/"+_icons_theme+"/repeat_inactive.png"));
+       }
+       if (_player->random()) {
+               ui->randomButton->setIcon(QIcon(":/icons/"+_icons_theme+"/random_active.png"));
+       } else {
+               ui->randomButton->setIcon(QIcon(":/icons/"+_icons_theme+"/random_inactive.png"));
+       }
+}
+
+void PlayerForm::checkGradient() {
+       Config config;
+       if (config.getValue("ui/gradient").toString() == "yes") {
+               ui->bottomWidget->setStyleSheet(_bottom_gradient);
+               ui->topWidget->setStyleSheet(_top_gradient);
+       } else {
+               ui->topWidget->setStyleSheet("");
+               ui->bottomWidget->setStyleSheet("");
+       }
+}
index 648acf7..5e7014c 100644 (file)
@@ -72,6 +72,8 @@ public slots:
        void disableEqualizer() { _player->disableEqualizer(); }
        void portraitMode();
        void landscapeMode();
+       void updateIcons();
+       void checkGradient();
 
 private slots:
        void _library();
@@ -105,6 +107,10 @@ private:
        QMenu *_context_menu;
        QString _search_pattern;
        ToolsWidget *_tools_widget;
+       bool landscape;
+       QString _icons_theme;
+       QString _top_gradient;
+       QString _bottom_gradient;
 
        TrackRenderer *_track_renderer;
        TagResolver *_tag_resolver;
index 988484b..b4edd1f 100644 (file)
@@ -32,9 +32,13 @@ SettingsDialog::SettingsDialog(QWidget *parent) :
        QString albumSorting = config.getValue("ui/albumsorting").toString();
        QString showTrackLenght = config.getValue("ui/showtracklenght").toString();
        QString orientation = config.getValue("ui/orientation").toString();
+       QString icons_theme = config.getValue("ui/iconstheme").toString();
+       QString gradient = config.getValue("ui/gradient").toString();
        ui->albumsSortAButton->setChecked(true);        // defaule sorting
        ui->showTrackLenghtYButton->setChecked(true);   // show by default
        ui->orientationLButton->setChecked(true);
+       ui->iconsWButton->setChecked(true);
+       ui->gradientYButton->setChecked(true);
        if (albumSorting == "date") {
                ui->albumsSortDButton->setChecked(true);
        }
@@ -46,6 +50,12 @@ SettingsDialog::SettingsDialog(QWidget *parent) :
        } else if (orientation == "auto") {
                ui->orientationAButton->setChecked(true);
        }
+       if (icons_theme == "black") {
+               ui->iconstBButton->setChecked(true);
+       }
+       if (gradient == "no") {
+               ui->gradientNButton->setChecked(true);
+       }
        connect (ui->albumsSortAButton, SIGNAL(toggled(bool)), this, SLOT(_set_album_sorting_alphabet(bool)));
        connect (ui->albumsSortDButton, SIGNAL(toggled(bool)), this, SLOT(_set_album_sorting_date(bool)));
        connect (ui->showTrackLenghtNButton, SIGNAL(toggled(bool)), this, SLOT(_set_track_lenght_show_no(bool)));
@@ -53,6 +63,10 @@ SettingsDialog::SettingsDialog(QWidget *parent) :
        connect (ui->orientationAButton, SIGNAL(toggled(bool)), this, SLOT(_set_orientation_auto(bool)));
        connect (ui->orientationLButton, SIGNAL(toggled(bool)), this, SLOT(_set_orientation_landscape(bool)));
        connect (ui->orientationPButton, SIGNAL(toggled(bool)), this, SLOT(_set_orientation_portrait(bool)));
+       connect (ui->iconstBButton, SIGNAL(toggled(bool)), this, SLOT(_set_icons_black(bool)));
+       connect (ui->iconsWButton, SIGNAL(toggled(bool)), this, SLOT(_set_icons_white(bool)));
+       connect (ui->gradientNButton, SIGNAL(toggled(bool)), this, SLOT(_set_gradient_no(bool)));
+       connect (ui->gradientYButton, SIGNAL(toggled(bool)), this, SLOT(_set_gradient_yes(bool)));
 
        // disabled to 1.4.0
        ui->albumSortingGroupBox->setVisible(false);
@@ -105,3 +119,26 @@ void SettingsDialog::_set_orientation_portrait(bool checked) {
        config.setValue("ui/orientation", "portrait");
 }
 
+void SettingsDialog::_set_icons_black(bool checked) {
+       if (!checked) return;
+       Config config;
+       config.setValue("ui/iconstheme", "black");
+}
+
+void SettingsDialog::_set_icons_white(bool checked) {
+       if (!checked) return;
+       Config config;
+       config.setValue("ui/iconstheme", "white");
+}
+
+void SettingsDialog::_set_gradient_no(bool checked) {
+       if (!checked) return;
+       Config config;
+       config.setValue("ui/gradient", "no");
+}
+
+void SettingsDialog::_set_gradient_yes(bool checked) {
+       if (!checked) return;
+       Config config;
+       config.setValue("ui/gradient", "yes");
+}
index fe0ed3c..02a9bf9 100644 (file)
@@ -46,6 +46,10 @@ private slots:
        void _set_orientation_auto(bool);
        void _set_orientation_portrait(bool);
        void _set_orientation_landscape(bool);
+       void _set_icons_white(bool);
+       void _set_icons_black(bool);
+       void _set_gradient_yes(bool);
+       void _set_gradient_no(bool);
 };
 
 #endif // SETTINGSDIALOG_H
index cd3ee4c..8ba215b 100644 (file)
 
 #include "toolswidget.h"
 #include "ui_toolswidget.h"
+#include <QDesktopWidget>
+#include "config.h"
+
+using namespace SomePlayer::Storage;
 
 ToolsWidget::ToolsWidget(QWidget *parent) :
                QWidget(parent),
@@ -30,6 +34,8 @@ ToolsWidget::ToolsWidget(QWidget *parent) :
        connect (ui->nextButton, SIGNAL(clicked()), this, SIGNAL(nextSearch()));
        connect (ui->prevButton, SIGNAL(clicked()), this, SIGNAL(prevSearch()));
        connect (ui->searchLine, SIGNAL(textEdited(QString)), this, SIGNAL(search(QString)));
+       Config config;
+       _icons_theme = config.getValue("ui/iconstheme").toString();
 }
 
 ToolsWidget::~ToolsWidget()
@@ -40,7 +46,7 @@ ToolsWidget::~ToolsWidget()
 void ToolsWidget::_fullscreen_button() {
        _fullscreen = !_fullscreen;
        emit toggleFullscreen(_fullscreen);
-       ui->fscreenButton->setIcon(QIcon(_fullscreen ? ":/icons/white/window.png" : ":/icons/white/fullscreen.png"));
+       ui->fscreenButton->setIcon(QIcon(_fullscreen ? ":/icons/"+_icons_theme+"/window.png" : ":/icons/"+_icons_theme+"/fullscreen.png"));
 }
 
 void ToolsWidget::reset() {
@@ -50,3 +56,16 @@ void ToolsWidget::reset() {
 void ToolsWidget::setFocus() {
        ui->searchLine->setFocus();
 }
+
+void ToolsWidget::updateIcons() {
+       Config config;
+       _icons_theme = config.getValue("ui/iconstheme").toString();
+       ui->fscreenButton->setIcon(QIcon(_fullscreen ? ":/icons/"+_icons_theme+"/window.png" : ":/icons/"+_icons_theme+"/fullscreen.png"));
+       ui->nextButton->setIcon(QIcon(":/icons/"+_icons_theme+"/forward.png"));
+       ui->prevButton->setIcon(QIcon(":/icons/"+_icons_theme+"/back.png"));
+}
+
+void ToolsWidget::show() {
+       updateIcons();
+       QWidget::show();
+}
index a908df2..dd8034d 100644 (file)
@@ -36,6 +36,10 @@ public:
        void reset();
        void setFocus();
 
+public slots:
+       void updateIcons();
+       void show();
+
 signals:
        void toggleFullscreen(bool);
        void search(QString);
@@ -45,6 +49,7 @@ signals:
 private:
        Ui::ToolsWidget *ui;
        bool _fullscreen;
+       QString _icons_theme;
 
 private slots:
        void _fullscreen_button();
index afa2aa2..b4a48c2 100644 (file)
@@ -50,7 +50,7 @@
   <property name="windowTitle">
    <string>Form</string>
   </property>
-  <layout class="QHBoxLayout" name="horizontalLayout_3">
+  <layout class="QVBoxLayout" name="verticalLayout_2">
    <property name="spacing">
     <number>0</number>
    </property>
     <number>0</number>
    </property>
    <item>
-    <layout class="QVBoxLayout" name="verticalLayout_2">
+    <widget class="QWidget" name="topWidget" native="true">
+     <property name="styleSheet">
+      <string notr="true">background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(38, 38, 38, 255), stop:1 rgba(92, 92, 92, 255))</string>
+     </property>
+     <layout class="QHBoxLayout" name="horizontalLayout">
+      <property name="spacing">
+       <number>0</number>
+      </property>
+      <property name="margin">
+       <number>0</number>
+      </property>
+      <item>
+       <spacer name="thorizontalSpacer_0">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <spacer name="thorizontalSpacer_1">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <spacer name="thorizontalSpacer_2">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <spacer name="thorizontalSpacer_3">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <spacer name="thorizontalSpacer_4">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeType">
+         <enum>QSizePolicy::Expanding</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout_3">
      <property name="spacing">
       <number>0</number>
      </property>
      <item>
-      <widget class="QWidget" name="topWidget" native="true">
-       <property name="styleSheet">
-        <string notr="true">background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0.00549451 rgba(38, 38, 38, 255), stop:0.994505 rgba(92, 92, 92, 255))</string>
+      <layout class="QVBoxLayout" name="lverticalLayout">
+       <property name="spacing">
+        <number>0</number>
        </property>
-       <layout class="QHBoxLayout" name="horizontalLayout">
-        <property name="spacing">
-         <number>0</number>
-        </property>
-        <property name="margin">
-         <number>0</number>
-        </property>
-        <item>
-         <widget class="QPushButton" name="backButton">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="text">
-           <string/>
-          </property>
-          <property name="icon">
-           <iconset>
-            <normaloff>:/icons/white/back.png</normaloff>:/icons/white/back.png</iconset>
-          </property>
-          <property name="flat">
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <spacer name="horizontalSpacer">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeType">
-           <enum>QSizePolicy::Expanding</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-        <item>
-         <widget class="QPushButton" name="addButton">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="text">
-           <string/>
-          </property>
-          <property name="icon">
-           <iconset>
-            <normaloff>:/icons/white/add.png</normaloff>:/icons/white/add.png</iconset>
-          </property>
-          <property name="flat">
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <spacer name="horizontalSpacer_2">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-        <item>
-         <widget class="QPushButton" name="deleteButton">
-          <property name="minimumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="text">
-           <string/>
-          </property>
-          <property name="icon">
-           <iconset>
-            <normaloff>:/icons/white/delete.png</normaloff>:/icons/white/delete.png</iconset>
-          </property>
-          <property name="flat">
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <spacer name="horizontalSpacer_3">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-        <item>
-         <widget class="QPushButton" name="useButton">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="text">
-           <string/>
-          </property>
-          <property name="icon">
-           <iconset>
-            <normaloff>:/icons/white/use.png</normaloff>:/icons/white/use.png</iconset>
-          </property>
-          <property name="flat">
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <spacer name="thorizontalSpacer_0">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-        <item>
-         <widget class="QPushButton" name="selectAllButton">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="text">
-           <string/>
-          </property>
-          <property name="icon">
-           <iconset>
-            <normaloff>:/icons/white/select_all.png</normaloff>:/icons/white/select_all.png</iconset>
-          </property>
-          <property name="flat">
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <spacer name="horizontalSpacer_5">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-        <item>
-         <widget class="QPushButton" name="moreButton">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="text">
-           <string/>
-          </property>
-          <property name="icon">
-           <iconset>
-            <normaloff>:/icons/white/more.png</normaloff>:/icons/white/more.png</iconset>
-          </property>
-          <property name="flat">
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </widget>
-     </item>
-     <item>
-      <layout class="QVBoxLayout" name="toolsLayout"/>
+       <item>
+        <widget class="QPushButton" name="backButton">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="icon">
+          <iconset resource="../../resources/resources.qrc">
+           <normaloff>:/icons/white/back.png</normaloff>:/icons/white/back.png</iconset>
+         </property>
+         <property name="flat">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="lverticalSpacer_0">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QPushButton" name="addButton">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="icon">
+          <iconset resource="../../resources/resources.qrc">
+           <normaloff>:/icons/white/add.png</normaloff>:/icons/white/add.png</iconset>
+         </property>
+         <property name="flat">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="lverticalSpacer_1">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QPushButton" name="deleteButton">
+         <property name="minimumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="icon">
+          <iconset resource="../../resources/resources.qrc">
+           <normaloff>:/icons/white/delete.png</normaloff>:/icons/white/delete.png</iconset>
+         </property>
+         <property name="flat">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="lverticalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QPushButton" name="useButton">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="icon">
+          <iconset resource="../../resources/resources.qrc">
+           <normaloff>:/icons/white/use.png</normaloff>:/icons/white/use.png</iconset>
+         </property>
+         <property name="flat">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="lverticalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QPushButton" name="playerButton">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="icon">
+          <iconset resource="../../resources/resources.qrc">
+           <normaloff>:/icons/white/player.png</normaloff>:/icons/white/player.png</iconset>
+         </property>
+         <property name="flat">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+      </layout>
      </item>
      <item>
-      <widget class="QLabel" name="listLabel">
-       <property name="enabled">
-        <bool>false</bool>
-       </property>
-       <property name="styleSheet">
-        <string notr="true">background: black;
-color: white;</string>
-       </property>
-       <property name="text">
-        <string/>
-       </property>
-       <property name="textFormat">
-        <enum>Qt::AutoText</enum>
-       </property>
-       <property name="alignment">
-        <set>Qt::AlignCenter</set>
+      <layout class="QVBoxLayout" name="verticalLayout">
+       <property name="spacing">
+        <number>0</number>
        </property>
-      </widget>
+       <item>
+        <layout class="QVBoxLayout" name="toolsLayout"/>
+       </item>
+       <item>
+        <widget class="QLabel" name="listLabel">
+         <property name="enabled">
+          <bool>false</bool>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="textFormat">
+          <enum>Qt::AutoText</enum>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignCenter</set>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QListView" name="listView">
+         <property name="horizontalScrollBarPolicy">
+          <enum>Qt::ScrollBarAlwaysOff</enum>
+         </property>
+         <property name="editTriggers">
+          <set>QAbstractItemView::NoEditTriggers</set>
+         </property>
+         <property name="showDropIndicator" stdset="0">
+          <bool>false</bool>
+         </property>
+         <property name="selectionMode">
+          <enum>QAbstractItemView::MultiSelection</enum>
+         </property>
+         <property name="selectionBehavior">
+          <enum>QAbstractItemView::SelectRows</enum>
+         </property>
+         <property name="modelColumn">
+          <number>0</number>
+         </property>
+         <property name="uniformItemSizes">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+      </layout>
      </item>
      <item>
-      <widget class="QListView" name="listView">
-       <property name="horizontalScrollBarPolicy">
-        <enum>Qt::ScrollBarAlwaysOff</enum>
-       </property>
-       <property name="editTriggers">
-        <set>QAbstractItemView::NoEditTriggers</set>
-       </property>
-       <property name="showDropIndicator" stdset="0">
-        <bool>false</bool>
-       </property>
-       <property name="selectionMode">
-        <enum>QAbstractItemView::MultiSelection</enum>
-       </property>
-       <property name="selectionBehavior">
-        <enum>QAbstractItemView::SelectRows</enum>
-       </property>
-       <property name="modelColumn">
+      <layout class="QVBoxLayout" name="rverticalLayout">
+       <property name="spacing">
         <number>0</number>
        </property>
-       <property name="uniformItemSizes">
-        <bool>true</bool>
-       </property>
-      </widget>
+       <item>
+        <widget class="QPushButton" name="moreButton">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="icon">
+          <iconset resource="../../resources/resources.qrc">
+           <normaloff>:/icons/white/more.png</normaloff>:/icons/white/more.png</iconset>
+         </property>
+         <property name="flat">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="rverticalSpacer_0">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QPushButton" name="selectAllButton">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="icon">
+          <iconset resource="../../resources/resources.qrc">
+           <normaloff>:/icons/white/select_all.png</normaloff>:/icons/white/select_all.png</iconset>
+         </property>
+         <property name="flat">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="rverticalSpacer_1">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QPushButton" name="viewButton">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="icon">
+          <iconset resource="../../resources/resources.qrc">
+           <normaloff>:/icons/white/artists.png</normaloff>:/icons/white/artists.png</iconset>
+         </property>
+         <property name="flat">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="rverticalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QPushButton" name="playlistsButton">
+         <property name="minimumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="icon">
+          <iconset resource="../../resources/resources.qrc">
+           <normaloff>:/icons/white/playlists.png</normaloff>:/icons/white/playlists.png</iconset>
+         </property>
+         <property name="flat">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="rverticalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QPushButton" name="dynamicButton">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>70</width>
+           <height>70</height>
+          </size>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+         <property name="icon">
+          <iconset resource="../../resources/resources.qrc">
+           <normaloff>:/icons/white/dynamic.png</normaloff>:/icons/white/dynamic.png</iconset>
+         </property>
+         <property name="flat">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+      </layout>
      </item>
-     <item>
-      <widget class="QWidget" name="bottomWidget" native="true">
-       <property name="styleSheet">
-        <string notr="true">background: qlineargradient(spread:pad, x1:0, y1:1, x2:0, y2:0, stop:0.00549451 rgba(38, 38, 38, 255), stop:0.994505 rgba(92, 92, 92, 255))</string>
-       </property>
-       <layout class="QHBoxLayout" name="horizontalLayout_2">
-        <property name="spacing">
-         <number>0</number>
+    </layout>
+   </item>
+   <item>
+    <widget class="QWidget" name="bottomWidget" native="true">
+     <property name="styleSheet">
+      <string notr="true">background: qlineargradient(spread:pad, x1:0, y1:1, x2:0, y2:0, stop:0 rgba(38, 38, 38, 255), stop:1 rgba(92, 92, 92, 255))</string>
+     </property>
+     <layout class="QHBoxLayout" name="horizontalLayout_2">
+      <property name="spacing">
+       <number>0</number>
+      </property>
+      <property name="margin">
+       <number>0</number>
+      </property>
+      <item>
+       <spacer name="bhorizontalSpacer_0">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
         </property>
-        <property name="margin">
-         <number>0</number>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
         </property>
-        <item>
-         <widget class="QPushButton" name="playerButton">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="text">
-           <string/>
-          </property>
-          <property name="icon">
-           <iconset>
-            <normaloff>:/icons/white/player.png</normaloff>:/icons/white/player.png</iconset>
-          </property>
-          <property name="flat">
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <spacer name="bhorizontalSpacer_0">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-        <item>
-         <widget class="QPushButton" name="viewButton">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="text">
-           <string/>
-          </property>
-          <property name="icon">
-           <iconset>
-            <normaloff>:/icons/white/artists.png</normaloff>:/icons/white/artists.png</iconset>
-          </property>
-          <property name="flat">
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <spacer name="bhorizontalSpacer_1">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-        <item>
-         <widget class="QPushButton" name="dynamicButton">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="text">
-           <string/>
-          </property>
-          <property name="icon">
-           <iconset>
-            <normaloff>:/icons/white/dynamic.png</normaloff>:/icons/white/dynamic.png</iconset>
-          </property>
-          <property name="flat">
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <spacer name="horizontalSpacer_4">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-        <item>
-         <widget class="QPushButton" name="playlistsButton">
-          <property name="minimumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="text">
-           <string/>
-          </property>
-          <property name="icon">
-           <iconset>
-            <normaloff>:/icons/white/playlists.png</normaloff>:/icons/white/playlists.png</iconset>
-          </property>
-          <property name="flat">
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </widget>
-     </item>
-    </layout>
+       </spacer>
+      </item>
+      <item>
+       <spacer name="bhorizontalSpacer_1">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <spacer name="bhorizontalSpacer_2">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+     </layout>
+    </widget>
    </item>
   </layout>
  </widget>
- <resources/>
+ <resources>
+  <include location="../../resources/resources.qrc"/>
+ </resources>
  <connections/>
 </ui>
index d2e5f94..96d6ad8 100644 (file)
@@ -23,7 +23,7 @@
    <item>
     <widget class="QWidget" name="topWidget" native="true">
      <property name="styleSheet">
-      <string notr="true">background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0.00549451 rgba(38, 38, 38, 255), stop:0.994505 rgba(92, 92, 92, 255))</string>
+      <string notr="true">background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(38, 38, 38, 255), stop:1 rgba(92, 92, 92, 255))</string>
      </property>
      <layout class="QHBoxLayout" name="horizontalLayout_4">
       <property name="spacing">
        <number>0</number>
       </property>
       <item>
-       <widget class="QPushButton" name="prevButton">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="minimumSize">
-         <size>
-          <width>70</width>
-          <height>70</height>
-         </size>
-        </property>
-        <property name="maximumSize">
-         <size>
-          <width>70</width>
-          <height>70</height>
-         </size>
-        </property>
-        <property name="text">
-         <string/>
-        </property>
-        <property name="icon">
-         <iconset>
-          <normaloff>:/icons/white/prev.png</normaloff>:/icons/white/prev.png</iconset>
-        </property>
-        <property name="flat">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <spacer name="horizontalSpacer_7">
+       <spacer name="thorizontalSpacer_0">
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
         </property>
        </spacer>
       </item>
       <item>
-       <widget class="QPushButton" name="stopButton">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="minimumSize">
-         <size>
-          <width>70</width>
-          <height>70</height>
-         </size>
-        </property>
-        <property name="maximumSize">
-         <size>
-          <width>70</width>
-          <height>70</height>
-         </size>
-        </property>
-        <property name="text">
-         <string/>
-        </property>
-        <property name="icon">
-         <iconset>
-          <normaloff>:/icons/white/stop.png</normaloff>:/icons/white/stop.png</iconset>
-        </property>
-        <property name="flat">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <spacer name="horizontalSpacer_8">
+       <spacer name="thorizontalSpacer_1">
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
         </property>
        </spacer>
       </item>
       <item>
-       <widget class="QPushButton" name="playpauseButton">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="minimumSize">
-         <size>
-          <width>70</width>
-          <height>70</height>
-         </size>
-        </property>
-        <property name="maximumSize">
-         <size>
-          <width>70</width>
-          <height>70</height>
-         </size>
-        </property>
-        <property name="text">
-         <string/>
-        </property>
-        <property name="icon">
-         <iconset>
-          <normaloff>:/icons/white/play.png</normaloff>:/icons/white/play.png</iconset>
-        </property>
-        <property name="flat">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <spacer name="horizontalSpacer_9">
+       <spacer name="thorizontalSpacer_2">
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
         </property>
        </spacer>
       </item>
       <item>
-       <widget class="QPushButton" name="nextButton">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="minimumSize">
-         <size>
-          <width>70</width>
-          <height>70</height>
-         </size>
-        </property>
-        <property name="maximumSize">
-         <size>
-          <width>70</width>
-          <height>70</height>
-         </size>
-        </property>
-        <property name="text">
-         <string/>
-        </property>
-        <property name="icon">
-         <iconset>
-          <normaloff>:/icons/white/next.png</normaloff>:/icons/white/next.png</iconset>
-        </property>
-        <property name="flat">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <spacer name="horizontalSpacer_6">
+       <spacer name="thorizontalSpacer_3">
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
         </property>
         </property>
        </spacer>
       </item>
-      <item>
-       <widget class="QPushButton" name="moreButton">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="minimumSize">
-         <size>
-          <width>70</width>
-          <height>70</height>
-         </size>
-        </property>
-        <property name="maximumSize">
-         <size>
-          <width>70</width>
-          <height>70</height>
-         </size>
-        </property>
-        <property name="text">
-         <string/>
-        </property>
-        <property name="icon">
-         <iconset>
-          <normaloff>:/icons/white/more.png</normaloff>:/icons/white/more.png</iconset>
-        </property>
-        <property name="flat">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
      </layout>
     </widget>
    </item>
    <item>
-    <layout class="QHBoxLayout" name="horizontalLayout_3">
+    <layout class="QVBoxLayout" name="verticalLayout_6">
      <property name="spacing">
       <number>0</number>
      </property>
            <property name="contextMenuPolicy">
             <enum>Qt::CustomContextMenu</enum>
            </property>
-           <property name="styleSheet">
-            <string notr="true">QListView {background: black;}</string>
-           </property>
            <property name="editTriggers">
             <set>QAbstractItemView::NoEditTriggers</set>
            </property>
            </property>
           </widget>
          </item>
+         <item>
+          <widget class="QSlider" name="volumeSlider">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="invertedAppearance">
+            <bool>false</bool>
+           </property>
+           <property name="invertedControls">
+            <bool>false</bool>
+           </property>
+          </widget>
+         </item>
         </layout>
        </widget>
        <widget class="QWidget" name="page_2">
        </widget>
       </widget>
      </item>
-     <item>
-      <layout class="QHBoxLayout" name="volumeLayout">
-       <property name="spacing">
-        <number>0</number>
-       </property>
-       <item>
-        <widget class="QSlider" name="volumeSlider">
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="invertedAppearance">
-          <bool>false</bool>
-         </property>
-         <property name="invertedControls">
-          <bool>false</bool>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </item>
     </layout>
    </item>
    <item>
-    <layout class="QHBoxLayout" name="horizontalLayout">
+    <layout class="QHBoxLayout" name="bhorizontalLayout">
      <property name="spacing">
       <number>0</number>
      </property>
      <item>
-      <widget class="QWidget" name="bottomWidget" native="true">
+      <widget class="QPushButton" name="libraryButton">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
        <property name="minimumSize">
         <size>
-         <width>78</width>
-         <height>0</height>
+         <width>70</width>
+         <height>70</height>
         </size>
        </property>
-       <property name="styleSheet">
-        <string notr="true">background:qlineargradient(spread:pad, x1:1, y1:1, x2:1, y2:0, stop:0.00549451 rgba(38, 38, 38, 255), stop:0.994505 rgba(92, 92, 92, 255))</string>
+       <property name="maximumSize">
+        <size>
+         <width>70</width>
+         <height>70</height>
+        </size>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="icon">
+        <iconset resource="../../resources/resources.qrc">
+         <normaloff>:/icons/white/library.png</normaloff>:/icons/white/library.png</iconset>
+       </property>
+       <property name="flat">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="chorizontalSpacer_0">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="viewButton">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>70</width>
+         <height>70</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>70</width>
+         <height>70</height>
+        </size>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="icon">
+        <iconset resource="../../resources/resources.qrc">
+         <normaloff>:/icons/white/playlist.png</normaloff>:/icons/white/playlist.png</iconset>
+       </property>
+       <property name="checkable">
+        <bool>false</bool>
+       </property>
+       <property name="flat">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="chorizontalSpacer_1">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="repeatButton">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>70</width>
+         <height>70</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>70</width>
+         <height>70</height>
+        </size>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="icon">
+        <iconset resource="../../resources/resources.qrc">
+         <normaloff>:/icons/white/repeat_inactive.png</normaloff>:/icons/white/repeat_inactive.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>48</width>
+         <height>58</height>
+        </size>
+       </property>
+       <property name="checkable">
+        <bool>false</bool>
+       </property>
+       <property name="flat">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="randomButton">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>70</width>
+         <height>70</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>70</width>
+         <height>70</height>
+        </size>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="icon">
+        <iconset resource="../../resources/resources.qrc">
+         <normaloff>:/icons/white/random_inactive.png</normaloff>:/icons/white/random_inactive.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>48</width>
+         <height>48</height>
+        </size>
+       </property>
+       <property name="checkable">
+        <bool>false</bool>
+       </property>
+       <property name="flat">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="chorizontalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="prevButton">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>70</width>
+         <height>70</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>70</width>
+         <height>70</height>
+        </size>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="icon">
+        <iconset resource="../../resources/resources.qrc">
+         <normaloff>:/icons/white/prev.png</normaloff>:/icons/white/prev.png</iconset>
+       </property>
+       <property name="flat">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="playpauseButton">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>70</width>
+         <height>70</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>70</width>
+         <height>70</height>
+        </size>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="icon">
+        <iconset resource="../../resources/resources.qrc">
+         <normaloff>:/icons/white/play.png</normaloff>:/icons/white/play.png</iconset>
+       </property>
+       <property name="flat">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="nextButton">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>70</width>
+         <height>70</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>70</width>
+         <height>70</height>
+        </size>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="icon">
+        <iconset resource="../../resources/resources.qrc">
+         <normaloff>:/icons/white/next.png</normaloff>:/icons/white/next.png</iconset>
+       </property>
+       <property name="flat">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="stopButton">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>70</width>
+         <height>70</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>70</width>
+         <height>70</height>
+        </size>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="icon">
+        <iconset resource="../../resources/resources.qrc">
+         <normaloff>:/icons/white/stop.png</normaloff>:/icons/white/stop.png</iconset>
+       </property>
+       <property name="flat">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="chorizontalSpacer_3">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="moreButton">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>70</width>
+         <height>70</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>70</width>
+         <height>70</height>
+        </size>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="icon">
+        <iconset resource="../../resources/resources.qrc">
+         <normaloff>:/icons/white/more.png</normaloff>:/icons/white/more.png</iconset>
+       </property>
+       <property name="flat">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="chorizontalSpacer_4">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="volumeButton">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>70</width>
+         <height>70</height>
+        </size>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="icon">
+        <iconset resource="../../resources/resources.qrc">
+         <normaloff>:/icons/white/volume.png</normaloff>:/icons/white/volume.png</iconset>
+       </property>
+       <property name="flat">
+        <bool>true</bool>
        </property>
-       <layout class="QHBoxLayout" name="horizontalLayout_2">
-        <property name="spacing">
-         <number>0</number>
-        </property>
-        <property name="margin">
-         <number>0</number>
-        </property>
-        <item>
-         <widget class="QPushButton" name="libraryButton">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="text">
-           <string/>
-          </property>
-          <property name="icon">
-           <iconset>
-            <normaloff>:/icons/white/library.png</normaloff>:/icons/white/library.png</iconset>
-          </property>
-          <property name="flat">
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <spacer name="horizontalSpacer">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-        <item>
-         <widget class="QPushButton" name="viewButton">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="text">
-           <string/>
-          </property>
-          <property name="icon">
-           <iconset>
-            <normaloff>:/icons/white/playlist.png</normaloff>:/icons/white/playlist.png</iconset>
-          </property>
-          <property name="checkable">
-           <bool>false</bool>
-          </property>
-          <property name="flat">
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <spacer name="horizontalSpacer_3">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-        <item>
-         <widget class="QPushButton" name="randomButton">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="text">
-           <string/>
-          </property>
-          <property name="icon">
-           <iconset>
-            <normaloff>:/icons/white/random_inactive.png</normaloff>:/icons/white/random_inactive.png</iconset>
-          </property>
-          <property name="iconSize">
-           <size>
-            <width>48</width>
-            <height>48</height>
-           </size>
-          </property>
-          <property name="checkable">
-           <bool>false</bool>
-          </property>
-          <property name="flat">
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <spacer name="horizontalSpacer_5">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-        <item>
-         <widget class="QPushButton" name="repeatButton">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="text">
-           <string/>
-          </property>
-          <property name="icon">
-           <iconset>
-            <normaloff>:/icons/white/repeat_inactive.png</normaloff>:/icons/white/repeat_inactive.png</iconset>
-          </property>
-          <property name="iconSize">
-           <size>
-            <width>48</width>
-            <height>58</height>
-           </size>
-          </property>
-          <property name="checkable">
-           <bool>false</bool>
-          </property>
-          <property name="flat">
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <spacer name="horizontalSpacer_4">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-        <item>
-         <widget class="QPushButton" name="volumeButton">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>70</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="text">
-           <string/>
-          </property>
-          <property name="icon">
-           <iconset>
-            <normaloff>:/icons/white/volume.png</normaloff>:/icons/white/volume.png</iconset>
-          </property>
-          <property name="flat">
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-       </layout>
       </widget>
      </item>
     </layout>
    </item>
+   <item>
+    <widget class="QWidget" name="bottomWidget" native="true">
+     <property name="minimumSize">
+      <size>
+       <width>78</width>
+       <height>0</height>
+      </size>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">background:qlineargradient(spread:pad, x1:1, y1:1, x2:1, y2:0, stop:0 rgba(38, 38, 38, 255), stop:1 rgba(92, 92, 92, 255))</string>
+     </property>
+     <layout class="QHBoxLayout" name="horizontalLayout_2">
+      <property name="spacing">
+       <number>0</number>
+      </property>
+      <property name="margin">
+       <number>0</number>
+      </property>
+      <item>
+       <spacer name="bhorizontalSpacer_0">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <spacer name="bhorizontalSpacer_1">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <spacer name="bhorizontalSpacer_2">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <spacer name="bhorizontalSpacer_3">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+     </layout>
+    </widget>
+   </item>
   </layout>
  </widget>
- <resources/>
+ <resources>
+  <include location="../../resources/resources.qrc"/>
+ </resources>
  <connections/>
 </ui>
index e58089d..fe45815 100644 (file)
          <rect>
           <x>0</x>
           <y>0</y>
-          <width>776</width>
-          <height>296</height>
+          <width>760</width>
+          <height>367</height>
          </rect>
         </property>
         <layout class="QVBoxLayout" name="verticalLayout_6">
          <item>
+          <widget class="QGroupBox" name="groupBox">
+           <property name="title">
+            <string/>
+           </property>
+           <layout class="QVBoxLayout" name="verticalLayout_2">
+            <item>
+             <widget class="QLabel" name="label">
+              <property name="text">
+               <string>Icons theme:</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <layout class="QHBoxLayout" name="horizontalLayout">
+              <item>
+               <widget class="QRadioButton" name="iconsWButton">
+                <property name="text">
+                 <string>White</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QRadioButton" name="iconstBButton">
+                <property name="text">
+                 <string>Black</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+           </layout>
+          </widget>
+         </item>
+         <item>
+          <widget class="QGroupBox" name="groupBox_4">
+           <property name="title">
+            <string/>
+           </property>
+           <layout class="QVBoxLayout" name="verticalLayout_7">
+            <item>
+             <widget class="QLabel" name="label_5">
+              <property name="text">
+               <string>Use gradient in portrait mode:</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <layout class="QHBoxLayout" name="horizontalLayout_6">
+              <item>
+               <widget class="QRadioButton" name="gradientYButton">
+                <property name="text">
+                 <string>Yes</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QRadioButton" name="gradientNButton">
+                <property name="text">
+                 <string>No</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+           </layout>
+          </widget>
+         </item>
+         <item>
           <widget class="QGroupBox" name="albumSortingGroupBox">
            <property name="enabled">
             <bool>true</bool>