+
+void MainWindow::_add_tracks(QList<Track> tracks) {
+ Playlist cur = _library->getCurrentPlaylist();
+ foreach (Track track, tracks) {
+ cur.addTrack(track);
+ }
+ _library->saveCurrentPlaylist(cur);
+ _player_form->reload(true);
+}
+
+void MainWindow::updateTranslations() {
+ Config config;
+ if (config.getValue("ui/language").toString() != "en") {
+ _translator->load(QString("/opt/someplayer/someplayer_%1").arg(config.getValue("ui/language").toString()));
+ QApplication::installTranslator(_translator);
+ } else {
+ QApplication::removeTranslator(_translator);
+ }
+ ui->retranslateUi(this);
+ _player_form->updateTranslations();
+ _library_form->updateTranslations();
+ _equalizer_dialog->updateTranslations();
+ _manage_library_form->updateTranslations();
+ _directory_form->updateTranslations();
+ _settings_form->updateTranslations();
+}
+
+void MainWindow::_hw_zoom_policy_changed() {
+ Config config;
+ QString state = config.getValue("hw/zoomkeys").toString();
+ if (state == "enabled") {
+ _dbus_client.enableKeys();
+ connect(&_dbus_client, SIGNAL(zoomKeyPressed(quint32)), this, SLOT(_zoom_key_pressed(quint32)));
+ } else {
+ _dbus_client.disableKeys();
+ disconnect(&_dbus_client, SIGNAL(zoomKeyPressed(quint32)), this, SLOT(_zoom_key_pressed(quint32)));
+ }
+}
+
+void MainWindow::_set_display_state(bool state) {
+ _display_unlocked = state;
+ if (!_display_unlocked) { // remember volume level when blocking screen
+ _system_volume = _dbus_client.getVolume();
+ }
+}
+
+void MainWindow::_zoom_key_pressed(quint32 code) {
+ if (_display_unlocked) {
+ return;
+ }
+ Config config;
+ QString behavior = config.getValue("hw/zoom_action").toString();
+ if (code == MM_KEY_DOWN) {
+ if (behavior == "track") {
+ _player_form->prev();
+ _dbus_client.setVolume(_system_volume);
+ }
+ } else if (code == MM_KEY_UP) {
+ if (behavior == "track") {
+ _player_form->next();
+ _dbus_client.setVolume(_system_volume);
+ }
+ }
+}