diff options
Diffstat (limited to 'src-qt5')
28 files changed, 461 insertions, 379 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'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>"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> + <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..7f9052fa 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>"Home Button"の説明文</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'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>もう一つの"Application Launcher"の説明</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>"Window effects" 乃設定画面のタイトル</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>"Mod1": Alt key -"Mod4": Windows/Mac key -"Control": Ctrl key</source> - <translation>"Mod1": Alt キー -"Mod4": Windows/Mac キー -"Control": 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,12 +1508,12 @@ <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"/> 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/global-objects.h b/src-qt5/core/lumina-desktop-unified/global-objects.h index 84133563..043bc46c 100644 --- a/src-qt5/core/lumina-desktop-unified/global-objects.h +++ b/src-qt5/core/lumina-desktop-unified/global-objects.h @@ -18,11 +18,11 @@ #include "global-includes.h" //Load the appropriate "EventFilter" class for the graphics subsystem -#ifndef USE_WAYLAND -#include "src-WM/LXcbEventFilter.h" -#endif +//#ifndef USE_WAYLAND +#include <LXcbEventFilter.h> +//#endif -#include "src-WM/LScreenSaver.h" +#include "<LScreenSaver.h>" #include "src-WM/LWindowManager.h" //Any special defines for settings/testing @@ -34,12 +34,11 @@ namespace Lumina{ enum WindowAction{MoveResize, Show, Hide, TryClose, Closed, WA_NONE}; //Data structures and objects - extern LXCB *SYSTEM; //Native graphic system interface - EventFilter *EFILTER; //Native Event Watcher + extern EventFilter *EFILTER; //Native Event Watcher //ScreenSaver - LScreenSaver *SS; + extern LScreenSaver *SS; //Window Manager - LWindowManager *WM; + //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 0a7ca536..e2b1cb2c 100644 --- a/src-qt5/core/lumina-desktop-unified/src-WM/LXcbEventFilter.cpp +++ b/src-qt5/core/lumina-desktop-unified/src-events/LXcbEventFilter.cpp @@ -8,13 +8,19 @@ //================================================== // NOTE: All the XCB interactions and atoms are accessed via: -// Lumina::SYSTEM->EWMH.(atom name) -// Lumina::SYSTEM->(do something) -// (Lumina::SYSTEM is the global XCB structure) +// obj->XCB->EWMH.(atom name) +// obj->XCB->(do something) //================================================== #include "global-objects.h" +//SYSTEM TRAY STANDARD DEFINITIONS +#define SYSTEM_TRAY_REQUEST_DOCK 0 +#define SYSTEM_TRAY_BEGIN_MESSAGE 1 +#define SYSTEM_TRAY_CANCEL_MESSAGE 2 + + #define DEBUG 1 + // Also keep the root window/screen around for use in the filters namespace L_XCB{ xcb_screen_t *root_screen; @@ -23,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; } @@ -34,23 +40,69 @@ void EventFilter::start(){ if(DEBUG){ qDebug() << " - Install event filter..."; } QCoreApplication::instance()->installNativeEventFilter(EF); if(DEBUG){ qDebug() << " - Run request check..."; } - if(!Lumina::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 = Lumina::SYSTEM->WM_CreateWindow(); - Lumina::SYSTEM->setupEventsForRoot(WMFlag); - Lumina::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 { @@ -84,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; @@ -137,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: @@ -156,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: @@ -175,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); + //} //============================== } } @@ -183,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 f1811bba..ba9c5848 100644 --- a/src-qt5/core/lumina-desktop/i18n/lumina-desktop_ca.ts +++ b/src-qt5/core/lumina-desktop/i18n/lumina-desktop_ca.ts @@ -346,42 +346,42 @@ <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'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'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'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 'try'.</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'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_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'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'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'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 'try'.</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'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 "%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> + <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_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 "%1". Please ensure it is installed first.</source> - <translation>Nie można znaleźć "%1". 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/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_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 "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> + <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 "Next" 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-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> |