aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-05-16 10:13:48 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-05-16 10:13:48 +0000
commit8723363378b7eb979af12d73c05f3f9a083f7e33 (patch)
tree23030c7614ce88af03d888731fd74b844b977bb8 /src
parentacdeb971e302a6d090be03047455225eb86200fc (diff)
downloadqmmp-8723363378b7eb979af12d73c05f3f9a083f7e33.tar.gz
qmmp-8723363378b7eb979af12d73c05f3f9a083f7e33.tar.bz2
qmmp-8723363378b7eb979af12d73c05f3f9a083f7e33.zip
added tint2/lxpanel support
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1736 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
-rw-r--r--src/plugins/General/hotkey/CMakeLists.txt3
-rw-r--r--src/ui/CMakeLists.txt8
-rw-r--r--src/ui/eqwidget.cpp12
-rw-r--r--src/ui/eqwidget.h12
-rw-r--r--src/ui/playlist.cpp12
-rw-r--r--src/ui/playlist.h24
-rw-r--r--src/ui/translations/qmmp_cs.ts130
-rw-r--r--src/ui/translations/qmmp_de.ts130
-rw-r--r--src/ui/translations/qmmp_hu.ts130
-rw-r--r--src/ui/translations/qmmp_it.ts130
-rw-r--r--src/ui/translations/qmmp_lt.ts130
-rw-r--r--src/ui/translations/qmmp_pl_PL.ts130
-rw-r--r--src/ui/translations/qmmp_pt_BR.ts130
-rw-r--r--src/ui/translations/qmmp_ru.ts130
-rw-r--r--src/ui/translations/qmmp_tr.ts130
-rw-r--r--src/ui/translations/qmmp_uk_UA.ts130
-rw-r--r--src/ui/translations/qmmp_zh_CN.ts130
-rw-r--r--src/ui/translations/qmmp_zh_TW.ts130
-rw-r--r--src/ui/ui.pro13
-rw-r--r--src/ui/windowsystem.cpp205
-rw-r--r--src/ui/windowsystem.h37
21 files changed, 1083 insertions, 803 deletions
diff --git a/src/plugins/General/hotkey/CMakeLists.txt b/src/plugins/General/hotkey/CMakeLists.txt
index 1c5c1ae65..f19bdfa89 100644
--- a/src/plugins/General/hotkey/CMakeLists.txt
+++ b/src/plugins/General/hotkey/CMakeLists.txt
@@ -1,7 +1,6 @@
project(libhotkey)
cmake_minimum_required(VERSION 2.4.7)
-INCLUDE(FindX11)
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
@@ -22,8 +21,6 @@ SET(QT_INCLUDES
${CMAKE_CURRENT_SOURCE_DIR}/../../../
)
-pkg_search_module(X11 x11)
-
include_directories(${X11_INCLUDE_DIRS})
link_directories(${X11_LIBRARY_DIRS})
diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt
index e30ed1c3c..07987cd9a 100644
--- a/src/ui/CMakeLists.txt
+++ b/src/ui/CMakeLists.txt
@@ -28,6 +28,10 @@ link_directories(${CMAKE_INSTALL_PREFIX}/${LIB_DIR})
link_directories(${CMAKE_CURRENT_BINARY_DIR}/../qmmpui)
link_directories(${CMAKE_CURRENT_BINARY_DIR}/../qmmp)
+# X11
+include_directories(${X11_INCLUDE_DIRS})
+link_directories(${X11_LIBRARY_DIRS})
+
SET(ui_SRCS
fft.c
aboutdialog.cpp
@@ -80,6 +84,7 @@ SET(ui_SRCS
playlistselector.cpp
popupwidget.cpp
popupsettings.cpp
+ windowsystem.cpp
)
SET(ui_MOC_HDRS
@@ -134,6 +139,7 @@ SET(ui_MOC_HDRS
playlistselector.h
popupwidget.h
popupsettings.h
+ windowsystem.h
)
SET(ui_RCCS images/images.qrc stuff.qrc translations/qmmp_locales.qrc)
@@ -163,7 +169,7 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR})
ADD_EXECUTABLE(qmmp ${ui_SRCS} ${ui_MOC_SRCS} ${ui_UIS_H}
${ui_RCC_SRCS})
-target_link_libraries(qmmp ${QT_LIBRARIES} libqmmp qmmpui)
+target_link_libraries(qmmp ${QT_LIBRARIES} libqmmp qmmpui ${X11_LDFLAGS})
add_dependencies(qmmp qmmpui libqmmp)
install(TARGETS qmmp DESTINATION bin)
install(FILES qmmp.desktop DESTINATION share/applications)
diff --git a/src/ui/eqwidget.cpp b/src/ui/eqwidget.cpp
index ba6d82210..176394f35 100644
--- a/src/ui/eqwidget.cpp
+++ b/src/ui/eqwidget.cpp
@@ -34,6 +34,7 @@
#include "preseteditor.h"
#include "mainwindow.h"
#include "playlist.h"
+#include "windowsystem.h"
#include "eqwidget.h"
EqWidget::EqWidget (QWidget *parent)
@@ -441,6 +442,15 @@ void EqWidget::keyPressEvent (QKeyEvent *ke)
QApplication::sendEvent(qobject_cast<MainWindow*>(parent())->playlist(), &event);
}
+#ifdef Q_WS_X11
+bool EqWidget::event (QEvent *event)
+{
+ if(event->type() == QEvent::WinIdChange || event->type() == QEvent::Show)
+ WindowSystem::ghostWindow(winId());
+ return QWidget::event(event);
+}
+#endif
+
void EqWidget::updateMask()
{
clearMask();
@@ -450,3 +460,5 @@ void EqWidget::updateMask()
setMask(region);
}
+
+
diff --git a/src/ui/eqwidget.h b/src/ui/eqwidget.h
index 4417cf1c0..09ead5d9e 100644
--- a/src/ui/eqwidget.h
+++ b/src/ui/eqwidget.h
@@ -79,7 +79,14 @@ private:
void createActions();
void updateMask();
EQPreset *findPreset(const QString &name);
+ //events
virtual void keyPressEvent (QKeyEvent *);
+ virtual void changeEvent(QEvent*);
+ virtual void closeEvent(QCloseEvent*);
+#ifdef Q_WS_X11
+ virtual bool event (QEvent *event);
+#endif
+
Skin *m_skin;
EqTitleBar *m_titleBar;
EqSlider *m_preamp;
@@ -94,11 +101,6 @@ private:
QList<EQPreset*> m_autoPresets;
QString m_autoName;
bool m_shaded;
-
-protected:
- virtual void changeEvent(QEvent*);
- virtual void closeEvent(QCloseEvent*);
-
};
#endif
diff --git a/src/ui/playlist.cpp b/src/ui/playlist.cpp
index 248fb3453..fa9a273f2 100644
--- a/src/ui/playlist.cpp
+++ b/src/ui/playlist.cpp
@@ -40,6 +40,7 @@
#include "keyboardmanager.h"
#include "playlistbrowser.h"
#include "playlistselector.h"
+#include "windowsystem.h"
#include <qmmpui/playlistitem.h>
#include <qmmpui/playlistmodel.h>
#include <qmmpui/playlistmanager.h>
@@ -493,12 +494,21 @@ void PlayList::readSettings()
settings.value("General/metacity_compat", false).toBool())
setWindowFlags (Qt::Tool | Qt::FramelessWindowHint);
else
- setWindowFlags (Qt::Dialog | Qt::FramelessWindowHint);
+ setWindowFlags (Qt::Dialog | Qt::FramelessWindowHint);
move (settings.value ("PlayList/pos", QPoint (100, 332)).toPoint()); //position
m_update = true;
}
}
+#ifdef Q_WS_X11
+bool PlayList::event (QEvent *event)
+{
+ if(event->type() == QEvent::WinIdChange || event->type() == QEvent::Show)
+ WindowSystem::ghostWindow(winId());
+ return QWidget::event(event);
+}
+#endif
+
void PlayList::writeSettings()
{
QSettings settings (Qmmp::configFile(), QSettings::IniFormat);
diff --git a/src/ui/playlist.h b/src/ui/playlist.h
index 0ca76adfa..ae6ea520e 100644
--- a/src/ui/playlist.h
+++ b/src/ui/playlist.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2009 by Ilya Kotov *
+ * Copyright (C) 2006-2010 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -92,6 +92,18 @@ class PlayList : public QWidget
void writeSettings();
void createMenus();
void createActions();
+ //events
+ virtual void paintEvent (QPaintEvent *);
+ virtual void resizeEvent (QResizeEvent *);
+ virtual void mouseMoveEvent (QMouseEvent *);
+ virtual void mousePressEvent (QMouseEvent *);
+ virtual void mouseReleaseEvent (QMouseEvent *);
+ virtual void changeEvent (QEvent*);
+ virtual void closeEvent (QCloseEvent*);
+ virtual void keyPressEvent (QKeyEvent*);
+#ifdef Q_WS_X11
+ virtual bool event (QEvent *event);
+#endif
QMenu *m_addMenu;
QMenu *m_subMenu;
QMenu *m_selectMenu;
@@ -124,15 +136,7 @@ class PlayList : public QWidget
QPointer <PlayListBrowser> m_pl_browser;
PlayListSelector *m_pl_selector;
- protected:
- virtual void paintEvent (QPaintEvent *);
- virtual void resizeEvent (QResizeEvent *);
- virtual void mouseMoveEvent (QMouseEvent *);
- virtual void mousePressEvent (QMouseEvent *);
- virtual void mouseReleaseEvent (QMouseEvent *);
- virtual void changeEvent (QEvent*);
- virtual void closeEvent (QCloseEvent*);
- virtual void keyPressEvent (QKeyEvent*);
+
};
#endif
diff --git a/src/ui/translations/qmmp_cs.ts b/src/ui/translations/qmmp_cs.ts
index fb51a07f3..1de290dfc 100644
--- a/src/ui/translations/qmmp_cs.ts
+++ b/src/ui/translations/qmmp_cs.ts
@@ -663,53 +663,53 @@
<context>
<name>EqWidget</name>
<message>
- <location filename="../eqwidget.cpp" line="169"/>
- <location filename="../eqwidget.cpp" line="192"/>
+ <location filename="../eqwidget.cpp" line="170"/>
+ <location filename="../eqwidget.cpp" line="193"/>
<source>preset</source>
<translation>předvolba</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="278"/>
+ <location filename="../eqwidget.cpp" line="279"/>
<source>&amp;Load/Delete</source>
<translation>&amp;Načíst/Odstranit</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="280"/>
+ <location filename="../eqwidget.cpp" line="281"/>
<source>&amp;Save Preset</source>
<translation>&amp;Uložit předvolbu</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="282"/>
+ <location filename="../eqwidget.cpp" line="283"/>
<source>&amp;Save Auto-load Preset</source>
<translation>Uložit &amp;automatickou předvolbu</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="284"/>
+ <location filename="../eqwidget.cpp" line="285"/>
<source>&amp;Import</source>
<translation>&amp;Importovat</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="287"/>
+ <location filename="../eqwidget.cpp" line="288"/>
<source>&amp;Clear</source>
<translation>&amp;Vynulovat</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="316"/>
+ <location filename="../eqwidget.cpp" line="317"/>
<source>Saving Preset</source>
<translation>Uložení předvolby</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="317"/>
+ <location filename="../eqwidget.cpp" line="318"/>
<source>Preset name:</source>
<translation>Název předvolby:</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="318"/>
+ <location filename="../eqwidget.cpp" line="319"/>
<source>preset #</source>
<translation>předvolba #</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="409"/>
+ <location filename="../eqwidget.cpp" line="410"/>
<source>Import Preset</source>
<translation>Importovat předvolbu</translation>
</message>
@@ -1133,244 +1133,244 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="175"/>
<source>&amp;Add File</source>
<translation>Přidat &amp;soubor</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="175"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="180"/>
+ <location filename="../playlist.cpp" line="181"/>
<source>&amp;Add Directory</source>
<translation>Přidat &amp;adresář</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="181"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>D</source>
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
+ <location filename="../playlist.cpp" line="194"/>
<source>&amp;Remove Selected</source>
<translation>&amp;Odstranit vybrané</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="194"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>Del</source>
<translation>Del</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="199"/>
+ <location filename="../playlist.cpp" line="200"/>
<source>&amp;Remove All</source>
<translation>Odstranit &amp;vše</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>&amp;Remove Unselected</source>
<translation>Odstranit &amp;nevybrané</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="211"/>
<source>Remove unavailable files</source>
<translation>Odstranit nedostupné soubory</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Remove duplicates</source>
<translation>Odstranit duplicity</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="217"/>
<source>&amp;View Track Details</source>
<translation>Zobrazit &amp;informace o skladbě</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="217"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="226"/>
<source>Sort List</source>
<translation>Seřadit seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Title</source>
<translation>Podle názvu skladby</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Album</source>
<translation>Podle alba</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Artist</source>
<translation>Podle umělce</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Filename</source>
<translation>Podle názvu souboru</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Path + Filename</source>
<translation>Podle cesty a názvu souboru</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="249"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Date</source>
<translation>Podle data</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="260"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>Sort Selection</source>
<translation>Seřadit výběr</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Randomize List</source>
<translation>Zamíchat seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<source>Reverse List</source>
<translation>Obrátit pořadí seznamu</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>Invert Selection</source>
<translation>Invertovat výběr</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select None</source>
<translation>&amp;Zrušit výběr</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Shift+A</source>
<translation>Shift+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="323"/>
+ <location filename="../playlist.cpp" line="324"/>
<source>&amp;Select All</source>
<translation>&amp;Vybrat vše</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>&amp;New List</source>
<translation>&amp;Nový seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="331"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>Ctrl+T</source>
<translation>Ctrl+T</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>Ctrl+W</source>
<translation>Ctrl+W</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Select Next Playlist</source>
<translation>Vybrat další &amp;seznam skladeb</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="357"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>Ctrl+PgDown</source>
<translation>Ctrl+PgDown</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="363"/>
+ <location filename="../playlist.cpp" line="364"/>
<source>&amp;Select Previous Playlist</source>
<translation>Vybrat předchozí &amp;seznam skladeb</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="364"/>
+ <location filename="../playlist.cpp" line="365"/>
<source>Ctrl+PgUp</source>
<translation>Ctrl+PgUp</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="370"/>
+ <location filename="../playlist.cpp" line="371"/>
<source>&amp;Show Playlists</source>
<translation>Zobrazit &amp;seznamy skladeb</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="371"/>
+ <location filename="../playlist.cpp" line="372"/>
<source>P</source>
<translation>P</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="335"/>
+ <location filename="../playlist.cpp" line="336"/>
<source>&amp;Delete List</source>
<translation>O&amp;dstranit seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Load List</source>
<translation>Načíst &amp;seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="348"/>
+ <location filename="../playlist.cpp" line="349"/>
<source>&amp;Save List</source>
<translation>&amp;Uložit seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="186"/>
+ <location filename="../playlist.cpp" line="187"/>
<source>&amp;Add Url</source>
<translation>Přidat &amp;URL</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="187"/>
+ <location filename="../playlist.cpp" line="188"/>
<source>U</source>
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="252"/>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="253"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>By Track Number</source>
<translation>Podle čísla skladby</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>&amp;Queue</source>
<translation>&amp;Fronta</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="304"/>
+ <location filename="../playlist.cpp" line="305"/>
<source>Actions</source>
<translation>Činnosti</translation>
</message>
diff --git a/src/ui/translations/qmmp_de.ts b/src/ui/translations/qmmp_de.ts
index 1531efaea..13ac58449 100644
--- a/src/ui/translations/qmmp_de.ts
+++ b/src/ui/translations/qmmp_de.ts
@@ -663,53 +663,53 @@
<context>
<name>EqWidget</name>
<message>
- <location filename="../eqwidget.cpp" line="169"/>
- <location filename="../eqwidget.cpp" line="192"/>
+ <location filename="../eqwidget.cpp" line="170"/>
+ <location filename="../eqwidget.cpp" line="193"/>
<source>preset</source>
<translation>Voreinstellung</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="278"/>
+ <location filename="../eqwidget.cpp" line="279"/>
<source>&amp;Load/Delete</source>
<translation>&amp;Laden/Löschen</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="280"/>
+ <location filename="../eqwidget.cpp" line="281"/>
<source>&amp;Save Preset</source>
<translation>&amp;Voreinstellung speichern</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="282"/>
+ <location filename="../eqwidget.cpp" line="283"/>
<source>&amp;Save Auto-load Preset</source>
<translation>&amp;Automatische Voreinstellungen speichern</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="284"/>
+ <location filename="../eqwidget.cpp" line="285"/>
<source>&amp;Import</source>
<translation>&amp;Importieren</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="287"/>
+ <location filename="../eqwidget.cpp" line="288"/>
<source>&amp;Clear</source>
<translation>&amp;Zurücksetzen</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="316"/>
+ <location filename="../eqwidget.cpp" line="317"/>
<source>Saving Preset</source>
<translation>Voreinstellung speichern</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="317"/>
+ <location filename="../eqwidget.cpp" line="318"/>
<source>Preset name:</source>
<translation>Name der Voreinstellung:</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="318"/>
+ <location filename="../eqwidget.cpp" line="319"/>
<source>preset #</source>
<translation>Voreinstellung #</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="409"/>
+ <location filename="../eqwidget.cpp" line="410"/>
<source>Import Preset</source>
<translation>Voreinstellung importieren</translation>
</message>
@@ -1133,244 +1133,244 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="175"/>
<source>&amp;Add File</source>
<translation>&amp;Datei hinzufügen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="175"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="180"/>
+ <location filename="../playlist.cpp" line="181"/>
<source>&amp;Add Directory</source>
<translation>&amp;Verzeichnis hinzufügen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="181"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>D</source>
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
+ <location filename="../playlist.cpp" line="194"/>
<source>&amp;Remove Selected</source>
<translation>&amp;Ausgewählte entfernen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="194"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>Del</source>
<translation>Entf</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="199"/>
+ <location filename="../playlist.cpp" line="200"/>
<source>&amp;Remove All</source>
<translation>Alle &amp;entfernen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>&amp;Remove Unselected</source>
<translation>&amp;Nicht ausgewählte entfernen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="211"/>
<source>Remove unavailable files</source>
<translation>Nichtverfügbare Dateien entfernen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Remove duplicates</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="217"/>
<source>&amp;View Track Details</source>
<translation>&amp;Titeldetails anzeigen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="217"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="226"/>
<source>Sort List</source>
<translation>Wiedergabeliste sortieren</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Title</source>
<translation>Nach Titel</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Album</source>
<translation>Nach Album</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Artist</source>
<translation>Nach Interpret</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Filename</source>
<translation>Nach Dateinamen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Path + Filename</source>
<translation>Nach Pfad + Dateinamen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="249"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Date</source>
<translation>Nach Datum</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="260"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>Sort Selection</source>
<translation>Auswahl sortieren</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Randomize List</source>
<translation>Wiedergabeliste mischen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<source>Reverse List</source>
<translation>Wiedergabeliste umkehren</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>Invert Selection</source>
<translation>Auswahl umkehren</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select None</source>
<translation>&amp;Auswahl aufheben</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Shift+A</source>
<translation>Umschalt+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="323"/>
+ <location filename="../playlist.cpp" line="324"/>
<source>&amp;Select All</source>
<translation>Alle aus&amp;wählen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>Ctrl+A</source>
<translation>Strg+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>&amp;New List</source>
<translation>&amp;Neue Wiedergabeliste</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="331"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>Ctrl+T</source>
<translation>Strg+T</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>Ctrl+W</source>
<translation>Strg+W</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Select Next Playlist</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="357"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>Ctrl+PgDown</source>
<translation>Strg+Bild ab</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="363"/>
+ <location filename="../playlist.cpp" line="364"/>
<source>&amp;Select Previous Playlist</source>
<translation>Vorherige Wiedergabeli&amp;ste auswählen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="364"/>
+ <location filename="../playlist.cpp" line="365"/>
<source>Ctrl+PgUp</source>
<translation>Strg+Bild auf</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="370"/>
+ <location filename="../playlist.cpp" line="371"/>
<source>&amp;Show Playlists</source>
<translation>Wiedergabeli&amp;sten anzeigen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="371"/>
+ <location filename="../playlist.cpp" line="372"/>
<source>P</source>
<translation>P</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="335"/>
+ <location filename="../playlist.cpp" line="336"/>
<source>&amp;Delete List</source>
<translation>&amp;Liste löschen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Load List</source>
<translation>Wiedergabeliste &amp;laden</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="348"/>
+ <location filename="../playlist.cpp" line="349"/>
<source>&amp;Save List</source>
<translation>Wiedergabeliste &amp;speichern</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>Shift+S</source>
<translation>Umschalt+S</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="186"/>
+ <location filename="../playlist.cpp" line="187"/>
<source>&amp;Add Url</source>
<translation>&amp;URL hinzufügen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="187"/>
+ <location filename="../playlist.cpp" line="188"/>
<source>U</source>
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="252"/>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="253"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>By Track Number</source>
<translation>Nach Titelnummer</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>&amp;Queue</source>
<translation>&amp;Warteschlange</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="304"/>
+ <location filename="../playlist.cpp" line="305"/>
<source>Actions</source>
<translation>Aktionen</translation>
</message>
diff --git a/src/ui/translations/qmmp_hu.ts b/src/ui/translations/qmmp_hu.ts
index eacff859c..5db987adb 100644
--- a/src/ui/translations/qmmp_hu.ts
+++ b/src/ui/translations/qmmp_hu.ts
@@ -663,53 +663,53 @@
<context>
<name>EqWidget</name>
<message>
- <location filename="../eqwidget.cpp" line="169"/>
- <location filename="../eqwidget.cpp" line="192"/>
+ <location filename="../eqwidget.cpp" line="170"/>
+ <location filename="../eqwidget.cpp" line="193"/>
<source>preset</source>
<translation>beállítás</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="278"/>
+ <location filename="../eqwidget.cpp" line="279"/>
<source>&amp;Load/Delete</source>
<translation>&amp;Betölt/Töröl</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="280"/>
+ <location filename="../eqwidget.cpp" line="281"/>
<source>&amp;Save Preset</source>
<translation>Beálítás &amp;mentése</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="282"/>
+ <location filename="../eqwidget.cpp" line="283"/>
<source>&amp;Save Auto-load Preset</source>
<translation>&amp;Automatikusan betöltödő beállítás mentése</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="284"/>
+ <location filename="../eqwidget.cpp" line="285"/>
<source>&amp;Import</source>
<translation>&amp;Importálás</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="287"/>
+ <location filename="../eqwidget.cpp" line="288"/>
<source>&amp;Clear</source>
<translation>&amp;Törlés</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="316"/>
+ <location filename="../eqwidget.cpp" line="317"/>
<source>Saving Preset</source>
<translation>Beállítások mentése</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="317"/>
+ <location filename="../eqwidget.cpp" line="318"/>
<source>Preset name:</source>
<translation>Beállítás neve:</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="318"/>
+ <location filename="../eqwidget.cpp" line="319"/>
<source>preset #</source>
<translation>beállítás #</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="409"/>
+ <location filename="../eqwidget.cpp" line="410"/>
<source>Import Preset</source>
<translation>Beállítás importálása</translation>
</message>
@@ -1133,244 +1133,244 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="175"/>
<source>&amp;Add File</source>
<translation>&amp;Fájl hozzáadása</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="175"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="180"/>
+ <location filename="../playlist.cpp" line="181"/>
<source>&amp;Add Directory</source>
<translation>&amp;Könyvtár hazááadása</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="181"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>D</source>
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="186"/>
+ <location filename="../playlist.cpp" line="187"/>
<source>&amp;Add Url</source>
<translation>&amp;Url hozzáadása</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="187"/>
+ <location filename="../playlist.cpp" line="188"/>
<source>U</source>
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
+ <location filename="../playlist.cpp" line="194"/>
<source>&amp;Remove Selected</source>
<translation>&amp;Megjelöltek eltávolítása</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="194"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>Del</source>
<translation>Del</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="199"/>
+ <location filename="../playlist.cpp" line="200"/>
<source>&amp;Remove All</source>
<translation>&amp;Összes eltávolítása</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>&amp;Remove Unselected</source>
<translation>&amp;Jelöletlenek eltávolítása</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="211"/>
<source>Remove unavailable files</source>
<translation>Elérhetetlen fájlok eltávolítása</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Remove duplicates</source>
<translation>Duplikációk eltávolítása</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="217"/>
<source>&amp;View Track Details</source>
<translation>Szám adatainak &amp;megnézése</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="217"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="226"/>
<source>Sort List</source>
<translation>Lista rendezése</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Title</source>
<translation>Cím szerint</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Album</source>
<translation>Album szerint</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Artist</source>
<translation>Előadó szerint</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Filename</source>
<translation>Fájlnév szerint</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Path + Filename</source>
<translation>Elérési út és fájlnév szerint</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="249"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Date</source>
<translation>Dátum szerint</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="252"/>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="253"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>By Track Number</source>
<translation>Zene sorszáma szerint</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="260"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>Sort Selection</source>
<translation>Jelöltek rendezése</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Randomize List</source>
<translation>Lista összekeverése</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<source>Reverse List</source>
<translation>Fordított lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="304"/>
+ <location filename="../playlist.cpp" line="305"/>
<source>Actions</source>
<translation>Tevékenységek</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>&amp;Queue</source>
<translation>&amp;Sorba tesz</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>Invert Selection</source>
<translation>Fordított kijelölés</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select None</source>
<translation>&amp;Kijelölés megszűntetése</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Shift+A</source>
<translation>Shift+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="323"/>
+ <location filename="../playlist.cpp" line="324"/>
<source>&amp;Select All</source>
<translation>&amp;Összes kijelölése</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>&amp;New List</source>
<translation>&amp;Új lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="331"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>Ctrl+T</source>
<translation>Ctrl+T</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="335"/>
+ <location filename="../playlist.cpp" line="336"/>
<source>&amp;Delete List</source>
<translation>&amp;Lista törlése</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>Ctrl+W</source>
<translation>Ctrl+W</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Select Next Playlist</source>
<translation>&amp;Következő lista választása</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="357"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>Ctrl+PgDown</source>
<translation>Ctrl+PgDown</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="363"/>
+ <location filename="../playlist.cpp" line="364"/>
<source>&amp;Select Previous Playlist</source>
<translation>&amp;Előző lista választása</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="364"/>
+ <location filename="../playlist.cpp" line="365"/>
<source>Ctrl+PgUp</source>
<translation>Ctrl+PgUp</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="370"/>
+ <location filename="../playlist.cpp" line="371"/>
<source>&amp;Show Playlists</source>
<translation>&amp;Lejátszási lista mutatása</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="371"/>
+ <location filename="../playlist.cpp" line="372"/>
<source>P</source>
<translation>P</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Load List</source>
<translation>&amp;Lista betöltése</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="348"/>
+ <location filename="../playlist.cpp" line="349"/>
<source>&amp;Save List</source>
<translation>Lista &amp;mentése</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
diff --git a/src/ui/translations/qmmp_it.ts b/src/ui/translations/qmmp_it.ts
index 2718c43fa..73fccee88 100644
--- a/src/ui/translations/qmmp_it.ts
+++ b/src/ui/translations/qmmp_it.ts
@@ -663,53 +663,53 @@
<context>
<name>EqWidget</name>
<message>
- <location filename="../eqwidget.cpp" line="169"/>
- <location filename="../eqwidget.cpp" line="192"/>
+ <location filename="../eqwidget.cpp" line="170"/>
+ <location filename="../eqwidget.cpp" line="193"/>
<source>preset</source>
<translation>Impostazione</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="278"/>
+ <location filename="../eqwidget.cpp" line="279"/>
<source>&amp;Load/Delete</source>
<translation>&amp;Carica/Elimina</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="280"/>
+ <location filename="../eqwidget.cpp" line="281"/>
<source>&amp;Save Preset</source>
<translation>&amp;Salva preimpostazione</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="282"/>
+ <location filename="../eqwidget.cpp" line="283"/>
<source>&amp;Save Auto-load Preset</source>
<translation>&amp;Salvare preimpostazioni caricate automaticamente</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="287"/>
+ <location filename="../eqwidget.cpp" line="288"/>
<source>&amp;Clear</source>
<translation>&amp;Cancella</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="316"/>
+ <location filename="../eqwidget.cpp" line="317"/>
<source>Saving Preset</source>
<translation>Salvataggio preimpostazioni</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="317"/>
+ <location filename="../eqwidget.cpp" line="318"/>
<source>Preset name:</source>
<translation>Nome delle preimpostazioni: </translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="318"/>
+ <location filename="../eqwidget.cpp" line="319"/>
<source>preset #</source>
<translation>Preimpostazione #</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="284"/>
+ <location filename="../eqwidget.cpp" line="285"/>
<source>&amp;Import</source>
<translation>&amp;Importa</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="409"/>
+ <location filename="../eqwidget.cpp" line="410"/>
<source>Import Preset</source>
<translation>Importa preimpostazione</translation>
</message>
@@ -1133,244 +1133,244 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="175"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="181"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>D</source>
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="217"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="331"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>Ctrl+T</source>
<translation>Ctrl+T</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>Ctrl+W</source>
<translation>Ctrl+W</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="175"/>
<source>&amp;Add File</source>
<translation>&amp;Aggiungi brani</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="180"/>
+ <location filename="../playlist.cpp" line="181"/>
<source>&amp;Add Directory</source>
<translation>&amp;Aggiungi cartelle</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
+ <location filename="../playlist.cpp" line="194"/>
<source>&amp;Remove Selected</source>
<translation>&amp;Elimina la selezione</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="199"/>
+ <location filename="../playlist.cpp" line="200"/>
<source>&amp;Remove All</source>
<translation>&amp;Elimina tutto</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>&amp;Remove Unselected</source>
<translation>&amp;Elimina i non selezionati</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="211"/>
<source>Remove unavailable files</source>
<translation>Rimuovi files non disponibili</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Remove duplicates</source>
<translation>Rimuovi duplicati</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="217"/>
<source>&amp;View Track Details</source>
<translation>&amp;Dettagli della traccia</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="226"/>
<source>Sort List</source>
<translation>Riordina la lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Title</source>
<translation>Per titolo</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Album</source>
<translation>Per album</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Artist</source>
<translation>PEr interprete</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Filename</source>
<translation>Per titolo del brano</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Path + Filename</source>
<translation>per percorso più titolo del brano</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="249"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Date</source>
<translation>Per data</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="260"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>Sort Selection</source>
<translation>Riordina la selezione</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Randomize List</source>
<translation>Mescola i brnai della lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<source>Reverse List</source>
<translation>Inverti la lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>Invert Selection</source>
<translation>Inverti la selezione</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select None</source>
<translation>&amp;Non scegliere alcun brano</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Shift+A</source>
<translation>Shift+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="323"/>
+ <location filename="../playlist.cpp" line="324"/>
<source>&amp;Select All</source>
<translation>&amp;Seleziona tutto</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>&amp;New List</source>
<translation>&amp;Nuova lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Select Next Playlist</source>
<translation>&amp;Seleziona la successiva lista esecuzione brani</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="357"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>Ctrl+PgDown</source>
<translation>Ctrl+PgDown</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="363"/>
+ <location filename="../playlist.cpp" line="364"/>
<source>&amp;Select Previous Playlist</source>
<translation>&amp;Seleziona la rpecedente lista esecuzione brani</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="364"/>
+ <location filename="../playlist.cpp" line="365"/>
<source>Ctrl+PgUp</source>
<translation>Ctrl+PgUp</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="370"/>
+ <location filename="../playlist.cpp" line="371"/>
<source>&amp;Show Playlists</source>
<translation>Mostra lista esecuzione brani</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="371"/>
+ <location filename="../playlist.cpp" line="372"/>
<source>P</source>
<translation>P</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="335"/>
+ <location filename="../playlist.cpp" line="336"/>
<source>&amp;Delete List</source>
<translation>&amp;Cancella lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Load List</source>
<translation>&amp;Carica lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="348"/>
+ <location filename="../playlist.cpp" line="349"/>
<source>&amp;Save List</source>
<translation>&amp;Salva lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="194"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>Del</source>
<translation>Canc</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="186"/>
+ <location filename="../playlist.cpp" line="187"/>
<source>&amp;Add Url</source>
<translation>&amp;Aggiungi URL</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="187"/>
+ <location filename="../playlist.cpp" line="188"/>
<source>U</source>
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="252"/>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="253"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>By Track Number</source>
<translation>Per numero di traccia</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>&amp;Queue</source>
<translation>&amp;Metti in coda</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="304"/>
+ <location filename="../playlist.cpp" line="305"/>
<source>Actions</source>
<translation>Azioni</translation>
</message>
diff --git a/src/ui/translations/qmmp_lt.ts b/src/ui/translations/qmmp_lt.ts
index bdb5493f1..430b61cc7 100644
--- a/src/ui/translations/qmmp_lt.ts
+++ b/src/ui/translations/qmmp_lt.ts
@@ -664,53 +664,53 @@
<context>
<name>EqWidget</name>
<message>
- <location filename="../eqwidget.cpp" line="169"/>
- <location filename="../eqwidget.cpp" line="192"/>
+ <location filename="../eqwidget.cpp" line="170"/>
+ <location filename="../eqwidget.cpp" line="193"/>
<source>preset</source>
<translation>Nustatymas</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="278"/>
+ <location filename="../eqwidget.cpp" line="279"/>
<source>&amp;Load/Delete</source>
<translation>&amp;Įkelti/Pašalinti</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="280"/>
+ <location filename="../eqwidget.cpp" line="281"/>
<source>&amp;Save Preset</source>
<translation>&amp;Išsaugoti nustatymus</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="282"/>
+ <location filename="../eqwidget.cpp" line="283"/>
<source>&amp;Save Auto-load Preset</source>
<translation>&amp;Išsaugoti auto-nustatymą</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="287"/>
+ <location filename="../eqwidget.cpp" line="288"/>
<source>&amp;Clear</source>
<translation>&amp;išvalyti</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="316"/>
+ <location filename="../eqwidget.cpp" line="317"/>
<source>Saving Preset</source>
<translation>Išsaugojamas nustatymas</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="317"/>
+ <location filename="../eqwidget.cpp" line="318"/>
<source>Preset name:</source>
<translation>Nustatymo pavadinimas:</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="318"/>
+ <location filename="../eqwidget.cpp" line="319"/>
<source>preset #</source>
<translation>Nustatymas #</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="284"/>
+ <location filename="../eqwidget.cpp" line="285"/>
<source>&amp;Import</source>
<translation>&amp;Importuoti</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="409"/>
+ <location filename="../eqwidget.cpp" line="410"/>
<source>Import Preset</source>
<translation>Importuoti nustatymus</translation>
</message>
@@ -1134,244 +1134,244 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="175"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>F</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="181"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>D</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="217"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Alt+I</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>Ctrl+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="331"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>O</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="175"/>
<source>&amp;Add File</source>
<translation>&amp;Pridėti bylą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="180"/>
+ <location filename="../playlist.cpp" line="181"/>
<source>&amp;Add Directory</source>
<translation>&amp;Pridėti aplanką</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
+ <location filename="../playlist.cpp" line="194"/>
<source>&amp;Remove Selected</source>
<translation>&amp;Pašalinti pasirinktus</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="199"/>
+ <location filename="../playlist.cpp" line="200"/>
<source>&amp;Remove All</source>
<translation>&amp;Pašalinti visus</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>&amp;Remove Unselected</source>
<translation>&amp;Pašalinti NEpasirinktus</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="211"/>
<source>Remove unavailable files</source>
<translation>Pašalinti nesamas bylas</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Remove duplicates</source>
<translation>Pašalinti besidubliuojančius pavadinimus</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="217"/>
<source>&amp;View Track Details</source>
<translation>&amp;Takelio informacija</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="226"/>
<source>Sort List</source>
<translation>Rūšiuoti</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Title</source>
<translation>Pagal dainos pavadinimą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Album</source>
<translation>Pagal albumą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Artist</source>
<translation>Pagal atlikėją</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Filename</source>
<translation>Pagal bylos pavadinimą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Path + Filename</source>
<translation>Pagal kelią iki bylos</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="249"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Date</source>
<translation>Pagal datą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="260"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>Sort Selection</source>
<translation>Rūšiuoti pasirinktus</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Randomize List</source>
<translation>Sumaišyti sąrašą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<source>Reverse List</source>
<translation>Apversti</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>Invert Selection</source>
<translation>Pasirinkti visus, išskyrus pažymėtą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select None</source>
<translation>&amp;Nepasirinkti nei vieno</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="323"/>
+ <location filename="../playlist.cpp" line="324"/>
<source>&amp;Select All</source>
<translation>&amp;Pasirinkti visus</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>&amp;New List</source>
<translation>&amp;Naujas sąrašas</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Select Next Playlist</source>
<translation>&amp;Pasirinkti sekantį grojaraštį</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="357"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="363"/>
+ <location filename="../playlist.cpp" line="364"/>
<source>&amp;Select Previous Playlist</source>
<translation>&amp;Pasirinkti ankstesnį grojaraštį</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="364"/>
+ <location filename="../playlist.cpp" line="365"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="370"/>
+ <location filename="../playlist.cpp" line="371"/>
<source>&amp;Show Playlists</source>
<translation>&amp;Rodyti grojaraščius</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="371"/>
+ <location filename="../playlist.cpp" line="372"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="335"/>
+ <location filename="../playlist.cpp" line="336"/>
<source>&amp;Delete List</source>
<translation>&amp;Pašalinti sąrašą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Load List</source>
<translation>&amp;Įkelti sąrašą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="348"/>
+ <location filename="../playlist.cpp" line="349"/>
<source>&amp;Save List</source>
<translation>&amp;Išsaugoti sąrašą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>Shift+S</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="194"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>Del</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="186"/>
+ <location filename="../playlist.cpp" line="187"/>
<source>&amp;Add Url</source>
<translation>&amp;Pridėti interneto adresą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="187"/>
+ <location filename="../playlist.cpp" line="188"/>
<source>U</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="252"/>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="253"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>By Track Number</source>
<translation>Pagal takelio numerį</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>&amp;Queue</source>
<translation>&amp;Į eilę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Q</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="304"/>
+ <location filename="../playlist.cpp" line="305"/>
<source>Actions</source>
<translation>Veiksmai</translation>
</message>
diff --git a/src/ui/translations/qmmp_pl_PL.ts b/src/ui/translations/qmmp_pl_PL.ts
index 374f83fc3..0265dd9eb 100644
--- a/src/ui/translations/qmmp_pl_PL.ts
+++ b/src/ui/translations/qmmp_pl_PL.ts
@@ -663,53 +663,53 @@
<context>
<name>EqWidget</name>
<message>
- <location filename="../eqwidget.cpp" line="169"/>
- <location filename="../eqwidget.cpp" line="192"/>
+ <location filename="../eqwidget.cpp" line="170"/>
+ <location filename="../eqwidget.cpp" line="193"/>
<source>preset</source>
<translation>profil</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="278"/>
+ <location filename="../eqwidget.cpp" line="279"/>
<source>&amp;Load/Delete</source>
<translation>Wczytaj/&amp;Usuń</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="280"/>
+ <location filename="../eqwidget.cpp" line="281"/>
<source>&amp;Save Preset</source>
<translation>Zapi&amp;sz Profil</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="282"/>
+ <location filename="../eqwidget.cpp" line="283"/>
<source>&amp;Save Auto-load Preset</source>
<translation>Zapi&amp;sz Auto-ładowanie Profilu</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="287"/>
+ <location filename="../eqwidget.cpp" line="288"/>
<source>&amp;Clear</source>
<translation>&amp;Wyczyść</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="316"/>
+ <location filename="../eqwidget.cpp" line="317"/>
<source>Saving Preset</source>
<translation>Zapisywanie Profilu</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="317"/>
+ <location filename="../eqwidget.cpp" line="318"/>
<source>Preset name:</source>
<translation>Nazwa Profilu:</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="318"/>
+ <location filename="../eqwidget.cpp" line="319"/>
<source>preset #</source>
<translation>profil #</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="284"/>
+ <location filename="../eqwidget.cpp" line="285"/>
<source>&amp;Import</source>
<translation>&amp;Importuj</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="409"/>
+ <location filename="../eqwidget.cpp" line="410"/>
<source>Import Preset</source>
<translation>Importuj Profil</translation>
</message>
@@ -1133,244 +1133,244 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="175"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="181"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>D</source>
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="217"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="331"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>Ctrl+T</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>Ctrl+W</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="175"/>
<source>&amp;Add File</source>
<translation>&amp;Dodaj plik</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="180"/>
+ <location filename="../playlist.cpp" line="181"/>
<source>&amp;Add Directory</source>
<translation>Dodaj &amp;katalog</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
+ <location filename="../playlist.cpp" line="194"/>
<source>&amp;Remove Selected</source>
<translation>&amp;Usuń zaznaczone</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="199"/>
+ <location filename="../playlist.cpp" line="200"/>
<source>&amp;Remove All</source>
<translation>Usuń &amp;wszystkie</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>&amp;Remove Unselected</source>
<translation>Usuń &amp;niezaznaczone</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="211"/>
<source>Remove unavailable files</source>
<translation>Usuń niedostępne pliki</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Remove duplicates</source>
<translation>Usuń duplikaty</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="217"/>
<source>&amp;View Track Details</source>
<translation>&amp;Pokaż informacje o pliku</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="226"/>
<source>Sort List</source>
<translation>Sortuj listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Title</source>
<translation>Według nazwy</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Album</source>
<translation>Według nazwy albumu</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Artist</source>
<translation>Według artysty</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Filename</source>
<translation>Według nazwy pliku</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Path + Filename</source>
<translation>Według Ścieżki + Nazwy pliku</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="249"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Date</source>
<translation>Wg Daty</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="260"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>Sort Selection</source>
<translation>Sortuj zaznaczone</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Randomize List</source>
<translation>Tasuj listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<source>Reverse List</source>
<translation>Odwróć listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>Invert Selection</source>
<translation>Odwróć zaznaczenie</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select None</source>
<translation>&amp;Odznacz wszystkie</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Shift+A</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="323"/>
+ <location filename="../playlist.cpp" line="324"/>
<source>&amp;Select All</source>
<translation>&amp;Zaznacz wszystkie</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>&amp;New List</source>
<translation>&amp;Nowa lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Select Next Playlist</source>
<translation>Wybierz na&amp;stępną listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="357"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>Ctrl+PgDown</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="363"/>
+ <location filename="../playlist.cpp" line="364"/>
<source>&amp;Select Previous Playlist</source>
<translation>Wybierz poprzednią li&amp;stę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="364"/>
+ <location filename="../playlist.cpp" line="365"/>
<source>Ctrl+PgUp</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="370"/>
+ <location filename="../playlist.cpp" line="371"/>
<source>&amp;Show Playlists</source>
<translation>Pokaż li&amp;sty odtwarzania</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="371"/>
+ <location filename="../playlist.cpp" line="372"/>
<source>P</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="335"/>
+ <location filename="../playlist.cpp" line="336"/>
<source>&amp;Delete List</source>
<translation>Usuń listę o&amp;dtwarzana</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Load List</source>
<translation>&amp;Ładuj listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="348"/>
+ <location filename="../playlist.cpp" line="349"/>
<source>&amp;Save List</source>
<translation>&amp;Zapisz listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="194"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>Del</source>
<translation>Del</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="186"/>
+ <location filename="../playlist.cpp" line="187"/>
<source>&amp;Add Url</source>
<translation>Dod&amp;aj Url</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="187"/>
+ <location filename="../playlist.cpp" line="188"/>
<source>U</source>
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="252"/>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="253"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>By Track Number</source>
<translation>Wg numeru utworu</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>&amp;Queue</source>
<translation>&amp;Kolejkuj</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="304"/>
+ <location filename="../playlist.cpp" line="305"/>
<source>Actions</source>
<translation>Akcje</translation>
</message>
diff --git a/src/ui/translations/qmmp_pt_BR.ts b/src/ui/translations/qmmp_pt_BR.ts
index 025f0dad6..7b4d691fc 100644
--- a/src/ui/translations/qmmp_pt_BR.ts
+++ b/src/ui/translations/qmmp_pt_BR.ts
@@ -663,53 +663,53 @@
<context>
<name>EqWidget</name>
<message>
- <location filename="../eqwidget.cpp" line="169"/>
- <location filename="../eqwidget.cpp" line="192"/>
+ <location filename="../eqwidget.cpp" line="170"/>
+ <location filename="../eqwidget.cpp" line="193"/>
<source>preset</source>
<translation type="unfinished">preset</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="278"/>
+ <location filename="../eqwidget.cpp" line="279"/>
<source>&amp;Load/Delete</source>
<translation type="unfinished">&amp;Carregar/Deletar</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="280"/>
+ <location filename="../eqwidget.cpp" line="281"/>
<source>&amp;Save Preset</source>
<translation type="unfinished">%Salvar preset</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="282"/>
+ <location filename="../eqwidget.cpp" line="283"/>
<source>&amp;Save Auto-load Preset</source>
<translation type="unfinished">&amp;Salvar Auto-Carregar preset</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="287"/>
+ <location filename="../eqwidget.cpp" line="288"/>
<source>&amp;Clear</source>
<translation type="unfinished">&amp;Limpar</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="316"/>
+ <location filename="../eqwidget.cpp" line="317"/>
<source>Saving Preset</source>
<translation type="unfinished">Salvando Preset</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="317"/>
+ <location filename="../eqwidget.cpp" line="318"/>
<source>Preset name:</source>
<translation type="unfinished">Nome Preset:</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="318"/>
+ <location filename="../eqwidget.cpp" line="319"/>
<source>preset #</source>
<translation type="unfinished">Preset #</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="284"/>
+ <location filename="../eqwidget.cpp" line="285"/>
<source>&amp;Import</source>
<translation type="unfinished">&amp;Importar</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="409"/>
+ <location filename="../eqwidget.cpp" line="410"/>
<source>Import Preset</source>
<translation type="unfinished">Importar Preset</translation>
</message>
@@ -1133,244 +1133,244 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="175"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>F</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="181"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>D</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="217"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Alt+I</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>Ctrl+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="331"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>O</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="175"/>
<source>&amp;Add File</source>
<translation type="unfinished">&amp;Adicionar arquivo</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="180"/>
+ <location filename="../playlist.cpp" line="181"/>
<source>&amp;Add Directory</source>
<translation type="unfinished">&amp;Adicionar Diretorio</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
+ <location filename="../playlist.cpp" line="194"/>
<source>&amp;Remove Selected</source>
<translation type="unfinished">&amp;Remover selecionadas</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="199"/>
+ <location filename="../playlist.cpp" line="200"/>
<source>&amp;Remove All</source>
<translation type="unfinished">&amp;Remover tudo</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>&amp;Remove Unselected</source>
<translation type="unfinished">&amp;Remover não selecionadas</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="211"/>
<source>Remove unavailable files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Remove duplicates</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="217"/>
<source>&amp;View Track Details</source>
<translation type="unfinished">&amp;Ver detalhes da Faixa</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="226"/>
<source>Sort List</source>
<translation type="unfinished">Classificar lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Title</source>
<translation type="unfinished">Por Título</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Album</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Filename</source>
<translation type="unfinished">Por Nome</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Path + Filename</source>
<translation type="unfinished">Por Dirertório + Nome</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="249"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Date</source>
<translation type="unfinished">Por Data</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="260"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>Sort Selection</source>
<translation type="unfinished">Classificar por Seleção</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Randomize List</source>
<translation type="unfinished">Lista Eleatória</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<source>Reverse List</source>
<translation type="unfinished">Lista Revertida</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>Invert Selection</source>
<translation type="unfinished">Inverter Seleção</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select None</source>
<translation type="unfinished">&amp;Nenhum selecionado</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="323"/>
+ <location filename="../playlist.cpp" line="324"/>
<source>&amp;Select All</source>
<translation type="unfinished">&amp;Selecionar tudo</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>&amp;New List</source>
<translation type="unfinished">&amp;Nova lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Select Next Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="357"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="363"/>
+ <location filename="../playlist.cpp" line="364"/>
<source>&amp;Select Previous Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="364"/>
+ <location filename="../playlist.cpp" line="365"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="370"/>
+ <location filename="../playlist.cpp" line="371"/>
<source>&amp;Show Playlists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="371"/>
+ <location filename="../playlist.cpp" line="372"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="335"/>
+ <location filename="../playlist.cpp" line="336"/>
<source>&amp;Delete List</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Load List</source>
<translation type="unfinished">&amp;Carregar lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="348"/>
+ <location filename="../playlist.cpp" line="349"/>
<source>&amp;Save List</source>
<translation type="unfinished">&amp;Salvar lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>Shift+S</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="194"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>Del</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="186"/>
+ <location filename="../playlist.cpp" line="187"/>
<source>&amp;Add Url</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="187"/>
+ <location filename="../playlist.cpp" line="188"/>
<source>U</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="252"/>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="253"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>By Track Number</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>&amp;Queue</source>
<translation type="unfinished">Na fila</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Q</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="304"/>
+ <location filename="../playlist.cpp" line="305"/>
<source>Actions</source>
<translation type="unfinished"></translation>
</message>
diff --git a/src/ui/translations/qmmp_ru.ts b/src/ui/translations/qmmp_ru.ts
index 4d19b26f2..73e57c3a2 100644
--- a/src/ui/translations/qmmp_ru.ts
+++ b/src/ui/translations/qmmp_ru.ts
@@ -663,53 +663,53 @@
<context>
<name>EqWidget</name>
<message>
- <location filename="../eqwidget.cpp" line="169"/>
- <location filename="../eqwidget.cpp" line="192"/>
+ <location filename="../eqwidget.cpp" line="170"/>
+ <location filename="../eqwidget.cpp" line="193"/>
<source>preset</source>
<translation>предустановка</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="278"/>
+ <location filename="../eqwidget.cpp" line="279"/>
<source>&amp;Load/Delete</source>
<translation>&amp;Загрузить/Удалить</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="280"/>
+ <location filename="../eqwidget.cpp" line="281"/>
<source>&amp;Save Preset</source>
<translation>&amp;Сохранить предустановку</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="282"/>
+ <location filename="../eqwidget.cpp" line="283"/>
<source>&amp;Save Auto-load Preset</source>
<translation>&amp;Сохранить авто-предустановку</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="287"/>
+ <location filename="../eqwidget.cpp" line="288"/>
<source>&amp;Clear</source>
<translation>&amp;Очистить</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="316"/>
+ <location filename="../eqwidget.cpp" line="317"/>
<source>Saving Preset</source>
<translation>Сохранение предустановки</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="317"/>
+ <location filename="../eqwidget.cpp" line="318"/>
<source>Preset name:</source>
<translation>Имя предустановки:</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="318"/>
+ <location filename="../eqwidget.cpp" line="319"/>
<source>preset #</source>
<translation>предустановка #</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="284"/>
+ <location filename="../eqwidget.cpp" line="285"/>
<source>&amp;Import</source>
<translation>&amp;Импортировать</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="409"/>
+ <location filename="../eqwidget.cpp" line="410"/>
<source>Import Preset</source>
<translation>Импорт предустановки</translation>
</message>
@@ -1133,244 +1133,244 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="175"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>F</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="181"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>D</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="217"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Alt+I</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>Ctrl+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="331"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>O</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="175"/>
<source>&amp;Add File</source>
<translation>&amp;Добавить файл</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="180"/>
+ <location filename="../playlist.cpp" line="181"/>
<source>&amp;Add Directory</source>
<translation>&amp;Добавить директорию</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
+ <location filename="../playlist.cpp" line="194"/>
<source>&amp;Remove Selected</source>
<translation>&amp;Удалить выделенное</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="199"/>
+ <location filename="../playlist.cpp" line="200"/>
<source>&amp;Remove All</source>
<translation>&amp;Удалить всё</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>&amp;Remove Unselected</source>
<translation>&amp;Удалить невыделенное</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="211"/>
<source>Remove unavailable files</source>
<translation>Удалить недоступные файлы</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Remove duplicates</source>
<translation>Удалить дубликаты</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="217"/>
<source>&amp;View Track Details</source>
<translation>&amp;Информация</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="226"/>
<source>Sort List</source>
<translation>Сортировать</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Title</source>
<translation>По названию</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Album</source>
<translation>По альбому</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Artist</source>
<translation>По исполнителю</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Filename</source>
<translation>По имени файла</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Path + Filename</source>
<translation>По пути и файлу</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="249"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Date</source>
<translation>По дате</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="260"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>Sort Selection</source>
<translation>Сортировать выделенное</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Randomize List</source>
<translation>Перемешать</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<source>Reverse List</source>
<translation>Перевернуть</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>Invert Selection</source>
<translation>Инвертировать выделение</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select None</source>
<translation>&amp;Снять выделение</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="323"/>
+ <location filename="../playlist.cpp" line="324"/>
<source>&amp;Select All</source>
<translation>&amp;Выделить всё</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>&amp;New List</source>
<translation>&amp;Новый список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Select Next Playlist</source>
<translation>&amp;Выбрать следующий список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="357"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="363"/>
+ <location filename="../playlist.cpp" line="364"/>
<source>&amp;Select Previous Playlist</source>
<translation>&amp;Выбрать предыдущий список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="364"/>
+ <location filename="../playlist.cpp" line="365"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="370"/>
+ <location filename="../playlist.cpp" line="371"/>
<source>&amp;Show Playlists</source>
<translation>&amp;Показать списки</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="371"/>
+ <location filename="../playlist.cpp" line="372"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="335"/>
+ <location filename="../playlist.cpp" line="336"/>
<source>&amp;Delete List</source>
<translation>&amp;Удалить список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Load List</source>
<translation>&amp;Загрузить список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="348"/>
+ <location filename="../playlist.cpp" line="349"/>
<source>&amp;Save List</source>
<translation>&amp;Сохранить список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>Shift+S</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="194"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>Del</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="186"/>
+ <location filename="../playlist.cpp" line="187"/>
<source>&amp;Add Url</source>
<translation>&amp;Добавить URL</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="187"/>
+ <location filename="../playlist.cpp" line="188"/>
<source>U</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="252"/>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="253"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>By Track Number</source>
<translation>По номеру трека</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>&amp;Queue</source>
<translation>&amp;В очередь</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Q</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="304"/>
+ <location filename="../playlist.cpp" line="305"/>
<source>Actions</source>
<translation>Действия</translation>
</message>
diff --git a/src/ui/translations/qmmp_tr.ts b/src/ui/translations/qmmp_tr.ts
index 3cd36b57c..398a50e79 100644
--- a/src/ui/translations/qmmp_tr.ts
+++ b/src/ui/translations/qmmp_tr.ts
@@ -663,53 +663,53 @@
<context>
<name>EqWidget</name>
<message>
- <location filename="../eqwidget.cpp" line="169"/>
- <location filename="../eqwidget.cpp" line="192"/>
+ <location filename="../eqwidget.cpp" line="170"/>
+ <location filename="../eqwidget.cpp" line="193"/>
<source>preset</source>
<translation>tanımlanmış ayar</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="278"/>
+ <location filename="../eqwidget.cpp" line="279"/>
<source>&amp;Load/Delete</source>
<translation>&amp;Yükle/Sil</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="280"/>
+ <location filename="../eqwidget.cpp" line="281"/>
<source>&amp;Save Preset</source>
<translation>Tanımlanmış &amp;Ayarları Kaydet</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="282"/>
+ <location filename="../eqwidget.cpp" line="283"/>
<source>&amp;Save Auto-load Preset</source>
<translation>&amp;Otomatik Tanımlanmış Ayarları Kaydet</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="287"/>
+ <location filename="../eqwidget.cpp" line="288"/>
<source>&amp;Clear</source>
<translation>&amp;Temizle</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="316"/>
+ <location filename="../eqwidget.cpp" line="317"/>
<source>Saving Preset</source>
<translation>Tanımlanmış Ayarla Kaydediliyor</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="317"/>
+ <location filename="../eqwidget.cpp" line="318"/>
<source>Preset name:</source>
<translation>Tanımlanmış ayar adı:</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="318"/>
+ <location filename="../eqwidget.cpp" line="319"/>
<source>preset #</source>
<translation>tanımlanmış ayar #</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="284"/>
+ <location filename="../eqwidget.cpp" line="285"/>
<source>&amp;Import</source>
<translation>&amp;İçe Aktar</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="409"/>
+ <location filename="../eqwidget.cpp" line="410"/>
<source>Import Preset</source>
<translation>Tanımlanmış Ayarları Al</translation>
</message>
@@ -1133,244 +1133,244 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="175"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="181"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>D</source>
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="217"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="331"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="175"/>
<source>&amp;Add File</source>
<translation>&amp;Dosya Ekle</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="180"/>
+ <location filename="../playlist.cpp" line="181"/>
<source>&amp;Add Directory</source>
<translation>&amp;Dizin Ekle</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
+ <location filename="../playlist.cpp" line="194"/>
<source>&amp;Remove Selected</source>
<translation>&amp;Seçileni Kaldır</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="199"/>
+ <location filename="../playlist.cpp" line="200"/>
<source>&amp;Remove All</source>
<translation>&amp;Hepsini Kaldır</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>&amp;Remove Unselected</source>
<translation>&amp;Seçilmemişleri Kaldır</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="211"/>
<source>Remove unavailable files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Remove duplicates</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="217"/>
<source>&amp;View Track Details</source>
<translation>&amp;Parça Detaylarını Göster</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="226"/>
<source>Sort List</source>
<translation>Listeyi Sınıflandır</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Title</source>
<translation>Başlığa Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Album</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Filename</source>
<translation>Dosya Adına Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Path + Filename</source>
<translation>Dosya Yolu + Dosya Adına Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="249"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Date</source>
<translation>Tarihe Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="260"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>Sort Selection</source>
<translation>Seçilenleri Sınıflandır</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Randomize List</source>
<translation>Rastgele Listele</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<source>Reverse List</source>
<translation>Listeyi Ters Çevir</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>Invert Selection</source>
<translation>Seçimi Tersine Çevir</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select None</source>
<translation>&amp;Hiçbirini Seçme</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="323"/>
+ <location filename="../playlist.cpp" line="324"/>
<source>&amp;Select All</source>
<translation>&amp;Tümünü Seç</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>&amp;New List</source>
<translation>&amp;Yeni Liste</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Select Next Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="357"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="363"/>
+ <location filename="../playlist.cpp" line="364"/>
<source>&amp;Select Previous Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="364"/>
+ <location filename="../playlist.cpp" line="365"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="370"/>
+ <location filename="../playlist.cpp" line="371"/>
<source>&amp;Show Playlists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="371"/>
+ <location filename="../playlist.cpp" line="372"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="335"/>
+ <location filename="../playlist.cpp" line="336"/>
<source>&amp;Delete List</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Load List</source>
<translation>&amp;Liste Yükle</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="348"/>
+ <location filename="../playlist.cpp" line="349"/>
<source>&amp;Save List</source>
<translation>&amp;Listeyi Kaydet</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="194"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>Del</source>
<translation>Del</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="186"/>
+ <location filename="../playlist.cpp" line="187"/>
<source>&amp;Add Url</source>
<translation>&amp;Url Ekle</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="187"/>
+ <location filename="../playlist.cpp" line="188"/>
<source>U</source>
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="252"/>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="253"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>By Track Number</source>
<translation>Parça Numarasına Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>&amp;Queue</source>
<translation>&amp;Kuyruğa ekle</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="304"/>
+ <location filename="../playlist.cpp" line="305"/>
<source>Actions</source>
<translation>Eylemler</translation>
</message>
diff --git a/src/ui/translations/qmmp_uk_UA.ts b/src/ui/translations/qmmp_uk_UA.ts
index cb538418f..670e76447 100644
--- a/src/ui/translations/qmmp_uk_UA.ts
+++ b/src/ui/translations/qmmp_uk_UA.ts
@@ -663,53 +663,53 @@
<context>
<name>EqWidget</name>
<message>
- <location filename="../eqwidget.cpp" line="169"/>
- <location filename="../eqwidget.cpp" line="192"/>
+ <location filename="../eqwidget.cpp" line="170"/>
+ <location filename="../eqwidget.cpp" line="193"/>
<source>preset</source>
<translation>предвстановлення</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="278"/>
+ <location filename="../eqwidget.cpp" line="279"/>
<source>&amp;Load/Delete</source>
<translation>&amp;Завантажити/Видалити</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="280"/>
+ <location filename="../eqwidget.cpp" line="281"/>
<source>&amp;Save Preset</source>
<translation>&amp;Зберегти предвстановлення</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="282"/>
+ <location filename="../eqwidget.cpp" line="283"/>
<source>&amp;Save Auto-load Preset</source>
<translation>&amp;Зберегти авто-предвстановлення</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="287"/>
+ <location filename="../eqwidget.cpp" line="288"/>
<source>&amp;Clear</source>
<translation>&amp;Очистити</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="316"/>
+ <location filename="../eqwidget.cpp" line="317"/>
<source>Saving Preset</source>
<translation>Збережені предвстановлення</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="317"/>
+ <location filename="../eqwidget.cpp" line="318"/>
<source>Preset name:</source>
<translation>Ім&apos;я предвстановлення:</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="318"/>
+ <location filename="../eqwidget.cpp" line="319"/>
<source>preset #</source>
<translation>предвстановлення #</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="284"/>
+ <location filename="../eqwidget.cpp" line="285"/>
<source>&amp;Import</source>
<translation>&amp;Імпортувати</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="409"/>
+ <location filename="../eqwidget.cpp" line="410"/>
<source>Import Preset</source>
<translation>Імпорт предвстановлення</translation>
</message>
@@ -1133,244 +1133,244 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="175"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>F</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="181"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>D</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="217"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Alt+I</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>Ctrl+A</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="331"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>Ctrl+T</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>Ctrl+W</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>O</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="175"/>
<source>&amp;Add File</source>
<translation>&amp;Додати файл</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="180"/>
+ <location filename="../playlist.cpp" line="181"/>
<source>&amp;Add Directory</source>
<translation>&amp;Додати теку</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
+ <location filename="../playlist.cpp" line="194"/>
<source>&amp;Remove Selected</source>
<translation>&amp;Видалити вибране</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="199"/>
+ <location filename="../playlist.cpp" line="200"/>
<source>&amp;Remove All</source>
<translation>&amp;Видалити все</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>&amp;Remove Unselected</source>
<translation>&amp;Видалити не вибране</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="211"/>
<source>Remove unavailable files</source>
<translation>Видалити недоступні файли</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Remove duplicates</source>
<translation>Видалити дублікати</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="217"/>
<source>&amp;View Track Details</source>
<translation>&amp;Інформація</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="226"/>
<source>Sort List</source>
<translation>Сортувати</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Title</source>
<translation>За назвою</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Album</source>
<translation>За альбомом</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Artist</source>
<translation>За артистом</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Filename</source>
<translation>За ім&apos;ям файлу</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Path + Filename</source>
<translation>За шляхом та файлом</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="249"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Date</source>
<translation>За датою</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="260"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>Sort Selection</source>
<translation>Сортувати вибране</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Randomize List</source>
<translation>Перемішати</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<source>Reverse List</source>
<translation>Перевернути</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>Invert Selection</source>
<translation>Інвертувати вибране</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select None</source>
<translation>&amp;Зняти виділення</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Shift+A</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="323"/>
+ <location filename="../playlist.cpp" line="324"/>
<source>&amp;Select All</source>
<translation>&amp;Вибрати все</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>&amp;New List</source>
<translation>&amp;Новий список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Select Next Playlist</source>
<translation>Вибрати &amp;наступний список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="357"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>Ctrl+PgDown</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="363"/>
+ <location filename="../playlist.cpp" line="364"/>
<source>&amp;Select Previous Playlist</source>
<translation>Вибрати &amp;попередній список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="364"/>
+ <location filename="../playlist.cpp" line="365"/>
<source>Ctrl+PgUp</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="370"/>
+ <location filename="../playlist.cpp" line="371"/>
<source>&amp;Show Playlists</source>
<translation>Показати &amp;всі списки</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="371"/>
+ <location filename="../playlist.cpp" line="372"/>
<source>P</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="335"/>
+ <location filename="../playlist.cpp" line="336"/>
<source>&amp;Delete List</source>
<translation>&amp;Видалити список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Load List</source>
<translation>&amp;Завантажити список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="348"/>
+ <location filename="../playlist.cpp" line="349"/>
<source>&amp;Save List</source>
<translation>&amp;Зберегти список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>Shift+S</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="194"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>Del</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="186"/>
+ <location filename="../playlist.cpp" line="187"/>
<source>&amp;Add Url</source>
<translation>&amp;Додати адресу</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="187"/>
+ <location filename="../playlist.cpp" line="188"/>
<source>U</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="252"/>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="253"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>By Track Number</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>&amp;Queue</source>
<translation>&amp;В чергу</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Q</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="304"/>
+ <location filename="../playlist.cpp" line="305"/>
<source>Actions</source>
<translation>Дії</translation>
</message>
diff --git a/src/ui/translations/qmmp_zh_CN.ts b/src/ui/translations/qmmp_zh_CN.ts
index 29d1c4c4d..486c9b0f8 100644
--- a/src/ui/translations/qmmp_zh_CN.ts
+++ b/src/ui/translations/qmmp_zh_CN.ts
@@ -663,53 +663,53 @@
<context>
<name>EqWidget</name>
<message>
- <location filename="../eqwidget.cpp" line="169"/>
- <location filename="../eqwidget.cpp" line="192"/>
+ <location filename="../eqwidget.cpp" line="170"/>
+ <location filename="../eqwidget.cpp" line="193"/>
<source>preset</source>
<translation>预设</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="278"/>
+ <location filename="../eqwidget.cpp" line="279"/>
<source>&amp;Load/Delete</source>
<translation>载入/删除(&amp;L)</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="280"/>
+ <location filename="../eqwidget.cpp" line="281"/>
<source>&amp;Save Preset</source>
<translation>保存预设(&amp;S)</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="282"/>
+ <location filename="../eqwidget.cpp" line="283"/>
<source>&amp;Save Auto-load Preset</source>
<translation>保存自动载入预设(&amp;S)</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="287"/>
+ <location filename="../eqwidget.cpp" line="288"/>
<source>&amp;Clear</source>
<translation>清除(&amp;C)</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="316"/>
+ <location filename="../eqwidget.cpp" line="317"/>
<source>Saving Preset</source>
<translation>保存预设</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="317"/>
+ <location filename="../eqwidget.cpp" line="318"/>
<source>Preset name:</source>
<translation>预设名称:</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="318"/>
+ <location filename="../eqwidget.cpp" line="319"/>
<source>preset #</source>
<translation>预设 #</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="284"/>
+ <location filename="../eqwidget.cpp" line="285"/>
<source>&amp;Import</source>
<translation>导入(&amp;I)</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="409"/>
+ <location filename="../eqwidget.cpp" line="410"/>
<source>Import Preset</source>
<translation>导入预设</translation>
</message>
@@ -1133,244 +1133,244 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="175"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="181"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>D</source>
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="217"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="331"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="175"/>
<source>&amp;Add File</source>
<translation>添加文件(&amp;A)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="180"/>
+ <location filename="../playlist.cpp" line="181"/>
<source>&amp;Add Directory</source>
<translation>添加文件夹(&amp;A)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
+ <location filename="../playlist.cpp" line="194"/>
<source>&amp;Remove Selected</source>
<translation>删除所选(&amp;R)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="199"/>
+ <location filename="../playlist.cpp" line="200"/>
<source>&amp;Remove All</source>
<translation>删除全部(&amp;R)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>&amp;Remove Unselected</source>
<translation>删除未选(&amp;R)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="211"/>
<source>Remove unavailable files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Remove duplicates</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="217"/>
<source>&amp;View Track Details</source>
<translation>查看音轨详细信息(&amp;V)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="226"/>
<source>Sort List</source>
<translation>列表排序</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Title</source>
<translation>按标题</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Album</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Filename</source>
<translation>按文件名</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Path + Filename</source>
<translation>按路径+文件名</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="249"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Date</source>
<translation>按日期</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="260"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>Sort Selection</source>
<translation>选择排序</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Randomize List</source>
<translation>随机产生列表</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<source>Reverse List</source>
<translation>逆序列表</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>Invert Selection</source>
<translation>反选</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select None</source>
<translation>无选择(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="323"/>
+ <location filename="../playlist.cpp" line="324"/>
<source>&amp;Select All</source>
<translation>选择全部(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>&amp;New List</source>
<translation>新建列表(&amp;N)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Select Next Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="357"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="363"/>
+ <location filename="../playlist.cpp" line="364"/>
<source>&amp;Select Previous Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="364"/>
+ <location filename="../playlist.cpp" line="365"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="370"/>
+ <location filename="../playlist.cpp" line="371"/>
<source>&amp;Show Playlists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="371"/>
+ <location filename="../playlist.cpp" line="372"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="335"/>
+ <location filename="../playlist.cpp" line="336"/>
<source>&amp;Delete List</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Load List</source>
<translation>载入列表(&amp;L)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="348"/>
+ <location filename="../playlist.cpp" line="349"/>
<source>&amp;Save List</source>
<translation>保存列表(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="194"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>Del</source>
<translation>Del</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="186"/>
+ <location filename="../playlist.cpp" line="187"/>
<source>&amp;Add Url</source>
<translation>添加 URL (&amp;A)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="187"/>
+ <location filename="../playlist.cpp" line="188"/>
<source>U</source>
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="252"/>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="253"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>By Track Number</source>
<translation>按音轨</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>&amp;Queue</source>
<translation>队列(&amp;Q)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="304"/>
+ <location filename="../playlist.cpp" line="305"/>
<source>Actions</source>
<translation>动作</translation>
</message>
diff --git a/src/ui/translations/qmmp_zh_TW.ts b/src/ui/translations/qmmp_zh_TW.ts
index 46e544bef..aacecbbb3 100644
--- a/src/ui/translations/qmmp_zh_TW.ts
+++ b/src/ui/translations/qmmp_zh_TW.ts
@@ -663,53 +663,53 @@
<context>
<name>EqWidget</name>
<message>
- <location filename="../eqwidget.cpp" line="169"/>
- <location filename="../eqwidget.cpp" line="192"/>
+ <location filename="../eqwidget.cpp" line="170"/>
+ <location filename="../eqwidget.cpp" line="193"/>
<source>preset</source>
<translation>預設</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="278"/>
+ <location filename="../eqwidget.cpp" line="279"/>
<source>&amp;Load/Delete</source>
<translation>載入/移除(&amp;L)</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="280"/>
+ <location filename="../eqwidget.cpp" line="281"/>
<source>&amp;Save Preset</source>
<translation>儲存預設(&amp;S)</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="282"/>
+ <location filename="../eqwidget.cpp" line="283"/>
<source>&amp;Save Auto-load Preset</source>
<translation>儲存自動載入預設(&amp;S)</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="287"/>
+ <location filename="../eqwidget.cpp" line="288"/>
<source>&amp;Clear</source>
<translation>清除(&amp;C)</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="316"/>
+ <location filename="../eqwidget.cpp" line="317"/>
<source>Saving Preset</source>
<translation>儲存預設</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="317"/>
+ <location filename="../eqwidget.cpp" line="318"/>
<source>Preset name:</source>
<translation>預設名稱:</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="318"/>
+ <location filename="../eqwidget.cpp" line="319"/>
<source>preset #</source>
<translation>預設 #</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="284"/>
+ <location filename="../eqwidget.cpp" line="285"/>
<source>&amp;Import</source>
<translation>導入(&amp;I)</translation>
</message>
<message>
- <location filename="../eqwidget.cpp" line="409"/>
+ <location filename="../eqwidget.cpp" line="410"/>
<source>Import Preset</source>
<translation>導入預設</translation>
</message>
@@ -1133,244 +1133,244 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="175"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="181"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>D</source>
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="217"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="331"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="175"/>
<source>&amp;Add File</source>
<translation>添加檔案(&amp;A)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="180"/>
+ <location filename="../playlist.cpp" line="181"/>
<source>&amp;Add Directory</source>
<translation>添加檔案夾(&amp;A)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
+ <location filename="../playlist.cpp" line="194"/>
<source>&amp;Remove Selected</source>
<translation>移除所選(&amp;R)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="199"/>
+ <location filename="../playlist.cpp" line="200"/>
<source>&amp;Remove All</source>
<translation>移除全部(&amp;R)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>&amp;Remove Unselected</source>
<translation>移除未選(&amp;R)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="211"/>
<source>Remove unavailable files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Remove duplicates</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="217"/>
<source>&amp;View Track Details</source>
<translation>檢視音軌詳細資訊(&amp;V)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="226"/>
<source>Sort List</source>
<translation>清單排序</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Title</source>
<translation>按標題</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Album</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Filename</source>
<translation>按檔名</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Path + Filename</source>
<translation>按路徑+檔名</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="249"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Date</source>
<translation>按日期</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="260"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>Sort Selection</source>
<translation>選取排序</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Randomize List</source>
<translation>隨機產生清單</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<source>Reverse List</source>
<translation>逆串列表</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>Invert Selection</source>
<translation>反選</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select None</source>
<translation>無選取(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="323"/>
+ <location filename="../playlist.cpp" line="324"/>
<source>&amp;Select All</source>
<translation>選取全部(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>&amp;New List</source>
<translation>新建清單(&amp;N)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Select Next Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="357"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="363"/>
+ <location filename="../playlist.cpp" line="364"/>
<source>&amp;Select Previous Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="364"/>
+ <location filename="../playlist.cpp" line="365"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="370"/>
+ <location filename="../playlist.cpp" line="371"/>
<source>&amp;Show Playlists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="371"/>
+ <location filename="../playlist.cpp" line="372"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="335"/>
+ <location filename="../playlist.cpp" line="336"/>
<source>&amp;Delete List</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Load List</source>
<translation>載入清單(&amp;L)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="348"/>
+ <location filename="../playlist.cpp" line="349"/>
<source>&amp;Save List</source>
<translation>儲存清單(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="194"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>Del</source>
<translation>Del</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="186"/>
+ <location filename="../playlist.cpp" line="187"/>
<source>&amp;Add Url</source>
<translation>添加 URL (&amp;A)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="187"/>
+ <location filename="../playlist.cpp" line="188"/>
<source>U</source>
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="252"/>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="253"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>By Track Number</source>
<translation>按音軌</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>&amp;Queue</source>
<translation>佇列(&amp;Q)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="307"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="304"/>
+ <location filename="../playlist.cpp" line="305"/>
<source>Actions</source>
<translation>動作</translation>
</message>
diff --git a/src/ui/ui.pro b/src/ui/ui.pro
index c239bef5e..dcd01e573 100644
--- a/src/ui/ui.pro
+++ b/src/ui/ui.pro
@@ -55,7 +55,8 @@ HEADERS += mainwindow.h \
playlistbrowser.h \
playlistselector.h \
popupwidget.h \
- popupsettings.h
+ popupsettings.h \
+ windowsystem.h
SOURCES += mainwindow.cpp \
mp3player.cpp \
button.cpp \
@@ -105,7 +106,8 @@ SOURCES += mainwindow.cpp \
playlistbrowser.cpp \
playlistselector.cpp \
popupwidget.cpp \
- popupsettings.cpp
+ popupsettings.cpp \
+ windowsystem.cpp
win32:HEADERS += ../qmmp/visual.h
unix {
HEADERS += unixdomainsocket.h
@@ -143,7 +145,8 @@ unix {
icon16.files = images/16x16/qmmp.png
icon32.files = images/32x32/qmmp.png
icon48.files = images/48x48/qmmp.png
- icon_svg.files = images/scalable/qmmp.png images/scalable/qmmp.png
+ icon_svg.files = images/scalable/qmmp.png \
+ images/scalable/qmmp.png
icon16.path = /share/icons/hicolor/16x16/apps
icon32.path = /share/icons/hicolor/32x32/apps
icon48.path = /share/icons/hicolor/48x48/apps
@@ -169,3 +172,7 @@ TRANSLATIONS = translations/qmmp_ru.ts \
translations/qmmp_lt.ts \
translations/qmmp_hu.ts
+x11{
+CONFIG += link_pkgconfig
+PKGCONFIG += x11
+}
diff --git a/src/ui/windowsystem.cpp b/src/ui/windowsystem.cpp
new file mode 100644
index 000000000..a85748584
--- /dev/null
+++ b/src/ui/windowsystem.cpp
@@ -0,0 +1,205 @@
+/***************************************************************************
+ * Based on Licq *
+ * Copyright (C) 2006-2009 Licq developers *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+
+#include "windowsystem.h"
+#include <QCoreApplication>
+#ifdef Q_WS_X11
+#include <QX11Info>
+#include <X11/X.h>
+#include <X11/Xatom.h>
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#endif
+
+#ifdef Q_WS_X11
+void WindowSystem::ghostWindow(WId win)
+{
+ Display* dsp = QX11Info::display();
+ Window root = DefaultRootWindow(dsp);
+
+ Atom win_state = XInternAtom(dsp, "_NET_WM_STATE", False);
+ Atom win_state_add = XInternAtom(dsp, "_NET_WM_STATE_ADD", False);
+ Atom win_state_settings[] =
+ {
+ XInternAtom(dsp, "_NET_WM_STATE_SKIP_TASKBAR", False),
+ XInternAtom(dsp, "_NET_WM_STATE_SKIP_PAGER", False)
+ };
+ XChangeProperty(dsp, win, win_state, XA_ATOM, 32, PropModeReplace,
+ reinterpret_cast<unsigned char*>(&win_state_settings), 2);
+
+ XEvent xev;
+ xev.type = ClientMessage;
+ xev.xclient.type = ClientMessage;
+ xev.xclient.display = dsp;
+ xev.xclient.window = win;
+ xev.xclient.message_type = win_state;
+ xev.xclient.format = 32;
+ xev.xclient.data.l[0] = win_state_add;
+ xev.xclient.data.l[1] = win_state_settings[0];
+ xev.xclient.data.l[2] = win_state_settings[1];
+
+ XSendEvent(dsp, root, false,
+ SubstructureRedirectMask | SubstructureNotifyMask, &xev);
+}
+
+char* WindowSystem::netWindowManagerName()
+{
+ char* name = NULL;
+
+ Display* dsp = QX11Info::display();
+ WId root = DefaultRootWindow(dsp);
+
+ unsigned char* retValue1 = NULL;
+ unsigned char* retValue2 = NULL;
+
+ retValue1 = getWindowProperty(root, "_NET_SUPPORTING_WM_CHECK");
+ if (retValue1 == NULL)
+ return NULL;
+
+ WId win = *(reinterpret_cast<unsigned long*>(retValue1));
+
+ retValue2 = getWindowProperty(win, "_NET_SUPPORTING_WM_CHECK");
+ if (retValue2 == NULL)
+ {
+ XFree(retValue1);
+ return NULL;
+ }
+
+ if (win != *(reinterpret_cast<unsigned long*>(retValue2)))
+ {
+ XFree(retValue1);
+ XFree(retValue2);
+ return NULL;
+ }
+
+ XFree(retValue2);
+ retValue2 = NULL;
+
+ retValue2 = getWindowProperty(win, "_NET_WM_NAME");
+ XFree(retValue1);
+ if (retValue2 == NULL)
+ return NULL;
+
+ name = strdup(reinterpret_cast<const char*>(retValue2));
+
+ XFree(retValue2);
+
+ return name;
+}
+
+void WindowSystem::changeWinSticky(WId win, bool stick)
+{
+ qDebug("WindowSystem: setting sticky state of window 0x%lx to %s.\n",
+ static_cast<unsigned long>(win), stick ? "true" : "false");
+ Display* dsp = QX11Info::display();
+ Window root = DefaultRootWindow(dsp);
+
+ unsigned long desktop = ~(0UL);
+
+ if (!stick)
+ {
+ unsigned char* tmp = getWindowProperty(root, "_NET_CURRENT_DESKTOP");
+
+ if (tmp == NULL)
+ qWarning("WindowSystem: error reading current desktop property.");
+ else
+ {
+ desktop = *(reinterpret_cast<unsigned long*>(tmp));
+ XFree(tmp);
+ }
+ }
+
+ XEvent xev;
+ xev.type = ClientMessage;
+ xev.xclient.type = ClientMessage;
+ xev.xclient.display = dsp;
+ xev.xclient.window = win;
+ xev.xclient.message_type = XInternAtom(dsp, "_NET_WM_DESKTOP", False);
+ xev.xclient.format = 32;
+ xev.xclient.data.l[0] = desktop;
+
+ XSendEvent(dsp, root, False,
+ SubstructureRedirectMask | SubstructureNotifyMask, &xev);
+}
+
+unsigned char* WindowSystem::getWindowProperty(WId win, const char* prop)
+{
+ Display* dsp = QX11Info::display();
+
+ // We inhibit new Atom creation since if you request for it
+ // then such Atom most probably exists already.
+ // Otherwise, no surprise we return NULL here.
+ Atom reqAtom = XInternAtom(dsp, prop, True);
+
+ if (reqAtom == None)
+ return NULL;
+
+ int retCheck = None;
+ Atom retType = None;
+ int retFormat = 0;
+ unsigned long retItems = 0UL;
+ unsigned long retMoreBytes = 0UL;
+ unsigned char* retValue = NULL;
+
+ // Check if the property exists and calculate its length.
+ retCheck = XGetWindowProperty(dsp, win,
+ reqAtom, 0L, 0L, False, AnyPropertyType,
+ &retType, &retFormat, &retItems, &retMoreBytes, &retValue);
+
+ // The value is most probably empty, since we requested to read
+ // only 0L length, thus, it's just useless...
+ if (retValue != NULL)
+ {
+ XFree(retValue);
+ retValue = NULL;
+ }
+
+ if (retCheck != Success ||
+ retType == None ||
+ retMoreBytes == 0)
+ return NULL;
+
+ // These are not needed for now.
+ retCheck = None;
+ retFormat = 0;
+ retItems = 0UL;
+
+ // Convert the byte length into 32bit multiples.
+ if (retMoreBytes % 4 != 0)
+ retMoreBytes += 4 - retMoreBytes % 4;
+ retMoreBytes /= 4;
+
+ // Now request the actual property value with correct length and type.
+ retCheck = XGetWindowProperty(dsp, win,
+ reqAtom, 0L, retMoreBytes, False, retType,
+ &retType, &retFormat, &retItems, &retMoreBytes, &retValue);
+
+ if (retCheck != Success ||
+ retMoreBytes != 0)
+ {
+ if (retValue != NULL)
+ XFree(retValue);
+ return NULL;
+ }
+
+ return retValue;
+}
+
+#endif
diff --git a/src/ui/windowsystem.h b/src/ui/windowsystem.h
new file mode 100644
index 000000000..bc317f426
--- /dev/null
+++ b/src/ui/windowsystem.h
@@ -0,0 +1,37 @@
+/***************************************************************************
+ * Based on Licq *
+ * Copyright (C) 2006-2009 Licq developers *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+
+#ifndef WINDOWSYSTEM_H
+#define WINDOWSYSTEM_H
+
+#include <QWidget>
+
+class WindowSystem
+{
+public:
+#ifdef Q_WS_X11
+ static void ghostWindow(WId id);
+ static char* netWindowManagerName();
+ static void changeWinSticky(WId win, bool stick);
+private:
+ static unsigned char* getWindowProperty(WId win, const char* prop);
+#endif
+};
+#endif // WINDOWSYSTEM_H