aboutsummaryrefslogtreecommitdiff
path: root/src-qt5
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5')
-rw-r--r--src-qt5/core-utils/lumina-config/i18n/lumina-config_cs.ts18
-rw-r--r--src-qt5/core-utils/lumina-config/i18n/lumina-config_ja.ts72
-rw-r--r--src-qt5/core-utils/lumina-config/lumina-config.pro7
-rw-r--r--src-qt5/core-utils/lumina-config/mainWindow.cpp4
-rw-r--r--src-qt5/core-utils/lumina-config/pages/getPage.h9
-rw-r--r--src-qt5/core-utils/lumina-config/pages/page_main.cpp3
-rw-r--r--src-qt5/core-utils/lumina-config/pages/pages.pri14
-rw-r--r--src-qt5/core-utils/lumina-search/i18n/lumina-search_et.ts4
-rw-r--r--src-qt5/core/lumina-desktop-unified/LSession.cpp16
-rw-r--r--src-qt5/core/lumina-desktop-unified/global-objects.h28
-rw-r--r--src-qt5/core/lumina-desktop-unified/lumina-desktop.pro106
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-events/LXcbEventFilter.cpp (renamed from src-qt5/core/lumina-desktop-unified/src-WM/LXcbEventFilter.cpp)181
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-events/LXcbEventFilter.h (renamed from src-qt5/core/lumina-desktop-unified/src-WM/LXcbEventFilter.h)73
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-events/events.pri6
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-screensaver/LLockScreen.cpp (renamed from src-qt5/core/lumina-desktop-unified/src-WM/LLockScreen.cpp)0
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-screensaver/LLockScreen.h (renamed from src-qt5/core/lumina-desktop-unified/src-WM/LLockScreen.h)0
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-screensaver/LLockScreen.ui (renamed from src-qt5/core/lumina-desktop-unified/src-WM/LLockScreen.ui)0
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-screensaver/LScreenSaver.cpp (renamed from src-qt5/core/lumina-desktop-unified/src-WM/LScreenSaver.cpp)0
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-screensaver/LScreenSaver.h (renamed from src-qt5/core/lumina-desktop-unified/src-WM/LScreenSaver.h)0
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-screensaver/SSBaseWidget.cpp (renamed from src-qt5/core/lumina-desktop-unified/src-WM/SSBaseWidget.cpp)0
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-screensaver/SSBaseWidget.h (renamed from src-qt5/core/lumina-desktop-unified/src-WM/SSBaseWidget.h)0
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-screensaver/animations/BaseAnimGroup.cpp (renamed from src-qt5/core/lumina-desktop-unified/src-WM/animations/BaseAnimGroup.cpp)0
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-screensaver/animations/BaseAnimGroup.h (renamed from src-qt5/core/lumina-desktop-unified/src-WM/animations/BaseAnimGroup.h)0
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-screensaver/animations/SampleAnimation.h (renamed from src-qt5/core/lumina-desktop-unified/src-WM/animations/SampleAnimation.h)0
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-screensaver/animations/animations.pri (renamed from src-qt5/core/lumina-desktop-unified/src-WM/animations/animations.pri)2
-rw-r--r--src-qt5/core/lumina-desktop-unified/src-screensaver/screensaver.pri15
-rw-r--r--src-qt5/core/lumina-desktop/i18n/lumina-desktop_ca.ts76
-rw-r--r--src-qt5/core/lumina-desktop/i18n/lumina-desktop_cs.ts92
-rw-r--r--src-qt5/core/lumina-desktop/i18n/lumina-desktop_ja.ts66
-rw-r--r--src-qt5/core/lumina-desktop/i18n/lumina-desktop_pl.ts44
-rw-r--r--src-qt5/core/lumina-open/i18n/lumina-open_cs.ts6
-rw-r--r--src-qt5/core/lumina-open/i18n/lumina-open_ja.ts8
-rw-r--r--src-qt5/core/lumina-open/i18n/lumina-open_pl.ts8
-rw-r--r--src-qt5/core/lumina-session/session.cpp119
-rw-r--r--src-qt5/desktop-utils/lumina-fileinfo/i18n/l-fileinfo_pl.ts6
-rw-r--r--src-qt5/desktop-utils/lumina-fm/i18n/lumina-fm_ja.ts108
-rw-r--r--src-qt5/desktop-utils/lumina-fm/i18n/lumina-fm_pl.ts158
-rw-r--r--src-qt5/desktop-utils/lumina-screenshot/i18n/l-screenshot_ja.ts16
-rw-r--r--src-qt5/desktop-utils/lumina-terminal/i18n/l-terminal_ja.ts4
-rw-r--r--src-qt5/desktop-utils/lumina-terminal/i18n/l-terminal_pl.ts14
40 files changed, 710 insertions, 573 deletions
diff --git a/src-qt5/core-utils/lumina-config/i18n/lumina-config_cs.ts b/src-qt5/core-utils/lumina-config/i18n/lumina-config_cs.ts
index 91c61b57..0952203f 100644
--- a/src-qt5/core-utils/lumina-config/i18n/lumina-config_cs.ts
+++ b/src-qt5/core-utils/lumina-config/i18n/lumina-config_cs.ts
@@ -340,7 +340,7 @@ Přepsat je?</translation>
</message>
<message>
<location filename="../LPlugins.cpp" line="67"/>
- <source>Start menu alternative focusing on the user&apos;s files, directories, and favorites.</source>
+ <source>Start menu alternative focusing on the user's files, directories, and favorites.</source>
<translation>Náhradní spouštěcí nabídka se zaměřením na uživatelovy soubory, adresáře a záložky (oblíbené).</translation>
</message>
<message>
@@ -531,12 +531,12 @@ Přepsat je?</translation>
<message>
<location filename="../LPlugins.cpp" line="312"/>
<source>Lock Session</source>
- <translation type="unfinished"></translation>
+ <translation>Uzamknout sezení</translation>
</message>
<message>
<location filename="../LPlugins.cpp" line="313"/>
<source>Lock the current desktop session</source>
- <translation type="unfinished"></translation>
+ <translation>Uzamknout nynější sezení plochy</translation>
</message>
<message>
<location filename="../LPlugins.cpp" line="323"/>
@@ -1253,12 +1253,12 @@ Přepsat jej?</translation>
</message>
<message>
<location filename="../pages/page_fluxbox_keys.ui" line="244"/>
- <source>&quot;Mod1&quot;: Alt key
-&quot;Mod4&quot;: Windows/Mac key
-&quot;Control&quot;: Ctrl key</source>
- <translation>&quot;Mod1&quot;: Alt key
-&quot;Mod4&quot;: klávesa Windows/Mac
-&quot;Control&quot;: klávesa Ctrl</translation>
+ <source>"Mod1": Alt key
+"Mod4": Windows/Mac key
+"Control": Ctrl key</source>
+ <translation>"Mod1": Alt key
+"Mod4": klávesa Windows/Mac
+"Control": klávesa Ctrl</translation>
</message>
<message>
<location filename="../pages/page_fluxbox_keys.cpp" line="71"/>
diff --git a/src-qt5/core-utils/lumina-config/i18n/lumina-config_ja.ts b/src-qt5/core-utils/lumina-config/i18n/lumina-config_ja.ts
index 9039a1c9..f056b2b6 100644
--- a/src-qt5/core-utils/lumina-config/i18n/lumina-config_ja.ts
+++ b/src-qt5/core-utils/lumina-config/i18n/lumina-config_ja.ts
@@ -312,7 +312,7 @@
<message>
<location filename="../LPlugins.cpp" line="151"/>
<source>Hide all open windows and show the desktop</source>
- <translatorcomment>&quot;Home Button&quot;の説明文</translatorcomment>
+ <translatorcomment>"Home Button"の説明文</translatorcomment>
<translation>すべての開いているウィンドウを隠してデスクトップを表示します。</translation>
</message>
<message>
@@ -343,7 +343,7 @@
</message>
<message>
<location filename="../LPlugins.cpp" line="67"/>
- <source>Start menu alternative focusing on the user&apos;s files, directories, and favorites.</source>
+ <source>Start menu alternative focusing on the user's files, directories, and favorites.</source>
<translation>ユーザーのファイル・ディレクトリーやお気に入りに特化した別の種類のスタートメニューです。</translation>
</message>
<message>
@@ -399,7 +399,7 @@
<message>
<location filename="../LPlugins.cpp" line="198"/>
<source>Desktop button for launching an application</source>
- <translatorcomment>もう一つの&quot;Application Launcher&quot;の説明</translatorcomment>
+ <translatorcomment>もう一つの"Application Launcher"の説明</translatorcomment>
<translation>アプリケーションを起動するデスクトップボタン</translation>
</message>
<message>
@@ -536,12 +536,12 @@
<message>
<location filename="../LPlugins.cpp" line="312"/>
<source>Lock Session</source>
- <translation type="unfinished"></translation>
+ <translation>画面セッションをロック</translation>
</message>
<message>
<location filename="../LPlugins.cpp" line="313"/>
<source>Lock the current desktop session</source>
- <translation type="unfinished"></translation>
+ <translation>現在のデスクトップ画面をロックします</translation>
</message>
<message>
<location filename="../LPlugins.cpp" line="323"/>
@@ -717,17 +717,17 @@
<message>
<location filename="../pages/getPage.h" line="29"/>
<source>Wallpaper</source>
- <translation type="unfinished"></translation>
+ <translation>壁紙</translation>
</message>
<message>
<location filename="../pages/getPage.h" line="30"/>
<source>Theme</source>
- <translation type="unfinished"></translation>
+ <translation>テーマ</translation>
</message>
<message>
<location filename="../pages/getPage.h" line="32"/>
<source>Autostart</source>
- <translation type="unfinished"></translation>
+ <translation>自動起動</translation>
</message>
<message>
<location filename="../pages/getPage.h" line="33"/>
@@ -767,27 +767,27 @@
<message>
<location filename="../pages/getPage.h" line="36"/>
<source>Desktop</source>
- <translation type="unfinished"></translation>
+ <translation>デスクトップ</translation>
</message>
<message>
<location filename="../pages/getPage.h" line="37"/>
<source>Panels</source>
- <translation type="unfinished"></translation>
+ <translation>パネル</translation>
</message>
<message>
<location filename="../pages/getPage.h" line="38"/>
<source>Menu</source>
- <translation type="unfinished"></translation>
+ <translation>メニュー</translation>
</message>
<message>
<location filename="../pages/getPage.h" line="42"/>
<source>Input Device Settings</source>
- <translation type="unfinished"></translation>
+ <translation>入力デバイスの設定</translation>
</message>
<message>
<location filename="../pages/getPage.h" line="42"/>
<source>Adjust keyboard and mouse devices</source>
- <translation type="unfinished"></translation>
+ <translation>キーボードとマウスの調整を行います</translation>
</message>
<message>
<location filename="../pages/getPage.h" line="36"/>
@@ -832,7 +832,7 @@
<message>
<location filename="../pages/getPage.h" line="39"/>
<source>Localization</source>
- <translation type="unfinished"></translation>
+ <translation>ローカライズ</translation>
</message>
<message>
<location filename="../pages/getPage.h" line="40"/>
@@ -1081,12 +1081,12 @@
<message>
<location filename="../pages/page_compton.ui" line="39"/>
<source>Only use compositing with GPU acceleration </source>
- <translation type="unfinished"></translation>
+ <translation>GPU アクセラレーションが有効なときだけ使用する </translation>
</message>
<message>
<location filename="../pages/page_compton.cpp" line="38"/>
<source>Compositor Settings</source>
- <translatorcomment>&quot;Window effects&quot; 乃設定画面のタイトル</translatorcomment>
+ <translatorcomment>"Window effects" 乃設定画面のタイトル</translatorcomment>
<translation>画面効果の設定</translation>
</message>
</context>
@@ -1264,12 +1264,12 @@
</message>
<message>
<location filename="../pages/page_fluxbox_keys.ui" line="244"/>
- <source>&quot;Mod1&quot;: Alt key
-&quot;Mod4&quot;: Windows/Mac key
-&quot;Control&quot;: Ctrl key</source>
- <translation>&quot;Mod1&quot;: Alt キー
-&quot;Mod4&quot;: Windows/Mac キー
-&quot;Control&quot;: Ctrl キー</translation>
+ <source>"Mod1": Alt key
+"Mod4": Windows/Mac key
+"Control": Ctrl key</source>
+ <translation>"Mod1": Alt キー
+"Mod4": Windows/Mac キー
+"Control": Ctrl キー</translation>
</message>
<message>
<location filename="../pages/page_fluxbox_keys.cpp" line="71"/>
@@ -1447,12 +1447,12 @@
<message>
<location filename="../pages/page_interface_panels.ui" line="69"/>
<source>Profile</source>
- <translation type="unfinished"></translation>
+ <translation>プロファイル</translation>
</message>
<message>
<location filename="../pages/page_interface_panels.ui" line="82"/>
<source>Import</source>
- <translation type="unfinished"></translation>
+ <translation>インポート</translation>
</message>
<message>
<location filename="../pages/page_interface_panels.cpp" line="52"/>
@@ -1485,7 +1485,7 @@
<message>
<location filename="../pages/page_main.cpp" line="61"/>
<source>Desktop Defaults</source>
- <translation type="unfinished"></translation>
+ <translation>デスクトップのデフォルト設定</translation>
</message>
<message>
<location filename="../pages/page_main.cpp" line="65"/>
@@ -1508,27 +1508,27 @@
<message>
<location filename="../pages/page_mouse.cpp" line="53"/>
<source>Input Device Settings</source>
- <translation type="unfinished"></translation>
+ <translation>入力デバイスの設定</translation>
</message>
<message>
<location filename="../pages/page_mouse.cpp" line="81"/>
<source>Mouse #%1</source>
- <translation type="unfinished"></translation>
+ <translation>マウス #%1</translation>
</message>
<message>
<location filename="../pages/page_mouse.cpp" line="85"/>
<source>Keyboard #%1</source>
- <translation type="unfinished"></translation>
+ <translation>キーボード #%1</translation>
</message>
<message>
<location filename="../pages/page_mouse.cpp" line="106"/>
<source>Extension Device #%1</source>
- <translation type="unfinished"></translation>
+ <translation>拡張デバイス #%1</translation>
</message>
<message>
<location filename="../pages/page_mouse.cpp" line="107"/>
<source>Master Device</source>
- <translation type="unfinished"></translation>
+ <translation>マスターデバイス</translation>
</message>
</context>
<context>
@@ -1624,7 +1624,7 @@
<message>
<location filename="../pages/page_session_options.ui" line="65"/>
<source>Show application crash data</source>
- <translation type="unfinished"></translation>
+ <translation>アプリケーションのクラッシュデータを表示する</translation>
</message>
<message>
<location filename="../pages/page_session_options.ui" line="74"/>
@@ -1844,7 +1844,7 @@
<message>
<location filename="../pages/page_theme.ui" line="36"/>
<source>Desktop Theme</source>
- <translation type="unfinished"></translation>
+ <translation>デスクトップテーマ</translation>
</message>
<message>
<location filename="../pages/page_theme.ui" line="42"/>
@@ -1900,12 +1900,12 @@
<message>
<location filename="../pages/page_theme.ui" line="192"/>
<source>Application Themes</source>
- <translation type="unfinished"></translation>
+ <translation>アプリケーションのテーマ</translation>
</message>
<message>
<location filename="../pages/page_theme.ui" line="198"/>
<source>Qt5 Theme Engine</source>
- <translation type="unfinished"></translation>
+ <translation>Qt5 テーマエンジン</translation>
</message>
<message>
<location filename="../pages/page_theme.cpp" line="58"/>
@@ -1931,12 +1931,12 @@
<message>
<location filename="../pages/page_theme.cpp" line="137"/>
<source>None</source>
- <translation type="unfinished"></translation>
+ <translation>無し</translation>
</message>
<message>
<location filename="../pages/page_theme.cpp" line="138"/>
<source>Manual Setting</source>
- <translation type="unfinished"></translation>
+ <translation>マニュアル指定</translation>
</message>
</context>
<context>
diff --git a/src-qt5/core-utils/lumina-config/lumina-config.pro b/src-qt5/core-utils/lumina-config/lumina-config.pro
index 57531e69..d690bcb3 100644
--- a/src-qt5/core-utils/lumina-config/lumina-config.pro
+++ b/src-qt5/core-utils/lumina-config/lumina-config.pro
@@ -15,7 +15,12 @@ include(../../core/libLumina/LDesktopUtils.pri) #includes LUtils
include(../../core/libLumina/LuminaXDG.pri)
include(../../core/libLumina/LuminaSingleApplication.pri)
include(../../core/libLumina/LuminaThemes.pri)
-include(../../core/libLumina/LInputDevice.pri)
+
+NO_XINPUT{
+ DEFINES+=NO_XINPUT
+}else{
+ include(../../core/libLumina/LInputDevice.pri)
+}
SOURCES += main.cpp \
mainWindow.cpp \
diff --git a/src-qt5/core-utils/lumina-config/mainWindow.cpp b/src-qt5/core-utils/lumina-config/mainWindow.cpp
index d3d864fe..ebce647f 100644
--- a/src-qt5/core-utils/lumina-config/mainWindow.cpp
+++ b/src-qt5/core-utils/lumina-config/mainWindow.cpp
@@ -143,8 +143,8 @@ void mainWindow::on_actionSave_triggered(){
}
void mainWindow::on_actionBack_triggered(){
- if(cpage.isEmpty()){ }// page_main::clearlineEdit(); } //since ESC doesnt close any other Lumina Appliction by default, I've commented this out for the time being.
- else{ page_change(""); } //Use the interactive wrapper (check for save state, etc).
+ if(cpage.isEmpty()){ static_cast<page_main*>( this->centralWidget() )->clearlineEdit(); }
+ else{ page_change(""); } //Use the interactive wrapper (check for save state, etc).
}
void mainWindow::on_quitShortcut_Triggered(){
diff --git a/src-qt5/core-utils/lumina-config/pages/getPage.h b/src-qt5/core-utils/lumina-config/pages/getPage.h
index e505e450..99aab9a0 100644
--- a/src-qt5/core-utils/lumina-config/pages/getPage.h
+++ b/src-qt5/core-utils/lumina-config/pages/getPage.h
@@ -38,9 +38,11 @@ static QList<PAGEINFO> KnownPages(){
list << PageInfo("interface-menu", QObject::tr("Menu"), QObject::tr("Menu Plugins"), "format-list-unordered",QObject::tr("Change what options are shown on the desktop context menu"), "interface", QStringList(), QStringList() << "desktop" << "menu" << "plugins" << "shortcuts");
list << PageInfo("session-locale", QObject::tr("Localization"), QObject::tr("Locale Settings"), "preferences-desktop-locale",QObject::tr("Change the default locale settings for this user"), "user", QStringList(), QStringList() << "user"<<"locale"<<"language"<<"translations");
list << PageInfo("session-options", QObject::tr("General Options"), QObject::tr("User Settings"), "configure",QObject::tr("Change basic user settings such as time/date formats"), "user", QStringList(), QStringList() << "user"<<"settings"<<"time"<<"date"<<"icon"<<"reset"<<"numlock"<<"clock");
+ #ifndef NO_XINPUT
if(LUtils::isValidBinary("xinput")){
list << PageInfo("input-devices", QObject::tr("Input Device Settings"), QObject::tr("Input Device Settings"), "preferences-desktop-peripherals",QObject::tr("Adjust keyboard and mouse devices"), "user", QStringList(), QStringList() << "user"<<"speed"<<"accel"<<"mouse" << "keyboard");
}
+ #endif
// list << PageInfo("mouse-settings", QObject::tr("TrueOS Mouse Settings"), QObject::tr("TrueOS Mouse Settings"), "preferences-desktop-mouse",QObject::tr("Adjust mouse devices"), "user", QStringList(), QStringList() << "user"<<"speed"<<"accel"<<"mouse");
// list << PageInfo("bluetooth-settings", QObject::tr("TrueOS Bluetooth Settings"), QObject::tr("TrueOS Bluetooth Settings"), "preferences-desktop-bluetooth",QObject::tr("Setup Bluetooth devices"), "user", QStringList(), QStringList() << "user"<<"bluetooth"<<"audio");
@@ -71,7 +73,11 @@ static QList<PAGEINFO> KnownPages(){
#include "page_session_locale.h"
#include "page_session_options.h"
#include "page_compton.h"
+
+#ifndef NO_XINPUT
#include "page_mouse.h"
+#endif
+
// #include "page_mouse_trueos.h"
// #include "page_bluetooth_trueos.h"
@@ -90,7 +96,10 @@ static PageWidget* GetNewPage(QString id, QWidget *parent){
else if(id=="session-locale"){ page = new page_session_locale(parent); }
else if(id=="session-options"){ page = new page_session_options(parent); }
else if(id=="compton"){ page = new page_compton(parent); }
+ #ifndef NO_XINPUT
else if(id=="input-devices"){ page = new page_mouse(parent); }
+ #endif
+
// else if(id=="mouse-settings"){ page = new page_mouse_trueos(parent); }
// else if(id=="bluetooth-settings"){ page = new page_bluetooth_trueos(parent); }
//Return the main control_panel page as the fallback/default
diff --git a/src-qt5/core-utils/lumina-config/pages/page_main.cpp b/src-qt5/core-utils/lumina-config/pages/page_main.cpp
index e60606f3..c7aa76ff 100644
--- a/src-qt5/core-utils/lumina-config/pages/page_main.cpp
+++ b/src-qt5/core-utils/lumina-config/pages/page_main.cpp
@@ -123,6 +123,9 @@ void page_main::SaveSettings(){
void page_main::clearlineEdit(){
ui->lineEdit->clear();
+ ui->treeWidget->sortItems(0, Qt::AscendingOrder);
+ ui->treeWidget->resizeColumnToContents(0);
+ ui->treeWidget->resizeColumnToContents(1);
}
diff --git a/src-qt5/core-utils/lumina-config/pages/pages.pri b/src-qt5/core-utils/lumina-config/pages/pages.pri
index ae306a80..0ee5d561 100644
--- a/src-qt5/core-utils/lumina-config/pages/pages.pri
+++ b/src-qt5/core-utils/lumina-config/pages/pages.pri
@@ -13,8 +13,7 @@ HEADERS += $${PWD}/getPage.h \
$${PWD}/page_interface_panels.h \
$${PWD}/page_session_locale.h \
$${PWD}/page_session_options.h \
- $${PWD}/page_compton.h \
- $${PWD}/page_mouse.h
+ $${PWD}/page_compton.h
# $${PWD}/page_bluetooth_trueos.h
# $${PWD}/page_mouse_trueos.h
@@ -31,8 +30,7 @@ SOURCES += $${PWD}/page_main.cpp \
$${PWD}/page_interface_panels.cpp \
$${PWD}/page_session_locale.cpp \
$${PWD}/page_session_options.cpp \
- $${PWD}/page_compton.cpp \
- $${PWD}/page_mouse.cpp
+ $${PWD}/page_compton.cpp
# $${PWD}/page_bluetooth_trueos.cpp
# $${PWD}/page_mouse_trueos.cpp
@@ -50,8 +48,12 @@ FORMS += $${PWD}/page_main.ui \
$${PWD}/page_interface_panels.ui \
$${PWD}/page_session_locale.ui \
$${PWD}/page_session_options.ui \
- $${PWD}/page_compton.ui \
- $${PWD}/page_mouse.ui
+ $${PWD}/page_compton.ui
# $${PWD}/page_bluetooth_trueos.ui
# $${PWD}/page_mouse_trueos.ui
+!NO_XINPUT{
+ HEADERS += $${PWD}/page_mouse.h
+ SOURCES += $${PWD}/page_mouse.cpp
+ FORMS += $${PWD}/page_mouse.ui
+}
diff --git a/src-qt5/core-utils/lumina-search/i18n/lumina-search_et.ts b/src-qt5/core-utils/lumina-search/i18n/lumina-search_et.ts
index d9a70284..f5e80cee 100644
--- a/src-qt5/core-utils/lumina-search/i18n/lumina-search_et.ts
+++ b/src-qt5/core-utils/lumina-search/i18n/lumina-search_et.ts
@@ -126,12 +126,12 @@
<message>
<location filename="../MainUI.cpp" line="99"/>
<source>Off</source>
- <translation type="unfinished"></translation>
+ <translation>Väljas</translation>
</message>
<message>
<location filename="../MainUI.cpp" line="99"/>
<source>On</source>
- <translation type="unfinished"></translation>
+ <translation>Sees</translation>
</message>
</context>
<context>
diff --git a/src-qt5/core/lumina-desktop-unified/LSession.cpp b/src-qt5/core/lumina-desktop-unified/LSession.cpp
index 482b33ea..a8839cee 100644
--- a/src-qt5/core/lumina-desktop-unified/LSession.cpp
+++ b/src-qt5/core/lumina-desktop-unified/LSession.cpp
@@ -17,6 +17,11 @@ LSession::LSession(int &argc, char ** argv) : LSingleApplication(argc, argv, "lu
//Initialize the global objects to null pointers
mediaObj = 0; //private object used for playing login/logout chimes
Lumina::SYSTEM = 0;
+ Lumina::EFILTER = 0;
+ Lumina::SS = 0;
+ Lumina::WM = 0;
+ Lumina::EVThread = 0;
+
if(this->isPrimaryProcess()){
//Setup the global registrations
this->setApplicationName("Lumina Desktop Environment");
@@ -30,11 +35,16 @@ LSession::LSession(int &argc, char ** argv) : LSingleApplication(argc, argv, "lu
//this->setAttribute(Qt::AA_UseDesktopOpenGL);
//this->setAttribute(Qt::AA_UseHighDpiPixmaps); //allow pixmaps to be scaled up as well as down
- //Now initialize the global objects which need instant usage/access
+ //Now initialize the global objects (but do not start them yet)
Lumina::SYSTEM = new LXCB(); //need access to XCB data/functions right away
+ Lumina::EFILTER = new EventFilter(); //Need the XCB Event filter
+ Lumina::SS = new LScreenSaver();
+ Lumina::WM = new LWindowManager();
+ //Now put the Event Filter into it's own thread to keep things snappy
+ Lumina::EVThread = new QThread();
+ Lumina::EFILTER->moveToThread(Lumina::EVThread);
+
- //Setup the event filter for Qt5
- //this->installNativeEventFilter( new XCBEventFilter(this) );
} //end check for primary process
}
diff --git a/src-qt5/core/lumina-desktop-unified/global-objects.h b/src-qt5/core/lumina-desktop-unified/global-objects.h
index d712c32b..043bc46c 100644
--- a/src-qt5/core/lumina-desktop-unified/global-objects.h
+++ b/src-qt5/core/lumina-desktop-unified/global-objects.h
@@ -1,15 +1,29 @@
//===========================================
// Lumina-desktop source code
-// Copyright (c) 2015-2016, Ken Moore
+// Copyright (c) 2015-2017, Ken Moore
// Available under the 3-clause BSD license
// See the LICENSE file for full details
//===========================================
-// Global defines and enumerations for external includes
+// Global defines and enumerations for internal includes
//===========================================
+
+//====WARNING=====
+// ONLY #include this file within *.cpp files
+// Use "global-includes.h" for the generic includes in *.h files
+//=================
+
#ifndef _LUMINA_INTERNAL_GLOBAL_OBJECTS_H
#define _LUMINA_INTERNAL_GLOBAL_OBJECTS_H
-#include "Global-includes.h"
+#include "global-includes.h"
+
+//Load the appropriate "EventFilter" class for the graphics subsystem
+//#ifndef USE_WAYLAND
+#include <LXcbEventFilter.h>
+//#endif
+
+#include "<LScreenSaver.h>"
+#include "src-WM/LWindowManager.h"
//Any special defines for settings/testing
#define ANIMTIME 80 //animation time in milliseconds
@@ -20,7 +34,13 @@ namespace Lumina{
enum WindowAction{MoveResize, Show, Hide, TryClose, Closed, WA_NONE};
//Data structures and objects
- extern LXCB *SYSTEM;
+ extern EventFilter *EFILTER; //Native Event Watcher
+ //ScreenSaver
+ extern LScreenSaver *SS;
+ //Window Manager
+ //LWindowManager *WM;
+
+ QThread *EVThread; //X Event thread
};
diff --git a/src-qt5/core/lumina-desktop-unified/lumina-desktop.pro b/src-qt5/core/lumina-desktop-unified/lumina-desktop.pro
index 4b725288..8c72541c 100644
--- a/src-qt5/core/lumina-desktop-unified/lumina-desktop.pro
+++ b/src-qt5/core/lumina-desktop-unified/lumina-desktop.pro
@@ -5,7 +5,7 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets x11extras multimedia concurrent
-TARGET = lumina-desktop
+TARGET = lumina-desktop-unified
target.path = $${L_BINDIR}
#include all the special classes from the Lumina tree
@@ -16,106 +16,30 @@ include(../libLumina/LuminaX11.pri)
include(../libLumina/LuminaSingleApplication.pri)
include(../libLumina/LuminaThemes.pri)
-#LIBS += -lLuminaUtils -lxcb -lxcb-damage
-#DEPENDPATH += ../libLumina
-
TEMPLATE = app
SOURCES += main.cpp \
- WMProcess.cpp \
- LXcbEventFilter.cpp \
LSession.cpp \
- LDesktop.cpp \
- LDesktopBackground.cpp \
- LDesktopPluginSpace.cpp \
- LPanel.cpp \
- LWinInfo.cpp \
- AppMenu.cpp \
- SettingsMenu.cpp \
- SystemWindow.cpp \
- BootSplash.cpp \
- desktop-plugins/LDPlugin.cpp
-
-
-HEADERS += Globals.h \
- WMProcess.h \
- LXcbEventFilter.h \
+ BootSplash.cpp
+
+HEADERS += global-includes.h \
+ global-objects.h \
LSession.h \
- LDesktop.h \
- LDesktopBackground.h \
- LDesktopPluginSpace.h \
- LPanel.h \
- LWinInfo.h \
- AppMenu.h \
- SettingsMenu.h \
- SystemWindow.h \
- BootSplash.h \
- panel-plugins/LPPlugin.h \
- panel-plugins/NewPP.h \
- panel-plugins/LTBWidget.h \
- desktop-plugins/LDPlugin.h \
- desktop-plugins/NewDP.h \
- JsonMenu.h
-
-FORMS += SystemWindow.ui \
- BootSplash.ui
+ BootSplash.h
+
+FORMS += BootSplash.ui
+
+include(src-screensaver/screensaver.pri)
#Now include all the files for the various plugins
-include(panel-plugins/panel-plugins.pri)
-include(desktop-plugins/desktop-plugins.pri)
+#include(panel-plugins/panel-plugins.pri)
+#include(desktop-plugins/desktop-plugins.pri)
-RESOURCES+= Lumina-DE.qrc
desktop.path = $${L_SESSDIR}
-desktop.files = Lumina-DE.desktop
-
-icons.files = Lumina-DE.png \
- Insight-FileManager.png
-icons.path = $${L_SHAREDIR}/pixmaps
-
-fluxconf.files = fluxboxconf/fluxbox-init-rc \
- fluxboxconf/fluxbox-keys
-fluxconf.path = $${L_SHAREDIR}/lumina-desktop/
-
-wallpapers.files = wallpapers/Lumina_Wispy_gold.jpg \
- wallpapers/Lumina_Wispy_green.jpg \
- wallpapers/Lumina_Wispy_purple.jpg \
- wallpapers/Lumina_Wispy_red.jpg \
- wallpapers/Lumina_Wispy_blue-grey.jpg \
- wallpapers/Lumina_Wispy_blue-grey-zoom.jpg \
- wallpapers/Lumina_Wispy_grey-blue.jpg \
- wallpapers/Lumina_Wispy_grey-blue-zoom.jpg
-wallpapers.path = $${L_SHAREDIR}/wallpapers/Lumina-DE
-
-
-defaults.files = defaults/luminaDesktop.conf \
- defaults/compton.conf \
- audiofiles/Logout.ogg \
- audiofiles/Login.ogg \
- audiofiles/low-battery.ogg
-defaults.path = $${L_SHAREDIR}/lumina-desktop/
-
-conf.path = $${L_ETCDIR}
-
-#Now do any OS-specific defaults (if available)
-#First see if there is a known OS override first
-!isEmpty(DEFAULT_SETTINGS){
- message("Installing defaults settings for OS: $${DEFAULT_SETTINGS}")
- OS=$${DEFAULT_SETTINGS}
-}
-exists("defaults/luminaDesktop-$${OS}.conf"){
- message(" -- Found OS-specific system config file: $${OS}");
- conf.extra = cp defaults/luminaDesktop-$${OS}.conf $(INSTALL_ROOT)$${L_ETCDIR}/luminaDesktop.conf.dist
-}else{
- conf.extra = cp defaults/luminaDesktop.conf $(INSTALL_ROOT)$${L_ETCDIR}/luminaDesktop.conf.dist
-}
-exists("defaults/desktop-background-$${OS}.jpg"){
- message(" -- Found OS-specific background image: $${OS}");
- defaults.extra = cp defaults/desktop-background-$${OS}.jpg $(INSTALL_ROOT)$${L_SHAREDIR}/lumina-desktop/desktop-background.jpg
-}else{
- defaults.extra = cp defaults/desktop-background.jpg $(INSTALL_ROOT)$${L_SHAREDIR}/lumina-desktop/desktop-background.jpg
-}
+desktop.files = lumina-desktop.desktop
+
TRANSLATIONS = i18n/lumina-desktop_af.ts \
i18n/lumina-desktop_ar.ts \
@@ -183,7 +107,7 @@ TRANSLATIONS = i18n/lumina-desktop_af.ts \
dotrans.path=$${L_SHAREDIR}/lumina-desktop/i18n/
dotrans.extra=cd i18n && $${LRELEASE} -nounfinished *.ts && cp *.qm $(INSTALL_ROOT)$${L_SHAREDIR}/lumina-desktop/i18n/
-INSTALLS += target desktop icons wallpapers defaults conf fluxconf
+INSTALLS += target desktop
WITH_I18N{
INSTALLS += dotrans
diff --git a/src-qt5/core/lumina-desktop-unified/src-WM/LXcbEventFilter.cpp b/src-qt5/core/lumina-desktop-unified/src-events/LXcbEventFilter.cpp
index abbe5a5a..e2b1cb2c 100644
--- a/src-qt5/core/lumina-desktop-unified/src-WM/LXcbEventFilter.cpp
+++ b/src-qt5/core/lumina-desktop-unified/src-events/LXcbEventFilter.cpp
@@ -1,6 +1,6 @@
//===========================================
-// Lumina-DE source code
-// Copyright (c) 2015, Ken Moore
+// Lumina-desktop source code
+// Copyright (c) 2015-2017, Ken Moore
// Available under the 3-clause BSD license
// See the LICENSE file for full details
//===========================================
@@ -8,17 +8,19 @@
//==================================================
// NOTE: All the XCB interactions and atoms are accessed via:
-// LWM::SYSTEM->EWMH.(atom name)
-// LWM::SYSTEM->(do something)
-// (LWM::SYSTEM is the global XCB structure)
+// obj->XCB->EWMH.(atom name)
+// obj->XCB->(do something)
//==================================================
+#include "global-objects.h"
-#include <LuminaX11.h>
-#include <QDebug>
+//SYSTEM TRAY STANDARD DEFINITIONS
+#define SYSTEM_TRAY_REQUEST_DOCK 0
+#define SYSTEM_TRAY_BEGIN_MESSAGE 1
+#define SYSTEM_TRAY_CANCEL_MESSAGE 2
-//#include <xcb/screensaver.h>
#define DEBUG 1
+
// Also keep the root window/screen around for use in the filters
namespace L_XCB{
xcb_screen_t *root_screen;
@@ -27,10 +29,10 @@ namespace L_XCB{
//Constructor for the Event Filter wrapper
EventFilter::EventFilter() : QObject(){
+ XCB = new LXCB();
EF = new XCBEventFilter(this);
L_XCB::root_screen = xcb_aux_get_screen(QX11Info::connection(), QX11Info::appScreen());
L_XCB::root = L_XCB::root_screen->root;
- SSLocked = false;
WMFlag = 0;
}
@@ -38,23 +40,69 @@ void EventFilter::start(){
if(DEBUG){ qDebug() << " - Install event filter..."; }
QCoreApplication::instance()->installNativeEventFilter(EF);
if(DEBUG){ qDebug() << " - Run request check..."; }
- if(!LWM::SYSTEM->setupEventsForRoot()){
+ if(!XCB->setupEventsForRoot()){
qCritical() << "[ERROR] Unable to setup WM event retrieval. Is another WM running?";
exit(1);
}
if(DEBUG){ qDebug() << " - Create WM ID Window"; }
- WMFlag = LWM::SYSTEM->WM_CreateWindow();
- LWM::SYSTEM->setupEventsForRoot(WMFlag);
- LWM::SYSTEM->WM_Set_Supporting_WM(WMFlag);
+ WMFlag = XCB->WM_CreateWindow();
+ XCB->setupEventsForRoot(WMFlag);
+ XCB->WM_Set_Supporting_WM(WMFlag);
+
+ EF->startSystemTray();
+
QCoreApplication::instance()->flush();
}
-
+
+void EventFilter::stop(){
+ EF->stopSystemTray();
+}
+
+QList<WId> EventFilter::currentTrayApps(){
+ return EF->trayApps();
+}
+
+//=============================
+// XCBEventFilter Class
+//=============================
+
//Constructor for the XCB event filter
XCBEventFilter::XCBEventFilter(EventFilter *parent) : QAbstractNativeEventFilter(){
obj = parent;
+ SystemTrayID = 0;
+ TrayDmgID = 0;
InitAtoms();
}
+void XCBEventFilter::InitAtoms(){
+ //Initialize any special atoms that we need to save/use regularly
+ //NOTE: All the EWMH atoms are already saved globally in obj->XCB->EWMH
+ WinNotifyAtoms.clear();
+ WinNotifyAtoms << obj->XCB->EWMH._NET_WM_NAME \
+ << obj->XCB->EWMH._NET_WM_VISIBLE_NAME \
+ << obj->XCB->EWMH._NET_WM_ICON_NAME \
+ << obj->XCB->EWMH._NET_WM_VISIBLE_ICON_NAME \
+ << obj->XCB->EWMH._NET_WM_ICON \
+ << obj->XCB->EWMH._NET_WM_ICON_GEOMETRY;
+
+ SysNotifyAtoms.clear();
+ SysNotifyAtoms << obj->XCB->EWMH._NET_CLIENT_LIST \
+ << obj->XCB->EWMH._NET_CLIENT_LIST_STACKING \
+ << obj->XCB->EWMH._NET_CURRENT_DESKTOP \
+ << obj->XCB->EWMH._NET_WM_STATE \
+ << obj->XCB->EWMH._NET_ACTIVE_WINDOW \
+ << obj->XCB->EWMH._NET_WM_ICON \
+ << obj->XCB->EWMH._NET_WM_ICON_GEOMETRY;
+}
+
+bool XCBEventFilter::startSystemTray(){
+
+}
+
+bool XCBEventFilter::stopSystemTray(){
+
+}
+
//This function format taken directly from the Qt5.3 documentation
bool XCBEventFilter::nativeEventFilter(const QByteArray &eventType, void *message, long *) Q_DECL_OVERRIDE
{
@@ -88,8 +136,8 @@ bool XCBEventFilter::nativeEventFilter(const QByteArray &eventType, void *messag
stopevent = BlockInputEvent( ((xcb_button_press_event_t *) ev)->root ); //use the main "root" window - not the child widget
if(!stopevent){
//Activate the window right now if needed
- if(LWM::SYSTEM->WM_Get_Active_Window()!=((xcb_button_press_event_t *) ev)->root){
- LWM::SYSTEM->WM_Set_Active_Window( ((xcb_button_press_event_t *) ev)->root);
+ if(obj->XCB->WM_Get_Active_Window()!=((xcb_button_press_event_t *) ev)->root){
+ obj->XCB->WM_Set_Active_Window( ((xcb_button_press_event_t *) ev)->root);
}
}
break;
@@ -141,7 +189,9 @@ bool XCBEventFilter::nativeEventFilter(const QByteArray &eventType, void *messag
//==============================
case XCB_DESTROY_NOTIFY:
qDebug() << "Window Closed Event";
- obj->emit WindowClosed( ((xcb_destroy_notify_event_t *) ev)->window );
+ if( !rmTrayApp( ((xcb_destroy_notify_event_t *) ev)->window ) ){
+ obj->emit WindowClosed( ((xcb_destroy_notify_event_t *) ev)->window );
+ }
break;
//==============================
case XCB_FOCUS_IN:
@@ -160,6 +210,14 @@ bool XCBEventFilter::nativeEventFilter(const QByteArray &eventType, void *messag
case XCB_CLIENT_MESSAGE:
//qDebug() << "Client Message Event";
//qDebug() << " - Given Window:" << ((xcb_client_message_event_t*)ev)->window;
+ if( ((xcb_client_message_event_t*)ev)->type == _NET_SYSTEM_TRAY_OPCODE && ((xcb_client_message_event_t*)ev)->format == 32){
+ //data32[0] is timestamp, [1] is opcode, [2] is window handle
+ if(SYSTEM_TRAY_REQUEST_DOCK == ((xcb_client_message_event_t*)ev)->data.data32[1]){
+ addTrayApp( ((xcb_client_message_event_t*)ev)->data.data32[2] );
+ }
+ //Ignore the System Tray messages at the moment
+
+ }
break;
//==============================
case XCB_CONFIGURE_NOTIFY:
@@ -179,7 +237,11 @@ bool XCBEventFilter::nativeEventFilter(const QByteArray &eventType, void *messag
case XCB_GE_GENERIC:
break; //generic event - don't do anything special
default:
- qDebug() << "Default Event:" << (ev->response_type & ~0x80);
+ //if( (ev->response_type & ~0x80)==TrayDmgID){
+ checkDamageID( ((xcb_damage_notify_event_t*)ev)->drawable );
+ //}else{
+ qDebug() << "Default Event:" << (ev->response_type & ~0x80);
+ //}
//==============================
}
}
@@ -187,18 +249,97 @@ bool XCBEventFilter::nativeEventFilter(const QByteArray &eventType, void *messag
//never stop event handling (this will not impact the X events themselves - just the internal screensaver/WM/widgets)
}
+//System Tray Functions
+QList<WId> XCBEventFilter::trayApps(){
+ //return the list of all current tray apps
+ //Check the validity of all the current tray apps (make sure nothing closed erratically)
+ for(int i=0; i<RunningTrayApps.length(); i++){
+ if(obj->XCB->WindowClass(RunningTrayApps[i]).isEmpty()){
+ obj->emit Tray_AppClosed(RunningTrayApps.takeAt(i) );
+ i--;
+ }
+ }
+ return RunningTrayApps;
+}
+
+bool XCBEventFilter::startSystemTray(){
+ if(SystemTrayID != 0){ return; } //already started
+ RunningTrayApps.clear(); //nothing running yet
+ SystemTrayID = obj->XCB->startSystemTray(0);
+ if(SystemTrayID!=0){
+ obj->XCB->SelectInput(SystemTrayID); //make sure TrayID events get forwarded here
+ TrayDmgID = obj->XCB->GenerateDamageID(SystemTrayID);
+ qDebug() << "System Tray Started Successfully";
+ if(DEBUG){ qDebug() << " - System Tray Flags:" << TrayDmgID; }
+ }
+ return (SystemTrayID!=0);
+}
+
+bool XCBEventFilter::stopSystemTray(){
+ if(SystemTrayID==0){ return; } //already stopped
+ qDebug() << "Stopping system tray...";
+ //Close all the running Tray Apps
+ QList<WId> tmpApps = RunningTrayApps;
+ //RunningTrayApps.clear(); //clear this ahead of time so tray's do not attempt to re-access the apps
+ //Close all the running tray apps
+ for(int i=0; i<tmpApps.length(); i++){
+ qDebug() << " - Stopping tray app:" << obj->XCB->WindowClass(tmpApps[i]);
+ //Tray apps are special and closing the window does not close the app
+ obj->XCB->KillClient(tmpApps[i]);
+ }
+ //Now close down the tray backend
+ obj->XCB->closeSystemTray(SystemTrayID);
+ SystemTrayID = 0;
+ TrayDmgID = 0;
+}
+
+//=========
+// PRIVATE
+//=========
bool XCBEventFilter::BlockInputEvent(WId win){
//Checks the current state of the WM and sets the stop flag as needed
// - Always let the screensaver know about the event first (need to reset timers and such)
obj->emit NewInputEvent();
// - Check the state of the screensaver
- if(obj->SSLocked){ qDebug() << "SS Locked"; return true; }
+ if(SS->isLocked()){ qDebug() << "SS Locked"; return true; }
// - Check the state of any fullscreen apps
- else if( win!=0 && !obj->FS_WINS.isEmpty()){
+ /*else if( win!=0 && !obj->FS_WINS.isEmpty()){
if(!obj->FS_WINS.contains(win) ){
//If this event is for an app underneath a fullscreen window - stop it
if(obj->FS_WINS.length() == QApplication::desktop()->screenCount()){ qDebug() << "Screens Covered"; return true; } //all screens covered right now
}
+ }*/
+ return false;
+}
+
+//System Tray functions
+void XCBEventFilter::addTrayApp(WId win){
+ if(SystemTrayID==0){ return; }
+ if(RunningTrayApps.contains(win)){ return; } //already managed
+ qDebug() << "Session Tray: Window Added" << obj->XCB->windowClass(win);
+ RunningTrayApps << win;
+ if(DEBUG){ qDebug() << "Tray List Changed"; }
+ obj->emit Tray_AppAdded(win);
+}
+
+bool XCBEventFilter::rmTrayApp(WId win){
+ //returns "true" if the tray app was found and removed
+ if(SystemTrayID==0){ return false; }
+ for(int i=0; i<RunningTrayApps.length(); i++){
+ if(win==RunningTrayApps[i]){
+ qDebug() << "Session Tray: Window Removed";
+ RunningTrayApps.removeAt(i);
+ obj->emit Tray_AppClosed(win);
+ return true;
+ }
}
return false;
}
+
+void XCBEventFilter::checkDamageID(WId id){
+ if(runningTrayApps.contains(id)){
+ obj->emit Tray_AppUpdated(id);
+ }else{
+ //Could check for window damage ID's - but we should not need this
+ }
+}
diff --git a/src-qt5/core/lumina-desktop-unified/src-WM/LXcbEventFilter.h b/src-qt5/core/lumina-desktop-unified/src-events/LXcbEventFilter.h
index b68eedf5..6726ef8b 100644
--- a/src-qt5/core/lumina-desktop-unified/src-WM/LXcbEventFilter.h
+++ b/src-qt5/core/lumina-desktop-unified/src-events/LXcbEventFilter.h
@@ -1,10 +1,10 @@
//===========================================
// Lumina-DE source code
-// Copyright (c) 2012, Ken Moore
+// Copyright (c) 2012-2017, Ken Moore
// Available under the 3-clause BSD license
// See the LICENSE file for full details
//===========================================
-// This class provides the XCB ->Xlib conversion necessary for Qt5 usage
+// This class provides the XCB event handling/registrations that are needed
//===========================================
#ifndef _LUMINA_DESKTOP_XCB_FILTER_H
#define _LUMINA_DESKTOP_XCB_FILTER_H
@@ -41,12 +41,7 @@ XCB_COLORMAP_NOTIFY
XCB_CLIENT_MESSAGE
*/
-//SYSTEM TRAY STANDARD DEFINITIONS
-//#define SYSTEM_TRAY_REQUEST_DOCK 0
-//#define SYSTEM_TRAY_BEGIN_MESSAGE 1
-//#define SYSTEM_TRAY_CANCEL_MESSAGE 2
-
-
+
class EventFilter : public QObject{
Q_OBJECT
private:
@@ -58,21 +53,26 @@ public:
~EventFilter(){}
void start();
-
- //Public variables for the event filter to use/check
- QList<WId> FS_WINS; //Full-screen windows (1 per monitor) - used for hiding non-app events as needed
- bool SSLocked;
-
+ void stop();
+
+ //Public System Tray Functions
+ QList<WId> currentTrayApps();
+
+ //Variables/Functions needed by the XCBEventFilter class only (not really needed by anything else)
+ LXCB *XCB; //used to interact with the X11 graphics subsystem
+
public slots:
- void StartedSS(){ SSLocked = true; }
- void StoppedSS(){ SSLocked = false; }
- void FullScreenChanged(QList<WId> fslist){ FS_WINS = fslist; }
signals:
void NewInputEvent();
void NewManagedWindow(WId);
void WindowClosed(WId);
void ModifyWindow(WId win, LWM::WindowAction);
+
+ //System Tray Signals
+ void Tray_AppAdded(WId); //new tray app registered
+ void Tray_AppClosed(WId); //tray app de-registered
+ void Tray_AppUpdated(WId); //tray app appearance changed (damage event)
};
class XCBEventFilter : public QAbstractNativeEventFilter{
@@ -82,34 +82,27 @@ public:
virtual bool nativeEventFilter(const QByteArray &eventType, void *message, long *);
+ //System Tray Functions
+ QList<WId> trayApps(); //return the list of all current tray apps
+ bool startSystemTray();
+ bool stopSystemTray();
+
private:
EventFilter *obj;
QList<xcb_atom_t> WinNotifyAtoms, SysNotifyAtoms;
+ void InitAtoms();
+
+ bool BlockInputEvent(WId win = 0); //Checks the current state of the system to see if the event should be stopped
+
+ //System Tray Variables
+ WId SystemTrayID;
+ int TrayDmgID;
+ QList<WId> RunningTrayApps;
+ //System Tray functions
+ void addTrayApp(WId);
+ bool rmTrayApp(WId); //returns "true" if the tray app was found and removed
+ void checkDamageID(WId);
- void InitAtoms(){
- //Initialize any special atoms that we need to save/use regularly
- //NOTE: All the EWMH atoms are already saved globally in LWM::SYSTEM->EWMH
- WinNotifyAtoms.clear();
- WinNotifyAtoms << LWM::SYSTEM->EWMH._NET_WM_NAME \
- << LWM::SYSTEM->EWMH._NET_WM_VISIBLE_NAME \
- << LWM::SYSTEM->EWMH._NET_WM_ICON_NAME \
- << LWM::SYSTEM->EWMH._NET_WM_VISIBLE_ICON_NAME \
- << LWM::SYSTEM->EWMH._NET_WM_ICON \
- << LWM::SYSTEM->EWMH._NET_WM_ICON_GEOMETRY;
-
- SysNotifyAtoms.clear();
- SysNotifyAtoms << LWM::SYSTEM->EWMH._NET_CLIENT_LIST \
- << LWM::SYSTEM->EWMH._NET_CLIENT_LIST_STACKING \
- << LWM::SYSTEM->EWMH._NET_CURRENT_DESKTOP \
- << LWM::SYSTEM->EWMH._NET_WM_STATE \
- << LWM::SYSTEM->EWMH._NET_ACTIVE_WINDOW \
- << LWM::SYSTEM->EWMH._NET_WM_ICON \
- << LWM::SYSTEM->EWMH._NET_WM_ICON_GEOMETRY;
-
- }
-
- bool BlockInputEvent(WId win = 0); //Checks the current state of the WM and sets the stop flag as needed
-
//Longer Event handling functions
//bool ParseKeyPressEvent();
//bool ParseKeyReleaseEvent();
diff --git a/src-qt5/core/lumina-desktop-unified/src-events/events.pri b/src-qt5/core/lumina-desktop-unified/src-events/events.pri
new file mode 100644
index 00000000..38225d7f
--- /dev/null
+++ b/src-qt5/core/lumina-desktop-unified/src-events/events.pri
@@ -0,0 +1,6 @@
+SOURCES *= $${PWD}/LXCBEventFilter.cpp
+
+HEADERS *= $${PWD}/LXCBEventFilter.h
+
+#update the includepath so we can just (#include <LXCBEventFilter.h>) as needed without paths
+INCLUDEPATH *= ${PWD}
diff --git a/src-qt5/core/lumina-desktop-unified/src-WM/LLockScreen.cpp b/src-qt5/core/lumina-desktop-unified/src-screensaver/LLockScreen.cpp
index 4cc6d68b..4cc6d68b 100644
--- a/src-qt5/core/lumina-desktop-unified/src-WM/LLockScreen.cpp
+++ b/src-qt5/core/lumina-desktop-unified/src-screensaver/LLockScreen.cpp
diff --git a/src-qt5/core/lumina-desktop-unified/src-WM/LLockScreen.h b/src-qt5/core/lumina-desktop-unified/src-screensaver/LLockScreen.h
index 040499c1..040499c1 100644
--- a/src-qt5/core/lumina-desktop-unified/src-WM/LLockScreen.h
+++ b/src-qt5/core/lumina-desktop-unified/src-screensaver/LLockScreen.h
diff --git a/src-qt5/core/lumina-desktop-unified/src-WM/LLockScreen.ui b/src-qt5/core/lumina-desktop-unified/src-screensaver/LLockScreen.ui
index 7f0b45b8..7f0b45b8 100644
--- a/src-qt5/core/lumina-desktop-unified/src-WM/LLockScreen.ui
+++ b/src-qt5/core/lumina-desktop-unified/src-screensaver/LLockScreen.ui
diff --git a/src-qt5/core/lumina-desktop-unified/src-WM/LScreenSaver.cpp b/src-qt5/core/lumina-desktop-unified/src-screensaver/LScreenSaver.cpp
index 0c92784e..0c92784e 100644
--- a/src-qt5/core/lumina-desktop-unified/src-WM/LScreenSaver.cpp
+++ b/src-qt5/core/lumina-desktop-unified/src-screensaver/LScreenSaver.cpp
diff --git a/src-qt5/core/lumina-desktop-unified/src-WM/LScreenSaver.h b/src-qt5/core/lumina-desktop-unified/src-screensaver/LScreenSaver.h
index 5119d8b1..5119d8b1 100644
--- a/src-qt5/core/lumina-desktop-unified/src-WM/LScreenSaver.h
+++ b/src-qt5/core/lumina-desktop-unified/src-screensaver/LScreenSaver.h
diff --git a/src-qt5/core/lumina-desktop-unified/src-WM/SSBaseWidget.cpp b/src-qt5/core/lumina-desktop-unified/src-screensaver/SSBaseWidget.cpp
index 83b82ff8..83b82ff8 100644
--- a/src-qt5/core/lumina-desktop-unified/src-WM/SSBaseWidget.cpp
+++ b/src-qt5/core/lumina-desktop-unified/src-screensaver/SSBaseWidget.cpp
diff --git a/src-qt5/core/lumina-desktop-unified/src-WM/SSBaseWidget.h b/src-qt5/core/lumina-desktop-unified/src-screensaver/SSBaseWidget.h
index a6574679..a6574679 100644
--- a/src-qt5/core/lumina-desktop-unified/src-WM/SSBaseWidget.h
+++ b/src-qt5/core/lumina-desktop-unified/src-screensaver/SSBaseWidget.h
diff --git a/src-qt5/core/lumina-desktop-unified/src-WM/animations/BaseAnimGroup.cpp b/src-qt5/core/lumina-desktop-unified/src-screensaver/animations/BaseAnimGroup.cpp
index 1e55dc76..1e55dc76 100644
--- a/src-qt5/core/lumina-desktop-unified/src-WM/animations/BaseAnimGroup.cpp
+++ b/src-qt5/core/lumina-desktop-unified/src-screensaver/animations/BaseAnimGroup.cpp
diff --git a/src-qt5/core/lumina-desktop-unified/src-WM/animations/BaseAnimGroup.h b/src-qt5/core/lumina-desktop-unified/src-screensaver/animations/BaseAnimGroup.h
index dd7269d4..dd7269d4 100644
--- a/src-qt5/core/lumina-desktop-unified/src-WM/animations/BaseAnimGroup.h
+++ b/src-qt5/core/lumina-desktop-unified/src-screensaver/animations/BaseAnimGroup.h
diff --git a/src-qt5/core/lumina-desktop-unified/src-WM/animations/SampleAnimation.h b/src-qt5/core/lumina-desktop-unified/src-screensaver/animations/SampleAnimation.h
index e0f11ba5..e0f11ba5 100644
--- a/src-qt5/core/lumina-desktop-unified/src-WM/animations/SampleAnimation.h
+++ b/src-qt5/core/lumina-desktop-unified/src-screensaver/animations/SampleAnimation.h
diff --git a/src-qt5/core/lumina-desktop-unified/src-WM/animations/animations.pri b/src-qt5/core/lumina-desktop-unified/src-screensaver/animations/animations.pri
index 5473d4e1..adb1ed6c 100644
--- a/src-qt5/core/lumina-desktop-unified/src-WM/animations/animations.pri
+++ b/src-qt5/core/lumina-desktop-unified/src-screensaver/animations/animations.pri
@@ -3,4 +3,4 @@ SOURCES += $$PWD/BaseAnimGroup.cpp
HEADERS += $$PWD/BaseAnimGroup.h \
$$PWD/SampleAnimation.h
-FORMS += \ No newline at end of file
+#FORMS +=
diff --git a/src-qt5/core/lumina-desktop-unified/src-screensaver/screensaver.pri b/src-qt5/core/lumina-desktop-unified/src-screensaver/screensaver.pri
new file mode 100644
index 00000000..f95891c1
--- /dev/null
+++ b/src-qt5/core/lumina-desktop-unified/src-screensaver/screensaver.pri
@@ -0,0 +1,15 @@
+SOURCES *= $${PWD}/LLockScreen.cpp \
+ $${PWD}/LScreenSaver.cpp \
+ $${PWD}/SSBaseWidget.cpp
+
+HEADERS *= $${PWD}/LLockScreen.h \
+ $${PWD}/LScreenSaver.h \
+ $${PWD}/SSBaseWidget.h
+
+FORMS *= $${PWD}/LLockScreen.ui
+
+#update the includepath so we can just (#include <LScreenSaver.h>) as needed without paths
+INCLUDEPATH *= ${PWD}
+
+#Now include all the screensaver animations/options
+include(animations/animations.pri)
diff --git a/src-qt5/core/lumina-desktop/i18n/lumina-desktop_ca.ts b/src-qt5/core/lumina-desktop/i18n/lumina-desktop_ca.ts
index 194109e6..ba9c5848 100644
--- a/src-qt5/core/lumina-desktop/i18n/lumina-desktop_ca.ts
+++ b/src-qt5/core/lumina-desktop/i18n/lumina-desktop_ca.ts
@@ -266,122 +266,122 @@
<message>
<location filename="../BootSplash.cpp" line="83"/>
<source>It does not matter how slowly you go as long as you do not stop.</source>
- <translation type="unfinished"></translation>
+ <translation>No importa la lentitud amb què aneu, sempre que no us atureu.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="85"/>
<source>Do what you can, where you are, with what you have.</source>
- <translation type="unfinished"></translation>
+ <translation>Feu el que pugueu, on sigueu, amb el que tingueu.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="87"/>
<source>Remember no one can make you feel inferior without your consent.</source>
- <translation type="unfinished"></translation>
+ <translation>Recordeu que ningú us pot fer sentir inferiors sense el vostre consentiment.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="89"/>
<source>It’s not the years in your life that count. It’s the life in your years.</source>
- <translation type="unfinished"></translation>
+ <translation>No són els anys de la vostra vida que compten, és la vida als vostres anys.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="91"/>
<source>Either write something worth reading or do something worth writing.</source>
- <translation type="unfinished"></translation>
+ <translation>O bé feu alguna cosa que pagui la pena de llegir o bé feu alguna cosa que pagui la pena escriure.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="93"/>
<source>The only way to do great work is to love what you do.</source>
- <translation type="unfinished"></translation>
+ <translation>L'única manera de fer una bona feina és que us agradi el que feu.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="95"/>
<source>Political correctness is tyranny with manners.</source>
- <translation type="unfinished"></translation>
+ <translation>La correcció política és tirania amb educació.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="97"/>
<source>Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.</source>
- <translation type="unfinished"></translation>
+ <translation>Només hi ha dues coses infinites: l'univers i l'estupidesa humana, i no estic segur de la primera.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="99"/>
<source>I find that the harder I work, the more luck I seem to have.</source>
- <translation type="unfinished"></translation>
+ <translation>Trobo que com més durament treballo, més sort sembla que tinc.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="101"/>
<source>Do, or do not. There is no 'try'.</source>
- <translation type="unfinished"></translation>
+ <translation>Fes-ho o no. No hi ha un "intent".</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="103"/>
<source>A mathematician is a device for turning coffee into theorems.</source>
- <translation type="unfinished"></translation>
+ <translation>Un matemàtic és un dispositiu per convertir cafè en teoremes.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="105"/>
<source>Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws.</source>
- <translation type="unfinished"></translation>
+ <translation>La gent bona no necessita lleis que els diguin d'actuar responsablement, mentre que la mala gent trobarà una manera d'evitar les lleis.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="107"/>
<source>Black holes are where God divided by zero.</source>
- <translation type="unfinished"></translation>
+ <translation>Els forats negres són el lloc on déu va dividir per zero.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="109"/>
<source>It's kind of fun to do the impossible.</source>
- <translation type="unfinished"></translation>
+ <translation>És bastant divertit fer l'impossible.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="111"/>
<source>Knowledge speaks, but wisdom listens.</source>
- <translation type="unfinished"></translation>
+ <translation>El coneixement parla, però la saviesa escolta.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="113"/>
<source>A witty saying proves nothing.</source>
- <translation type="unfinished"></translation>
+ <translation>Una dita enginyosa no prova res.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="115"/>
<source>Success usually comes to those who are too busy to be looking for it.</source>
- <translation type="unfinished"></translation>
+ <translation>L'èxit normalment arriba als que estan massa enfeinats per buscar-lo.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="117"/>
<source>Well-timed silence hath more eloquence than speech.</source>
- <translation type="unfinished"></translation>
+ <translation>Un silenci al moment oportú té més eloqüència que un discurs.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="119"/>
<source>I have never let my schooling interfere with my education.</source>
- <translation type="unfinished"></translation>
+ <translation>Mai he deixat que els meus estudis interfereixin en la meva educació.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="121"/>
<source>The best way to predict the future is to invent it.</source>
- <translation type="unfinished"></translation>
+ <translation>La millor manera de predir el futur és inventar-lo.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="123"/>
<source>Well done is better than well said.</source>
- <translation type="unfinished"></translation>
+ <translation>Ben fet és millor que ben dit.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="125"/>
<source>Sometimes it is not enough that we do our best; we must do what is required.</source>
- <translation type="unfinished"></translation>
+ <translation>Algunes vegades no n'hi ha prou amb fer-ho el millor que podem, hem de fer el que cal.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="127"/>
<source>The truth is more important than the facts.</source>
- <translation type="unfinished"></translation>
+ <translation>La veritat és més important que els fets.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="129"/>
<source>Better to remain silent and be thought a fool than to speak out and remove all doubt.</source>
- <translation type="unfinished"></translation>
+ <translation>És millor romandre en silenci i ser pres per ximple que parlar i eliminar-ne tots els dubtes.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="140"/>
@@ -738,7 +738,7 @@
<message>
<location filename="../LDesktop.cpp" line="292"/>
<source>Lock Session</source>
- <translation type="unfinished"></translation>
+ <translation>Bloqueja la sessió</translation>
</message>
<message>
<location filename="../LDesktop.cpp" line="293"/>
@@ -982,57 +982,57 @@
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.ui" line="14"/>
<source>Form</source>
- <translation type="unfinished">Formulari</translation>
+ <translation>Formulari</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="69"/>
<source>Clear Playlist</source>
- <translation type="unfinished">Neteja la llista de reproducció</translation>
+ <translation>Neteja la llista de reproducció</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="70"/>
<source>Shuffle Playlist</source>
- <translation type="unfinished">Ordena aleatòriament la llista de reproducció</translation>
+ <translation>Llista de reproducció aleatòria</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="72"/>
<source>Add Files</source>
- <translation type="unfinished">Afegeix fitxers</translation>
+ <translation>Afegeix fitxers</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="73"/>
<source>Add Directory</source>
- <translation type="unfinished">Afegeix un directori</translation>
+ <translation>Afegeix un directori</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="74"/>
<source>Add URL</source>
- <translation type="unfinished">Afegeix URL</translation>
+ <translation>Afegeix un URL</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="102"/>
<source>Multimedia Files</source>
- <translation type="unfinished">Fitxers multimèdia</translation>
+ <translation>Fitxers multimèdia</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="103"/>
<source>Select Multimedia Files</source>
- <translation type="unfinished">Seleccioneu fitxers multimèdia</translation>
+ <translation>Seleccioneu fitxers multimèdia</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="130"/>
<source>Select Multimedia Directory</source>
- <translation type="unfinished">Selecció del directori multimèdia</translation>
+ <translation>Seleccioneu un directori multimèdia</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="159"/>
<source>Enter a valid URL for a multimedia file or stream:</source>
- <translation type="unfinished">Introduïu un URL vàlid per a un fitxer multimèdia o reproducció en línia:</translation>
+ <translation>Escriviu un URL vàlid per a un fitxer multimèdia o reproducció en línia:</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="161"/>
<source>Multimedia URL</source>
- <translation type="unfinished">URL multimèdia</translation>
+ <translation>URL multimèdia</translation>
</message>
</context>
<context>
@@ -1264,7 +1264,7 @@
<message>
<location filename="../SettingsMenu.cpp" line="33"/>
<source>Wallpaper</source>
- <translation type="unfinished"></translation>
+ <translation>Fons de pantalla</translation>
</message>
<message>
<location filename="../SettingsMenu.cpp" line="36"/>
@@ -1274,7 +1274,7 @@
<message>
<location filename="../SettingsMenu.cpp" line="39"/>
<source>All Desktop Settings</source>
- <translation type="unfinished"></translation>
+ <translation>Tots els paràmetres de l'escriptori</translation>
</message>
<message>
<location filename="../SettingsMenu.cpp" line="54"/>
diff --git a/src-qt5/core/lumina-desktop/i18n/lumina-desktop_cs.ts b/src-qt5/core/lumina-desktop/i18n/lumina-desktop_cs.ts
index 3436167d..0d2872b2 100644
--- a/src-qt5/core/lumina-desktop/i18n/lumina-desktop_cs.ts
+++ b/src-qt5/core/lumina-desktop/i18n/lumina-desktop_cs.ts
@@ -146,207 +146,207 @@
<message>
<location filename="../BootSplash.ui" line="94"/>
<source>Starting the Lumina Desktop...</source>
- <translation type="unfinished"></translation>
+ <translation>Spouští se prostředí Lumina...</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="15"/>
<source>Version %1</source>
- <translation type="unfinished"></translation>
+ <translation>Verze %1</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="39"/>
<source>This desktop is powered by coffee, coffee, and more coffee.</source>
- <translation type="unfinished"></translation>
+ <translation>Toto prostředí pohání cukr, káva a další káva.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="41"/>
<source>Keep up with desktop news!</source>
- <translation type="unfinished"></translation>
+ <translation>Posílejte nám zprávy o prostředí!</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="43"/>
<source>There is a full handbook of information about the desktop available online.</source>
- <translation type="unfinished"></translation>
+ <translation>Na internetu je úplná příručka se spoustou údajů o prostředí.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="45"/>
<source>Want to change the interface? Everything is customizable in the desktop configuration!</source>
- <translation type="unfinished"></translation>
+ <translation>Chcete změnit rozhraní? Všechno se dá přizpůsobit v nastavení prostředí!</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="47"/>
<source>Lumina can easily reproduce the interface from most other desktop environments.</source>
- <translation type="unfinished"></translation>
+ <translation>Lumina lehce dokáže napodobit vzhled rozhraní většiny jiných prostředí pracovní plochy.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="49"/>
<source>This desktop is generously sponsored by iXsystems</source>
- <translation type="unfinished"></translation>
+ <translation>Toto prostředí je laskavě podporováno a penězi zaštiťováno podnikem iXsystems</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="51"/>
<source>I have never been hurt by what I have not said</source>
- <translation type="unfinished"></translation>
+ <translation>Nikdy jsem se netrápil tím, co jsem neřekl</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="53"/>
<source>Gotta have more cowbell!</source>
- <translation type="unfinished"></translation>
+ <translation>Musím si pořídit více zvonečků!</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="55"/>
<source>Everything has its beauty but not everyone sees it.</source>
- <translation type="unfinished"></translation>
+ <translation>Vše je dobré, ale ne každý vidí tu krásu.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="57"/>
<source>Before God we are all equally wise - and equally foolish.</source>
- <translation type="unfinished"></translation>
+ <translation>Před Bohem jsme všichni rozumní stejně - a stejně nerozumní.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="59"/>
<source>We cannot do everything at once, but we can do something at once.</source>
- <translation type="unfinished"></translation>
+ <translation>Nemůžeme všechno udělat zaráz, něco však můžeme provést najednou.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="61"/>
<source>One with the law is a majority.</source>
- <translation type="unfinished"></translation>
+ <translation>Zákony vytváří většina.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="63"/>
- <source>Don&apos;t expect to build up the weak by pulling down the strong.</source>
- <translation type="unfinished"></translation>
+ <source>Don't expect to build up the weak by pulling down the strong.</source>
+ <translation>Neočekávej, že povzbudíš slabé, tím že dolů stáhneš silné.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="65"/>
- <source>You can&apos;t know too much, but you can say too much.</source>
- <translation type="unfinished"></translation>
+ <source>You can't know too much, but you can say too much.</source>
+ <translation>Nemůžeš vědět příliš mnoho, ale můžeš toho říct přespříliš.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="67"/>
<source>Duty is not collective; it is personal.</source>
- <translation type="unfinished"></translation>
+ <translation>Povinnost není společná, je osobní.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="69"/>
<source>Any society that would give up a little liberty to gain a little security will deserve neither and lose both.</source>
- <translation type="unfinished"></translation>
+ <translation>Jakákoli společnost, která se vzdá kousku svobody, aby získala trošku bezpečnosti, si nezaslouží ani jedno a ztratí obojí.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="71"/>
<source>Never trust a computer you can’t throw out a window.</source>
- <translation type="unfinished"></translation>
+ <translation>Počítačníku, nikdy nevěř počítači, který nemůžeš vyhodit z okna.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="73"/>
<source>Study the past if you would define the future.</source>
- <translation type="unfinished"></translation>
+ <translation>Uč se z minulosti, jestli chceš určit, jak bude vypadat budoucnost.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="75"/>
<source>The way to get started is to quit talking and begin doing.</source>
- <translation type="unfinished"></translation>
+ <translation>Cestou, jak začít, je přestat mluvit a začít dělat.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="77"/>
<source>Ask and it will be given to you; search, and you will find; knock and the door will be opened for you.</source>
- <translation type="unfinished"></translation>
+ <translation>Požádej a bude ti dáno; hledej a nalezneš; klepej a dveře ti budou otevřeny.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="79"/>
<source>Start where you are. Use what you have. Do what you can.</source>
- <translation type="unfinished"></translation>
+ <translation>Začni tam, kde jsi. Používej to, co máš. Udělej, co můžeš.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="81"/>
<source>A person who never made a mistake never tried anything new.</source>
- <translation type="unfinished"></translation>
+ <translation>Osoba, která se nikdy nezmýlila, nikdy nezkusila něco nového.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="83"/>
<source>It does not matter how slowly you go as long as you do not stop.</source>
- <translation type="unfinished"></translation>
+ <translation>Nezáleží na tom, jak pomalu jdeš, dokud nezastavíš.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="85"/>
<source>Do what you can, where you are, with what you have.</source>
- <translation type="unfinished"></translation>
+ <translation>Dělej, co můžeš, tam kde jsi, s tím, co máš.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="87"/>
<source>Remember no one can make you feel inferior without your consent.</source>
- <translation type="unfinished"></translation>
+ <translation>Pamatuj si, že nikomu se nepodaří, aby ses cítil být menším, bez tvého souhlasu.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="89"/>
<source>It’s not the years in your life that count. It’s the life in your years.</source>
- <translation type="unfinished"></translation>
+ <translation>Nejsou to roky tvého života, co se počítá. Je to život v tvých letech.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="91"/>
<source>Either write something worth reading or do something worth writing.</source>
- <translation type="unfinished"></translation>
+ <translation>Buď napiš něco, co stojí za přečtení, nebo udělej něco, o čem má smysl napsat.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="93"/>
<source>The only way to do great work is to love what you do.</source>
- <translation type="unfinished"></translation>
+ <translation>Jediným způsobem, jak dělat práci skvěle, je milovat to, co děláš.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="95"/>
<source>Political correctness is tyranny with manners.</source>
- <translation type="unfinished"></translation>
+ <translation>Politická správnost je útlak, který si našel své způsoby.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="97"/>
- <source>Only two things are infinite, the universe and human stupidity, and I&apos;m not sure about the former.</source>
- <translation type="unfinished"></translation>
+ <source>Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.</source>
+ <translation>Jen dvě věci jsou nekonečné, vesmír a lidská hloupost. A nejsem si jist, jak si mám vykládat to první.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="99"/>
<source>I find that the harder I work, the more luck I seem to have.</source>
- <translation type="unfinished"></translation>
+ <translation>Zjistil jsem, že čím jsem pilnější, tím více mám štěstí.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="101"/>
- <source>Do, or do not. There is no &apos;try&apos;.</source>
- <translation type="unfinished"></translation>
+ <source>Do, or do not. There is no 'try'.</source>
+ <translation>Udělej to, nebo to nedělej vůbec. Nejde o to to jen zkoušet.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="103"/>
<source>A mathematician is a device for turning coffee into theorems.</source>
- <translation type="unfinished"></translation>
+ <translation>Matematik je prostředek, kterým se proměňuje káva na poučky.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="105"/>
<source>Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws.</source>
- <translation type="unfinished"></translation>
+ <translation>Dobří lidé nepotřebují zákony k tomu, aby jim říkaly, aby jednali zodpovědně, zatímco špatní lidé si najdou cestičku okolo zákonů.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="107"/>
<source>Black holes are where God divided by zero.</source>
- <translation type="unfinished"></translation>
+ <translation>Černé díry jsou prý místem, kde Bůh dělil nulou.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="109"/>
- <source>It&apos;s kind of fun to do the impossible.</source>
- <translation type="unfinished"></translation>
+ <source>It's kind of fun to do the impossible.</source>
+ <translation>Dělat nemožné je zábava.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="111"/>
<source>Knowledge speaks, but wisdom listens.</source>
- <translation type="unfinished"></translation>
+ <translation>Vědomost hovoří, ale moudrost poslouchá.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="113"/>
<source>A witty saying proves nothing.</source>
- <translation type="unfinished"></translation>
+ <translation>Vtipné pořekadlo ještě nic nedokazuje.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="115"/>
<source>Success usually comes to those who are too busy to be looking for it.</source>
- <translation type="unfinished"></translation>
+ <translation>Úspěch obyčejně přijde k těm, kdož jsou příliš zaneprázdněni na to, aby jej hledali.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="117"/>
diff --git a/src-qt5/core/lumina-desktop/i18n/lumina-desktop_ja.ts b/src-qt5/core/lumina-desktop/i18n/lumina-desktop_ja.ts
index 66257f7b..be1bb754 100644
--- a/src-qt5/core/lumina-desktop/i18n/lumina-desktop_ja.ts
+++ b/src-qt5/core/lumina-desktop/i18n/lumina-desktop_ja.ts
@@ -149,52 +149,52 @@
<message>
<location filename="../BootSplash.ui" line="94"/>
<source>Starting the Lumina Desktop...</source>
- <translation type="unfinished"></translation>
+ <translation>Lumina デスクトップを起動しています...</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="15"/>
<source>Version %1</source>
- <translation type="unfinished"></translation>
+ <translation>バージョン %1</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="39"/>
<source>This desktop is powered by coffee, coffee, and more coffee.</source>
- <translation type="unfinished"></translation>
+ <translation>このデスクトップはコーヒーとコーヒーともう一杯のコーヒーで動いています。</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="41"/>
<source>Keep up with desktop news!</source>
- <translation type="unfinished"></translation>
+ <translation>デスクトップのニュースをチェックしよう!</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="43"/>
<source>There is a full handbook of information about the desktop available online.</source>
- <translation type="unfinished"></translation>
+ <translation>デスクトップの情報はオンラインのハンドブックにあります。</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="45"/>
<source>Want to change the interface? Everything is customizable in the desktop configuration!</source>
- <translation type="unfinished"></translation>
+ <translation>インターフェイスを変更したいですか? デスクトップ設定でいろいろ変更できます!</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="47"/>
<source>Lumina can easily reproduce the interface from most other desktop environments.</source>
- <translation type="unfinished"></translation>
+ <translation>Lumina は他のデスクトップ環境の設定を簡単に再現できます。</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="49"/>
<source>This desktop is generously sponsored by iXsystems</source>
- <translation type="unfinished"></translation>
+ <translation>このデスクトップは寛大なる iXsystems に支援されています</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="51"/>
<source>I have never been hurt by what I have not said</source>
- <translation type="unfinished"></translation>
+ <translation>私が何も言わなければ誰かを傷つけることはない</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="53"/>
<source>Gotta have more cowbell!</source>
- <translation type="unfinished"></translation>
+ <translation>Gotta have more cowbell!</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="55"/>
@@ -204,7 +204,7 @@
<message>
<location filename="../BootSplash.cpp" line="57"/>
<source>Before God we are all equally wise - and equally foolish.</source>
- <translation type="unfinished"></translation>
+ <translation>神の前では我々は等しく賢く――等しく愚かでもある。</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="59"/>
@@ -218,12 +218,12 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="63"/>
- <source>Don&apos;t expect to build up the weak by pulling down the strong.</source>
+ <source>Don't expect to build up the weak by pulling down the strong.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="65"/>
- <source>You can&apos;t know too much, but you can say too much.</source>
+ <source>You can't know too much, but you can say too much.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -303,7 +303,7 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="97"/>
- <source>Only two things are infinite, the universe and human stupidity, and I&apos;m not sure about the former.</source>
+ <source>Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -313,7 +313,7 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="101"/>
- <source>Do, or do not. There is no &apos;try&apos;.</source>
+ <source>Do, or do not. There is no 'try'.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -333,7 +333,7 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="109"/>
- <source>It&apos;s kind of fun to do the impossible.</source>
+ <source>It's kind of fun to do the impossible.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -646,12 +646,12 @@
<message>
<location filename="../desktop-plugins/LDPlugin.cpp" line="38"/>
<source>Launch Item</source>
- <translation type="unfinished"></translation>
+ <translation>アイテムを起動</translation>
</message>
<message>
<location filename="../desktop-plugins/LDPlugin.cpp" line="42"/>
<source>Start Moving Item</source>
- <translatorcomment>&quot;transform-move&quot; アイコンを使用する操作</translatorcomment>
+ <translatorcomment>"transform-move" アイコンを使用する操作</translatorcomment>
<translation>アイテムの移動を開始</translation>
</message>
<message>
@@ -743,7 +743,7 @@
<message>
<location filename="../LDesktop.cpp" line="292"/>
<source>Lock Session</source>
- <translation type="unfinished"></translation>
+ <translation>画面セッションをロック</translation>
</message>
<message>
<location filename="../LDesktop.cpp" line="293"/>
@@ -997,52 +997,52 @@
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="69"/>
<source>Clear Playlist</source>
- <translation type="unfinished">プレイリストを消去する</translation>
+ <translation>プレイリストを消去する</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="70"/>
<source>Shuffle Playlist</source>
- <translation type="unfinished">プレイリストをシャッフルする</translation>
+ <translation>プレイリストをシャッフルする</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="72"/>
<source>Add Files</source>
- <translation type="unfinished">ファイルを追加</translation>
+ <translation>ファイルを追加</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="73"/>
<source>Add Directory</source>
- <translation type="unfinished">ディレクトリーを追加</translation>
+ <translation>ディレクトリーを追加</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="74"/>
<source>Add URL</source>
- <translation type="unfinished">URL を追加</translation>
+ <translation>URL を追加</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="102"/>
<source>Multimedia Files</source>
- <translation type="unfinished">マルチメディアファイル</translation>
+ <translation>マルチメディアファイル</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="103"/>
<source>Select Multimedia Files</source>
- <translation type="unfinished">マルチメディアファイルを選択</translation>
+ <translation>マルチメディアファイルを選択</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="130"/>
<source>Select Multimedia Directory</source>
- <translation type="unfinished">マルチメディアディレクトリーを選択</translation>
+ <translation>マルチメディアディレクトリーを選択</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="159"/>
<source>Enter a valid URL for a multimedia file or stream:</source>
- <translation type="unfinished">有効なマルチメディアファイルまたはストリームの URL を入力:</translation>
+ <translation>有効なマルチメディアファイルまたはストリームの URL を入力:</translation>
</message>
<message>
<location filename="../panel-plugins/audioplayer/PPlayerWidget.cpp" line="161"/>
<source>Multimedia URL</source>
- <translation type="unfinished">マルチメディア URL</translation>
+ <translation>マルチメディア URL</translation>
</message>
</context>
<context>
@@ -1278,7 +1278,7 @@
<message>
<location filename="../SettingsMenu.cpp" line="33"/>
<source>Wallpaper</source>
- <translation type="unfinished"></translation>
+ <translation>壁紙</translation>
</message>
<message>
<location filename="../SettingsMenu.cpp" line="36"/>
@@ -1288,7 +1288,7 @@
<message>
<location filename="../SettingsMenu.cpp" line="39"/>
<source>All Desktop Settings</source>
- <translation type="unfinished"></translation>
+ <translation>すべてのデスクトップ設定</translation>
</message>
<message>
<location filename="../SettingsMenu.cpp" line="54"/>
@@ -1563,13 +1563,13 @@
<message>
<location filename="../panel-plugins/userbutton/UserWidget.ui" line="375"/>
<source>Go back to home directory</source>
- <translatorcomment>なぜ&quot;back&quot;?</translatorcomment>
+ <translatorcomment>なぜ"back"?</translatorcomment>
<translation>ホームディレクトリーに移動する</translation>
</message>
<message>
<location filename="../panel-plugins/userbutton/UserWidget.ui" line="350"/>
<source>Open Directory</source>
- <translatorcomment>&quot;Browse&quot;ボタンのツールチップ</translatorcomment>
+ <translatorcomment>"Browse"ボタンのツールチップ</translatorcomment>
<translation>ディレクトリーを開く</translation>
</message>
<message>
diff --git a/src-qt5/core/lumina-desktop/i18n/lumina-desktop_pl.ts b/src-qt5/core/lumina-desktop/i18n/lumina-desktop_pl.ts
index 0c1e41d6..8ce06739 100644
--- a/src-qt5/core/lumina-desktop/i18n/lumina-desktop_pl.ts
+++ b/src-qt5/core/lumina-desktop/i18n/lumina-desktop_pl.ts
@@ -146,87 +146,87 @@
<message>
<location filename="../BootSplash.ui" line="94"/>
<source>Starting the Lumina Desktop...</source>
- <translation type="unfinished"></translation>
+ <translation>Uruchamianie pulpitu Lumina...</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="15"/>
<source>Version %1</source>
- <translation type="unfinished"></translation>
+ <translation>Wersja %1</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="39"/>
<source>This desktop is powered by coffee, coffee, and more coffee.</source>
- <translation type="unfinished"></translation>
+ <translation>Ten pulpit zasilany jest przez kawę , kawę, i jeszcze raz kawę.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="41"/>
<source>Keep up with desktop news!</source>
- <translation type="unfinished"></translation>
+ <translation>Bądź na bieżącą z wiadomościami!</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="43"/>
<source>There is a full handbook of information about the desktop available online.</source>
- <translation type="unfinished"></translation>
+ <translation>Podręcznik użytkownika pulpitu jest dostępny online.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="45"/>
<source>Want to change the interface? Everything is customizable in the desktop configuration!</source>
- <translation type="unfinished"></translation>
+ <translation>Chcesz zmienić interfejs? Wszystkie konfigurowalne elementy znajdują się w konfiguracji pulpitu!</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="47"/>
<source>Lumina can easily reproduce the interface from most other desktop environments.</source>
- <translation type="unfinished"></translation>
+ <translation>Lumina potrafi w łatwy sposób odtworzyć interfejsy innych środowisk graficznych.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="49"/>
<source>This desktop is generously sponsored by iXsystems</source>
- <translation type="unfinished"></translation>
+ <translation>Ten pulpit jest szczodrze sponsorowany przez iXsystems</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="51"/>
<source>I have never been hurt by what I have not said</source>
- <translation type="unfinished"></translation>
+ <translation>Nigdy nie zostałem zraniony przez to, czego nie wypowiedziałem</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="53"/>
<source>Gotta have more cowbell!</source>
- <translation type="unfinished"></translation>
+ <translation>Gotta have more cowbell!</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="55"/>
<source>Everything has its beauty but not everyone sees it.</source>
- <translation type="unfinished"></translation>
+ <translation>Wszystko ma swoje piękno, ale nie każdy jest w stanie to piękno dostrzec.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="57"/>
<source>Before God we are all equally wise - and equally foolish.</source>
- <translation type="unfinished"></translation>
+ <translation>Przed Bogiem wszyscy jesteśmy równie mądrzy, co równie głupi.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="59"/>
<source>We cannot do everything at once, but we can do something at once.</source>
- <translation type="unfinished"></translation>
+ <translation>Nie możemy robić wszystkiego naraz, ale możemy robić coś na raz.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="61"/>
<source>One with the law is a majority.</source>
- <translation type="unfinished"></translation>
+ <translation>Ten po którego stronie stoi prawo, ten jest większością.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="63"/>
- <source>Don&apos;t expect to build up the weak by pulling down the strong.</source>
- <translation type="unfinished"></translation>
+ <source>Don't expect to build up the weak by pulling down the strong.</source>
+ <translation>Nie oczekuje wzmacniania słabych osłabianiem silnych.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="65"/>
- <source>You can&apos;t know too much, but you can say too much.</source>
- <translation type="unfinished"></translation>
+ <source>You can't know too much, but you can say too much.</source>
+ <translation>Nie możesz wiedzieć za dużo, ale możesz powiedzieć za dużo.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="67"/>
<source>Duty is not collective; it is personal.</source>
- <translation type="unfinished"></translation>
+ <translation>Obowiązek to nie kolektyw, to sprawa osobista.</translation>
</message>
<message>
<location filename="../BootSplash.cpp" line="69"/>
@@ -300,7 +300,7 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="97"/>
- <source>Only two things are infinite, the universe and human stupidity, and I&apos;m not sure about the former.</source>
+ <source>Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -310,7 +310,7 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="101"/>
- <source>Do, or do not. There is no &apos;try&apos;.</source>
+ <source>Do, or do not. There is no 'try'.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -330,7 +330,7 @@
</message>
<message>
<location filename="../BootSplash.cpp" line="109"/>
- <source>It&apos;s kind of fun to do the impossible.</source>
+ <source>It's kind of fun to do the impossible.</source>
<translation type="unfinished"></translation>
</message>
<message>
diff --git a/src-qt5/core/lumina-open/i18n/lumina-open_cs.ts b/src-qt5/core/lumina-open/i18n/lumina-open_cs.ts
index 3240a733..99816ed5 100644
--- a/src-qt5/core/lumina-open/i18n/lumina-open_cs.ts
+++ b/src-qt5/core/lumina-open/i18n/lumina-open_cs.ts
@@ -161,7 +161,7 @@
<message>
<location filename="../main.cpp" line="264"/>
<source>Application entry is invalid: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Záznam programu je neplatný: %1</translation>
</message>
<message>
<location filename="../main.cpp" line="273"/>
@@ -190,8 +190,8 @@
</message>
<message>
<location filename="../main.cpp" line="363"/>
- <source>Could not find &quot;%1&quot;. Please ensure it is installed first.</source>
- <translation>Nepodařilo se najít &quot;%1&quot;. Nejprve, prosím, zajistěte, aby byl nainstalován.</translation>
+ <source>Could not find "%1". Please ensure it is installed first.</source>
+ <translation>Nepodařilo se najít "%1". Nejprve, prosím, zajistěte, aby byl nainstalován.</translation>
</message>
<message>
<location filename="../main.cpp" line="413"/>
diff --git a/src-qt5/core/lumina-open/i18n/lumina-open_ja.ts b/src-qt5/core/lumina-open/i18n/lumina-open_ja.ts
index 51f4ea9c..f136b8fe 100644
--- a/src-qt5/core/lumina-open/i18n/lumina-open_ja.ts
+++ b/src-qt5/core/lumina-open/i18n/lumina-open_ja.ts
@@ -131,7 +131,7 @@
<message>
<location filename="../LFileDialog.cpp" line="274"/>
<source>Find Application Binary</source>
- <translatorcomment>&quot;Find&quot;とあるが、ファイル指定ダイアログのタイトル</translatorcomment>
+ <translatorcomment>"Find"とあるが、ファイル指定ダイアログのタイトル</translatorcomment>
<translation>アプリケーションのバイナリーを指定</translation>
</message>
</context>
@@ -162,7 +162,7 @@
<message>
<location filename="../main.cpp" line="264"/>
<source>Application entry is invalid: %1</source>
- <translation type="unfinished"></translation>
+ <translation>アプリケーションエントリーが不正です: %1</translation>
</message>
<message>
<location filename="../main.cpp" line="273"/>
@@ -191,8 +191,8 @@
</message>
<message>
<location filename="../main.cpp" line="363"/>
- <source>Could not find &quot;%1&quot;. Please ensure it is installed first.</source>
- <translation>&quot;%1&quot; が見つかりませんでした。まずそれがインストールされている事を確認してください。</translation>
+ <source>Could not find "%1". Please ensure it is installed first.</source>
+ <translation>"%1" が見つかりませんでした。まずそれがインストールされている事を確認してください。</translation>
</message>
<message>
<location filename="../main.cpp" line="413"/>
diff --git a/src-qt5/core/lumina-open/i18n/lumina-open_pl.ts b/src-qt5/core/lumina-open/i18n/lumina-open_pl.ts
index ffa08d9c..ab23731d 100644
--- a/src-qt5/core/lumina-open/i18n/lumina-open_pl.ts
+++ b/src-qt5/core/lumina-open/i18n/lumina-open_pl.ts
@@ -161,7 +161,7 @@
<message>
<location filename="../main.cpp" line="264"/>
<source>Application entry is invalid: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Ścieżka aplikacji jest błędna: %1</translation>
</message>
<message>
<location filename="../main.cpp" line="273"/>
@@ -186,12 +186,12 @@
<message>
<location filename="../main.cpp" line="363"/>
<source>Binary Missing</source>
- <translation type="unfinished"></translation>
+ <translation>Brak pliku binarnego</translation>
</message>
<message>
<location filename="../main.cpp" line="363"/>
- <source>Could not find &quot;%1&quot;. Please ensure it is installed first.</source>
- <translation>Nie można znaleźć &quot;%1&quot;. Upewnij się, że jest zainstalowany.</translation>
+ <source>Could not find "%1". Please ensure it is installed first.</source>
+ <translation>Nie można znaleźć "%1". Upewnij się, że jest zainstalowany.</translation>
</message>
<message>
<location filename="../main.cpp" line="413"/>
diff --git a/src-qt5/core/lumina-session/session.cpp b/src-qt5/core/lumina-session/session.cpp
index 19acdb1c..67d0e317 100644
--- a/src-qt5/core/lumina-session/session.cpp
+++ b/src-qt5/core/lumina-session/session.cpp
@@ -79,64 +79,73 @@ void LSession::startProcess(QString ID, QString command, QStringList watchfiles)
void LSession::start(){
//First check for a valid installation
- if( !LUtils::isValidBinary("fluxbox") || !LUtils::isValidBinary("lumina-desktop") ){
+ if(!LUtils::isValidBinary("lumina-desktop") ){
exit(1);
}
+ QSettings sessionsettings("lumina-desktop","sessionsettings");
+ QString WM = sessionsettings.value("WindowManager", "fluxbox").toString();
//Window Manager First
- // FLUXBOX BUG BYPASS: if the ~/.fluxbox dir does not exist, it will ignore the given config file
- if( !LUtils::isValidBinary("fluxbox") ){
- qDebug() << "[INCOMPLETE LUMINA INSTALLATION] fluxbox binary is missing - cannot continue";
- }else{
- QString confDir = QString( getenv("XDG_CONFIG_HOME"))+"/lumina-desktop";
- if(!QFile::exists(confDir)){ QDir dir(confDir); dir.mkpath(confDir); }
- if(!QFile::exists(confDir+"/fluxbox-init")){
- QStringList keys = LUtils::readFile(LOS::LuminaShare()+"/fluxbox-init-rc");
- keys = keys.replaceInStrings("${XDG_CONFIG_HOME}", QString( getenv("XDG_CONFIG_HOME")));
- LUtils::writeFile(confDir+"/fluxbox-init", keys, true);
- QFile::setPermissions(confDir+"/fluxbox-init", QFile::ReadOwner | QFile::WriteOwner | QFile::ReadUser | QFile::ReadOther | QFile::ReadGroup);
- }
- if(!QFile::exists(confDir+"/fluxbox-keys")){
- QStringList keys = LUtils::readFile(LOS::LuminaShare()+"/fluxbox-keys");
- keys = keys.replaceInStrings("${XDG_CONFIG_HOME}", QString( getenv("XDG_CONFIG_HOME")));
- LUtils::writeFile(confDir+"/fluxbox-keys", keys, true);
- QFile::setPermissions(confDir+"/fluxbox-keys", QFile::ReadOwner | QFile::WriteOwner | QFile::ReadUser | QFile::ReadOther | QFile::ReadGroup);
- }
- // FLUXBOX BUG BYPASS: if the ~/.fluxbox dir does not exist, it will ignore the given config file
- if(!QFile::exists(QDir::homePath()+"/.fluxbox")){
- QDir dir; dir.mkpath(QDir::homePath()+"/.fluxbox");
- }
- QString cmd = "fluxbox -rc "+confDir+"/fluxbox-init -no-slit -no-toolbar";
- startProcess("wm", cmd, QStringList() << confDir+"/fluxbox-init" << confDir+"/fluxbox-keys");
- }
- //Compositing manager
- QSettings settings("lumina-desktop","sessionsettings");
- if(settings.value("enableCompositing",true).toBool()){
- if(LUtils::isValidBinary("compton")){
- QString set = QString(getenv("XDG_CONFIG_HOME"))+"/lumina-desktop/compton.conf";
- if(!QFile::exists(set)){
- if(QFile::exists(LOS::LuminaShare()+"/compton.conf")){
- QFile::copy(LOS::LuminaShare()+"/compton.conf", set);
- }
- }
- if(!QFile::exists(set)){
- qDebug() << "Using default compton settings";
- startProcess("compositing","compton");
- }else{
- //Auto-detect if GLX is available on the system and turn it on/off as needed
- bool startcompton = true;
- if(LUtils::isValidBinary("glxinfo")){
- bool hasAccel =! LUtils::getCmdOutput("glxinfo -B").filter("direct rendering:").filter("Yes").isEmpty();
- qDebug() << "Detected GPU Acceleration:" << hasAccel;
- QStringList info = LUtils::readFile(set);
- for(int i=0; i<info.length(); i++){
- if(info[i].section("=",0,0).simplified()=="backend"){ info[i] = QString("backend = \"")+ (hasAccel ? "glx" : "xrender")+"\""; break; } //replace this line
- }
- LUtils::writeFile(set, info, true);
- if( !hasAccel && settings.value("compositingWithGpuAccelOnly",true).toBool() ){ startcompton = false; }
- }
- if(startcompton){ startProcess("compositing","compton --config \""+set+"\"", QStringList() << set); }
- }
- }else if(LUtils::isValidBinary("xcompmgr") && !settings.value("compositingWithGpuAccelOnly",true).toBool() ){ startProcess("compositing","xcompmgr"); }
+ if(WM=="fluxbox"){
+ // FLUXBOX BUG BYPASS: if the ~/.fluxbox dir does not exist, it will ignore the given config file
+ if( !LUtils::isValidBinary("fluxbox") ){
+ qDebug() << "[INCOMPLETE LUMINA INSTALLATION] fluxbox binary is missing - cannot continue";
+ }else{
+ QString confDir = QString( getenv("XDG_CONFIG_HOME"))+"/lumina-desktop";
+ if(!QFile::exists(confDir)){ QDir dir(confDir); dir.mkpath(confDir); }
+ if(!QFile::exists(confDir+"/fluxbox-init")){
+ QStringList keys = LUtils::readFile(LOS::LuminaShare()+"/fluxbox-init-rc");
+ keys = keys.replaceInStrings("${XDG_CONFIG_HOME}", QString( getenv("XDG_CONFIG_HOME")));
+ LUtils::writeFile(confDir+"/fluxbox-init", keys, true);
+ QFile::setPermissions(confDir+"/fluxbox-init", QFile::ReadOwner | QFile::WriteOwner | QFile::ReadUser | QFile::ReadOther | QFile::ReadGroup);
+ }
+ if(!QFile::exists(confDir+"/fluxbox-keys")){
+ QStringList keys = LUtils::readFile(LOS::LuminaShare()+"/fluxbox-keys");
+ keys = keys.replaceInStrings("${XDG_CONFIG_HOME}", QString( getenv("XDG_CONFIG_HOME")));
+ LUtils::writeFile(confDir+"/fluxbox-keys", keys, true);
+ QFile::setPermissions(confDir+"/fluxbox-keys", QFile::ReadOwner | QFile::WriteOwner | QFile::ReadUser | QFile::ReadOther | QFile::ReadGroup);
+ }
+ // FLUXBOX BUG BYPASS: if the ~/.fluxbox dir does not exist, it will ignore the given config file
+ if(!QFile::exists(QDir::homePath()+"/.fluxbox")){
+ QDir dir; dir.mkpath(QDir::homePath()+"/.fluxbox");
+ }
+ QString cmd = "fluxbox -rc "+confDir+"/fluxbox-init -no-slit -no-toolbar";
+ startProcess("wm", cmd, QStringList() << confDir+"/fluxbox-init" << confDir+"/fluxbox-keys");
+ }
+ //Compositing manager
+ QSettings settings("lumina-desktop","sessionsettings");
+ if(settings.value("enableCompositing",true).toBool()){
+ if(LUtils::isValidBinary("compton")){
+ QString set = QString(getenv("XDG_CONFIG_HOME"))+"/lumina-desktop/compton.conf";
+ if(!QFile::exists(set)){
+ if(QFile::exists(LOS::LuminaShare()+"/compton.conf")){
+ QFile::copy(LOS::LuminaShare()+"/compton.conf", set);
+ }
+ }
+ if(!QFile::exists(set)){
+ qDebug() << "Using default compton settings";
+ startProcess("compositing","compton");
+ }else{
+ //Auto-detect if GLX is available on the system and turn it on/off as needed
+ bool startcompton = true;
+ if(LUtils::isValidBinary("glxinfo")){
+ bool hasAccel =! LUtils::getCmdOutput("glxinfo -B").filter("direct rendering:").filter("Yes").isEmpty();
+ qDebug() << "Detected GPU Acceleration:" << hasAccel;
+ QStringList info = LUtils::readFile(set);
+ for(int i=0; i<info.length(); i++){
+ if(info[i].section("=",0,0).simplified()=="backend"){ info[i] = QString("backend = \"")+ (hasAccel ? "glx" : "xrender")+"\""; break; } //replace this line
+ }
+ LUtils::writeFile(set, info, true);
+ if( !hasAccel && settings.value("compositingWithGpuAccelOnly",true).toBool() ){ startcompton = false; }
+ }
+ if(startcompton){ startProcess("compositing","compton --config \""+set+"\"", QStringList() << set); }
+ }
+ }else if(LUtils::isValidBinary("xcompmgr") && !settings.value("compositingWithGpuAccelOnly",true).toBool() ){ startProcess("compositing","xcompmgr"); }
+ }
+ } else {
+ if(!LUtils::isValidBinary(WM)){
+ exit(1);
+ }
+ startProcess("wm", WM);
}
//Desktop Next
startProcess("runtime","lumina-desktop");
diff --git a/src-qt5/desktop-utils/lumina-fileinfo/i18n/l-fileinfo_pl.ts b/src-qt5/desktop-utils/lumina-fileinfo/i18n/l-fileinfo_pl.ts
index a7d5dc26..4d73e7f5 100644
--- a/src-qt5/desktop-utils/lumina-fileinfo/i18n/l-fileinfo_pl.ts
+++ b/src-qt5/desktop-utils/lumina-fileinfo/i18n/l-fileinfo_pl.ts
@@ -33,7 +33,7 @@
<message>
<location filename="../MainUI.ui" line="111"/>
<source>Note: The time a file was created might be more recent than the time modified if the file permissions were changed recently.</source>
- <translation>Uwaga: Jeśli uprawnienia pliku zostały ostatnio zmienione, to czasz utworzenia pliku oraz czas jego ostatniej modyfikacji mogą się różnić. </translation>
+ <translation>Uwaga: Jeśli uprawnienia pliku zostały ostatnio zmienione, wtedy czas utworzenia pliku oraz czas jego ostatniej modyfikacji mogą się różnić.</translation>
</message>
<message>
<location filename="../MainUI.ui" line="124"/>
@@ -170,12 +170,12 @@
<message>
<location filename="../MainUI.cpp" line="249"/>
<source>Save Application File</source>
- <translation type="unfinished"></translation>
+ <translation>Zapisz plik aplikacji</translation>
</message>
<message>
<location filename="../MainUI.cpp" line="249"/>
<source>Application Registrations (*.desktop)</source>
- <translation type="unfinished"></translation>
+ <translation>Rejestracje aplikacji (*.desktop)</translation>
</message>
<message>
<location filename="../MainUI.cpp" line="290"/>
diff --git a/src-qt5/desktop-utils/lumina-fm/i18n/lumina-fm_ja.ts b/src-qt5/desktop-utils/lumina-fm/i18n/lumina-fm_ja.ts
index 00216636..0c69d13f 100644
--- a/src-qt5/desktop-utils/lumina-fm/i18n/lumina-fm_ja.ts
+++ b/src-qt5/desktop-utils/lumina-fm/i18n/lumina-fm_ja.ts
@@ -21,13 +21,13 @@
<message>
<location filename="../BMMDialog.ui" line="52"/>
<source>Remove Bookmark</source>
- <translatorcomment>&quot;Remove&quot;ボタンのツールチップ</translatorcomment>
+ <translatorcomment>"Remove"ボタンのツールチップ</translatorcomment>
<translation>ブックマークを削除します</translation>
</message>
<message>
<location filename="../BMMDialog.ui" line="65"/>
<source>Rename BookMark</source>
- <translatorcomment>&quot;Rename&quot;ボタンのツールチップ</translatorcomment>
+ <translatorcomment>"Rename"ボタンのツールチップ</translatorcomment>
<translation>ブックマークの名前を変更します</translation>
</message>
<message>
@@ -62,52 +62,52 @@
<message>
<location filename="../BrowserWidget.cpp" line="209"/>
<source>Name</source>
- <translation type="unfinished">名前</translation>
+ <translation>名前</translation>
</message>
<message>
<location filename="../BrowserWidget.cpp" line="210"/>
<source>Size</source>
- <translation type="unfinished">サイズ</translation>
+ <translation>サイズ</translation>
</message>
<message>
<location filename="../BrowserWidget.cpp" line="211"/>
<source>Type</source>
- <translation type="unfinished">種類</translation>
+ <translation>種類</translation>
</message>
<message>
<location filename="../BrowserWidget.cpp" line="212"/>
<source>Date Modified</source>
- <translation type="unfinished">変更日時</translation>
+ <translation>変更日時</translation>
</message>
<message>
<location filename="../BrowserWidget.cpp" line="213"/>
<source>Date Created</source>
- <translation type="unfinished">作成日時</translation>
+ <translation>作成日時</translation>
</message>
<message>
<location filename="../BrowserWidget.cpp" line="315"/>
<source>Capacity: %1</source>
- <translation type="unfinished">使用済み容量: %1</translation>
+ <translation>使用済み容量: %1</translation>
</message>
<message>
<location filename="../BrowserWidget.cpp" line="341"/>
<source>Files: %1 (%2)</source>
- <translation type="unfinished">ファイル数: %1 (%2)</translation>
+ <translation>ファイル数: %1 (%2)</translation>
</message>
<message>
<location filename="../BrowserWidget.cpp" line="343"/>
<source>Files: %1</source>
- <translation type="unfinished"></translation>
+ <translation>ファイル: %1</translation>
</message>
<message>
<location filename="../BrowserWidget.cpp" line="349"/>
<source>Dirs: %1</source>
- <translation type="unfinished">ディレクトリー: %1</translation>
+ <translation>ディレクトリー: %1</translation>
</message>
<message>
<location filename="../BrowserWidget.cpp" line="363"/>
<source>No Directory Contents</source>
- <translation type="unfinished"></translation>
+ <translation>ディレクトリーがありません</translation>
</message>
</context>
<context>
@@ -120,12 +120,12 @@
<message>
<location filename="../widgets/DirWidget2.ui" line="145"/>
<source>Increase Icon Sizes</source>
- <translation type="unfinished"></translation>
+ <translation>アイコンサイズを大きくする</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.ui" line="161"/>
<source>Decrease Icon Sizes</source>
- <translation type="unfinished"></translation>
+ <translation>アイコンサイズを小さくする</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.ui" line="179"/>
@@ -163,32 +163,32 @@
<message>
<location filename="../widgets/DirWidget2.ui" line="218"/>
<source>Menu</source>
- <translation type="unfinished"></translation>
+ <translation>メニュー</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.ui" line="221"/>
<source>Select Action</source>
- <translation type="unfinished"></translation>
+ <translation>アクションを選択します</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.ui" line="229"/>
<source>SingleColumn</source>
- <translation type="unfinished"></translation>
+ <translation>一列表示</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.ui" line="232"/>
<source>Single column view</source>
- <translation type="unfinished"></translation>
+ <translation>一列で表示</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.ui" line="240"/>
<source>Dual Column</source>
- <translation type="unfinished"></translation>
+ <translation>二列表示</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.ui" line="243"/>
<source>Dual Column View</source>
- <translation type="unfinished"></translation>
+ <translation>二列で表示</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="533"/>
@@ -233,17 +233,17 @@
<message>
<location filename="../widgets/DirWidget2.cpp" line="488"/>
<source>File Operations</source>
- <translation type="unfinished"></translation>
+ <translation>ファイル操作</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="502"/>
<source>Directory Operations</source>
- <translation type="unfinished"></translation>
+ <translation>ディレクトリー操作</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="514"/>
<source>Loading...</source>
- <translation type="unfinished"></translation>
+ <translation>ロードしています...</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="563"/>
@@ -271,57 +271,57 @@
<message>
<location filename="../widgets/DirWidget2.cpp" line="229"/>
<source>Create...</source>
- <translation type="unfinished"></translation>
+ <translation>作成...</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="231"/>
<source>File</source>
- <translation type="unfinished">ファイル</translation>
+ <translation>ファイル</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="232"/>
<source>Directory</source>
- <translation type="unfinished"></translation>
+ <translation>ディレクトリー</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="233"/>
<source>Application Launcher</source>
- <translation type="unfinished"></translation>
+ <translation>アプリケーションの起動</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="237"/>
<source>Launch...</source>
- <translation type="unfinished"></translation>
+ <translation>起動...</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="239"/>
<source>Terminal</source>
- <translation type="unfinished"></translation>
+ <translation>端末</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="240"/>
<source>SlideShow</source>
- <translation type="unfinished"></translation>
+ <translation>スライドショー</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="241"/>
<source>Multimedia Player</source>
- <translation type="unfinished"></translation>
+ <translation>マルチメディアプレイヤー</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="256"/>
<source>View Files...</source>
- <translation type="unfinished"></translation>
+ <translation>ファイルの情報を表示...</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="258"/>
<source>Checksums</source>
- <translation type="unfinished"></translation>
+ <translation>チェックサム</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="260"/>
<source>Properties</source>
- <translation type="unfinished"></translation>
+ <translation>プロパティー</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="448"/>
@@ -335,8 +335,8 @@
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="460"/>
- <source>The &quot;lumina-fileinfo&quot; utility could not be found on the system. Please install it first.</source>
- <translation>&quot;lumina-fileinfo&quot; ユーティリティーはシステムに存在しません。先にインストールしてください。</translation>
+ <source>The "lumina-fileinfo" utility could not be found on the system. Please install it first.</source>
+ <translation>"lumina-fileinfo" ユーティリティーはシステムに存在しません。先にインストールしてください。</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="485"/>
@@ -572,7 +572,7 @@ New Location: %2</source>
</message>
<message>
<location filename="../gitWizard.ui" line="232"/>
- <source>Click &quot;Next&quot; to start downloading the repository</source>
+ <source>Click "Next" to start downloading the repository</source>
<translation>「次へ」をクリックするとリポジトリーのダウンロードを開始します</translation>
</message>
<message>
@@ -637,7 +637,7 @@ New Location: %2</source>
<message>
<location filename="../MainUI.ui" line="171"/>
<source>New Tab</source>
- <translation type="unfinished"></translation>
+ <translation>新しいタブ</translation>
</message>
<message>
<location filename="../MainUI.ui" line="174"/>
@@ -717,7 +717,7 @@ New Location: %2</source>
<message>
<location filename="../MainUI.ui" line="403"/>
<source>Close Tab</source>
- <translation type="unfinished"></translation>
+ <translation>タブを閉じる</translation>
</message>
<message>
<location filename="../MainUI.ui" line="414"/>
@@ -855,12 +855,12 @@ New Location: %2</source>
<message>
<location filename="../MainUI.cpp" line="222"/>
<source>CTRL+B</source>
- <translation type="unfinished"></translation>
+ <translation>CTRL+B</translation>
</message>
<message>
<location filename="../MainUI.cpp" line="231"/>
<source>CTRL+E</source>
- <translation type="unfinished"></translation>
+ <translation>CTRL+E</translation>
</message>
<message>
<location filename="../MainUI.cpp" line="336"/>
@@ -1018,48 +1018,48 @@ New Location: %2</source>
<message>
<location filename="../OPWidget.ui" line="14"/>
<source>Form</source>
- <translation type="unfinished">フォーム</translation>
+ <translation>フォーム</translation>
</message>
<message>
<location filename="../OPWidget.ui" line="44"/>
<location filename="../OPWidget.ui" line="51"/>
<source>...</source>
- <translation type="unfinished">...</translation>
+ <translation>...</translation>
</message>
<message>
<location filename="../OPWidget.ui" line="60"/>
<source>Evaluating...</source>
- <translation type="unfinished"></translation>
+ <translation>評価中...</translation>
</message>
<message>
<location filename="../OPWidget.cpp" line="52"/>
<source>Move</source>
- <translation type="unfinished"></translation>
+ <translation>移動</translation>
</message>
<message>
<location filename="../OPWidget.cpp" line="53"/>
<source>Copy</source>
- <translation type="unfinished"></translation>
+ <translation>コピー</translation>
</message>
<message>
<location filename="../OPWidget.cpp" line="54"/>
<source>Remove</source>
- <translation type="unfinished"></translation>
+ <translation>削除</translation>
</message>
<message>
<location filename="../OPWidget.cpp" line="96"/>
<source>File Operation Errors</source>
- <translation type="unfinished"></translation>
+ <translation>ファイル操作のエラー</translation>
</message>
<message>
<location filename="../OPWidget.cpp" line="108"/>
<source>%1 Finished</source>
- <translation type="unfinished"></translation>
+ <translation>%1 完了</translation>
</message>
<message>
<location filename="../OPWidget.cpp" line="108"/>
<source>Errors Occured</source>
- <translation type="unfinished"></translation>
+ <translation>エラーが発生しました</translation>
</message>
</context>
<context>
@@ -1072,13 +1072,13 @@ New Location: %2</source>
<message>
<location filename="../widgets/SlideshowWidget.ui" line="36"/>
<source>Delete this image file</source>
- <translatorcomment>&quot;...&quot;ボタンのツールチップ</translatorcomment>
+ <translatorcomment>"..."ボタンのツールチップ</translatorcomment>
<translation>この画像ファイルを削除します</translation>
</message>
<message>
<location filename="../widgets/SlideshowWidget.ui" line="56"/>
<source>Rotate this image file counter-clockwise</source>
- <translatorcomment>&quot;...&quot;ボタンのツールチップ</translatorcomment>
+ <translatorcomment>"..."ボタンのツールチップ</translatorcomment>
<translation>反時計回りに画像ファイルを回転させます</translation>
</message>
<message>
@@ -1176,12 +1176,12 @@ New Location: %2</source>
<message>
<location filename="../TrayUI.cpp" line="76"/>
<source>Finished</source>
- <translation type="unfinished"></translation>
+ <translation>完了しました</translation>
</message>
<message>
<location filename="../TrayUI.cpp" line="76"/>
<source>Errors during operation. Click to view details</source>
- <translation type="unfinished"></translation>
+ <translation>操作中にエラーが発生しました。詳細をクリックしてください</translation>
</message>
</context>
</TS>
diff --git a/src-qt5/desktop-utils/lumina-fm/i18n/lumina-fm_pl.ts b/src-qt5/desktop-utils/lumina-fm/i18n/lumina-fm_pl.ts
index e90e5123..26bda6c5 100644
--- a/src-qt5/desktop-utils/lumina-fm/i18n/lumina-fm_pl.ts
+++ b/src-qt5/desktop-utils/lumina-fm/i18n/lumina-fm_pl.ts
@@ -59,52 +59,52 @@
<message>
<location filename="../BrowserWidget.cpp" line="209"/>
<source>Name</source>
- <translation type="unfinished">Nazwa</translation>
+ <translation>Nazwa</translation>
</message>
<message>
<location filename="../BrowserWidget.cpp" line="210"/>
<source>Size</source>
- <translation type="unfinished">Rozmiar</translation>
+ <translation>Rozmiar</translation>
</message>
<message>
<location filename="../BrowserWidget.cpp" line="211"/>
<source>Type</source>
- <translation type="unfinished">Typ</translation>
+ <translation>Typ</translation>
</message>
<message>
<location filename="../BrowserWidget.cpp" line="212"/>
<source>Date Modified</source>
- <translation type="unfinished">Data modyfikacji</translation>
+ <translation>Data modyfikacji</translation>
</message>
<message>
<location filename="../BrowserWidget.cpp" line="213"/>
<source>Date Created</source>
- <translation type="unfinished">Data utworzenia</translation>
+ <translation>Data utworzenia</translation>
</message>
<message>
<location filename="../BrowserWidget.cpp" line="315"/>
<source>Capacity: %1</source>
- <translation type="unfinished">Pojemność: %1</translation>
+ <translation>Pojemność: %1</translation>
</message>
<message>
<location filename="../BrowserWidget.cpp" line="341"/>
<source>Files: %1 (%2)</source>
- <translation type="unfinished">Pliki: %1 (%2)</translation>
+ <translation>Pliki: %1 (%2)</translation>
</message>
<message>
<location filename="../BrowserWidget.cpp" line="343"/>
<source>Files: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Pliki: %1</translation>
</message>
<message>
<location filename="../BrowserWidget.cpp" line="349"/>
<source>Dirs: %1</source>
- <translation type="unfinished">Katalogi : %1</translation>
+ <translation>Katalogi : %1</translation>
</message>
<message>
<location filename="../BrowserWidget.cpp" line="363"/>
<source>No Directory Contents</source>
- <translation type="unfinished"></translation>
+ <translation>Brak zawartości katalogu</translation>
</message>
</context>
<context>
@@ -117,12 +117,12 @@
<message>
<location filename="../widgets/DirWidget2.ui" line="145"/>
<source>Increase Icon Sizes</source>
- <translation type="unfinished"></translation>
+ <translation>Zwiększ rozmiar ikon</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.ui" line="161"/>
<source>Decrease Icon Sizes</source>
- <translation type="unfinished"></translation>
+ <translation>Zmniejsz rozmiar ikon</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.ui" line="179"/>
@@ -160,32 +160,32 @@
<message>
<location filename="../widgets/DirWidget2.ui" line="218"/>
<source>Menu</source>
- <translation type="unfinished"></translation>
+ <translation>Menu</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.ui" line="221"/>
<source>Select Action</source>
- <translation type="unfinished"></translation>
+ <translation>Wybierz działanie</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.ui" line="229"/>
<source>SingleColumn</source>
- <translation type="unfinished"></translation>
+ <translation>Kolumna pojedyncza</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.ui" line="232"/>
<source>Single column view</source>
- <translation type="unfinished"></translation>
+ <translation>Widok kolumny pojedynczej</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.ui" line="240"/>
<source>Dual Column</source>
- <translation type="unfinished"></translation>
+ <translation>Kolumna podwójna</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.ui" line="243"/>
<source>Dual Column View</source>
- <translation type="unfinished"></translation>
+ <translation>Widok kolumny podwójnej</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="533"/>
@@ -213,7 +213,7 @@
<message>
<location filename="../widgets/DirWidget2.cpp" line="572"/>
<source>The document could not be created. Please ensure that you have the proper permissions.</source>
- <translation>Nie udało się utworzyć dokumentu. Proszę upewnij się czy masz właściwe uprawnienia.</translation>
+ <translation>Nie udało się utworzyć dokumentu. Upewnij się czy masz właściwe uprawnienia.</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="580"/>
@@ -230,17 +230,17 @@
<message>
<location filename="../widgets/DirWidget2.cpp" line="488"/>
<source>File Operations</source>
- <translation type="unfinished"></translation>
+ <translation>Operacje na plikach</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="502"/>
<source>Directory Operations</source>
- <translation type="unfinished"></translation>
+ <translation>Operacje na katalogach</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="514"/>
<source>Loading...</source>
- <translation type="unfinished"></translation>
+ <translation>Wczytywanie...</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="563"/>
@@ -267,57 +267,57 @@
<message>
<location filename="../widgets/DirWidget2.cpp" line="229"/>
<source>Create...</source>
- <translation type="unfinished"></translation>
+ <translation>Utwórz...</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="231"/>
<source>File</source>
- <translation type="unfinished">Plik</translation>
+ <translation>Plik</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="232"/>
<source>Directory</source>
- <translation type="unfinished"></translation>
+ <translation>Katalog</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="233"/>
<source>Application Launcher</source>
- <translation type="unfinished"></translation>
+ <translation>Aplikację</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="237"/>
<source>Launch...</source>
- <translation type="unfinished"></translation>
+ <translation>Uruchom...</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="239"/>
<source>Terminal</source>
- <translation type="unfinished"></translation>
+ <translation>Terminal</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="240"/>
<source>SlideShow</source>
- <translation type="unfinished"></translation>
+ <translation>Pokaz slajdów</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="241"/>
<source>Multimedia Player</source>
- <translation type="unfinished"></translation>
+ <translation>Odtwarzacz multimedialny</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="256"/>
<source>View Files...</source>
- <translation type="unfinished"></translation>
+ <translation>Podgląd...</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="258"/>
<source>Checksums</source>
- <translation type="unfinished"></translation>
+ <translation>Suma kontrolna</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="260"/>
<source>Properties</source>
- <translation type="unfinished"></translation>
+ <translation>Właściwości</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="448"/>
@@ -331,8 +331,8 @@
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="460"/>
- <source>The &quot;lumina-fileinfo&quot; utility could not be found on the system. Please install it first.</source>
- <translation>Nie udało się, w systemie, odnaleźć narzędzia &quot;lumina-fileinfo&quot;. Proszę je najpierw zainstalować</translation>
+ <source>The "lumina-fileinfo" utility could not be found on the system. Please install it first.</source>
+ <translation>Nie udało się w systemie odnaleźć narzędzia "lumina-fileinfo". Proszę je najpierw zainstalować.</translation>
</message>
<message>
<location filename="../widgets/DirWidget2.cpp" line="485"/>
@@ -477,107 +477,107 @@ Nowa lokalizacja: %2</translation>
<message>
<location filename="../gitWizard.ui" line="14"/>
<source>Clone a Git Repository</source>
- <translation type="unfinished"></translation>
+ <translation>Klonuj repozytorium Git</translation>
</message>
<message>
<location filename="../gitWizard.ui" line="24"/>
<source>Welcome!</source>
- <translation type="unfinished"></translation>
+ <translation>Witamy!</translation>
</message>
<message>
<location filename="../gitWizard.ui" line="27"/>
<source>This wizard will guide you through the process of downloading a GIT repository from the internet.</source>
- <translation type="unfinished"></translation>
+ <translation>Ten kreator poprowadzi Cię przez proces pobierania repozytorium GIT z internetu.</translation>
</message>
<message>
<location filename="../gitWizard.ui" line="46"/>
<source>GitHub Repository Settings</source>
- <translation type="unfinished"></translation>
+ <translation>Ustawienia repozytorium GitHub</translation>
</message>
<message>
<location filename="../gitWizard.ui" line="55"/>
<source>Organization/User</source>
- <translation type="unfinished"></translation>
+ <translation>Organizacja/Użytkownik</translation>
</message>
<message>
<location filename="../gitWizard.ui" line="65"/>
<source>Repository Name</source>
- <translation type="unfinished"></translation>
+ <translation>Nazwa repozytorium</translation>
</message>
<message>
<location filename="../gitWizard.ui" line="75"/>
<source>Is Private Repository</source>
- <translation type="unfinished"></translation>
+ <translation>Repozytorium prywatne</translation>
</message>
<message>
<location filename="../gitWizard.ui" line="89"/>
<source>Type of Access</source>
- <translation type="unfinished"></translation>
+ <translation>Rodzaj dostępu</translation>
</message>
<message>
<location filename="../gitWizard.ui" line="95"/>
<source>Use my SSH Key</source>
- <translation type="unfinished"></translation>
+ <translation>Klucz SSH</translation>
</message>
<message>
<location filename="../gitWizard.ui" line="105"/>
<source>Login to server</source>
- <translation type="unfinished"></translation>
+ <translation>Login serwera</translation>
</message>
<message>
<location filename="../gitWizard.ui" line="114"/>
<source>Username</source>
- <translation type="unfinished"></translation>
+ <translation>Użytkownik</translation>
</message>
<message>
<location filename="../gitWizard.ui" line="124"/>
<source>Password</source>
- <translation type="unfinished"></translation>
+ <translation>Hasło</translation>
</message>
<message>
<location filename="../gitWizard.ui" line="133"/>
<source>Anonymous (public repositories only)</source>
- <translation type="unfinished"></translation>
+ <translation>Anonimowy (tylko repozytoria publiczne)</translation>
</message>
<message>
<location filename="../gitWizard.ui" line="143"/>
<source>Optional SSH Password</source>
- <translation type="unfinished"></translation>
+ <translation>Opcjonalne hasło SSH</translation>
</message>
<message>
<location filename="../gitWizard.ui" line="153"/>
<source>Advanced Options</source>
- <translation type="unfinished"></translation>
+ <translation>Opcje zaawansowane</translation>
</message>
<message>
<location filename="../gitWizard.ui" line="159"/>
<source>Custom Depth</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Custom Depth</translation>
</message>
<message>
<location filename="../gitWizard.ui" line="166"/>
<source>Single Branch</source>
- <translation type="unfinished"></translation>
+ <translation>Pojedyncza gałąź</translation>
</message>
<message>
<location filename="../gitWizard.ui" line="175"/>
<source>branch name</source>
- <translation type="unfinished"></translation>
+ <translation>nazwa gałęzi</translation>
</message>
<message>
<location filename="../gitWizard.ui" line="232"/>
- <source>Click &quot;Next&quot; to start downloading the repository</source>
- <translation type="unfinished"></translation>
+ <source>Click "Next" to start downloading the repository</source>
+ <translation>Aby rozpocząć pobieranie repozytorium, kliknij "Dalej"</translation>
</message>
<message>
<location filename="../gitWizard.h" line="58"/>
<source>Stop Download?</source>
- <translation type="unfinished"></translation>
+ <translation>Zatrzymać pobieranie?</translation>
</message>
<message>
<location filename="../gitWizard.h" line="58"/>
<source>Kill the current download?</source>
- <translation type="unfinished"></translation>
+ <translation>Usunąć obecne pobieranie?</translation>
</message>
</context>
<context>
@@ -585,7 +585,7 @@ Nowa lokalizacja: %2</translation>
<message>
<location filename="../MainUI.ui" line="14"/>
<source>Insight</source>
- <translation>Insight</translation>
+ <translation type="unfinished">Insight</translation>
</message>
<message>
<location filename="../MainUI.cpp" line="92"/>
@@ -625,12 +625,12 @@ Nowa lokalizacja: %2</translation>
<message>
<location filename="../MainUI.ui" line="157"/>
<source>Git</source>
- <translation type="unfinished"></translation>
+ <translation>Git</translation>
</message>
<message>
<location filename="../MainUI.ui" line="171"/>
<source>New Tab</source>
- <translation type="unfinished"></translation>
+ <translation>Nowa zakładka</translation>
</message>
<message>
<location filename="../MainUI.ui" line="174"/>
@@ -640,7 +640,7 @@ Nowa lokalizacja: %2</translation>
<message>
<location filename="../MainUI.ui" line="250"/>
<source>Search Directory...</source>
- <translation>Przeszukaj katalog</translation>
+ <translation>Przeszukaj katalog...</translation>
</message>
<message>
<location filename="../MainUI.ui" line="283"/>
@@ -710,17 +710,17 @@ Nowa lokalizacja: %2</translation>
<message>
<location filename="../MainUI.ui" line="403"/>
<source>Close Tab</source>
- <translation type="unfinished"></translation>
+ <translation>Zamknij zakładkę</translation>
</message>
<message>
<location filename="../MainUI.ui" line="414"/>
<source>Repo Status</source>
- <translation type="unfinished"></translation>
+ <translation>Stan repozytorium</translation>
</message>
<message>
<location filename="../MainUI.ui" line="419"/>
<source>Clone Repository</source>
- <translation type="unfinished"></translation>
+ <translation>Klonuj repozytorium</translation>
</message>
<message>
<location filename="../MainUI.ui" line="177"/>
@@ -845,12 +845,12 @@ Nowa lokalizacja: %2</translation>
<message>
<location filename="../MainUI.cpp" line="222"/>
<source>CTRL+B</source>
- <translation type="unfinished"></translation>
+ <translation>CTRL+B</translation>
</message>
<message>
<location filename="../MainUI.cpp" line="231"/>
<source>CTRL+E</source>
- <translation type="unfinished"></translation>
+ <translation>CTRL+E</translation>
</message>
<message>
<location filename="../MainUI.cpp" line="336"/>
@@ -890,7 +890,7 @@ Nowa lokalizacja: %2</translation>
<message>
<location filename="../MainUI.cpp" line="621"/>
<source>Git Repository Status</source>
- <translation type="unfinished"></translation>
+ <translation>Stan repozytorium Git</translation>
</message>
<message>
<location filename="../MainUI.cpp" line="711"/>
@@ -920,7 +920,7 @@ Nowa lokalizacja: %2</translation>
<message>
<location filename="../MainUI.cpp" line="95"/>
<source>Ctrl+L</source>
- <translation type="unfinished"></translation>
+ <translation>Ctrl+L</translation>
</message>
<message>
<location filename="../MainUI.cpp" line="423"/>
@@ -1006,48 +1006,48 @@ Nowa lokalizacja: %2</translation>
<message>
<location filename="../OPWidget.ui" line="14"/>
<source>Form</source>
- <translation type="unfinished">Formularz</translation>
+ <translation>Formularz</translation>
</message>
<message>
<location filename="../OPWidget.ui" line="44"/>
<location filename="../OPWidget.ui" line="51"/>
<source>...</source>
- <translation type="unfinished">...</translation>
+ <translation>...</translation>
</message>
<message>
<location filename="../OPWidget.ui" line="60"/>
<source>Evaluating...</source>
- <translation type="unfinished"></translation>
+ <translation>Szacowanie...</translation>
</message>
<message>
<location filename="../OPWidget.cpp" line="52"/>
<source>Move</source>
- <translation type="unfinished"></translation>
+ <translation>Przenieś</translation>
</message>
<message>
<location filename="../OPWidget.cpp" line="53"/>
<source>Copy</source>
- <translation type="unfinished"></translation>
+ <translation>Kopiuj</translation>
</message>
<message>
<location filename="../OPWidget.cpp" line="54"/>
<source>Remove</source>
- <translation type="unfinished"></translation>
+ <translation>Usuń</translation>
</message>
<message>
<location filename="../OPWidget.cpp" line="96"/>
<source>File Operation Errors</source>
- <translation type="unfinished"></translation>
+ <translation>Błędy operacji na plikach</translation>
</message>
<message>
<location filename="../OPWidget.cpp" line="108"/>
<source>%1 Finished</source>
- <translation type="unfinished"></translation>
+ <translation>%1 Ukończono</translation>
</message>
<message>
<location filename="../OPWidget.cpp" line="108"/>
<source>Errors Occured</source>
- <translation type="unfinished"></translation>
+ <translation>Błędy</translation>
</message>
</context>
<context>
@@ -1158,12 +1158,12 @@ Nowa lokalizacja: %2</translation>
<message>
<location filename="../TrayUI.cpp" line="76"/>
<source>Finished</source>
- <translation type="unfinished">Zakończono</translation>
+ <translation>Zakończono</translation>
</message>
<message>
<location filename="../TrayUI.cpp" line="76"/>
<source>Errors during operation. Click to view details</source>
- <translation type="unfinished"></translation>
+ <translation>Błędy. Kliknij, aby zobaczyć szczegóły</translation>
</message>
</context>
</TS>
diff --git a/src-qt5/desktop-utils/lumina-screenshot/i18n/l-screenshot_ja.ts b/src-qt5/desktop-utils/lumina-screenshot/i18n/l-screenshot_ja.ts
index 5558e34d..f72800ae 100644
--- a/src-qt5/desktop-utils/lumina-screenshot/i18n/l-screenshot_ja.ts
+++ b/src-qt5/desktop-utils/lumina-screenshot/i18n/l-screenshot_ja.ts
@@ -47,22 +47,22 @@
<message>
<location filename="../MainUI.ui" line="20"/>
<source>Lumina Screenshot</source>
- <translation type="unfinished"></translation>
+ <translation>Lumina スクリーンショット</translation>
</message>
<message>
<location filename="../MainUI.ui" line="70"/>
<source> Sec Delay</source>
- <translation type="unfinished"></translation>
+ <translation> 秒後</translation>
</message>
<message>
<location filename="../MainUI.ui" line="183"/>
<source>Capture</source>
- <translation type="unfinished"></translation>
+ <translation>キャプチャー</translation>
</message>
<message>
<location filename="../MainUI.ui" line="212"/>
<source>Edit</source>
- <translation type="unfinished"></translation>
+ <translation>編集</translation>
</message>
<message>
<location filename="../MainUI.ui" line="362"/>
@@ -103,17 +103,17 @@
<message>
<location filename="../MainUI.cpp" line="79"/>
<source>Could not save screenshot</source>
- <translation type="unfinished"></translation>
+ <translation>スクリーンショットを保存できません</translation>
</message>
<message>
<location filename="../MainUI.cpp" line="79"/>
<source>The screenshot could not be saved. Please check directory permissions or pick a different directory</source>
- <translation type="unfinished"></translation>
+ <translation>このスクリーンショットを保存できません。ディレクトリーのパーミッションを確認するか、他のディレクトリーを選択してください。</translation>
</message>
<message>
<location filename="../MainUI.cpp" line="86"/>
<source>Save Screenshot</source>
- <translatorcomment>&quot;Save&quot;ボタンのツールチップ</translatorcomment>
+ <translatorcomment>"Save"ボタンのツールチップ</translatorcomment>
<translation>スクリーンショットの保存</translation>
</message>
<message>
@@ -124,7 +124,7 @@
<message>
<location filename="../MainUI.ui" line="397"/>
<source>Quick Save</source>
- <translatorcomment>「快速保存」(zh)も捨てがたいが、&quot;Save As&quot;との対比なら「保存」であるべきだろう。</translatorcomment>
+ <translatorcomment>「快速保存」(zh)も捨てがたいが、"Save As"との対比なら「保存」であるべきだろう。</translatorcomment>
<translation>保存</translation>
</message>
<message>
diff --git a/src-qt5/desktop-utils/lumina-terminal/i18n/l-terminal_ja.ts b/src-qt5/desktop-utils/lumina-terminal/i18n/l-terminal_ja.ts
index da6cc247..3d8775a6 100644
--- a/src-qt5/desktop-utils/lumina-terminal/i18n/l-terminal_ja.ts
+++ b/src-qt5/desktop-utils/lumina-terminal/i18n/l-terminal_ja.ts
@@ -24,7 +24,7 @@
<message>
<location filename="../TrayIcon.cpp" line="125"/>
<source>Top of Screen</source>
- <translation type="unfinished"></translation>
+ <translation>画面の最上部に表示</translation>
</message>
<message>
<location filename="../TrayIcon.cpp" line="130"/>
@@ -34,7 +34,7 @@
<message>
<location filename="../TrayIcon.cpp" line="139"/>
<source>Move To Monitor</source>
- <translation type="unfinished"></translation>
+ <translation>選択したモニターへ移動</translation>
</message>
<message>
<location filename="../TrayIcon.cpp" line="142"/>
diff --git a/src-qt5/desktop-utils/lumina-terminal/i18n/l-terminal_pl.ts b/src-qt5/desktop-utils/lumina-terminal/i18n/l-terminal_pl.ts
index e0280bae..daac57ed 100644
--- a/src-qt5/desktop-utils/lumina-terminal/i18n/l-terminal_pl.ts
+++ b/src-qt5/desktop-utils/lumina-terminal/i18n/l-terminal_pl.ts
@@ -6,12 +6,12 @@
<message>
<location filename="../TerminalWidget.cpp" line="60"/>
<source>Copy Selection</source>
- <translation type="unfinished"></translation>
+ <translation>Kopiuj</translation>
</message>
<message>
<location filename="../TerminalWidget.cpp" line="61"/>
<source>Paste</source>
- <translation type="unfinished"></translation>
+ <translation>Wklej</translation>
</message>
</context>
<context>
@@ -19,27 +19,27 @@
<message>
<location filename="../TrayIcon.cpp" line="123"/>
<source>Trigger Terminal</source>
- <translation type="unfinished"></translation>
+ <translation>Uruchom terminal</translation>
</message>
<message>
<location filename="../TrayIcon.cpp" line="125"/>
<source>Top of Screen</source>
- <translation type="unfinished"></translation>
+ <translation>Górna krawędź ekranu</translation>
</message>
<message>
<location filename="../TrayIcon.cpp" line="130"/>
<source>Close Terminal</source>
- <translation type="unfinished"></translation>
+ <translation>Zamknij terminal</translation>
</message>
<message>
<location filename="../TrayIcon.cpp" line="139"/>
<source>Move To Monitor</source>
- <translation type="unfinished"></translation>
+ <translation>Przenieś na monitor</translation>
</message>
<message>
<location filename="../TrayIcon.cpp" line="142"/>
<source>Monitor %1</source>
- <translation type="unfinished"></translation>
+ <translation>Monitor %1</translation>
</message>
</context>
</TS>
bgstack15