diff --git a/CMakeLists.txt b/CMakeLists.txt index 41ac0cb..d3239ee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,15 +1,16 @@ -cmake_minimum_required(VERSION 2.8.11) +cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR) project(lxqt-config) option(UPDATE_TRANSLATIONS "Update source translation translations/*.ts files" OFF) -# Set default installation paths -set(LIB_INSTALL_DIR "lib${LIB_SUFFIX}" CACHE PATH "Installation path for libraries") +include(GNUInstallDirs) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTOUIC ON) +set(CMAKE_AUTORCC ON) find_package(Qt5Widgets REQUIRED QUIET) find_package(Qt5DBus REQUIRED QUIET) @@ -18,12 +19,8 @@ find_package(Qt5Concurrent REQUIRED QUIET) find_package(Qt5X11Extras REQUIRED QUIET) find_package(Qt5LinguistTools REQUIRED QUIET) find_package(lxqt REQUIRED QUIET) -find_package(qt5xdg REQUIRED) -find_package(KF5WindowSystem REQUIRED QUIET) - -include(${LXQT_USE_FILE}) -include(${QTXDG_USE_FILE}) +include(LXQtCompilerSettings NO_POLICY_SCOPE) include(LXQtTranslate) add_subdirectory(src) diff --git a/liblxqt-config-cursor/CMakeLists.txt b/liblxqt-config-cursor/CMakeLists.txt index 1e6012e..75a2434 100644 --- a/liblxqt-config-cursor/CMakeLists.txt +++ b/liblxqt-config-cursor/CMakeLists.txt @@ -8,9 +8,7 @@ include_directories(${XCB_INCLUDE_DIRS}) link_libraries(${XCB_LIBRARIES}) include_directories ( - "${CMAKE_CURRENT_BINARY_DIR}" ${X11_INCLUDE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/xcr ) @@ -38,14 +36,12 @@ set(lxqt-config-cursor_SRCS ) set(lxqt-config-cursor_UIS - ui/selectwnd.ui - ui/warninglabel.ui + selectwnd.ui + warninglabel.ui ) find_package(ZLIB REQUIRED) -qt5_wrap_ui(lxqt-config-cursor_CXX ${lxqt-config-cursor_UIS}) - # Translations ********************************** lxqt_translate_ts(QM_FILES UPDATE_TRANSLATIONS @@ -65,8 +61,6 @@ lxqt_app_translation_loader(lxqt-config-cursor_QM_LOADER ${PROJECT_NAME}) add_library(lxqt-config-cursor SHARED ${lxqt-config-cursor_SRCS} - ${lxqt-config-cursor_CXX} - ${lxqt-config-cursor_MOCS} ${DESKTOP_FILES} ${QM_FILES} ${lxqt-config-cursor_QM_LOADER} @@ -78,12 +72,19 @@ target_link_libraries(lxqt-config-cursor Qt5::Xml ${X11_X11_LIB} ${X11_Xcursor_LIB} - ${LXQT_LIBRARIES} - ${QTXDG_LIBRARIES} + lxqt ${ZLIB_LIBRARY} ${X11_Xfixes_LIB} ) # not needed probably ${X11_Xfixes_LIB}) -install(TARGETS lxqt-config-cursor DESTINATION ${LIB_INSTALL_DIR}) -install(FILES ${DESKTOP_FILES} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/applications") +install(TARGETS + lxqt-config-cursor + DESTINATION "${CMAKE_INSTALL_LIBDIR}" + COMPONENT Runtime +) +install(FILES + ${DESKTOP_FILES} + DESTINATION "${CMAKE_INSTALL_DATAROOTDOR}/applications" + COMPONENT Runtime +) diff --git a/liblxqt-config-cursor/itemdelegate.cpp b/liblxqt-config-cursor/itemdelegate.cpp index 0a4e674..f80232e 100644 --- a/liblxqt-config-cursor/itemdelegate.cpp +++ b/liblxqt-config-cursor/itemdelegate.cpp @@ -3,7 +3,7 @@ * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public - * License version 2 or at your option version 3 as published + * License version 2 or at your option version 3 as published * by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, diff --git a/liblxqt-config-cursor/itemdelegate.h b/liblxqt-config-cursor/itemdelegate.h index 81f0f9e..ff14467 100644 --- a/liblxqt-config-cursor/itemdelegate.h +++ b/liblxqt-config-cursor/itemdelegate.h @@ -3,7 +3,7 @@ * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public - * License version 2 or at your option version 3 as published + * License version 2 or at your option version 3 as published * by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, @@ -30,7 +30,7 @@ class QPainter; class ItemDelegate : public QAbstractItemDelegate { Q_OBJECT - + public: ItemDelegate(QObject *parent = 0); ~ItemDelegate(); diff --git a/liblxqt-config-cursor/man/lxqt-config-mouse.1 b/liblxqt-config-cursor/man/lxqt-config-mouse.1 index a01082b..6b50157 100644 --- a/liblxqt-config-cursor/man/lxqt-config-mouse.1 +++ b/liblxqt-config-cursor/man/lxqt-config-mouse.1 @@ -1,4 +1,4 @@ -.TH lxqt-config-cursor "1" "September 2012" "LXQt\-qt\ 0.7.0" "LXQt\ Cursor settings" +.TH lxqt-config-cursor "1" "September 2012" "LXQt\ 0.7.0" "LXQt\ Cursor settings" .SH NAME lxqt-config-cursor \- Application of \fBLXQt\fR: the faster and lighter QT Desktop Environment .SH SYNOPSIS @@ -26,7 +26,7 @@ by hand but automatically, when choosing a \fBLXQt\-qt\fR session in the Display Manager. .P .SH "REPORTING BUGS" -Report bugs to https://github.com/lxde/lxde-qt/issues +Report bugs to https://github.com/lxde/lxqt/issues .SH "SEE ALSO" \fBLXQt\fR it has been tailored for users who value simplicity, speed, and an intuitive interface, also intended for less powerful machines. See also: diff --git a/liblxqt-config-cursor/selectwnd.cpp b/liblxqt-config-cursor/selectwnd.cpp index 5f48f7f..027eb18 100644 --- a/liblxqt-config-cursor/selectwnd.cpp +++ b/liblxqt-config-cursor/selectwnd.cpp @@ -175,7 +175,7 @@ void SelectWnd::applyCurrent() mSettings->beginGroup("Mouse"); mSettings->setValue("cursor_theme", theme->name()); mSettings->endGroup(); - + // The XCURSOR_THEME environment varialbe does not work sometimes. // Besides, XDefaults values are not used by Qt. // So, let's write the new theme name to ~/.icons/default/index.theme. diff --git a/liblxqt-config-cursor/selectwnd.h b/liblxqt-config-cursor/selectwnd.h index 38ff2ff..be9cb8b 100644 --- a/liblxqt-config-cursor/selectwnd.h +++ b/liblxqt-config-cursor/selectwnd.h @@ -15,6 +15,7 @@ #include #include +#include namespace LxQt { class Settings; @@ -23,7 +24,7 @@ namespace LxQt { class XCursorThemeModel; #include "ui_selectwnd.h" -class SelectWnd : public QWidget, private Ui_SelectWnd +class LXQT_API SelectWnd : public QWidget, private Ui_SelectWnd { Q_OBJECT diff --git a/liblxqt-config-cursor/ui/selectwnd.ui b/liblxqt-config-cursor/selectwnd.ui similarity index 100% rename from liblxqt-config-cursor/ui/selectwnd.ui rename to liblxqt-config-cursor/selectwnd.ui diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor.ts index 77b9f7e..d779815 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor.ts @@ -4,22 +4,22 @@ SelectWnd - + LXQt Mouse Theme Configuration - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: - + &Install New Theme... - + &Remove Theme @@ -37,17 +37,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_ar.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_ar.ts index 770f650..66801ce 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_ar.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_ar.ts @@ -4,18 +4,18 @@ SelectWnd - + LXQt Mouse Theme Configuration اعداد شكل فأرة سطح ريزر - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: اختر سكل المؤشِّر الذي تريد استخدامه (مرر المؤشِّر متخطيَّاً لمعاينته). <b>يجب إعادة تشغيل جلسة سطح ريزر بعد هذا التَّغيير</b> - + &Install New Theme... تث&بيت واجهةٍ شكليَّةٍ جديدةٍ... @@ -24,7 +24,7 @@ ت^عيين الواجهة الشَّكليَّة - + &Remove Theme إ&زالة الواجهة الشَّكليَّة @@ -46,17 +46,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_cs.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_cs.ts index 8e53646..b5ba3f4 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_cs.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_cs.ts @@ -4,17 +4,17 @@ SelectWnd - + LXQt Mouse Theme Configuration Nastavení motivu myši - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: Vyberte motiv ukazovátka, jejž chcete používat (přejeďte myší nad náhledem kvůli vyzkoušení ukazovátka). <b>Sezení LXQt je potřeba po této změně spustit znovu</b>: - + &Install New Theme... Na&instalovat nový motiv... @@ -23,7 +23,7 @@ &Nastavit motiv - + &Remove Theme &Odstranit motiv @@ -45,17 +45,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_cs_CZ.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_cs_CZ.ts index b22bd2d..0810ca2 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_cs_CZ.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_cs_CZ.ts @@ -4,17 +4,17 @@ SelectWnd - + LXQt Mouse Theme Configuration Nastavení motivu myši - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: Vyberte motiv ukazovátka, jejž chcete používat (přejeďte myší nad náhledem kvůli vyzkoušení ukazovátka). <b>Sezení LXQt je potřeba po této změně spustit znovu</b>: - + &Install New Theme... Na&instalovat nový motiv... @@ -23,7 +23,7 @@ &Nastavit motiv - + &Remove Theme &Odstranit motiv @@ -45,17 +45,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_da_DK.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_da_DK.ts index a7f8650..2b42a95 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_da_DK.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_da_DK.ts @@ -4,18 +4,18 @@ SelectWnd - + LXQt Mouse Theme Configuration LXQt Musemarkør Tema Indstillinger - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: Vælg det markør tema, du vil bruge (forhåndsvisning for at teste markør). <b> LXQt session skal genstartes efter denne ændring </ b>: - + &Install New Theme... &Installer Nyt Tema... @@ -24,7 +24,7 @@ &Sæt Tema - + &Remove Theme &Fjern Tema @@ -46,17 +46,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_de.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_de.ts index 96fd7a8..25a4d49 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_de.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_de.ts @@ -1,37 +1,29 @@ - + SelectWnd - + LXQt Mouse Theme Configuration LXQt Mauszeigerdesign Konfiguration - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: Wähle das gewünschte Mauszeigerdesign aus (zum Test Maus über Vorschau bewegen) <b>Die LXQt-Sitzung muss nach dieser Veränderung neu gestartet werden</b>: - + &Install New Theme... &Neues Design installieren... - &Set Theme - &Design festlegen - - - + &Remove Theme D&esign entfernen - - &Close - &Schließen - XCurTheme error @@ -46,17 +38,17 @@ WarningLabel - + Form Dialogfenster - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: LXQt konnte kein Mauszeigerdesign finden. Stattdessen wird das Default-Mauszeigerdesign von X11 verwendet. LXQt suchte in folgenden Verzeichnissen: - + Show... Anzeigen... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_el_GR.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_el_GR.ts index 43aeed7..b9066d6 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_el_GR.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_el_GR.ts @@ -4,17 +4,17 @@ SelectWnd - + LXQt Mouse Theme Configuration Διαμόρφωση θέματος ποντικιού LXQt - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: Επιλέξτε το θέμα δείκτη που θέλετε να χρησιμοποιήσετε (κινηθείτε επάνω για προεπισκόπηση). <b>Χρειάζεται επανεκκίνηση της συνεδρίας LXQt μετά την αλλαγή</b>: - + &Install New Theme... &Εγκατάσταση νέου θέματος... @@ -23,7 +23,7 @@ Ε&πιλογή θέματος - + &Remove Theme &Αφαίρεση θέματος @@ -45,17 +45,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_eo.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_eo.ts index 2393129..4ca3d1b 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_eo.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_eo.ts @@ -4,17 +4,17 @@ SelectWnd - + LXQt Mouse Theme Configuration Agordoj de etosoj de muso de LXQt - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: Elektu la etoson de kursoro, kiun vi volas uzi (ŝveba antaŭrigardo por testi kursoron). <b>Seanco de LXQt postulas restartigon post ol ĉi tiu ŝanĝo</b>: - + &Install New Theme... &Instali novan etoson... @@ -23,7 +23,7 @@ Agordi eto&son - + &Remove Theme Fo&rigi etoson @@ -45,17 +45,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_es.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_es.ts index 8f49b08..5cf9e72 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_es.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_es.ts @@ -4,17 +4,17 @@ SelectWnd - + LXQt Mouse Theme Configuration Configuración de LXQt para el Tema del Ratón - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: Seleccione el tema del cursor que desea utilizar (pase el cursor para una vista previa). <b>LXQt necesita reiniciar la sesión después de este cambio </ b>: - + &Install New Theme... &Instalar Nuevo Tema... @@ -23,7 +23,7 @@ &Establecer Tema - + &Remove Theme &Quitar Tema @@ -45,17 +45,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_es_VE.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_es_VE.ts index 5a4feca..a9361e2 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_es_VE.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_es_VE.ts @@ -4,17 +4,17 @@ SelectWnd - + LXQt Mouse Theme Configuration Configuracion de tema de raton de LXQt - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: Selecciona el cursor del raton que tu desees usar (colocalo encima para ver una previsualizacion) <b>La sesion de LXQt necesita reinicializarse despues de un cambio</b> - + &Install New Theme... &Instalar nuevo tema @@ -23,7 +23,7 @@ A&Signar el tema - + &Remove Theme &Remover el tema @@ -45,17 +45,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_eu.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_eu.ts index 78c9599..425889b 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_eu.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_eu.ts @@ -4,17 +4,17 @@ SelectWnd - + LXQt Mouse Theme Configuration LXQt saguaren gaiaren konfigurazioa - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: Hautatu erabili nahi duzun kurtsore-gaia (nabarmendu aurrebista kurtsorea probatzeko). <b>LXQt saioa berrabiarazi behar da aldaketa honen ondoren</b>: - + &Install New Theme... &Instalatu gai berria... @@ -23,7 +23,7 @@ &Ezarri gaia - + &Remove Theme &Kendu gaia @@ -45,17 +45,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_fi.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_fi.ts index 704e1df..207b1c1 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_fi.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_fi.ts @@ -4,17 +4,17 @@ SelectWnd - + LXQt Mouse Theme Configuration LXQtin hiiriteeman asetukset - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: Valitse haluamasi osoitinteema (käytä esikatselua testataksesi osoitinteemaa). <b>LXQt-istunto tulee käynnistää uudelleen tämän muutoksen jälkeen</b>: - + &Install New Theme... &Asenna uusi teema... @@ -23,7 +23,7 @@ Aseta &teema - + &Remove Theme &Poista teema @@ -45,17 +45,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_fr_FR.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_fr_FR.ts index 0152194..f1b23e8 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_fr_FR.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_fr_FR.ts @@ -4,22 +4,22 @@ SelectWnd - + LXQt Mouse Theme Configuration - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: - + &Install New Theme... - + &Remove Theme @@ -41,17 +41,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_hu.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_hu.ts new file mode 100644 index 0000000..65a3397 --- /dev/null +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_hu.ts @@ -0,0 +1,72 @@ + + + + + SelectWnd + + + LXQt Mouse Theme Configuration + LXQt egértéma + + + + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: + A kívánt kurzortéma (előzetesen látható). <b>Érvénybeléptetéshez az LXQt munkamenet újraindíttandó</b>: + + + + &Install New Theme... + &Új téma telepítése... + + + + &Remove Theme + Téma kiny&írása + + + &Close + &Bezárás + + + + XCurTheme error + Témahiba + + + + You can't remove active theme! + Az aktuális téma eltávolíthatatlan! + + + + WarningLabel + + + Form + Ürlap + + + + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: + Az LXQt nem lelt kurzor témát, az alapértelmezett lesz használva. Ezekben a mappákban kereste: + + + + Show... + Mutat... + + + + XCursorThemeModel + + + Name + Név + + + + Description + Leírás + + + diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_hu_HU.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_hu_HU.ts index 3797b0c..83f60ea 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_hu_HU.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_hu_HU.ts @@ -4,24 +4,24 @@ SelectWnd - + LXQt Mouse Theme Configuration - + LXQt egértéma - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: - + A kívánt kurzortéma (előzetesen látható). <b>Érvénybeléptetéshez az LXQt munkamenet újraindíttandó</b>: - + &Install New Theme... - + &Új téma telepítése... - + &Remove Theme - + Téma kiny&írása &Close @@ -30,30 +30,30 @@ XCurTheme error - + Témahiba You can't remove active theme! - + Az aktuális téma eltávolíthatatlan! WarningLabel - + Form - + Űrlap - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Az LXQt nem lelt kurzor témát, az alapértelmezett lesz használva. Ezekben a mappákban kereste: - + Show... - + Mutat... @@ -61,12 +61,12 @@ Name - + Név Description - + Leírás diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_it_IT.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_it_IT.ts index e9d095c..54e4b19 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_it_IT.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_it_IT.ts @@ -4,29 +4,30 @@ SelectWnd - + LXQt Mouse Theme Configuration - Configurazione del tema del mouse di LXQt + Configurazione del aspetto del cursore - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: - Seleziona il tema del cursore che vuoi utilizzare (passa sull'anteprima per provare il cursore). -<b>La sessione di LXQt deve essere riavviata dopo questa modifica</b>: + hover seems not working, and restart seems not necessary to take effect + Seleziona il tema del cursore che vuoi utilizzare - + &Install New Theme... - &Installa un nuovo tema... + & to remove in source + Installa un nuovo tema... &Set Theme &Imposta il tema - + &Remove Theme - &Rimuovi il tema + Rimuovi il tema &Close @@ -35,7 +36,7 @@ XCurTheme error - Errore XCurTheme + Errore tema X-cursore @@ -46,19 +47,19 @@ WarningLabel - + Form - + - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + LXQt non ha trovato nessun tema per i cursori in queste directories: (Verrà usato il tema di default di X11): - + Show... - + Mostra... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_ja.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_ja.ts index 278331c..4d3e4df 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_ja.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_ja.ts @@ -4,22 +4,22 @@ SelectWnd - + LXQt Mouse Theme Configuration LXQtマウステーマの設定 - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: 使いたいカーソルテーマを選択 (プレビューをテストカーソルに合わせます). <b>LXQtセッションはこの変更後に再起動が必要です</b>: - + &Install New Theme... 新しいテーマのインストール...(&I) - + &Remove Theme テーマの削除(&R) @@ -37,17 +37,17 @@ WarningLabel - + Form フォーム - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: カーソルテーマを見つけられませんでした。代わりに、デフォルトのX11カーソルテーマが使われます。LXQtは以下のディレクトリーを検索しました: - + Show... 表示 diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_lt.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_lt.ts index fc5ebc8..2fb22ee 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_lt.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_lt.ts @@ -4,22 +4,22 @@ SelectWnd - + LXQt Mouse Theme Configuration - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: - + &Install New Theme... - + &Remove Theme @@ -41,17 +41,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_nl.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_nl.ts index 16d97a1..a6fd2e4 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_nl.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_nl.ts @@ -4,22 +4,22 @@ SelectWnd - + LXQt Mouse Theme Configuration - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: - + &Install New Theme... - + &Remove Theme @@ -41,17 +41,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_pl_PL.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_pl_PL.ts index 754530d..11fa272 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_pl_PL.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_pl_PL.ts @@ -4,27 +4,26 @@ SelectWnd - + LXQt Mouse Theme Configuration Wygląd kursora - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: - Wybierz motyw kursora ( najedz kursorem na podgląd by przetestować): <b> -Wymagane jest ponowne uruchomienie sesji </b>: + Wybierz motyw kursora (najedz kursorem na podgląd by przetestować). <b>Wymagane jest ponowne uruchomienie sesji</b>: - + &Install New Theme... - &Zainstaluj Nowe Motywy + &Zainstaluj Nowy Motyw... &Set Theme &Wybierz Motyw - + &Remove Theme &Usuń Motyw @@ -40,25 +39,25 @@ Wymagane jest ponowne uruchomienie sesji </b>: You can't remove active theme! - Nie możesz usunąć aktywnego motywu + Nie możesz usunąć aktywnego motywu! WarningLabel - + Form - + Uwaga - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Nie znaleziono żadnego motywu kursora. Zostanie użyty domyślny motyw kursora X11. LXQt wyszukiwało w następujących katalogach: - + Show... - + Pokaż... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_pt.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_pt.ts index a042217..3f36943 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_pt.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_pt.ts @@ -4,17 +4,17 @@ SelectWnd - + LXQt Mouse Theme Configuration Definições do tema de cursor do LXQt - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: Escolha o tema de cursor a utilizar (passe com o rato para testar). <b>Tem que reiniciar o LXQt a sessão após a alteração</b>: - + &Install New Theme... &Instalar novo tema... @@ -23,7 +23,7 @@ &Definir tema - + &Remove Theme &Remover tema @@ -45,17 +45,17 @@ WarningLabel - + Form Formulário - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: O LxQt não encontrou quaisquer temas de cursor. Será utilizado o tema de cursor X11. O LxQt procurou nestes diretórios: - + Show... Mostrar... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_pt_BR.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_pt_BR.ts index 6e2214a..fab8d98 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_pt_BR.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_pt_BR.ts @@ -4,17 +4,17 @@ SelectWnd - + LXQt Mouse Theme Configuration Configuração Do Tema Do Mouse - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: Selecione o tema do cursor que você deseja usar (pairar visualização para testar o cursor). <b>A sessão LXQt precisa reiniciar após esta mudança</b>: - + &Install New Theme... &Instalar Novo Tema... @@ -23,7 +23,7 @@ &Definir Tema - + &Remove Theme &Remover Tema @@ -45,17 +45,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_ro_RO.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_ro_RO.ts index 9e3fb26..c53ff6f 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_ro_RO.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_ro_RO.ts @@ -4,17 +4,17 @@ SelectWnd - + LXQt Mouse Theme Configuration Configurare temă maus LXQt - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: Selectați tema de cursor pe care doriți să o utilizați (treceți peste cu mausul pentru a testa cursorul)</b>Sesiunea LXQt necesită o repornire după această modificare</b>: - + &Install New Theme... &Instalează temă nouă... @@ -23,7 +23,7 @@ &Setează tema - + &Remove Theme Elimină tema @@ -45,17 +45,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_ru.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_ru.ts index 8ee0ad0..78b14db 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_ru.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_ru.ts @@ -4,22 +4,22 @@ SelectWnd - + LXQt Mouse Theme Configuration Настройка темы курсора LXQt - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: Выберите тему курсора, которую вы хотите использовать (наведите курсор на область предварительного просмотра для проверки). <b>Сессию LXQt нужно перезапустить после изменений</b>: - + &Install New Theme... &Установить новую тему… - + &Remove Theme &Удалить тему @@ -37,17 +37,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: LXQt не смог найти какую-нибудь тему курсора. Будет использована тема X11 по-умолчанию. LXQt искал в следующих папках: - + Show... Показать… diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_ru_RU.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_ru_RU.ts index 8616c2a..2c0d5f8 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_ru_RU.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_ru_RU.ts @@ -4,22 +4,22 @@ SelectWnd - + LXQt Mouse Theme Configuration Настройка темы курсора LXQt - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: Выберите тему курсора, которую вы хотите использовать (наведите курсор на область предварительного просмотра для проверки). <b>Сессию LXQt нужно перезапустить после изменений</b>: - + &Install New Theme... &Установить новую тему… - + &Remove Theme &Удалить тему @@ -37,17 +37,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: LXQt не смог найти какую-нибудь тему курсора. Будет использована тема X11 по-умолчанию. LXQt искал в следующих папках: - + Show... Показать… diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_sl.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_sl.ts index 7779b50..0d6efb6 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_sl.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_sl.ts @@ -4,22 +4,22 @@ SelectWnd - + LXQt Mouse Theme Configuration - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: - + &Install New Theme... - + &Remove Theme @@ -41,17 +41,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_th_TH.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_th_TH.ts index 63df882..0a68e80 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_th_TH.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_th_TH.ts @@ -4,17 +4,17 @@ SelectWnd - + LXQt Mouse Theme Configuration การตั้งค่าชุดตกแต่งเมาส์ LXQt - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: เลือกชุดตกแต่งเคอร์เซอร์ที่คุณต้องการจะใช้ (วางเคอร์เซอร์ไว้บนตัวอย่างเพื่อทดสอบมัน). <b>วาระงาน LXQt จำเป็นต้องเริ่มใหม่หลังการเปลี่ยนแปลงนี้</b>: - + &Install New Theme... ติดตั้งชุด&ตกแต่ง... @@ -23,7 +23,7 @@ &ใช้เป็นชุดตกแต่ง - + &Remove Theme &ลบชุดตกแต่ง @@ -45,17 +45,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_tr.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_tr.ts index d2368d5..6687906 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_tr.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_tr.ts @@ -4,22 +4,22 @@ SelectWnd - + LXQt Mouse Theme Configuration - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: - + &Install New Theme... - + &Remove Theme @@ -41,17 +41,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_uk.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_uk.ts index 6df2660..68b1f70 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_uk.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_uk.ts @@ -4,17 +4,17 @@ SelectWnd - + LXQt Mouse Theme Configuration Налаштування тем миші LXQt - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: Оберіть тему курсорів, яку Ви бажаєте використовувати (наведіть на попереднй перегляд для перевірки курсору). <b>Сеанс LXQt потребує перезапуску щоб ці зміни подіяли</b>: - + &Install New Theme... &Встановити нову тему... @@ -23,7 +23,7 @@ &Призначити тему - + &Remove Theme Вилу&чити тему @@ -45,17 +45,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_zh_CN.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_zh_CN.ts index cc24ebd..238f409 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_zh_CN.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_zh_CN.ts @@ -4,17 +4,17 @@ SelectWnd - + LXQt Mouse Theme Configuration LXQt 鼠标主题配置 - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: 选择要使用的游标主题(鼠标放到项目上可以预览)。<b>修改后需要重启LXQt 会话。</b>: - + &Install New Theme... 安装新主题(&I)... @@ -23,7 +23,7 @@ 设置主题(&S) - + &Remove Theme 删除主题(&R) @@ -45,17 +45,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/translations/lxqt-config-cursor_zh_TW.ts b/liblxqt-config-cursor/translations/lxqt-config-cursor_zh_TW.ts index e76d314..b0fc09f 100644 --- a/liblxqt-config-cursor/translations/lxqt-config-cursor_zh_TW.ts +++ b/liblxqt-config-cursor/translations/lxqt-config-cursor_zh_TW.ts @@ -4,18 +4,18 @@ SelectWnd - + LXQt Mouse Theme Configuration LXQt滑鼠游標主題設定 - + Select the cursor theme you want to use (hover preview to test cursor). <b>LXQt session needs restart after this change</b>: 選擇您喜歡的游標主題 (檢視來回移動來測試游標) 。 <b>套用改變需要重新啟動LXQt會話</b>: - + &Install New Theme... 安裝新主題...(&I) @@ -24,7 +24,7 @@ 設為主題(&S) - + &Remove Theme 移除主題(&R) @@ -46,17 +46,17 @@ WarningLabel - + Form - + LXQt could not find any cursor theme. The default X11 cursor theme will be used instead. LXQt looked in the following directories: - + Show... diff --git a/liblxqt-config-cursor/warninglabel.h b/liblxqt-config-cursor/warninglabel.h index 60fcf17..30805c9 100644 --- a/liblxqt-config-cursor/warninglabel.h +++ b/liblxqt-config-cursor/warninglabel.h @@ -34,7 +34,7 @@ class WarningLabel : public QWidget, public Ui::WarningLabel { Q_OBJECT - + public: WarningLabel (QWidget *parent=0); diff --git a/liblxqt-config-cursor/ui/warninglabel.ui b/liblxqt-config-cursor/warninglabel.ui similarity index 100% rename from liblxqt-config-cursor/ui/warninglabel.ui rename to liblxqt-config-cursor/warninglabel.ui diff --git a/lxqt-config-appearance/CMakeLists.txt b/lxqt-config-appearance/CMakeLists.txt index 081fe56..d46e4d4 100644 --- a/lxqt-config-appearance/CMakeLists.txt +++ b/lxqt-config-appearance/CMakeLists.txt @@ -1,11 +1,9 @@ project(lxqt-config-appearance) include_directories( - "${CMAKE_CURRENT_BINARY_DIR}" - ${LXQT_INCLUDE_DIRS} - ${QTXDG_INCLUDE_DIRS} - "${CMAKE_SOURCE_DIR}/liblxqt-config-cursor" - "${CMAKE_BINARY_DIR}/liblxqt-config-cursor" + ${Qt5Gui_PRIVATE_INCLUDE_DIRS} + "${CMAKE_CURRENT_SOURCE_DIR}/../liblxqt-config-cursor" + "${CMAKE_CURRENT_BINARY_DIR}/../liblxqt-config-cursor" ) set(H_FILES @@ -40,8 +38,7 @@ set(UI_FILES set(QRC_FILES "") set(LIBRARIES - ${QTXDG_LIBRARIES} - ${LXQT_LIBRARIES} + lxqt ) @@ -61,22 +58,16 @@ lxqt_translate_desktop(DESKTOP_FILES SOURCES ${PROJECT_NAME}.desktop.in) #************************************************ -qt5_wrap_ui(UI_HEADERS ${UI_FILES}) -qt5_add_resources(QRC_SOURCES ${QRC_FILES}) - add_executable(${PROJECT_NAME} ${CPP_FILES} - ${UI_FILES} ${RESOURCES} - ${QRC_SOURCES} + ${QRC_FILES} ${QM_FILES} ${QM_LOADER} - ${MOC_SOURCES} ${DESKTOP_FILES} ) target_link_libraries(${PROJECT_NAME} - KF5::WindowSystem Qt5::Widgets Qt5::X11Extras Qt5::Xml @@ -84,5 +75,13 @@ target_link_libraries(${PROJECT_NAME} lxqt-config-cursor ) -install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin) -install(FILES ${DESKTOP_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications) +install(TARGETS + ${PROJECT_NAME} + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + COMPONENT Runtime +) +install(FILES + ${DESKTOP_FILES} + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications" + COMPONENT Runtime +) diff --git a/lxqt-config-appearance/fontconfigfile.h b/lxqt-config-appearance/fontconfigfile.h index 8001b62..61620c3 100644 --- a/lxqt-config-appearance/fontconfigfile.h +++ b/lxqt-config-appearance/fontconfigfile.h @@ -70,7 +70,7 @@ private Q_SLOTS: private: void load(); void queueSave(); - + private: bool mAntialias; bool mHinting; diff --git a/lxqt-config-appearance/fontsconfig.ui b/lxqt-config-appearance/fontsconfig.ui index cf066d0..64e3c6e 100644 --- a/lxqt-config-appearance/fontsconfig.ui +++ b/lxqt-config-appearance/fontsconfig.ui @@ -55,7 +55,11 @@ - + + + 4 + + diff --git a/lxqt-config-appearance/iconthemeconfig.cpp b/lxqt-config-appearance/iconthemeconfig.cpp index e791cca..a5e73f4 100644 --- a/lxqt-config-appearance/iconthemeconfig.cpp +++ b/lxqt-config-appearance/iconthemeconfig.cpp @@ -31,9 +31,13 @@ #include #include #include +#include #include #include +#include + +using namespace QtXdg; IconThemeConfig::IconThemeConfig(LxQt::Settings* settings, QWidget* parent): QWidget(parent), @@ -55,7 +59,16 @@ void IconThemeConfig::initIconsThemes() { QStringList processed; QStringList baseDirs = QIcon::themeSearchPaths(); + static const QStringList iconNames = QStringList() + << QStringLiteral("document-open") + << QStringLiteral("document-new") + << QStringLiteral("edit-undo") + << QStringLiteral("media-playback-start"); + + const int iconNamesN = iconNames.size(); + iconThemeList->setColumnCount(iconNamesN + 2); + QList items; foreach (QString baseDirName, baseDirs) { QDir baseDir(baseDirName); @@ -72,22 +85,38 @@ void IconThemeConfig::initIconsThemes() IconThemeInfo theme(QDir(dir.canonicalFilePath())); if (theme.isValid() && (!theme.isHidden())) { - QTreeWidgetItem *item = new QTreeWidgetItem(iconThemeList); + QTreeWidgetItem *item = new QTreeWidgetItem((QTreeWidget*)0); item->setSizeHint(0, QSize(42,42)); // make icons non-cropped item->setData(0, Qt::UserRole, theme.name()); - item->setIcon(0, theme.icon("document-open")); - item->setIcon(1, theme.icon("document-new")); - item->setIcon(2, theme.icon("edit-undo")); - item->setIcon(3, theme.icon("media-playback-start")); + const QVector icons = theme.icons(iconNames); + + const int K = icons.size(); + for (int i = 0; i < K; ++i) + { + item->setIcon(i, icons.at(i)); + } + + QString themeDescription; + if (theme.comment().isEmpty()) + { + themeDescription = theme.text(); + } + else + { + themeDescription = theme.text() % QStringLiteral(" (") % theme.comment() % QStringLiteral(")"); + } + + item->setText(iconNamesN + 1, themeDescription); - item->setText(4, theme.comment().isEmpty() ? theme.text() : theme.text() + " (" + theme.comment() + ")"); + items.append(item); } } } } + QIconLoader::instance()->updateSystemTheme(); - iconThemeList->setColumnCount(5); + iconThemeList->insertTopLevelItems(0, items); for (int i=0; iheader()->count()-1; ++i) { iconThemeList->resizeColumnToContents(i); @@ -125,9 +154,12 @@ void IconThemeConfig::iconThemeSelected(QTreeWidgetItem *item, int column) if (!theme.isEmpty()) { XdgIcon::setThemeName(theme); + + // An hack to ensure that this widget also re loads it's own icons + // from the selected icon theme. + QIconLoader::instance()->setThemeName(QString()); + m_settings->setValue("icon_theme", theme); m_settings->sync(); } } - - diff --git a/lxqt-config-appearance/iconthemeinfo.cpp b/lxqt-config-appearance/iconthemeinfo.cpp index 0936c40..b30480e 100644 --- a/lxqt-config-appearance/iconthemeinfo.cpp +++ b/lxqt-config-appearance/iconthemeinfo.cpp @@ -7,6 +7,11 @@ * Copyright: 2010-2011 Razor team * Authors: * Alexander Sokoloff + * Luis Pereira + * + * The directoryMatchesSize() and thedirectorySizeDistance() functions were + * taken from Qt5 qtbase/src/gui/image/qiconloader.cpp + * Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). * * This program or library is free software; you can redistribute it * and/or modify it under the terms of the GNU Lesser General Public @@ -28,8 +33,66 @@ #include "iconthemeinfo.h" #include +#include + +#include + +#define PREVIEW_ICON_SIZE 22 + +using namespace QtXdg; + +/* + * This algorithm is defined by the freedesktop spec: + * http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html + */ +static bool directoryMatchesSize(const QIconDirInfo &dir, int iconsize) +{ + if (dir.type == QIconDirInfo::Fixed) { + return dir.size == iconsize; + + } else if (dir.type == QIconDirInfo::Scalable) { + return dir.size <= dir.maxSize && + iconsize >= dir.minSize; + + } else if (dir.type == QIconDirInfo::Threshold) { + return iconsize >= dir.size - dir.threshold && + iconsize <= dir.size + dir.threshold; + } + + Q_ASSERT(1); // Not a valid value + return false; +} + + +/* + * This algorithm is defined by the freedesktop spec: + * http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html + */ +static int directorySizeDistance(const QIconDirInfo &dir, int iconsize) +{ + if (dir.type == QIconDirInfo::Fixed) { + return qAbs(dir.size - iconsize); + + } else if (dir.type == QIconDirInfo::Scalable) { + if (iconsize < dir.minSize) + return dir.minSize - iconsize; + else if (iconsize > dir.maxSize) + return iconsize - dir.maxSize; + else + return 0; + + } else if (dir.type == QIconDirInfo::Threshold) { + if (iconsize < dir.size - dir.threshold) + return dir.minSize - iconsize; + else if (iconsize > dir.size + dir.threshold) + return iconsize - dir.maxSize; + else return 0; + } + + Q_ASSERT(1); // Not a valid value + return INT_MAX; +} -#define PRIVIEW_ICON_SIZE 22 IconThemeInfo::IconThemeInfo(const QDir &dir): @@ -37,8 +100,8 @@ IconThemeInfo::IconThemeInfo(const QDir &dir): mHidden(false) { mName = dir.dirName(); - if (dir.exists("index.theme")) - load(dir.absoluteFilePath("index.theme")); + if (dir.exists(QStringLiteral("index.theme"))) + load(dir.absoluteFilePath(QStringLiteral("index.theme"))); } @@ -50,56 +113,54 @@ void IconThemeInfo::load(const QString &fileName) if (file.status() != QSettings::NoError) return; - if (file.value("Icon Theme/Directories").toStringList().join("").isEmpty()) + if (file.value(QStringLiteral("Icon Theme/Directories")).toStringList().join(QLatin1Char(' ')).isEmpty()) return; - mHidden = file.value("Icon Theme/Hidden", false).toBool(); - mText = file.value("Icon Theme/Name").toString(); - mComment = file.value("Icon Theme/Comment").toString(); + mHidden = file.value(QStringLiteral("Icon Theme/Hidden"), false).toBool(); + mText = file.value(QStringLiteral("Icon Theme/Name")).toString(); + mComment = file.value(QStringLiteral("Icon Theme/Comment")).toString(); + mValid = true; - loadDirsInfo(file, QFileInfo(mFileName).dir().canonicalPath()); } -void IconThemeInfo::loadDirsInfo(QSettings &file, const QString &path) +QVector IconThemeInfo::icons(const QStringList &iconNames) const { - foreach (QString i, file.value("Icon Theme/Directories", QStringList()).toStringList()) - { - file.beginGroup(i); - if (file.value("Size", 0).toInt() == PRIVIEW_ICON_SIZE && - file.value("Context").toString() == "Actions" - ) - { - mActionsDir = path + QDir::separator() + i; - file.endGroup(); - return; + QVector icons; + + const QString currentThemeName = QIconLoader::instance()->themeName(); + QIconLoader::instance()->setThemeName(mName); + foreach (const QString &i, iconNames) { + QThemeIconInfo info = QIconLoader::instance()->loadIcon(i); + if (!info.entries.isEmpty()) { + const int numEntries = info.entries.size(); + + // Search for exact matches first + bool found = false; + for (int i = 0; i < numEntries; ++i) { + QIconLoaderEngineEntry *entry = info.entries.at(i); + icons.append(QIcon(entry->filename)); + found = true; + break; + } + if (!found) { // No exact match. Search for an approximation + // Find the minimum distance icon + int minimalSize = INT_MAX; + QIconLoaderEngineEntry *closestMatch = 0; + for (int i = 0; i < numEntries; ++i) { + QIconLoaderEngineEntry *entry = info.entries.at(i); + int distance = directorySizeDistance(entry->dir, PREVIEW_ICON_SIZE); + if (distance < minimalSize) { + minimalSize = distance; + closestMatch = entry; + } + } + icons.append(QIcon(closestMatch->filename)); + } + } else { + icons.append(QIcon()); } - file.endGroup(); - } -} - - -QIcon IconThemeInfo::icon(const QString &iconName) const -{ - QDir dir(mActionsDir); - - if (dir.exists(iconName + ".png")) - { - QIcon icon(mActionsDir + QDir::separator() + iconName + ".png"); - return icon; - } - - if (dir.exists(iconName + ".svg")) - { - QIcon icon(mActionsDir + QDir::separator() + iconName + ".svg"); - return icon; } - - if (dir.exists(iconName + ".xpm")) - { - QIcon icon(mActionsDir + QDir::separator() + iconName + ".xpm"); - return icon; - } - - return QIcon(); + QIconLoader::instance()->setThemeName(currentThemeName); + return icons; } diff --git a/lxqt-config-appearance/iconthemeinfo.h b/lxqt-config-appearance/iconthemeinfo.h index 1ae6dff..fe1d82c 100644 --- a/lxqt-config-appearance/iconthemeinfo.h +++ b/lxqt-config-appearance/iconthemeinfo.h @@ -29,9 +29,11 @@ #define ICONTHEMEINFO_H #include + #include #include #include +#include class IconThemeInfo { @@ -45,19 +47,18 @@ public: bool isValid() const { return mValid; } bool isHidden() const { return mHidden; } - QIcon icon(const QString &iconName) const; + QVector icons(const QStringList &iconNames) const; + private: QString mFileName; QString mName; QString mText; QString mComment; - QString mActionsDir; bool mValid; bool mHidden; void load(const QString &fileName); - void loadDirsInfo(QSettings &file, const QString &path); }; diff --git a/lxqt-config-appearance/main.cpp b/lxqt-config-appearance/main.cpp index 9a3691e..5b85160 100644 --- a/lxqt-config-appearance/main.cpp +++ b/lxqt-config-appearance/main.cpp @@ -42,6 +42,7 @@ int main (int argc, char **argv) { LxQt::SingleApplication app(argc, argv); LxQt::Settings* settings = new LxQt::Settings("lxqt"); + LxQt::Settings* sessionSettings = new LxQt::Settings("session"); LxQt::ConfigDialog* dialog = new LxQt::ConfigDialog(QObject::tr("LXQt Appearance Configuration"), settings); app.setActivationWindow(dialog); @@ -63,7 +64,7 @@ int main (int argc, char **argv) dialog->addPage(fontsPage, QObject::tr("Font"), QStringList() << "preferences-desktop-font" << "preferences-desktop"); QObject::connect(dialog, SIGNAL(reset()), fontsPage, SLOT(initControls())); - SelectWnd* cursorPage = new SelectWnd(settings, dialog); + SelectWnd* cursorPage = new SelectWnd(sessionSettings, dialog); cursorPage->setCurrent(); dialog->addPage(cursorPage, QObject::tr("Cursor"), QStringList() << "input-mouse" << "preferences-desktop"); diff --git a/lxqt-config-appearance/man/lxqt-config-appearance.1 b/lxqt-config-appearance/man/lxqt-config-appearance.1 index cd4f02f..f5c04a1 100644 --- a/lxqt-config-appearance/man/lxqt-config-appearance.1 +++ b/lxqt-config-appearance/man/lxqt-config-appearance.1 @@ -33,7 +33,7 @@ by hand but automatically, when choosing a \fBLXQt\-qt\fR session in the Display Manager. .P .SH "REPORTING BUGS" -Report bugs to https://github.com/lxde/lxde-qt/issues +Report bugs to https://github.com/lxde/lxqt/issues .SH "SEE ALSO" \fBLXQt\fR it has been tailored for users who value simplicity, speed, and an intuitive interface, also intended for less powerful machines. See also: diff --git a/lxqt-config-appearance/styleconfig.cpp b/lxqt-config-appearance/styleconfig.cpp index 2c747bb..51834ca 100644 --- a/lxqt-config-appearance/styleconfig.cpp +++ b/lxqt-config-appearance/styleconfig.cpp @@ -99,7 +99,7 @@ void StyleConfig::initControls() // activate item views with single click ui->singleClickActivate->setChecked( mSettings->value("single_click_activate", false).toBool()); - + update(); } diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance.ts b/lxqt-config-appearance/translations/lxqt-config-appearance.ts index 5d92f68..7052000 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_ar.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_ar.ts index a748aa2..b218f7a 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_ar.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_ar.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_cs.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_cs.ts index 05e4034..3190bc8 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_cs.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_cs.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_cs_CZ.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_cs_CZ.ts index 4848a25..5c50f96 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_cs_CZ.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_cs_CZ.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_da.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_da.ts index f1862c0..dd95333 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_da.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_da.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_da_DK.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_da_DK.ts index b36803e..ba4d4db 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_da_DK.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_da_DK.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_de.desktop b/lxqt-config-appearance/translations/lxqt-config-appearance_de.desktop index 38fef45..ebabc1e 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_de.desktop +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_de.desktop @@ -1,4 +1,3 @@ -# Translations +Name[de]=Erscheinungsbild +GenericName[de]=Erscheinungsbild Einstellungen Comment[de]=Einstellungen zum Aussehen der LXQt Arbeitsfläche -GenericName[de]=LXQt Erscheinungsbild Einstellungen -Name[de]=LXQt Erscheinungsbild Einstellungen diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_de.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_de.ts index ce30a9d..7bbde19 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_de.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_de.ts @@ -1,6 +1,6 @@ - + FontsConfig @@ -29,98 +29,98 @@ Punktgröße: - + Normal Normal - + Bold Fett - + Italic Kursiv - + Bold Italic Fett und kursiv - + The following settings only affect newly started applications Folgende Einstellungen wirken nur auf neu gestartete Programme - + Use antialias fonts Kantenglättung bei Schriften verwenden - + Font hinting style: Hinting-Stil: - - + + None Keine - + Slight Leicht - + Medium Mittel - + Full Vollständig - + Font hinting Schrift-Hinting - + Resolution (DPI): Auflösung (DPI): - + Autohint Autohint - + Subpixel antialiasing: Subpixel-Anordnung: - + RGB RGB - + BGR BGR - + VRGB VRGB - + VBGR VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_el_GR.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_el_GR.ts index 7d571bd..dc62275 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_el_GR.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_el_GR.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_eo.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_eo.ts index d5e842c..4a709cd 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_eo.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_eo.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_es.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_es.ts index 9be60dd..372dac5 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_es.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_es.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_es_VE.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_es_VE.ts index 8418038..b72e1d7 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_es_VE.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_es_VE.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_eu.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_eu.ts index 1401c10..0a890aa 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_eu.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_eu.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_fi.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_fi.ts index 48785aa..f257a1c 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_fi.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_fi.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_fr_FR.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_fr_FR.ts index 435ccb9..0b84f1e 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_fr_FR.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_fr_FR.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_hu.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_hu.ts index ecba8ed..4841659 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_hu.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_hu.ts @@ -6,123 +6,123 @@ Font - + Betűtípus Default font for user interface - + Felhasználói felület alapértelmezett betűtípusa Font name: - + Betűnév: Style: - + Stílus: Point size: - + Pontméret: - + Normal - + Normál - + Bold - + Kövér - + Italic - + Dőlt - + Bold Italic - + Dőlt kövér - + The following settings only affect newly started applications - + Ezek a stílusok csak új indítású alkalmazásoknál láthatók - + Use antialias fonts - + Simított betűk - + Font hinting style: - + Betű mankó stílus: - - + + None - + Nincs - + Slight - + Enyhe - + Medium - + Közepes - + Full - + Teljes - + Font hinting - + Betű mankó - + Resolution (DPI): - + Felbontás (DPI): - + Autohint - + Mankó - + Subpixel antialiasing: - + Alképpont simítás: - + RGB - + - + BGR - + - + VRGB - + - + VBGR - + @@ -150,7 +150,7 @@ LXQt Theme - LXQt téma + LXQt téma @@ -158,12 +158,12 @@ LXQt Appearance Configuration - Alkalmazásmenü + LXQt megjelenésbeállító Widget Style - + Bigyótéma @@ -178,12 +178,12 @@ Font - + Betű Cursor - + Kurzor @@ -191,42 +191,42 @@ Widget Style - + Bigyótéma Toolbar button style: - + Eszközsáv stílus: Only display the icon - + Csak ikon Only display the text - + Csak szöveg The text appears beside the icon - + Szöveg az ikon mellett The text appears under the icon - + Szöveg az ikon alatt Default - + Alapértelmezett Activate item on single click - + Egykattintásos mód diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_hu_HU.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_hu_HU.ts index e99b098..6781b30 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_hu_HU.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_hu_HU.ts @@ -6,123 +6,123 @@ Font - + Betűtípus Default font for user interface - + Felhasználói felület alapértelmezett betűtípusa Font name: - + Betűnév: Style: - + Stílus: Point size: - + Pontméret: - + Normal - + Normál - + Bold - + Kövér - + Italic - + Dőlt - + Bold Italic - + Dőlt kövér - + The following settings only affect newly started applications - + Ezek a stílusok csak új indítású alkalmazásoknál láthatók - + Use antialias fonts - + Simított betűk - + Font hinting style: - + Betű mankó stílus: - - + + None - + Nincs - + Slight - + Enyhe - + Medium - + Közepes - + Full - + Teljes - + Font hinting - + Betű mankó - + Resolution (DPI): - + Felbontás (DPI): - + Autohint - + Mankó - + Subpixel antialiasing: - + Alképpont simítás: - + RGB - + - + BGR - + - + VRGB - + - + VBGR - + @@ -130,12 +130,12 @@ LXQt Appearance Configuration - LXQt megjelenésbeállító + LXQt megjelenésbeállító Icons Theme - Ikontémák + Ikontémák @@ -143,7 +143,7 @@ LXQt Theme - + LXQt téma @@ -162,32 +162,32 @@ LXQt Appearance Configuration - LXQt megjelenésbeállító + LXQt megjelenésbeállító Widget Style - + Bigyótéma Icons Theme - Ikontémák + Ikontémák LXQt Theme - + LXQT téma Font - + Betű Cursor - + Kurzor @@ -195,42 +195,42 @@ Widget Style - + Bigyótéma Toolbar button style: - + Eszközsáv stílus: Only display the icon - + Csak ikon Only display the text - + Csak szöveg The text appears beside the icon - + Szöveg az ikon mellett The text appears under the icon - + Szöveg az ikon alatt Default - + Alapértelmezett Activate item on single click - + Egykattintásos mód diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_ia.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_ia.ts index e2cccf8..16f90be 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_ia.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_ia.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_id_ID.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_id_ID.ts index d537dec..9d6af20 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_id_ID.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_id_ID.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_it.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_it.ts index 8f39285..6988c22 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_it.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_it.ts @@ -29,99 +29,99 @@ Dimensione: - + Normal Normale - + Bold Grassetto - + Italic Corsivo - + Bold Italic Grassetto corsivo - + The following settings only affect newly started applications Le impostazioni riguardano solo le applicazioni avviate nuovamente - + Use antialias fonts Utilizza anti-aliasing per i caratteri - + Font hinting style: Stile di hinting - - + + None Nessuno - + Slight Leggero - + Medium Medio - + Full Forte - + Font hinting Hinting caratteri - + Resolution (DPI): Resoluzione (DPI): - + Autohint Hinting automatico - + Subpixel antialiasing: no idea how to translate that - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_it_IT.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_it_IT.ts index 8f39285..6988c22 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_it_IT.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_it_IT.ts @@ -29,99 +29,99 @@ Dimensione: - + Normal Normale - + Bold Grassetto - + Italic Corsivo - + Bold Italic Grassetto corsivo - + The following settings only affect newly started applications Le impostazioni riguardano solo le applicazioni avviate nuovamente - + Use antialias fonts Utilizza anti-aliasing per i caratteri - + Font hinting style: Stile di hinting - - + + None Nessuno - + Slight Leggero - + Medium Medio - + Full Forte - + Font hinting Hinting caratteri - + Resolution (DPI): Resoluzione (DPI): - + Autohint Hinting automatico - + Subpixel antialiasing: no idea how to translate that - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_ja.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_ja.ts index cab3a0b..b3da63f 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_ja.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_ja.ts @@ -29,98 +29,98 @@ ポイントサイズ: - + Normal ノーマル - + Bold 太字 - + Italic 斜体 - + Bold Italic 太字・斜体 - + The following settings only affect newly started applications 以下の設定は、これから新たに実行されたアプリケーションに適用されます - + Use antialias fonts アンチエイリアスされたフォントを用いる - + Font hinting style: フォントのヒンティング形式: - - + + None なし - + Slight 軽微 - + Medium 中間 - + Full 完全 - + Font hinting フォントのヒンティング - + Resolution (DPI): 解像度 (DPI): - + Autohint 自動ヒンティング - + Subpixel antialiasing: サブピクセルアンチエイリアス: - + RGB RGB - + BGR BGR - + VRGB VRGB - + VBGR VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_ko.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_ko.ts index 53a63c1..a0c46a9 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_ko.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_ko.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_lt.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_lt.ts index a963ad3..8327bc0 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_lt.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_lt.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_nl.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_nl.ts index 2a21bdf..725ff00 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_nl.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_nl.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_pl.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_pl.ts index 4141764..a9c40d7 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_pl.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_pl.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_pl_PL.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_pl_PL.ts index 8d0e22f..1109194 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_pl_PL.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_pl_PL.ts @@ -6,123 +6,123 @@ Font - + Czcionka Default font for user interface - + Domyślna czcionka dla interfejsu użytkownika Font name: - + Czcionka: Style: - + Styl: Point size: - + Rozmiar: - + Normal - + Normalna - + Bold - + Pogrubiona - + Italic - + Kursywa - + Bold Italic - + Pogrubiona kursywa - + The following settings only affect newly started applications - + Poniższe ustawienia dotyczą tylko nowo otwartych aplikacji - + Use antialias fonts - + Wygładzanie czcionek (antyaliasing) - + Font hinting style: - + Styl hintingu: - - + + None - + Brak - + Slight - + Delikatny - + Medium - + Średni - + Full - + Pełny - + Font hinting - + Hinting czcionek - + Resolution (DPI): - + Rozdzielczość (DPI): - + Autohint - + Autohinting - + Subpixel antialiasing: - + Antyaliasing subpikselowy: - + RGB - + RGB - + BGR - + BGR - + VRGB - + VRGB - + VBGR - + VBGR @@ -150,7 +150,7 @@ LXQt Theme - Motyw LXQt + Motyw LXQt @@ -163,7 +163,7 @@ Widget Style - + Widżety @@ -178,12 +178,12 @@ Font - + Czcionka Cursor - + Kursor @@ -191,42 +191,42 @@ Widget Style - + Styl widżetów Toolbar button style: - + Styl paska narzędziowego: Only display the icon - + Tylko ikony Only display the text - + Tylko tekst The text appears beside the icon - + Tekst obok ikon The text appears under the icon - + Tekst poniżej ikon Default - + Domyśłny Activate item on single click - + Aktywacja pojedyńczym kliknięciem diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_pt.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_pt.ts index 3f5b9c9..398fb9a 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_pt.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_pt.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_pt_BR.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_pt_BR.ts index 0bd88fc..30f79a5 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_pt_BR.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_pt_BR.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_ro_RO.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_ro_RO.ts index 9d3d139..2537d1b 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_ro_RO.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_ro_RO.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_ru.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_ru.ts index d27fbfa..b713179 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_ru.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_ru.ts @@ -29,98 +29,98 @@ Кегль: - + Normal Нормальный - + Bold Полужирный - + Italic Наклонный - + Bold Italic Полужирный наклонный - + The following settings only affect newly started applications Следующие настройки подействуют только на вновь запущенные приложения - + Use antialias fonts Использовать сглаживание шрифтов - + Font hinting style: Стиль хинтинга шрифта: - - + + None Нет - + Slight Слабое - + Medium Среднее - + Full Полное - + Font hinting Хинтинг шрифта - + Resolution (DPI): Разрешение (DPI): - + Autohint - + Автохинтинг - + Subpixel antialiasing: Субпиксельное сглаживание: - + RGB RGB - + BGR BGR - + VRGB VRGB - + VBGR VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_ru_RU.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_ru_RU.ts index d27fbfa..b713179 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_ru_RU.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_ru_RU.ts @@ -29,98 +29,98 @@ Кегль: - + Normal Нормальный - + Bold Полужирный - + Italic Наклонный - + Bold Italic Полужирный наклонный - + The following settings only affect newly started applications Следующие настройки подействуют только на вновь запущенные приложения - + Use antialias fonts Использовать сглаживание шрифтов - + Font hinting style: Стиль хинтинга шрифта: - - + + None Нет - + Slight Слабое - + Medium Среднее - + Full Полное - + Font hinting Хинтинг шрифта - + Resolution (DPI): Разрешение (DPI): - + Autohint - + Автохинтинг - + Subpixel antialiasing: Субпиксельное сглаживание: - + RGB RGB - + BGR BGR - + VRGB VRGB - + VBGR VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_sk_SK.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_sk_SK.ts index 565bd74..60aefde 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_sk_SK.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_sk_SK.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_sl.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_sl.ts index 392c45c..1a3a080 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_sl.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_sl.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_sr@latin.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_sr@latin.ts index adbc92c..61f8854 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_sr@latin.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_sr@latin.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_sr_BA.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_sr_BA.ts index fb36467..c5b53da 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_sr_BA.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_sr_BA.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_sr_RS.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_sr_RS.ts index 1d67bd7..2380448 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_sr_RS.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_sr_RS.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_th_TH.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_th_TH.ts index a5f937b..0b94589 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_th_TH.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_th_TH.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_tr.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_tr.ts index 64fa286..b6ba861 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_tr.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_tr.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_uk.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_uk.ts index 8e52fb7..116e064 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_uk.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_uk.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_zh_CN.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_zh_CN.ts index 0d2c898..f0b01e9 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_zh_CN.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_zh_CN.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-appearance/translations/lxqt-config-appearance_zh_TW.ts b/lxqt-config-appearance/translations/lxqt-config-appearance_zh_TW.ts index 2fa9c6e..3b02a7b 100644 --- a/lxqt-config-appearance/translations/lxqt-config-appearance_zh_TW.ts +++ b/lxqt-config-appearance/translations/lxqt-config-appearance_zh_TW.ts @@ -29,98 +29,98 @@ - + Normal - + Bold - + Italic - + Bold Italic - + The following settings only affect newly started applications - + Use antialias fonts - + Font hinting style: - - + + None - + Slight - + Medium - + Full - + Font hinting - + Resolution (DPI): - + Autohint - + Subpixel antialiasing: - + RGB - + BGR - + VRGB - + VBGR diff --git a/lxqt-config-file-associations/CMakeLists.txt b/lxqt-config-file-associations/CMakeLists.txt index c12e235..0506723 100644 --- a/lxqt-config-file-associations/CMakeLists.txt +++ b/lxqt-config-file-associations/CMakeLists.txt @@ -1,9 +1,5 @@ project(lxqt-config-file-associations) -include_directories( - "${CMAKE_CURRENT_BINARY_DIR}" -) - set(H_FILES mimetypedata.h mimetypeviewer.h @@ -31,8 +27,7 @@ set(UI_FILES set(QRC_FILES "") set(LIBRARIES - ${QTXDG_LIBRARIES} - ${LXQT_LIBRARIES} + lxqt ) # Translations ********************************** @@ -52,17 +47,12 @@ lxqt_translate_desktop(DESKTOP_FILES SOURCES ${PROJECT_NAME}.desktop.in) #************************************************ -qt5_wrap_ui(UI_HEADERS ${UI_FILES}) -qt5_add_resources(QRC_SOURCES ${QRC_FILES}) - add_executable(${PROJECT_NAME} ${CPP_FILES} - ${UI_FILES} ${RESOURCES} - ${QRC_SOURCES} + ${QRC_FILES} ${QM_FILES} ${QM_LOADER} - ${MOC_SOURCES} ${DESKTOP_FILES} ) @@ -75,5 +65,13 @@ target_link_libraries(${PROJECT_NAME} ${LIBRARIES} ) -install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin) -install(FILES ${DESKTOP_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications) +install(TARGETS + ${PROJECT_NAME} + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + COMPONENT Runtime +) +install(FILES + ${DESKTOP_FILES} + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications" + COMPONENT Runtime +) diff --git a/lxqt-config-file-associations/applicationchooser.cpp b/lxqt-config-file-associations/applicationchooser.cpp index 57fdaa6..71fd612 100644 --- a/lxqt-config-file-associations/applicationchooser.cpp +++ b/lxqt-config-file-associations/applicationchooser.cpp @@ -88,6 +88,7 @@ void ApplicationChooser::updateAllIcons() { } } QCoreApplication::processEvents(); + QApplication::restoreOverrideCursor(); } void ApplicationChooser::fillApplicationListWidget() @@ -130,7 +131,6 @@ void ApplicationChooser::fillApplicationListWidget() connect(widget.applicationTreeWidget, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)), this, SLOT(selectionChanged())); widget.applicationTreeWidget->setFocus(); - QApplication::restoreOverrideCursor(); if (!applicationsThatHandleThisMimetype.isEmpty()) { widget.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); } diff --git a/lxqt-config-file-associations/mimetypeitemmodel.cpp b/lxqt-config-file-associations/mimetypeitemmodel.cpp index 5c0bd2e..5fc7e5c 100644 --- a/lxqt-config-file-associations/mimetypeitemmodel.cpp +++ b/lxqt-config-file-associations/mimetypeitemmodel.cpp @@ -1,7 +1,7 @@ -/* +/* * File: MimetypeItemModel.cpp * Author: christian - * + * * Created on 5. maj 2013, 09:18 */ #include @@ -12,17 +12,17 @@ /* * Implementation note: - * + * * MimetypeItemModel is an implementation of QAbstractItemModel with XdgMimeInfoCache as backing store. - * - * There are 2 levels of items in this model: mediatype ('application', 'audio', 'image' etc.) and + * + * There are 2 levels of items in this model: mediatype ('application', 'audio', 'image' etc.) and * subtype ('application/pdf' which is a child of 'application' or 'image/jpeg' which is a child of 'image'. - * - * A QModelIndex for a mediatype has a zero internal pointer. - * - * A QModelIndex for a subtype has an internal pointer to the XdgMimeInfo for that subtype - so the QModelIndex for + * + * A QModelIndex for a mediatype has a zero internal pointer. + * + * A QModelIndex for a subtype has an internal pointer to the XdgMimeInfo for that subtype - so the QModelIndex for * 'image/jpeg' has an internal pointer that points to the XdgMineInfo for 'image/jpeg' which is held in XdgMimeInfoCache. - * + * * QModelIndexes for mediatypes have no parents, and QModelIndexes for subtypes have no children. */ @@ -38,11 +38,11 @@ MimetypeItemModel::~MimetypeItemModel() QVariant MimetypeItemModel::data(const QModelIndex& index, int role) const { - if (!index.isValid()) + if (!index.isValid()) { return QVariant(); } - + XdgMimeInfo *mimeInfo = 0; QString text; @@ -51,7 +51,7 @@ QVariant MimetypeItemModel::data(const QModelIndex& index, int role) const mimeInfo = static_cast(index.internalPointer()); text = mimeInfo->subType(); } - else + else { text = XdgMimeInfoCache::mediatypes().value(index.row()); } @@ -70,27 +70,27 @@ QModelIndex MimetypeItemModel::index(int row, int column, const QModelIndex& par { return QModelIndex(); } - + if (parent.isValid()) { - if (parent.row() >= XdgMimeInfoCache::mediatypes().size()) + if (parent.row() >= XdgMimeInfoCache::mediatypes().size()) { return QModelIndex(); } QString mediatype = XdgMimeInfoCache::mediatypes().value(parent.row()); - + if (row >= XdgMimeInfoCache::subtypes(mediatype).size()) { return QModelIndex(); } - + QString subtype = XdgMimeInfoCache::subtypes(mediatype).value(row); - + XdgMimeInfo* mimeInfo = XdgMimeInfoCache::xdgMimeInfo(mediatype, subtype); return createIndex(row, 0, mimeInfo); } - else + else { if (row >= XdgMimeInfoCache::mediatypes().size()) { @@ -106,11 +106,11 @@ QModelIndex MimetypeItemModel::parent(const QModelIndex& index) const if (index.isValid() && index.internalPointer()) { XdgMimeInfo* mimeInfo = static_cast(index.internalPointer()); - + int row = XdgMimeInfoCache::mediatypes().indexOf(mimeInfo->mediaType()); return createIndex(row, 0); } - else + else { return QModelIndex(); } @@ -133,14 +133,14 @@ int MimetypeItemModel::rowCount(const QModelIndex& parent) const QString media = XdgMimeInfoCache::mediatypes().value(parent.row()); return XdgMimeInfoCache::subtypes(media).size(); } - else + else { return XdgMimeInfoCache::mediatypes().size(); } } -MimetypeFilterItemModel::MimetypeFilterItemModel(QObject* parent) : +MimetypeFilterItemModel::MimetypeFilterItemModel(QObject* parent) : QSortFilterProxyModel(parent) { } @@ -148,16 +148,16 @@ MimetypeFilterItemModel::MimetypeFilterItemModel(QObject* parent) : bool MimetypeFilterItemModel::filterAcceptsRow(int source_row, const QModelIndex& source_parent) const { QModelIndex index = sourceModel()->index(source_row, 0, source_parent); - - if (source_parent.isValid()) + + if (source_parent.isValid()) { return filterHelper(index); - } - else + } + else { for (int i = 0; i < sourceModel()->rowCount(index); i++) { - if (filterAcceptsRow(i, index)) + if (filterAcceptsRow(i, index)) { return true; } diff --git a/lxqt-config-file-associations/mimetypeitemmodel.h b/lxqt-config-file-associations/mimetypeitemmodel.h index 940ea9e..d8d02be 100644 --- a/lxqt-config-file-associations/mimetypeitemmodel.h +++ b/lxqt-config-file-associations/mimetypeitemmodel.h @@ -1,4 +1,4 @@ -/* +/* * File: MimetypeItemModel.h * Author: christian * @@ -19,7 +19,7 @@ Q_DECLARE_METATYPE(XdgMimeInfo*) /*! - * + * */ class MimetypeItemModel : public QAbstractItemModel { @@ -31,14 +31,14 @@ public: QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; QModelIndex parent(const QModelIndex &index) const; int rowCount(const QModelIndex &parent = QModelIndex()) const; - int columnCount(const QModelIndex &parent = QModelIndex()) const {return 1;} + int columnCount(const QModelIndex &parent = QModelIndex()) const {return 1;} }; class MimetypeFilterItemModel : public QSortFilterProxyModel { public: MimetypeFilterItemModel(QObject *parent = 0); - + bool filterAcceptsRow(int source_row, const QModelIndex& source_parent) const; bool filterHelper(QModelIndex& source_index) const; diff --git a/lxqt-config-file-associations/translations/lxqt-config-file-associations.ts b/lxqt-config-file-associations/translations/lxqt-config-file-associations.ts index 3e2de58..5bc0ad2 100644 --- a/lxqt-config-file-associations/translations/lxqt-config-file-associations.ts +++ b/lxqt-config-file-associations/translations/lxqt-config-file-associations.ts @@ -33,17 +33,17 @@ - + Other applications - + Applications that handle %1 - + No applications found diff --git a/lxqt-config-file-associations/translations/lxqt-config-file-associations_de.ts b/lxqt-config-file-associations/translations/lxqt-config-file-associations_de.ts index cda850a..92ba41f 100644 --- a/lxqt-config-file-associations/translations/lxqt-config-file-associations_de.ts +++ b/lxqt-config-file-associations/translations/lxqt-config-file-associations_de.ts @@ -1,6 +1,6 @@ - + ApplicationChooser @@ -33,17 +33,17 @@ - + Other applications Andere Anwendung - + Applications that handle %1 Anwendungen die %1 verarbeiten - + No applications found Keine Anwendung gefunden diff --git a/lxqt-config-file-associations/translations/lxqt-config-file-associations_hu.desktop b/lxqt-config-file-associations/translations/lxqt-config-file-associations_hu.desktop new file mode 100644 index 0000000..8dfdf40 --- /dev/null +++ b/lxqt-config-file-associations/translations/lxqt-config-file-associations_hu.desktop @@ -0,0 +1,4 @@ +# Translations +Name[hu]=Fájlhozzárendelések +GenericName[hu]=Fájltípusok hozzárendelése +Comment[hu]=Fájltípusok hozzárandelése programokhoz diff --git a/lxqt-config-file-associations/translations/lxqt-config-file-associations_hu.ts b/lxqt-config-file-associations/translations/lxqt-config-file-associations_hu.ts new file mode 100644 index 0000000..33699e6 --- /dev/null +++ b/lxqt-config-file-associations/translations/lxqt-config-file-associations_hu.ts @@ -0,0 +1,123 @@ + + + + + ApplicationChooser + + + ApplicationChooser + Alkalmazás választó + + + + Pick an application for: + Válassz alkalmazást ehhez: + + + + 1 + + + + + Applications that handle JPEG + JPEG kezelő alkalmazás + + + + + + + New Subitem + ÚJ alelem + + + + + Other applications + Más alkalmazás + + + + Applications that handle %1 + A %1 kezelő alkalmazás + + + + No applications found + Nincs alkalmazás + + + + MimetypeViewer + + + + None + Nincs + + + + &Change... + &Változtat + + + + &Choose... + &Választás + + + + mimetypeviewer + + + File Associations + Fájlhozzárendelések + + + + Default application + Alapértelmezett alkalmazás + + + + &Choose... + &Választás... + + + + TextLabel + Felirat + + + + None + Nincs + + + + Patterns + Szűrők + + + + *.txt *.xml + + + + + MIME type + MIME típus + + + + Icon + Ikon + + + + Description + Leírás + + + diff --git a/lxqt-config-file-associations/translations/lxqt-config-file-associations_it.ts b/lxqt-config-file-associations/translations/lxqt-config-file-associations_it.ts index efc59c1..9e4b549 100644 --- a/lxqt-config-file-associations/translations/lxqt-config-file-associations_it.ts +++ b/lxqt-config-file-associations/translations/lxqt-config-file-associations_it.ts @@ -33,17 +33,17 @@ - + Other applications Altre applicazioni - + Applications that handle %1 Applicazioni che possono gestire %1 - + No applications found Nessuna applicazione trovata diff --git a/lxqt-config-file-associations/translations/lxqt-config-file-associations_ja.ts b/lxqt-config-file-associations/translations/lxqt-config-file-associations_ja.ts index 2e2935b..eb2fec7 100644 --- a/lxqt-config-file-associations/translations/lxqt-config-file-associations_ja.ts +++ b/lxqt-config-file-associations/translations/lxqt-config-file-associations_ja.ts @@ -33,17 +33,17 @@ - + Other applications その他のアプリケーション - + Applications that handle %1 %1 を扱うアプリケーション - + No applications found アプリケーションが見つかりませんでした @@ -64,7 +64,7 @@ &Choose... - 選択(&C) + 選択(&C) diff --git a/lxqt-config-file-associations/translations/lxqt-config-file-associations_pl_PL.desktop b/lxqt-config-file-associations/translations/lxqt-config-file-associations_pl_PL.desktop new file mode 100644 index 0000000..1dc89d0 --- /dev/null +++ b/lxqt-config-file-associations/translations/lxqt-config-file-associations_pl_PL.desktop @@ -0,0 +1,4 @@ +# Translations +Name[pl]=Skojarzenia plików +GenericName[pl]=Ustawienia skojarzeń plików +Comment[pl]=Ustawienia domyślnych programów dla danego typu pliku diff --git a/lxqt-config-file-associations/translations/lxqt-config-file-associations_pl_PL.ts b/lxqt-config-file-associations/translations/lxqt-config-file-associations_pl_PL.ts new file mode 100644 index 0000000..5e2480b --- /dev/null +++ b/lxqt-config-file-associations/translations/lxqt-config-file-associations_pl_PL.ts @@ -0,0 +1,123 @@ + + + + + ApplicationChooser + + + ApplicationChooser + Wybór programu + + + + Pick an application for: + Wybierz program do obsługi: + + + + 1 + 1 + + + + Applications that handle JPEG + Programy obsługujące JPEG + + + + + + + New Subitem + Nowa pozycja + + + + + Other applications + Inne programy + + + + Applications that handle %1 + Programy obsługujące %1 + + + + No applications found + Nie znaleziono programów + + + + MimetypeViewer + + + + None + Brak + + + + &Change... + &Zmień... + + + + &Choose... + &Wybierz... + + + + mimetypeviewer + + + File Associations + Skojarzenia plików + + + + Default application + Domyślny program + + + + &Choose... + &Wybierz... + + + + TextLabel + TextLabel + + + + None + None + + + + Patterns + Rozszerzenia + + + + *.txt *.xml + *.txt *.xml + + + + MIME type + Typ MIME + + + + Icon + Ikona + + + + Description + Opis + + + diff --git a/lxqt-config-file-associations/translations/lxqt-config-file-associations_pt.ts b/lxqt-config-file-associations/translations/lxqt-config-file-associations_pt.ts index 33e260e..f46fcf9 100644 --- a/lxqt-config-file-associations/translations/lxqt-config-file-associations_pt.ts +++ b/lxqt-config-file-associations/translations/lxqt-config-file-associations_pt.ts @@ -33,17 +33,17 @@ - + Other applications Outras aplicações - + Applications that handle %1 Aplicações para manipular %1 - + No applications found Nenhuma aplicação encontrada diff --git a/lxqt-config-file-associations/translations/lxqt-config-file-associations_ru.ts b/lxqt-config-file-associations/translations/lxqt-config-file-associations_ru.ts index 616ea7f..b151624 100644 --- a/lxqt-config-file-associations/translations/lxqt-config-file-associations_ru.ts +++ b/lxqt-config-file-associations/translations/lxqt-config-file-associations_ru.ts @@ -33,17 +33,17 @@ - + Other applications Другие приложения - + Applications that handle %1 Приложение, которое поддерживает %1 - + No applications found Не найдены приложения diff --git a/lxqt-config-file-associations/translations/lxqt-config-file-associations_ru_RU.ts b/lxqt-config-file-associations/translations/lxqt-config-file-associations_ru_RU.ts index 616ea7f..b151624 100644 --- a/lxqt-config-file-associations/translations/lxqt-config-file-associations_ru_RU.ts +++ b/lxqt-config-file-associations/translations/lxqt-config-file-associations_ru_RU.ts @@ -33,17 +33,17 @@ - + Other applications Другие приложения - + Applications that handle %1 Приложение, которое поддерживает %1 - + No applications found Не найдены приложения diff --git a/lxqt-config-input/CMakeLists.txt b/lxqt-config-input/CMakeLists.txt index 5066be4..bf9b063 100644 --- a/lxqt-config-input/CMakeLists.txt +++ b/lxqt-config-input/CMakeLists.txt @@ -1,15 +1,10 @@ project(lxqt-config-input) find_package(X11 REQUIRED) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions") - - include_directories( ${X11_INCLUDE_DIR} - ${LXQT_INCLUDE_DIRS} - ${CMAKE_CURRENT_BINARY_DIR} - "${CMAKE_SOURCE_DIR}/liblxqt-config-cursor" - "${CMAKE_BINARY_DIR}/liblxqt-config-cursor" + "${CMAKE_CURRENT_SOURCE_DIR}/../liblxqt-config-cursor" + "${CMAKE_CURRENT_BINARY_DIR}/../liblxqt-config-cursor" ) set(lxqt-config-input_HDRS @@ -35,8 +30,6 @@ set(lxqt-config-input_UIS selectkeyboardlayoutdialog.ui ) -qt5_wrap_ui(lxqt-config-input_UI_H ${lxqt-config-input_UIS}) - # Translations ********************************** lxqt_translate_ts(QM_FILES UPDATE_TRANSLATIONS @@ -55,26 +48,31 @@ lxqt_translate_desktop(DESKTOP_FILES SOURCES ${PROJECT_NAME}.desktop.in) #************************************************ add_definitions( - -DPACKAGE_DATA_DIR="${CMAKE_INSTALL_PREFIX}/share/lxqt-config-input" + -DPACKAGE_DATA_DIR="${CMAKE_INSTALL_FULL_DATAROOTDIR}/lxqt-config-input" ) add_executable(lxqt-config-input ${lxqt-config-input_SRCS} - ${lxqt-config-input_UI_H} - ${lxqt-config-input_MOCS} ${DESKTOP_FILES} ${QM_FILES} ${QM_LOADER} ) target_link_libraries(lxqt-config-input - KF5::WindowSystem Qt5::Widgets Qt5::X11Extras ${X11_LIBRARIES} - ${LXQT_LIBRARIES} + lxqt lxqt-config-cursor ) -install(TARGETS lxqt-config-input RUNTIME DESTINATION bin) -install(FILES ${DESKTOP_FILES} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/applications") +install(TARGETS + lxqt-config-input + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + COMPONENT Runtime +) +install(FILES + ${DESKTOP_FILES} + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications" + COMPONENT Runtime +) diff --git a/lxqt-config-input/keyboardconfig.cpp b/lxqt-config-input/keyboardconfig.cpp index 3f77f55..66f9879 100644 --- a/lxqt-config-input/keyboardconfig.cpp +++ b/lxqt-config-input/keyboardconfig.cpp @@ -85,7 +85,7 @@ void KeyboardConfig::onKeyboardSliderChanged(int value) { /* apply keyboard values */ XkbSetAutoRepeatRate(QX11Info::display(), XkbUseCoreKbd, delay, interval); - + accept(); } diff --git a/lxqt-config-input/selectkeyboardlayoutdialog.cpp b/lxqt-config-input/selectkeyboardlayoutdialog.cpp index e6b0d8c..99fac20 100644 --- a/lxqt-config-input/selectkeyboardlayoutdialog.cpp +++ b/lxqt-config-input/selectkeyboardlayoutdialog.cpp @@ -39,7 +39,7 @@ SelectKeyboardLayoutDialog::SelectKeyboardLayoutDialog(QMap< QString, KeyboardLa } SelectKeyboardLayoutDialog::~SelectKeyboardLayoutDialog() { - + } void SelectKeyboardLayoutDialog::onLayoutChanged() { diff --git a/lxqt-config-input/selectkeyboardlayoutdialog.h b/lxqt-config-input/selectkeyboardlayoutdialog.h index 43bb12c..838d032 100644 --- a/lxqt-config-input/selectkeyboardlayoutdialog.h +++ b/lxqt-config-input/selectkeyboardlayoutdialog.h @@ -33,7 +33,7 @@ public: QString selectedLayout(); QString selectedVariant(); - + private Q_SLOTS: void onLayoutChanged(); diff --git a/lxqt-config-input/translations/lxqt-config-input_de.ts b/lxqt-config-input/translations/lxqt-config-input_de.ts index 4f0f21c..0a0f767 100644 --- a/lxqt-config-input/translations/lxqt-config-input_de.ts +++ b/lxqt-config-input/translations/lxqt-config-input_de.ts @@ -1,6 +1,6 @@ - + KeyboardConfig diff --git a/lxqt-config-input/translations/lxqt-config-input_hu.desktop b/lxqt-config-input/translations/lxqt-config-input_hu.desktop new file mode 100644 index 0000000..42db5bd --- /dev/null +++ b/lxqt-config-input/translations/lxqt-config-input_hu.desktop @@ -0,0 +1,4 @@ +# Translations +Name[hu]=Billentyű és egérbeállítás +GenericName[hu]=Beviteli eszközbeállítás +Comment[hu]=TA billentyűzet és egér beállítása diff --git a/lxqt-config-input/translations/lxqt-config-input_hu.ts b/lxqt-config-input/translations/lxqt-config-input_hu.ts new file mode 100644 index 0000000..1619984 --- /dev/null +++ b/lxqt-config-input/translations/lxqt-config-input_hu.ts @@ -0,0 +1,253 @@ + + + + + KeyboardConfig + + + Form + Űrlap + + + + Cursor flash time: + Kurzos villogási idő + + + + <b>Keyboard</b> + <b>Billentyűzet</b> + + + + Beep when there is an error of keyboard input + Billentyű hibánál csipogás + + + + ms + + + + + Character Repeat + Ismétlés + + + + + Long + Sok + + + + Repeat delay: + Ismétlési késleltetés: + + + + + Short + Rövid + + + + Repeat interval: + Ismétlési időköz + + + + Type in the following box to test your keyboard settings + Írj ide valamit tesztelésre! + + + + + 0 + + + + + KeyboardLayoutConfig + + + <b>Keyboard Layout</b> + <b>Billentyűkiosztás</b> + + + + Layout + Kiosztás + + + + Variant + Változat + + + + &Add + Hozzá&ad + + + + &Remove + Tö&röl + + + + up + föl + + + + down + le + + + + Keyboard model: + Billentyűzet modell: + + + + Keys to change layout: + Kiosztásváltoztató billentyű: + + + + None + Nincs + + + + <html><head/><body><p><span style=" font-weight:600;">Note</span>: If you are using an <span style=" font-weight:600;">input method</span>, such as IBus, uim, fcitx, or gcin, the settings here <span style=" font-weight:600;">might not work</span> because they are overridden by the input methods.</p></body></html> + <html><head/><body><p><span style=" font-weight:600;">Megjegyzés</span>: Ha bevitelként <span style=" font-weight:600;">például</span>, IBus, uim, fcitx, or gcin, szolgálnakl, ezek a beállítások <span style=" font-weight:600;">nem működnek</span> mert azok a beviteli módok ezt felülírják.</p></body></html> + + + + MouseConfig + + + Form + Űrlap + + + + <b>Mouse</b> + <b>Egér</b> + + + + Motion + Mozgás + + + + High + Nagy + + + + Fast + Gyors + + + + Sensitivity: + Érzékenység: + + + + Low + Kicsi + + + + Acceleration: + Gyorsulás: + + + + Slow + Lassú + + + + + 0 + + + + + Double click interval: + Duplakattintás: + + + + ms + + + + + Wheel scroll lines: + Gördítő sorok + + + + Left handed (Swap left and right mouse buttons) + Balkezes (Bal és jobb gombok cseréje) + + + + Single click to activate items + Egykattintásos aktiválás + + + + QObject + + + Keyboard and Mouse Settings + Billentyű és egérbeállítás + + + + Mouse + Egér + + + + Cursor + Kurzor + + + + Keyboard + Billentyűzet + + + + Keyboard Layout + Billentyűkiosztás + + + + SelectKeyboardLayoutDialog + + + Select a keyboard layout + Billentyűzetkiosztás választása + + + + Keyboard layout + Billentyűkiosztás + + + + Variant + Változat + + + diff --git a/lxqt-config-input/translations/lxqt-config-input_it.ts b/lxqt-config-input/translations/lxqt-config-input_it.ts index 2fde950..689ee66 100644 --- a/lxqt-config-input/translations/lxqt-config-input_it.ts +++ b/lxqt-config-input/translations/lxqt-config-input_it.ts @@ -11,60 +11,60 @@ Cursor flash time: - + Intervallo lampeggio cursore: <b>Keyboard</b> - + <b>Tastiera</b> Beep when there is an error of keyboard input - Emetti un beep per gli errori di input da tastiera + Emetti un beep per gli errori di input da tastiera ms - + Character Repeat - Ripetizione caratteri + Ripetizione caratteri Long - Lungo + Lungo Repeat delay: - Attesa ripetizione: + Attesa ripetizione: Short - Corto + Corto Repeat interval: - Intervallo ripetizione: + Intervallo ripetizione: Type in the following box to test your keyboard settings - Scrivere nella casella sottostante per provare le impostazioni della tastiera + Scrivere nella casella sottostante per provare le impostazioni della tastiera 0 - 0 + 0 @@ -72,57 +72,57 @@ <b>Keyboard Layout</b> - + Mappatura della tastiera Layout - + Mappatura Variant - + Variante &Add - + &Aggiungi &Remove - + &Rimuovi up - + su down - + giù Keyboard model: - + Modello della tastiera: Keys to change layout: - + Scorciatoia per cambio mappatura: None - + Nessuna <html><head/><body><p><span style=" font-weight:600;">Note</span>: If you are using an <span style=" font-weight:600;">input method</span>, such as IBus, uim, fcitx, or gcin, the settings here <span style=" font-weight:600;">might not work</span> because they are overridden by the input methods.</p></body></html> - + <b>Nota:</b> Se viene usato un metodo di input come IBus, uim, fcitx o gcin questi settaggi potrebbero non avere effetto. @@ -214,73 +214,73 @@ <b>Mouse</b> - + Motion - Movimento + Movimento High - Alta + Alta Fast - Veloce + Veloce Sensitivity: - Sensibilità: + Sensibilità: Low - Bassa + Bassa Acceleration: - Accelerazione: + Accelerazione: Slow - Lenta + Lenta 0 - 0 + 0 Double click interval: - + Intervallo doppio clic: ms - + Wheel scroll lines: - + Righe che scrolla la rotella: Left handed (Swap left and right mouse buttons) - Mancino (inverte tasto destro e sinistro del mouse) + Mancino (inverte tasto destro e sinistro del mouse) Single click to activate items - + Clic singolo per attivare gli elementi @@ -288,27 +288,27 @@ Keyboard and Mouse Settings - + Impostazioni per mouse e tastiera Mouse - Mouse + Mouse Cursor - + Cursore Keyboard - Tastiera + Tastiera Keyboard Layout - + Mappatura della tastiera @@ -316,17 +316,17 @@ Select a keyboard layout - + Selezione una mappatura Keyboard layout - + <b>Mappatura della tastiera></b> Variant - + Variante diff --git a/lxqt-config-input/translations/lxqt-config-input_pl.desktop b/lxqt-config-input/translations/lxqt-config-input_pl.desktop new file mode 100644 index 0000000..7a64193 --- /dev/null +++ b/lxqt-config-input/translations/lxqt-config-input_pl.desktop @@ -0,0 +1,4 @@ +# Translations +Name[pl]=Mysz i Klawiatura +GenericName[pl]=Urządzenia wejścia +Comment[pl]=Konfiguracja klawiatury i myszy diff --git a/lxqt-config-input/translations/lxqt-config-input_pl.ts b/lxqt-config-input/translations/lxqt-config-input_pl.ts index 792985e..e4aaf34 100644 --- a/lxqt-config-input/translations/lxqt-config-input_pl.ts +++ b/lxqt-config-input/translations/lxqt-config-input_pl.ts @@ -11,60 +11,60 @@ Cursor flash time: - + Częstotliwość migania kursora: <b>Keyboard</b> - + <b>Klawiatura</b> Beep when there is an error of keyboard input - Brzęczyk, gdy wystąpi błąd podczas wprowadzania z klawiatury + Brzęczyk, gdy wystąpi błąd podczas wprowadzania z klawiatury ms - + ms Character Repeat - Powtórzenia znaków + Powtórzenia znaków Long - Długie + Długie Repeat delay: - Opóźnienie powtórki: + Opóźnienie powtórki: Short - Krótkie + Krótkie Repeat interval: - Częstotliwość powtarzania: + Częstotliwość powtarzania: Type in the following box to test your keyboard settings - Zacznij pisać w okienku, aby przetestować ustawienia swojej klawiatury + Zacznij pisać w okienku, aby przetestować ustawienia swojej klawiatury 0 - 0 + 0 @@ -72,57 +72,57 @@ <b>Keyboard Layout</b> - + <b>Układ klawiatury</b> Layout - + Układ Variant - + Wariant &Add - + &Dodaj &Remove - + &Usuń up - + do góry down - + w dół Keyboard model: - + Model klawiatury: Keys to change layout: - + Klawisze do zmiany układu: None - + Brak <html><head/><body><p><span style=" font-weight:600;">Note</span>: If you are using an <span style=" font-weight:600;">input method</span>, such as IBus, uim, fcitx, or gcin, the settings here <span style=" font-weight:600;">might not work</span> because they are overridden by the input methods.</p></body></html> - + <html><head/><body><p><span style=" font-weight:600;">Notka</span>: Jeśli używasz <span style=" font-weight:600;">metod wejścia</span>, jak IBus, uim, fcitx, lub gcin, te ustawienia <span style=" font-weight:600;">mogą nie działać</span> ponieważ będą nadpisywane przez ustawienia tamtych metod.</p></body></html> @@ -214,73 +214,73 @@ <b>Mouse</b> - + <b>Mysz</b> Motion - Ruch + Ruch High - Wysoka + Wysoka Fast - Szybkie + Szybkie Sensitivity: - Czułość: + Czułość: Low - Niska + Niska Acceleration: - Przyspieszenie: + Przyspieszenie: Slow - Wolne + Wolne 0 - 0 + 0 Double click interval: - + Okres podwójnego kliknięcia: ms - + ms Wheel scroll lines: - + Przwijanie kółkiem (linie): Left handed (Swap left and right mouse buttons) - Leworęczna (Zamiana lewego i prawego przycisku myszy) + Leworęczna (zamiana lewego i prawego przycisku myszy) Single click to activate items - + Pojedyńcze kliknięcie wyzwala akcję @@ -288,27 +288,27 @@ Keyboard and Mouse Settings - + Ustawienia myszy i klawiatury Mouse - Mysz + Mysz Cursor - + Kursor Keyboard - Klawiatura + Klawiatura Keyboard Layout - + Układ klawiatury @@ -316,17 +316,17 @@ Select a keyboard layout - + Wybierz układ klawiatury Keyboard layout - + Układ klawiatury Variant - + Wariant diff --git a/lxqt-config-monitor/CMakeLists.txt b/lxqt-config-monitor/CMakeLists.txt index 66ef516..9948b63 100644 --- a/lxqt-config-monitor/CMakeLists.txt +++ b/lxqt-config-monitor/CMakeLists.txt @@ -1,9 +1,6 @@ project(lxqt-config-monitor) -include_directories ( - "${CMAKE_CURRENT_BINARY_DIR}" - ${LXQT_INCLUDE_DIRS} -) +find_package(Qt5Svg REQUIRED) set(H_FILES main.h @@ -12,6 +9,8 @@ set(H_FILES monitorwidget.h xrandr.h monitorpicture.h + quickoptions.h + savesettings.h ) set(CPP_FILES @@ -22,6 +21,8 @@ set(CPP_FILES monitorwidget.cpp timeoutdialog.cpp monitorpicture.cpp + quickoptions.cpp + savesettings.cpp ) set(UI_FILES @@ -29,9 +30,20 @@ set(UI_FILES monitorwidget.ui timeoutdialog.ui monitorpicture.ui + quickoptions.ui + savesettings.ui +) + +set(ICON_FILES + icons/monitor.svg + icons/extended.svg + icons/monitor1onmonitor2ff.svg + icons/unified.svg + icons/monitor1offmonitor2on.svg ) -qt5_wrap_ui(UI_HEADERS ${UI_FILES}) +# Config file +configure_file ( configure.in configure.h ) # Translations ********************************** lxqt_translate_ts(QM_FILES @@ -52,21 +64,32 @@ lxqt_translate_desktop(DESKTOP_FILES SOURCES ${PROJECT_NAME}.desktop.in) add_executable(${PROJECT_NAME} ${CPP_FILES} - ${UI_FILES} ${RESOURCES} ${QRC_SOURCES} ${QM_FILES} - ${MOC_SOURCES} ${DESKTOP_FILES} ${QM_LOADER} ) target_link_libraries(${PROJECT_NAME} - KF5::WindowSystem Qt5::Widgets Qt5::X11Extras - ${LXQT_LIBRARIES} + Qt5::Svg + lxqt ) -install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin) -install(FILES ${DESKTOP_FILES} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/applications") +install(TARGETS + ${PROJECT_NAME} + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + COMPONENT Runtime +) +install(FILES + ${DESKTOP_FILES} + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications" + COMPONENT Runtime +) +install(FILES + ${ICON_FILES} + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/lxqt/icons" + COMPONENT Runtime +) diff --git a/lxqt-config-monitor/configure.in b/lxqt-config-monitor/configure.in new file mode 100644 index 0000000..c0cd07a --- /dev/null +++ b/lxqt-config-monitor/configure.in @@ -0,0 +1,4 @@ +#ifndef __CONFIG_H__ +#define ICON_PATH "${CMAKE_INSTALL_PREFIX}/share/lxqt/icons/" +#define __CONFIG_H__ +#endif \ No newline at end of file diff --git a/lxqt-config-monitor/icons/extended.svg b/lxqt-config-monitor/icons/extended.svg new file mode 100644 index 0000000..ef6b25d --- /dev/null +++ b/lxqt-config-monitor/icons/extended.svg @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MoonBook + + + + + + + + + + + + image/svg+xml + + + + + Openclipart + + + + 2011-09-06T14:48:13 + Aluminum unibody laptop computer with glare screen. + https://openclipart.org/detail/159331/moonbook-laptop-by-dchest + + + dchest + + + + + computer + laptop + mac + macbook + notebook + + + + + + + + + + + diff --git a/lxqt-config-monitor/icons/monitor.svg b/lxqt-config-monitor/icons/monitor.svg new file mode 100644 index 0000000..102ec12 --- /dev/null +++ b/lxqt-config-monitor/icons/monitor.svg @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xmlOpenclipartmonitoring2011-02-16T19:15:54Iconos para monitoreo de proyectoshttps://openclipart.org/detail/119695/monitoring-by-jabernaljabernalbúsquedamonitoreomonitoringprojectproyectosearch + + image/svg+xml + + + + + + + + + + + + + diff --git a/lxqt-config-monitor/icons/monitor1offmonitor2on.svg b/lxqt-config-monitor/icons/monitor1offmonitor2on.svg new file mode 100644 index 0000000..550c797 --- /dev/null +++ b/lxqt-config-monitor/icons/monitor1offmonitor2on.svg @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MoonBook + + + + + + + + + + image/svg+xml + + + + + Openclipart + + + + 2011-09-06T14:48:13 + Aluminum unibody laptop computer with glare screen. + https://openclipart.org/detail/159331/moonbook-laptop-by-dchest + + + dchest + + + + + computer + laptop + mac + macbook + notebook + + + + + + + + + + + diff --git a/lxqt-config-monitor/icons/monitor1onmonitor2ff.svg b/lxqt-config-monitor/icons/monitor1onmonitor2ff.svg new file mode 100644 index 0000000..15c5875 --- /dev/null +++ b/lxqt-config-monitor/icons/monitor1onmonitor2ff.svg @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MoonBook + + + + + + + + + + image/svg+xml + + + + + Openclipart + + + + 2011-09-06T14:48:13 + Aluminum unibody laptop computer with glare screen. + https://openclipart.org/detail/159331/moonbook-laptop-by-dchest + + + dchest + + + + + computer + laptop + mac + macbook + notebook + + + + + + + + + + + diff --git a/lxqt-config-monitor/icons/unified.svg b/lxqt-config-monitor/icons/unified.svg new file mode 100644 index 0000000..7e41840 --- /dev/null +++ b/lxqt-config-monitor/icons/unified.svg @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MoonBook + + + + + + + + + + + + image/svg+xml + + + + + Openclipart + + + + 2011-09-06T14:48:13 + Aluminum unibody laptop computer with glare screen. + https://openclipart.org/detail/159331/moonbook-laptop-by-dchest + + + dchest + + + + + computer + laptop + mac + macbook + notebook + + + + + + + + + + + diff --git a/lxqt-config-monitor/lxqt-config-monitor.desktop.in b/lxqt-config-monitor/lxqt-config-monitor.desktop.in index 4d8c80b..bb7939e 100644 --- a/lxqt-config-monitor/lxqt-config-monitor.desktop.in +++ b/lxqt-config-monitor/lxqt-config-monitor.desktop.in @@ -5,7 +5,7 @@ GenericName=Monitor settings Comment=Configure monitors Exec=lxqt-config-monitor Icon=preferences-desktop-display -Categories=Settings;DesktopSettings;Qt;LXQt;;HardwareSettings; +Categories=Settings;DesktopSettings;Qt;LXQt;HardwareSettings; OnlyShowIn=LXQt; #TRANSLATIONS_DIR=translations diff --git a/lxqt-config-monitor/main.cpp b/lxqt-config-monitor/main.cpp index 7ca8e15..db6e656 100644 --- a/lxqt-config-monitor/main.cpp +++ b/lxqt-config-monitor/main.cpp @@ -19,17 +19,57 @@ #include "main.h" #include +#include +#include +#include #include "monitorsettingsdialog.h" +#include "quickoptions.h" #include "xrandr.h" +#include "savesettings.h" int main(int argc, char** argv) { - LxQt::SingleApplication app(argc, argv); + LxQt::SingleApplication app(argc, argv); - XRandRBackend *xrandr = new XRandRBackend(); - MonitorSettingsDialog dlg(xrandr); - app.setActivationWindow(&dlg); - dlg.setWindowIcon(QIcon::fromTheme("preferences-desktop-display")); - dlg.show(); + QByteArray configName = qgetenv("LXQT_SESSION_CONFIG"); + if(configName.isEmpty()) + configName = "MonitorSettings"; + LxQt::Settings settings(configName); + LxQt::ConfigDialog dlg(QObject::tr("Monitor Settings"), &settings); + dlg.setButtons(QDialogButtonBox::QDialogButtonBox::Apply|QDialogButtonBox::Close); + app.setActivationWindow(&dlg); + dlg.setWindowIcon(QIcon::fromTheme("preferences-desktop-display")); - return app.exec(); + XRandRBackend *xrandr = new XRandRBackend(); + MonitorSettingsDialog *monitorSettingsDialog = new MonitorSettingsDialog(xrandr, &settings); + monitorSettingsDialog->connect(&dlg, SIGNAL(clicked(QDialogButtonBox::StandardButton)), SLOT(processClickedFromDialog(QDialogButtonBox::StandardButton))); + { + QList monitorsInfo = xrandr->getMonitorsInfo(); + // If this is a laptop and there is an external monitor, offer quick options + if(monitorsInfo.length() == 2) { + QuickOptions *quickOptions = new QuickOptions(); + monitorSettingsDialog->connect(quickOptions->ui.useBoth, SIGNAL(clicked(bool)), SLOT(onUseBoth())); + monitorSettingsDialog->connect(quickOptions->ui.externalOnly, SIGNAL(clicked(bool)), SLOT(onExternalOnly())); + monitorSettingsDialog->connect(quickOptions->ui.laptopOnly, SIGNAL(clicked(bool)), SLOT(onLaptopOnly())); + monitorSettingsDialog->connect(quickOptions->ui.extended, SIGNAL(clicked(bool)), SLOT(onExtended())); + dlg.addPage(quickOptions, QObject::tr("Quick Options"), "format-justify-left"); + } + } + + dlg.addPage(monitorSettingsDialog, QObject::tr("Settings"), "preferences-desktop-display"); + + SaveSettings *saveSettings = new SaveSettings(&settings); + saveSettings->setHardwareIdentifier(monitorSettingsDialog->getHardwareIdentifier()); + // monitorSettingsDialog->connect(saveSettings->ui.saveSettings, SIGNAL(clicked(bool)), SLOT(saveSettingsSettings())); + monitorSettingsDialog->connect(saveSettings->ui.save, SIGNAL(clicked(bool)), SLOT(saveSettings())); + saveSettings->connect(monitorSettingsDialog, SIGNAL(settingsSaved()), SLOT(loadSettings())); + + dlg.addPage(saveSettings, QObject::tr("Save settings"), "system-run"); + + QObject::connect(&dlg, SIGNAL(reset()), &dlg, SLOT(accept())); + + if(QDialog::Accepted == dlg.exec() ) { + main(argc, argv); + } + + return 0; } diff --git a/lxqt-config-monitor/mainwindow.ui b/lxqt-config-monitor/mainwindow.ui index 32977cc..afa434b 100644 --- a/lxqt-config-monitor/mainwindow.ui +++ b/lxqt-config-monitor/mainwindow.ui @@ -6,8 +6,8 @@ 0 0 - 549 - 392 + 527 + 362 @@ -20,203 +20,89 @@ - - - 1 - - - - Quick Options - - - - - - Show the same screen on both laptop LCD and external monitor - - - - - - - Extended view - - - - - - - Turn off laptop LCD and use external monitor only - - - - - - - Turn off external monitor and use laptop LCD only - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - Settings - - - - - - - - - 0 - 1 - - - - Qt::ScrollBarAlwaysOff - - - - - - - - 1 - 1 - - - - - - - - - - - - Unify all monitors - - - - - - - Monitor Position - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - + + + + + + + + + 0 + 1 + + + + Qt::ScrollBarAlwaysOff + + + + + + + + 1 + 1 + + + + + + + + + + + + Unify all monitors + + + + + + + Monitor Position + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Primary monitor: + + + + + + - Primary monitor: + - - - - - - - - - - - - - - - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Apply|QDialogButtonBox::Close|QDialogButtonBox::Save - + + + + + + - - buttonBox - rejected() - MonitorSettingsDialog - reject() - - - 338 - 439 - - - 286 - 257 - - - - - unify - toggled(bool) - primaryLabel - setDisabled(bool) - - - 115 - 386 - - - 413 - 388 - - - - - unify - toggled(bool) - primaryCombo - setDisabled(bool) - - - 60 - 386 - - - 491 - 388 - - - monitorList currentRowChanged(int) @@ -224,12 +110,12 @@ setCurrentIndex(int) - 126 - 181 + 146 + 146 - 392 - 186 + 394 + 146 diff --git a/lxqt-config-monitor/monitor.cpp b/lxqt-config-monitor/monitor.cpp index 3802ad2..f8e8a4f 100644 --- a/lxqt-config-monitor/monitor.cpp +++ b/lxqt-config-monitor/monitor.cpp @@ -21,17 +21,6 @@ bool MonitorInfo::LVDS_Ok = false; -QSize sizeFromString(QString str) { - int width = 0; - int height = 0; - int x = str.indexOf('x'); - if(x > 0) { - width = str.left(x).toInt(); - height = str.mid(x + 1).toInt(); - } - return QSize(width, height); -} - bool MonitorSettingsBackend::isUnified(const QList< MonitorInfo* > monitors) { Q_FOREACH(MonitorInfo * monitor, monitors) { if(monitor->position != MonitorSettings::None) @@ -63,12 +52,20 @@ QString MonitorInfo::humanReadableName() { return name; } -QSize MonitorSettings::currentSize() { - return sizeFromString(currentMode); -} - -QRect MonitorSettings::geometry() { - return QRect(QPoint(xPos, yPos), currentSize()); +MonitorMode::MonitorMode(QString modeName, QObject *parent):QObject(parent) { + mode = modeName; + width = -1; + height = -1; } +QSize sizeFromString(QString str) { + int width = 0; + int height = 0; + int x = str.indexOf('x'); + if(x > 0) { + width = str.left(x).toInt(); + height = str.mid(x + 1).toInt(); + } + return QSize(width, height); +} diff --git a/lxqt-config-monitor/monitor.h b/lxqt-config-monitor/monitor.h index 01d313c..b5df05b 100644 --- a/lxqt-config-monitor/monitor.h +++ b/lxqt-config-monitor/monitor.h @@ -20,6 +20,7 @@ #ifndef _MONITOR_H_ #define _MONITOR_H_ +#include #include #include #include @@ -44,11 +45,18 @@ public: enum Position {None = 0, Manual}; Position position; bool primaryOk; - - QSize currentSize(); - QRect geometry(); }; +// Monitor mode and suported rates +class MonitorMode: public QObject { + Q_OBJECT +public: + MonitorMode(QString modeName, QObject *parent = 0); + QString mode; + QStringList modeLines; + int width; + int height; +}; // Monitor information from backend class MonitorInfo: public MonitorSettings { @@ -56,12 +64,12 @@ class MonitorInfo: public MonitorSettings { public: MonitorInfo(QObject* parent = 0); QStringList modes; // Modes of this monitor in order - QHash modeLines; // Rates suported by each mode + QHash monitorModes; // Rates suported by each mode QString preferredMode; QString preferredRate; QString edid; // EDID data, not used yet, can be used to detect vendor name of the monitor QString vendor; - + static bool LVDS_Ok; // Is true if LVDS (Laptop monitor) is connected. QString humanReadableName(); }; @@ -76,7 +84,10 @@ public: virtual bool isUnified(const QList monitors); }; + + /**Gets size from string rate. String rate format is "widthxheight". Example: 800x600*/ QSize sizeFromString(QString str); -#endif // _MONITOR_H_ \ No newline at end of file + +#endif // _MONITOR_H_ diff --git a/lxqt-config-monitor/monitorpicture.cpp b/lxqt-config-monitor/monitorpicture.cpp index 84b0a31..f42bdbb 100644 --- a/lxqt-config-monitor/monitorpicture.cpp +++ b/lxqt-config-monitor/monitorpicture.cpp @@ -5,6 +5,7 @@ #include #include #include +#include "configure.h" MonitorPictureDialog::MonitorPictureDialog(QWidget * parent, Qt::WindowFlags f): QDialog(parent,f) { @@ -50,31 +51,55 @@ void MonitorPictureDialog::updateMonitorWidgets(QString primaryMonitor) { } + MonitorPicture::MonitorPicture(QGraphicsItem * parent, MonitorWidget *monitorWidget, MonitorPictureDialog *monitorPictureDialog):QGraphicsRectItem(parent) { this->monitorWidget = monitorWidget; this->monitorPictureDialog = monitorPictureDialog; - QSize currentSize = sizeFromString(monitorWidget->ui.resolutionCombo->currentText()); + //QString modeName = monitorWidget->ui.resolutionCombo->currentText(); + //int currentSizeWidth = monitorWidget->monitorInfo->monitorModes[modeName]->width; + //int currentSizeHeight = monitorWidget->monitorInfo->monitorModes[modeName]->height; + MonitorMode *monitorModeInfo = monitorWidget->ui.resolutionCombo->currentData().value(); + int currentSizeWidth = monitorModeInfo->width; + int currentSizeHeight = monitorModeInfo->height; int x = monitorWidget->ui.xPosSpinBox->value(); int y = monitorWidget->ui.yPosSpinBox->value(); setAcceptedMouseButtons(Qt::LeftButton); setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemSendsGeometryChanges); - setRect(x, y, currentSize.width(), currentSize.height()); + setRect(x, y, currentSizeWidth, currentSizeHeight); originX = x; originY = y; - setPen(QPen(Qt::black, 20)); + + + QSvgRenderer *renderer = new QSvgRenderer(QLatin1String(ICON_PATH "monitor.svg")); + svgItem = new QGraphicsSvgItem(); + svgItem->setSharedRenderer(renderer); + svgItem->setX(x); + svgItem->setY(y); + svgItem->setOpacity(0.7); + svgItem->setParentItem(this); + + textItem = new QGraphicsTextItem(monitorWidget->monitorInfo->name, this); + textItem->setDefaultTextColor(Qt::white); textItem->setX(x); textItem->setY(y); textItem->setParentItem(this); - + setPen(QPen(Qt::black, 20)); + adjustNameSize(); } void MonitorPicture::adjustNameSize() { - qreal fontWidth = QFontMetrics(textItem->font()).width(monitorWidget->monitorInfo->name+" "); + prepareGeometryChange(); + qreal fontWidth = QFontMetrics(textItem->font()).width(monitorWidget->monitorInfo->name+" "); textItem->setScale((qreal)this->rect().width()/fontWidth); + QTransform transform; + qreal width = qAbs(this->rect().width()/svgItem->boundingRect().width()); + qreal height = qAbs(this->rect().height()/svgItem->boundingRect().height()); + transform.scale(width, height); + svgItem->setTransform(transform); } @@ -105,7 +130,7 @@ void MonitorPicture::mouseReleaseEvent(QGraphicsSceneMouseEvent * event) ////////////////////////////////////////////////////////////////////////////////// // Move picture to nearest picture procedure. -// Read magnetic_attraction.html for more info about the algorithm used. +// Read magnetic_attraction.html for more info about the algorithm used. ////////////////////////////////////////////////////////////////////////////////// struct Parameters { @@ -198,14 +223,14 @@ static Result_moveMonitorPictureToNearest compareTwoMonitors(MonitorPicture* mon if(params.t1>=0.0 && params.t1<=1.0 && params.t2>=0.0 && params.t2<=1.0) { if(t2<0) {t2 = params.t1; P2 = params.cutPoint;} } - + if(t1>t2) { //Monitor outside result.vector = P1-P2; result.ok = false; } else { result.ok = true; } - + return result; } diff --git a/lxqt-config-monitor/monitorpicture.h b/lxqt-config-monitor/monitorpicture.h index 775237c..efa3daf 100644 --- a/lxqt-config-monitor/monitorpicture.h +++ b/lxqt-config-monitor/monitorpicture.h @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include "monitor.h" #include "ui_monitorpicture.h" #include "monitorwidget.h" @@ -50,11 +52,12 @@ public: MonitorPicture(QGraphicsItem * parent, MonitorWidget *monitorWidget, MonitorPictureDialog *monitorPictureDialog); void setMonitorPosition(int x, int y); void adjustNameSize(); - + MonitorWidget *monitorWidget; int originX, originY; private: QGraphicsTextItem *textItem; + QGraphicsSvgItem *svgItem; MonitorPictureDialog *monitorPictureDialog; protected: diff --git a/lxqt-config-monitor/monitorsettingsdialog.cpp b/lxqt-config-monitor/monitorsettingsdialog.cpp index feca0ab..8f073d8 100644 --- a/lxqt-config-monitor/monitorsettingsdialog.cpp +++ b/lxqt-config-monitor/monitorsettingsdialog.cpp @@ -30,18 +30,23 @@ #include #include #include +#include #include +#include +#include +#include #include "monitorwidget.h" #include "timeoutdialog.h" #include "xrandr.h" #include "monitorpicture.h" -MonitorSettingsDialog::MonitorSettingsDialog(MonitorSettingsBackend* backend): +MonitorSettingsDialog::MonitorSettingsDialog(MonitorSettingsBackend* backend, LxQt::Settings *applicationSettings): QDialog(NULL, 0), LVDS(NULL) { timeoutDialog = NULL; timer = NULL; + this->applicationSettings = applicationSettings; this->backend = backend; backend->setParent(this); setupUi(); @@ -158,28 +163,26 @@ void MonitorSettingsDialog::onExtended() { monitor->chooseMaxResolution(); monitor->enableMonitor(true); monitor->disablePositionOption(false); - QSize size = sizeFromString(monitor->ui.resolutionCombo->currentText()); + QString modeName = monitor->ui.resolutionCombo->currentText(); + int modeWidth = monitor->monitorInfo->monitorModes[modeName]->width; monitor->ui.xPosSpinBox->setValue(virtualWidth); monitor->ui.yPosSpinBox->setValue(0); - virtualWidth+=size.width(); + virtualWidth+=modeWidth; } setMonitorsConfig(); } void MonitorSettingsDialog::setupUi() { ui.setupUi(this); - connect(ui.useBoth, SIGNAL(clicked(bool)), SLOT(onUseBoth())); - connect(ui.externalOnly, SIGNAL(clicked(bool)), SLOT(onExternalOnly())); - connect(ui.laptopOnly, SIGNAL(clicked(bool)), SLOT(onLaptopOnly())); - connect(ui.extended, SIGNAL(clicked(bool)), SLOT(onExtended())); - connect(ui.buttonBox, SIGNAL(clicked(QAbstractButton*)), SLOT(onDialogButtonClicked(QAbstractButton*))); connect(ui.positionPushButton, SIGNAL(clicked()), SLOT(onPositionButtonClicked())); // Get monitors information QList monitorsInfo = backend->getMonitorsInfo(); // Search if LVSD monitor is connected + hardwareIdentifier = ""; Q_FOREACH(MonitorInfo * monitorInfo, monitorsInfo) { + hardwareIdentifier+=monitorInfo->edid; if(! LVDS && (monitorInfo->name.startsWith("LVDS") || monitorInfo->name.startsWith("PANEL"))) { MonitorInfo::LVDS_Ok = true; break; @@ -226,15 +229,11 @@ void MonitorSettingsDialog::setupUi() { // If this is a laptop and there is an external monitor, offer quick options if(monitors.length() == 2) { - ui.tabWidget->setCurrentIndex(0); // If there is only two monitors,offer quick options if(! LVDS) { LVDS = monitors[0]; } } - else { - ui.tabWidget->removeTab(0); - } adjustSize(); } @@ -256,11 +255,11 @@ void MonitorSettingsDialog::onPositionButtonClicked() { delete dialog; } -void MonitorSettingsDialog::onDialogButtonClicked(QAbstractButton* button) { - if(ui.buttonBox->standardButton(button) == QDialogButtonBox::Apply) { +void MonitorSettingsDialog::applySettings() { setMonitorsConfig(); - } - else if(ui.buttonBox->standardButton(button) == QDialogButtonBox::Save) { +} + +void MonitorSettingsDialog::saveSettings() { // Save config and exit QMessageBox msgBox; msgBox.setText(tr("Do you want to save changes?")); @@ -270,6 +269,12 @@ void MonitorSettingsDialog::onDialogButtonClicked(QAbstractButton* button) { int ret = msgBox.exec(); if( ret == QMessageBox::Cancel ) return; + bool ok; + QString configName = QInputDialog::getText(this, tr("Name"), + tr("Name:"), QLineEdit::Normal, + tr("Actual"), &ok); + if (!ok || configName.isEmpty()) + return; QList settings = getMonitorsSettings(); QString cmd = backend->getCommand(settings); Q_FOREACH(MonitorSettings * s, settings) { @@ -282,13 +287,13 @@ void MonitorSettingsDialog::onDialogButtonClicked(QAbstractButton* button) { "Exec=%1\n" "OnlyShowIn=LXQt\n").arg(cmd); // Check if ~/.config/autostart/ exists - bool ok = true; + ok = true; QFileInfo fileInfo(QDir::homePath() + "/.config/autostart/"); if( ! fileInfo.exists() ) ok = QDir::root().mkpath(QDir::homePath() + "/.config/autostart/"); QFile file(QDir::homePath() + "/.config/autostart/lxqt-config-monitor-autostart.desktop"); if(ok) - ok = file.open(QIODevice::WriteOnly | QIODevice::Text); + ok = file.open(QIODevice::WriteOnly | QIODevice::Text); if(!ok) { QMessageBox::critical(this, tr("Error"), tr("Config can not be saved")); return; @@ -297,7 +302,30 @@ void MonitorSettingsDialog::onDialogButtonClicked(QAbstractButton* button) { out << desktop; out.flush(); file.close(); - //QDialog::accept(); - } + + // Save config in applicationSettings + applicationSettings->beginGroup("configMonitor"); + QJsonArray savedConfigs = QJsonDocument::fromJson(applicationSettings->value("saved").toByteArray()).array(); + QJsonObject monitorConfig; + monitorConfig["hardwareIdentifier"] = hardwareIdentifier; + monitorConfig["command"] = cmd; + monitorConfig["name"] = configName; + savedConfigs.append(monitorConfig); + applicationSettings->setValue("saved", QVariant(QJsonDocument(savedConfigs).toJson())); + applicationSettings->endGroup(); + emit(settingsSaved()); } +#include + +void MonitorSettingsDialog::processClickedFromDialog(QDialogButtonBox::StandardButton button) +{ + qDebug() << "[MonitorSettingsDialog::processClickedFromDialog]"; + if(button == QDialogButtonBox::Apply) + setMonitorsConfig(); +} + +QString MonitorSettingsDialog::getHardwareIdentifier() +{ + return hardwareIdentifier; +} diff --git a/lxqt-config-monitor/monitorsettingsdialog.h b/lxqt-config-monitor/monitorsettingsdialog.h index baf0ecc..0976ab0 100644 --- a/lxqt-config-monitor/monitorsettingsdialog.h +++ b/lxqt-config-monitor/monitorsettingsdialog.h @@ -22,6 +22,8 @@ #define MONITORSETTINGSDIALOG_H #include +#include +#include #include "ui_mainwindow.h" #include "monitor.h" #include "monitorwidget.h" @@ -33,9 +35,26 @@ class MonitorSettingsDialog: public QDialog { Q_OBJECT public: - MonitorSettingsDialog(MonitorSettingsBackend* backend); + MonitorSettingsDialog(MonitorSettingsBackend* backend, LxQt::Settings *applicationSettings); virtual ~MonitorSettingsDialog(); virtual void accept(); + QString getHardwareIdentifier(); + +public Q_SLOTS: + // quick options + void onUseBoth(); + void onExternalOnly(); + void onLaptopOnly(); + void onExtended(); + // applying and saving settings + void applySettings(); + void saveSettings(); + + // Apply settings from ConfigDialog + void processClickedFromDialog(QDialogButtonBox::StandardButton button); + +signals: + void settingsSaved(); private: void setMonitorsConfig(); @@ -48,13 +67,6 @@ private Q_SLOTS: // Timeout dialog signals void onCancelSettings(); - // quick options - void onUseBoth(); - void onExternalOnly(); - void onLaptopOnly(); - void onExtended(); - - void onDialogButtonClicked(QAbstractButton* button); void onPositionButtonClicked(); void disablePositionOption(bool disable); @@ -67,6 +79,8 @@ private: TimeoutDialog* timeoutDialog; QTimer* timer; QList timeoutSettings; + LxQt::Settings *applicationSettings; + QString hardwareIdentifier; }; #endif // MONITORSETTINGSDIALOG_H diff --git a/lxqt-config-monitor/monitorwidget.cpp b/lxqt-config-monitor/monitorwidget.cpp index 8d4ad52..bcc378e 100644 --- a/lxqt-config-monitor/monitorwidget.cpp +++ b/lxqt-config-monitor/monitorwidget.cpp @@ -35,7 +35,7 @@ MonitorWidget::MonitorWidget(MonitorInfo* monitor, const QList mon // turn off screen is not allowed since there should be at least one monitor available. ui.enabled->setEnabled(false); } - + ui.xPosSpinBox->setValue(monitor->xPos); ui.yPosSpinBox->setValue(monitor->yPos); @@ -45,10 +45,11 @@ MonitorWidget::MonitorWidget(MonitorInfo* monitor, const QList mon connect(ui.resolutionCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(onResolutionChanged(int))); ui.resolutionCombo->addItem(tr("Auto")); Q_FOREACH(QString _mode_line, monitor->modes) { - ui.resolutionCombo->addItem(_mode_line); + QVariant monitorModeInfo = QVariant::fromValue(monitor->monitorModes[_mode_line]); + ui.resolutionCombo->addItem(_mode_line, monitorModeInfo); } - - + + if(!monitor->currentMode.isEmpty()) ui.resolutionCombo->setCurrentIndex(ui.resolutionCombo->findText(monitor->currentMode)); else @@ -57,14 +58,14 @@ MonitorWidget::MonitorWidget(MonitorInfo* monitor, const QList mon ui.rateCombo->setCurrentIndex(ui.rateCombo->findText(monitor->currentRate)); else ui.rateCombo->setCurrentIndex(0); - + int brightness; if( !monitorInfo->brightness.isEmpty() ) brightness = monitorInfo->brightness.toFloat()*100; else brightness = 100; ui.brightnessSlider->setValue(brightness); - + // Set gamma values ui.redSpinBox->setSingleStep(0.01); ui.greenSpinBox->setSingleStep(0.01); @@ -75,7 +76,7 @@ MonitorWidget::MonitorWidget(MonitorInfo* monitor, const QList mon ui.greenSpinBox->setValue(gammaValues[1].toFloat()); ui.blueSpinBox->setValue(gammaValues[2].toFloat()); } - + //Set backlight values if( !monitor->backlight.isEmpty() ) { ui.backlightSlider->setMinimum(monitor->backlightMin.toInt()); @@ -90,13 +91,13 @@ MonitorWidget::MonitorWidget(MonitorInfo* monitor, const QList mon void MonitorWidget::onResolutionChanged(int index) { QComboBox* combo =ui.resolutionCombo; - QHash modeLines = monitorInfo->modeLines; QComboBox* rateCombo = ui.rateCombo; QString mode = combo->currentText(); rateCombo->clear(); rateCombo->addItem(tr("Auto")); - if(modeLines.contains(mode)) { - QStringList mode_lines = modeLines[mode]; + if( monitorInfo->monitorModes.contains(mode)) { + QStringList mode_lines = combo->currentData().value()->modeLines; + //QStringList mode_lines = monitorInfo->monitorModes[mode]->modeLines; Q_FOREACH(QString rate, mode_lines) { rateCombo->addItem(rate); } diff --git a/lxqt-config-monitor/quickoptions.cpp b/lxqt-config-monitor/quickoptions.cpp new file mode 100644 index 0000000..876efea --- /dev/null +++ b/lxqt-config-monitor/quickoptions.cpp @@ -0,0 +1,39 @@ +/* + Copyright (C) 2015 P.L. Lucas + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#include "quickoptions.h" +#include "configure.h" + + +QuickOptions::QuickOptions(QWidget* parent): + QDialog(parent) { + + ui.setupUi(this); + + ui.useBoth->setIcon(QIcon(ICON_PATH "unified.svg")); + ui.externalOnly->setIcon(QIcon(ICON_PATH "monitor1offmonitor2on.svg")); + ui.extended->setIcon(QIcon(ICON_PATH "extended.svg")); + ui.laptopOnly->setIcon(QIcon(ICON_PATH "monitor1onmonitor2ff.svg")); + + QSize size(128,64); + ui.useBoth->setIconSize(size); + ui.externalOnly->setIconSize(size); + ui.extended->setIconSize(size); + ui.laptopOnly->setIconSize(size); + +} diff --git a/lxqt-config-monitor/quickoptions.h b/lxqt-config-monitor/quickoptions.h new file mode 100644 index 0000000..779ac3a --- /dev/null +++ b/lxqt-config-monitor/quickoptions.h @@ -0,0 +1,36 @@ +/* + Copyright (C) 2015 P.L. Lucas + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + + +#ifndef _QUICKOPTIONS_H_ +#define _QUICKOPTIONS_H_ + +#include "ui_quickoptions.h" + +// Monitor info +class QuickOptions : public QDialog { + Q_OBJECT + +public: + QuickOptions(QWidget* parent = 0); + + Ui::QuickOptions ui; + +}; + +#endif // _QUICKOPTIONS_H_ diff --git a/lxqt-config-monitor/quickoptions.ui b/lxqt-config-monitor/quickoptions.ui new file mode 100644 index 0000000..3bd6f97 --- /dev/null +++ b/lxqt-config-monitor/quickoptions.ui @@ -0,0 +1,107 @@ + + + QuickOptions + + + + 0 + 0 + 549 + 258 + + + + Monitor Settings + + + + + + + + + + + + + + 0 + 0 + + + + Show the same screen on both laptop LCD and external monitor + + + Qt::ToolButtonTextBesideIcon + + + + + + + + 0 + 0 + + + + Extended view + + + Qt::ToolButtonTextBesideIcon + + + + + + + + 0 + 0 + + + + Turn off laptop LCD and use external monitor only + + + Qt::ToolButtonTextBesideIcon + + + + + + + + 0 + 0 + + + + Turn off external monitor and use laptop LCD only + + + Qt::ToolButtonTextBesideIcon + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + diff --git a/lxqt-config-monitor/savesettings.cpp b/lxqt-config-monitor/savesettings.cpp new file mode 100644 index 0000000..334de4b --- /dev/null +++ b/lxqt-config-monitor/savesettings.cpp @@ -0,0 +1,117 @@ +/* + Copyright (C) 2015 P.L. Lucas + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#include +#include +#include "savesettings.h" +#include "configure.h" +#include +#include +#include +#include + +SaveSettings::SaveSettings(LxQt::Settings*applicationSettings, QWidget* parent): + QDialog(parent) { + + this->applicationSettings = applicationSettings; + + ui.setupUi(this); + + QSize size(128,64); + ui.save->setIcon(QIcon::fromTheme("document-save")); + ui.save->setIconSize(size); + + connect(ui.hardwareCompatibleConfigs, SIGNAL(itemDoubleClicked(QListWidgetItem *)), SLOT(setSavedSettings(QListWidgetItem *))); + connect(ui.deletePushButton, SIGNAL(clicked()), SLOT(onDeleteItem())); + connect(ui.renamePushButton, SIGNAL(clicked()), SLOT(onRenameItem())); + + loadSettings(); +} + +void SaveSettings::setHardwareIdentifier(QString hardwareIdentifier) { + this->hardwareIdentifier = hardwareIdentifier; + loadSettings(); +} + +void SaveSettings::setSavedSettings(QListWidgetItem * item) { + QJsonObject o = item->data(Qt::UserRole).toJsonObject(); + QString cmd = o["command"].toString(); + qDebug() << "[SaveSettings::setSavedSettings]: " << cmd; + QProcess::execute(cmd); +} + +void SaveSettings::onDeleteItem() { + if( ui.allConfigs->currentItem() == NULL ) + return; + QJsonObject obj = ui.allConfigs->currentItem()->data(Qt::UserRole).toJsonObject(); + applicationSettings->beginGroup("configMonitor"); + QJsonArray savedConfigs = QJsonDocument::fromJson(applicationSettings->value("saved").toByteArray()).array(); + for(int i=0;isetValue("saved", QVariant(QJsonDocument(savedConfigs).toJson())); + applicationSettings->endGroup(); + loadSettings(); +} + +void SaveSettings::onRenameItem() { + if( ui.allConfigs->currentItem() == NULL ) + return; + QJsonObject obj = ui.allConfigs->currentItem()->data(Qt::UserRole).toJsonObject(); + bool ok; + QString configName = QInputDialog::getText(this, tr("Name"), tr("Name:"), QLineEdit::Normal, obj["name"].toString(), &ok); + if (!ok || configName.isEmpty()) + return; + applicationSettings->beginGroup("configMonitor"); + QJsonArray savedConfigs = QJsonDocument::fromJson(applicationSettings->value("saved").toByteArray()).array(); + for(int i=0;isetValue("saved", QVariant(QJsonDocument(savedConfigs).toJson())); + applicationSettings->endGroup(); + loadSettings(); +} + +void SaveSettings::loadSettings() { + ui.allConfigs->clear(); + ui.hardwareCompatibleConfigs->clear(); + applicationSettings->beginGroup("configMonitor"); + QJsonArray savedConfigs = QJsonDocument::fromJson(applicationSettings->value("saved").toByteArray()).array(); + foreach (const QJsonValue & v, savedConfigs) { + QJsonObject o = v.toObject(); + QListWidgetItem *item = new QListWidgetItem(o["name"].toString(), ui.allConfigs); + item->setData(Qt::UserRole, QVariant(o)); + if(o["hardwareIdentifier"].toString() == hardwareIdentifier) { + QListWidgetItem *item = new QListWidgetItem(o["name"].toString(), ui.hardwareCompatibleConfigs); + item->setData(Qt::UserRole, QVariant(o)); + } + } + applicationSettings->endGroup(); +} diff --git a/lxqt-config-monitor/savesettings.h b/lxqt-config-monitor/savesettings.h new file mode 100644 index 0000000..7a05aed --- /dev/null +++ b/lxqt-config-monitor/savesettings.h @@ -0,0 +1,55 @@ +/* + Copyright (C) 2015 P.L. Lucas + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + + +#ifndef _SAVESETTINGS_H_ +#define _SAVESETTINGS_H_ + +#include "ui_savesettings.h" +#include + +// Monitor info +class SaveSettings : public QDialog { + Q_OBJECT + +public: + SaveSettings(LxQt::Settings*applicationSettings, QWidget* parent = 0); + + Ui::SaveSettings ui; + +public slots: + /*! Load settings to QListWidgets. + eids is hardware code to detect hardware compatible settings. + */ + void loadSettings(); + + void setHardwareIdentifier(QString hardwareIdentifier); + + void setSavedSettings(QListWidgetItem * item); + + void onDeleteItem(); + + void onRenameItem(); + +private: + LxQt::Settings*applicationSettings; + QString hardwareIdentifier; + +}; + +#endif // _SAVESETTINGS_H_ diff --git a/lxqt-config-monitor/savesettings.ui b/lxqt-config-monitor/savesettings.ui new file mode 100644 index 0000000..6471e0f --- /dev/null +++ b/lxqt-config-monitor/savesettings.ui @@ -0,0 +1,93 @@ + + + SaveSettings + + + + 0 + 0 + 521 + 312 + + + + Monitor Settings + + + + + + + + + + + + + + 0 + 0 + + + + Save + + + Qt::ToolButtonTextBesideIcon + + + + + + + Saved settings + + + + + + All: + + + + + + + Hardware compatible: + + + + + + + + + + + + + + + Rename + + + + + + + Delete + + + + + + + + + + + + + + + diff --git a/lxqt-config-monitor/timeoutdialog.h b/lxqt-config-monitor/timeoutdialog.h index 08a5ad0..18611ee 100644 --- a/lxqt-config-monitor/timeoutdialog.h +++ b/lxqt-config-monitor/timeoutdialog.h @@ -34,7 +34,7 @@ public: protected: virtual void showEvent(QShowEvent* e); - + private Q_SLOTS: void onTimeout(); diff --git a/lxqt-config-monitor/translations/lxqt-config-monitor.ts b/lxqt-config-monitor/translations/lxqt-config-monitor.ts index 55b1d44..eadc6a7 100644 --- a/lxqt-config-monitor/translations/lxqt-config-monitor.ts +++ b/lxqt-config-monitor/translations/lxqt-config-monitor.ts @@ -4,37 +4,37 @@ MonitorInfo - + Laptop LCD Monitor - + External VGA Monitor - + VGA Monitor - + External DVI Monitor - + DVI Monitor - + TV - + Default Monitor @@ -60,67 +60,52 @@ - - Quick Options - - - - - Show the same screen on both laptop LCD and external monitor - - - - - Extended view - - - - - Turn off laptop LCD and use external monitor only + + Unify all monitors - - Turn off external monitor and use laptop LCD only + + Monitor Position - - Settings + + Primary monitor: - - Unify all monitors + + Do you want to save changes? - - Monitor Position + + Please, check the settings before saving. - - Primary monitor: + + Name - - Do you want to save changes? + + Name: - - Please, check your config before to save. + + Actual - + Error - + Config can not be saved @@ -193,11 +178,107 @@ QObject - - + + Auto + + + Monitor Settings + + + + + Quick Options + + + + + Settings + + + + + Save settings + + + + + QuickOptions + + + Monitor Settings + + + + + Show the same screen on both laptop LCD and external monitor + + + + + Extended view + + + + + Turn off laptop LCD and use external monitor only + + + + + Turn off external monitor and use laptop LCD only + + + + + SaveSettings + + + Monitor Settings + + + + + Save + + + + + Saved settings + + + + + All: + + + + + Hardware compatible: + + + + + Rename + + + + + Delete + + + + + Name + + + + + Name: + + TimeoutDialog diff --git a/lxqt-config-monitor/translations/lxqt-config-monitor_de.ts b/lxqt-config-monitor/translations/lxqt-config-monitor_de.ts index 01c7641..e9224a2 100644 --- a/lxqt-config-monitor/translations/lxqt-config-monitor_de.ts +++ b/lxqt-config-monitor/translations/lxqt-config-monitor_de.ts @@ -1,40 +1,40 @@ - + MonitorInfo - + Laptop LCD Monitor Laptop-Bildschirm - + External VGA Monitor Externer VGA-Bildschirm - + VGA Monitor VGA-Bildschirm - + External DVI Monitor Externer DVI-Bildschirm - + DVI Monitor DVI-Bildschirm - + TV Fernseher - + Default Monitor Standardbildschirm @@ -60,67 +60,52 @@ Bildschirmeinstellungen - - Quick Options - Schnellwahl - - - - Show the same screen on both laptop LCD and external monitor - Gleiches Bild auf Laptop und externem Bildschirm anzeigen - - - - Extended view - Erweiterter Bildschirm - - - - Turn off laptop LCD and use external monitor only - Laptop-Bildschirm ausschalten und nur den externen Monitor verwenden - - - - Turn off external monitor and use laptop LCD only - Externen Monitor ausschalten und nur den Laptop-Bildschirm verwenden - - - - Settings - Einstellungen - - - + Unify all monitors Alle Bildschirme gleich behandeln - + Monitor Position Bildschirmposition - + Primary monitor: Hauptbildschirm: - + Do you want to save changes? Einstellungen sichern? - - Please, check your config before to save. + + Please, check the settings before saving. Bitte Konfiguration vor dem Sichern überprüfen. - + + Name + Name + + + + Name: + Name: + + + + Actual + Aktuell + + + Error Fehler - + Config can not be saved Konfiguration kann nicht gespeichert werden @@ -193,11 +178,107 @@ QObject - - + + Auto Automatisch + + + Monitor Settings + Bildschirmeinstellungen + + + + Quick Options + Schnellwahl + + + + Settings + Einstellungen + + + + Save settings + Einstellungen sichern + + + + QuickOptions + + + Monitor Settings + Bildschirmeinstellungen + + + + Show the same screen on both laptop LCD and external monitor + Gleiches Bild auf Laptop und externem Bildschirm anzeigen + + + + Extended view + Erweiterter Bildschirm + + + + Turn off laptop LCD and use external monitor only + Laptop-Bildschirm ausschalten und nur den externen Monitor verwenden + + + + Turn off external monitor and use laptop LCD only + Externen Monitor ausschalten und nur den Laptop-Bildschirm verwenden + + + + SaveSettings + + + Monitor Settings + Bildschirmeinstellungen + + + + Save + Speichern + + + + Saved settings + Gespeicherte Einstellungen + + + + All: + Alle: + + + + Hardware compatible: + Mit der Hardware kompatibel: + + + + Rename + Umbenennen + + + + Delete + Löschen + + + + Name + Name + + + + Name: + Name: + TimeoutDialog diff --git a/lxqt-config-monitor/translations/lxqt-config-monitor_hu.desktop b/lxqt-config-monitor/translations/lxqt-config-monitor_hu.desktop new file mode 100644 index 0000000..dbd544c --- /dev/null +++ b/lxqt-config-monitor/translations/lxqt-config-monitor_hu.desktop @@ -0,0 +1,3 @@ +Name[hu]=LXQt képernyőbeállítás +GenericName[hu]=Képernyőbeállítások +Comment[hu]=Képfelbontás és külső monitorok beállítása diff --git a/lxqt-config-monitor/translations/lxqt-config-monitor_hu.ts b/lxqt-config-monitor/translations/lxqt-config-monitor_hu.ts new file mode 100644 index 0000000..993ae55 --- /dev/null +++ b/lxqt-config-monitor/translations/lxqt-config-monitor_hu.ts @@ -0,0 +1,329 @@ + + + + + MonitorInfo + + + Laptop LCD Monitor + Beépített LCD Monitor + + + + External VGA Monitor + Külső LCD Monitor + + + + VGA Monitor + VGA Monitor + + + + External DVI Monitor + Külső DVI Monitor + + + + DVI Monitor + + + + + TV + + + + + Default Monitor + Alapértelmezett Monitor + + + + MonitorPictureDialog + + + Dialog + Párbeszédablak + + + + Magnetic attraction + Mégneses elhajlás + + + + MonitorSettingsDialog + + + Monitor Settings + Monitor beállítás + + + Quick Options + Gyors lehetőségek + + + Show the same screen on both laptop LCD and external monitor + Azonos kép a beépített LCD és külső monitoron + + + Extended view + Bővített megjelenítés + + + Turn off laptop LCD and use external monitor only + Beépített LCD kikapcsolása és csak a külső használata + + + Turn off external monitor and use laptop LCD only + Külső monor lekapcsolása és csak a belső LCD használata + + + Settings + beállítások + + + + Unify all monitors + Monitorok összevonása + + + + Monitor Position + Monitor helyzet + + + + Primary monitor: + Elsődleges monitor: + + + + Do you want to save changes? + Változtatások mentése? + + + Please, check your config before to save. + Mentés előtt ellenőrizd a beállításokat! + + + + Please, check the settings before saving. + + + + + Name + + + + + Name: + + + + + Actual + + + + + Error + Hiba + + + + Config can not be saved + A beállítás mentetlen + + + + MonitorWidget + + + Turn on + Bekapcsolás + + + + Resolution: + Felbontás: + + + + Rate: + Arány: + + + + Hz + + + + + Position: + Helyzet: + + + + x: + + + + + y: + + + + + Brightness: + Fényerő: + + + + Gamma: + + + + + + : + + + + + Backlight: + Háttérfény: + + + + + Auto + Automata + + + + QObject + + + + Auto + Automata + + + + Monitor Settings + Monitor beállítás + + + + Quick Options + Gyors lehetőségek + + + + Settings + beállítások + + + + Save settings + + + + + QuickOptions + + + Monitor Settings + Monitor beállítás + + + + Show the same screen on both laptop LCD and external monitor + Azonos kép a beépített LCD és külső monitoron + + + + Extended view + Bővített megjelenítés + + + + Turn off laptop LCD and use external monitor only + Beépített LCD kikapcsolása és csak a külső használata + + + + Turn off external monitor and use laptop LCD only + Külső monor lekapcsolása és csak a belső LCD használata + + + + SaveSettings + + + Monitor Settings + Monitor beállítás + + + + Save + + + + + Saved settings + + + + + All: + + + + + Hardware compatible: + + + + + Rename + + + + + Delete + + + + + Name + + + + + Name: + + + + + TimeoutDialog + + + Settings are changed + Beállítások változtatása + + + + Are the current settings OK for you? + Jók a beállítások? + + + + %1 second(s) remaining + %1 másodperc van hátra + + + diff --git a/lxqt-config-monitor/translations/lxqt-config-monitor_it_IT.ts b/lxqt-config-monitor/translations/lxqt-config-monitor_it_IT.ts index 11c8e2b..e66e90b 100644 --- a/lxqt-config-monitor/translations/lxqt-config-monitor_it_IT.ts +++ b/lxqt-config-monitor/translations/lxqt-config-monitor_it_IT.ts @@ -4,37 +4,37 @@ MonitorInfo - + Laptop LCD Monitor Monitor portatile LCD - + External VGA Monitor Monitor esterno VGA - + VGA Monitor Monitor VGA - + External DVI Monitor Monitor esterno DVI - + DVI Monitor Monitor DVI - + TV TV - + Default Monitor Monitor principale @@ -60,67 +60,80 @@ Impostazioni del monitor - Quick Options - Opzioni veloci + Opzioni veloci - Show the same screen on both laptop LCD and external monitor - Unifica uscite + Unifica uscite - Extended view - Vista estesa + Vista estesa - Turn off laptop LCD and use external monitor only - Spegni monitor portatile LCD e usa solo monitor esterno + Spegni monitor portatile LCD e usa solo monitor esterno - Turn off external monitor and use laptop LCD only - Spegni monitor esterno e usa solo monitor LCD + Spegni monitor esterno e usa solo monitor LCD - Settings - Impostazioni + Impostazioni - + Unify all monitors Unisci tutte le uscite - + Monitor Position Posizione dello schermo - + Primary monitor: Monitor principale: - + Do you want to save changes? Salvare i cambiamenti? - Please, check your config before to save. - Per favore controlla la configurazione prima di salvare. + Per favore controlla la configurazione prima di salvare. + + + + Please, check the settings before saving. + + + + + Name + + + + + Name: + - + + Actual + + + + Error Errore - + Config can not be saved La configurazione non può essere salvata @@ -193,11 +206,107 @@ QObject - - + + Auto Auto + + + Monitor Settings + Impostazioni del monitor + + + + Quick Options + Opzioni veloci + + + + Settings + Impostazioni + + + + Save settings + + + + + QuickOptions + + + Monitor Settings + Impostazioni del monitor + + + + Show the same screen on both laptop LCD and external monitor + Unifica uscite + + + + Extended view + Vista estesa + + + + Turn off laptop LCD and use external monitor only + Spegni monitor portatile LCD e usa solo monitor esterno + + + + Turn off external monitor and use laptop LCD only + Spegni monitor esterno e usa solo monitor LCD + + + + SaveSettings + + + Monitor Settings + Impostazioni del monitor + + + + Save + + + + + Saved settings + + + + + All: + + + + + Hardware compatible: + + + + + Rename + + + + + Delete + + + + + Name + + + + + Name: + + TimeoutDialog diff --git a/lxqt-config-monitor/translations/lxqt-config-monitor_ja.ts b/lxqt-config-monitor/translations/lxqt-config-monitor_ja.ts index 44965d6..aff5890 100644 --- a/lxqt-config-monitor/translations/lxqt-config-monitor_ja.ts +++ b/lxqt-config-monitor/translations/lxqt-config-monitor_ja.ts @@ -4,37 +4,37 @@ MonitorInfo - + Laptop LCD Monitor ラップトップ液晶モニター - + External VGA Monitor 外部VGAモニター - + VGA Monitor VGAモニター - + External DVI Monitor 外部DVIモニター - + DVI Monitor DVIモニター - + TV TV - + Default Monitor デフォルトのモニター @@ -60,67 +60,80 @@ モニターの設定 - Quick Options - クイックオプション + クイックオプション - Show the same screen on both laptop LCD and external monitor - ラップトップ液晶パネルと外部モニターで同じ画面を表示 + ラップトップ液晶パネルと外部モニターで同じ画面を表示 - Extended view - 拡張領域 + 拡張領域 - Turn off laptop LCD and use external monitor only - ラップトップ液晶画面を無効にし、外部モニターのみ使う + ラップトップ液晶画面を無効にし、外部モニターのみ使う - Turn off external monitor and use laptop LCD only - 外部モニターを無効にし、ラップトップ液晶画面のみ使う + 外部モニターを無効にし、ラップトップ液晶画面のみ使う - Settings - 設定 + 設定 - + Unify all monitors すべてのモニターの表示を共通にする - + Monitor Position モニターの位置 - + Primary monitor: プライマリーモニター: - + Do you want to save changes? 変更を保存しますか? - Please, check your config before to save. - 保存する前に、設定結果を確認してください + 保存する前に、設定結果を確認してください + + + + Please, check the settings before saving. + + + + + Name + + + + + Name: + + + + + Actual + - + Error エラー - + Config can not be saved 設定を保存することができませんでした @@ -193,11 +206,107 @@ QObject - - + + Auto 自動 + + + Monitor Settings + モニターの設定 + + + + Quick Options + クイックオプション + + + + Settings + 設定 + + + + Save settings + + + + + QuickOptions + + + Monitor Settings + モニターの設定 + + + + Show the same screen on both laptop LCD and external monitor + ラップトップ液晶パネルと外部モニターで同じ画面を表示 + + + + Extended view + 拡張領域 + + + + Turn off laptop LCD and use external monitor only + ラップトップ液晶画面を無効にし、外部モニターのみ使う + + + + Turn off external monitor and use laptop LCD only + 外部モニターを無効にし、ラップトップ液晶画面のみ使う + + + + SaveSettings + + + Monitor Settings + モニターの設定 + + + + Save + + + + + Saved settings + + + + + All: + + + + + Hardware compatible: + + + + + Rename + + + + + Delete + + + + + Name + + + + + Name: + + TimeoutDialog diff --git a/lxqt-config-monitor/translations/lxqt-config-monitor_pl_PL.desktop b/lxqt-config-monitor/translations/lxqt-config-monitor_pl_PL.desktop new file mode 100644 index 0000000..0bbd58d --- /dev/null +++ b/lxqt-config-monitor/translations/lxqt-config-monitor_pl_PL.desktop @@ -0,0 +1,3 @@ +Name[pl]=Monitor +GenericName[pl]=Ustawienia monitora +Comment[pl]=Konfiguracja monitora diff --git a/lxqt-config-monitor/translations/lxqt-config-monitor_pl_PL.ts b/lxqt-config-monitor/translations/lxqt-config-monitor_pl_PL.ts new file mode 100644 index 0000000..2596767 --- /dev/null +++ b/lxqt-config-monitor/translations/lxqt-config-monitor_pl_PL.ts @@ -0,0 +1,329 @@ + + + + + MonitorInfo + + + Laptop LCD Monitor + Monitor LCD laptopa + + + + External VGA Monitor + Zewnętrzny monitor VGA + + + + VGA Monitor + Monitor VGA + + + + External DVI Monitor + Zewnętrzny monitor DVI + + + + DVI Monitor + Monitor DVI + + + + TV + TV + + + + Default Monitor + Domyślny monitor + + + + MonitorPictureDialog + + + Dialog + + + + + Magnetic attraction + + + + + MonitorSettingsDialog + + + Monitor Settings + Ustawienia monitora + + + Quick Options + Opcje + + + Show the same screen on both laptop LCD and external monitor + Pokaż ten sam ekran na LCD laptopa oraz zewnętrznym monitorze + + + Extended view + Rozszerzony widok + + + Turn off laptop LCD and use external monitor only + Wyłącz LCD laptopa i użyj tylko zewnętrznego monitora + + + Turn off external monitor and use laptop LCD only + Wyłącz zewnętrzny monitor i użyj tylko LCD laptopa + + + Settings + Ustawienia + + + + Unify all monitors + + + + + Monitor Position + + + + + Primary monitor: + Główny monitor: + + + + Do you want to save changes? + Czy chcesz zachować zmiany? + + + Please, check your config before to save. + Proszę sprawdzić konfigurację przed zapisaniem. + + + + Please, check the settings before saving. + + + + + Name + + + + + Name: + + + + + Actual + + + + + Error + Błąd + + + + Config can not be saved + Konfiguracja nie może być zapisana + + + + MonitorWidget + + + Turn on + Włącz + + + + Resolution: + Rozdzielczość: + + + + Rate: + Odświeżanie: + + + + Hz + Hz + + + + Position: + Pozycja: + + + + x: + x: + + + + y: + y: + + + + Brightness: + Jasność: + + + + Gamma: + Gamma: + + + + + : + : + + + + Backlight: + + + + + + Auto + Auto + + + + QObject + + + + Auto + Auto + + + + Monitor Settings + Ustawienia monitora + + + + Quick Options + Opcje + + + + Settings + Ustawienia + + + + Save settings + + + + + QuickOptions + + + Monitor Settings + Ustawienia monitora + + + + Show the same screen on both laptop LCD and external monitor + Pokaż ten sam ekran na LCD laptopa oraz zewnętrznym monitorze + + + + Extended view + Rozszerzony widok + + + + Turn off laptop LCD and use external monitor only + Wyłącz LCD laptopa i użyj tylko zewnętrznego monitora + + + + Turn off external monitor and use laptop LCD only + Wyłącz zewnętrzny monitor i użyj tylko LCD laptopa + + + + SaveSettings + + + Monitor Settings + Ustawienia monitora + + + + Save + + + + + Saved settings + + + + + All: + + + + + Hardware compatible: + + + + + Rename + + + + + Delete + + + + + Name + + + + + Name: + + + + + TimeoutDialog + + + Settings are changed + Ustawienia zostały zmienione + + + + Are the current settings OK for you? + Czy aktualne ustawienia są prawidłowe? + + + + %1 second(s) remaining + pozostało sekund: %1 + + + diff --git a/lxqt-config-monitor/translations/lxqt-config-monitor_pt.ts b/lxqt-config-monitor/translations/lxqt-config-monitor_pt.ts index 45e6831..63c3a30 100644 --- a/lxqt-config-monitor/translations/lxqt-config-monitor_pt.ts +++ b/lxqt-config-monitor/translations/lxqt-config-monitor_pt.ts @@ -4,37 +4,37 @@ MonitorInfo - + Laptop LCD Monitor Monitor LCD de portátil - + External VGA Monitor Monitor externo VGA - + VGA Monitor Monitor VGA - + External DVI Monitor Monitor externo DVI - + DVI Monitor Monitor DVI - + TV TV - + Default Monitor Monitor pré-definido @@ -140,67 +140,80 @@ Ferramenta de configuração de monitores do LXQt. Definições do monitor - Quick Options - Opções rápidas + Opções rápidas - Show the same screen on both laptop LCD and external monitor - Mostrar o mesmo ecrã no portátil e no monitor externo + Mostrar o mesmo ecrã no portátil e no monitor externo - Extended view - Vista detalhada + Vista detalhada - Turn off laptop LCD and use external monitor only - Desligar ecrã do portátil e utilizar o monitor externo + Desligar ecrã do portátil e utilizar o monitor externo - Turn off external monitor and use laptop LCD only - Desligar o monitor externo e utilizar o ecrã do portátil + Desligar o monitor externo e utilizar o ecrã do portátil - Settings - Definições + Definições - + Unify all monitors Unificar todos os monitores - + Monitor Position Posição do monitor - + Primary monitor: Monitor principal: - + Do you want to save changes? Quer guardar as alterações? - Please, check your config before to save. - Verifique a configuraçao antes de guardar. + Verifique a configuraçao antes de guardar. + + + + Please, check the settings before saving. + + + + + Name + + + + + Name: + - + + Actual + + + + Error Erro - + Config can not be saved Não é possível guardar a configuração @@ -273,11 +286,107 @@ Ferramenta de configuração de monitores do LXQt. QObject - - + + Auto Automático + + + Monitor Settings + Definições do monitor + + + + Quick Options + Opções rápidas + + + + Settings + Definições + + + + Save settings + + + + + QuickOptions + + + Monitor Settings + Definições do monitor + + + + Show the same screen on both laptop LCD and external monitor + Mostrar o mesmo ecrã no portátil e no monitor externo + + + + Extended view + Vista detalhada + + + + Turn off laptop LCD and use external monitor only + Desligar ecrã do portátil e utilizar o monitor externo + + + + Turn off external monitor and use laptop LCD only + Desligar o monitor externo e utilizar o ecrã do portátil + + + + SaveSettings + + + Monitor Settings + Definições do monitor + + + + Save + + + + + Saved settings + + + + + All: + + + + + Hardware compatible: + + + + + Rename + + + + + Delete + + + + + Name + + + + + Name: + + TimeoutDialog diff --git a/lxqt-config-monitor/translations/lxqt-config-monitor_ru.ts b/lxqt-config-monitor/translations/lxqt-config-monitor_ru.ts index 5169d68..a090edc 100644 --- a/lxqt-config-monitor/translations/lxqt-config-monitor_ru.ts +++ b/lxqt-config-monitor/translations/lxqt-config-monitor_ru.ts @@ -1,40 +1,63 @@ + + ApplyDialog + + Monitor Settings + Настройки монитора + + + Save + Сохранить + + + Saved settings + Сохранённые настройки + + + All: + Все: + + + Hardware compatible: + Аппаратно-совместимые: + + MonitorInfo - + Laptop LCD Monitor ЖК-монитор лэптопа - + External VGA Monitor Внешний VGA-монитор - + VGA Monitor VGA-монитор - + External DVI Monitor Внешний DVI-монитор - + DVI Monitor DVI-монитор - + TV ТВ - + Default Monitor Монитор по умолчанию @@ -49,7 +72,7 @@ Magnetic attraction - + Магнитное притяжение @@ -60,73 +83,58 @@ Настройки монитора - - Quick Options - Быстрые настройки - - - - Show the same screen on both laptop LCD and external monitor - Отображать одинаковый экран на внешнем мониторе и ЖК-мониторе лэптопа - - - - Extended view - Расширенный вид - - - - Turn off laptop LCD and use external monitor only - Выключить ЖК-монитор лэптопа и использовать только внешний монитор - - - - Turn off external monitor and use laptop LCD only - Выключить внешний монитор и использовать только ЖК-монитор лэптопа - - - - Settings - Настройки - - - + Unify all monitors Объединить все мониторы - + Monitor Position - + Положение монитора - + Primary monitor: Первичный монитор: - None - Нет + Apply + Применить - + Do you want to save changes? - + Вы хотите сохранить изменения? - - Please, check your config before to save. - + + Please, check the settings before saving. + Проверьте, пожалуйста, настройки перед сохранением. + + + + Name + Название + + + + Name: + Название: - + + Actual + Текущие + + + Error - + Ошибка - + Config can not be saved - + Не удалось сохранить конфигурацию @@ -154,42 +162,22 @@ Position: - Позиция: + Положение: x: - + y: - + Backlight: - - - - Default - По умолчанию - - - Left of - Левее - - - Right of - Правее - - - Above of - Выше - - - Below of - Ниже + Подсветка: @@ -217,11 +205,107 @@ QObject - - + + Auto Авто + + + Monitor Settings + Настройки монитора + + + + Quick Options + Быстрые настройки + + + + Settings + Настройки + + + + Save settings + Сохранить настройки + + + + QuickOptions + + + Monitor Settings + Настройки монитора + + + + Show the same screen on both laptop LCD and external monitor + Отображать одинаковый экран на внешнем мониторе и ЖК-мониторе лэптопа + + + + Extended view + Расширенный вид + + + + Turn off laptop LCD and use external monitor only + Выключить ЖК-монитор лэптопа и использовать только внешний монитор + + + + Turn off external monitor and use laptop LCD only + Выключить внешний монитор и использовать только ЖК-монитор лэптопа + + + + SaveSettings + + + Monitor Settings + Настройки монитора + + + + Save + Сохранить + + + + Saved settings + Сохранённые настройки + + + + All: + Все: + + + + Hardware compatible: + Аппаратно-совместимые: + + + + Rename + + + + + Delete + + + + + Name + Название + + + + Name: + Название: + TimeoutDialog diff --git a/lxqt-config-monitor/translations/lxqt-config-monitor_ru_RU.ts b/lxqt-config-monitor/translations/lxqt-config-monitor_ru_RU.ts index ff1b65e..5c08593 100644 --- a/lxqt-config-monitor/translations/lxqt-config-monitor_ru_RU.ts +++ b/lxqt-config-monitor/translations/lxqt-config-monitor_ru_RU.ts @@ -1,40 +1,63 @@ + + ApplyDialog + + Monitor Settings + Настройки монитора + + + Save + Сохранить + + + Saved settings + Сохранённые настройки + + + All: + Все: + + + Hardware compatible: + Аппаратно-совместимые: + + MonitorInfo - + Laptop LCD Monitor ЖК-монитор лэптопа - + External VGA Monitor Внешний VGA-монитор - + VGA Monitor VGA-монитор - + External DVI Monitor Внешний DVI-монитор - + DVI Monitor DVI-монитор - + TV ТВ - + Default Monitor Монитор по умолчанию @@ -49,7 +72,7 @@ Magnetic attraction - + Магнитное притяжение @@ -60,73 +83,58 @@ Настройки монитора - - Quick Options - Быстрые настройки - - - - Show the same screen on both laptop LCD and external monitor - Отображать одинаковый экран на внешнем мониторе и ЖК-мониторе лэптопа - - - - Extended view - Расширенный вид - - - - Turn off laptop LCD and use external monitor only - Выключить ЖК-монитор лэптопа и использовать только внешний монитор - - - - Turn off external monitor and use laptop LCD only - Выключить внешний монитор и использовать только ЖК-монитор лэптопа - - - - Settings - Настройки - - - + Unify all monitors Объединить все мониторы - + Monitor Position - + Положение монитора - + Primary monitor: Первичный монитор: - None - Нет + Apply + Применить - + Do you want to save changes? - + Вы хотите сохранить изменения? - - Please, check your config before to save. - + + Please, check the settings before saving. + Проверьте, пожалуйста, настройки перед сохранением. + + + + Name + Название + + + + Name: + Название: - + + Actual + Текущие + + + Error - + Ошибка - + Config can not be saved - + Не удалось сохранить конфигурацию @@ -154,42 +162,22 @@ Position: - Позиция: + Положение: x: - + y: - + Backlight: - - - - Default - По умолчанию - - - Left of - Левее - - - Right of - Правее - - - Above of - Выше - - - Below of - Ниже + Подсветка: @@ -217,11 +205,107 @@ QObject - - + + Auto Авто + + + Monitor Settings + Настройки монитора + + + + Quick Options + Быстрые настройки + + + + Settings + Настройки + + + + Save settings + Сохранить настройки + + + + QuickOptions + + + Monitor Settings + Настройки монитора + + + + Show the same screen on both laptop LCD and external monitor + Отображать одинаковый экран на внешнем мониторе и ЖК-мониторе лэптопа + + + + Extended view + Расширенный вид + + + + Turn off laptop LCD and use external monitor only + Выключить ЖК-монитор лэптопа и использовать только внешний монитор + + + + Turn off external monitor and use laptop LCD only + Выключить внешний монитор и использовать только ЖК-монитор лэптопа + + + + SaveSettings + + + Monitor Settings + Настройки монитора + + + + Save + Сохранить + + + + Saved settings + Сохранённые настройки + + + + All: + Все: + + + + Hardware compatible: + Аппаратно-совместимые: + + + + Rename + + + + + Delete + + + + + Name + Название + + + + Name: + Название: + TimeoutDialog diff --git a/lxqt-config-monitor/translations/lxqt-config-monitor_zh_TW.ts b/lxqt-config-monitor/translations/lxqt-config-monitor_zh_TW.ts index 16ee953..103845a 100644 --- a/lxqt-config-monitor/translations/lxqt-config-monitor_zh_TW.ts +++ b/lxqt-config-monitor/translations/lxqt-config-monitor_zh_TW.ts @@ -4,37 +4,37 @@ MonitorInfo - + Laptop LCD Monitor 筆記型電腦液晶螢幕 - + External VGA Monitor 外接VGA螢幕 - + VGA Monitor VGA 螢幕 - + External DVI Monitor 外接 DVI 螢幕 - + DVI Monitor DVI 螢幕 - + TV 電視 - + Default Monitor 預設螢幕 @@ -118,67 +118,52 @@ Monitor configuration tool for LXQt. - - Quick Options - - - - - Show the same screen on both laptop LCD and external monitor - - - - - Extended view - - - - - Turn off laptop LCD and use external monitor only + + Unify all monitors - - Turn off external monitor and use laptop LCD only + + Monitor Position - - Settings + + Primary monitor: - - Unify all monitors + + Do you want to save changes? - - Monitor Position + + Please, check the settings before saving. - - Primary monitor: + + Name - - Do you want to save changes? + + Name: - - Please, check your config before to save. + + Actual - + Error - + Config can not be saved @@ -251,11 +236,107 @@ Monitor configuration tool for LXQt. QObject - - + + Auto 自動 + + + Monitor Settings + + + + + Quick Options + + + + + Settings + + + + + Save settings + + + + + QuickOptions + + + Monitor Settings + + + + + Show the same screen on both laptop LCD and external monitor + + + + + Extended view + + + + + Turn off laptop LCD and use external monitor only + + + + + Turn off external monitor and use laptop LCD only + + + + + SaveSettings + + + Monitor Settings + + + + + Save + + + + + Saved settings + + + + + All: + + + + + Hardware compatible: + + + + + Rename + + + + + Delete + + + + + Name + + + + + Name: + + TimeoutDialog diff --git a/lxqt-config-monitor/xrandr.cpp b/lxqt-config-monitor/xrandr.cpp index 19dc1c6..c7558cc 100644 --- a/lxqt-config-monitor/xrandr.cpp +++ b/lxqt-config-monitor/xrandr.cpp @@ -46,6 +46,13 @@ static int indentLevel(QByteArray line) { return indent; } +static int countLeadingWhiteSpaces(QByteArray line) { + int indent = 0; + while(indent < line.size() && ( line[indent] == ' ') ) + ++indent; + return indent; +} + // new parsing code using xrandr --verbose QList XRandRBackend::getMonitorsInfo() { QList monitors; @@ -64,6 +71,8 @@ QList XRandRBackend::getMonitorsInfo() { QRegExp regModeLine("\\s+(\\d+x\\d+).*"); QRegExp regRateLine("\\s+([vh]):.* clock\\s+([\\d.]+).?Hz.*"); QRegExp regKeyValue("\\s*(\\w[\\w ]*)\\s*:\\s*(\\S.*)?"); + QRegExp regWidthLine("\\s+h:\\s+width\\s+([\\d.]+).*"); + QRegExp regHeightLine("\\s+v:\\s+height\\s+([\\d.]+).*"); bool hasError = false; MonitorInfo* monitor = NULL; @@ -84,19 +93,32 @@ QList XRandRBackend::getMonitorsInfo() { monitor->enabledOk = true; monitor->xPos = regMonitorLine.cap(4).toInt(); monitor->yPos = regMonitorLine.cap(5).toInt(); + if( monitor->xPos!=0 || monitor->yPos!=0 ) { + monitor->position = MonitorSettings::Manual; + } } } else { // reading properties of this monitor - if(regModeLine.exactMatch(line)) { // this is a mode line + if( regModeLine.exactMatch(line) || countLeadingWhiteSpaces(line)==2 ) { // this is a mode line // sample: 1280x1024 (0x55) 108.000MHz +HSync +VSync *current +preferred readingModes = true; - QString mode = regModeLine.cap(1); + // Mode name + // QString mode = regModeLine.cap(1); + QString mode = line.mid(0,line.lastIndexOf('(')).trimmed(); QString rate; + int width = -1; + int height = -1; bool isCurrent = line.contains("current"); bool isPreferred = line.contains("preferred"); ++it; while(it != lines.end()) { line = *it; + if(regWidthLine.exactMatch(line)) { + width = regWidthLine.cap(1).toInt(); + } + if(regHeightLine.exactMatch(line)) { + height = regHeightLine.cap(1).toInt(); + } if(regRateLine.exactMatch(line)) { // sample: // h: width 1280 start 1328 end 1440 total 1688 skew 0 clock 63.98KHz @@ -111,11 +133,13 @@ QList XRandRBackend::getMonitorsInfo() { } } if(!mode.isEmpty() && !rate.isEmpty()) { - if(!monitor->modes.contains(mode)) + if(!monitor->modes.contains(mode)) { monitor->modes.append(mode); - if(!monitor->modeLines.contains(mode)) - monitor->modeLines[mode] = QStringList(); - monitor->modeLines[mode].append(rate); + monitor->monitorModes[mode] = new MonitorMode(mode, this); + } + monitor->monitorModes[mode]->modeLines.append(rate); + monitor->monitorModes[mode]->width = width; + monitor->monitorModes[mode]->height = height; if(isPreferred) { monitor->preferredMode = mode; monitor->preferredRate = rate; @@ -129,6 +153,7 @@ QList XRandRBackend::getMonitorsInfo() { else { // this is not a mode line, read other properties if(readingModes) { // mode lines ended, so the whole monitor info is read + qDebug() << "Reading modes end"; monitors.append(monitor); monitor = NULL; readingModes = false; @@ -225,6 +250,34 @@ QString XRandRBackend::getCommand(const QList monitors) { QByteArray cmd = "xrandr"; + int fb_width = 0, fb_height = 0; + + QList monitorInfos = getMonitorsInfo(); + + foreach(MonitorSettings * monitor, monitors) { + foreach(MonitorInfo * info, monitorInfos) { + if(monitor->name == info->name) { + int width = info->monitorModes[monitor->currentMode]->width; + int height = info->monitorModes[monitor->currentMode]->height; + int xPos = 0; + int yPos = 0; + if(monitor->position == MonitorSettings::Manual) { + xPos = monitor->xPos; + yPos = monitor->yPos; + } + width+=xPos; + height+=yPos; + qDebug() << "[XRandRBackend::getCommand]: " << width << "x" << height << "+" << monitor->xPos << "x" << monitor->yPos; + if(width>fb_width) + fb_width = width; + if(height>fb_height) + fb_height = height; + } + } + } + + cmd.append(QString(" --fb %1x%2").arg(fb_width).arg(fb_height)); + foreach(MonitorSettings * monitor, monitors) { cmd += " --output "; cmd.append(monitor->name); @@ -238,8 +291,9 @@ QString XRandRBackend::getCommand(const QList monitors) { if(sel_res == QObject::tr("Auto")) // auto resolution cmd.append("--auto"); else { - cmd.append("--mode "); + cmd.append("--mode \""); cmd.append(sel_res); + cmd.append('"'); if(sel_rate != QObject::tr("Auto")) { // not auto refresh rate cmd.append(" --rate "); cmd.append(sel_rate); diff --git a/man/lxqt-config.1 b/man/lxqt-config.1 index 5f5d7c6..1457602 100644 --- a/man/lxqt-config.1 +++ b/man/lxqt-config.1 @@ -37,7 +37,7 @@ Manager. .P All of this also can be find in Settings or Preferences menu, please consult the respective manpages. .SH "REPORTING BUGS" -Report bugs to https://github.com/lxde/lxde-qt/issues +Report bugs to https://github.com/lxde/lxqt/issues .SH "SEE ALSO" \fBLXQt\fR it has been tailored for users who value simplicity, speed, and an intuitive interface. LXQt is also intended for less powerful machines. See: diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2b71dfd..d1e4e6e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,9 +2,6 @@ project(lxqt-config) add_subdirectory(qcategorizedview) include_directories ( - ${CMAKE_CURRENT_BINARY_DIR} - ${LXQT_INCLUDE_DIRS} - ${QTXDG_INCLUDE_DIRS} "${CMAKE_CURRENT_SOURCE_DIR}/qcategorizedview" ) @@ -23,8 +20,6 @@ set(lxqt-config_UIS mainwindow.ui ) -qt5_wrap_ui(UIS ${lxqt-config_UIS}) - # Translations ********************************** lxqt_translate_ts(QM_FILES UPDATE_TRANSLATIONS @@ -44,8 +39,6 @@ lxqt_translate_desktop(DESKTOP_FILES SOURCES lxqt-config.desktop.in) add_executable(lxqt-config ${lxqt-config_SRCS} - ${UIS} - ${MOCS} ${DESKTOP_FILES} ${QM_FILES} ${QM_LOADER} @@ -55,13 +48,24 @@ target_link_libraries(lxqt-config KF5::WindowSystem Qt5::Widgets Qt5::Xml - ${QTXDG_LIBRARIES} - ${LXQT_LIBRARIES} + lxqt ) + # helper static lib link_directories(${CMAKE_CURRENT_SOURCE_DIR}/qcategorizedview) target_link_libraries(lxqt-config qcategorizedview) -install(TARGETS lxqt-config RUNTIME DESTINATION bin) -install(FILES ${DESKTOP_FILES} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/applications") -install(FILES lxqt-config.menu DESTINATION /etc/xdg/menus/) +install(TARGETS + lxqt-config + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + COMPONENT Runtime +) +install(FILES + ${DESKTOP_FILES} + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications" + COMPONENT Runtime +) +install(FILES lxqt-config.menu + DESTINATION "${LXQT_ETC_XDG_DIR}/menus" + COMPONENT Runtime +) diff --git a/src/lxqt-config.desktop.in b/src/lxqt-config.desktop.in index f8d97ca..095dfe6 100644 --- a/src/lxqt-config.desktop.in +++ b/src/lxqt-config.desktop.in @@ -1,6 +1,6 @@ [Desktop Entry] Type=Application -Name=LXQt System Settings +Name=LXQt Configuration Center GenericName=System Settings Comment=Configure your system Exec=lxqt-config diff --git a/src/lxqt-config.menu b/src/lxqt-config.menu index 48e9bf9..b2e4a7d 100644 --- a/src/lxqt-config.menu +++ b/src/lxqt-config.menu @@ -19,6 +19,7 @@ DesktopSettings LXQt + X-LXQt obconf-qt.desktop compton-conf.desktop diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 8d5914e..288e9ee 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -91,11 +91,11 @@ public: DomElementIterator it(xdgMenu.xml().documentElement() , "Menu"); while(it.hasNext()) { - this->builGroup(it.next()); + this->buildGroup(it.next()); } } - void builGroup(const QDomElement& xml) + void buildGroup(const QDomElement& xml) { QString category; if (! xml.attribute("title").isEmpty()) diff --git a/src/qcategorizedview/CMakeLists.txt b/src/qcategorizedview/CMakeLists.txt index ffa4403..2f4577f 100644 --- a/src/qcategorizedview/CMakeLists.txt +++ b/src/qcategorizedview/CMakeLists.txt @@ -6,9 +6,5 @@ set(SOURCES qcategorizedsortfilterproxymodel.cpp ) -include_directories( - "${CMAKE_CURRENT_BINARY_DIR}" -) - -add_library(qcategorizedview STATIC ${SOURCES} ${MOC_SOURCES}) +add_library(qcategorizedview STATIC ${SOURCES}) target_link_libraries(qcategorizedview Qt5::Widgets) diff --git a/src/translations/lxqt-config_de.desktop b/src/translations/lxqt-config_de.desktop index 38bd7b9..e82005d 100644 --- a/src/translations/lxqt-config_de.desktop +++ b/src/translations/lxqt-config_de.desktop @@ -1,4 +1,3 @@ -# Translations -Comment[de]=Konfiguriere LXQt Module -GenericName[de]=LXQt Konfiguration -Name[de]=LXQt Konfigurations Center +Name[de]=Konfigurationszentrum +GenericName[de]=Systemeinstellungen +Comment[de]=Konfiguration von LXQt- und Systemkomponenten diff --git a/src/translations/lxqt-config_de.ts b/src/translations/lxqt-config_de.ts index 52e771b..d20bb8b 100644 --- a/src/translations/lxqt-config_de.ts +++ b/src/translations/lxqt-config_de.ts @@ -1,6 +1,6 @@ - + MainWindow diff --git a/src/translations/lxqt-config_hu.ts b/src/translations/lxqt-config_hu.ts new file mode 100644 index 0000000..3535324 --- /dev/null +++ b/src/translations/lxqt-config_hu.ts @@ -0,0 +1,12 @@ + + + + + MainWindow + + + Configuration Center + Beállító központ + + + diff --git a/src/translations/lxqt-config_ia.desktop b/src/translations/lxqt-config_ia.desktop deleted file mode 100644 index 26b0d99..0000000 --- a/src/translations/lxqt-config_ia.desktop +++ /dev/null @@ -1 +0,0 @@ -# Translations diff --git a/src/translations/lxqt-config_ko.desktop b/src/translations/lxqt-config_ko.desktop deleted file mode 100644 index 26b0d99..0000000 --- a/src/translations/lxqt-config_ko.desktop +++ /dev/null @@ -1 +0,0 @@ -# Translations diff --git a/src/translations/lxqt-config_zh_CN.GB2312.desktop b/src/translations/lxqt-config_zh_CN.GB2312.desktop deleted file mode 100644 index 26b0d99..0000000 --- a/src/translations/lxqt-config_zh_CN.GB2312.desktop +++ /dev/null @@ -1 +0,0 @@ -# Translations