+ if (ui->listView->selectionModel()->selectedRows().count() == _model->rowCount()) {
+ ui->selectAllButton->setIcon(QIcon(":/icons/"+_icons_theme+"/deselect_all.png"));
+ } else {
+ ui->selectAllButton->setIcon(QIcon(":/icons/"+_icons_theme+"/select_all.png"));
+ }
+ _search_in_library_button->setIcon(QIcon(":/icons/"+_icons_theme+"/search.png"));
+ refresh();
+}
+
+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("");
+ }
+}
+
+void LibraryForm::_process_selection(QItemSelection selected, QItemSelection deselected) {
+ foreach (QModelIndex id, selected.indexes()) {
+ if (id.column() == 0) {
+ _model->item(id.row())->setIcon(QIcon(":/icons/"+_icons_theme+"/select_all.png"));
+ }
+ ui->listView->selectionModel()->select(id, QItemSelectionModel::Select);
+ }
+ foreach (QModelIndex id, deselected.indexes()) {
+ if (id.column() == 0) {
+ _model->item(id.row())->setIcon(QIcon(":/icons/"+_icons_theme+"/deselect_all.png"));
+ }
+ ui->listView->selectionModel()->select(id, QItemSelectionModel::Deselect);
+ }
+ if (ui->listView->selectionModel()->selectedRows().count() > 0) {
+ ui->addButton->setEnabled(true);
+ ui->addButton->setIcon(QIcon(":/icons/"+_icons_theme+"/add.png"));
+ if (_state == STATE_PLAYLIST || (_state == STATE_PLAYLIST_TRACK && !_is_dynamic)
+ || (_state == STATE_PLAYLIST_TRACK && _is_favorites)) {
+ ui->deleteButton->setEnabled(true);
+ ui->deleteButton->setIcon(QIcon(":/icons/"+_icons_theme+"/delete.png"));
+ }
+ } else {
+ ui->addButton->setEnabled(false);
+ ui->addButton->setIcon(QIcon());
+ ui->deleteButton->setEnabled(false);
+ ui->deleteButton->setIcon(QIcon());
+ }
+}
+
+void LibraryForm::_process_dblclick(QModelIndex id) {
+ if (id.column() == 0)
+ return;
+ if (_state == STATE_TRACK || _state == STATE_PLAYLIST_TRACK || _state == STATE_SEARCH) {
+ Playlist cur = _lib->getCurrentPlaylist();
+ Track track = _current_tracks.at(id.row());
+ cur.addTrack(track);
+ _lib->saveCurrentPlaylist(cur);
+ emit refreshPlayer();
+ emit addAndPlay(track);
+ ui->listView->clearSelection();
+ }
+}
+
+void LibraryForm::_search_button(bool state) {
+ ui->moreButton->setEnabled(!state);
+ _tools_widget->toggleArrows(!state);
+ ui->backButton->setEnabled(!state);
+ ui->backButton->setIcon(state ? QIcon() : QIcon(":/icons/"+_icons_theme+"/back.png"));
+ _tools_widget->setFocus();
+ _tools_widget->reset();
+ if (state) {
+ ui->listLabel->setText(tr("Search in library"));
+ ui->deleteButton->setIcon(QIcon());
+ ui->deleteButton->setEnabled(false);
+ ui->useButton->setIcon(QIcon());
+ ui->useButton->setEnabled(false);
+ ui->viewButton->setIcon(QIcon());
+ ui->viewButton->setEnabled(false);
+ ui->dynamicButton->setIcon(QIcon());
+ ui->dynamicButton->setEnabled(false);
+ ui->playlistsButton->setIcon(QIcon());
+ ui->playlistsButton->setEnabled(false);
+ disconnect(_tools_widget, SIGNAL(search(QString)), this, SLOT(search(QString)));
+ connect(_tools_widget, SIGNAL(search(QString)), this, SLOT(_search_in_library(QString)));
+ _model->clear();
+ _state = STATE_SEARCH;
+ } else {
+ ui->viewButton->setIcon(QIcon(":/icons/"+_icons_theme+"/artists.png"));
+ ui->viewButton->setEnabled(true);
+ ui->dynamicButton->setIcon(QIcon(":/icons/"+_icons_theme+"/dynamic.png"));
+ ui->dynamicButton->setEnabled(true);
+ ui->playlistsButton->setIcon(QIcon(":/icons/"+_icons_theme+"/playlists.png"));
+ ui->playlistsButton->setEnabled(true);
+ _view_button();
+ connect(_tools_widget, SIGNAL(search(QString)), this, SLOT(search(QString)));
+ disconnect(_tools_widget, SIGNAL(search(QString)), this, SLOT(_search_in_library(QString)));
+ }
+}
+
+void LibraryForm::_search_in_library(QString pattern) {
+ pattern = pattern.trimmed();
+ if (pattern.isEmpty()) {
+ _model->clear();
+ return;
+ }
+ _current_tracks = _lib->searchTracks(pattern);
+ __fill_model_tracks(_model, _current_tracks, _icons_theme);
+ ui->listView->setColumnWidth(0, 70);
+ ui->listView->scrollToTop();
+}
+
+void LibraryForm::updateTranslations() {
+ ui->retranslateUi(this);