Compare commits

..

105 Commits

Author SHA1 Message Date
Aaron Rainbolt
60b33a2403
Update copyright file 2025-07-03 15:06:01 -05:00
a0d4560996 Upload to Questing 2025-04-19 22:47:01 -05:00
df63b13716 Update build dependencies. 2025-04-19 17:28:31 -05:00
8c86145cc7 Update Standards-Version to 4.7.2, no changes needed. 2025-04-19 17:27:37 -05:00
69cef2e799 New upstream release. 2025-04-19 17:25:18 -05:00
7c1753a64e Update Standards-Version to 4.7.1, no changes needed. 2025-02-21 16:21:47 -06:00
b778b65960 No-change rebuild for lxqt-build-tools C++17 -> C++20. 2025-02-21 16:13:06 -06:00
c93e0b1fc5 Upload to Plucky 2024-11-15 15:34:45 -06:00
8e5ded426c Make the package Lintian-clean. 2024-11-05 11:56:17 -06:00
66a4b2bd4c Update symbols from amd64 build logs. 2024-11-05 11:51:04 -06:00
1c40bfc7ec Bump build dependencies. 2024-11-05 11:50:44 -06:00
82755a92b4 New upstream release. 2024-11-05 11:42:25 -06:00
Rik Mills
d6434e0d21 release to oracular 2024-08-23 22:09:41 +01:00
Rik Mills
771d10cd62 update changelog 2024-08-23 22:03:35 +01:00
Rik Mills
2f617a7f12 update symbols from build logs 2024-08-23 22:00:59 +01:00
Aaron Rainbolt
4a1d32c924 Symbols had one last trick up their sleeve 2024-06-17 13:47:30 -05:00
Aaron Rainbolt
9cc8b102ed Vanquish Symbol the Strong once again 2024-06-17 13:33:31 -05:00
Aaron Rainbolt
4c6a0b56df Fix build dependency goofs 2024-06-17 13:20:53 -05:00
Aaron Rainbolt
273e009154 Soname bump 2024-06-17 12:34:33 -05:00
Aaron Rainbolt
1d237eee58 Bump Standards-Version 2024-06-17 12:19:08 -05:00
Aaron Rainbolt
fa59f6127c Update copyright file 2024-06-17 12:18:01 -05:00
Aaron Rainbolt
6a6bcd8c28 Bump build deps. 2024-06-17 12:15:02 -05:00
Aaron Rainbolt
00075486a5 Bump version for new upstream release 2024-06-17 12:00:10 -05:00
2e67453e32 Bump build deps 2023-11-05 13:54:59 -06:00
6fc4f9e985 Update copyright file 2023-11-05 12:32:03 -06:00
a9e5fc264d Bump version for new upstream release 2023-11-05 12:14:24 -06:00
703a29b7ee Upload to Mantic. 2023-05-10 12:12:32 -05:00
0946c530c8 Update copyright file. 2023-05-10 12:08:54 -05:00
2b724c6e7e Update Standards-version to 4.6.2, no changes needed. 2023-05-10 12:02:46 -05:00
d770a32c2a wrap-and-sort. 2023-05-10 12:02:26 -05:00
9359d2e381 New upstream release. 2023-05-10 12:02:13 -05:00
Aaron Rainbolt
892195c5b4 NCR against lxqt-build-tools for C++17 2023-02-09 13:51:36 -06:00
0d2226321a Set release codename. 2022-11-28 15:04:03 -06:00
786b6b1718 Overhauled copyright file. 2022-11-28 15:03:54 -06:00
8c460f8957 Added 'Rules-Requires-Root: no'. 2022-11-28 14:44:39 -06:00
eb966a2b6d Removed trailing whitespace from changelog. 2022-11-28 14:44:36 -06:00
80ccf08822 Removed an obsolete linker flag. 2022-11-28 14:36:05 -06:00
d5e02d760e Upload to Lunar. 2022-11-16 19:19:35 -06:00
cb84cbe3d1 Fix a typo in the upstream metadata. 2022-11-16 19:17:50 -06:00
7ad091d83c Remove a seemingly-obsolete Lintian override. 2022-11-16 19:17:13 -06:00
88646f013e Remove unnecessary dh-exec call. 2022-11-16 19:09:19 -06:00
8197d29d6e Bump build dependencies to the latest upstream LXQt versions. 2022-11-16 18:51:59 -06:00
96d2d5fb51 Lubuntuify the package slightly, to make debhelper happy. 2022-11-16 18:46:08 -06:00
3d3e66544e Fix the watch file, for real this time. 2022-11-16 18:41:44 -06:00
20a3ffe0c9 New upstream release. 2022-11-16 18:38:57 -06:00
8e9612ab89 Release to Kinetic. 2022-05-31 17:49:28 -05:00
83f2c61ca6 Symbols. 2022-05-31 17:48:57 -05:00
cda64e3c08 Remove the linux-any prefix for liblxqt1, since it's causing issues and seems to be a Debian fix anyway. 2022-05-31 17:48:47 -05:00
c84db9b496 Bump install dependencies. 2022-05-31 17:28:32 -05:00
277a5e1412 Add additional Breaks/Replaces on liblxqt0 just to be safe. 2022-05-31 17:26:19 -05:00
9d8281e990 New upstream release. 2022-05-31 17:24:05 -05:00
apt-ghetto
08c5a9648c New upstream version for liblxqt
Summary:
Packaged new upstream version 0.17.0 of liblxqt
Updated dependencies
Updated symbols
Updated changelog and copyright
Renamed tag for lintian override

Test Plan: Build does not fail

Reviewers: kc2bez

Reviewed By: kc2bez

Differential Revision: https://phab.lubuntu.me/D115
2021-08-09 17:12:53 -04:00
c87bb9a68e fix s390x build 2021-02-03 16:20:05 -08:00
Raman Sarda
810c84bd56 Merge form upstream.
Summary: New upstream version 0.16.1

Test Plan: Test if it's a correct merge.

Reviewers: kc2bez, wxl

Reviewed By: kc2bez, wxl

Differential Revision: https://phab.lubuntu.me/D105
2021-02-03 23:18:08 +00:00
3bfb3c51bd Upload to Groovy. 2020-06-03 23:19:37 -05:00
97e9eeb3ee Remove unneeded lxqt-l10n Conflicts/Replaces. 2020-05-28 11:27:33 -05:00
683e8fa79f Update symbols from amd64 build logs. 2020-05-17 07:37:48 -05:00
0fb826f6fe Bump LXQt build dependencies. 2020-04-28 17:53:57 -05:00
7068752701 Full copyright update. 2020-04-28 17:53:07 -05:00
6cb55bb1e7 Update upstream signing key. 2020-04-28 17:48:36 -05:00
a4c52b5e0e New upstream release. 2020-04-28 17:47:17 -05:00
00e1ff9648 Add libkf5windowsystem-dev to build dependencies. 2020-04-23 03:38:07 -05:00
fa29ce4eea Run wrap-and-sort. 2020-04-23 03:36:24 -05:00
5d8a4a712d Remove upstream patches fixing Mac OS X and Hurd builds. 2020-04-23 03:21:16 -05:00
Raman Sarda
1877d05509 Merge from debian unstable. 2020-04-09 15:19:28 +05:30
Raman Sarda
bedc8cdb81 Sync with archives. 2020-04-09 14:35:28 +05:30
Simon Quigley
ef2ac83d23 Upload to Disco. 2019-03-08 23:12:12 -06:00
Simon Quigley
ec23ab2eb4 New upstream release. 2019-03-08 23:10:50 -06:00
Simon Quigley
47338ad892 Upload to Disco. 2019-01-26 10:09:06 -06:00
Simon Quigley
0f2a079479 Add Breaks/Replaces on the old liblxqt-l10n package. 2019-01-26 10:08:48 -06:00
Simon Quigley
4d851c190d Upload to Disco. 2019-01-25 22:36:48 -06:00
Simon Quigley
38b3a69a50 Add a liblxqt-l10n binary package for translations. 2019-01-25 22:36:33 -06:00
Simon Quigley
05e32305ad Upload to Disco. 2019-01-25 22:21:21 -06:00
Simon Quigley
e1c5b80885 Bump build dependencies. 2019-01-25 22:20:02 -06:00
Simon Quigley
1146ef38e9 Bump debhelper compat to 12, no changes needed. 2019-01-25 22:19:16 -06:00
Simon Quigley
6f75c2e960 Bump Standards-version to 4.3.0, no changes needed. 2019-01-25 22:18:54 -06:00
Simon Quigley
102de2e9ca New upstream release. 2019-01-25 22:18:12 -06:00
Simon Quigley
96fec2f03c Upload to Cosmic. 2018-05-21 22:45:58 -05:00
Simon Quigley
7ba8ee98c6 Remove Multi-Arch: same from liblxqt0 because it now contains an architecture-specific file. 2018-05-21 22:45:11 -05:00
Simon Quigley
20170de596 Update symbols from build log. 2018-05-21 22:43:52 -05:00
Simon Quigley
ed05002b24 Remove pristine-tar data. 2018-05-21 22:31:10 -05:00
Simon Quigley
fecc5ec75d Add Lintian overrides for liblxqt0. 2018-05-21 22:30:02 -05:00
Simon Quigley
636236a147 Update build and runtime dependencies. 2018-05-21 22:28:36 -05:00
Simon Quigley
f2418dd4e6 Run wrap-and-sort. 2018-05-21 22:27:06 -05:00
Simon Quigley
2a89c60112 Update copyright. 2018-05-21 22:25:23 -05:00
Simon Quigley
e95ea8cecc Update Vcs-* and Maintainer to Lubuntu values. 2018-05-21 22:17:30 -05:00
Simon Quigley
d8bb928a4a New upstream release. 2018-05-21 22:15:02 -05:00
Alf Gaida
7369d9e6cc Really fix VCS-Git and watch file 2018-04-29 23:02:47 +02:00
Alf Gaida
a845eb84cd Some updates in debian $foo
* Fixed Hompage and Source to lxqt
* Bumped compat to 11
* Bumped debhelper to >= 11~
* Bumped Standards to 4.1.4, no changes needed
* Changed VCS fields for salsa
* Bumped year in copyright
2018-04-27 18:04:58 +02:00
Alf Gaida
db0a1cd192 Some cleanup in debian/$foo
* Bumped Standards to 4.1.2, no changes needed
* Removed debian/gbp.conf
* Removed branch from VCS fields
2017-12-13 20:18:22 +01:00
Alf Gaida
bc1e6d3680 Transition to unstable 2017-12-06 20:13:20 +01:00
Alf Gaida
8807777724 Merge branch 'debian/experimental' into debian/sid 2017-12-04 03:17:20 +01:00
Alf Gaida
9801bcccc9 Prepare transition to sid 2017-12-04 03:08:43 +01:00
Alf Gaida
447d2aa4d1 imported upstream version 0.12.0 2017-12-03 21:14:14 +01:00
Alf Gaida
52dff0a308 Fixed needed version to build-tools (>= 0.4.0) 2017-10-23 00:35:56 +02:00
Alf Gaida
59db1cc17a Added qtxdg build dependencies
That will make the packaging more readable and understandable
2017-10-22 17:28:31 +02:00
Alf Gaida
2c24520f8a Cherry-picking upstream version 0.12.0.
* Switched to experimental
* Bumped Standards to 4.1.1
* Bumped dependencies
* Fixed symbols
* Added override for dh_missing in rules
2017-10-22 14:28:57 +02:00
Alf Gaida
0fb88adb6f Added dependencies and bumped Standards
* Bumped Standards to 4.0.0
* Added dependencies desktop-file-utils and shared-mime-info
  (Closes: #866904)
2017-07-02 20:03:22 +02:00
Alf Gaida
813dd22911 Cherry-picking upstream version 0.11.1.
* Bumped years in d/copyright
* Removed build dependencies:
  - cmake
  - libqt5xdg-dev
  - libqt5xdgiconloader-dev
  - pkg-config
  - qttools5-dev
  - qttools5-dev-tools
* Added build dependency lxqt-build-tools (>= 0.3.1)
* Added dependencies:
   - libqt5xdg-dev
   - libqt5xdgiconloader-dev
   - lxqt-build-tools
* Fixed l-dev.install
2017-01-02 03:40:24 +01:00
Alf Gaida
54309aa541 preparing next version 2017-01-02 00:53:08 +01:00
Alf Gaida
66ceee822b Cherry-picking upstream version 0.11.0.
* Synced from experimental
* Bumped build dependency debhelper (>=10)
* Bump standards to 3.9.8
* Bump years in copyright
* Bumped compat to 10
* Removed --parallel from rules, now standard
* Bumped minimum version libqt5xdg-dev (>= 2.0.0)
* Added build dependency libqt5xdgiconloader-dev (>= 2.0.0)
* Added build dependency libxss-dev
* Added Recommends liblxqt-l10n
* Removed grep patch, merged upstream
* Removed virtual ABI, no longer needed
* Exported LC_ALL=C.UTF-8 - define language settings for reproducible
  builds
* Fixed Format field in copyright
* Fixed VCS fields, use plain /git/
* Fix symbols, only use lxqt-abi-0-11-0
* Added translation handling in rules
* Deleted former patches
* Added DCMAKE_BUILD_TYPE=RelWithDebInfo
2016-10-18 00:23:18 +02:00
Alf Gaida
f5b866e7f4 take the missed patches into VCS too 2016-02-26 19:12:35 +01:00
Alf Gaida
7cf38fe0a7 Bump Standards to 3.9.7
Secured VCS-fields
Added hardening=+all
patched LXQtTranslateDesktop.cmake - it's already fixed upstream
  but i don't want to catch up with upstream before the upcoming
  release
Fixed years in copyright
2016-02-26 19:01:26 +01:00
ChangZhuo Chen (陳昌倬)
72c99dcadf Merge branch 'debian/sid' of git://anonscm.debian.org/pkg-lxqt/liblxqt into debian/sid
* 'debian/sid' of git://anonscm.debian.org/pkg-lxqt/liblxqt:
  Minor fix in source package control file
2015-12-26 11:12:17 +08:00
Peter Mattern
c024292306 Minor fix in source package control file 2015-12-23 22:55:17 +01:00
115 changed files with 989 additions and 20163 deletions

23
.gitignore vendored
View File

@ -1,23 +0,0 @@
*.kdev4*
moc_*.cxx
qrc_*.cxx
cmake_install.cmake
cmake_uninstall.cmake
Makefile
CMakeFiles
CMakeCache.txt
CPackConfig.cmake
CPackSourceConfig.cmake
lib*.so
lib*.so.*
ui_*.h
*.qm
lxqt-appswitcher/lxqt-appswitcher
lxqt-desktop/lxqt-desktop
lxqt-panel/panel/lxqt-panel
*~
*.autosave
*-swp
CMakeLists.txt.user*
/build
nbproject/

12
AUTHORS
View File

@ -1,12 +0,0 @@
Upstream Authors:
LXQt team: http://lxqt.org
Razor team: http://razor-qt.org
Copyright:
Copyright (c) 2010-2012 Razor team
Copyright (c) 2012-2015 LXQt team
License: LGPL-2.1+ and BSD-3-clause
The full text of the LGPL-2.1+ licenses can be found in the 'COPYING' file.
The full text of the BSD-3-clause license can be found in the headers of
the files under this license.

View File

@ -1,359 +0,0 @@
cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR)
project(liblxqt)
set(LXQT_MAJOR_VERSION 0)
set(LXQT_MINOR_VERSION 10)
set(LXQT_PATCH_VERSION 0)
include(CMakePackageConfigHelpers)
include(GNUInstallDirs) # Standard directories for installation
#-----------------------------------------------------------------------------
# LXQT_DATA_DIR defaults to CMAKE_INSTALL_FULL_DATADIR. It's added to
# XDG_DATA_DIRS by the startlxqt script
# Warning: Setting LXQT_DATA_DIR must be done after including GNUInstallDirs
#-----------------------------------------------------------------------------
if (NOT DEFINED LXQT_DATA_DIR)
set(LXQT_DATA_DIR "${CMAKE_INSTALL_FULL_DATADIR}" CACHE PATH
"LXQt base directory relative to which data files should be searched"
)
endif()
#-----------------------------------------------------------------------------
# Release is the default build type
#-----------------------------------------------------------------------------
if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()
set(LXQT_PKG_CONFIG_DESCRIPTION "Shared library for LXQt applications")
set(PUB_HDRS
lxqthtmldelegate.h
lxqtsettings.h
lxqtplugininfo.h
lxqtpowermanager.h
lxqtscreensaver.h
lxqtapplication.h
lxqtsingleapplication.h
lxqttranslator.h
lxqtprogramfinder.h
configdialog/lxqtconfigdialog.h
configdialog/lxqtpageselectwidget.h
lxqtpower/lxqtpower.h
lxqtnotification.h
lxqtautostartentry.h
lxqtgridlayout.h
lxqtrotatedwidget.h
lxqtglobals.h
)
set(PUBLIC_CLASSES
HtmlDelegate
Settings
PluginInfo
PowerManager
ScreenSaver
Application
SingleApplication
Translator
ProgramFinder
ConfigDialog
PageSelectWidget
Power
Notification
AutostartEntry
GridLayout
RotatedWidget
)
set(SRCS
lxqthtmldelegate.cpp
lxqtplugininfo.cpp
lxqtpowermanager.cpp
lxqtsettings.cpp
lxqtscreensaver.cpp
lxqtapplication.cpp
lxqtsingleapplication.cpp
lxqttranslator.cpp
lxqtprogramfinder.cpp
configdialog/lxqtconfigdialog.cpp
configdialog/lxqtpageselectwidget.cpp
lxqtpower/lxqtpower.cpp
lxqtpower/lxqtpowerproviders.cpp
lxqtautostartentry.cpp
lxqtnotification.cpp
lxqtgridlayout.cpp
lxqtrotatedwidget.cpp
)
set(MOCS
lxqthtmldelegate.h
lxqtpowermanager.h
lxqtsettings.h
lxqtscreensaver.h
lxqtapplication.h
configdialog/lxqtconfigdialog.h
configdialog/lxqtpageselectwidget.h
lxqtnotification.h
lxqtnotification_p.h
lxqtpower/lxqtpower.h
lxqtpower/lxqtpowerproviders.h
lxqtgridlayout.h
lxqtrotatedwidget.h
)
set(FORMS
configdialog/lxqtconfigdialog.ui
)
# additional cmake files
list(APPEND CMAKE_MODULE_PATH
"${CMAKE_CURRENT_SOURCE_DIR}/cmake"
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules"
)
option(UPDATE_TRANSLATIONS "Update source translation translations/*.ts files" OFF)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
find_package(Qt5Widgets REQUIRED QUIET)
find_package(Qt5DBus REQUIRED QUIET)
find_package(Qt5X11Extras REQUIRED QUIET)
find_package(Qt5LinguistTools REQUIRED QUIET)
find_package(Qt5Xdg REQUIRED QUIET)
find_package(KF5WindowSystem REQUIRED QUIET)
message(STATUS "Building with Qt ${Qt5Core_VERSION_STRING}")
QT5_ADD_DBUS_INTERFACE(SRCS
dbus/org.freedesktop.Notifications.xml
notifications_interface
)
QT5_ADD_DBUS_ADAPTOR(SRCS
dbus/org.lxqt.SingleApplication.xml
lxqtsingleapplication.h LXQt::SingleApplication
)
set(LXQT_QT_VERSION "5")
# KF5WindowSystem is missing here. KF5WindowSystem doesn't provide an .pc file.
set(LXQT_PKG_CONFIG_REQUIRES "Qt5Xdg >= 1.2.0, Qt5Widgets, Qt5Xml, Qt5DBus, Qt5X11Extras")
# Standard directories for installation
include(LXQtCompilerSettings NO_POLICY_SCOPE)
include(LXQtCreatePkgConfigFile)
include(cmake/FindInstallConfigPath.cmake) # sets LXQT_ETC_XDG_DIR, if unset
include(create_portable_headers)
set(LXQT_VERSION ${LXQT_MAJOR_VERSION}.${LXQT_MINOR_VERSION}.${LXQT_PATCH_VERSION})
set(LXQT_LIBRARY_NAME "lxqt" CACHE STRING "lxqt")
set(LXQT_RELATIVE_SHARE_DIR "${LXQT_LIBRARY_NAME}")
set(LXQT_SHARE_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/${LXQT_RELATIVE_SHARE_DIR}")
set(LXQT_RELATIVE_TRANSLATIONS_DIR "${LXQT_LIBRARY_NAME}/translations")
set(LXQT_TRANSLATIONS_DIR "${LXQT_SHARE_DIR}/translations")
set(LXQT_INTREE_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/include")
set(LXQT_INTREE_TARGETS_FILE "${CMAKE_BINARY_DIR}/${LXQT_LIBRARY_NAME}-targets.cmake")
set(LXQT_INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}/${LXQT_LIBRARY_NAME}")
set(LXQT_INSTALL_CMAKE_DIR "${CMAKE_INSTALL_PREFIX}/share/cmake")
## Translations
include(LXQtTranslateTs)
lxqt_translate_ts(QM_FILES
UPDATE_TRANSLATIONS
${UPDATE_TRANSLATIONS}
SOURCES
${SRCS}
${FORMS}
INSTALL_DIR
"${LXQT_TRANSLATIONS_DIR}/${PROJECT_NAME}"
)
message(STATUS "")
message(STATUS "liblxqt version: ${LXQT_VERSION}")
message(STATUS "")
# Copy public headers
foreach(h ${PUB_HDRS})
get_filename_component(bh ${h} NAME)
configure_file(${h} "${LXQT_INTREE_INCLUDE_DIR}/LXQt/${bh}" COPYONLY)
endforeach()
# Create the portable headers
create_portable_headers(INTREE_PORTABLE_HEADERS "${LXQT_INTREE_INCLUDE_DIR}/LXQt" ${PUBLIC_CLASSES})
check_portable_headers(H_FILES ${PUB_HDRS} LINKS "${INTREE_PORTABLE_HEADERS}")
#************************************************
# Create in-tree build infrastructure
#************************************************
set(CFG_LXQT_TARGETS_FILE "${LXQT_INTREE_TARGETS_FILE}")
set(CFG_LXQT_CMAKE_MODULES_DIR "${PROJECT_SOURCE_DIR}/cmake/modules")
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/lxqt-config.cmake.in"
"${CMAKE_BINARY_DIR}/${LXQT_LIBRARY_NAME}-config.cmake"
INSTALL_DESTINATION "neverland" # required, altough we don't install it
)
#************************************************
# Create installable build infrastructure
#************************************************
set(CFG_LXQT_TARGETS_FILE "${LXQT_INSTALL_CMAKE_DIR}/${LXQT_LIBRARY_NAME}/${LXQT_LIBRARY_NAME}-targets.cmake")
set(CFG_LXQT_CMAKE_MODULES_DIR "${LXQT_INSTALL_CMAKE_DIR}/${LXQT_LIBRARY_NAME}/modules")
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/lxqt-config.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/install/${LXQT_LIBRARY_NAME}-config.cmake"
INSTALL_DESTINATION "${LXQT_INSTALL_CMAKE_DIR}/${LXQT_LIBRARY_NAME}"
)
write_basic_package_version_file(
"${CMAKE_BINARY_DIR}/${LXQT_LIBRARY_NAME}-config-version.cmake"
VERSION ${LXQT_VERSION}
COMPATIBILITY AnyNewerVersion
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/install/${LXQT_LIBRARY_NAME}-config.cmake"
"${CMAKE_BINARY_DIR}/${LXQT_LIBRARY_NAME}-config-version.cmake"
DESTINATION "${LXQT_INSTALL_CMAKE_DIR}/${LXQT_LIBRARY_NAME}"
COMPONENT Devel
)
install(EXPORT
${LXQT_LIBRARY_NAME}-targets
DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/${LXQT_LIBRARY_NAME}"
COMPONENT Devel
)
file(GLOB toInstallModules
"${PROJECT_SOURCE_DIR}/cmake/modules/*.cmake"
"${PROJECT_SOURCE_DIR}/cmake/modules/*.in"
)
install(
FILES ${toInstallModules}
DESTINATION "${LXQT_INSTALL_CMAKE_DIR}/${LXQT_LIBRARY_NAME}/modules"
COMPONENT Devel
)
add_library(${LXQT_LIBRARY_NAME}
SHARED ${PUB_HDRS}
${SRCS}
${dbus_generated}
${UIS} ${MOCS}
${QM_FILES}
${QRC_CXX_SOURCES}
)
target_link_libraries(${LXQT_LIBRARY_NAME}
PUBLIC
KF5::WindowSystem
Qt5::Widgets
Qt5::DBus
Qt5::X11Extras
Qt5Xdg
)
set_target_properties(${LXQT_LIBRARY_NAME} PROPERTIES
VERSION ${LXQT_VERSION}
SOVERSION ${LXQT_MAJOR_VERSION}
)
target_compile_definitions(${LXQT_LIBRARY_NAME}
PRIVATE "LXQT_RELATIVE_SHARE_DIR=\"${LXQT_RELATIVE_SHARE_DIR}\""
PRIVATE "LXQT_SHARE_DIR=\"${LXQT_SHARE_DIR}\""
PRIVATE "LXQT_RELATIVE_SHARE_TRANSLATIONS_DIR=\"${LXQT_RELATIVE_TRANSLATIONS_DIR}\""
PRIVATE "LXQT_SHARE_TRANSLATIONS_DIR=\"${LXQT_TRANSLATIONS_DIR}\""
PRIVATE "LXQT_ETC_XDG_DIR=\"${LXQT_ETC_XDG_DIR}\""
PRIVATE "LXQT_DATA_DIR=\"${LXQT_DATA_DIR}\""
PRIVATE "LXQT_VERSION=\"${LXQT_VERSION}\""
PRIVATE "COMPILE_LIBLXQT"
)
target_compile_definitions(${LXQT_LIBRARY_NAME}
PRIVATE "$<$<CONFIG:Release>:QT_NO_DEBUG_OUTPUT>"
PRIVATE "$<$<CONFIG:Release>:QT_NO_WARNING_OUTPUT>"
)
target_include_directories(${LXQT_LIBRARY_NAME}
INTERFACE "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/${LXQT_LIBRARY_NAME}>"
INTERFACE "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/${LXQT_LIBRARY_NAME}/LXQt>"
)
target_include_directories(${LXQT_LIBRARY_NAME}
INTERFACE "$<BUILD_INTERFACE:${LXQT_INTREE_INCLUDE_DIR}>"
INTERFACE "$<BUILD_INTERFACE:${LXQT_INTREE_INCLUDE_DIR}/LXQt>"
)
install(TARGETS
${LXQT_LIBRARY_NAME}
DESTINATION "${CMAKE_INSTALL_LIBDIR}"
EXPORT ${LXQT_LIBRARY_NAME}-targets
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
COMPONENT Runtime
)
export(TARGETS ${LXQT_LIBRARY_NAME}
APPEND FILE "${LXQT_INTREE_TARGETS_FILE}"
EXPORT_LINK_INTERFACE_LIBRARIES
)
install(FILES
${PUB_HDRS}
DESTINATION "${LXQT_INSTALL_INCLUDE_DIR}/LXQt"
COMPONENT Devel
)
install(FILES
${INTREE_PORTABLE_HEADERS}
DESTINATION "${LXQT_INSTALL_INCLUDE_DIR}/LXQt"
COMPONENT Devel
)
#************************************************
# Create and install pkgconfig file
#************************************************
lxqt_create_pkgconfig_file(
PACKAGE_NAME ${LXQT_LIBRARY_NAME}
DESCRIPTIVE_NAME ${LXQT_LIBRARY_NAME}
DESCRIPTION ${LXQT_PKG_CONFIG_DESCRIPTION}
INCLUDEDIRS ${LXQT_LIBRARY_NAME}
LIBS ${LXQT_LIBRARY_NAME}
REQUIRES ${LXQT_PKG_CONFIG_REQUIRES}
VERSION ${LXQT_VERSION}
INSTALL
)
#************************************************
# building tarball with CPack -------------------------------------------------
include(InstallRequiredSystemLibraries)
set(CPACK_PACKAGE_VERSION_MAJOR ${LXQT_MAJOR_VERSION})
set(CPACK_PACKAGE_VERSION_MINOR ${LXQT_MINOR_VERSION})
set(CPACK_PACKAGE_VERSION_PATCH ${LXQT_PATCH_VERSION})
set(CPACK_GENERATOR TBZ2)
set(CPACK_SOURCE_GENERATOR TBZ2)
set(CPACK_SOURCE_IGNORE_FILES /build/;.gitignore;.*~;.git;.kdev4;temp)
include(CPack)

458
COPYING
View File

@ -1,458 +0,0 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS

View File

@ -1,23 +0,0 @@
# XDG standards expects system-wide configuration files in the /etc/xdg/lxqt location.
# Unfortunately QSettings we are using internally can be overriden in the Qt compilation
# time to use different path for system-wide configs. (for example configure ... -sysconfdir /etc/settings ...)
# This path can be found calling Qt4's qmake:
# qmake -query QT_INSTALL_CONFIGURATION
#
if(NOT DEFINED LXQT_ETC_XDG_DIR)
get_target_property(QT_QMAKE_EXECUTABLE ${Qt5Core_QMAKE_EXECUTABLE} IMPORTED_LOCATION)
message(STATUS "${QT_QMAKE_EXECUTABLE}")
if(NOT QT_QMAKE_EXECUTABLE)
message(FATAL_ERROR "LXQT_ETC_XDG_DIR: qmake executable not found (included before qt was configured?)")
endif()
execute_process(COMMAND ${QT_QMAKE_EXECUTABLE} -query QT_INSTALL_CONFIGURATION
OUTPUT_VARIABLE LXQT_ETC_XDG_DIR
OUTPUT_STRIP_TRAILING_WHITESPACE)
message(STATUS "LXQT_ETC_XDG_DIR autodetected as '${LXQT_ETC_XDG_DIR}'")
message(STATUS "You can set it manually with -DLXQT_ETC_XDG_DIR=<value>")
message(STATUS "")
endif ()

View File

@ -1,58 +0,0 @@
# Creates portable headers; e.g.:
# Creates XdgAction from xdgaction.h
# XdgAction contents:
# #include "xdgaction.h"
#
# Use:
# set(PUBLIC_CLASSES MyClass YourClass)
# create_portable_headers(PORTABLE_HEADERS ${PUBLIC_CLASSES})
# PORTABLE_HEADER is an return value that contains the full name of the
# generated headers.
function(create_portable_headers outfiles outDir)
set(options)
set(oneValueArgs)
set(multiValueArgs)
cmake_parse_arguments(_CREATE_PORTABLE_HEADERS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
set(class_list ${_CREATE_PORTABLE_HEADERS_UNPARSED_ARGUMENTS})
foreach(f ${class_list})
string(TOLOWER "${f}.h" _filename)
file(WRITE "${outDir}/${f}"
"#include \"lxqt${_filename}\"\n")
list(APPEND ${outfiles} "${outDir}/${f}")
endforeach()
set(${outfiles} "${${outfiles}}" PARENT_SCOPE)
endfunction()
function(check_portable_headers)
cmake_parse_arguments(__ARGS "" "" "H_FILES;LINKS" ${ARGN})
foreach(f ${__ARGS_LINKS})
file(READ ${f} content)
set(found False)
foreach(line ${content})
string(REGEX MATCH "#include \"(.*)\"" v ${line})
set(hFile ${CMAKE_MATCH_1})
string(REGEX MATCH "[;/]${hFile};" v ";${__ARGS_H_FILES};")
if(NOT v)
set(found True)
endif()
endforeach()
if(found)
message(FATAL_ERROR "Incorrect portable header: '${f}'")
endif()
endforeach()
endfunction()

View File

@ -1,67 +0,0 @@
# - Finds the lxqt package
#
# The module defines the following variables
#
# LXQT_FOUND - Set to TRUE if all of the above has been found
#
# LXQT_SHARE_DIR - This allows to install and read the configs from non-standard locations
#
# LXQT_TRANSLATIONS_DIR - The default translations directory
#
# LXQT_ETC_XDG_DIR - XDG standards expects system-wide configuration files in the
# /etc/xdg/lxqt location. Unfortunately QSettings we are using internally
# can be overriden in the Qt compilation time to use different path for
# system-wide configs. (for example configure ... -sysconfdir /etc/settings ...)
# This path can be found calling Qt's qmake:
# qmake -query QT_INSTALL_CONFIGURATION
#
# LXQT_DATA_DIR - LXQt base directory relative to which data files should
# be searched.Defaults to CMAKE_INSTALL_FULL_DATADIR. It's
# added to XDG_DATA_DIRS by the startlxqt script.
#
@PACKAGE_INIT@
set(LXQT_USEQT@LXQT_QT_VERSION@ ON)
set(LXQT_QT_VERSION @LXQT_QT_VERSION@)
set(LXQT_MAJOR_VERSION @LXQT_MAJOR_VERSION@)
set(LXQT_MINOR_VERSION @LXQT_MINOR_VERSION@)
set(LXQT_PATCH_VERSION @LXQT_PATCH_VERSION@)
set(LXQT_VERSION @LXQT_VERSION@)
set(LXQT_RELATIVE_SHARE_DIR @LXQT_RELATIVE_SHARE_DIR@)
set(LXQT_SHARE_DIR @LXQT_SHARE_DIR@)
set(LXQT_RELATIVE_TRANSLATIONS_DIR @LXQT_RELATIVE_TRANSLATIONS_DIR@)
set(LXQT_TRANSLATIONS_DIR @LXQT_TRANSLATIONS_DIR@)
set(LXQT_ETC_XDG_DIR @LXQT_ETC_XDG_DIR@)
set(LXQT_DATA_DIR @LXQT_DATA_DIR@)
set(LXQT_CMAKE_MODULES_DIR @CFG_LXQT_CMAKE_MODULES_DIR@)
set(LXQT@LXQT_QT_VERSION@_FOUND 1)
include(CMakeFindDependencyMacro)
add_definitions(-DLXQT_RELATIVE_SHARE_DIR=\"${LXQT_RELATIVE_SHARE_DIR}\")
add_definitions(-DLXQT_SHARE_DIR=\"${LXQT_SHARE_DIR}\")
add_definitions(-DLXQT_RELATIVE_SHARE_TRANSLATIONS_DIR=\"${LXQT_RELATIVE_TRANSLATIONS_DIR}\")
add_definitions(-DLXQT_SHARE_TRANSLATIONS_DIR=\"${LXQT_TRANSLATIONS_DIR}\")
add_definitions(-DLXQT_ETC_XDG_DIR=\"${LXQT_ETC_XDG_DIR}\")
add_definitions(-DLXQT_DATA_DIR=\"${LXQT_DATA_DIR}\")
add_definitions(-DLXQT_VERSION=\"${LXQT_VERSION}\")
SET_SOURCE_FILES_PROPERTIES(LXQT_LIBRARIES PROPERTIES OBJECT_DEPENDS lxqt${LXQT_QT_VERSION})
list(APPEND CMAKE_MODULE_PATH "${LXQT_CMAKE_MODULES_DIR}")
find_dependency(Qt5Widgets)
find_dependency(Qt5DBus)
find_dependency(Qt5X11Extras)
find_dependency(Qt5LinguistTools)
find_dependency(Qt5Xdg)
find_dependency(KF5WindowSystem)
if (CMAKE_VERSION VERSION_GREATER 2.8.12)
cmake_policy(SET CMP0024 OLD)
endif()
include("${CMAKE_CURRENT_LIST_DIR}/lxqt-targets.cmake")

View File

@ -1,15 +0,0 @@
/* This file has been generated by the CMake lxqt_app_translation_loader().
* It loads LXQt application translations.
*
* Attention: All changes will be overwritten!!!
*/
#include <QCoreApplication>
#include <LXQt/Translator>
static void loadAppTranslation()
{
LXQt::Translator::translateApplication(QStringLiteral("@catalog_name@"));
}
Q_COREAPP_STARTUP_FUNCTION(loadAppTranslation)

View File

@ -1,141 +0,0 @@
#=============================================================================
# Copyright 2015 Luís Pereira <luis.artur.pereira@gmail.com>
# Copyright 2015 Palo Kisa <palo.kisa@gmail.com>
# Copyright 2013 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
#-----------------------------------------------------------------------------
# Honor visibility properties for all target types.
#
# The ``<LANG>_VISIBILITY_PRESET`` and
# ``VISIBILITY_INLINES_HIDDEN`` target properties affect visibility
# of symbols during dynamic linking. When first introduced these properties
# affected compilation of sources only in shared libraries, module libraries,
# and executables with the ``ENABLE_EXPORTS`` property set. This
# was sufficient for the basic use cases of shared libraries and executables
# with plugins. However, some sources may be compiled as part of static
# libraries or object libraries and then linked into a shared library later.
# CMake 3.3 and above prefer to honor these properties for sources compiled
# in all target types. This policy preserves compatibility for projects
# expecting the properties to work only for some target types.
#
# The ``OLD`` behavior for this policy is to ignore the visibility properties
# for static libraries, object libraries, and executables without exports.
# The ``NEW`` behavior for this policy is to honor the visibility properties
# for all target types.
#
# This policy was introduced in CMake version 3.3. CMake version
# 3.3.0 warns when the policy is not set and uses ``OLD`` behavior. Use
# the ``cmake_policy()`` command to set it to ``OLD`` or ``NEW``
# explicitly.
#-----------------------------------------------------------------------------
if(COMMAND CMAKE_POLICY)
if (POLICY CMP0063)
cmake_policy(SET CMP0063 NEW)
endif()
endif()
include(CheckCXXCompilerFlag)
#-----------------------------------------------------------------------------
# Detect Clang compiler
#-----------------------------------------------------------------------------
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set(LXQT_COMPILER_IS_CLANGCXX 1)
endif()
#-----------------------------------------------------------------------------
# Set visibility to hidden to hide symbols, unless they're exported manually
# in the code
#-----------------------------------------------------------------------------
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
#-----------------------------------------------------------------------------
# Disable exceptions
#-----------------------------------------------------------------------------
if (CMAKE_COMPILER_IS_GNUCXX OR LXQT_COMPILER_IS_CLANGCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")
endif()
#-----------------------------------------------------------------------------
# Common warning flags
#-----------------------------------------------------------------------------
set(__LXQT_COMMON_WARNING_FLAGS "-Wall")
#-----------------------------------------------------------------------------
# Warning flags
#-----------------------------------------------------------------------------
if (CMAKE_COMPILER_IS_GNUCXX OR LXQT_COMPILER_IS_CLANGCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${__LXQT_COMMON_WARNING_FLAGS}")
endif()
#-----------------------------------------------------------------------------
# Linker flags
# Do not allow undefined symbols
#-----------------------------------------------------------------------------
if (CMAKE_COMPILER_IS_GNUCXX OR LXQT_COMPILER_IS_CLANGCXX)
set(CMAKE_SHARED_LINKER_FLAGS
"-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}"
)
set(CMAKE_MODULE_LINKER_FLAGS
"-Wl,--no-undefined ${CMAKE_MODULE_LINKER_FLAGS}"
)
endif()
#-----------------------------------------------------------------------------
# CXX11 and CXX0X requirements
#-----------------------------------------------------------------------------
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
elseif(COMPILER_SUPPORTS_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
else()
message(FATAL "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. C++11 support is required")
endif()
#-----------------------------------------------------------------------------
# Enable exceptions for an target
#
# lxqt_enable_target_exceptions(<target>
# <INTERFACE|PUBLIC|PRIVATE>
# )
#
#-----------------------------------------------------------------------------
function(lxqt_enable_target_exceptions target mode)
target_compile_options(${target} ${mode}
"$<$<OR:$<CXX_COMPILER_ID:GNU>,$<CXX_COMPILER_ID:Clang>>:-fexceptions>"
)
endfunction()

View File

@ -1,252 +0,0 @@
#=============================================================================
# Copyright 2015 Luís Pereira <luis.artur.pereira@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================#
# lxqt_create_pkgconfig_file(PACKAGE_NAME <package_name>
# VERSION <version>
# [PREFIX <path>]
# [EXEC_PREFIX <path>]
# [INCLUDEDIR_PREFIX <path>]
# [INCLUDEDIRS <path1> <path2> ... <path3>]
# [LIBDIR_PREFIX <path>]
# [DESCRIPTIVE_NAME <name>]
# [DESCRIPTION <description>]
# [URL <url>]
# [REQUIRES <dep1> <dep2> ... <dep3>]
# [REQUIRES_PRIVATE <dep1> <dep2> ... <dep3>]
# [LIB_INSTALLDIR <dir>]
# [CFLAGS <cflags>]
# [PATH <path>]
# [INSTALL]
# [COMPONENT] component)
#
#
# PACKAGE_NAME and VERSION are mandatory. Everything else is optional
include(CMakeParseArguments)
include(GNUInstallDirs)
function(lxqt_create_pkgconfig_file)
set(options INSTALL)
set(oneValueArgs
PACKAGE_NAME
PREFIX
EXEC_PREFIX
INCLUDEDIR_PREFIX
LIBDIR_PREFIX
DESCRIPTIVE_NAME
DESCRIPTION
URL
VERSION
PATH
COMPONENT
)
set(multiValueArgs
INCLUDEDIRS
REQUIRES
REQUIRES_PRIVATE
CONFLICTS
CFLAGS
LIBS
LIBS_PRIVATE
)
cmake_parse_arguments(USER "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if (USER_UNPARSED_ARGUMENTS)
message(FATAL_ERROR "Unknown keywords given to create_pkgconfig_file(): \"${USER_UNPARSED_ARGUMENTS}\"")
endif()
# Check for mandatory args. Abort if not set
if (NOT DEFINED USER_PACKAGE_NAME)
message(FATAL_ERROR "Required argument PACKAGE_NAME missing in generate_pkgconfig_file() call")
else()
set(_PKGCONFIG_PACKAGE_NAME "${USER_PACKAGE_NAME}")
endif()
if (NOT DEFINED USER_VERSION)
message(FATAL_ERROR "Required argument VERSION missing in generate_pkgconfig_file() call")
else()
set(_PKGCONFIG_VERSION "${USER_VERSION}")
endif()
# Optional args
if (NOT DEFINED USER_PREFIX)
set(_PKGCONFIG_PREFIX "${CMAKE_INSTALL_PREFIX}")
endif()
if (NOT DEFINED USER_EXEC_PREFIX)
set(_PKGCONFIG_EXEC_PREFIX "\${prefix}")
endif()
if (NOT DEFINED USER_INCLUDEDIR_PREFIX)
set(_PKGCONFIG_INCLUDEDIR_PREFIX "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
endif()
if (NOT DEFINED USER_LIBDIR_PREFIX)
set(_PKGCONFIG_LIBDIR_PREFIX "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
endif()
if (NOT DEFINED USER_DESCRIPTIVE_NAME)
set(_PKGCONFIG_DESCRIPTIVE_NAME "")
else()
set(_PKGCONFIG_DESCRIPTIVE_NAME "${USER_DESCRIPTIVE_NAME}")
endif()
if (DEFINED USER_INCLUDEDIRS)
set(tmp "")
foreach(dir ${USER_INCLUDEDIRS})
if (NOT IS_ABSOLUTE "${dir}")
list(APPEND tmp "-I\${includedir}/${dir}")
endif()
endforeach()
string(REPLACE ";" " " _INCLUDEDIRS "${tmp}")
endif()
if (DEFINED USER_REQUIRES)
string(REPLACE ";" ", " _PKGCONFIG_REQUIRES "${USER_REQUIRES}")
endif()
if (DEFINED USER_REQUIRES_PRIVATE)
string(REPLACE ";" ", " _PKGCONFIG_REQUIRES_PRIVATE "${USER_REQUIRES_PRIVATE}")
else()
set(_PKGCONFIG_REQUIRES_PRIVATE "")
endif()
if (NOT DEFINED USER_CFLAGS)
set(_PKGCONFIG_CFLAGS "-I\${includedir} ${_INCLUDEDIRS}")
endif()
if (NOT DEFINED USER_LIBS)
set(_PKGCONFIG_LIBS "-L\${libdir}")
else()
set(tmp "-L\${libdir}")
set(_libs "${USER_LIBS}")
foreach(lib ${_libs})
list(APPEND tmp "-l${lib}")
endforeach()
string(REPLACE ";" " " _PKGCONFIG_LIBS "${tmp}")
endif()
if (NOT DEFINED USER_LIBS_PRIVATE)
set(PKGCONFIG_LIBS "-L\${libdir}")
else()
set(tmp "")
set(_libs "${USER_LIBS_PRIVATE}")
foreach(lib ${_libs})
list(APPEND tmp "-l${lib}")
endforeach()
string(REPLACE ";" " " _PKGCONFIG_LIBS_PRIVATE "${tmp}")
endif()
if (DEFINED USER_DESCRIPTION)
set(_PKGCONFIG_DESCRIPTION "${USER_DESCRIPTION}")
else()
set(_PKGCONFIG_DESCRIPTION "")
endif()
if (DEFINED USER_URL)
set(_PKFCONFIG_URL "${USER_URL}")
else()
set(_PKGCONFIG_URL "")
endif()
if (NOT DEFINED USER_PATH)
set(_PKGCONFIG_FILE "${PROJECT_BINARY_DIR}/${_PKGCONFIG_PACKAGE_NAME}.pc")
else()
if (IS_ABSOLUTE "${USER_PATH}")
set(_PKGCONFIG_FILE "${USER_PATH}/${_PKGCONFIG_PACKAGE_NAME}.pc")
else()
set(_PKGCONFIG_FILE "${PROJECT_BINARY_DIR}/${USER_PATH}/${_PKGCONFIG_PACKAGE_NAME}.pc")
endif()
endif()
# Write the .pc file
FILE(WRITE "${_PKGCONFIG_FILE}"
"# file generated by create_pkgconfig_file()\n"
"prefix=${_PKGCONFIG_PREFIX}\n"
"exec_prefix=${_PKGCONFIG_EXEC_PREFIX}\n"
"libdir=${_PKGCONFIG_LIBDIR_PREFIX}\n"
"includedir=${_PKGCONFIG_INCLUDEDIR_PREFIX}\n"
"\n"
"Name: ${_PKGCONFIG_DESCRIPTIVE_NAME}\n"
)
if (NOT "${_PKGCONFIG_DESCRIPTION}" STREQUAL "")
FILE(APPEND ${_PKGCONFIG_FILE}
"Description: ${_PKGCONFIG_DESCRIPTION}\n"
)
endif()
if (NOT "${_PKGCONFIG_URL}" STREQUAL "")
FILE(APPEND ${_PKGCONFIG_FILE} "URL: ${_PKGCONFIG_URL}\n")
endif()
FILE(APPEND ${_PKGCONFIG_FILE} "Version: ${_PKGCONFIG_VERSION}\n")
if (NOT "${_PKGCONFIG_REQUIRES}" STREQUAL "")
FILE(APPEND ${_PKGCONFIG_FILE} "Requires: ${_PKGCONFIG_REQUIRES}\n")
endif()
if (NOT "${_PKGCONFIG_REQUIRES_PRIVATE}" STREQUAL "")
FILE(APPEND ${_PKGCONFIG_FILE}
"Requires.private: ${_PKGCONFIG_REQUIRES_PRIVATE}\n"
)
endif()
FILE(APPEND ${_PKGCONFIG_FILE}
"Cflags: ${_PKGCONFIG_CFLAGS}\n"
"Libs: ${_PKGCONFIG_LIBS}\n"
)
if (NOT "${_PKGCONFIG_LIBS_PRIVATE}" STREQUAL "")
FILE(APPEND ${_PKGCONFIG_FILE}
"Libs.private: ${_PKGCONFIG_REQUIRES_PRIVATE}\n"
)
endif()
if (DEFINED USER_INSTALL)
# FreeBSD loves to install files to different locations
# http://www.freebsd.org/doc/handbook/dirstructure.html
if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
set(_PKGCONFIG_INSTALL_DESTINATION "libdata/pkgconfig")
else()
set(_PKGCONFIG_INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
endif()
if (DEFINED USER_COMPONENT)
set(_COMPONENT "${USER_COMPONENT}")
else()
set(_COMPONENT "Devel")
endif()
install(FILES "${_PKGCONFIG_FILE}"
DESTINATION "${_PKGCONFIG_INSTALL_DESTINATION}"
COMPONENT "${_COMPONENT}")
endif()
endfunction()

View File

@ -1,15 +0,0 @@
/* This file has been generated by the CMake lxqt_app_translation_loader().
* It loads LXQt libraries translations.
*
* Attention: All changes will be overwritten!!!
*/
#include <QCoreApplication>
#include <LXQt/Translator>
static void loadLibTranslation()
{
LXQt::Translator::translateLibrary(QStringLiteral("@catalog_name@"));
}
Q_COREAPP_STARTUP_FUNCTION(loadLibTranslation)

View File

@ -1,23 +0,0 @@
/* This file has been generated by the CMake lxqt_plugin_translation_loader().
* It loads LXQt plugin translations.
*
* Attention: All changes will be overwritten!!!
*/
#include <QCoreApplication>
#include <LXQt/Translator>
/* Dummy helper symbol for referencing.
* In case plugin is linked as static (lib*.a) unreferenced objects are stripped in linking time
* => we need to reference some symbol from this file to be not stripped as a whole.
*/
void * loadPluginTranslation_@catalog_name@_helper = nullptr;
static void loadPluginTranslation()
{
//XXX: we don't use the QStringLiteral here because it causes SEGFAULT in static finalization time
// (the string is stored in static QHash and it's destructor can reference already deleted static QString (generated by QStringLiteral))
LXQt::Translator::translatePlugin("@catalog_name@", "@plugin_type@");
}
Q_COREAPP_STARTUP_FUNCTION(loadPluginTranslation)

View File

@ -1,32 +0,0 @@
#=============================================================================
# Copyright 2014 Luís Pereira <luis.artur.pereira@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
#
# An convenience module that loads all the LXQt translations modules at once.
include(LXQtTranslateTs)
include(LXQtTranslateDesktop)
include(LXQtTranslationLoader)

View File

@ -1,107 +0,0 @@
#=============================================================================
# The lxqt_translate_desktop() function was copied from the
# LXQt LXQtTranslate.cmake
#
# Original Author: Alexander Sokolov <sokoloff.a@gmail.com>
#
# funtion lxqt_translate_desktop(_RESULT
# SOURCES <sources>
# [TRANSLATION_DIR] translation_directory
# )
# Output:
# _RESULT The generated .desktop (.desktop) files
#
# Input:
#
# SOURCES List of input desktop files (.destktop.in) to be translated
# (merged), relative to the CMakeList.txt.
#
# TRANSLATION_DIR Optional path to the directory with the .ts files,
# relative to the CMakeList.txt. Defaults to
# "translations".
#
#=============================================================================
function(lxqt_translate_desktop _RESULT)
# Parse arguments ***************************************
set(oneValueArgs TRANSLATION_DIR)
set(multiValueArgs SOURCES)
cmake_parse_arguments(_ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
# check for unknown arguments
set(_UNPARSED_ARGS ${_ARGS_UNPARSED_ARGUMENTS})
if (NOT ${_UNPARSED_ARGS} STREQUAL "")
MESSAGE(FATAL_ERROR
"Unknown arguments '${_UNPARSED_ARGS}'.\n"
"See lxqt_translate_desktop() documentation for more information.\n"
)
endif()
if (NOT DEFINED _ARGS_SOURCES)
set(${_RESULT} "" PARENT_SCOPE)
return()
else()
set(_sources ${_ARGS_SOURCES})
endif()
if (NOT DEFINED _ARGS_TRANSLATION_DIR)
set(_translationDir "translations")
else()
set(_translationDir ${_ARGS_TRANSLATION_DIR})
endif()
get_filename_component (_translationDir ${_translationDir} ABSOLUTE)
foreach (_inFile ${_sources})
get_filename_component(_inFile ${_inFile} ABSOLUTE)
get_filename_component(_fileName ${_inFile} NAME_WE)
#Extract the real extension ............
get_filename_component(_fileExt ${_inFile} EXT)
string(REPLACE ".in" "" _fileExt ${_fileExt})
#.......................................
set(_outFile "${CMAKE_CURRENT_BINARY_DIR}/${_fileName}${_fileExt}")
file(GLOB _translations
${_translationDir}/${_fileName}_*${_fileExt}
)
set(_pattern "'\\[.*]\\s*='")
if (_translations)
list(SORT _translations)
add_custom_command(OUTPUT ${_outFile}
COMMAND grep -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile}
COMMAND grep -h ${_pattern} ${_translations} >> ${_outFile}
COMMENT "Generating ${_fileName}${_fileExt}"
)
else()
add_custom_command(OUTPUT ${_outFile}
COMMAND grep -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile}
COMMENT "Generating ${_fileName}${_fileExt}"
)
endif()
set(__result ${__result} ${_outFile})
# TX file ***********************************************
set(_txFile "${CMAKE_BINARY_DIR}/tx/${_fileName}${_fileExt}.tx.sh")
string(REPLACE "${CMAKE_SOURCE_DIR}/" "" _tx_translationDir ${_translationDir})
string(REPLACE "${CMAKE_SOURCE_DIR}/" "" _tx_inFile ${_inFile})
string(REPLACE "." "" _fileType ${_fileExt})
file(WRITE ${_txFile}
"[ -f ${_inFile} ] || exit 0\n"
"echo '[lxde-qt.${_fileName}_${_fileType}]'\n"
"echo 'type = DESKTOP'\n"
"echo 'source_lang = en'\n"
"echo 'source_file = ${_tx_inFile}'\n"
"echo 'file_filter = ${_tx_translationDir}/${_fileName}_<lang>${_fileExt}'\n"
"echo ''\n"
)
endforeach()
set(${_RESULT} ${__result} PARENT_SCOPE)
endfunction(lxqt_translate_desktop)

View File

@ -1,140 +0,0 @@
#=============================================================================
# Copyright 2014 Luís Pereira <luis.artur.pereira@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
#
# funtion lxqt_translate_ts(qmFiles
# [USE_QT5 [Yes | No]]
# [UPDATE_TRANSLATIONS [Yes | No]]
# SOURCES <sources>
# [TEMPLATE] translation_template
# [TRANSLATION_DIR] translation_directory
# [INSTALL_DIR] install_directory
# [COMPONENT] component
# )
# Output:
# qmFiles The generated compiled translations (.qm) files
#
# Input:
# USE_QT5 Optional flag to choose between Qt4 and Qt5. Defaults to Qt5
#
# UPDATE_TRANSLATIONS Optional flag. Setting it to Yes, extracts and
# compiles the translations. Setting it No, only
# compiles them.
#
# TEMPLATE Optional translations files base name. Defaults to
# ${PROJECT_NAME}. An .ts extensions is added.
#
# TRANSLATION_DIR Optional path to the directory with the .ts files,
# relative to the CMakeList.txt. Defaults to
# "translations".
#
# INSTALL_DIR Optional destination of the file compiled files (qmFiles).
# If not present no installation is performed
#
# COMPONENT Optional install component. Only effective if INSTALL_DIR
# present. Defaults to "Runtime".
# CMake v2.8.3 needed to use the CMakeParseArguments module
cmake_minimum_required(VERSION 2.8.3 FATAL_ERROR)
# We use our patched version to round a annoying bug.
include(Qt5PatchedLinguistToolsMacros)
function(lxqt_translate_ts qmFiles)
set(oneValueArgs USE_QT5 UPDATE_TRANSLATIONS TEMPLATE TRANSLATION_DIR INSTALL_DIR COMPONENT)
set(multiValueArgs SOURCES)
cmake_parse_arguments(TR "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if (NOT DEFINED TR_UPDATE_TRANSLATIONS)
set(TR_UPDATE_TRANSLATIONS "No")
endif()
if (NOT DEFINED TR_USE_QT5)
set(TR_USE_QT5 "Yes")
endif()
if(NOT DEFINED TR_TEMPLATE)
set(TR_TEMPLATE "${PROJECT_NAME}")
endif()
if (NOT DEFINED TR_TRANSLATION_DIR)
set(TR_TRANSLATION_DIR "translations")
endif()
file(GLOB tsFiles "${TR_TRANSLATION_DIR}/${TR_TEMPLATE}_*.ts")
set(templateFile "${TR_TRANSLATION_DIR}/${TR_TEMPLATE}.ts")
if(TR_USE_QT5)
# Qt5
if (TR_UPDATE_TRANSLATIONS)
qt5_patched_create_translation(QMS
${TR_SOURCES}
${templateFile}
OPTIONS -locations absolute
)
qt5_patched_create_translation(QM
${TR_SOURCES}
${tsFiles}
OPTIONS -locations absolute
)
else()
qt5_patched_add_translation(QM ${tsFiles})
endif()
else()
# Qt4
if(TR_UPDATE_TRANSLATIONS)
qt4_create_translation(QMS
${TR_SOURCES}
${templateFile}
OPTIONS -locations absolute
)
qt4_create_translation(QM
${TR_SOURCES}
${tsFiles}
OPTIONS -locations absolute
)
else()
qt4_add_translation(QM ${tsFiles})
endif()
endif()
if(TR_UPDATE_TRANSLATIONS)
add_custom_target("update_${TR_TEMPLATE}_ts" ALL DEPENDS ${QMS})
endif()
if(DEFINED TR_INSTALL_DIR)
if(NOT DEFINED TR_COMPONENT)
set(TR_COMPONENT "Runtime")
endif()
install(FILES ${QM}
DESTINATION "${TR_INSTALL_DIR}"
COMPONENT "${TR_COMPONENT}"
)
endif()
set(${qmFiles} ${QM} PARENT_SCOPE)
endfunction()

View File

@ -1,73 +0,0 @@
#=============================================================================
# Copyright 2014 Luís Pereira <luis.artur.pereira@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
#
# These functions enables "automatic" translation loading in LXQt Qt5 apps
# and libs. They generate a .cpp file that takes care of everything. The
# user doesn't have to do anything in the source code.
#
# Typical use:
# include(LXQtTranslationLoader)
# lxqt_app_translation_loader(lxqt-app_QM_LOADER ${PROJECT_NAME})
# add_executable(${PROJECT_NAME}
# ${lxqt-app_QM_LOADER}
# ...
# )
# lxqt_app_translation_loader(<source_files> <catalog_name>)
# <source_files> The generated .cpp file is added to <source_files>
# <catalog_name> Translations catalog to be loaded
function(lxqt_app_translation_loader source_files catalog_name)
configure_file(
${LXQT_CMAKE_MODULES_DIR}/LXQtAppTranslationLoader.cpp.in
LXQtAppTranslationLoader.cpp @ONLY
)
set(${source_files} ${${source_files}} ${CMAKE_CURRENT_BINARY_DIR}/LXQtAppTranslationLoader.cpp PARENT_SCOPE)
endfunction()
# lxqt_lib_translation_loader(<source_files> <catalog_name>)
# <source_files> The generated .cpp file is added to <source_files>
# <catalog_name> Translations catalog to be loaded
function(lxqt_lib_translation_loader source_files catalog_name)
configure_file(
${LXQT_CMAKE_MODULES_DIR}/LXQtLibTranslationLoader.cpp.in
LXQtLibTranslationLoader.cpp @ONLY
)
set(${source_files} ${${source_files}} ${CMAKE_CURRENT_BINARY_DIR}/LXQtLibTranslationLoader.cpp PARENT_SCOPE)
endfunction()
# lxqt_plugin_translation_loader(<source_files> <catalog_name>)
# <source_files> The generated .cpp file is added to <source_files>
# <catalog_name> Translations catalog to be loaded
# <plugin_type> Plugin type. Example: lxqt-panel
function(lxqt_plugin_translation_loader source_files catalog_name plugin_type)
configure_file(
${LXQT_CMAKE_MODULES_DIR}/LXQtPluginTranslationLoader.cpp.in
LXQtPluginTranslationLoader.cpp @ONLY
)
set(${source_files} ${${source_files}} ${CMAKE_CURRENT_BINARY_DIR}/LXQtPluginTranslationLoader.cpp PARENT_SCOPE)
endfunction()

View File

@ -1,112 +0,0 @@
#=============================================================================
# Copyright 2005-2011 Kitware, Inc.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * Neither the name of Kitware, Inc. nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
include(CMakeParseArguments)
function(QT5_PATCHED_CREATE_TRANSLATION _qm_files)
set(options)
set(oneValueArgs)
set(multiValueArgs OPTIONS)
cmake_parse_arguments(_LUPDATE "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
set(_lupdate_files ${_LUPDATE_UNPARSED_ARGUMENTS})
set(_lupdate_options ${_LUPDATE_OPTIONS})
set(_my_sources)
set(_my_tsfiles)
foreach(_file ${_lupdate_files})
get_filename_component(_ext ${_file} EXT)
get_filename_component(_abs_FILE ${_file} ABSOLUTE)
if(_ext MATCHES "ts")
list(APPEND _my_tsfiles ${_abs_FILE})
else()
list(APPEND _my_sources ${_abs_FILE})
endif()
endforeach()
foreach(_ts_file ${_my_tsfiles})
if(_my_sources)
# make a list file to call lupdate on, so we don't make our commands too
# long for some systems
# get_filename_component(_ts_name ${_ts_file} NAME_WE)
get_filename_component(_name ${_ts_file} NAME)
string(REGEX REPLACE "^(.+)(\\.[^.]+)$" "\\1" _ts_name ${_name})
set(_ts_lst_file "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${_ts_name}_lst_file")
set(_lst_file_srcs)
foreach(_lst_file_src ${_my_sources})
set(_lst_file_srcs "${_lst_file_src}\n${_lst_file_srcs}")
endforeach()
get_directory_property(_inc_DIRS INCLUDE_DIRECTORIES)
foreach(_pro_include ${_inc_DIRS})
get_filename_component(_abs_include "${_pro_include}" ABSOLUTE)
set(_lst_file_srcs "-I${_pro_include}\n${_lst_file_srcs}")
endforeach()
file(WRITE ${_ts_lst_file} "${_lst_file_srcs}")
endif()
add_custom_command(OUTPUT ${_ts_file}
COMMAND ${Qt5_LUPDATE_EXECUTABLE}
ARGS ${_lupdate_options} "@${_ts_lst_file}" -ts ${_ts_file}
DEPENDS ${_my_sources} ${_ts_lst_file} VERBATIM)
endforeach()
qt5_patched_add_translation(${_qm_files} ${_my_tsfiles})
set(${_qm_files} ${${_qm_files}} PARENT_SCOPE)
endfunction()
function(QT5_PATCHED_ADD_TRANSLATION _qm_files)
foreach(_current_FILE ${ARGN})
get_filename_component(_abs_FILE ${_current_FILE} ABSOLUTE)
# get_filename_component(qm ${_abs_FILE} NAME_WE)
get_filename_component(_name ${_abs_FILE} NAME)
string(REGEX REPLACE "^(.+)(\\.[^.]+)$" "\\1" qm ${_name})
get_source_file_property(output_location ${_abs_FILE} OUTPUT_LOCATION)
if(output_location)
file(MAKE_DIRECTORY "${output_location}")
set(qm "${output_location}/${qm}.qm")
else()
set(qm "${CMAKE_CURRENT_BINARY_DIR}/${qm}.qm")
endif()
add_custom_command(OUTPUT ${qm}
COMMAND ${Qt5_LRELEASE_EXECUTABLE}
ARGS ${_abs_FILE} -qm ${qm}
DEPENDS ${_abs_FILE} VERBATIM
)
list(APPEND ${_qm_files} ${qm})
endforeach()
set(${_qm_files} ${${_qm_files}} PARENT_SCOPE)
endfunction()

View File

@ -1,47 +0,0 @@
#=============================================================================
# Copyright 2014 Luís Pereira <luis.artur.pereira@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
#
# These functions enables "automatic" translation loading in Qt5 apps
# and libs. They generate a .cpp file that takes care of everything. The
# user doesn't have to do anything in the source code.
#
# qt5_translation_loader(<source_files> <translations_dir> <catalog_name>)
#
# Output:
# <source_files> Appends the generated file to this variable.
#
# Input:
# <translations_dir> Full path name to the translations dir.
# <catalog_name> Translation catalog to be loaded.
function(qt5_translation_loader source_files translations_dir catalog_name)
configure_file(
${LXQT_CMAKE_MODULES_DIR}/Qt5TranslationLoader.cpp.in
Qt5TranslationLoader.cpp @ONLY
)
set(${source_files} ${${source_files}} ${CMAKE_CURRENT_BINARY_DIR}/Qt5TranslationLoader.cpp PARENT_SCOPE)
endfunction()

View File

@ -1,33 +0,0 @@
/* This file has been generated by the CMake qt_translation_loader().
* It loads Qt application translations.
*
* Attention: All changes will be overwritten!!!
*/
#include <QCoreApplication>
#include <QLocale>
#include <QTranslator>
#include <QLibraryInfo>
static void loadQtTranslation()
{
QString locale = QLocale::system().name();
QTranslator *qtTranslator = new QTranslator(qApp);
if (qtTranslator->load("qt_" + locale, QLibraryInfo::location(QLibraryInfo::TranslationsPath))) {
qApp->installTranslator(qtTranslator);
} else {
delete qtTranslator;
}
QTranslator *appTranslator = new QTranslator(qApp);
if (appTranslator->load(QString("@translations_dir@/@catalog_name@_%1.qm").arg(locale))) {
QCoreApplication::installTranslator(appTranslator);
} else if (locale == QLatin1String("C") ||
locale.startsWith(QLatin1String("en"))) {
// English is the default. It's translated anyway.
delete appTranslator;
}
}
Q_COREAPP_STARTUP_FUNCTION(loadQtTranslation)

View File

@ -1,139 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright (C) 2012 Alec Moskvin <alecm@gmx.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#include "lxqtconfigdialog.h"
#include "ui_lxqtconfigdialog.h"
#include <XdgIcon>
#include <QPushButton>
using namespace LXQt;
ConfigDialog::ConfigDialog(const QString& title, Settings* settings, QWidget* parent) :
QDialog(parent),
mSettings(settings),
mCache(new SettingsCache(settings)),
ui(new Ui::ConfigDialog)
{
ui->setupUi(this);
setWindowTitle(title);
connect(ui->buttons, SIGNAL(clicked(QAbstractButton*)), SLOT(dialogButtonsAction(QAbstractButton*)));
ui->moduleList->setVisible(false);
connect(Settings::globalSettings(), SIGNAL(settingsChanged()), this, SLOT(updateIcons()));
foreach(QPushButton* button, ui->buttons->findChildren<QPushButton*>())
button->setAutoDefault(false);
}
void ConfigDialog::setButtons(QDialogButtonBox::StandardButtons buttons)
{
ui->buttons->setStandardButtons(buttons);
foreach(QPushButton* button, ui->buttons->findChildren<QPushButton*>())
button->setAutoDefault(false);
}
void ConfigDialog::addPage(QWidget* page, const QString& name, const QString& iconName)
{
addPage(page, name, QStringList() << iconName);
}
void ConfigDialog::addPage(QWidget* page, const QString& name, const QStringList& iconNames)
{
Q_ASSERT(page);
if (!page)
{
return;
}
/* We set the layout margin to 0. In the default configuration, one page
* only, it aligns buttons with the page. In multi-page it saves a little
* bit of space, without clutter.
*/
if (page->layout())
{
page->layout()->setMargin(0);
}
QStringList icons = QStringList(iconNames) << "application-x-executable";
new QListWidgetItem(XdgIcon::fromTheme(icons), name, ui->moduleList);
mIcons.append(icons);
ui->stackedWidget->addWidget(page);
if(ui->stackedWidget->count() > 1)
{
ui->moduleList->setVisible(true);
ui->moduleList->setCurrentRow(0);
mMaxSize = QSize(qMax(page->geometry().width() + ui->moduleList->geometry().width(),
mMaxSize.width()),
qMax(page->geometry().height() + ui->buttons->geometry().height(),
mMaxSize.height()));
}
else
{
mMaxSize = page->geometry().size();
}
resize(mMaxSize);
}
void ConfigDialog::showPage(QWidget* page)
{
int index = ui->stackedWidget->indexOf(page);
if (index < 0)
return;
ui->stackedWidget->setCurrentIndex(index);
ui->moduleList->setCurrentRow(index);
}
void ConfigDialog::closeEvent(QCloseEvent* event)
{
emit save();
mSettings->sync();
}
void ConfigDialog::dialogButtonsAction(QAbstractButton* button)
{
QDialogButtonBox::StandardButton standardButton = ui->buttons->standardButton(button);
emit clicked(standardButton);
if (standardButton == QDialogButtonBox::Reset)
{
mCache->loadToSettings();
emit reset();
}
else if(standardButton == QDialogButtonBox::Close)
{
close();
}
}
void ConfigDialog::updateIcons()
{
for (int ix = 0; ix < mIcons.size(); ix++)
ui->moduleList->item(ix)->setIcon(XdgIcon::fromTheme(mIcons.at(ix)));
update();
}
ConfigDialog::~ConfigDialog()
{
delete ui;
delete mCache;
}

View File

@ -1,107 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright (C) 2012 Alec Moskvin <alecm@gmx.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef LXQTCONFIGDIALOG_H
#define LXQTCONFIGDIALOG_H
#include "lxqtsettings.h"
#include <QDialog>
#include <QAbstractButton>
#include <QDialogButtonBox>
#include "lxqtglobals.h"
namespace Ui {
class ConfigDialog;
}
namespace LXQt
{
class LXQT_API ConfigDialog : public QDialog
{
Q_OBJECT
public:
explicit ConfigDialog(const QString& title, Settings* settings, QWidget* parent = 0);
~ConfigDialog();
/*!
* Sets buttons in button bar
*/
void setButtons(QDialogButtonBox::StandardButtons buttons);
/*!
* Add a page to the configure dialog
*/
void addPage(QWidget* page, const QString& name, const QString& iconName="application-x-executable");
/*!
* Add a page to the configure dialog, attempting several alternative icons to find one in the theme
*/
void addPage(QWidget* page, const QString& name, const QStringList& iconNames);
/*!
* Show page containing the widget in parameter
*/
void showPage(QWidget *page);
signals:
/*!
* This signal is emitted when the user pressed the "Reset" button.
* Settings should be re-read and the widgets should be set accordingly.
*/
void reset();
/*!
* This is emitted whenever the window is closed and settings need to be saved.
* It is only necessary if additional actions need to be performed - Settings are handled automatically.
*/
void save();
/*!
* This is emitted when some button in the buttonbar is clicked.
*/
void clicked(QDialogButtonBox::StandardButton);
protected:
Settings* mSettings;
virtual void closeEvent(QCloseEvent* event);
private:
SettingsCache* mCache;
QList<QStringList> mIcons;
QSize mMaxSize;
Ui::ConfigDialog* ui;
private slots:
void dialogButtonsAction(QAbstractButton* button);
void updateIcons();
};
} // namespace LXQt
#endif // LXQTCONFIGDIALOG_H

View File

@ -1,81 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ConfigDialog</class>
<widget class="QWidget" name="ConfigDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>272</width>
<height>231</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="LXQt::PageSelectWidget" name="moduleList">
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QStackedWidget" name="stackedWidget">
<property name="currentIndex">
<number>-1</number>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<widget class="QDialogButtonBox" name="buttons">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Close|QDialogButtonBox::Reset</set>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>LXQt::PageSelectWidget</class>
<extends>QListWidget</extends>
<header location="global">configdialog/lxqtpageselectwidget.h</header>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>moduleList</tabstop>
<tabstop>buttons</tabstop>
</tabstops>
<resources/>
<connections>
<connection>
<sender>moduleList</sender>
<signal>currentRowChanged(int)</signal>
<receiver>stackedWidget</receiver>
<slot>setCurrentIndex(int)</slot>
<hints>
<hint type="sourcelabel">
<x>150</x>
<y>123</y>
</hint>
<hint type="destinationlabel">
<x>344</x>
<y>117</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View File

@ -1,113 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2010-2011 Razor team
* Authors:
* Alexander Sokoloff <sokoloff.a@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#include "lxqtpageselectwidget.h"
#include <QDebug>
#include <QStyledItemDelegate>
#include <QScrollBar>
using namespace LXQt;
class PageSelectWidgetItemDelegate: public QStyledItemDelegate
{
public:
explicit PageSelectWidgetItemDelegate(PageSelectWidget *parent = 0);
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
private:
PageSelectWidget* mView;
};
/************************************************
************************************************/
PageSelectWidgetItemDelegate::PageSelectWidgetItemDelegate(PageSelectWidget *parent):
QStyledItemDelegate(parent),
mView(parent)
{
}
/************************************************
************************************************/
QSize PageSelectWidgetItemDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
{
QSize size = QStyledItemDelegate::sizeHint(option, index);
size.setWidth(mView->viewport()->width() - 2*mView->spacing());
return size;
}
/************************************************
************************************************/
PageSelectWidget::PageSelectWidget(QWidget *parent) :
QListWidget(parent)
{
setSelectionRectVisible(false);
setViewMode(IconMode);
setSpacing(2);
setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Expanding);
setWordWrap(true);
setDragEnabled(NoDragDrop);
setEditTriggers(NoEditTriggers);
setTextElideMode(Qt::ElideNone);
setItemDelegate(new PageSelectWidgetItemDelegate(this));
}
/************************************************
************************************************/
PageSelectWidget::~PageSelectWidget()
{
}
/************************************************
************************************************/
QSize PageSelectWidget::sizeHint() const
{
QSize size = QListWidget::sizeHint();
int w = 0;
for(int i=0; i< count(); ++i)
{
QRect rect = fontMetrics().boundingRect(QRect(), Qt::AlignLeft | Qt::TextWordWrap, item(i)->text());
w = qMax(w, rect.width());
}
if (horizontalScrollBar()->isVisible())
w += horizontalScrollBar()->width();
size.setWidth(w + frameWidth() + spacing()*2 + 10);
return size;
}

View File

@ -1,50 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2010-2011 Razor team
* Authors:
* Alexander Sokoloff <sokoloff.a@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef LXQTPAGESELECTWIDGET_H
#define LXQTPAGESELECTWIDGET_H
#include "lxqtglobals.h"
#include <QListWidget>
namespace LXQt
{
class LXQT_API PageSelectWidget : public QListWidget
{
Q_OBJECT
public:
explicit PageSelectWidget(QWidget *parent = 0);
virtual ~PageSelectWidget();
protected:
QSize sizeHint() const;
};
} // namespace LXQt
#endif // PAGESELECTWIDGET_H

View File

@ -1,69 +0,0 @@
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<!--
Based on the output of command:
qdbus org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.DBus.Introspectable.Introspect
against xfce4-notifyd
-->
<node>
<!--interface name="org.freedesktop.DBus.Introspectable">
<method name="Introspect">
<arg name="data" direction="out" type="s"/>
</method>
</interface>
<interface name="org.freedesktop.DBus.Properties">
<method name="Get">
<arg name="interface" direction="in" type="s"/>
<arg name="propname" direction="in" type="s"/>
<arg name="value" direction="out" type="v"/>
</method>
<method name="Set">
<arg name="interface" direction="in" type="s"/>
<arg name="propname" direction="in" type="s"/>
<arg name="value" direction="in" type="v"/>
</method>
<method name="GetAll">
<arg name="interface" direction="in" type="s"/>
<arg name="props" direction="out" type="a{sv}"/>
</method>
</interface>
<interface name="org.xfce.Notifyd">
<method name="Quit">
</method>
</interface-->
<interface name="org.freedesktop.Notifications">
<method name="GetServerInformation">
<arg name="name" type="s" direction="out"/>
<arg name="vendor" type="s" direction="out"/>
<arg name="version" type="s" direction="out"/>
<arg name="spec_version" type="s" direction="out"/>
</method>
<method name="CloseNotification">
<arg name="id" type="u" direction="in"/>
</method>
<method name="Notify">
<annotation name="com.trolltech.QtDBus.QtTypeName.In6" value="QVariantMap"/>
<arg name="app_name" type="s" direction="in"/>
<arg name="replaces_id" type="u" direction="in"/>
<arg name="app_icon" type="s" direction="in"/>
<arg name="summary" type="s" direction="in"/>
<arg name="body" type="s" direction="in"/>
<arg name="actions" type="as" direction="in"/>
<arg name="hints" type="a{sv}" direction="in"/>
<arg name="expire_timeout" type="i" direction="in"/>
<arg name="id" type="u" direction="out"/>
</method>
<method name="GetCapabilities">
<arg name="capabilities" type="as" direction="out"/>
</method>
<signal name="ActionInvoked">
<arg type="u"/>
<arg type="s"/>
</signal>
<signal name="NotificationClosed">
<arg type="u"/>
<arg type="u"/>
</signal>
</interface>
</node>

View File

@ -1,7 +0,0 @@
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
<interface name="org.lxqt.SingleApplication">
<method name="activateWindow">
</method>
</interface>
</node>

2
debian/.gitignore vendored
View File

@ -1,9 +1,9 @@
/*.debhelper /*.debhelper
/*.log /*.log
/*.substvars /*.substvars
/debhelper-build-stamp
/files /files
/liblxqt0/ /liblxqt0/
/liblxqt0-dbg/
/liblxqt0-dev/ /liblxqt0-dev/
/tmp /tmp

413
debian/changelog vendored
View File

@ -1,3 +1,416 @@
liblxqt (2.2.0-0ubuntu1) questing; urgency=medium
* New upstream release.
- Update build dependencies.
* Update Standards-Version to 4.7.2, no changes needed.
* Update copyright file.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Thu, 03 Jul 2025 15:03:59 -0500
liblxqt (2.1.0-0ubuntu3) plucky; urgency=medium
* Update Standards-Version to 4.7.1, no changes needed.
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 21 Feb 2025 16:18:42 -0600
liblxqt (2.1.0-0ubuntu2) plucky; urgency=medium
* No-change rebuild for lxqt-build-tools C++17 -> C++20.
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 03 Jan 2025 03:53:28 -0600
liblxqt (2.1.0-0ubuntu1) plucky; urgency=medium
* New upstream release.
- Bump build dependencies.
- Update symbols from amd64 build logs.
* Make the package Lintian-clean.
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 15 Nov 2024 15:32:03 -0600
liblxqt (2.0.0-0ubuntu2) oracular; urgency=medium
* Update symbols from build logs.
-- Rik Mills <rikmills@kde.org> Fri, 23 Aug 2024 21:22:05 +0100
liblxqt (2.0.0-0ubuntu1) oracular; urgency=medium
* New upstream release.
* Bump build dependencies.
* Update copyright file.
* Bump Standards-Version to 4.7.0, no changes necessary.
* Bump soname.
* Adjust package names.
* Update symbols file.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Thu, 15 Aug 2024 16:03:02 -0500
liblxqt (1.4.0-0ubuntu1) noble; urgency=medium
* New upstream release.
* Update copyright file.
* Bump libqtxdg-related build dependencies.
-- Aaron Rainbolt <arraybolt3@gmail.com> Sun, 05 Nov 2023 12:13:40 -0600
liblxqt (1.3.0-0ubuntu1) mantic; urgency=medium
* New upstream release.
* wrap-and-sort.
* Update Standards-version to 4.6.2, no changes needed.
* Update copyright file.
-- Simon Quigley <tsimonq2@ubuntu.com> Wed, 10 May 2023 12:12:24 -0500
liblxqt (1.2.0-0ubuntu3) lunar; urgency=medium
* No-change rebuild against lxqt-build-tools 0.12.0-0ubuntu3.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Thu, 09 Feb 2023 13:49:31 -0600
liblxqt (1.2.0-0ubuntu2) lunar; urgency=medium
* Removed the obsolete '-Wl,--as-needed' linker flag from debian/rules.
* Removed trailing whitespace from changelog.
* Added 'Rules-Requires-Root: no' to debian/control.
* Overhauled copyright file.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Mon, 28 Nov 2022 14:44:46 -0600
liblxqt (1.2.0-0ubuntu1) lunar; urgency=medium
* New upstream release.
* Fix the watch file, for real this time.
* Lubuntuify the package slightly, to make debhelper happy.
* Bump build dependencies to the latest upstream LXQt versions.
* Remove unnecessary dh-exec call.
* Remove a seemingly-obsolete Lintian override.
* Fix a typo in the upstream metadata.
-- Simon Quigley <tsimonq2@ubuntu.com> Wed, 16 Nov 2022 19:19:19 -0600
liblxqt (1.1.0-0ubuntu2) kinetic; urgency=medium
* Add additional Breaks/Replaces on liblxqt0 just to be safe.
* Bump install dependencies.
* Remove the linux-any prefix for liblxqt1, since it's causing issues
and seems to be a Debian fix anyway.
* Symbols.
-- Simon Quigley <tsimonq2@ubuntu.com> Tue, 31 May 2022 17:49:16 -0500
liblxqt (1.1.0-0ubuntu1) kinetic; urgency=medium
* New upstream release.
* Bump build dependencies to pick up the new LXQt stack.
* Update Standards-version to 4.6.1, no changes needed.
* Update copyright.
* Move liblxqt0 to liblxqt1.
-- Simon Quigley <tsimonq2@ubuntu.com> Wed, 25 May 2022 15:56:47 -0500
liblxqt (0.17.0-0ubuntu1) impish; urgency=medium
* New upstream version 0.17.0
* Update debian/control
- Use debhelper-compat 13
- Use libqtxdg-dev and libqtxdgiconloader-dev 3.7.1
- Use lxqt-build-tools 0.9.0
* Run wrap-and-sort
- Remove lxqt-backlight-helper from debian/control
* Renamed tag for lintian override
* Update symbols
- Add new symbols
- Demangle existing symbols
* Update debian/copyright
-- apt-ghetto <apt-ghetto@protonmail.com> Mon, 09 Aug 2021 11:12:06 +0200
liblxqt (0.16.0-1ubuntu2) hirsute; urgency=medium
* Dropped symbol failing on s390x.
-- Walter Lapchynski <wxl@ubuntu.com> Wed, 03 Feb 2021 16:15:06 -0800
liblxqt (0.16.0-1ubuntu1) hirsute; urgency=medium
* New upstream version.
* Bumped standards-version to 4.5.1
* Ignore the old upstream signing key from Debian.
-- Raman Sarda <theloudspeaker@lubuntu.me> Sat, 23 Jan 2021 10:00:11 +0530
liblxqt (0.16.0-1) unstable; urgency=medium
[ Alf Gaida ]
* Switched to gbp
* Bumped Standards-Version to 4.4.0, no changes needed.
[ Andrew Lee (李健秋) ]
* New upstream release. (Closes: #964658)
* Drop backported upstream patches.
* Refresh debian/liblxqt0.symbols file.
-- Andrew Lee (李健秋) <ajqlee@debian.org> Tue, 05 Jan 2021 17:23:10 +0800
liblxqt (0.15.0-0ubuntu1) groovy; urgency=medium
* New upstream release.
- Remove upstream patches fixing Mac OS X and Hurd builds.
- Update upstream signing key.
- Bump LXQt build dependencies.
- Update symbols from amd64 build logs.
* Run wrap-and-sort.
* Add libkf5windowsystem-dev to build dependencies.
* Full copyright update.
* Remove unneeded lxqt-l10n Conflicts/Replaces.
-- Simon Quigley <tsimonq2@ubuntu.com> Wed, 03 Jun 2020 23:19:19 -0500
liblxqt (0.14.1-4ubuntu1) focal; urgency=low
* Merge from Debian unstable. Remaining changes:
- New upstream version 0.14.1-4.
- Bumped standards version to 4.5.0.
- Using debhelper-compat ( =12).
- Added new build dependency dh-exec.
- Updated rules.
- Updated copyrights.
- Added upstream metadata.
- Added upstream patches fix-hurd-ftbfs and fix-osx-ftbfs.
-- Raman Sarda <theloudspeaker@lubuntu.me> Tue, 07 Apr 2020 21:20:31 +0530
liblxqt (0.14.1-4) unstable; urgency=medium
* Added kfreebsd as non-linux to rules
* New build dependency dh-exec
* Don't install backlight things for hurd and kfreebsd
* Prepared helper package
-- Alf Gaida <agaida@siduction.org> Sat, 27 Jul 2019 22:59:58 +0200
liblxqt (0.14.1-3) unstable; urgency=medium
* Modified debian/rules for Hurd.
-- Alf Gaida <agaida@siduction.org> Sat, 27 Jul 2019 14:43:27 +0200
liblxqt (0.14.1-2) unstable; urgency=medium
* Applied upstream CMakeLists patches for non-linux.
-- Alf Gaida <agaida@siduction.org> Sat, 27 Jul 2019 14:20:35 +0200
liblxqt (0.14.1-1) unstable; urgency=medium
* Cherry-picking upstream version 0.14.1.
* Bumped minimum version libqt5xdg-dev (>= 3.3.1~)
* Bumped minimum version libqt5xdgiconloader-dev (>= 3.3.1~)
* Added new symbol
-- Alf Gaida <agaida@siduction.org> Sun, 24 Feb 2019 18:01:40 +0100
liblxqt (0.14.1-0ubuntu2) focal; urgency=medium
* No-change rebuild for libgcc-s1 package name change.
-- Matthias Klose <doko@ubuntu.com> Sun, 22 Mar 2020 16:46:08 +0100
liblxqt (0.14.1-0ubuntu1) disco; urgency=medium
* New upstream release.
* Bump build dependency on libqtxdg.
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 08 Mar 2019 23:11:56 -0600
liblxqt (0.14.0-1) unstable; urgency=medium
* Cherry-picking upstream version 0.14.0.
* Added Build-Depends-Package: liblxqt0-dev to d/liblxqt0-dev.symbols
* Dropped d/compat, use debhelper-compat = 12, no changes needed
* Fixed years in d/copyright
* Bumped minimum version libqt5xdg-dev (>= 3.3.0~)
* Bumped minimum version libqt5xdgiconloader-dev (>= 3.3.0~)
* Bumped minimum version lxqt-build-tools (>= 0.6.0~)
* Removed obsolete PULL_TRANSLATIONS= OFF from dh_auto_configure
* Added l10n-package, moved from lxqt-l10n
* Added d/upstream/metadata
-- Alf Gaida <agaida@siduction.org> Sun, 27 Jan 2019 13:37:40 +0100
liblxqt (0.14.0-0ubuntu3) disco; urgency=medium
* Add Breaks/Replaces on the old liblxqt-l10n package.
-- Simon Quigley <tsimonq2@ubuntu.com> Sat, 26 Jan 2019 10:08:54 -0600
liblxqt (0.14.0-0ubuntu2) disco; urgency=medium
* Add a liblxqt-l10n binary package for translations.
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 25 Jan 2019 22:36:37 -0600
liblxqt (0.14.0-0ubuntu1) disco; urgency=medium
* New upstream release.
- Bump build dependencies.
* Bump Standards-version to 4.3.0, no changes needed.
* Bump debhelper compat to 12, no changes needed.
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 25 Jan 2019 22:20:23 -0600
liblxqt (0.13.0-1) unstable; urgency=medium
* Cherry-picking upstream version 0.12.0.
* Bumped build dependencies liblqt5xdg* to >= 3.2.0~
* Bumpde build dependency lxqt-build-tools to >= 0.5.0~
* Fixed symbols for the new release
* Added lintian overrides for the helper scripts and configurations
* Removed multiarch=same - packages will not be co-installable anymore
* Moved debian/.gitignore to ./.gitignore
-- Alf Gaida <agaida@siduction.org> Thu, 24 May 2018 18:49:19 +0200
liblxqt (0.13.0-0ubuntu1) cosmic; urgency=medium
* New upstream release.
* Update Vcs-* and Maintainer to Lubuntu values.
* Update copyright.
* Run wrap-and-sort.
* Update build and runtime dependencies.
* Update liblxqt0.install for the new release.
* Update symbols from build log.
* Remove Multi-Arch: same from liblxqt0 because it now contains an
architecture-specific file.
-- Simon Quigley <tsimonq2@ubuntu.com> Mon, 21 May 2018 22:45:48 -0500
liblxqt (0.12.0-7) unstable; urgency=medium
* Really fix VCS-Git
* Fixed watch file
-- Alf Gaida <agaida@siduction.org> Sun, 29 Apr 2018 23:02:11 +0200
liblxqt (0.12.0-6) unstable; urgency=medium
* Fixed Hompage and Source to lxqt
* Bumped compat to 11
* Bumped debhelper to >= 11~
* Bumped Standards to 4.1.4, no changes needed
* Changed VCS fields for salsa
* Bumped year in copyright
-- Alf Gaida <agaida@siduction.org> Fri, 27 Apr 2018 18:02:45 +0200
liblxqt (0.12.0-5) unstable; urgency=medium
* Bumped Standards to 4.1.2, no changes needed
* Removed debian/gbp.conf
* Removed branch from VCS fields
-- Alf Gaida <agaida@siduction.org> Wed, 13 Dec 2017 20:16:30 +0100
liblxqt (0.12.0-4) unstable; urgency=medium
* Transition to unstable
-- Alf Gaida <agaida@siduction.org> Mon, 04 Dec 2017 03:17:57 +0100
liblxqt (0.12.0-3) experimental; urgency=medium
* Fixed needed version to build-tools (>= 0.4.0)
-- Alf Gaida <agaida@siduction.org> Mon, 23 Oct 2017 00:35:16 +0200
liblxqt (0.12.0-2) experimental; urgency=medium
* Re-added explicit build dependencies, make the packaging more
understandable:
- libqt5xdg-dev (>= 3.1.0)
- libqt5xdgiconloader-dev (>= 3.1.0)
-- Alf Gaida <agaida@siduction.org> Sun, 22 Oct 2017 17:28:18 +0200
liblxqt (0.12.0-1) experimental; urgency=medium
* Cherry-picking upstream version 0.12.0.
* Switched to experimental
* Bumped Standards to 4.1.1
* Bumped dependencies
* Fixed symbols
* Added override for dh_missing in rules
-- Alf Gaida <agaida@siduction.org> Sun, 22 Oct 2017 14:28:46 +0200
liblxqt (0.11.1-2) unstable; urgency=medium
* Bumped Standards to 4.0.0
* Added dependencies desktop-file-utils and shared-mime-info
(Closes: #866904)
-- Alf Gaida <agaida@siduction.org> Sun, 02 Jul 2017 20:03:10 +0200
liblxqt (0.11.1-1) unstable; urgency=medium
* Cherry-picking upstream version 0.11.1.
* Bumped years in d/copyright
* Removed build dependencies:
- cmake
- libqt5xdg-dev
- libqt5xdgiconloader-dev
- pkg-config
- qttools5-dev
- qttools5-dev-tools
* Added build dependency lxqt-build-tools (>= 0.3.1)
* Added dependencies:
- libqt5xdg-dev
- libqt5xdgiconloader-dev
- lxqt-build-tools
* Fixed l-dev.install
-- Alf Gaida <agaida@siduction.org> Mon, 02 Jan 2017 03:40:10 +0100
liblxqt (0.11.0-2) unstable; urgency=medium
* Cherry-picking upstream version 0.11.0.
* Synced from experimental
* Bumped build dependency debhelper (>=10)
* Bump standards to 3.9.8
* Bump years in copyright
* Bumped compat to 10
* Removed --parallel from rules, now standard
* Bumped minimum version libqt5xdg-dev (>= 2.0.0)
* Added build dependency libqt5xdgiconloader-dev (>= 2.0.0)
* Added build dependency libxss-dev
* Added Recommends liblxqt-l10n
* Removed grep patch, merged upstream
* Removed virtual ABI, no longer needed
* Exported LC_ALL=C.UTF-8 - define language settings for reproducible
builds
* Fixed Format field in copyright
* Fixed VCS fields, use plain /git/
* Fix symbols, only use lxqt-abi-0-11-0
* Added translation handling in rules
* Deleted former patches
* Added DCMAKE_BUILD_TYPE=RelWithDebInfo
-- Alf Gaida <agaida@siduction.org> Tue, 12 Jul 2016 21:17:33 +0200
liblxqt (0.10.0-5) unstable; urgency=medium
* Bump Standards to 3.9.7
* Secured VCS-fields
* Added hardening=+all
* patched LXQtTranslateDesktop.cmake - it's already fixed upstream
but i don't want to catch up with upstream before the upcoming
release
* Fixed years in copyright
-- Alf Gaida <agaida@siduction.org> Fri, 26 Feb 2016 19:00:57 +0100
liblxqt (0.10.0-4) unstable; urgency=medium liblxqt (0.10.0-4) unstable; urgency=medium
* Remove dbg package in favor of dbgsym. * Remove dbg package in favor of dbgsym.

1
debian/compat vendored
View File

@ -1 +0,0 @@
9

69
debian/control vendored
View File

@ -1,45 +1,57 @@
Source: liblxqt Source: liblxqt
Maintainer: LXQt Packaging Team <pkg-lxqt-devel@lists.alioth.debian.org> Maintainer: Lubuntu Developers <lubuntu-devel@lists.ubuntu.com>
Original-Maintainer: LXQt Packaging Team <pkg-lxqt-devel@lists.alioth.debian.org>
Uploaders: Alf Gaida <agaida@siduction.org>, Uploaders: Alf Gaida <agaida@siduction.org>,
ChangZhuo Chen (陳昌倬) <czchen@debian.org>, ChangZhuo Chen (陳昌倬) <czchen@debian.org>,
Andrew Lee (李健秋) <ajqlee@debian.org> Andrew Lee (李健秋) <ajqlee@debian.org>
Section: libs Section: libs
Priority: optional Priority: optional
Build-Depends: cmake (>= 3.0.2), Build-Depends: debhelper-compat (= 13),
debhelper (>= 9.20151219), dh-exec,
libkf5windowsystem-dev, libkf6windowsystem-dev (>= 6.0.0),
libqt5x11extras5-dev, libpolkit-qt6-1-dev,
libqt5xdg-dev (>= 1.3.0), libqt6xdg-dev (>= 4.2.0),
libqt6xdgiconloader-dev (>= 4.2.0),
libx11-dev, libx11-dev,
pkg-config, libxkbcommon-dev (>= 0.5.0),
qttools5-dev, libxss-dev,
qttools5-dev-tools lxqt-build-tools (>= 2.2.0),
Standards-Version: 3.9.6 qt6-svg-dev (>= 6.6.0)
Vcs-Browser: http://anonscm.debian.org/cgit/pkg-lxqt/liblxqt.git/?h=debian/sid Standards-Version: 4.7.2
Vcs-Git: git://anonscm.debian.org/pkg-lxqt/liblxqt.git -b debian/sid Vcs-Browser: https://git.lubuntu.me/Lubuntu/liblxqt-packaging
Homepage: https://github.com/lxde/liblxqt Vcs-Git: https://git.lubuntu.me/Lubuntu/liblxqt-packaging.git
Debian-Vcs-Browser: https://salsa.debian.org/lxqt-team/liblxqt
Debian-Vcs-Git: https://salsa.debian.org/lxqt-team/liblxqt.git
Homepage: https://github.com/lxqt/liblxqt
Rules-Requires-Root: no
Package: liblxqt0 Package: liblxqt2
Architecture: any Architecture: any
Multi-Arch: same Depends: desktop-file-utils,
Depends: ${shlibs:Depends}, shared-mime-info,
${misc:Depends} ${misc:Depends},
${shlibs:Depends}
Recommends: liblxqt-l10n
Pre-Depends: ${misc:Pre-Depends} Pre-Depends: ${misc:Pre-Depends}
Provides: lxqt-abi-0-10-0 Breaks: liblxqt0 (<< 0.99), liblxqt1
Replaces: liblxqt0 (<< 0.99), liblxqt1
Description: Shared libraries for LXQt desktop environment (libs) Description: Shared libraries for LXQt desktop environment (libs)
LXQt is an advanced, easy-to-use, and fast desktop environment based on Qt LXQt is an advanced, easy-to-use, and fast desktop environment based on Qt
technologies. It has been tailored for users who value simplicity, speed, and technologies. It has been tailored for users who value simplicity, speed, and
an intuitive interface. Unlike most desktop environments, LXQt also works an intuitive interface. Unlike most desktop environments, LXQt also works
fine with less powerful machines. fine with less powerful machines.
. .
This package contain the shared libraries needed by the LXQt desktop This package contains the shared libraries needed by the LXQt desktop
environment. environment.
Package: liblxqt0-dev Package: liblxqt2-dev
Architecture: any Architecture: any
Section: libdevel Section: libdevel
Depends: ${misc:Depends}, Depends: liblxqt2 (= ${binary:Version}),
liblxqt0 (= ${binary:Version}) libqt6xdg-dev (>= 4.2.0),
libqt6xdgiconloader-dev (>= 4.2.0),
lxqt-build-tools (>= 2.2.0),
${misc:Depends}
Description: Shared libraries for LXQt desktop environment (dev) Description: Shared libraries for LXQt desktop environment (dev)
LXQt is an advanced, easy-to-use, and fast desktop environment based on Qt LXQt is an advanced, easy-to-use, and fast desktop environment based on Qt
technologies. It has been tailored for users who value simplicity, speed, and technologies. It has been tailored for users who value simplicity, speed, and
@ -47,3 +59,16 @@ Description: Shared libraries for LXQt desktop environment (dev)
fine with less powerful machines. fine with less powerful machines.
. .
This package contain the development files. This package contain the development files.
Package: liblxqt-l10n
Architecture: all
Multi-Arch: foreign
Section: localization
Depends: qt6-translations-l10n, ${misc:Depends}
Description: Language package for liblxqt
LXQt is an advanced, easy-to-use, and fast desktop environment based on Qt
technologies. It has been tailored for users who value simplicity, speed, and
an intuitive interface. Unlike most desktop environments, LXQt also works
fine with less powerful machines.
.
This package contains the l10n files needed by liblxqt.

28
debian/copyright vendored
View File

@ -1,14 +1,32 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: liblxqt Upstream-Name: liblxqt
Source: https://github.com/lxde/liblxqt Source: https://github.com/lxqt/liblxqt
Files: * Files: *
Copyright: 2012-2015 LXQt team Copyright: 2012-2025 LXQt team
2010-2012 Razor team 2010-2013 Razor team
License: LGPL-2.1+
Files: lxqtautostartentry.cpp
lxqtautostartentry.h
lxqtnotification.cpp
lxqtnotification.h
lxqtnotification_p.h
lxqtprogramfinder.cpp
lxqtprogramfinder.h
configdialog/lxqtconfigdialog.cpp
configdialog/lxqtconfigdialog.h
configdialog/lxqtconfigdialogcmdlineoptions.cpp
configdialog/lxqtconfigdialogcmdlineoptions.h
configdialog/lxqtconfigdialog_p.h
Copyright: 2012-2013 Alec Moskvin <alecm@gmx.com>
2018 Luis Pereira <luis.artur.pereira@gmail.com>
License: LGPL-2.1+ License: LGPL-2.1+
Files: debian/* Files: debian/*
Copyright: 2014-2015 Alf Gaida <agaida@siduction.org> Copyright: 2014-2019 Alf Gaida <agaida@siduction.org>
2022-2025 Simon Quigley <tsimonq2@debian.org>
2022-2025 Aaron Rainbolt <arraybolt3@gmail.com>
License: LGPL-2.1+ License: LGPL-2.1+
License: LGPL-2.1+ License: LGPL-2.1+

4
debian/gbp.conf vendored
View File

@ -2,7 +2,5 @@
debian-branch = debian/sid debian-branch = debian/sid
upstream-branch = upstream/latest upstream-branch = upstream/latest
pristine-tar = True pristine-tar = True
compression = xz
[import-orig]
# Use git cherrypick -n upstream instead.
merge = False

1
debian/liblxqt-l10n.install vendored Normal file
View File

@ -0,0 +1 @@
usr/share/lxqt/translations/liblxqt

View File

@ -1,8 +0,0 @@
usr/include/lxqt/
usr/lib/*/liblxqt.so
usr/lib/*/pkgconfig/lxqt.pc
usr/share/cmake/lxqt/lxqt*.cmake
usr/share/cmake/lxqt/modules/*
usr/lib/*/pkgconfig/lxqt.pc

View File

@ -1,2 +0,0 @@
usr/lib/*/liblxqt.so.*
usr/share/lxqt/translations/liblxqt/*

View File

@ -1,281 +0,0 @@
liblxqt.so.0 liblxqt0 #MINVER#, lxqt-abi-0-10-0
(c++)"LXQt::Application::Application(int&, char**)@Base" 0.9.0+20150911
(c++)"LXQt::Application::Application(int&, char**, bool)@Base" 0.9.0+20150911
(c++)"LXQt::Application::listenToUnixSignals(QList<int> const&)@Base" 0.9.0+20150911
(c++)"LXQt::Application::metaObject() const@Base" 0.9.0+20150911
(c++)"LXQt::Application::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.9.0+20150911
(c++)"LXQt::Application::qt_metacast(char const*)@Base" 0.9.0+20150911
(c++)"LXQt::Application::staticMetaObject@Base" 0.9.0+20150911
(c++)"LXQt::Application::themeChanged()@Base" 0.9.0+20150911
(c++)"LXQt::Application::unixSignal(int)@Base" 0.9.0+20150911
(c++)"LXQt::Application::updateTheme()@Base" 0.9.0+20150911
(c++)"LXQt::AutostartEntry::AutostartEntry()@Base" 0.9.0+20150911
(c++)"LXQt::AutostartEntry::AutostartEntry(QString const&)@Base" 0.9.0+20150911
(c++)"LXQt::AutostartEntry::commit()@Base" 0.9.0+20150911
(c++)"LXQt::AutostartEntry::file() const@Base" 0.9.0+20150911
(c++)"LXQt::AutostartEntry::isEnabled() const@Base" 0.9.0+20150911
(c++)"LXQt::AutostartEntry::name() const@Base" 0.9.0+20150911
(c++)"LXQt::AutostartEntry::removeLocal()@Base" 0.9.0+20150911
(c++)"LXQt::AutostartEntry::setEnabled(bool)@Base" 0.9.0+20150911
(c++)"LXQt::AutostartEntry::setFile(XdgDesktopFile const&)@Base" 0.9.0+20150911
(c++)"LXQt::ConfigDialog::addPage(QWidget*, QString const&, QString const&)@Base" 0.9.0+20150911
(c++)"LXQt::ConfigDialog::addPage(QWidget*, QString const&, QStringList const&)@Base" 0.9.0+20150911
(c++)"LXQt::ConfigDialog::clicked(QDialogButtonBox::StandardButton)@Base" 0.9.0+20150911
(c++)"LXQt::ConfigDialog::closeEvent(QCloseEvent*)@Base" 0.9.0+20150911
(c++)"LXQt::ConfigDialog::~ConfigDialog()@Base" 0.9.0+20150911
(c++)"LXQt::ConfigDialog::ConfigDialog(QString const&, LXQt::Settings*, QWidget*)@Base" 0.9.0+20150911
(c++)"LXQt::ConfigDialog::dialogButtonsAction(QAbstractButton*)@Base" 0.9.0+20150911
(c++)"LXQt::ConfigDialog::metaObject() const@Base" 0.9.0+20150911
(c++)"LXQt::ConfigDialog::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.9.0+20150911
(c++)"LXQt::ConfigDialog::qt_metacast(char const*)@Base" 0.9.0+20150911
(c++)"LXQt::ConfigDialog::reset()@Base" 0.9.0+20150911
(c++)"LXQt::ConfigDialog::save()@Base" 0.9.0+20150911
(c++)"LXQt::ConfigDialog::setButtons(QFlags<QDialogButtonBox::StandardButton>)@Base" 0.9.0+20150911
(c++)"LXQt::ConfigDialog::showPage(QWidget*)@Base" 0.9.0+20150911
(c++)"LXQt::ConfigDialog::staticMetaObject@Base" 0.9.0+20150911
(c++)"LXQt::ConfigDialog::updateIcons()@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::addItem(QLayoutItem*)@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::cellMaximumSize() const@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::cellMinimumSize() const@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::columnCount() const@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::count() const@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::direction() const@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::~GridLayout()@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::GridLayout(QWidget*)@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::invalidate()@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::itemAt(int) const@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::metaObject() const@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::moveItem(int, int, bool)@Base" 0.9.0+20151024
(c++)"LXQt::GridLayout::occupiedGeometry() const@Base" 0.9.0+20151024
(c++)"LXQt::GridLayout::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::qt_metacast(char const*)@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::rowCount() const@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::setCellFixedHeight(int)@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::setCellFixedSize(QSize)@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::setCellFixedWidth(int)@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::setCellMaximumHeight(int)@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::setCellMaximumSize(QSize)@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::setCellMaximumWidth(int)@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::setCellMinimumHeight(int)@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::setCellMinimumSize(QSize)@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::setCellMinimumWidth(int)@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::setColumnCount(int)@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::setDirection(LXQt::GridLayout::Direction)@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::setGeometry(QRect const&)@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::setRowCount(int)@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::setStretch(QFlags<LXQt::GridLayout::StretchFlag>)@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::sizeHint() const@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::staticMetaObject@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::stretch() const@Base" 0.9.0+20150911
(c++)"LXQt::GridLayout::takeAt(int)@Base" 0.9.0+20150911
(c++)"LXQt::HtmlDelegate::~HtmlDelegate()@Base" 0.9.0+20150911
(c++)"LXQt::HtmlDelegate::HtmlDelegate(QSize, QObject*)@Base" 0.9.0+20150911
(c++)"LXQt::HtmlDelegate::metaObject() const@Base" 0.9.0+20150911
(c++)"LXQt::HtmlDelegate::paint(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const@Base" 0.9.0+20150911
(c++)"LXQt::HtmlDelegate::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.9.0+20150911
(c++)"LXQt::HtmlDelegate::qt_metacast(char const*)@Base" 0.9.0+20150911
(c++)"LXQt::HtmlDelegate::sizeHint(QStyleOptionViewItem const&, QModelIndex const&) const@Base" 0.9.0+20150911
(c++)"LXQt::HtmlDelegate::staticMetaObject@Base" 0.9.0+20150911
(c++)"LXQt::LXQtTheme::allThemes()@Base" 0.9.0+20150911
(c++)"LXQt::LXQtTheme::currentTheme()@Base" 0.9.0+20150911
(c++)"LXQt::LXQtTheme::desktopBackground(int) const@Base" 0.9.0+20150911
(c++)"LXQt::LXQtTheme::isValid() const@Base" 0.9.0+20150911
(c++)"LXQt::LXQtTheme::~LXQtTheme()@Base" 0.9.0+20150911
(c++)"LXQt::LXQtTheme::LXQtTheme()@Base" 0.9.0+20150911
(c++)"LXQt::LXQtTheme::LXQtTheme(LXQt::LXQtTheme const&)@Base" 0.9.0+20150911
(c++)"LXQt::LXQtTheme::LXQtTheme(QString const&)@Base" 0.9.0+20150911
(c++)"LXQt::LXQtTheme::mInstance@Base" 0.9.0+20150911
(c++)"LXQt::LXQtTheme::name() const@Base" 0.9.0+20150911
(c++)"LXQt::LXQtTheme::operator=(LXQt::LXQtTheme const&)@Base" 0.9.0+20150911
(c++)"LXQt::LXQtTheme::path() const@Base" 0.9.0+20150911
(c++)"LXQt::LXQtTheme::previewImage() const@Base" 0.9.0+20150911
(c++)"LXQt::LXQtTheme::qss(QString const&) const@Base" 0.9.0+20150911
(c++)"LXQt::Notification::actionActivated(int)@Base" 0.9.0+20150911
(c++)"LXQt::Notification::clearHints()@Base" 0.9.0+20150911
(c++)"LXQt::Notification::close()@Base" 0.9.0+20150911
(c++)"LXQt::Notification::getCapabilities()@Base" 0.9.0+20150911
(c++)"LXQt::Notification::metaObject() const@Base" 0.9.0+20150911
(c++)"LXQt::Notification::~Notification()@Base" 0.9.0+20150911
(c++)"LXQt::Notification::notificationClosed(LXQt::Notification::CloseReason)@Base" 0.9.0+20150911
(c++)"LXQt::Notification::Notification(QString const&, QObject*)@Base" 0.9.0+20150911
(c++)"LXQt::Notification::notify(QString const&, QString const&, QString const&)@Base" 0.9.0+20150911
(c++)"LXQt::Notification::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.9.0+20150911
(c++)"LXQt::Notification::qt_metacast(char const*)@Base" 0.9.0+20150911
(c++)"LXQt::Notification::serverInfo()@Base" 0.9.0+20150911
(c++)"LXQt::Notification::setActions(QStringList const&, int)@Base" 0.9.0+20150911
(c++)"LXQt::Notification::setBody(QString const&)@Base" 0.9.0+20150911
(c++)"LXQt::Notification::setHint(QString const&, QVariant const&)@Base" 0.9.0+20150911
(c++)"LXQt::Notification::setIcon(QString const&)@Base" 0.9.0+20150911
(c++)"LXQt::Notification::setSummary(QString const&)@Base" 0.9.0+20150911
(c++)"LXQt::Notification::setTimeout(int)@Base" 0.9.0+20150911
(c++)"LXQt::Notification::setUrgencyHint(LXQt::Notification::Urgency)@Base" 0.9.0+20150911
(c++)"LXQt::Notification::staticMetaObject@Base" 0.9.0+20150911
(c++)"LXQt::Notification::update()@Base" 0.9.0+20150911
(c++)"LXQt::PageSelectWidget::metaObject() const@Base" 0.9.0+20150911
(c++)"LXQt::PageSelectWidget::~PageSelectWidget()@Base" 0.9.0+20150911
(c++)"LXQt::PageSelectWidget::PageSelectWidget(QWidget*)@Base" 0.9.0+20150911
(c++)"LXQt::PageSelectWidget::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.9.0+20150911
(c++)"LXQt::PageSelectWidget::qt_metacast(char const*)@Base" 0.9.0+20150911
(c++)"LXQt::PageSelectWidget::sizeHint() const@Base" 0.9.0+20150911
(c++)"LXQt::PageSelectWidget::staticMetaObject@Base" 0.9.0+20150911
(c++)"LXQt::PluginInfo::isValid() const@Base" 0.9.0+20150911
(c++)"LXQt::PluginInfo::loadLibrary(QString const&) const@Base" 0.9.0+20150911
(c++)"LXQt::PluginInfo::load(QString const&)@Base" 0.9.0+20150911
(c++)"LXQt::PluginInfo::PluginInfo()@Base" 0.9.0+20150911
(c++)"LXQt::PluginInfo::search(QString const&, QString const&, QString const&)@Base" 0.9.0+20150911
(c++)"LXQt::PluginInfo::search(QStringList const&, QString const&, QString const&)@Base" 0.9.0+20150911
(c++)"LXQt::Power::canAction(LXQt::Power::Action) const@Base" 0.9.0+20150911
(c++)"LXQt::Power::canHibernate() const@Base" 0.9.0+20150911
(c++)"LXQt::Power::canLogout() const@Base" 0.9.0+20150911
(c++)"LXQt::Power::canReboot() const@Base" 0.9.0+20150911
(c++)"LXQt::Power::canShutdown() const@Base" 0.9.0+20150911
(c++)"LXQt::Power::canSuspend() const@Base" 0.9.0+20150911
(c++)"LXQt::Power::doAction(LXQt::Power::Action)@Base" 0.9.0+20150911
(c++)"LXQt::Power::hibernate()@Base" 0.9.0+20150911
(c++)"LXQt::Power::logout()@Base" 0.9.0+20150911
(c++)"LXQt::PowerManager::availableActions()@Base" 0.9.0+20150911
(c++)"LXQt::PowerManager::hibernate()@Base" 0.9.0+20150911
(c++)"LXQt::PowerManager::hibernateFailed()@Base" 0.9.0+20150911
(c++)"LXQt::PowerManager::logout()@Base" 0.9.0+20150911
(c++)"LXQt::PowerManager::metaObject() const@Base" 0.9.0+20150911
(c++)"LXQt::PowerManager::~PowerManager()@Base" 0.9.0+20150911
(c++)"LXQt::PowerManager::PowerManager(QObject*, bool)@Base" 0.9.0+20150911
(c++)"LXQt::PowerManager::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.9.0+20150911
(c++)"LXQt::PowerManager::qt_metacast(char const*)@Base" 0.9.0+20150911
(c++)"LXQt::PowerManager::reboot()@Base" 0.9.0+20150911
(c++)"LXQt::PowerManager::shutdown()@Base" 0.9.0+20150911
(c++)"LXQt::PowerManager::staticMetaObject@Base" 0.9.0+20150911
(c++)"LXQt::PowerManager::suspend()@Base" 0.9.0+20150911
(c++)"LXQt::PowerManager::suspendFailed()@Base" 0.9.0+20150911
(c++)"LXQt::Power::metaObject() const@Base" 0.9.0+20150911
(c++)"LXQt::Power::~Power()@Base" 0.9.0+20150911
(c++)"LXQt::Power::Power(QObject*)@Base" 0.9.0+20150911
(c++)"LXQt::Power::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.9.0+20150911
(c++)"LXQt::Power::qt_metacast(char const*)@Base" 0.9.0+20150911
(c++)"LXQt::Power::reboot()@Base" 0.9.0+20150911
(c++)"LXQt::Power::shutdown()@Base" 0.9.0+20150911
(c++)"LXQt::Power::staticMetaObject@Base" 0.9.0+20150911
(c++)"LXQt::Power::suspend()@Base" 0.9.0+20150911
(c++)"LXQt::ProgramFinder::findPrograms(QStringList const&)@Base" 0.9.0+20150911
(c++)"LXQt::ProgramFinder::programExists(QString const&)@Base" 0.9.0+20150911
(c++)"LXQt::ProgramFinder::programName(QString const&)@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::adjustContentSize()@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::adjustedPoint(QPoint) const@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::adjustedSize(QSize) const@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::content() const@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::enterEvent(QEvent*)@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::leaveEvent(QEvent*)@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::metaObject() const@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::minimumSizeHint() const@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::mouseDoubleClickEvent(QMouseEvent*)@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::mouseMoveEvent(QMouseEvent*)@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::mousePressEvent(QMouseEvent*)@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::mouseReleaseEvent(QMouseEvent*)@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::origin() const@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::paintEvent(QPaintEvent*)@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::qt_metacast(char const*)@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::resizeEvent(QResizeEvent*)@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::RotatedWidget(QWidget&, QWidget*, QFlags<Qt::WindowType>)@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::setOrigin(Qt::Corner)@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::sizeHint() const@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::staticMetaObject@Base" 0.9.0+20150911
(c++)"LXQt::RotatedWidget::wheelEvent(QWheelEvent*)@Base" 0.9.0+20150911
(c++)"LXQt::ScreenSaver::activated()@Base" 0.9.0+20150911
(c++)"LXQt::ScreenSaver::availableActions()@Base" 0.9.0+20150911
(c++)"LXQt::ScreenSaver::done()@Base" 0.9.0+20150911
(c++)"LXQt::ScreenSaver::lockScreen()@Base" 0.9.0+20150911
(c++)"LXQt::ScreenSaver::metaObject() const@Base" 0.9.0+20150911
(c++)"LXQt::ScreenSaver::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.9.0+20150911
(c++)"LXQt::ScreenSaver::qt_metacast(char const*)@Base" 0.9.0+20150911
(c++)"LXQt::ScreenSaver::ScreenSaver(QObject*)@Base" 0.9.0+20150911
(c++)"LXQt::ScreenSaver::staticMetaObject@Base" 0.9.0+20150911
(c++)"LXQt::ScreenSaver::xdgProcess_finished(int, QProcess::ExitStatus)@Base" 0.9.0+20150911
(c++)"LXQt::SettingsCache::loadFromSettings()@Base" 0.9.0+20150911
(c++)"LXQt::SettingsCache::loadToSettings()@Base" 0.9.0+20150911
(c++)"LXQt::SettingsCache::SettingsCache(QSettings*)@Base" 0.9.0+20150911
(c++)"LXQt::SettingsCache::SettingsCache(QSettings&)@Base" 0.9.0+20150911
(c++)"LXQt::Settings::event(QEvent*)@Base" 0.9.0+20150911
(c++)"LXQt::Settings::fileChanged()@Base" 0.9.0+20150911
(c++)"LXQt::Settings::_fileChanged(QString)@Base" 0.9.0+20150911
(c++)"LXQt::Settings::globalSettings()@Base" 0.9.0+20150911
(c++)"LXQt::Settings::localizedValue(QString const&, QVariant const&) const@Base" 0.9.0+20150911
(c++)"LXQt::Settings::metaObject() const@Base" 0.9.0+20150911
(c++)"LXQt::Settings::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.9.0+20150911
(c++)"LXQt::Settings::qt_metacast(char const*)@Base" 0.9.0+20150911
(c++)"LXQt::Settings::setLocalizedValue(QString const&, QVariant const&)@Base" 0.9.0+20150911
(c++)"LXQt::Settings::~Settings()@Base" 0.9.0+20150911
(c++)"LXQt::Settings::settingsChanged()@Base" 0.9.0+20150911
(c++)"LXQt::Settings::Settings(QSettings const*, QString const&, QObject*)@Base" 0.9.0+20150911
(c++)"LXQt::Settings::Settings(QSettings const&, QString const&, QObject*)@Base" 0.9.0+20150911
(c++)"LXQt::Settings::Settings(QString const&, QObject*)@Base" 0.9.0+20150911
(c++)"LXQt::Settings::Settings(QString const&, QSettings::Format, QObject*)@Base" 0.9.0+20150911
(c++)"LXQt::Settings::staticMetaObject@Base" 0.9.0+20150911
(c++)"LXQt::SingleApplication::activateWindow()@Base" 0.9.0+20150911
(c++)"LXQt::SingleApplication::activationWindow() const@Base" 0.9.0+20150911
(c++)"LXQt::SingleApplication::metaObject() const@Base" 0.9.0+20150911
(c++)"LXQt::SingleApplication::qt_metacall(QMetaObject::Call, int, void**)@Base" 0.9.0+20150911
(c++)"LXQt::SingleApplication::qt_metacast(char const*)@Base" 0.9.0+20150911
(c++)"LXQt::SingleApplication::setActivationWindow(QWidget*)@Base" 0.9.0+20150911
(c++)"LXQt::SingleApplication::~SingleApplication()@Base" 0.9.0+20150911
(c++)"LXQt::SingleApplication::SingleApplication(int&, char**, LXQt::SingleApplication::StartOptions)@Base" 0.9.0+20150911
(c++)"LXQt::SingleApplication::staticMetaObject@Base" 0.9.0+20150911
(c++)"LXQt::Translator::setTranslationSearchPaths(QStringList const&)@Base" 0.9.0+20150911
(c++)"LXQt::Translator::translateApplication(QString const&)@Base" 0.9.0+20150911
(c++)"LXQt::Translator::translateLibrary(QString const&)@Base" 0.9.0+20150911
(c++)"LXQt::Translator::translatePlugin(QString const&, QString const&)@Base" 0.9.0+20150911
(c++)"LXQt::Translator::translationSearchPaths()@Base" 0.9.0+20150911
(c++)"non-virtual thunk to LXQt::ConfigDialog::~ConfigDialog()@Base" 0.9.0+20150911
(c++)"non-virtual thunk to LXQt::GridLayout::~GridLayout()@Base" 0.9.0+20150911
(c++)"non-virtual thunk to LXQt::GridLayout::invalidate()@Base" 0.9.0+20150911
(c++)"non-virtual thunk to LXQt::GridLayout::setGeometry(QRect const&)@Base" 0.9.0+20150911
(c++)"non-virtual thunk to LXQt::GridLayout::sizeHint() const@Base" 0.9.0+20150911
(c++)"non-virtual thunk to LXQt::PageSelectWidget::~PageSelectWidget()@Base" 0.9.0+20150911
(c++)"typeinfo for LXQt::Application@Base" 0.9.0+20150911
(c++)"typeinfo for LXQt::AutostartEntry@Base" 0.9.0+20150911
(c++)"typeinfo for LXQt::ConfigDialog@Base" 0.9.0+20150911
(c++)"typeinfo for LXQt::GridLayout@Base" 0.9.0+20150911
(c++)"typeinfo for LXQt::HtmlDelegate@Base" 0.9.0+20150911
(c++)"typeinfo for LXQt::MessageBox@Base" 0.9.0+20150911
(c++)"typeinfo for LXQt::Notification@Base" 0.9.0+20150911
(c++)"typeinfo for LXQt::PageSelectWidget@Base" 0.9.0+20150911
(c++)"typeinfo for LXQt::PluginInfo@Base" 0.9.0+20150911
(c++)"typeinfo for LXQt::Power@Base" 0.9.0+20150911
(c++)"typeinfo for LXQt::PowerManager@Base" 0.9.0+20150911
(c++)"typeinfo for LXQt::RotatedWidget@Base" 0.9.0+20150911
(c++)"typeinfo for LXQt::ScreenSaver@Base" 0.9.0+20150911
(c++)"typeinfo for LXQt::Settings@Base" 0.9.0+20150911
(c++)"typeinfo for LXQt::SettingsCache@Base" 0.9.0+20150911
(c++)"typeinfo for LXQt::SingleApplication@Base" 0.9.0+20150911
(c++)"typeinfo name for LXQt::Application@Base" 0.9.0+20150911
(c++)"typeinfo name for LXQt::AutostartEntry@Base" 0.9.0+20150911
(c++)"typeinfo name for LXQt::ConfigDialog@Base" 0.9.0+20150911
(c++)"typeinfo name for LXQt::GridLayout@Base" 0.9.0+20150911
(c++)"typeinfo name for LXQt::HtmlDelegate@Base" 0.9.0+20150911
(c++)"typeinfo name for LXQt::MessageBox@Base" 0.9.0+20150911
(c++)"typeinfo name for LXQt::Notification@Base" 0.9.0+20150911
(c++)"typeinfo name for LXQt::PageSelectWidget@Base" 0.9.0+20150911
(c++)"typeinfo name for LXQt::PluginInfo@Base" 0.9.0+20150911
(c++)"typeinfo name for LXQt::Power@Base" 0.9.0+20150911
(c++)"typeinfo name for LXQt::PowerManager@Base" 0.9.0+20150911
(c++)"typeinfo name for LXQt::RotatedWidget@Base" 0.9.0+20150911
(c++)"typeinfo name for LXQt::ScreenSaver@Base" 0.9.0+20150911
(c++)"typeinfo name for LXQt::Settings@Base" 0.9.0+20150911
(c++)"typeinfo name for LXQt::SettingsCache@Base" 0.9.0+20150911
(c++)"typeinfo name for LXQt::SingleApplication@Base" 0.9.0+20150911
(c++)"vtable for LXQt::Application@Base" 0.9.0+20150911
(c++)"vtable for LXQt::AutostartEntry@Base" 0.9.0+20150911
(c++)"vtable for LXQt::ConfigDialog@Base" 0.9.0+20150911
(c++)"vtable for LXQt::GridLayout@Base" 0.9.0+20150911
(c++)"vtable for LXQt::HtmlDelegate@Base" 0.9.0+20150911
(c++)"vtable for LXQt::MessageBox@Base" 0.9.0+20150911
(c++)"vtable for LXQt::Notification@Base" 0.9.0+20150911
(c++)"vtable for LXQt::PageSelectWidget@Base" 0.9.0+20150911
(c++)"vtable for LXQt::PluginInfo@Base" 0.9.0+20150911
(c++)"vtable for LXQt::Power@Base" 0.9.0+20150911
(c++)"vtable for LXQt::PowerManager@Base" 0.9.0+20150911
(c++)"vtable for LXQt::RotatedWidget@Base" 0.9.0+20150911
(c++)"vtable for LXQt::ScreenSaver@Base" 0.9.0+20150911
(c++)"vtable for LXQt::Settings@Base" 0.9.0+20150911
(c++)"vtable for LXQt::SettingsCache@Base" 0.9.0+20150911
(c++)"vtable for LXQt::SingleApplication@Base" 0.9.0+20150911

4
debian/liblxqt2-dev.install vendored Normal file
View File

@ -0,0 +1,4 @@
usr/include/lxqt/
usr/lib/*/liblxqt.so
usr/lib/*/pkgconfig/lxqt.pc
usr/share/cmake/lxqt/lxqt-*.cmake

4
debian/liblxqt2.install vendored Normal file
View File

@ -0,0 +1,4 @@
usr/bin/lxqt-backlight_backend
usr/lib/*/liblxqt.so.*
usr/share/lxqt/power.conf
usr/share/polkit-1/actions/org.lxqt.backlight.pkexec.policy

5
debian/liblxqt2.lintian-overrides vendored Normal file
View File

@ -0,0 +1,5 @@
# there will be no manpage for lxqt-backlight_backend
liblxqt2: no-manual-page [usr/bin/lxqt-backlight_backend]
# This is fine
liblxqt2: application-in-library-section libs [usr/bin/lxqt-backlight_backend]

409
debian/liblxqt2.symbols vendored Normal file
View File

@ -0,0 +1,409 @@
# SymbolsHelper-Confirmed: 2.1.0 amd64
liblxqt.so.2 liblxqt2 #MINVER#
* Build-Depends-Package: liblxqt2-dev
_ZN4LXQt10GridLayout10invalidateEv@Base 1.1.0
_ZN4LXQt10GridLayout10setStretchE6QFlagsINS0_11StretchFlagEE@Base 1.1.0
_ZN4LXQt10GridLayout11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.1.0
_ZN4LXQt10GridLayout11qt_metacastEPKc@Base 1.1.0
_ZN4LXQt10GridLayout11setGeometryERK5QRect@Base 1.1.0
_ZN4LXQt10GridLayout11setRowCountEi@Base 1.1.0
_ZN4LXQt10GridLayout12setDirectionENS0_9DirectionE@Base 1.1.0
_ZN4LXQt10GridLayout13setItemsOrderENS0_10ItemsOrderE@Base 2.1.0
_ZN4LXQt10GridLayout14setColumnCountEi@Base 1.1.0
_ZN4LXQt10GridLayout16setCellFixedSizeE5QSize@Base 1.1.0
_ZN4LXQt10GridLayout16staticMetaObjectE@Base 1.1.0
_ZN4LXQt10GridLayout17setCellFixedWidthEi@Base 1.1.0
_ZN4LXQt10GridLayout18setCellFixedHeightEi@Base 1.1.0
_ZN4LXQt10GridLayout18setCellMaximumSizeE5QSize@Base 1.1.0
_ZN4LXQt10GridLayout18setCellMinimumSizeE5QSize@Base 1.1.0
_ZN4LXQt10GridLayout19setCellMaximumWidthEi@Base 1.1.0
_ZN4LXQt10GridLayout19setCellMinimumWidthEi@Base 1.1.0
_ZN4LXQt10GridLayout20setCellMaximumHeightEi@Base 1.1.0
_ZN4LXQt10GridLayout20setCellMinimumHeightEi@Base 1.1.0
_ZN4LXQt10GridLayout6takeAtEi@Base 1.1.0
_ZN4LXQt10GridLayout7addItemEP11QLayoutItem@Base 1.1.0
_ZN4LXQt10GridLayout8moveItemEiib@Base 1.1.0
_ZN4LXQt10GridLayoutC1EP7QWidget@Base 1.1.0
_ZN4LXQt10GridLayoutC2EP7QWidget@Base 1.1.0
_ZN4LXQt10GridLayoutD0Ev@Base 1.1.0
_ZN4LXQt10GridLayoutD1Ev@Base 1.1.0
_ZN4LXQt10GridLayoutD2Ev@Base 1.1.0
_ZN4LXQt10PluginInfo4loadERK7QString@Base 1.1.0
_ZN4LXQt10PluginInfo6searchERK5QListI7QStringERKS2_S7_@Base 2.0.0
_ZN4LXQt10PluginInfo6searchERK7QStringS3_S3_@Base 1.1.0
_ZN4LXQt10PluginInfoC1Ev@Base 1.1.0
_ZN4LXQt10PluginInfoC2Ev@Base 1.1.0
_ZN4LXQt10Translator15translatePluginERK7QStringS3_@Base 1.1.0
_ZN4LXQt10Translator16translateLibraryERK7QString@Base 1.1.0
_ZN4LXQt10Translator20translateApplicationERK7QString@Base 1.1.0
_ZN4LXQt10Translator22translationSearchPathsEv@Base 1.1.0
_ZN4LXQt10Translator25setTranslationSearchPathsERK5QListI7QStringE@Base 2.0.0
_ZN4LXQt11Application10unixSignalEi@Base 1.1.0
_ZN4LXQt11Application11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.1.0
_ZN4LXQt11Application11qt_metacastEPKc@Base 1.1.0
_ZN4LXQt11Application11updateThemeEv@Base 1.1.0
_ZN4LXQt11Application12themeChangedEv@Base 1.1.0
_ZN4LXQt11Application16staticMetaObjectE@Base 1.1.0
_ZN4LXQt11Application19listenToUnixSignalsERK5QListIiE@Base 1.1.0
_ZN4LXQt11ApplicationC1ERiPPc@Base 1.1.0
_ZN4LXQt11ApplicationC1ERiPPcb@Base 1.1.0
_ZN4LXQt11ApplicationC2ERiPPc@Base 1.1.0
_ZN4LXQt11ApplicationC2ERiPPcb@Base 1.1.0
_ZN4LXQt11ScreenSaver10lockScreenEv@Base 1.1.0
_ZN4LXQt11ScreenSaver11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.1.0
_ZN4LXQt11ScreenSaver11qt_metacastEPKc@Base 1.1.0
_ZN4LXQt11ScreenSaver16availableActionsEv@Base 1.1.0
_ZN4LXQt11ScreenSaver16staticMetaObjectE@Base 1.1.0
_ZN4LXQt11ScreenSaver4doneEv@Base 1.1.0
_ZN4LXQt11ScreenSaver9activatedEv@Base 1.1.0
_ZN4LXQt11ScreenSaverC1EP7QObject@Base 1.1.0
_ZN4LXQt11ScreenSaverC2EP7QObject@Base 1.1.0
_ZN4LXQt11ScreenSaverD0Ev@Base 1.1.0
_ZN4LXQt11ScreenSaverD1Ev@Base 1.1.0
_ZN4LXQt11ScreenSaverD2Ev@Base 1.1.0
_ZN4LXQt12ConfigDialog10closeEventEP11QCloseEvent@Base 1.1.0
_ZN4LXQt12ConfigDialog10setButtonsE6QFlagsIN16QDialogButtonBox14StandardButtonEE@Base 1.1.0
_ZN4LXQt12ConfigDialog11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.1.0
_ZN4LXQt12ConfigDialog11qt_metacastEPKc@Base 1.1.0
_ZN4LXQt12ConfigDialog12enableButtonEN16QDialogButtonBox14StandardButtonEb@Base 1.1.0
_ZN4LXQt12ConfigDialog16staticMetaObjectE@Base 1.1.0
_ZN4LXQt12ConfigDialog4saveEv@Base 1.1.0
_ZN4LXQt12ConfigDialog5eventEP6QEvent@Base 1.1.0
_ZN4LXQt12ConfigDialog5resetEv@Base 1.1.0
_ZN4LXQt12ConfigDialog7addPageEP7QWidgetRK7QStringRK5QListIS3_E@Base 2.0.0
_ZN4LXQt12ConfigDialog7addPageEP7QWidgetRK7QStringS5_@Base 1.1.0
_ZN4LXQt12ConfigDialog7clickedEN16QDialogButtonBox14StandardButtonE@Base 1.1.0
_ZN4LXQt12ConfigDialog8showPageEP7QWidget@Base 1.1.0
_ZN4LXQt12ConfigDialog8showPageERK7QString@Base 1.1.0
_ZN4LXQt12ConfigDialogC1ERK7QStringPNS_8SettingsEP7QWidget@Base 1.1.0
_ZN4LXQt12ConfigDialogC2ERK7QStringPNS_8SettingsEP7QWidget@Base 1.1.0
_ZN4LXQt12ConfigDialogD0Ev@Base 1.1.0
_ZN4LXQt12ConfigDialogD1Ev@Base 1.1.0
_ZN4LXQt12ConfigDialogD2Ev@Base 1.1.0
_ZN4LXQt12HtmlDelegate11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.1.0
_ZN4LXQt12HtmlDelegate11qt_metacastEPKc@Base 1.1.0
_ZN4LXQt12HtmlDelegate16staticMetaObjectE@Base 1.1.0
_ZN4LXQt12HtmlDelegateC1E5QSizeP7QObject@Base 1.1.0
_ZN4LXQt12HtmlDelegateC2E5QSizeP7QObject@Base 1.1.0
_ZN4LXQt12HtmlDelegateD0Ev@Base 1.1.0
_ZN4LXQt12HtmlDelegateD1Ev@Base 1.1.0
_ZN4LXQt12HtmlDelegateD2Ev@Base 1.1.0
_ZN4LXQt12Notification10clearHintsEv@Base 1.1.0
_ZN4LXQt12Notification10serverInfoEv@Base 1.1.0
_ZN4LXQt12Notification10setActionsERK5QListI7QStringEi@Base 2.0.0
_ZN4LXQt12Notification10setSummaryERK7QString@Base 1.1.0
_ZN4LXQt12Notification10setTimeoutEi@Base 1.1.0
_ZN4LXQt12Notification11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.1.0
_ZN4LXQt12Notification11qt_metacastEPKc@Base 1.1.0
_ZN4LXQt12Notification14setUrgencyHintENS0_7UrgencyE@Base 1.1.0
_ZN4LXQt12Notification15actionActivatedEi@Base 1.1.0
_ZN4LXQt12Notification15getCapabilitiesEv@Base 1.1.0
_ZN4LXQt12Notification15queryServerInfoEv@Base 1.1.0
_ZN4LXQt12Notification15serverInfoReadyEv@Base 1.1.0
_ZN4LXQt12Notification16staticMetaObjectE@Base 1.1.0
_ZN4LXQt12Notification18notificationClosedENS0_11CloseReasonE@Base 1.1.0
_ZN4LXQt12Notification5closeEv@Base 1.1.0
_ZN4LXQt12Notification6notifyERK7QStringS3_S3_@Base 1.1.0
_ZN4LXQt12Notification6updateEv@Base 1.1.0
_ZN4LXQt12Notification7setBodyERK7QString@Base 1.1.0
_ZN4LXQt12Notification7setHintERK7QStringRK8QVariant@Base 1.1.0
_ZN4LXQt12Notification7setIconERK7QString@Base 1.1.0
_ZN4LXQt12NotificationC1ERK7QStringP7QObject@Base 1.1.0
_ZN4LXQt12NotificationC2ERK7QStringP7QObject@Base 1.1.0
_ZN4LXQt12NotificationD0Ev@Base 1.1.0
_ZN4LXQt12NotificationD1Ev@Base 1.1.0
_ZN4LXQt12NotificationD2Ev@Base 1.1.0
_ZN4LXQt12PowerManager11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.1.0
_ZN4LXQt12PowerManager11qt_metacastEPKc@Base 1.1.0
_ZN4LXQt12PowerManager13suspendFailedEv@Base 1.1.0
_ZN4LXQt12PowerManager15hibernateFailedEv@Base 1.1.0
_ZN4LXQt12PowerManager16availableActionsEv@Base 1.1.0
_ZN4LXQt12PowerManager16staticMetaObjectE@Base 1.1.0
_ZN4LXQt12PowerManager6logoutEv@Base 1.1.0
_ZN4LXQt12PowerManager6rebootEv@Base 1.1.0
_ZN4LXQt12PowerManager7suspendEv@Base 1.1.0
_ZN4LXQt12PowerManager8shutdownEv@Base 1.1.0
_ZN4LXQt12PowerManager9hibernateEv@Base 1.1.0
_ZN4LXQt12PowerManagerC1EP7QObjectb@Base 1.1.0
_ZN4LXQt12PowerManagerC2EP7QObjectb@Base 1.1.0
_ZN4LXQt12PowerManagerD0Ev@Base 1.1.0
_ZN4LXQt12PowerManagerD1Ev@Base 1.1.0
_ZN4LXQt12PowerManagerD2Ev@Base 1.1.0
_ZN4LXQt13ProgramFinder11programNameERK7QString@Base 1.1.0
_ZN4LXQt13ProgramFinder12findProgramsERK5QListI7QStringE@Base 2.0.0
_ZN4LXQt13ProgramFinder13programExistsERK7QString@Base 1.1.0
_ZN4LXQt13RotatedWidget10enterEventEP11QEnterEvent@Base 2.0.0
_ZN4LXQt13RotatedWidget10leaveEventEP6QEvent@Base 1.1.0
_ZN4LXQt13RotatedWidget10paintEventEP11QPaintEvent@Base 1.1.0
_ZN4LXQt13RotatedWidget10wheelEventEP11QWheelEvent@Base 1.1.0
_ZN4LXQt13RotatedWidget11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.1.0
_ZN4LXQt13RotatedWidget11qt_metacastEPKc@Base 1.1.0
_ZN4LXQt13RotatedWidget11resizeEventEP12QResizeEvent@Base 1.1.0
_ZN4LXQt13RotatedWidget14mouseMoveEventEP11QMouseEvent@Base 1.1.0
_ZN4LXQt13RotatedWidget15mousePressEventEP11QMouseEvent@Base 1.1.0
_ZN4LXQt13RotatedWidget16staticMetaObjectE@Base 1.1.0
_ZN4LXQt13RotatedWidget17adjustContentSizeEv@Base 1.1.0
_ZN4LXQt13RotatedWidget17mouseReleaseEventEP11QMouseEvent@Base 1.1.0
_ZN4LXQt13RotatedWidget21mouseDoubleClickEventEP11QMouseEvent@Base 1.1.0
_ZN4LXQt13RotatedWidget9setOriginEN2Qt6CornerE@Base 1.1.0
_ZN4LXQt13RotatedWidgetC1ER7QWidgetPS1_6QFlagsIN2Qt10WindowTypeEE@Base 1.1.0
_ZN4LXQt13RotatedWidgetC2ER7QWidgetPS1_6QFlagsIN2Qt10WindowTypeEE@Base 1.1.0
_ZN4LXQt13SettingsCache14loadToSettingsEv@Base 1.1.0
_ZN4LXQt13SettingsCache16loadFromSettingsEv@Base 1.1.0
_ZN4LXQt13SettingsCacheC1EP9QSettings@Base 1.1.0
_ZN4LXQt13SettingsCacheC1ER9QSettings@Base 1.1.0
_ZN4LXQt13SettingsCacheC2EP9QSettings@Base 1.1.0
_ZN4LXQt13SettingsCacheC2ER9QSettings@Base 1.1.0
_ZN4LXQt14AutostartEntry10setEnabledEb@Base 1.1.0
_ZN4LXQt14AutostartEntry11removeLocalEv@Base 1.1.0
_ZN4LXQt14AutostartEntry6commitEv@Base 1.1.0
_ZN4LXQt14AutostartEntry7setFileERK14XdgDesktopFile@Base 1.1.0
_ZN4LXQt14AutostartEntryC1ERK7QString@Base 1.1.0
_ZN4LXQt14AutostartEntryC1Ev@Base 1.1.0
_ZN4LXQt14AutostartEntryC2ERK7QString@Base 1.1.0
_ZN4LXQt14AutostartEntryC2Ev@Base 1.1.0
_ZN4LXQt14GlobalSettings11fileChangedEv@Base 1.1.0
_ZN4LXQt14GlobalSettings11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.1.0
_ZN4LXQt14GlobalSettings11qt_metacastEPKc@Base 1.1.0
_ZN4LXQt14GlobalSettings16iconThemeChangedEv@Base 1.1.0
_ZN4LXQt14GlobalSettings16lxqtThemeChangedEv@Base 1.1.0
_ZN4LXQt14GlobalSettings16staticMetaObjectE@Base 1.1.0
_ZN4LXQt14GlobalSettingsC1Ev@Base 1.1.0
_ZN4LXQt14GlobalSettingsC2Ev@Base 1.1.0
_ZN4LXQt14GlobalSettingsD0Ev@Base 1.1.0
_ZN4LXQt14GlobalSettingsD1Ev@Base 1.1.0
_ZN4LXQt14GlobalSettingsD2Ev@Base 1.1.0
_ZN4LXQt14VirtualBackEnd11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.1.0
_ZN4LXQt14VirtualBackEnd11qt_metacastEPKc@Base 1.1.0
_ZN4LXQt14VirtualBackEnd12getBacklightEv@Base 1.1.0
_ZN4LXQt14VirtualBackEnd12setBacklightEi@Base 1.1.0
_ZN4LXQt14VirtualBackEnd14isBacklightOffEv@Base 1.1.0
_ZN4LXQt14VirtualBackEnd15getMaxBacklightEv@Base 1.1.0
_ZN4LXQt14VirtualBackEnd16backlightChangedEi@Base 1.1.0
_ZN4LXQt14VirtualBackEnd16staticMetaObjectE@Base 1.1.0
_ZN4LXQt14VirtualBackEnd20isBacklightAvailableEv@Base 1.1.0
_ZN4LXQt14VirtualBackEndC1EP7QObject@Base 1.1.0
_ZN4LXQt14VirtualBackEndC2EP7QObject@Base 1.1.0
_ZN4LXQt16PageSelectWidget11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.1.0
_ZN4LXQt16PageSelectWidget11qt_metacastEPKc@Base 1.1.0
_ZN4LXQt16PageSelectWidget16staticMetaObjectE@Base 1.1.0
_ZN4LXQt16PageSelectWidget18updateMaxTextWidthEv@Base 1.1.0
_ZN4LXQt16PageSelectWidget5eventEP6QEvent@Base 1.1.0
_ZN4LXQt16PageSelectWidgetC1EP7QWidget@Base 1.1.0
_ZN4LXQt16PageSelectWidgetC2EP7QWidget@Base 1.1.0
_ZN4LXQt16PageSelectWidgetD0Ev@Base 1.1.0
_ZN4LXQt16PageSelectWidgetD1Ev@Base 1.1.0
_ZN4LXQt16PageSelectWidgetD2Ev@Base 1.1.0
_ZN4LXQt17SingleApplication11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.1.0
_ZN4LXQt17SingleApplication11qt_metacastEPKc@Base 1.1.0
_ZN4LXQt17SingleApplication14activateWindowEv@Base 1.1.0
_ZN4LXQt17SingleApplication16staticMetaObjectE@Base 1.1.0
_ZN4LXQt17SingleApplication19setActivationWindowEP7QWidget@Base 1.1.0
_ZN4LXQt17SingleApplicationC1ERiPPcNS0_12StartOptionsE@Base 1.1.0
_ZN4LXQt17SingleApplicationC2ERiPPcNS0_12StartOptionsE@Base 1.1.0
_ZN4LXQt17SingleApplicationD0Ev@Base 1.1.0
_ZN4LXQt17SingleApplicationD1Ev@Base 1.1.0
_ZN4LXQt17SingleApplicationD2Ev@Base 1.1.0
_ZN4LXQt26ConfigDialogCmdLineOptions14setCommandLineEP18QCommandLineParser@Base 1.1.0
_ZN4LXQt26ConfigDialogCmdLineOptions7processER18QCommandLineParser@Base 1.1.0
_ZN4LXQt26ConfigDialogCmdLineOptionsC1Ev@Base 1.1.0
_ZN4LXQt26ConfigDialogCmdLineOptionsC2Ev@Base 1.1.0
_ZN4LXQt26ConfigDialogCmdLineOptionsD1Ev@Base 1.1.0
_ZN4LXQt26ConfigDialogCmdLineOptionsD2Ev@Base 1.1.0
_ZN4LXQt5Power10monitorOffEv@Base 1.1.0
_ZN4LXQt5Power11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.1.0
_ZN4LXQt5Power11qt_metacastEPKc@Base 1.1.0
_ZN4LXQt5Power15showLeaveDialogEv@Base 1.1.0
_ZN4LXQt5Power16staticMetaObjectE@Base 1.1.0
_ZN4LXQt5Power6logoutEv@Base 1.1.0
_ZN4LXQt5Power6rebootEv@Base 1.1.0
_ZN4LXQt5Power7suspendEv@Base 1.1.0
_ZN4LXQt5Power8doActionENS0_6ActionE@Base 1.1.0
_ZN4LXQt5Power8shutdownEv@Base 1.1.0
_ZN4LXQt5Power9hibernateEv@Base 1.1.0
_ZN4LXQt5PowerC1EP7QObject@Base 1.1.0
_ZN4LXQt5PowerC1EbP7QObject@Base 1.1.0
_ZN4LXQt5PowerC2EP7QObject@Base 1.1.0
_ZN4LXQt5PowerC2EbP7QObject@Base 1.1.0
_ZN4LXQt5PowerD0Ev@Base 1.1.0
_ZN4LXQt5PowerD1Ev@Base 1.1.0
_ZN4LXQt5PowerD2Ev@Base 1.1.0
_ZN4LXQt8Settings11fileChangedEv@Base 1.1.0
_ZN4LXQt8Settings11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.1.0
_ZN4LXQt8Settings11qt_metacastEPKc@Base 1.1.0
_ZN4LXQt8Settings12_fileChangedERK7QString@Base 1.1.0
_ZN4LXQt8Settings14addWatchedFileERK7QString@Base 1.1.0
_ZN4LXQt8Settings14globalSettingsEv@Base 1.1.0
_ZN4LXQt8Settings15settingsChangedEv@Base 1.1.0
_ZN4LXQt8Settings16staticMetaObjectE@Base 1.1.0
_ZN4LXQt8Settings17setLocalizedValueERK7QStringRK8QVariant@Base 1.1.0
_ZN4LXQt8Settings20settingsChangedByAppEv@Base 1.1.0
_ZN4LXQt8Settings27settingsChangedFromExternalEv@Base 1.1.0
_ZN4LXQt8Settings5eventEP6QEvent@Base 1.1.0
_ZN4LXQt8SettingsC1EPK9QSettingsRK7QStringP7QObject@Base 1.1.0
_ZN4LXQt8SettingsC1ERK7QStringN9QSettings6FormatEP7QObject@Base 1.1.0
_ZN4LXQt8SettingsC1ERK7QStringP7QObject@Base 1.1.0
_ZN4LXQt8SettingsC1ERK9QSettingsRK7QStringP7QObject@Base 1.1.0
_ZN4LXQt8SettingsC2EPK9QSettingsRK7QStringP7QObject@Base 1.1.0
_ZN4LXQt8SettingsC2ERK7QStringN9QSettings6FormatEP7QObject@Base 1.1.0
_ZN4LXQt8SettingsC2ERK7QStringP7QObject@Base 1.1.0
_ZN4LXQt8SettingsC2ERK9QSettingsRK7QStringP7QObject@Base 1.1.0
_ZN4LXQt8SettingsD0Ev@Base 1.1.0
_ZN4LXQt8SettingsD1Ev@Base 1.1.0
_ZN4LXQt8SettingsD2Ev@Base 1.1.0
_ZN4LXQt9Backlight11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.1.0
_ZN4LXQt9Backlight11qt_metacastEPKc@Base 1.1.0
_ZN4LXQt9Backlight12getBacklightEv@Base 1.1.0
_ZN4LXQt9Backlight12setBacklightEi@Base 1.1.0
_ZN4LXQt9Backlight14isBacklightOffEv@Base 1.1.0
_ZN4LXQt9Backlight15getMaxBacklightEv@Base 1.1.0
_ZN4LXQt9Backlight16backlightChangedEi@Base 1.1.0
_ZN4LXQt9Backlight16staticMetaObjectE@Base 1.1.0
_ZN4LXQt9Backlight20backlightChangedSlotEi@Base 1.1.0
_ZN4LXQt9Backlight20isBacklightAvailableEv@Base 1.1.0
_ZN4LXQt9BacklightC1EP7QObject@Base 1.1.0
_ZN4LXQt9BacklightC2EP7QObject@Base 1.1.0
_ZN4LXQt9BacklightD0Ev@Base 1.1.0
_ZN4LXQt9BacklightD1Ev@Base 1.1.0
_ZN4LXQt9BacklightD2Ev@Base 1.1.0
_ZN4LXQt9LXQtTheme12currentThemeEv@Base 1.1.0
_ZN4LXQt9LXQtTheme9allThemesEv@Base 1.1.0
_ZN4LXQt9LXQtTheme9mInstanceE@Base 1.1.0
_ZN4LXQt9LXQtThemeC1ERK7QString@Base 1.1.0
_ZN4LXQt9LXQtThemeC1ERKS0_@Base 1.1.0
_ZN4LXQt9LXQtThemeC1Ev@Base 1.1.0
_ZN4LXQt9LXQtThemeC2ERK7QString@Base 1.1.0
_ZN4LXQt9LXQtThemeC2ERKS0_@Base 1.1.0
_ZN4LXQt9LXQtThemeC2Ev@Base 1.1.0
_ZN4LXQt9LXQtThemeD1Ev@Base 1.1.0
_ZN4LXQt9LXQtThemeD2Ev@Base 1.1.0
_ZN4LXQt9LXQtThemeaSERKS0_@Base 1.1.0
_ZNK4LXQt10GridLayout10itemsOrderEv@Base 2.1.0
_ZNK4LXQt10GridLayout10metaObjectEv@Base 1.1.0
_ZNK4LXQt10GridLayout11columnCountEv@Base 1.1.0
_ZNK4LXQt10GridLayout15cellMaximumSizeEv@Base 1.1.0
_ZNK4LXQt10GridLayout15cellMinimumSizeEv@Base 1.1.0
_ZNK4LXQt10GridLayout16occupiedGeometryEv@Base 1.1.0
_ZNK4LXQt10GridLayout22animatedMoveInProgressEv@Base 1.1.0
_ZNK4LXQt10GridLayout5countEv@Base 1.1.0
_ZNK4LXQt10GridLayout6itemAtEi@Base 1.1.0
_ZNK4LXQt10GridLayout7stretchEv@Base 1.1.0
_ZNK4LXQt10GridLayout8rowCountEv@Base 1.1.0
_ZNK4LXQt10GridLayout8sizeHintEv@Base 1.1.0
_ZNK4LXQt10GridLayout9directionEv@Base 1.1.0
_ZNK4LXQt10PluginInfo11loadLibraryERK7QString@Base 1.1.0
_ZNK4LXQt10PluginInfo7isValidEv@Base 1.1.0
_ZNK4LXQt11Application10metaObjectEv@Base 1.1.0
_ZNK4LXQt11ScreenSaver10metaObjectEv@Base 1.1.0
_ZNK4LXQt12ConfigDialog10metaObjectEv@Base 1.1.0
_ZNK4LXQt12HtmlDelegate10metaObjectEv@Base 1.1.0
_ZNK4LXQt12HtmlDelegate5paintEP8QPainterRK20QStyleOptionViewItemRK11QModelIndex@Base 1.1.0
_ZNK4LXQt12HtmlDelegate8sizeHintERK20QStyleOptionViewItemRK11QModelIndex@Base 1.1.0
_ZNK4LXQt12Notification10metaObjectEv@Base 1.1.0
_ZNK4LXQt12PowerManager10metaObjectEv@Base 1.1.0
_ZNK4LXQt13RotatedWidget10metaObjectEv@Base 1.1.0
_ZNK4LXQt13RotatedWidget12adjustedSizeE5QSize@Base 1.1.0
_ZNK4LXQt13RotatedWidget13adjustedPointE7QPointF@Base 1.1.0
_ZNK4LXQt13RotatedWidget15minimumSizeHintEv@Base 1.1.0
_ZNK4LXQt13RotatedWidget6originEv@Base 1.1.0
_ZNK4LXQt13RotatedWidget7contentEv@Base 1.1.0
_ZNK4LXQt13RotatedWidget8sizeHintEv@Base 1.1.0
_ZNK4LXQt14AutostartEntry4fileEv@Base 1.1.0
_ZNK4LXQt14AutostartEntry4nameEv@Base 1.1.0
_ZNK4LXQt14AutostartEntry9isEnabledEv@Base 1.1.0
_ZNK4LXQt14GlobalSettings10metaObjectEv@Base 1.1.0
_ZNK4LXQt14VirtualBackEnd10metaObjectEv@Base 1.1.0
_ZNK4LXQt16PageSelectWidget10metaObjectEv@Base 1.1.0
_ZNK4LXQt16PageSelectWidget12maxTextWidthEv@Base 1.1.0
_ZNK4LXQt16PageSelectWidget15minimumSizeHintEv@Base 1.1.0
_ZNK4LXQt16PageSelectWidget16viewportSizeHintEv@Base 1.1.0
_ZNK4LXQt16PageSelectWidget8sizeHintEv@Base 1.1.0
_ZNK4LXQt17SingleApplication10metaObjectEv@Base 1.1.0
_ZNK4LXQt17SingleApplication16activationWindowEv@Base 1.1.0
_ZNK4LXQt26ConfigDialogCmdLineOptions4pageEv@Base 1.1.0
_ZNK4LXQt5Power10canSuspendEv@Base 1.1.0
_ZNK4LXQt5Power10metaObjectEv@Base 1.1.0
_ZNK4LXQt5Power11canShutdownEv@Base 1.1.0
_ZNK4LXQt5Power12canHibernateEv@Base 1.1.0
_ZNK4LXQt5Power13canMonitorOffEv@Base 1.1.0
_ZNK4LXQt5Power18canShowLeaveDialogEv@Base 1.1.0
_ZNK4LXQt5Power9canActionENS0_6ActionE@Base 1.1.0
_ZNK4LXQt5Power9canLogoutEv@Base 1.1.0
_ZNK4LXQt5Power9canRebootEv@Base 1.1.0
_ZNK4LXQt8Settings10metaObjectEv@Base 1.1.0
_ZNK4LXQt8Settings14localizedValueERK7QStringRK8QVariant@Base 1.1.0
_ZNK4LXQt9Backlight10metaObjectEv@Base 1.1.0
_ZNK4LXQt9LXQtTheme12previewImageEv@Base 1.1.0
_ZNK4LXQt9LXQtTheme17desktopBackgroundEi@Base 1.1.0
_ZNK4LXQt9LXQtTheme3qssERK7QString@Base 1.1.0
_ZNK4LXQt9LXQtTheme4nameEv@Base 1.1.0
_ZNK4LXQt9LXQtTheme4pathEv@Base 1.1.0
_ZNK4LXQt9LXQtTheme7isValidEv@Base 1.1.0
(optional=templinst)_ZNKSt8_Rb_treeI7QStringSt4pairIKS0_8QVariantESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE4findERS2_@Base 2.0.0
(optional=templinst)_ZNSt8_Rb_treeI7QStringSt4pairIKS0_8QVariantESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE24_M_get_insert_unique_posERS2_@Base 2.0.0
(optional=templinst|arch=!armhf !s390x)_ZNSt8_Rb_treeI7QStringSt4pairIKS0_8QVariantESt10_Select1stIS4_ESt4lessIS0_ESaIS4_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS4_ERS2_@Base 2.0.0
_ZTIN4LXQt10GridLayoutE@Base 1.1.0
_ZTIN4LXQt10MessageBoxE@Base 1.1.0
_ZTIN4LXQt10PluginInfoE@Base 1.1.0
_ZTIN4LXQt11ApplicationE@Base 1.1.0
_ZTIN4LXQt11ScreenSaverE@Base 1.1.0
_ZTIN4LXQt12ConfigDialogE@Base 1.1.0
_ZTIN4LXQt12HtmlDelegateE@Base 1.1.0
_ZTIN4LXQt12NotificationE@Base 1.1.0
_ZTIN4LXQt12PowerManagerE@Base 1.1.0
_ZTIN4LXQt13RotatedWidgetE@Base 1.1.0
_ZTIN4LXQt13SettingsCacheE@Base 1.1.0
_ZTIN4LXQt14AutostartEntryE@Base 1.1.0
_ZTIN4LXQt14GlobalSettingsE@Base 1.1.0
_ZTIN4LXQt14VirtualBackEndE@Base 1.1.0
_ZTIN4LXQt16PageSelectWidgetE@Base 1.1.0
_ZTIN4LXQt17SingleApplicationE@Base 1.1.0
_ZTIN4LXQt5PowerE@Base 1.1.0
_ZTIN4LXQt8SettingsE@Base 1.1.0
_ZTIN4LXQt9BacklightE@Base 1.1.0
_ZTSN4LXQt10GridLayoutE@Base 1.1.0
_ZTSN4LXQt10MessageBoxE@Base 1.1.0
_ZTSN4LXQt10PluginInfoE@Base 1.1.0
_ZTSN4LXQt11ApplicationE@Base 1.1.0
_ZTSN4LXQt11ScreenSaverE@Base 1.1.0
_ZTSN4LXQt12ConfigDialogE@Base 1.1.0
_ZTSN4LXQt12HtmlDelegateE@Base 1.1.0
_ZTSN4LXQt12NotificationE@Base 1.1.0
_ZTSN4LXQt12PowerManagerE@Base 1.1.0
_ZTSN4LXQt13RotatedWidgetE@Base 1.1.0
_ZTSN4LXQt13SettingsCacheE@Base 1.1.0
_ZTSN4LXQt14AutostartEntryE@Base 1.1.0
_ZTSN4LXQt14GlobalSettingsE@Base 1.1.0
_ZTSN4LXQt14VirtualBackEndE@Base 1.1.0
_ZTSN4LXQt16PageSelectWidgetE@Base 1.1.0
_ZTSN4LXQt17SingleApplicationE@Base 1.1.0
_ZTSN4LXQt5PowerE@Base 1.1.0
_ZTSN4LXQt8SettingsE@Base 1.1.0
_ZTSN4LXQt9BacklightE@Base 1.1.0
_ZTVN4LXQt10GridLayoutE@Base 1.1.0
_ZTVN4LXQt10MessageBoxE@Base 1.1.0
_ZTVN4LXQt10PluginInfoE@Base 1.1.0
_ZTVN4LXQt11ApplicationE@Base 1.1.0
_ZTVN4LXQt11ScreenSaverE@Base 1.1.0
_ZTVN4LXQt12ConfigDialogE@Base 1.1.0
_ZTVN4LXQt12HtmlDelegateE@Base 1.1.0
_ZTVN4LXQt12NotificationE@Base 1.1.0
_ZTVN4LXQt12PowerManagerE@Base 1.1.0
_ZTVN4LXQt13RotatedWidgetE@Base 1.1.0
_ZTVN4LXQt13SettingsCacheE@Base 1.1.0
_ZTVN4LXQt14AutostartEntryE@Base 1.1.0
_ZTVN4LXQt14GlobalSettingsE@Base 1.1.0
_ZTVN4LXQt14VirtualBackEndE@Base 1.1.0
_ZTVN4LXQt16PageSelectWidgetE@Base 1.1.0
_ZTVN4LXQt17SingleApplicationE@Base 1.1.0
_ZTVN4LXQt5PowerE@Base 1.1.0
_ZTVN4LXQt8SettingsE@Base 1.1.0
_ZTVN4LXQt9BacklightE@Base 1.1.0
_Zls6QDebugRK5QListIN4LXQt10PluginInfoEE@Base 2.0.0
_Zls6QDebugRKN4LXQt10PluginInfoE@Base 2.0.0
(c++)"non-virtual thunk to LXQt::ConfigDialog::~ConfigDialog()@Base" 2.0.0
(c++)"non-virtual thunk to LXQt::GridLayout::invalidate()@Base" 1.1.0
(c++)"non-virtual thunk to LXQt::GridLayout::setGeometry(QRect const&)@Base" 2.0.0
(c++)"non-virtual thunk to LXQt::GridLayout::sizeHint() const@Base" 2.0.0
(c++)"non-virtual thunk to LXQt::GridLayout::~GridLayout()@Base" 2.0.0
(c++)"non-virtual thunk to LXQt::PageSelectWidget::~PageSelectWidget()@Base" 1.1.0

24
debian/rules vendored
View File

@ -1,11 +1,27 @@
#!/usr/bin/make -f #!/usr/bin/make -f
# export DH_VERBOSE=1 # export DH_VERBOSE=1
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed export LC_ALL=C.UTF-8
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
WHICH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS 2>/dev/null)
ifeq ($(WHICH_OS), hurd)
NOT_LINUX := -DBUILD_BACKLIGHT_LINUX_BACKEND=NO
endif
ifeq ($(WHICH_OS), kfreebsd)
NOT_LINUX := -DBUILD_BACKLIGHT_LINUX_BACKEND=NO
endif
%: %:
dh ${@} --buildsystem cmake --ddeb-migration='liblxqt0-dbg (<< 0.10.0-4~)' --parallel dh ${@} --buildsystem cmake
override_dh_missing:
dh_missing --fail-missing
override_dh_install: override_dh_auto_configure:
dh_install --fail-missing dh_auto_configure -- \
-DUPDATE_TRANSLATIONS=OFF \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
$(NOT_LINUX)

6
debian/upstream/metadata vendored Normal file
View File

@ -0,0 +1,6 @@
Name: liblxqt
Bug-Database: https://github.com/lxqt/liblxqt/issues
Bug-Submit: https://github.com/lxqt/liblxqt/issues/new
Changelog: https://github.com/lxqt/liblxqt/blob/master/CHANGELOG
Repository: https://github.com/lxqt/liblxqt
Repository-Browse: https://github.com/lxqt/liblxqt

View File

@ -1,63 +1,52 @@
-----BEGIN PGP PUBLIC KEY BLOCK----- -----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.22 (GNU/Linux)
mQINBFJevCYBEACx+Hvy+Vsuf+V5jeLUnzjAmHoy8DfTeGWr3ts30IapLHrfi0+U mQINBF6cxrwBEADfl3ydxNfLBbWGPesXty2baQgixZ3D6aCxadI2kX+aikmT8rd0
WpzNnISO77yTr4VNboVZH+GHM/rnPfieODfB4ZW6CZLlInMSKUXcgQsEqXpyBZhA ttDKN18cXV52Ssxnj0qhgf4hwnu/b0be6BzqSEyGM+UQR3X2CYpxrMakfW32Q18K
Ib/SPy2bOfHly1uRJes0uRDsH5+v/hD74sByfnjQlrvI68O6wvGZmDFMNNPVO8+/ X5ec0RPR2ucBq9G0r9t6FYC8FkJ4uQUU3xxrLW3z302S0Makjgzm8BV9WrFQ7oFF
OWBSBNkBuVrrZOMSPsLwQGJ4UtUQ4whburaPJG4VZJc5DLbzJGbEuACc0IAEYJS3 uJQj0BHbHYC4RyaZb2AfxY4Y92BPGTjtGekWqgw6vEXCCnvAbGYVQzvxZt3nw21/
7AfXVXn4j4Gc9F3o1xTUnbOBnwGPquWwUIm3FM7Ec2OdkvMt3EwvnkMAfeVrq3iE 1YmV4g7xhGFQPbOf9v3ejFUJeJIGzuJf5NAh7kvfCdUBAGYH0gnj0GpOve4ftnaG
FDD/KZTxdL0BZH3QD8gB7Jm4v4f3Nkobg6JCvCbcH3wBdZW4mASbwWzfRaDC2zHb sAId2CQwm3oYF4Tu7yBPTOBpkaKkNaT+UdwTyeKERuCZ9ocZWX++/YF9ItRkJ5mM
ErTglD7PpShLKZZ0pr9okWZEGw4Ku3q8ALi1JXK/ePTmsBlvkVskOJ3Nnd0avgH4 zoP1GluWn2atNWpRh/K97gyAGgr2fSmrAA4d1JrVbMujZAHoHAOKwJKqX9jPziPZ
+Q/vZoKfH8EhNY745rI+8CE9iv6V9XiSUt4CKEWAENt4A8hq6U2vV+jZv3B6AgD7 BFHfhcIOzG3ZhXAuumHsd7uwfPBVt20g+G+cOjBghbSSu9EOtMkAZl1g3ybvZixu
ZjiI59yD4YuYubu8rCnNizTgh1voVw3ietknn/x2H5yH8fByWZ5uL87C0ky/uma6 Jtxa5exZWEmU7vtytEb8eq9Dj5XcGoTDbErE2RpJ/20HPzhyRKg9RN4iGS+0OiHS
ZGbiiAtM4kdkyDMrfRV5nlEG9EKAGPVu5mjeSCrfkETwZ9OFPz1AuDye4ZEXrrcC oRbDi5IEOizvQjp2bsBmfa3rsoDSOqF2pevp+u8I56I6bU1GFpxxNC5IGvgo2Q79
iRQ7RX6/GtW18aHER0kzGnfwx5KJzkDrRBY8A2PdXLBcrsN4WpK9EX01PQARAQAB quz0oIk5hs3eLlUdEYsLGwR6pWJaJyf36vuDsq7iLrLyvHI5irAowO4r1QARAQAB
tCNKZXJvbWUgTGVjbGFuY2hlIDxqZXJvbWVAbGVjbGFuLmNoPokCPwQTAQIAKQUC tCVQZWRyYW0gUG91cmFuZyA8dHN1amFuMjAwMEBnbWFpbC5jb20+iQJOBBMBCAA4
Ul68JgIbAwUJAeEzgAcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEDfgrx/a FiEEGd/fOleb1QnbtXLYvnkwB60i334FAl6cxrwCGwMFCwkIBwIGFQoJCAsCBBYC
SPNzSHIP/1ewXcC0TFBcvDD7MrIP7anyNfiWfW7cxkR8GSamkg6HTa6Ndyr1FFjJ AwECHgECF4AACgkQvnkwB60i335f9RAAgRpn8gUa/l10UkVAnpM2Cz0MuNMwwCOq
OoDFUP37jWhu59CsHxs2D0zRWJktezfvElscRgqbHcdpIznqsGdI8hXCZafhBGVb IfVnuZuPBtYYiTU5Su++/aPZe3fF5B4v61F+XjNi7qeVL2t52X3jZ/iIx9Syasb+
sdAB2LRawcXGxnXt7XajPcSVwLWRE62caBqohznU2iWvI780WNjEbZoA0LhZwaFF vDAIfQ5t6lKXvOptWxf6vteOg6CHbXwpGHbPjUkUS2vQwRikjBnR0SnkrMoXtgSX
UUPJm8ea9v0IkZVKUyg9WONZ1U7FEG9SaEiSpI8kJdx1fvCwZVDV/NRO5GqnJaho amPFqsitNrOhEJfeDfo0NzKESZuliWrCFt2v8c5q18G8cCZAvPLBlGuwRl58cDep
P1LCne4YdwS6pt1/fRgk32IHxxZfHlLzLHxb6v1JmIg72x28qCmGyK9oFBDbbnYu 3EIibMI/9MUSJbKoiHlK+LcHtG7BQTNis/e7Pe1PkRmExfhxe1lNajtOx8FO72Tq
6Aq8XbHogOrD5vJM2Pfm2IhV0+JHOjfQbddv8tsAH1M+LI+tToXmg5st1AU3wnTn B6zY6drippM9VaIc1M+zp9BRpsFu8whOmapCqlXHRgAK8xTdQRIGInQFqLWPOxSC
pda3hjA1avKwkfBPW/osHc8782ViyS9iX2e9iDtMv608guij4NjpGExzGCypHOd8 f0B6N+EvQvgkyFQ1rW+u91OJBma46uKkhrwf+mDttVRncaIAkgE6e6pqm18yIPFk
+VXRwJDjvgDynkL206MZ+wn0j5wHsIE8F3Y5Bp1thQOrdDli5MYNQoXhjFmH46XT D42rt/yHcOl+2qkcJS3gPcg5UvlCzqOwg1rKZQIk+TcPuDx3r2UghDEYZN9X6vw3
bcr84IgW0+AiXZdoFUqvwtzrWy2Onuw5R3k4OyV4skN4DkWXyAk/V+Y4K39JvTKf zCBufr7ygZNf4tkbnVARFWTR4GzyCseFkWgOVZL9DccAhs8NeMy1WLkUzB75adeR
H9YuiQ9blNzCu8WiAnjKnh9kNl9E/TyEwI6cHFmIPqF8ST9tJytWHtrKvU9csvXX 3LONmEL7xOI8FuknKY4e6EcWhmstNIDgXfRe0hwO0VBdW3unoZC/K2ZM/ZuZyMdK
n8XNJmpcv2R1e6N+VuWWm5zUPTouv3AxCacLbm8Lh3ymGsk7ZEyhiQIcBBABAgAG TFjvYJrNewmymKge68wo0054bGZn8oz17i2AosJz7kW+ITsxmxhVcpfl4bav9Neq
BQJSsFYyAAoJEBMY76xfu9vO6v0P/3wSj3/kE4nP4HfgcVJSzi+lm1ycpbLDZtgh RpQwhnhK9bC5Ag0EXpzGvAEQANbeRHFbpgQVIqV9WVOVnTj4FIqrTPTPKKa02vJA
P1G+zJLVmA+E41vEZimeiYQxBAelatJz+CHzQo3LZ2oVChzVrZcVHn9k4P3pib69 7tGpgFapgvjdxnMxJfV6wuwOBUUFLR7DrXlV8EVFAYc5qTIeSQXvJsWw6gQ3+f0D
qCVif3/y0Wmecn+u2TWbOvJ7mthfO7T3W7rkW1/9ES7bUaXcXWQ2sjUBVqFkFsVt z13oGOhZPBIzIKnV/MZI/jhIio8kSPWAuM5hR2X9Hvw3/CLo+H+hZZ6cFYoCxrQS
xgJDo8wcxA+K4Yf06GCbxFwrB7X5GraWIkzqGnyse3XAQn8aORAXmE8Yd0FHOjEZ tTzcKMkdQizLLa+WNbqUSxg6I/P5k/smUDY9gKW7RtI5t/PupA3WTnsVD6CYWa3Q
Beb9shChnkYc3lEvNY8ioCaYSF9xr/Iz9cwpfPkpqFiVYWadtb+Gqeh6zC7vPmcT c1O/1mUgqT6nQ5N9KCPpjZQRT6D6eIMmePtS85z4PPeYMJxPsKRYWPGRxKhCSdZl
zHxrgkq1WwQlSBm724tPt9xuGQoOglqEa23vlQZfv20nyrYjLeYUy6pMCRq7vn/n /0wsC8aRtmwYT729e0ZgTAmUnj+rQp5hboF/ZPFjIoXR9G+0HnoY0a/nqVO4lUON
nkQOcXF7yQlnqR6xKk0tWsM4e6du0ZvbjBbhHV/kBFVGCLm/upTwoMVm0WJTbr4T AV25GnMFGVyiHHlbH/0gboywwnzEg8BZbk+Z/61oOzBIW09sfG8fn8bsbkpL+nHf
5XfIZo7eA0lvGtUhe1PgcOidBikHfAIfYxu0BoMXoL4jbcQdR5+YBDEfsS0jPhCl Mi/Vauge6wSfw7I5AfSiwrSDNHmKVsu39koWV6JGxEeFr2MffF+CuaoJCNOr/ZII
mew2ScW/R/UhUknJUVFTma0KHXzEmKiqeeUCDtwEi6fxdicAYkbcekgkfFiD/w8N SYR5ku3Y/lMKyUH1Oas0RWzFrdRcInqYK90A0x083zP4V445MvCwbRPzQAkm9wOP
Lk3Uf+0x2MdKA36nUobFkk38oU+GW37kFWJs3f1YRuQFao896eNW/E8ekVMLNxOl kILLhE5FW+9/O0/9bpx4joJUDLV4d3hFZy7GSHKiZUs1QW6BV75JQKqoi+cVt+/L
nCjnSbabaxDnxPTyW2KlNjf/QUEK4pT6S5QmuCSrle3PQpaSbAZDHzLBIL9gd3m6 +o1S8CMNekjqdC2mWRosM3doo51zT/FWNzQA1QcoZP2hORJDfw66y+4wPq6o8y1W
MH7+SvV4uQINBFJevCYBEADiXDUqstSdhIyuionS2KtE3IeEBIqS7GY8QPRBylIZ jR35ABEBAAGJAjYEGAEIACAWIQQZ3986V5vVCdu1cti+eTAHrSLffgUCXpzGvAIb
ACVHFI/1HxChBqYVGFaDEQn3gj5lUUQPubfWaxzjF6+UNVQW4+cxmTocndAwfDbI DAAKCRC+eTAHrSLffgbJD/4qW5YOo/BayBhaUh2L7VP7JNlECb/2xNNOFKI1NjNr
+E5BLdieFUzbAA05MV5ZjPhTNbSk1jpy4bNy0FILwNqc89Y6SoCbv1r3tZLCrBas nOmgSJLzf74Uhmt5W+iVjmJBHrDceprIPkizmPrn90kIsPIMtHIDNxzUgKZHbnza
1+AfWknBynx0siGMbLFxtzR6hUkNz9URxt13FrzpUWMpAL8ZQGczOTSaWLrZA5l9 j1vZyAeC+JV79X1hOVpprj1TJwy65lpxXNyYnGqeIOgyFokn9fOHXv8aMQwpNuUr
xLzJ9ww8uM+C2Xej3/sANxi+kQE2GVMKurPS0TICwVWZxbdW/ytIkO67Rhse0q3t bdUJ1C75jYrvwy/NR1DczIFFYgsbkDGDtjVBjyMc5JAgvUBz37/iVPJfWP6dKVnf
vzjdawfCFRxv7XQB2ZJ6irDxbpHiJoojSWCHJadIyCG03iOiaqsSVvi4KnxtUck+ abRnUVzHgvgK7bnab00SA1TiWvjHURGjo+5rnRtv8X/AgStc2Phjq68TMIgMn0F2
udOEJUV5sxdzgeRrsDpeaN//KCWW9WjfsSkvOqP6S1gmWpNFdzF5XrzcgvqvSNqo kjUVvfQotNqzo9madNshvUDmsGtAzKh4e0dS1ear7u3nRp4Z7fqSrTEtXKNbEPwZ
XejfakUTJqsIIEHO0zGuJFVzJNh2hQ/9dhjIspUORhtNKaljNvePiBrj2yqmd9PY wdWrWmmQLacNQBSe/FtcMzGF6xIVr4lnrL0bFjqBdQpdTC7vns3QSKk8/GFiEfpv
FlH1KMHe4H+YVIwPiyeNA87Pu+1yNo8gT7mXhGRfibgWjbt146WUJ7+l2StJMApn kzXrDbGV7jX2OWDjNHKcmXX2+E1CsNaJgS7zOgZw5jvbvlTLJUwyYNlM1VLI2OFW
eNSCartNaUNPnw96i2l5c9AsJ3SWC6XWpWzOLVj+9XceeA11lu/ogqEMHzx81NjH Oa86l8pqli+B7rpTbsAE9Ut8qUaWjm87oUNSJbaKgqNnMaE+b/8VJaEeWHgQJwsD
2TePxwKTKxZnAvDmqryp++IgY2/OgIoIk3ZRdYu/dPijTOYWfCet/9/9kAFr9PeJ bJSJ/O/vzlRtDjOJ1JDlMRLs7TnOFeUh5pgwyaJoidYbJEiGlMGJbI6BjwhDTBFO
KwARAQABiQIlBBgBAgAPBQJSXrwmAhsMBQkB4TOAAAoJEDfgrx/aSPNzJv0QAKkx NLJtd3SsRjc7ICtGdCvej59IvCDTjxtkhx5okF03APi1aXpHQrE18/arFD7BpoGO
lCKEZ6ahAUuNWslsHnNWaHFHNawEO3NIEtQZGVFk2BYISupizvjZF6MnymO/9UFM sw==
pzV6fp3xNdqaKWQBjScOgMgCASRixW2tMAKbJGHZKp3dBixpHgXxy2oOGMS+mQ5m =gSIv
gWy07usq2YesoMD0K/SG6EnoRPHBvrJihArzMFVUY9hD3hk8bhiy8w9bCYFe+gkm
zpQl3/KN01kyt5LjzEBcIOw8qIBQe9Pk8PyOK75lPoNME714LatgOsyw2kaSQ9Sv
hziRGC5z/fV3PmH7XhSjENPKnCJU51GUMMLaL28t9o7Afh6Q8UV31/JO36vmQXQV
+b+0BoGqEmf3AKBASb2Cr2q4pZFjywwSUXHZ9hQyu1tpbE1dS6aI01kM0y270pk7
W/ajuzuOxAVL1bJAanL/5+DWM03esZPVdEWhxpWEM40Z6Rhq+Xb2a5xfwCN9PmaQ
o9fez0I+yh53s7Ypv0tBj05FPe5L48+pDi6pz5nddN1B0FzF58jVfsBZUjBlY24+
VwQeAaWkRXZrSEdtBS5ufsi80x/cNCSTJBWqtborKL1iGgf5MDPYRMSvmZXAeIld
pyL/0pbW7iokewyKzpFfo7KEbwLxB+flWaBZ867JpF4yyRj3b4qcvcyV8QnsoB7Z
KhxTl3gGwD/t0HUcu85zcfs4GkealYhIWfGaAso2
=fF8P
-----END PGP PUBLIC KEY BLOCK----- -----END PGP PUBLIC KEY BLOCK-----

8
debian/watch vendored
View File

@ -1,3 +1,5 @@
version=3 version=4
opts="pgpsigurlmangle=s/$/.asc/" \ opts="searchmode=plain, \
https://github.com/lxde/liblxqt/releases .*/([\d\.]+).tar.gz pgpsigurlmangle=s/$/.asc/, \
uversionmangle=s/(\d+\.\d+\.\d+).*/$1/" \
https://api.github.com/repos/lxqt/@PACKAGE@/releases https:\/\/github.com\/lxqt\/@PACKAGE@\/releases\/download\/@ANY_VERSION@\/@PACKAGE@-@ANY_VERSION@.tar.xz

View File

@ -1,4 +0,0 @@
/*! \mainpage A minimal shared library for LXQt DE.
liblxqt containing shared classes for LXQt developed by LXQt team and contributors.
*/

View File

@ -1,178 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2012-2013 Razor team
* Authors:
* Petr Vanek <petr@scribus.info>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#include <QDir>
#include "lxqtapplication.h"
#include "lxqtsettings.h"
#include <XdgIcon>
#include <XdgDirs>
using namespace LXQt;
#define COLOR_DEBUG "\033[32;2m"
#define COLOR_WARN "\033[33;2m"
#define COLOR_CRITICAL "\033[31;1m"
#define COLOR_FATAL "\033[33;1m"
#define COLOR_RESET "\033[0m"
#define QAPP_NAME qApp ? qApp->objectName().toUtf8().constData() : ""
#include <cstdio>
#include <unistd.h>
#include <cstring>
#include <csignal>
#include <sys/socket.h>
#include <QDateTime>
#include <QDebug>
#include <QSocketNotifier>
/*! \brief Log qDebug input to file
Used only in pure Debug builds or when is the system environment
variable LXQT_DEBUG set
*/
void dbgMessageOutput(QtMsgType type, const QMessageLogContext &ctx, const QString & msgStr)
{
QByteArray msgBuf = msgStr.toUtf8();
const char* msg = msgBuf.constData();
QDir dir(XdgDirs::configHome().toUtf8() + "/lxqt");
dir.mkpath(".");
const char* typestr;
const char* color;
switch (type) {
case QtDebugMsg:
typestr = "Debug";
color = COLOR_DEBUG;
break;
case QtWarningMsg:
typestr = "Warning";
color = COLOR_WARN;
break;
case QtFatalMsg:
typestr = "Fatal";
color = COLOR_FATAL;
break;
default: // QtCriticalMsg
typestr = "Critical";
color = COLOR_CRITICAL;
}
QByteArray dt = QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz").toUtf8();
if (isatty(STDERR_FILENO))
fprintf(stderr, "%s %s(%p) %s: %s%s\n", color, QAPP_NAME, qApp, typestr, msg, COLOR_RESET);
else
fprintf(stderr, "%s(%p) %s: %s\n", QAPP_NAME, qApp, typestr, msg);
FILE *f = fopen(dir.absoluteFilePath("debug.log").toUtf8().constData(), "a+");
fprintf(f, "%s %s(%p) %s: %s\n", dt.constData(), QAPP_NAME, qApp, typestr, msg);
fclose(f);
if (type == QtFatalMsg)
abort();
}
Application::Application(int &argc, char** argv)
: QApplication(argc, argv)
{
#ifdef DEBUG
qInstallMessageHandler(dbgMessageOutput);
#else
if (!qgetenv("LXQT_DEBUG").isNull())
qInstallMessageHandler(dbgMessageOutput);
#endif
XdgIcon::setThemeName(Settings::globalSettings()->value("icon_theme").toString());
setWindowIcon(QIcon(QString(LXQT_SHARE_DIR) + "/graphics/lxqt_logo.png"));
connect(Settings::globalSettings(), SIGNAL(lxqtThemeChanged()), this, SLOT(updateTheme()));
updateTheme();
}
Application::Application(int &argc, char** argv, bool handleQuitSignals)
: Application(argc, argv)
{
if (handleQuitSignals)
{
QList<int> signo_list = {SIGINT, SIGTERM, SIGHUP};
connect(this, &Application::unixSignal, [this, signo_list] (int signo)
{
if (signo_list.contains(signo))
quit();
});
listenToUnixSignals(signo_list);
}
}
void Application::updateTheme()
{
QString styleSheetKey = QFileInfo(applicationFilePath()).fileName();
setStyleSheet(lxqtTheme.qss(styleSheetKey));
emit themeChanged();
}
namespace
{
int signal_sock[2];
void signalHandler(int signo)
{
int ret = write(signal_sock[0], &signo, sizeof (int));
if (sizeof (int) != ret)
qCritical() << QStringLiteral("unable to write into socketpair, %1").arg(strerror(errno));
}
}
void Application::listenToUnixSignals(QList<int> const & signoList)
{
static QSocketNotifier * signal_notifier = nullptr;
if (nullptr == signal_notifier)
{
if (0 != socketpair(AF_UNIX, SOCK_STREAM, 0, signal_sock))
{
qCritical() << QStringLiteral("unable to create socketpair for correct signal handling: %1)").arg(strerror(errno));
return;
}
signal_notifier = new QSocketNotifier(signal_sock[1], QSocketNotifier::Read, this);
connect(signal_notifier, &QSocketNotifier::activated, [this] {
int signo = 0;
int ret = read(signal_sock[1], &signo, sizeof (int));
if (sizeof (int) != ret)
qCritical() << QStringLiteral("unable to read signal from socketpair, %1").arg(strerror(errno));
emit unixSignal(signo);
});
}
struct sigaction sa;
sa.sa_handler = signalHandler;
sigemptyset(&sa.sa_mask);
sa.sa_flags = 0;
for (auto const & signo : signoList)
sigaction(signo, &sa, nullptr);
}

View File

@ -1,85 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2012-2013 Razor team
* Authors:
* Petr Vanek <petr@scribus.info>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef LXQTAPPLICATION_H
#define LXQTAPPLICATION_H
#include <QApplication>
#include <QProxyStyle>
#include "lxqtglobals.h"
namespace LXQt
{
/*! \brief LXQt wrapper around QApplication.
* It loads various LXQt related stuff by default (window icon, icon theme...)
*
* \note This wrapper is intended to be used only inside LXQt project. Using it
* in external application will automatically require linking to various
* LXQt libraries.
*
*/
class LXQT_API Application : public QApplication
{
Q_OBJECT
public:
/*! Construct a LXQt application object.
* \param argc standard argc as in QApplication
* \param argv standard argv as in QApplication
*/
Application(int &argc, char **argv);
/*! Construct a LXQt application object.
* \param argc standard argc as in QApplication
* \param argv standard argv as in QApplication
* \param handleQuitSignals flag if signals SIGINT, SIGTERM, SIGHUP should be handled internaly (\sa quit() application)
*/
Application(int &argc, char **argv, bool handleQuitSignals);
virtual ~Application() {}
/*! Install UNIX signal handler for signals defined in \param signalList
* Upon receiving of any of this signals the \sa unixSignal signal is emitted
*/
void listenToUnixSignals(QList<int> const & signolList);
private slots:
void updateTheme();
signals:
void themeChanged();
/*! Signal is emitted upon receival of registered unix signal
* \param signo the received unix signal number
*/
void unixSignal(int signo);
};
#if defined(lxqtApp)
#undef lxqtApp
#endif
#define lxqtApp (static_cast<LXQt::Application *>(qApp))
} // namespace LXQt
#endif // LXQTAPPLICATION_H

View File

@ -1,129 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright (C) 2012 Alec Moskvin <alecm@gmx.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#include "lxqtautostartentry.h"
#include <QFileInfo>
#include <XdgAutoStart>
#include <XdgDirs>
using namespace LXQt;
AutostartEntry::AutostartEntry() :
mLocalState(StateNone), mSystem(false)
{
}
AutostartEntry::AutostartEntry(const QString& name):
mLocalState(StateNone), mSystem(false)
{
foreach (const QString& dir, XdgDirs::autostartDirs())
{
QString path = QString("%1/%2").arg(dir, name);
if (QFile(path).exists())
{
mSystemFile.load(path);
mSystem = true;
break;
}
}
QString path = QString("%1/%2").arg(XdgDirs::autostartHome(), name);
if (QFile(path).exists())
{
mLocalFile.load(path);
mLocalState = StateExists;
}
}
void AutostartEntry::setFile(const XdgDesktopFile& file)
{
bool local = isLocal();
if (mSystem && local && file == mSystemFile)
{
removeLocal();
}
else
{
if (local)
mLocalState = StateModified;
else
mLocalState = StateTransient;
mLocalFile = file;
}
}
bool AutostartEntry::removeLocal()
{
if (!isLocal())
return false;
if (mLocalState == StateTransient)
mLocalState = StateNone;
else
mLocalState = StateDeleted;
return !mSystem;
}
const XdgDesktopFile& AutostartEntry::file() const
{
return isLocal() ? mLocalFile : mSystemFile;
}
QString AutostartEntry::name() const
{
return QFileInfo(file().fileName()).fileName();
}
void AutostartEntry::setEnabled(bool enable)
{
XdgDesktopFile f = file();
if (enable)
f.removeEntry("Hidden");
else
f.setValue("Hidden", true);
setFile(f);
}
bool AutostartEntry::isEnabled() const
{
return !isEmpty() && !file().value("Hidden", false).toBool();
}
bool AutostartEntry::commit()
{
if (mLocalState == StateDeleted)
{
mLocalState = StateNone;
return QFile::remove(mLocalFile.fileName());
}
else if (mLocalState == StateModified || mLocalState == StateTransient)
{
mLocalState = StateExists;
return mLocalFile.save(XdgAutoStart::localPath(mLocalFile));
}
return true;
}

View File

@ -1,114 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright (C) 2012 Alec Moskvin <alecm@gmx.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef LXQTAUTOSTARTENTRY_H
#define LXQTAUTOSTARTENTRY_H
#include "lxqtglobals.h"
#include <XdgDesktopFile>
namespace LXQt
{
/*! \brief The AutostartEntry class provides an interface for staging configuration of individual
autostart items. All changes are made in memory until commit() is called.
- "system" file refers to a read-only file in /etc/xdg/autostart (or a directory in $XDG_CONFIG_DIRS)
- "local" file refers to the file in user's ~/.config/autostart (or in $XDG_CONFIG_HOME/autostart)
When a "local" file has the same name as the "system" file, the local one overrides it. This class
tries to ensure that the "local" file is deleted if it's identical to the "system" file.
*/
class LXQT_API AutostartEntry
{
public:
/*! Constructs an AutostartEntry object for a specific entry.
* \param name The name of the autostart desktop file (e.g. "lxqt-panel.desktop")
*/
AutostartEntry(const QString& name);
//! \brief Default constructor
AutostartEntry();
//! Destructor
virtual ~AutostartEntry() { }
//! Returns the "active" desktop file
const XdgDesktopFile& file() const;
//! Returns the name of the autostart entry (e.g. "lxqt-panel.desktop")
QString name() const;
/*! Sets to the specified desktop file. Use this to make modifications.
* \param file The desktop file
*/
void setFile(const XdgDesktopFile& file);
/*! Sets whether the item auto-starts
* \param enable When false, sets the "Hidden" key which will prevent the item from starting
*/
void setEnabled(bool enable);
//! Returns true if the item will auto-start
bool isEnabled() const;
/*! Returns true if the entry does not exist, and the object carries no useful information
* and can be ignored/deleted.
*/
bool isEmpty() const { return !mSystem && mLocalState == StateNone; }
/*! Write any changes to disk
* \return true on success
*/
bool commit();
protected:
//! Returns true if the user's "local" version exists
bool isLocal() const { return mLocalState != StateNone && mLocalState != StateDeleted; }
/*! Removes the user's "local" version of the file, reverting to system defaults
* \return true if there is no "system" version left (i.e. the entry was entirely deleted)
*/
bool removeLocal();
//! \brief a read-only file in /etc/xdg/autostart (or a directory in $XDG_CONFIG_DIRS)
XdgDesktopFile mSystemFile;
//! \brief the file in user's ~/.config/autostart (or in $XDG_CONFIG_HOME/autostart)
XdgDesktopFile mLocalFile;
//! State of the "local" file
enum ItemState
{
StateNone, //! does not exist at all
StateDeleted, //! needs to be deleted from disk
StateTransient, //! does not yet exist on disk
StateModified, //! exists on disk and is modified
StateExists //! exists on disk and unmodified
} mLocalState;
bool mSystem; //! true if the "system" file exists
};
} // namespace LXQt
#endif // LXQTAUTOSTARTENTRY_H

View File

@ -1,39 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2013 - LXQt team
* Authors:
* Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef _LXQT_GLOBALS_H_
#define _LXQT_GLOBALS_H_
#include <QtGlobal>
#ifdef COMPILE_LIBLXQT
#define LXQT_API Q_DECL_EXPORT
#else
#define LXQT_API Q_DECL_IMPORT
#endif
#endif // _LXQT_GLOBALS_H_

View File

@ -1,666 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2012 Razor team
* Authors:
* Alexander Sokoloff <sokoloff.a@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#include "lxqtgridlayout.h"
#include <QDebug>
#include <math.h>
#include <QWidget>
#include <QVariantAnimation>
using namespace LXQt;
namespace
{
class ItemMoveAnimation : public QVariantAnimation
{
public:
static void animate(QLayoutItem * item, QRect const & geometry)
{
ItemMoveAnimation* animation = new ItemMoveAnimation(item);
animation->setStartValue(item->geometry());
animation->setEndValue(geometry);
animation->start(DeleteWhenStopped);
}
ItemMoveAnimation(QLayoutItem *item)
: mItem(item)
{
setDuration(150);
}
void updateCurrentValue(const QVariant &current)
{
mItem->setGeometry(current.toRect());
}
private:
QLayoutItem* mItem;
};
}
class LXQt::GridLayoutPrivate
{
public:
GridLayoutPrivate();
QList<QLayoutItem*> mItems;
int mRowCount;
int mColumnCount;
GridLayout::Direction mDirection;
bool mIsValid;
QSize mCellSizeHint;
QSize mCellMaxSize;
int mVisibleCount;
GridLayout::Stretch mStretch;
bool mAnimate;
void updateCache();
int rows() const;
int cols() const;
void setItemGeometry(QLayoutItem * item, QRect const & geometry);
QSize mPrefCellMinSize;
QSize mPrefCellMaxSize;
QRect mOccupiedGeometry;
};
/************************************************
************************************************/
GridLayoutPrivate::GridLayoutPrivate()
{
mColumnCount = 0;
mRowCount = 0;
mDirection = GridLayout::LeftToRight;
mIsValid = false;
mVisibleCount = 0;
mStretch = GridLayout::StretchHorizontal | GridLayout::StretchVertical;
mAnimate = false;
mPrefCellMinSize = QSize(0,0);
mPrefCellMaxSize = QSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);
}
/************************************************
************************************************/
void GridLayoutPrivate::updateCache()
{
mCellSizeHint = QSize(0, 0);
mCellMaxSize = QSize(0, 0);
mVisibleCount = 0;
for (int i=0; i<mItems.count(); ++i)
{
QLayoutItem *item = mItems.at(i);
if (!item->widget() || item->widget()->isHidden())
continue;
int h = qBound(item->minimumSize().height(),
item->sizeHint().height(),
item->maximumSize().height());
int w = qBound(item->minimumSize().width(),
item->sizeHint().width(),
item->maximumSize().width());
mCellSizeHint.rheight() = qMax(mCellSizeHint.height(), h);
mCellSizeHint.rwidth() = qMax(mCellSizeHint.width(), w);
mCellMaxSize.rheight() = qMax(mCellMaxSize.height(), item->maximumSize().height());
mCellMaxSize.rwidth() = qMax(mCellMaxSize.width(), item->maximumSize().width());
mVisibleCount++;
#if 0
qDebug() << "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";
qDebug() << "item.min" << item->minimumSize().width();
qDebug() << "item.sz " << item->sizeHint().width();
qDebug() << "item.max" << item->maximumSize().width();
qDebug() << "w h" << w << h;
qDebug() << "wid.sizeHint" << item->widget()->sizeHint();
qDebug() << "mCellSizeHint:" << mCellSizeHint;
qDebug() << "mCellMaxSize: " << mCellMaxSize;
qDebug() << "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";
#endif
}
mCellSizeHint.rwidth() = qBound(mPrefCellMinSize.width(), mCellSizeHint.width(), mPrefCellMaxSize.width());
mCellSizeHint.rheight()= qBound(mPrefCellMinSize.height(), mCellSizeHint.height(), mPrefCellMaxSize.height());
mIsValid = !mCellSizeHint.isEmpty();
}
/************************************************
************************************************/
int GridLayoutPrivate::rows() const
{
if (mRowCount)
return mRowCount;
if (!mColumnCount)
return 1;
return ceil(mVisibleCount * 1.0 / mColumnCount);
}
/************************************************
************************************************/
int GridLayoutPrivate::cols() const
{
if (mColumnCount)
return mColumnCount;
int rows = mRowCount;
if (!rows)
rows = 1;
return ceil(mVisibleCount * 1.0 / rows);
}
void GridLayoutPrivate::setItemGeometry(QLayoutItem * item, QRect const & geometry)
{
mOccupiedGeometry |= geometry;
if (mAnimate)
{
ItemMoveAnimation::animate(item, geometry);
} else
{
item->setGeometry(geometry);
}
}
/************************************************
************************************************/
GridLayout::GridLayout(QWidget *parent):
QLayout(parent),
d_ptr(new GridLayoutPrivate())
{
}
/************************************************
************************************************/
GridLayout::~GridLayout()
{
delete d_ptr;
}
/************************************************
************************************************/
void GridLayout::addItem(QLayoutItem *item)
{
d_ptr->mItems.append(item);
}
/************************************************
************************************************/
QLayoutItem *GridLayout::itemAt(int index) const
{
Q_D(const GridLayout);
if (index < 0 || index >= d->mItems.count())
return 0;
return d->mItems.at(index);
}
/************************************************
************************************************/
QLayoutItem *GridLayout::takeAt(int index)
{
Q_D(GridLayout);
if (index < 0 || index >= d->mItems.count())
return 0;
QLayoutItem *item = d->mItems.takeAt(index);
return item;
}
/************************************************
************************************************/
int GridLayout::count() const
{
Q_D(const GridLayout);
return d->mItems.count();
}
/************************************************
************************************************/
void GridLayout::invalidate()
{
Q_D(GridLayout);
d->mIsValid = false;
QLayout::invalidate();
}
/************************************************
************************************************/
int GridLayout::rowCount() const
{
Q_D(const GridLayout);
return d->mRowCount;
}
/************************************************
************************************************/
void GridLayout::setRowCount(int value)
{
Q_D(GridLayout);
if (d->mRowCount != value)
{
d->mRowCount = value;
invalidate();
}
}
/************************************************
************************************************/
int GridLayout::columnCount() const
{
Q_D(const GridLayout);
return d->mColumnCount;
}
/************************************************
************************************************/
void GridLayout::setColumnCount(int value)
{
Q_D(GridLayout);
if (d->mColumnCount != value)
{
d->mColumnCount = value;
invalidate();
}
}
/************************************************
************************************************/
GridLayout::Direction GridLayout::direction() const
{
Q_D(const GridLayout);
return d->mDirection;
}
/************************************************
************************************************/
void GridLayout::setDirection(GridLayout::Direction value)
{
Q_D(GridLayout);
if (d->mDirection != value)
{
d->mDirection = value;
invalidate();
}
}
/************************************************
************************************************/
GridLayout::Stretch GridLayout::stretch() const
{
Q_D(const GridLayout);
return d->mStretch;
}
/************************************************
************************************************/
void GridLayout::setStretch(Stretch value)
{
Q_D(GridLayout);
if (d->mStretch != value)
{
d->mStretch = value;
invalidate();
}
}
/************************************************
************************************************/
void GridLayout::moveItem(int from, int to, bool withAnimation /*= false*/)
{
Q_D(GridLayout);
d->mAnimate = withAnimation;
d->mItems.move(from, to);
invalidate();
}
/************************************************
************************************************/
QSize GridLayout::cellMinimumSize() const
{
Q_D(const GridLayout);
return d->mPrefCellMinSize;
}
/************************************************
************************************************/
void GridLayout::setCellMinimumSize(QSize minSize)
{
Q_D(GridLayout);
if (d->mPrefCellMinSize != minSize)
{
d->mPrefCellMinSize = minSize;
invalidate();
}
}
/************************************************
************************************************/
void GridLayout::setCellMinimumHeight(int value)
{
Q_D(GridLayout);
if (d->mPrefCellMinSize.height() != value)
{
d->mPrefCellMinSize.setHeight(value);
invalidate();
}
}
/************************************************
************************************************/
void GridLayout::setCellMinimumWidth(int value)
{
Q_D(GridLayout);
if (d->mPrefCellMinSize.width() != value)
{
d->mPrefCellMinSize.setWidth(value);
invalidate();
}
}
/************************************************
************************************************/
QSize GridLayout::cellMaximumSize() const
{
Q_D(const GridLayout);
return d->mPrefCellMaxSize;
}
/************************************************
************************************************/
void GridLayout::setCellMaximumSize(QSize maxSize)
{
Q_D(GridLayout);
if (d->mPrefCellMaxSize != maxSize)
{
d->mPrefCellMaxSize = maxSize;
invalidate();
}
}
/************************************************
************************************************/
void GridLayout::setCellMaximumHeight(int value)
{
Q_D(GridLayout);
if (d->mPrefCellMaxSize.height() != value)
{
d->mPrefCellMaxSize.setHeight(value);
invalidate();
}
}
/************************************************
************************************************/
void GridLayout::setCellMaximumWidth(int value)
{
Q_D(GridLayout);
if (d->mPrefCellMaxSize.width() != value)
{
d->mPrefCellMaxSize.setWidth(value);
invalidate();
}
}
/************************************************
************************************************/
void GridLayout::setCellFixedSize(QSize size)
{
Q_D(GridLayout);
if (d->mPrefCellMinSize != size ||
d->mPrefCellMaxSize != size)
{
d->mPrefCellMinSize = size;
d->mPrefCellMaxSize = size;
invalidate();
}
}
/************************************************
************************************************/
void GridLayout::setCellFixedHeight(int value)
{
Q_D(GridLayout);
if (d->mPrefCellMinSize.height() != value ||
d->mPrefCellMaxSize.height() != value)
{
d->mPrefCellMinSize.setHeight(value);
d->mPrefCellMaxSize.setHeight(value);
invalidate();
}
}
/************************************************
************************************************/
void GridLayout::setCellFixedWidth(int value)
{
Q_D(GridLayout);
if (d->mPrefCellMinSize.width() != value ||
d->mPrefCellMaxSize.width() != value)
{
d->mPrefCellMinSize.setWidth(value);
d->mPrefCellMaxSize.setWidth(value);
invalidate();
}
}
/************************************************
************************************************/
QSize GridLayout::sizeHint() const
{
Q_D(const GridLayout);
if (!d->mIsValid)
const_cast<GridLayoutPrivate*>(d)->updateCache();
return QSize(d->cols() * d->mCellSizeHint.width(),
d->rows() * d->mCellSizeHint.height());
}
/************************************************
************************************************/
void GridLayout::setGeometry(const QRect &geometry)
{
Q_D(GridLayout);
QLayout::setGeometry(geometry);
d->mOccupiedGeometry.setTopLeft(geometry.topLeft());
d->mOccupiedGeometry.setBottomRight(geometry.topLeft());
if (!d->mIsValid)
d->updateCache();
int y = geometry.top();
int x = geometry.left();
// For historical reasons QRect::right returns left() + width() - 1
// and QRect::bottom() returns top() + height() - 1;
// So we use left() + height() and top() + height()
//
// http://qt-project.org/doc/qt-4.8/qrect.html
const int maxX = geometry.left() + geometry.width();
const int maxY = geometry.top() + geometry.height();
const bool stretch_h = d->mStretch.testFlag(StretchHorizontal);
const bool stretch_v = d->mStretch.testFlag(StretchVertical);
const int cols = d->cols();
int itemWidth = 0;
if (stretch_h && 0 < cols)
itemWidth = qMin(geometry.width() / cols, d->mCellMaxSize.width());
else
itemWidth = d->mCellSizeHint.width();
itemWidth = qBound(qMin(d->mPrefCellMinSize.width(), maxX), itemWidth, d->mPrefCellMaxSize.width());
const int widthRemain = stretch_h && 0 < itemWidth ? geometry.width() % itemWidth : 0;
const int rows = d->rows();
int itemHeight = 0;
if (stretch_v && 0 < rows)
itemHeight = qMin(geometry.height() / rows, d->mCellMaxSize.height());
else
itemHeight = d->mCellSizeHint.height();
itemHeight = qBound(qMin(d->mPrefCellMinSize.height(), maxY), itemHeight, d->mPrefCellMaxSize.height());
const int heightRemain = stretch_v && 0 < itemHeight ? geometry.height() % itemHeight : 0;
#if 0
qDebug() << "** GridLayout::setGeometry *******************************";
qDebug() << "Geometry:" << geometry;
qDebug() << "CellSize:" << d->mCellSizeHint;
qDebug() << "Constraints:" << "min" << d->mPrefCellMinSize << "max" << d->mPrefCellMaxSize;
qDebug() << "Count" << count();
qDebug() << "Cols:" << d->cols() << "(" << d->mColumnCount << ")";
qDebug() << "Rows:" << d->rows() << "(" << d->mRowCount << ")";
qDebug() << "Stretch:" << "h:" << (d->mStretch.testFlag(StretchHorizontal)) << " v:" << (d->mStretch.testFlag(StretchVertical));
qDebug() << "Item:" << "h:" << itemHeight << " w:" << itemWidth;
#endif
int remain_height = heightRemain;
int remain_width = widthRemain;
if (d->mDirection == LeftToRight)
{
int height = itemHeight + (0 < remain_height-- ? 1 : 0);
foreach(QLayoutItem *item, d->mItems)
{
if (!item->widget() || item->widget()->isHidden())
continue;
int width = itemWidth + (0 < remain_width-- ? 1 : 0);
if (x + width > maxX)
{
x = geometry.left();
y += height;
height = itemHeight + (0 < remain_height-- ? 1 : 0);
remain_width = widthRemain;
}
d->setItemGeometry(item, QRect(x, y, width, height));
x += width;
}
}
else
{
int width = itemWidth + (0 < remain_width-- ? 1 : 0);
foreach(QLayoutItem *item, d->mItems)
{
if (!item->widget() || item->widget()->isHidden())
continue;
int height = itemHeight + (0 < remain_height-- ? 1 : 0);
if (y + height > maxY)
{
y = geometry.top();
x += width;
width = itemWidth + (0 < remain_width-- ? 1 : 0);
remain_height = heightRemain;
}
d->setItemGeometry(item, QRect(x, y, width, height));
y += height;
}
}
d->mAnimate = false;
}
/************************************************
************************************************/
QRect GridLayout::occupiedGeometry() const
{
return d_func()->mOccupiedGeometry;
}

View File

@ -1,239 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2012 Razor team
* Authors:
* Alexander Sokoloff <sokoloff.a@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef LXQTGRIDLAYOUT_H
#define LXQTGRIDLAYOUT_H
#include <QList>
#include "lxqtglobals.h"
#include <QLayout>
namespace LXQt
{
class GridLayoutPrivate;
/**
The GridLayout class lays out widgets in a grid.
**/
class LXQT_API GridLayout: public QLayout
{
Q_OBJECT
public:
/**
This enum type is used to describe direction for this grid.
**/
enum Direction
{
LeftToRight, ///< The items are first laid out horizontally and then vertically.
TopToBottom ///< The items are first laid out vertically and then horizontally.
};
/**
This enum type is used to describe stretch. It contains one horizontal
and one vertical flags that can be combined to produce the required effect.
*/
enum StretchFlag
{
NoStretch = 0, ///< No justifies items
StretchHorizontal = 1, ///< Justifies items in the available horizontal space
StretchVertical = 2 ///< Justifies items in the available vertical space
};
Q_DECLARE_FLAGS(Stretch, StretchFlag)
/**
Constructs a new GridLayout with parent widget, parent.
The layout has one row and zero column initially, and will
expand to left when new items are inserted.
**/
explicit GridLayout(QWidget *parent = 0);
/**
Destroys the grid layout. The layout's widgets aren't destroyed.
**/
~GridLayout();
void addItem(QLayoutItem *item);
QLayoutItem *itemAt(int index) const;
QLayoutItem *takeAt(int index);
int count() const;
void invalidate();
QSize sizeHint() const;
void setGeometry(const QRect &geometry);
QRect occupiedGeometry() const;
/**
Returns the number of rows in this grid.
**/
int rowCount() const;
/**
Sets the number of rows in this grid. If value is 0, then rows
count will calculated automatically when new items are inserted.
In the most cases you should to set fixed number for one thing,
or for rows, or for columns.
\sa GridLayout::setColumnCount
**/
void setRowCount(int value);
/**
Returns the number of columns in this grid.
**/
int columnCount() const;
/**
Sets the number of columns in this grid. If value is 0, then columns
count will calculated automatically when new items are inserted.
In the most cases you should to set fixed number for one thing,
or for rows, or for columns.
\sa GridLayout::setRowCount
**/
void setColumnCount(int value);
/**
Returns the alignment of this grid.
\sa GridLayout::Direction
**/
Direction direction() const;
/**
Sets the direction for this grid.
\sa GridLayout::Direction
**/
void setDirection(Direction value);
/**
Returns the stretch flags of this grid.
\sa GridLayout::StretchFlag
**/
Stretch stretch() const;
/**
Sets the stretch flags for this grid.
\sa GridLayout::StretchFlag
**/
void setStretch(Stretch value);
/**
Moves the item at index position \param from to index position \param to.
If \param withAnimation set the reordering will be animated
**/
void moveItem(int from, int to, bool withAnimation = false);
/**
Returns the cells' minimum size.
By default, this property contains a size with zero width and height.
**/
QSize cellMinimumSize() const;
/**
Sets the minimum size of all cells to minSize pixels.
**/
void setCellMinimumSize(QSize minSize);
/**
Sets the minimum height of the cells to value without
changing the width. Provided for convenience.
**/
void setCellMinimumHeight(int value);
/**
Sets the minimum width of the cells to value without
changing the heights. Provided for convenience.
**/
void setCellMinimumWidth(int value);
/**
Returns the cells' maximum size.
By default, this property contains a size with zero width and height.
**/
QSize cellMaximumSize() const;
/**
Sets the maximum size of all cells to maxSize pixels.
**/
void setCellMaximumSize(QSize maxSize);
/**
Sets the maximum height of the cells to value without
changing the width. Provided for convenience.
**/
void setCellMaximumHeight(int value);
/**
Sets the maximum width of the cells to value without
changing the heights. Provided for convenience.
**/
void setCellMaximumWidth(int value);
/**
Sets both the minimum and maximum sizes of the cells to size,
thereby preventing it from ever growing or shrinking.
**/
void setCellFixedSize(QSize size);
/**
Sets both the minimum and maximum height of the cells to value without
changing the width. Provided for convenience.
**/
void setCellFixedHeight(int value);
/**
Sets both the minimum and maximum width of the cells to value without
changing the heights. Provided for convenience.
**/
void setCellFixedWidth(int value);
private:
GridLayoutPrivate* const d_ptr;
Q_DECLARE_PRIVATE(GridLayout)
};
Q_DECLARE_OPERATORS_FOR_FLAGS(GridLayout::Stretch)
} // namespace LXQt
#endif // LXQTGRIDLAYOUT_H

View File

@ -1,114 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://lxqt.org
*
* Copyright: 2010-2011 Razor team
* Authors:
* Alexander Sokoloff <sokoloff.a@gmail.com>
* Paulo Lieuthier <paulolieuthier@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#include "lxqthtmldelegate.h"
#include <QAbstractTextDocumentLayout>
#include <QTextDocument>
using namespace LXQt;
HtmlDelegate::HtmlDelegate(const QSize iconSize, QObject* parent) :
QStyledItemDelegate(parent),
mIconSize(iconSize)
{
}
HtmlDelegate::~HtmlDelegate()
{
}
/************************************************
************************************************/
void HtmlDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const
{
if (!index.isValid())
return;
QStyleOptionViewItemV4 options = option;
initStyleOption(&options, index);
painter->save();
QTextDocument doc;
doc.setHtml(options.text);
QIcon icon = options.icon;
options.text = "";
options.icon = QIcon();
// icon size
QSize iconSize = icon.actualSize(mIconSize);
QRect iconRect = QRect(8, 8, iconSize.width(), iconSize.height());
// set doc size
doc.setTextWidth(options.rect.width() - iconRect.right() - 8);
options.widget->style()->drawControl(QStyle::CE_ItemViewItem, &options, painter);
// paint icon
painter->translate(options.rect.left(), options.rect.top());
icon.paint(painter, iconRect);
// shift text right to make icon visible
painter->translate(iconRect.right() + 8, 0);
QRect clip(0, 0, options.rect.width() - iconRect.right() - 8, options.rect.height());
painter->setClipRect(clip);
// set text color to red for selected item
QAbstractTextDocumentLayout::PaintContext ctx;
if (option.state & QStyle::State_Selected)
{
QPalette::ColorGroup colorGroup = (option.state & QStyle::State_Active) ? QPalette::Active : QPalette::Inactive;
ctx.palette.setColor(QPalette::Text, option.palette.color(colorGroup, QPalette::HighlightedText));
}
ctx.clip = clip;
doc.documentLayout()->draw(painter, ctx);
painter->restore();
}
/************************************************
************************************************/
QSize HtmlDelegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const
{
QStyleOptionViewItemV4 options = option;
initStyleOption(&options, index);
QSize iconSize = options.icon.actualSize(mIconSize);
QRect iconRect = QRect(8, 8, iconSize.width(), iconSize.height());
QTextDocument doc;
doc.setHtml(options.text);
doc.setTextWidth(options.rect.width() - iconRect.right() - 8);
return QSize(options.rect.width(), doc.size().height() + 8);
}

View File

@ -1,57 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://lxqt.org
*
* Copyright: 2010-2011 Razor team
* Authors:
* Alexander Sokoloff <sokoloff.a@gmail.com>
* Paulo Lieuthier <paulolieuthier@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef LXQTHTMLDELEGATE_H
#define LXQTHTMLDELEGATE_H
#include <QStyledItemDelegate>
#include <QPainter>
#include "lxqtglobals.h"
namespace LXQt
{
class LXQT_API HtmlDelegate : public QStyledItemDelegate
{
Q_OBJECT
public:
explicit HtmlDelegate(const QSize iconSize, QObject* parent = 0);
virtual ~HtmlDelegate();
virtual void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const;
virtual QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const;
private:
QSize mIconSize;
};
}
#endif

View File

@ -1,210 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright (C) 2012 Alec Moskvin <alecm@gmx.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#include "lxqtnotification.h"
#include "lxqtnotification_p.h"
#include <QMessageBox>
#include <QDebug>
using namespace LXQt;
Notification::Notification(const QString& summary, QObject* parent) :
QObject(parent),
d_ptr(new NotificationPrivate(summary, this))
{
}
Notification::~Notification()
{
Q_D(Notification);
delete d;
}
void Notification::update()
{
Q_D(Notification);
d->update();
}
void Notification::close()
{
Q_D(Notification);
d->close();
}
void Notification::setSummary(const QString& summary)
{
Q_D(Notification);
d->mSummary = summary;
}
void Notification::setBody(const QString& body)
{
Q_D(Notification);
d->mBody = body;
}
void Notification::setIcon(const QString& iconName)
{
Q_D(Notification);
d->mIconName = iconName;
}
void Notification::setActions(const QStringList& actions, int defaultAction)
{
Q_D(Notification);
d->setActions(actions, defaultAction);
}
void Notification::setTimeout(int timeout)
{
Q_D(Notification);
d->mTimeout = timeout;
}
void Notification::setHint(const QString& hintName, const QVariant& value)
{
Q_D(Notification);
d->mHints.insert(hintName, value);
}
void Notification::setUrgencyHint(Urgency urgency)
{
Q_D(Notification);
d->mHints.insert("urgency", qvariant_cast<uchar>(urgency));
}
void Notification::clearHints()
{
Q_D(Notification);
d->mHints.clear();
}
QStringList Notification::getCapabilities()
{
Q_D(Notification);
return d->mInterface->GetCapabilities().value();
}
const Notification::ServerInfo Notification::serverInfo()
{
Q_D(Notification);
return d->serverInfo();
}
void Notification::notify(const QString& summary, const QString& body, const QString& iconName)
{
Notification notification(summary);
notification.setBody(body);
notification.setIcon(iconName);
notification.update();
}
NotificationPrivate::NotificationPrivate(const QString& summary, Notification* parent) :
mId(0),
mSummary(summary),
mTimeout(-1),
q_ptr(parent)
{
mInterface = new OrgFreedesktopNotificationsInterface("org.freedesktop.Notifications",
"/org/freedesktop/Notifications",
QDBusConnection::sessionBus(), this);
connect(mInterface, SIGNAL(NotificationClosed(uint, uint)), this, SLOT(notificationClosed(uint,uint)));
connect(mInterface, SIGNAL(ActionInvoked(uint,QString)), this, SLOT(handleAction(uint,QString)));
}
NotificationPrivate::~NotificationPrivate()
{
}
void NotificationPrivate::update()
{
QDBusPendingReply<uint> reply = mInterface->Notify(qAppName(), mId, mIconName, mSummary, mBody, mActions, mHints, mTimeout);
reply.waitForFinished();
if (!reply.isError())
{
mId = reply.value();
}
else
{
if (mHints.contains("urgency") && mHints.value("urgency").toInt() != Notification::UrgencyLow)
QMessageBox::information(0, tr("Notifications Fallback"), mSummary + " \n\n " + mBody);
}
}
void NotificationPrivate::setActions(QStringList actions, int defaultAction)
{
mActions.clear();
mDefaultAction = defaultAction;
for (int ix = 0; ix < actions.size(); ix++)
{
if (ix == defaultAction)
mActions.append("default");
else
mActions.append(QString::number(ix));
mActions.append(actions[ix]);
}
}
const Notification::ServerInfo NotificationPrivate::serverInfo()
{
Notification::ServerInfo info;
info.name = mInterface->GetServerInformation(info.vendor, info.version, info.specVersion);
return info;
}
void NotificationPrivate::handleAction(uint id, QString key)
{
if (id != mId)
return;
Q_Q(Notification);
qDebug() << "action invoked:" << key;
bool ok = true;
int keyId;
if (key == "default")
keyId = mDefaultAction;
else
keyId = key.toInt(&ok);
if (ok && key >= 0)
emit q->actionActivated(keyId);
}
void NotificationPrivate::close()
{
mInterface->CloseNotification(mId);
mId = 0;
}
void NotificationPrivate::notificationClosed(uint id, uint reason)
{
Q_Q(Notification);
if (id != 0 && id == mId)
{
mId = 0;
}
emit q->notificationClosed(Notification::CloseReason(reason));
}

View File

@ -1,193 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright (C) 2012 Alec Moskvin <alecm@gmx.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef LXQTNOTIFICATION_H
#define LXQTNOTIFICATION_H
#include <QObject>
#include <QStringList>
#include "lxqtglobals.h"
namespace LXQt
{
class NotificationPrivate;
/**
* \brief Libnotify-style desktop notifications
*
* Spec: http://developer.gnome.org/notification-spec
*/
class LXQT_API Notification : public QObject
{
Q_OBJECT
public:
/*!
* \brief Notification is an object that represents a single notification.
* \param summary Summary text briefly describing the notification (required by the spec)
*/
Notification(const QString& summary = QString(), QObject* parent = 0);
~Notification();
enum CloseReason
{
//! The notification expired.
Expired = 1,
//! The notification was dismissed by the user.
Dismissed = 2,
//! The notification was closed by a call to close().
ForceClosed = 3,
//! Undefined/reserved reasons.
Unknown = 4
};
enum Urgency
{
UrgencyLow = 0,
UrgencyNormal = 1,
UrgencyCritical = 2
};
struct ServerInfo
{
//! The product name of the server.
QString name;
//! The vendor name. For example, "lxde-qt.org"
QString vendor;
//! The server's version number.
QString version;
//! The specification version the server is compliant with.
QString specVersion;
};
/*!
* \brief Set the summary text briefly describing the notification
*/
void setSummary(const QString& summary);
/*!
* \brief Set the detailed body text
*/
void setBody(const QString& body);
/*!
* \brief Set an icon to display
* \param iconName Name of the icon
*/
void setIcon(const QString& iconName);
/*!
* \brief Set action buttons for the notification. Whenever an action is
* activated, the actionActivated() signal is emitted with the list
* index of the activated action.
* \param actions List of action button titles
* \param defaultAction Index of the default action which gets activated
* when the notification body is clicked
* \sa actionActivated()
*/
void setActions(const QStringList& actions, int defaultAction = -1);
/*!
* \brief Set the timeout for the notification
* \param timeout Milliseconds for timeout, or zero to never time out.
*/
void setTimeout(int timeout);
/*!
* \brief Set notification hint.
* \note For description of Hints, see http://developer.gnome.org/notification-spec/#hints
* \note For D-Bus-to-Qt mappings, see https://qt-project.org/doc/qdbustypesystem.html
* \param hint Hint name
* \param value The hint data
*/
void setHint(const QString& hint, const QVariant& value);
/*!
* \brief Set the "urgency" hint
* \param urgency
*/
void setUrgencyHint(Urgency urgency);
/*!
* \brief Remove all hints that were set
* \sa setHint()
*/
void clearHints();
/*!
* \brief returns a list of optional capabilities supported by the server.
* For the list, see http://developer.gnome.org/notification-spec/#commands
*/
QStringList getCapabilities();
/*!
* \brief Returns information about the notifications server
*/
const ServerInfo serverInfo();
/*!
* \brief Convenience function to create and display a notification for the most common
* cases. For anything more complex, create a Notification object, set the
* desired properties and call update(). (That's what this does internally.)
* \sa Notification()
*/
static void notify(const QString& summary,
const QString& body = QString(),
const QString& iconName = QString()
);
public slots:
/*!
* \brief Display the notification or update it if it's already visible
*/
void update();
/*!
* \brief Causes a notification to be forcefully closed and removed from the user's view.
* It can be used, for example, in the event that what the notification pertains to
* is no longer relevant, or to cancel a notification with no expiration time.
*/
void close();
signals:
/*!
* \brief Emitted when the notification is closed
* \param reason How notification was closed
*/
void notificationClosed(LXQt::Notification::CloseReason reason);
/*!
* \brief Emitted when an action button is activated.
* \param actionNumber Index of the actions array for the activated button.
* \sa setActions()
*/
void actionActivated(int actionNumber);
private:
Q_DECLARE_PRIVATE(Notification)
NotificationPrivate* const d_ptr;
};
} // namespace LXQt
#endif // LXQTNOTIFICATION_H

View File

@ -1,67 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright (C) 2012 Alec Moskvin <alecm@gmx.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef LXQTNOTIFICATION_P_H
#define LXQTNOTIFICATION_P_H
#include "lxqtnotification.h"
#include "notifications_interface.h"
namespace LXQt
{
class NotificationPrivate : public QObject
{
Q_OBJECT
public:
NotificationPrivate(const QString& summary, Notification* parent);
~NotificationPrivate();
void update();
void close();
void setActions(QStringList actions, int defaultAction);
const Notification::ServerInfo serverInfo();
public slots:
void handleAction(uint id, QString key);
void notificationClosed(uint, uint);
private:
OrgFreedesktopNotificationsInterface* mInterface;
uint mId;
QString mSummary;
QString mBody;
QString mIconName;
QStringList mActions;
QVariantMap mHints;
int mDefaultAction;
int mTimeout;
Notification* const q_ptr;
Q_DECLARE_PUBLIC(Notification)
};
} // namespace LXQt
#endif // LXQTNOTIFICATION_P_H

View File

@ -1,180 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2010-2011 Razor team
* Authors:
* Alexander Sokoloff <sokoloff.a@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#include "lxqtplugininfo.h"
#include <QObject>
#include <QFileInfo>
#include <QDir>
#include <QTranslator>
#include <QCoreApplication>
#include <QLibrary>
#include <QDebug>
using namespace LXQt;
/************************************************
************************************************/
PluginInfo::PluginInfo():
XdgDesktopFile()
{
}
/************************************************
************************************************/
bool PluginInfo::load(const QString& fileName)
{
XdgDesktopFile::load(fileName);
mId = QFileInfo(fileName).completeBaseName();
return isValid();
}
/************************************************
************************************************/
bool PluginInfo::isValid() const
{
return XdgDesktopFile::isValid();
}
/************************************************
************************************************/
QLibrary* PluginInfo::loadLibrary(const QString& libDir) const
{
QString baseName, path;
QFileInfo fi = QFileInfo(fileName());
path = fi.canonicalPath();
baseName = value("X-LXQt-Library", fi.completeBaseName()).toString();
QString soPath = QDir(libDir).filePath(QString("lib%2.so").arg(baseName));
QLibrary* library = new QLibrary(soPath);
if (!library->load())
{
qWarning() << QString("Can't load plugin lib \"%1\"").arg(soPath) << library->errorString();
delete library;
return 0;
}
QString locale = QLocale::system().name();
QTranslator* translator = new QTranslator(library);
translator->load(QString("%1/%2/%2_%3.qm").arg(path, baseName, locale));
qApp->installTranslator(translator);
return library;
}
/************************************************
************************************************/
PluginInfoList PluginInfo::search(const QStringList& desktopFilesDirs, const QString& serviceType, const QString& nameFilter)
{
QList<PluginInfo> res;
QSet<QString> processed;
foreach (QString desktopFilesDir, desktopFilesDirs)
{
QDir dir(desktopFilesDir);
QFileInfoList files = dir.entryInfoList(QStringList(nameFilter), QDir::Files | QDir::Readable);
foreach (QFileInfo file, files)
{
if (processed.contains(file.fileName()))
continue;
processed << file.fileName();
PluginInfo item;
item.load(file.canonicalFilePath());
if (item.isValid() && item.serviceType() == serviceType)
res.append(item);
}
}
return res;
}
/************************************************
************************************************/
PluginInfoList PluginInfo::search(const QString& desktopFilesDir, const QString& serviceType, const QString& nameFilter)
{
return search(QStringList(desktopFilesDir), serviceType, nameFilter);
}
/************************************************
************************************************/
QDebug operator<<(QDebug dbg, const LXQt::PluginInfo &pluginInfo)
{
dbg.nospace() << QString("%1").arg(pluginInfo.id());
return dbg.space();
}
/************************************************
************************************************/
QDebug operator<<(QDebug dbg, const LXQt::PluginInfo * const pluginInfo)
{
return operator<<(dbg, *pluginInfo);
}
/************************************************
************************************************/
QDebug operator<<(QDebug dbg, const PluginInfoList& list)
{
dbg.nospace() << '(';
for (int i=0; i<list.size(); ++i)
{
if (i) dbg.nospace() << ", ";
dbg << list.at(i);
}
dbg << ')';
return dbg.space();
}
/************************************************
************************************************/
QDebug operator<<(QDebug dbg, const PluginInfoList* const pluginInfoList)
{
return operator<<(dbg, *pluginInfoList);
}

View File

@ -1,116 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2010-2011 Razor team
* Authors:
* Alexander Sokoloff <sokoloff.a@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef LXQTPLUGININFO_H
#define LXQTPLUGININFO_H
#include <QString>
#include <QList>
#include <QFileInfo>
#include <QtAlgorithms>
#include <QDebug>
#include "lxqtglobals.h"
#include <XdgDesktopFile>
class QLibrary;
namespace LXQt
{
/*!
Every plugin needs a .desktop file that describes it. The basename of this file must
be same as the basename of the plugin library.
lxqtpanel_clock2.desktop file
[Desktop Entry]
Type=Service
ServiceTypes=LXQtPanel/Plugin
Name=Clock
Comment=Clock and calendar
PluginInfo class gives the interface for reading the values from the plugin .desktop file.
This is a pure virtual class, you must implement libraryDir(), translationDir(), and instance() methods.
*/
class LXQT_API PluginInfo: public XdgDesktopFile
{
public:
/// Constructs a PluginInfo object for accessing the info stored in the .desktop file.
explicit PluginInfo();
//! Reimplemented from XdgDesktopFile.
virtual bool load(const QString& fileName);
//! Reimplemented from XdgDesktopFile.
//PluginInfo& operator=(const PluginInfo& other);
//! Returns identification string of this plugin, identified plugin type. Now id is part of the filename.
QString id() const { return mId; }
//! This function is provided for convenience. It's equivalent to calling value("ServiceTypes").toString().
QString serviceType() const { return value("ServiceTypes").toString(); }
//! Reimplemented from XdgDesktopFile.
virtual bool isValid() const;
/*! Loads the library and returns QLibrary object if the library was loaded successfully; otherwise returns 0.
@parm libDir directory where placed the plugin .so file. */
QLibrary* loadLibrary(const QString& libDir) const;
/*! Returns a list of PluginInfo objects for the matched files in the directories.
@param desktopFilesDirs - scanned directories names.
@param serviceType - type of the plugin, for example "LXQtPanel/Plugin".
@param nameFilter - wildcard filter that understands * and ? wildcards.
If the same filename is located under multiple directories only the first file should be used.
*/
static QList<PluginInfo> search(const QStringList& desktopFilesDirs, const QString& serviceType, const QString& nameFilter="*");
/// This function is provided for convenience. It's equivalent to new calling search(QString(desktopFilesDir), serviceType, nameFilter)
static QList<PluginInfo> search(const QString& desktopFilesDir, const QString& serviceType, const QString& nameFilter="*");
private:
QString mId;
};
typedef QList<PluginInfo> PluginInfoList;
} // namespace LXQt
QDebug operator<<(QDebug dbg, const LXQt::PluginInfo& pi);
QDebug operator<<(QDebug dbg, const LXQt::PluginInfo* const pi);
QDebug operator<<(QDebug dbg, const LXQt::PluginInfoList& list);
QDebug operator<<(QDebug dbg, const LXQt::PluginInfoList* const pluginInfoList);
#endif // LXQTPLUGININFO_H

View File

@ -1,90 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2010-2011 Razor team
* Authors:
* Alexander Sokoloff <sokoloff.a@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#include "lxqtpower.h"
#include "lxqtpowerproviders.h"
#include <QtAlgorithms>
#include <QDebug>
using namespace LXQt;
Power::Power(QObject *parent) :
QObject(parent)
{
mProviders.append(new CustomProvider(this));
mProviders.append(new SystemdProvider(this));
mProviders.append(new UPowerProvider(this));
mProviders.append(new ConsoleKitProvider(this));
mProviders.append(new LxSessionProvider(this));
mProviders.append(new LXQtProvider(this));
}
Power::~Power()
{
}
bool Power::canAction(Power::Action action) const
{
foreach(PowerProvider* provider, mProviders)
{
if (provider->canAction(action))
return true;
}
return false;
}
bool Power::doAction(Power::Action action)
{
foreach(PowerProvider* provider, mProviders)
{
if (provider->canAction(action) &&
provider->doAction(action)
)
{
return true;
}
}
return false;
}
bool Power::canLogout() const { return canAction(PowerLogout); }
bool Power::canHibernate() const { return canAction(PowerHibernate); }
bool Power::canReboot() const { return canAction(PowerReboot); }
bool Power::canShutdown() const { return canAction(PowerShutdown); }
bool Power::canSuspend() const { return canAction(PowerSuspend); }
bool Power::logout() { return doAction(PowerLogout); }
bool Power::hibernate() { return doAction(PowerHibernate); }
bool Power::reboot() { return doAction(PowerReboot); }
bool Power::shutdown() { return doAction(PowerShutdown); }
bool Power::suspend() { return doAction(PowerSuspend); }

View File

@ -1,107 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2010-2011 Razor team
* Authors:
* Alexander Sokoloff <sokoloff.a@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef LXQTPOWER_H
#define LXQTPOWER_H
#include <QObject>
#include <QList>
#include "lxqtglobals.h"
namespace LXQt
{
class PowerProvider;
/*! Power class provides an interface to control system-wide power and session management.
It allows logout from the user session, hibernate, reboot, shutdown and suspend computer.
This is a wrapper class. All the real work is done in the PowerWorker classes.
*/
class LXQT_API Power : public QObject
{
Q_OBJECT
public:
/// Power can perform next actions:
enum Action{
PowerLogout, /// Close the current user session.
PowerHibernate, /// Hibernate the comupter
PowerReboot, /// Reboot the computer
PowerShutdown, /// Shutdown the computer
PowerSuspend /// Suspend the computer
};
/// Constructs a Power with parent.
explicit Power(QObject *parent = 0);
/// Destroys the object.
virtual ~Power();
/// Returns true if the Power can perform action.
bool canAction(Action action) const;
//! This function is provided for convenience. It's equivalent to calling canAction(PowerLogout).
bool canLogout() const;
//! This function is provided for convenience. It's equivalent to calling canAction(PowerHibernate).
bool canHibernate() const;
//! This function is provided for convenience. It's equivalent to calling canAction(PowerReboot).
bool canReboot() const;
//! This function is provided for convenience. It's equivalent to calling canAction(PowerShutdown).
bool canShutdown() const;
//! This function is provided for convenience. It's equivalent to calling canAction(PowerSuspend).
bool canSuspend() const;
public slots:
/// Performs the requested action.
bool doAction(Action action);
//! This function is provided for convenience. It's equivalent to calling doAction(PowerLogout).
bool logout();
//! This function is provided for convenience. It's equivalent to calling doAction(PowerHibernate).
bool hibernate();
//! This function is provided for convenience. It's equivalent to calling doAction(PowerReboot).
bool reboot();
//! This function is provided for convenience. It's equivalent to calling doAction(PowerShutdown).
bool shutdown();
//! This function is provided for convenience. It's equivalent to calling doAction(PowerSuspend).
bool suspend();
private:
QList<PowerProvider*> mProviders;
};
} // namespace LXQt
#endif // LXQTPOWER_H

View File

@ -1,663 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2010-2011 Razor team
* Authors:
* Alexander Sokoloff <sokoloff.a@gmail.com>
* Petr Vanek <petr@scribus.info>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#include "lxqtpowerproviders.h"
#include <QDBusInterface>
#include <QProcess>
#include <QDebug>
#include "lxqtnotification.h"
#include <signal.h> // for kill()
#define UPOWER_SERVICE "org.freedesktop.UPower"
#define UPOWER_PATH "/org/freedesktop/UPower"
#define UPOWER_INTERFACE UPOWER_SERVICE
#define CONSOLEKIT_SERVICE "org.freedesktop.ConsoleKit"
#define CONSOLEKIT_PATH "/org/freedesktop/ConsoleKit/Manager"
#define CONSOLEKIT_INTERFACE "org.freedesktop.ConsoleKit.Manager"
#define SYSTEMD_SERVICE "org.freedesktop.login1"
#define SYSTEMD_PATH "/org/freedesktop/login1"
#define SYSTEMD_INTERFACE "org.freedesktop.login1.Manager"
#define LXQT_SERVICE "org.lxqt.session"
#define LXQT_PATH "/LXQtSession"
#define LXQT_INTERFACE "org.lxqt.session"
#define LXSESSION_SERVICE "org.lxde.SessionManager"
#define LXSESSION_PATH "/org/lxde/SessionManager"
#define LXSESSION_INTERFACE "org.lxde.SessionManager"
#define PROPERTIES_INTERFACE "org.freedesktop.DBus.Properties"
using namespace LXQt;
/************************************************
Helper func
************************************************/
void printDBusMsg(const QDBusMessage &msg)
{
qWarning() << "** Dbus error **************************";
qWarning() << "Error name " << msg.errorName();
qWarning() << "Error msg " << msg.errorMessage();
qWarning() << "****************************************";
}
/************************************************
Helper func
************************************************/
static bool dbusCall(const QString &service,
const QString &path,
const QString &interface,
const QDBusConnection &connection,
const QString & method,
PowerProvider::DbusErrorCheck errorCheck = PowerProvider::CheckDBUS
)
{
QDBusInterface dbus(service, path, interface, connection);
if (!dbus.isValid())
{
qWarning() << "dbusCall: QDBusInterface is invalid" << service << path << interface << method;
if (errorCheck == PowerProvider::CheckDBUS)
{
Notification::notify(
QObject::tr("Power Manager Error"),
QObject::tr("QDBusInterface is invalid")+ "\n\n" + service + " " + path + " " + interface + " " + method,
"lxqt-logo.png");
}
return false;
}
QDBusMessage msg = dbus.call(method);
if (!msg.errorName().isEmpty())
{
printDBusMsg(msg);
if (errorCheck == PowerProvider::CheckDBUS)
{
Notification::notify(
QObject::tr("Power Manager Error (D-BUS call)"),
msg.errorName() + "\n\n" + msg.errorMessage(),
"lxqt-logo.png");
}
}
// If the method no returns value, we believe that it was successful.
return msg.arguments().isEmpty() ||
msg.arguments().first().isNull() ||
msg.arguments().first().toBool();
}
/************************************************
Helper func
Just like dbusCall(), except that systemd
returns a string instead of a bool, and it takes
an "interactivity boolean" as an argument.
************************************************/
static bool dbusCallSystemd(const QString &service,
const QString &path,
const QString &interface,
const QDBusConnection &connection,
const QString &method,
bool needBoolArg,
PowerProvider::DbusErrorCheck errorCheck = PowerProvider::CheckDBUS
)
{
QDBusInterface dbus(service, path, interface, connection);
if (!dbus.isValid())
{
qWarning() << "dbusCall: QDBusInterface is invalid" << service << path << interface << method;
if (errorCheck == PowerProvider::CheckDBUS)
{
Notification::notify(
QObject::tr("Power Manager Error"),
QObject::tr("QDBusInterface is invalid")+ "\n\n" + service + " " + path + " " + interface + " " + method,
"lxqt-logo.png");
}
return false;
}
QDBusMessage msg = dbus.call(method, needBoolArg ? QVariant(true) : QVariant());
if (!msg.errorName().isEmpty())
{
printDBusMsg(msg);
if (errorCheck == PowerProvider::CheckDBUS)
{
Notification::notify(
QObject::tr("Power Manager Error (D-BUS call)"),
msg.errorName() + "\n\n" + msg.errorMessage(),
"lxqt-logo.png");
}
}
// If the method no returns value, we believe that it was successful.
if (msg.arguments().isEmpty() || msg.arguments().first().isNull())
return true;
QString response = msg.arguments().first().toString();
qDebug() << "systemd:" << method << "=" << response;
return response == "yes" || response == "challenge";
}
/************************************************
Helper func
************************************************/
bool dbusGetProperty(const QString &service,
const QString &path,
const QString &interface,
const QDBusConnection &connection,
const QString & property
)
{
QDBusInterface dbus(service, path, interface, connection);
if (!dbus.isValid())
{
qWarning() << "dbusGetProperty: QDBusInterface is invalid" << service << path << interface << property;
// Notification::notify(QObject::tr("LXQt Power Manager"),
// "lxqt-logo.png",
// QObject::tr("Power Manager Error"),
// QObject::tr("QDBusInterface is invalid")+ "\n\n" + service +" " + path +" " + interface +" " + property);
return false;
}
QDBusMessage msg = dbus.call("Get", dbus.interface(), property);
if (!msg.errorName().isEmpty())
{
printDBusMsg(msg);
// Notification::notify(QObject::tr("LXQt Power Manager"),
// "lxqt-logo.png",
// QObject::tr("Power Manager Error (Get Property)"),
// msg.errorName() + "\n\n" + msg.errorMessage());
}
return !msg.arguments().isEmpty() &&
msg.arguments().first().value<QDBusVariant>().variant().toBool();
}
/************************************************
PowerProvider
************************************************/
PowerProvider::PowerProvider(QObject *parent):
QObject(parent)
{
}
PowerProvider::~PowerProvider()
{
}
/************************************************
UPowerProvider
************************************************/
UPowerProvider::UPowerProvider(QObject *parent):
PowerProvider(parent)
{
}
UPowerProvider::~UPowerProvider()
{
}
bool UPowerProvider::canAction(Power::Action action) const
{
QString command;
QString property;
switch (action)
{
case Power::PowerHibernate:
property = "CanHibernate";
command = "HibernateAllowed";
break;
case Power::PowerSuspend:
property = "CanSuspend";
command = "SuspendAllowed";
break;
default:
return false;
}
return dbusGetProperty( // Whether the system is able to hibernate.
UPOWER_SERVICE,
UPOWER_PATH,
PROPERTIES_INTERFACE,
QDBusConnection::systemBus(),
property
)
&&
dbusCall( // Check if the caller has (or can get) the PolicyKit privilege to call command.
UPOWER_SERVICE,
UPOWER_PATH,
UPOWER_INTERFACE,
QDBusConnection::systemBus(),
command,
// canAction should be always silent because it can freeze
// g_main_context_iteration Qt event loop in QMessageBox
// on panel startup if there is no DBUS running.
PowerProvider::DontCheckDBUS
);
}
bool UPowerProvider::doAction(Power::Action action)
{
QString command;
switch (action)
{
case Power::PowerHibernate:
command = "Hibernate";
break;
case Power::PowerSuspend:
command = "Suspend";
break;
default:
return false;
}
return dbusCall(UPOWER_SERVICE,
UPOWER_PATH,
UPOWER_INTERFACE,
QDBusConnection::systemBus(),
command );
}
/************************************************
ConsoleKitProvider
************************************************/
ConsoleKitProvider::ConsoleKitProvider(QObject *parent):
PowerProvider(parent)
{
}
ConsoleKitProvider::~ConsoleKitProvider()
{
}
bool ConsoleKitProvider::canAction(Power::Action action) const
{
QString command;
switch (action)
{
case Power::PowerReboot:
command = "CanRestart";
break;
case Power::PowerShutdown:
command = "CanStop";
break;
default:
return false;
}
return dbusCall(CONSOLEKIT_SERVICE,
CONSOLEKIT_PATH,
CONSOLEKIT_INTERFACE,
QDBusConnection::systemBus(),
command,
// canAction should be always silent because it can freeze
// g_main_context_iteration Qt event loop in QMessageBox
// on panel startup if there is no DBUS running.
PowerProvider::DontCheckDBUS
);
}
bool ConsoleKitProvider::doAction(Power::Action action)
{
QString command;
switch (action)
{
case Power::PowerReboot:
command = "Restart";
break;
case Power::PowerShutdown:
command = "Stop";
break;
default:
return false;
}
return dbusCall(CONSOLEKIT_SERVICE,
CONSOLEKIT_PATH,
CONSOLEKIT_INTERFACE,
QDBusConnection::systemBus(),
command
);
}
/************************************************
SystemdProvider
http://www.freedesktop.org/wiki/Software/systemd/logind
************************************************/
SystemdProvider::SystemdProvider(QObject *parent):
PowerProvider(parent)
{
}
SystemdProvider::~SystemdProvider()
{
}
bool SystemdProvider::canAction(Power::Action action) const
{
QString command;
switch (action)
{
case Power::PowerReboot:
command = "CanReboot";
break;
case Power::PowerShutdown:
command = "CanPowerOff";
break;
case Power::PowerSuspend:
command = "CanSuspend";
break;
case Power::PowerHibernate:
command = "CanHibernate";
break;
default:
return false;
}
return dbusCallSystemd(SYSTEMD_SERVICE,
SYSTEMD_PATH,
SYSTEMD_INTERFACE,
QDBusConnection::systemBus(),
command,
false,
// canAction should be always silent because it can freeze
// g_main_context_iteration Qt event loop in QMessageBox
// on panel startup if there is no DBUS running.
PowerProvider::DontCheckDBUS
);
}
bool SystemdProvider::doAction(Power::Action action)
{
QString command;
switch (action)
{
case Power::PowerReboot:
command = "Reboot";
break;
case Power::PowerShutdown:
command = "PowerOff";
break;
case Power::PowerSuspend:
command = "Suspend";
break;
case Power::PowerHibernate:
command = "Hibernate";
break;
default:
return false;
}
return dbusCallSystemd(SYSTEMD_SERVICE,
SYSTEMD_PATH,
SYSTEMD_INTERFACE,
QDBusConnection::systemBus(),
command,
true
);
}
/************************************************
LXQtProvider
************************************************/
LXQtProvider::LXQtProvider(QObject *parent):
PowerProvider(parent)
{
}
LXQtProvider::~LXQtProvider()
{
}
bool LXQtProvider::canAction(Power::Action action) const
{
switch (action)
{
case Power::PowerLogout:
// there can be case when razo-session does not run
return dbusCall(LXQT_SERVICE, LXQT_PATH, LXQT_SERVICE,
QDBusConnection::sessionBus(), "canLogout",
PowerProvider::DontCheckDBUS);
default:
return false;
}
}
bool LXQtProvider::doAction(Power::Action action)
{
QString command;
switch (action)
{
case Power::PowerLogout:
command = "logout";
break;
default:
return false;
}
return dbusCall(LXQT_SERVICE,
LXQT_PATH,
LXQT_INTERFACE,
QDBusConnection::sessionBus(),
command
);
}
/************************************************
LxSessionProvider
************************************************/
LxSessionProvider::LxSessionProvider(QObject *parent):
PowerProvider(parent)
{
pid = (Q_PID)qgetenv("_LXSESSION_PID").toLong();
}
LxSessionProvider::~LxSessionProvider()
{
}
bool LxSessionProvider::canAction(Power::Action action) const
{
switch (action)
{
case Power::PowerLogout:
return pid != 0;
default:
return false;
}
}
bool LxSessionProvider::doAction(Power::Action action)
{
switch (action)
{
case Power::PowerLogout:
if(pid)
::kill(pid, SIGTERM);
break;
default:
return false;
}
return true;
}
/************************************************
HalProvider
************************************************/
HalProvider::HalProvider(QObject *parent):
PowerProvider(parent)
{
}
HalProvider::~HalProvider()
{
}
bool HalProvider::canAction(Power::Action action) const
{
return false;
}
bool HalProvider::doAction(Power::Action action)
{
return false;
}
/************************************************
CustomProvider
************************************************/
CustomProvider::CustomProvider(QObject *parent):
PowerProvider(parent),
mSettings("power")
{
}
CustomProvider::~CustomProvider()
{
}
bool CustomProvider::canAction(Power::Action action) const
{
switch (action)
{
case Power::PowerShutdown:
return mSettings.contains("shutdownCommand");
case Power::PowerReboot:
return mSettings.contains("rebootCommand");
case Power::PowerHibernate:
return mSettings.contains("hibernateCommand");
case Power::PowerSuspend:
return mSettings.contains("suspendCommand");
case Power::PowerLogout:
return mSettings.contains("logoutCommand");
default:
return false;
}
}
bool CustomProvider::doAction(Power::Action action)
{
QString command;
switch(action)
{
case Power::PowerShutdown:
command = mSettings.value("shutdownCommand").toString();
break;
case Power::PowerReboot:
command = mSettings.value("rebootCommand").toString();
break;
case Power::PowerHibernate:
command = mSettings.value("hibernateCommand").toString();
break;
case Power::PowerSuspend:
command = mSettings.value("suspendCommand").toString();
break;
case Power::PowerLogout:
command = mSettings.value("logoutCommand").toString();
break;
default:
return false;
}
return QProcess::startDetached(command);
}

View File

@ -1,159 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2010-2011 Razor team
* Authors:
* Alexander Sokoloff <sokoloff.a@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef LXQTPOWER_PROVIDERS_H
#define LXQTPOWER_PROVIDERS_H
#include <QObject>
#include <lxqtsettings.h>
#include "lxqtpower.h"
#include <QProcess> // for PID_T
namespace LXQt
{
class PowerProvider: public QObject
{
Q_OBJECT
public:
enum DbusErrorCheck {
CheckDBUS,
DontCheckDBUS
};
explicit PowerProvider(QObject *parent = 0);
virtual ~PowerProvider();
/*! Returns true if the Power can perform action.
This is a pure virtual function, and must be reimplemented in subclasses. */
virtual bool canAction(Power::Action action) const = 0 ;
public slots:
/*! Performs the requested action.
This is a pure virtual function, and must be reimplemented in subclasses. */
virtual bool doAction(Power::Action action) = 0;
};
class UPowerProvider: public PowerProvider
{
Q_OBJECT
public:
UPowerProvider(QObject *parent = 0);
~UPowerProvider();
bool canAction(Power::Action action) const;
public slots:
bool doAction(Power::Action action);
};
class ConsoleKitProvider: public PowerProvider
{
Q_OBJECT
public:
ConsoleKitProvider(QObject *parent = 0);
~ConsoleKitProvider();
bool canAction(Power::Action action) const;
public slots:
bool doAction(Power::Action action);
};
class SystemdProvider: public PowerProvider
{
Q_OBJECT
public:
SystemdProvider(QObject *parent = 0);
~SystemdProvider();
bool canAction(Power::Action action) const;
public slots:
bool doAction(Power::Action action);
};
class LXQtProvider: public PowerProvider
{
Q_OBJECT
public:
LXQtProvider(QObject *parent = 0);
~LXQtProvider();
bool canAction(Power::Action action) const;
public slots:
bool doAction(Power::Action action);
};
class LxSessionProvider: public PowerProvider
{
Q_OBJECT
public:
LxSessionProvider(QObject *parent = 0);
~LxSessionProvider();
bool canAction(Power::Action action) const;
public slots:
bool doAction(Power::Action action);
private:
Q_PID pid;
};
class HalProvider: public PowerProvider
{
Q_OBJECT
public:
HalProvider(QObject *parent = 0);
~HalProvider();
bool canAction(Power::Action action) const;
public slots:
bool doAction(Power::Action action);
};
class CustomProvider: public PowerProvider
{
Q_OBJECT
public:
CustomProvider(QObject *parent = 0);
~CustomProvider();
bool canAction(Power::Action action) const;
public slots:
bool doAction(Power::Action action);
private:
Settings mSettings;
};
} // namespace LXQt
#endif // LXQTPOWER_PROVIDERS_H

View File

@ -1,209 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2010-2011 Razor team
* Authors:
* Petr Vanek <petr@scribus.info>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#include "lxqtpowermanager.h"
#include "lxqtpower/lxqtpower.h"
#include <QDBusInterface>
#include <QMessageBox>
#include <QApplication>
#include <QDesktopWidget>
#include <QtDebug>
#include "lxqttranslator.h"
#include "lxqtglobals.h"
#include "lxqtsettings.h"
#include <XdgIcon>
namespace LXQt {
class LXQT_API MessageBox: public QMessageBox
{
public:
explicit MessageBox(QWidget *parent = 0): QMessageBox(parent) {}
static QWidget *parentWidget()
{
QWidgetList widgets = QApplication::topLevelWidgets();
if (widgets.count())
return widgets.at(0);
else
return 0;
}
static bool question(const QString& title, const QString& text)
{
MessageBox msgBox(parentWidget());
msgBox.setWindowTitle(title);
msgBox.setText(text);
msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
return (msgBox.exec() == QMessageBox::Yes);
}
static void warning(const QString& title, const QString& text)
{
QMessageBox::warning(parentWidget(), tr("LXQt Power Manager Error"), tr("Hibernate failed."));
}
protected:
virtual void resizeEvent(QResizeEvent* event)
{
QRect screen = QApplication::desktop()->screenGeometry();
move((screen.width() - this->width()) / 2,
(screen.height() - this->height()) / 2);
}
};
PowerManager::PowerManager(QObject * parent, bool skipWarning)
: QObject(parent),
m_skipWarning(skipWarning)
{
m_power = new Power(this);
// connect(m_power, SIGNAL(suspendFail()), this, SLOT(suspendFailed()));
// connect(m_power, SIGNAL(hibernateFail()), this, SLOT(hibernateFailed()));
// connect(m_power, SIGNAL(monitoring(const QString &)),
// this, SLOT(monitoring(const QString&)));
QString sessionConfig(getenv("LXQT_SESSION_CONFIG"));
Settings settings(sessionConfig.isEmpty() ? "session" : sessionConfig);
m_skipWarning = settings.value("leave_confirmation").toBool() ? false : true;
}
PowerManager::~PowerManager()
{
// delete m_power;
}
QList<QAction*> PowerManager::availableActions()
{
QList<QAction*> ret;
QAction * act;
// TODO/FIXME: icons
if (m_power->canHibernate())
{
act = new QAction(XdgIcon::fromTheme("system-suspend-hibernate"), tr("Hibernate"), this);
connect(act, SIGNAL(triggered()), this, SLOT(hibernate()));
ret.append(act);
}
if (m_power->canSuspend())
{
act = new QAction(XdgIcon::fromTheme("system-suspend"), tr("Suspend"), this);
connect(act, SIGNAL(triggered()), this, SLOT(suspend()));
ret.append(act);
}
if (m_power->canReboot())
{
act = new QAction(XdgIcon::fromTheme("system-reboot"), tr("Reboot"), this);
connect(act, SIGNAL(triggered()), this, SLOT(reboot()));
ret.append(act);
}
if (m_power->canShutdown())
{
act = new QAction(XdgIcon::fromTheme("system-shutdown"), tr("Shutdown"), this);
connect(act, SIGNAL(triggered()), this, SLOT(shutdown()));
ret.append(act);
}
if (m_power->canLogout())
{
act = new QAction(XdgIcon::fromTheme("system-log-out"), tr("Logout"), this);
connect(act, SIGNAL(triggered()), this, SLOT(logout()));
ret.append(act);
}
return ret;
}
void PowerManager::suspend()
{
if (m_skipWarning ||
MessageBox::question(tr("LXQt Session Suspend"),
tr("Do you want to really suspend your computer?<p>Suspends the computer into a low power state. System state is not preserved if the power is lost.")))
{
m_power->suspend();
}
}
void PowerManager::hibernate()
{
if (m_skipWarning ||
MessageBox::question(tr("LXQt Session Hibernate"),
tr("Do you want to really hibernate your computer?<p>Hibernates the computer into a low power state. System state is preserved if the power is lost.")))
{
m_power->hibernate();
}
}
void PowerManager::reboot()
{
if (m_skipWarning ||
MessageBox::question(tr("LXQt Session Reboot"),
tr("Do you want to really restart your computer? All unsaved work will be lost...")))
{
m_power->reboot();
}
}
void PowerManager::shutdown()
{
if (m_skipWarning ||
MessageBox::question(tr("LXQt Session Shutdown"),
tr("Do you want to really switch off your computer? All unsaved work will be lost...")))
{
m_power->shutdown();
}
}
void PowerManager::logout()
{
if (m_skipWarning ||
MessageBox::question(tr("LXQt Session Logout"),
tr("Do you want to really logout? All unsaved work will be lost...")))
{
m_power->logout();
}
}
void PowerManager::hibernateFailed()
{
MessageBox::warning(tr("LXQt Power Manager Error"), tr("Hibernate failed."));
}
void PowerManager::suspendFailed()
{
MessageBox::warning(tr("LXQt Power Manager Error"), tr("Suspend failed."));
}
} // namespace LXQt

View File

@ -1,73 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2010-2011 Razor team
* Authors:
* Petr Vanek <petr@scribus.info>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef LXQTPOWERMANAGER_H
#define LXQTPOWERMANAGER_H
#include <QObject>
#include <QAction>
#include "lxqtglobals.h"
namespace LXQt
{
class Power;
/*! QAction centric menu aware wrapper around lxqtpower
*/
class LXQT_API PowerManager : public QObject
{
Q_OBJECT
public:
PowerManager(QObject * parent, bool skipWarning = false);
~PowerManager();
QList<QAction*> availableActions();
public slots:
// power management
void suspend();
void hibernate();
void reboot();
void shutdown();
// lxqt session
void logout();
public:
bool skipWarning() const { return m_skipWarning; }
private:
LXQt::Power * m_power;
bool m_skipWarning;
private slots:
void hibernateFailed();
void suspendFailed();
};
} // namespace LXQt
#endif // LXQTPOWERMANAGER_H

View File

@ -1,67 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright (C) 2013 Alec Moskvin <alecm@gmx.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#include "lxqtprogramfinder.h"
#include <wordexp.h>
#include <QDir>
#include <QFileInfo>
using namespace LXQt;
LXQT_API bool ProgramFinder::programExists(const QString& command)
{
QString program = programName(command);
if (program[0] == QChar('/'))
{
QFileInfo fi(program);
return fi.isExecutable() && fi.isFile();
}
QString path = qgetenv("PATH");
foreach (const QString& dirName, path.split(":", QString::SkipEmptyParts))
{
QFileInfo fi(QDir(dirName), program);
if (fi.isExecutable() && fi.isFile())
return true;
}
return false;
}
LXQT_API QStringList ProgramFinder::findPrograms(const QStringList& commands)
{
QStringList availPrograms;
foreach (const QString& program, commands)
if (programExists(program))
availPrograms.append(program);
return availPrograms;
}
LXQT_API QString ProgramFinder::programName(const QString& command)
{
wordexp_t we;
if (wordexp(command.toLocal8Bit().constData(), &we, WRDE_NOCMD) == 0)
if (we.we_wordc > 0)
return QString(we.we_wordv[0]);
return QString();
}

View File

@ -1,61 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright (C) 2013 Alec Moskvin <alecm@gmx.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef LXQTPROGRAMFINDER_H
#define LXQTPROGRAMFINDER_H
#include <QStringList>
#include "lxqtglobals.h"
namespace LXQt
{
namespace ProgramFinder
{
/*!
* \brief programExists Checks if the program needed to execute the given
* command is installed
* \param command
* \return True if the program exists
*/
LXQT_API bool programExists(const QString& command);
/*!
* \brief findPrograms Filters a list of commands (with arguments) based on
* which programs are installed
* \param commands Commands to check
* \return List of commands which are installed
*/
LXQT_API QStringList findPrograms(const QStringList& commands);
/*!
* \brief programName Returns the program name given a command
* \param command
* \return
*/
LXQT_API QString programName(const QString& command);
}
} // namespace LXQt
#endif // LXQTPROGRAMFINDER_H

View File

@ -1,326 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2010-2013 Razor team
* Authors:
* Kuzma Shapran <kuzma.shapran@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#include "lxqtrotatedwidget.h"
#include <QPainter>
#include <QImage>
#include <QApplication>
#include <QMouseEvent>
#ifndef QT_NO_WHEELEVENT
#include <QWheelEvent>
#endif
#include <QResizeEvent>
using namespace LXQt;
RotatedWidget::RotatedWidget(QWidget &content, QWidget *parent, Qt::WindowFlags f)
: QWidget(parent, f)
, mContent(&content)
, mOrigin(Qt::TopLeftCorner)
, mTransferMousePressEvent(false)
, mTransferMouseReleaseEvent(false)
, mTransferMouseDoubleClickEvent(false)
, mTransferMouseMoveEvent(false)
#ifndef QT_NO_WHEELEVENT
, mTransferWheelEvent(false)
#endif
, mTransferEnterEvent(false)
, mTransferLeaveEvent(false)
{
mContent->setParent(this);
}
Qt::Corner RotatedWidget::origin() const
{
return mOrigin;
}
void RotatedWidget::setOrigin(Qt::Corner newOrigin)
{
if (mOrigin != newOrigin)
{
if (mOrigin == Qt::TopLeftCorner)
mContent->hide();
mOrigin = newOrigin;
adjustContentSize();
update();
if (mOrigin == Qt::TopLeftCorner)
mContent->show();
}
}
QWidget * RotatedWidget::content() const
{
return mContent;
}
void RotatedWidget::adjustContentSize()
{
mContent->adjustSize();
QSize before = size();
adjustSize();
if (before != size())
updateGeometry();
}
QSize RotatedWidget::adjustedSize(QSize size) const
{
switch (mOrigin)
{
case Qt::TopLeftCorner:
case Qt::BottomRightCorner:
break;
case Qt::TopRightCorner:
case Qt::BottomLeftCorner:
size.transpose();
break;
}
return size;
}
QPoint RotatedWidget::adjustedPoint(QPoint point) const
{
switch (mOrigin)
{
case Qt::TopLeftCorner:
case Qt::BottomRightCorner:
break;
case Qt::TopRightCorner:
case Qt::BottomLeftCorner:
point = QPoint(point.y(), point.x());
break;
}
return point;
}
QSize RotatedWidget::minimumSizeHint() const
{
return adjustedSize(mContent->minimumSizeHint());
}
QSize RotatedWidget::sizeHint() const
{
return adjustedSize(mContent->sizeHint());
}
void RotatedWidget::paintEvent(QPaintEvent */*event*/)
{
if (mOrigin == Qt::TopLeftCorner)
return;
QSize sz = mContent->size();
QPainter painter(this);
QTransform transform;
QPoint originPoint;
switch (mOrigin)
{
case Qt::TopLeftCorner:
// transform.rotate(0.0);
// originPoint = QPoint(0.0, 0.0);
break;
case Qt::TopRightCorner:
transform.rotate(90.0);
originPoint = QPoint(0.0, -sz.height());
break;
case Qt::BottomRightCorner:
transform.rotate(180.0);
originPoint = QPoint(-sz.width(), -sz.height());
break;
case Qt::BottomLeftCorner:
transform.rotate(270.0);
originPoint = QPoint(-sz.width(), 0.0);
break;
}
painter.setTransform(transform);
mContent->render(&painter, originPoint, QRegion(), RenderFlags(DrawChildren));
}
void RotatedWidget::mousePressEvent(QMouseEvent *event)
{
if (!mTransferMousePressEvent)
{
event->ignore();
return;
}
static bool cascadeCall = false;
if (cascadeCall)
return;
cascadeCall = true;
QMouseEvent contentEvent(event->type(), adjustedPoint(event->pos()), event->globalPos(), event->button(), event->buttons(), event->modifiers());
QApplication::sendEvent(mContent, &contentEvent);
cascadeCall = false;
}
void RotatedWidget::mouseReleaseEvent(QMouseEvent *event)
{
if (!mTransferMouseReleaseEvent)
{
event->ignore();
return;
}
static bool cascadeCall = false;
if (cascadeCall)
return;
cascadeCall = true;
QMouseEvent contentEvent(event->type(), adjustedPoint(event->pos()), event->globalPos(), event->button(), event->buttons(), event->modifiers());
QApplication::sendEvent(mContent, &contentEvent);
cascadeCall = false;
}
void RotatedWidget::mouseDoubleClickEvent(QMouseEvent *event)
{
if (!mTransferMouseDoubleClickEvent)
{
event->ignore();
return;
}
static bool cascadeCall = false;
if (cascadeCall)
return;
cascadeCall = true;
QMouseEvent contentEvent(event->type(), adjustedPoint(event->pos()), event->globalPos(), event->button(), event->buttons(), event->modifiers());
QApplication::sendEvent(mContent, &contentEvent);
cascadeCall = false;
}
void RotatedWidget::mouseMoveEvent(QMouseEvent *event)
{
if (!mTransferMouseMoveEvent)
{
event->ignore();
return;
}
static bool cascadeCall = false;
if (cascadeCall)
return;
cascadeCall = true;
QMouseEvent contentEvent(event->type(), adjustedPoint(event->pos()), event->globalPos(), event->button(), event->buttons(), event->modifiers());
QApplication::sendEvent(mContent, &contentEvent);
cascadeCall = false;
}
#ifndef QT_NO_WHEELEVENT
void RotatedWidget::wheelEvent(QWheelEvent *event)
{
if (!mTransferWheelEvent)
{
event->ignore();
return;
}
static bool cascadeCall = false;
if (cascadeCall)
return;
cascadeCall = true;
QWheelEvent contentEvent(adjustedPoint(event->pos()), event->globalPos(), event->delta(), event->buttons(), event->modifiers(), event->orientation());
QApplication::sendEvent(mContent, &contentEvent);
cascadeCall = false;
}
#endif
void RotatedWidget::enterEvent(QEvent *event)
{
if (!mTransferEnterEvent)
{
event->ignore();
return;
}
static bool cascadeCall = false;
if (cascadeCall)
return;
cascadeCall = true;
QApplication::sendEvent(mContent, event);
cascadeCall = false;
}
void RotatedWidget::leaveEvent(QEvent *event)
{
if (!mTransferLeaveEvent)
{
event->ignore();
return;
}
static bool cascadeCall = false;
if (cascadeCall)
return;
cascadeCall = true;
QApplication::sendEvent(mContent, event);
cascadeCall = false;
}
void RotatedWidget::resizeEvent(QResizeEvent *event)
{
static bool cascadeCall = false;
if (cascadeCall)
return;
cascadeCall = true;
QResizeEvent contentEvent(adjustedSize(event->size()), adjustedSize(event->oldSize()));
QApplication::sendEvent(mContent, &contentEvent);
cascadeCall = false;
}

View File

@ -1,126 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2010-2013 Razor team
* Authors:
* Kuzma Shapran <kuzma.shapran@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef LXQTROTATED_WIDGET_H
#define LXQTROTATED_WIDGET_H
#include <QWidget>
#include "lxqtglobals.h"
namespace LXQt
{
class LXQT_API RotatedWidget: public QWidget
{
Q_OBJECT
Q_PROPERTY(Qt::Corner origin READ origin WRITE setOrigin)
Q_PROPERTY(bool transferMousePressEvent READ transferMousePressEvent WRITE setTransferMousePressEvent)
Q_PROPERTY(bool transferMouseReleaseEvent READ transferMouseReleaseEvent WRITE setTransferMouseReleaseEvent)
Q_PROPERTY(bool transferMouseDoubleClickEvent READ transferMouseDoubleClickEvent WRITE setTransferMouseDoubleClickEvent)
Q_PROPERTY(bool transferMouseMoveEvent READ transferMouseMoveEvent WRITE setTransferMouseMoveEvent)
#ifndef QT_NO_WHEELEVENT
Q_PROPERTY(bool transferWheelEvent READ transferWheelEvent WRITE setTransferWheelEvent)
#endif
Q_PROPERTY(bool transferEnterEvent READ transferEnterEvent WRITE setTransferEnterEvent)
Q_PROPERTY(bool transferLeaveEvent READ transferLeaveEvent WRITE setTransferLeaveEvent)
public:
explicit RotatedWidget(QWidget &content, QWidget* parent = 0, Qt::WindowFlags f = 0);
Qt::Corner origin() const;
void setOrigin(Qt::Corner);
QWidget * content() const;
void adjustContentSize();
virtual QSize minimumSizeHint() const;
virtual QSize sizeHint() const;
QSize adjustedSize(QSize) const;
QPoint adjustedPoint(QPoint) const;
bool transferMousePressEvent() const { return mTransferMousePressEvent; }
void setTransferMousePressEvent(bool value) { mTransferMousePressEvent = value; }
bool transferMouseReleaseEvent() const { return mTransferMouseReleaseEvent; }
void setTransferMouseReleaseEvent(bool value) { mTransferMouseReleaseEvent = value; }
bool transferMouseDoubleClickEvent() const { return mTransferMouseDoubleClickEvent; }
void setTransferMouseDoubleClickEvent(bool value) { mTransferMouseDoubleClickEvent = value; }
bool transferMouseMoveEvent() const { return mTransferMouseMoveEvent; }
void setTransferMouseMoveEvent(bool value) { mTransferMouseMoveEvent = value; }
#ifndef QT_NO_WHEELEVENT
bool transferWheelEvent() const { return mTransferWheelEvent; }
void setTransferWheelEvent(bool value) { mTransferWheelEvent = value; }
#endif
bool transferEnterEvent() const { return mTransferEnterEvent; }
void setTransferEnterEvent(bool value) { mTransferEnterEvent = value; }
bool transferLeaveEvent() const { return mTransferLeaveEvent; }
void setTransferLeaveEvent(bool value) { mTransferLeaveEvent = value; }
protected:
virtual void paintEvent(QPaintEvent *);
// Transition event handlers
virtual void mousePressEvent(QMouseEvent *);
virtual void mouseReleaseEvent(QMouseEvent *);
virtual void mouseDoubleClickEvent(QMouseEvent *);
virtual void mouseMoveEvent(QMouseEvent *);
#ifndef QT_NO_WHEELEVENT
virtual void wheelEvent(QWheelEvent *);
#endif
virtual void enterEvent(QEvent *);
virtual void leaveEvent(QEvent *);
virtual void resizeEvent(QResizeEvent *);
private:
QWidget *mContent;
Qt::Corner mOrigin;
bool mTransferMousePressEvent;
bool mTransferMouseReleaseEvent;
bool mTransferMouseDoubleClickEvent;
bool mTransferMouseMoveEvent;
#ifndef QT_NO_WHEELEVENT
bool mTransferWheelEvent;
#endif
bool mTransferEnterEvent;
bool mTransferLeaveEvent;
};
} // namespace LXQt
#endif // LXQTROTATEDWIDGET_H

View File

@ -1,107 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2010-2011 Razor team
* Authors:
* Petr Vanek <petr@scribus.info>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#include <QProcess>
#include "lxqtscreensaver.h"
#include "lxqttranslator.h"
#include <XdgIcon>
#include <QMessageBox>
#include <QAction>
using namespace LXQt;
ScreenSaver::ScreenSaver(QObject * parent)
: QObject(parent)
{
m_xdgProcess = new QProcess(this);
connect(m_xdgProcess, SIGNAL(finished(int,QProcess::ExitStatus)),
this, SLOT(xdgProcess_finished(int,QProcess::ExitStatus)));
}
QList<QAction*> ScreenSaver::availableActions()
{
QList<QAction*> ret;
QAction * act;
act = new QAction(XdgIcon::fromTheme("system-lock-screen", "lock"), tr("Lock Screen"), this);
connect(act, SIGNAL(triggered()), this, SLOT(lockScreen()));
ret.append(act);
return ret;
}
void ScreenSaver::lockScreen()
{
m_xdgProcess->start("xdg-screensaver", QStringList() << "lock");
}
void ScreenSaver::xdgProcess_finished(int err, QProcess::ExitStatus status)
{
// http://portland.freedesktop.org/xdg-utils-1.1.0-rc1/scripts/xdg-screensaver
if (err == 0)
emit activated();
else
{
QMessageBox *box = new QMessageBox;
box->setAttribute(Qt::WA_DeleteOnClose);
box->setIcon(QMessageBox::Warning);
if (err == 1)
{
box->setWindowTitle(tr("Screen Saver Error"));
box->setText(tr("An error occurred starting screensaver. "
"Syntax error in xdg-screensaver arguments."));
}
else if (err == 3)
{
box->setWindowTitle(tr("Screen Saver Activation Error"));
box->setText(tr("An error occurred starting screensaver. "
"Ensure you have xscreensaver installed and running."));
}
else if (err == 4)
{
box->setWindowTitle(tr("Screen Saver Activation Error"));
box->setText(tr("An error occurred starting screensaver. "
"Action 'activate' failed. "
"Ensure you have xscreensaver installed and running."));
}
else
{
box->setWindowTitle(tr("Screen Saver Activation Error"));
box->setText(tr("An error occurred starting screensaver. "
"Unknown error - undocumented return value from xdg-screensaver: %1.")
.arg(err));
}
box->exec();
}
emit done();
}

View File

@ -1,64 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2010-2011 Razor team
* Authors:
* Petr Vanek <petr@scribus.info>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef SCREENSAVER_H
#define SCREENSAVER_H
#include "lxqtglobals.h"
#include <QObject>
#include <QProcess>
#include <QAction>
namespace LXQt
{
class LXQT_API ScreenSaver : public QObject
{
Q_OBJECT
public:
ScreenSaver(QObject * parent=0);
QList<QAction*> availableActions();
signals:
void activated();
void done();
public slots:
void lockScreen();
private:
QProcess * m_xdgProcess;
private slots:
void xdgProcess_finished(int err, QProcess::ExitStatus status);
};
} // namespace LXQt
#endif

View File

@ -1,693 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2010-2011 Razor team
* Authors:
* Alexander Sokoloff <sokoloff.a@gmail.com>
* Petr Vanek <petr@scribus.info>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#include "lxqtsettings.h"
#include <QDebug>
#include <QEvent>
#include <QDir>
#include <QStringList>
#include <QMutex>
#include <QFileSystemWatcher>
#include <QSharedData>
#include <QTimerEvent>
#include <XdgIcon>
#include <XdgDirs>
using namespace LXQt;
class LXQt::SettingsPrivate
{
public:
SettingsPrivate(Settings* parent):
mChangeTimer(0),
mParent(parent)
{
}
QString localizedKey(const QString& key) const;
QFileSystemWatcher mWatcher;
int mChangeTimer;
private:
Settings* mParent;
};
LXQtTheme* LXQtTheme::mInstance = 0;
class LXQt::LXQtThemeData: public QSharedData {
public:
LXQtThemeData(): mValid(false) {}
QString loadQss(const QString& qssFile) const;
QString findTheme(const QString &themeName);
QString mName;
QString mPath;
QString mPreviewImg;
bool mValid;
};
class LXQt::GlobalSettingsPrivate
{
public:
GlobalSettingsPrivate(GlobalSettings *parent):
mParent(parent),
mThemeUpdated(0ull)
{
}
GlobalSettings *mParent;
QString mIconTheme;
QString mLXQtTheme;
qlonglong mThemeUpdated;
};
/************************************************
************************************************/
Settings::Settings(const QString& module, QObject* parent) :
QSettings("lxqt", module, parent),
d_ptr(new SettingsPrivate(this))
{
// HACK: we need to ensure that the user (~/.config/lxqt/<module>.conf)
// exists to have functional mWatcher
if (!contains("__userfile__"))
{
setValue("__userfile__", true);
sync();
}
d_ptr->mWatcher.addPath(this->fileName());
connect(&(d_ptr->mWatcher), &QFileSystemWatcher::fileChanged, this, &Settings::_fileChanged);
}
/************************************************
************************************************/
Settings::Settings(const QString &fileName, QSettings::Format format, QObject *parent):
QSettings(fileName, format, parent),
d_ptr(new SettingsPrivate(this))
{
// HACK: we need to ensure that the user (~/.config/lxqt/<module>.conf)
// exists to have functional mWatcher
if (!contains("__userfile__"))
{
setValue("__userfile__", true);
sync();
}
d_ptr->mWatcher.addPath(this->fileName());
connect(&(d_ptr->mWatcher), &QFileSystemWatcher::fileChanged, this, &Settings::_fileChanged);
}
/************************************************
************************************************/
Settings::Settings(const QSettings* parentSettings, const QString& subGroup, QObject* parent):
QSettings(parentSettings->organizationName(), parentSettings->applicationName(), parent),
d_ptr(new SettingsPrivate(this))
{
beginGroup(subGroup);
}
/************************************************
************************************************/
Settings::Settings(const QSettings& parentSettings, const QString& subGroup, QObject* parent):
QSettings(parentSettings.organizationName(), parentSettings.applicationName(), parent),
d_ptr(new SettingsPrivate(this))
{
beginGroup(subGroup);
}
/************************************************
************************************************/
Settings::~Settings()
{
// because in the Settings::Settings(const QString& module, QObject* parent)
// constructor there is no beginGroup() called...
if (!group().isEmpty())
endGroup();
delete d_ptr;
}
bool Settings::event(QEvent *event)
{
if (event->type() == QEvent::UpdateRequest)
{
emit settingsChanged();
}
else if (event->type() == QEvent::Timer)
{
if(static_cast<QTimerEvent*>(event)->timerId() == d_ptr->mChangeTimer)
{
fileChanged(); // invoke the real fileChanged() handler.
killTimer(d_ptr->mChangeTimer);
d_ptr->mChangeTimer = 0;
}
}
return QSettings::event(event);
}
void Settings::fileChanged()
{
sync();
emit settingsChanged();
}
void Settings::_fileChanged(QString path)
{
// delay the change notification for 100 ms to avoid
// unnecessary repeated loading of the same config file if
// the file is changed for several times rapidly.
if(d_ptr->mChangeTimer)
killTimer(d_ptr->mChangeTimer);
d_ptr->mChangeTimer = startTimer(100);
// D*mn! yet another Qt 5.4 regression!!!
// See the bug report: https://github.com/lxde/lxqt/issues/441
// Since Qt 5.4, QSettings uses QSaveFile to save the config files.
// https://github.com/qtproject/qtbase/commit/8d15068911d7c0ba05732e2796aaa7a90e34a6a1#diff-e691c0405f02f3478f4f50a27bdaecde
// QSaveFile will save the content to a new temp file, and replace the old file later.
// Hence the existing config file is not changed. Instead, it's deleted and then replaced.
// This new behaviour unfortunately breaks QFileSystemWatcher.
// After file deletion, we can no longer receive any new change notifications.
// The most ridiculous thing is, QFileSystemWatcher does not provide a
// way for us to know if a file is deleted. WT*?
// Luckily, I found a workaround: If the file path no longer exists
// in the watcher's files(), this file is deleted.
if(!d_ptr->mWatcher.files().contains(path))
d_ptr->mWatcher.addPath(path);
}
/************************************************
************************************************/
const GlobalSettings *Settings::globalSettings()
{
static QMutex mutex;
static GlobalSettings *instance = 0;
if (!instance)
{
mutex.lock();
if (!instance)
instance = new GlobalSettings();
mutex.unlock();
}
return instance;
}
/************************************************
LC_MESSAGES value Possible keys in order of matching
lang_COUNTRY@MODIFIER lang_COUNTRY@MODIFIER, lang_COUNTRY, lang@MODIFIER, lang,
default value
lang_COUNTRY lang_COUNTRY, lang, default value
lang@MODIFIER lang@MODIFIER, lang, default value
lang lang, default value
************************************************/
QString SettingsPrivate::localizedKey(const QString& key) const
{
QString lang = getenv("LC_MESSAGES");
if (lang.isEmpty())
lang = getenv("LC_ALL");
if (lang.isEmpty())
lang = getenv("LANG");
QString modifier = lang.section('@', 1);
if (!modifier.isEmpty())
lang.truncate(lang.length() - modifier.length() - 1);
QString encoding = lang.section('.', 1);
if (!encoding.isEmpty())
lang.truncate(lang.length() - encoding.length() - 1);
QString country = lang.section('_', 1);
if (!country.isEmpty())
lang.truncate(lang.length() - country.length() - 1);
//qDebug() << "LC_MESSAGES: " << getenv("LC_MESSAGES");
//qDebug() << "Lang:" << lang;
//qDebug() << "Country:" << country;
//qDebug() << "Encoding:" << encoding;
//qDebug() << "Modifier:" << modifier;
if (!modifier.isEmpty() && !country.isEmpty())
{
QString k = QString("%1[%2_%3@%4]").arg(key, lang, country, modifier);
//qDebug() << "\t try " << k << mParent->contains(k);
if (mParent->contains(k))
return k;
}
if (!country.isEmpty())
{
QString k = QString("%1[%2_%3]").arg(key, lang, country);
//qDebug() << "\t try " << k << mParent->contains(k);
if (mParent->contains(k))
return k;
}
if (!modifier.isEmpty())
{
QString k = QString("%1[%2@%3]").arg(key, lang, modifier);
//qDebug() << "\t try " << k << mParent->contains(k);
if (mParent->contains(k))
return k;
}
QString k = QString("%1[%2]").arg(key, lang);
//qDebug() << "\t try " << k << mParent->contains(k);
if (mParent->contains(k))
return k;
//qDebug() << "\t try " << key << mParent->contains(key);
return key;
}
/************************************************
************************************************/
QVariant Settings::localizedValue(const QString& key, const QVariant& defaultValue) const
{
Q_D(const Settings);
return value(d->localizedKey(key), defaultValue);
}
/************************************************
************************************************/
void Settings::setLocalizedValue(const QString &key, const QVariant &value)
{
Q_D(const Settings);
setValue(d->localizedKey(key), value);
}
/************************************************
************************************************/
LXQtTheme::LXQtTheme():
d(new LXQtThemeData)
{
}
/************************************************
************************************************/
LXQtTheme::LXQtTheme(const QString &path):
d(new LXQtThemeData)
{
if (path.isEmpty())
return;
QFileInfo fi(path);
if (fi.isAbsolute())
{
d->mPath = path;
d->mName = fi.fileName();
d->mValid = fi.isDir();
}
else
{
d->mName = path;
d->mPath = d->findTheme(path);
d->mValid = !(d->mPath.isEmpty());
}
if (QDir(path).exists("preview.png"))
d->mPreviewImg = path + "/preview.png";
}
/************************************************
************************************************/
QString LXQtThemeData::findTheme(const QString &themeName)
{
if (themeName.isEmpty())
return "";
QStringList paths;
paths << XdgDirs::dataHome(false);
paths << XdgDirs::dataDirs();
// TODO/FIXME: this is fallback path for standard CMAKE_INSTALL_PREFIX
paths << "/usr/local/share";
foreach(QString path, paths)
{
QDir dir(QString("%1/lxqt/themes/%2").arg(path, themeName));
if (dir.isReadable())
return dir.absolutePath();
}
return QString();
}
/************************************************
************************************************/
LXQtTheme::LXQtTheme(const LXQtTheme &other):
d(other.d)
{
}
/************************************************
************************************************/
LXQtTheme::~LXQtTheme()
{
}
/************************************************
************************************************/
LXQtTheme& LXQtTheme::operator=(const LXQtTheme &other)
{
d = other.d;
return *this;
}
/************************************************
************************************************/
bool LXQtTheme::isValid() const
{
return d->mValid;
}
/************************************************
************************************************/
QString LXQtTheme::name() const
{
return d->mName;
}
/************************************************
************************************************/
QString LXQtTheme::path() const
{
return d->mPath;
}
/************************************************
************************************************/
QString LXQtTheme::previewImage() const
{
return d->mPreviewImg;
}
/************************************************
************************************************/
QString LXQtTheme::qss(const QString& module) const
{
QString styleSheet = d->loadQss(QStringLiteral("%1/%2.qss").arg(d->mPath, module));
// Single/double click ...........................
Settings s("desktop");
bool singleClick = s.value("icon-launch-mode", "singleclick").toString() == "singleclick";
styleSheet += QString("QAbstractItemView {activate-on-singleclick : %1; }").arg(singleClick ? 1 : 0);
return styleSheet;
}
/************************************************
************************************************/
QString LXQtThemeData::loadQss(const QString& qssFile) const
{
QFile f(qssFile);
if (! f.open(QIODevice::ReadOnly | QIODevice::Text))
{
return QString();
}
QString qss = f.readAll();
f.close();
if (qss.isEmpty())
return QString();
// handle relative paths
QString qssDir = QFileInfo(qssFile).canonicalPath();
qss.replace(QRegExp("url.[ \\t\\s]*", Qt::CaseInsensitive, QRegExp::RegExp2), "url(" + qssDir + "/");
return qss;
}
/************************************************
************************************************/
QString LXQtTheme::desktopBackground(int screen) const
{
QString wallpaperCfgFileName = QString("%1/wallpaper.cfg").arg(d->mPath);
if (wallpaperCfgFileName.isEmpty())
return QString();
QSettings s(wallpaperCfgFileName, QSettings::IniFormat);
QString themeDir = QFileInfo(wallpaperCfgFileName).absolutePath();
// There is something strange... If I remove next line the wallpapers array is not found...
s.childKeys();
s.beginReadArray("wallpapers");
s.setArrayIndex(screen - 1);
if (s.contains("file"))
return QString("%1/%2").arg(themeDir, s.value("file").toString());
s.setArrayIndex(0);
if (s.contains("file"))
return QString("%1/%2").arg(themeDir, s.value("file").toString());
return QString();
}
/************************************************
************************************************/
const LXQtTheme &LXQtTheme::currentTheme()
{
static LXQtTheme theme;
QString name = Settings::globalSettings()->value("theme").toString();
if (theme.name() != name)
{
theme = LXQtTheme(name);
}
return theme;
}
/************************************************
************************************************/
QList<LXQtTheme> LXQtTheme::allThemes()
{
QList<LXQtTheme> ret;
QSet<QString> processed;
QStringList paths;
paths << XdgDirs::dataHome(false);
paths << XdgDirs::dataDirs();
foreach(QString path, paths)
{
QDir dir(QString("%1/lxqt/themes").arg(path));
QFileInfoList dirs = dir.entryInfoList(QDir::AllDirs | QDir::NoDotAndDotDot);
foreach(QFileInfo dir, dirs)
{
if (!processed.contains(dir.fileName()) &&
QDir(dir.absoluteFilePath()).exists("lxqt-panel.qss"))
{
processed << dir.fileName();
ret << LXQtTheme(dir.absoluteFilePath());
}
}
}
return ret;
}
/************************************************
************************************************/
SettingsCache::SettingsCache(QSettings &settings) :
mSettings(settings)
{
loadFromSettings();
}
/************************************************
************************************************/
SettingsCache::SettingsCache(QSettings *settings) :
mSettings(*settings)
{
loadFromSettings();
}
/************************************************
************************************************/
void SettingsCache::loadFromSettings()
{
foreach (QString key, mSettings.allKeys())
{
mCache.insert(key, mSettings.value(key));
}
}
/************************************************
************************************************/
void SettingsCache::loadToSettings()
{
QHash<QString, QVariant>::const_iterator i = mCache.constBegin();
while(i != mCache.constEnd())
{
mSettings.setValue(i.key(), i.value());
++i;
}
mSettings.sync();
}
/************************************************
************************************************/
GlobalSettings::GlobalSettings():
Settings("lxqt"),
d_ptr(new GlobalSettingsPrivate(this))
{
if (value("icon_theme").toString().isEmpty())
{
QStringList failback;
failback << "oxygen";
failback << "Tango";
failback << "Prudence-icon";
failback << "Humanity";
failback << "elementary";
failback << "gnome";
QDir dir("/usr/share/icons/");
foreach (QString s, failback)
{
if (dir.exists(s))
{
setValue("icon_theme", s);
sync();
break;
}
}
}
fileChanged();
}
GlobalSettings::~GlobalSettings()
{
delete d_ptr;
}
/************************************************
************************************************/
void GlobalSettings::fileChanged()
{
Q_D(GlobalSettings);
sync();
QString it = value("icon_theme").toString();
if (d->mIconTheme != it)
{
d->mIconTheme = it;
XdgIcon::setThemeName(it);
emit iconThemeChanged();
}
QString rt = value("theme").toString();
qlonglong themeUpdated = value("__theme_updated__").toLongLong();
if ((d->mLXQtTheme != rt) || (d->mThemeUpdated != themeUpdated))
{
d->mLXQtTheme = rt;
emit lxqtThemeChanged();
}
emit settingsChanged();
}

View File

@ -1,206 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2010-2011 Razor team
* Authors:
* Alexander Sokoloff <sokoloff.a@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef LXQTSETTINGS_H
#define LXQTSETTINGS_H
#include <QObject>
#include <QSettings>
#include <QSharedDataPointer>
#include "lxqtglobals.h"
class QEvent;
namespace LXQt
{
class SettingsPrivate;
class GlobalSettings;
/*! \brief User settings handling */
class LXQT_API Settings : public QSettings
{
Q_OBJECT
public:
/*! \brief Constructs a Settings object for accessing settings of the module called module, and with parent parent.
Settings can be accessed using the standard interface provided by QSettings, but it also provides some convenience functions and signals.
\param module a base name of the config file. It's a name without
the extension. For example: if you want to open settings for
panel create it as Settings("panel").
The function will create all parent directories necessary to create
the file.
\param parent It's no need to delete this class manually if it's set.
*/
explicit Settings(const QString& module, QObject* parent = 0);
//explicit Settings(QObject* parent=0);
explicit Settings(const QSettings* parentSettings, const QString& subGroup, QObject* parent=0);
explicit Settings(const QSettings& parentSettings, const QString& subGroup, QObject* parent=0);
Settings(const QString &fileName, QSettings::Format format, QObject *parent = 0);
~Settings();
static const GlobalSettings *globalSettings();
/*! Returns the localized value for key. In the desktop file keys may be postfixed by [LOCALE]. If the
localized value doesn't exist, returns non lokalized value. If non localized value doesn't exist, returns defaultValue.
LOCALE must be of the form lang_COUNTRY.ENCODING@MODIFIER, where _COUNTRY, .ENCODING, and @MODIFIER may be omitted.
If no default value is specified, a default QVariant is returned. */
QVariant localizedValue(const QString& key, const QVariant& defaultValue = QVariant()) const;
/*! Sets the value of setting key to value. If a localized version of the key already exists, the previous value is
overwritten. Otherwise, it overwrites the the un-localized version. */
void setLocalizedValue(const QString &key, const QVariant &value);
signals:
void settingsChanged();
protected:
bool event(QEvent *event);
protected slots:
/*! Called when the config file is changed */
virtual void fileChanged();
private slots:
void _fileChanged(QString path);
private:
Q_DISABLE_COPY(Settings)
SettingsPrivate* const d_ptr;
Q_DECLARE_PRIVATE(Settings)
};
class LXQtThemeData;
/*! \brief QSS theme handling */
class LXQT_API LXQtTheme
{
public:
/// Constructs a null theme.
LXQtTheme();
/*! Constructs an theme from the dir with the given path. If path not absolute
(i.e. the theme name only) the relevant dir must be found relative to the
$XDG_DATA_HOME + $XDG_DATA_DIRS directories. */
LXQtTheme(const QString &path);
/// Constructs a copy of other. This is very fast.
LXQtTheme(const LXQtTheme &other);
LXQtTheme& operator=(const LXQtTheme &other);
~LXQtTheme();
/// Returns the name of the theme.
QString name() const;
QString path() const;
QString previewImage() const;
/// Returns true if this theme is valid; otherwise returns false.
bool isValid() const;
/*! \brief Returns StyleSheet text (not file name, but real text) of the module called module.
Paths in url() C/QSS functions are parsed to be real values for the theme,
relative to full path
*/
QString qss(const QString& module) const;
/*! \brief A full path to image used as a wallpaper
\param screen is an ID of the screen like in Qt. -1 means default (any) screen.
Any other value greater than -1 is the exact screen (in dualhead).
In themes the index starts from 1 (ix 1 means 1st screen).
\retval QString a file name (including path).
*/
QString desktopBackground(int screen=-1) const;
/// Returns the current lxqt theme.
static const LXQtTheme &currentTheme();
/// Returns the all themes found in the system.
static QList<LXQtTheme> allThemes();
private:
static LXQtTheme* mInstance;
QSharedDataPointer<LXQtThemeData> d;
};
/*!
A global pointer referring to the unique LXQtTheme object.
It is equivalent to the pointer returned by the LXQtTheme::instance() function.
Only one theme object can be created. !*/
#define lxqtTheme LXQtTheme::currentTheme()
class LXQT_API SettingsCache
{
public:
explicit SettingsCache(QSettings &settings);
explicit SettingsCache(QSettings *settings);
virtual ~SettingsCache() {}
void loadFromSettings();
void loadToSettings();
private:
QSettings &mSettings;
QHash<QString, QVariant> mCache;
};
class GlobalSettingsPrivate;
class GlobalSettings: public Settings
{
Q_OBJECT
public:
GlobalSettings();
~GlobalSettings();
signals:
/// Signal emitted when the icon theme has changed.
void iconThemeChanged();
/// Signal emitted when the lxqt theme has changed.
void lxqtThemeChanged();
protected slots:
void fileChanged();
private:
GlobalSettingsPrivate* const d_ptr;
Q_DECLARE_PRIVATE(GlobalSettings)
};
} // namespace LXQt
#endif // LXQTSETTINGS_H

View File

@ -1,109 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://lxqt.org
*
* Copyright: 2014 LXQt team
* Authors:
* Luís Pereira <luis.artur.pereira@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#include "lxqtsingleapplication.h"
#include "singleapplicationadaptor.h"
#include <KWindowSystem/KWindowSystem>
#include <KWindowSystem/NETWM>
#include <QDBusMessage>
#include <QWidget>
#include <QDebug>
using namespace LXQt;
SingleApplication::SingleApplication(int &argc, char **argv, StartOptions options)
: Application(argc, argv),
mActivationWindow(0)
{
QString service =
QString::fromLatin1("org.lxqt.%1").arg(QApplication::applicationName());
SingleApplicationAdaptor *mAdaptor = new SingleApplicationAdaptor(this);
QDBusConnection bus = QDBusConnection::sessionBus();
if (!bus.isConnected()) {
QLatin1String errorMessage("Can't connect to the D-Bus session bus\n"
"Make sure the D-Bus daemon is running");
/* ExitOnDBusFailure is the default. Any value other than
NoExitOnDBusFailure will be taken as ExitOnDBusFailure (the default).
*/
if (options == NoExitOnDBusFailure) {
qDebug() << Q_FUNC_INFO << errorMessage;
return;
} else {
qCritical() << Q_FUNC_INFO << errorMessage;
::exit(1);
}
}
bool registered = (bus.registerService(service) ==
QDBusConnectionInterface::ServiceRegistered);
if (registered) { // We are the primary instance
QLatin1String objectPath("/");
bus.registerObject(objectPath, mAdaptor,
QDBusConnection::ExportAllSlots);
} else { // We are the second outstance
QDBusMessage msg = QDBusMessage::createMethodCall(service,
QStringLiteral("/"),
QStringLiteral("org.lxqt.SingleApplication"),
QStringLiteral("activateWindow"));
QDBusConnection::sessionBus().send(msg);
::exit(0);
}
}
SingleApplication::~SingleApplication()
{
}
void SingleApplication::setActivationWindow(QWidget *w)
{
mActivationWindow = w;
}
QWidget *SingleApplication::activationWindow() const
{
return mActivationWindow;
}
void SingleApplication::activateWindow()
{
if (mActivationWindow) {
WId window = mActivationWindow->effectiveWinId();
KWindowInfo info(window, NET::WMDesktop);
int windowDesktop = info.desktop();
if (windowDesktop != KWindowSystem::currentDesktop())
KWindowSystem::setCurrentDesktop(windowDesktop);
KWindowSystem::activateWindow(window);
} else {
qDebug() << Q_FUNC_INFO << "activationWindow not set or null";
}
}

View File

@ -1,158 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://lxqt.org
*
* Copyright: 2014 LXQt team
* Authors:
* Luís Pereira <luis.artur.pereira@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef LXQTSINGLEAPPLICATION_H
#define LXQTSINGLEAPPLICATION_H
#include "lxqtapplication.h"
class QWidget;
namespace LXQt {
/*! \class SingleApplication
* \brief The SingleApplication class provides an single instance Application.
*
* This class allows the user to create applications where only one instance
* is allowed to be running at an given time. If the user tries to launch
* another instance, the already running instance will be activated instead.
*
* The user has to set the activation window with setActivationWindow. If it
* doesn't the second instance will quietly exit without activating the first
* instance window. In any case only one instance is allowed.
*
* These classes depend on D-Bus and KF5::WindowSystem
*
* \code
*
* // Original code
* int main(int argc, char **argv)
* {
* LXQt::Application app(argc, argv);
*
* MainWidget w;
* w.show();
*
* return app.exec();
* }
*
* // Using the library
* int main(int argc, char **argv)
* {
* LXQt::SingleApplication app(argc, argv);
*
* MainWidget w;
* app.setActivationWindow(&w);
* w.show();
*
* return app.exec();
* }
* \endcode
* \sa SingleApplication
*/
class LXQT_API SingleApplication : public Application {
Q_OBJECT
Q_ENUMS(StartOptions)
public:
/*!
* \brief Options to control the D-Bus failure related application behaviour
*
* By default (ExitOnDBusFailure) if an instance can't connect to the D-Bus
* session bus, that instance calls ::exit(1). Not even the first instance
* will run. Connecting to the D-Bus session bus is an condition to
* guarantee that only one instance will run.
*
* If an user wants to allow an application to run without D-Bus, it must
* use the NoExitOnDBusFailure option.
*
* ExitOnDBusFailure is the default.
*/
enum StartOptions {
/** Exit if the connection to the D-Bus session bus fails.
* It's the default
*/
ExitOnDBusFailure,
/** Don't exit if the connection to the D-Bus session bus fails.*/
NoExitOnDBusFailure
};
/*!
* \brief Construct a LXQt SingleApplication object.
* \param argc standard argc as in QApplication
* \param argv standard argv as in QApplication
* \param options Control the on D-Bus failure application behaviour
*
* \sa StartOptions.
*/
SingleApplication(int &argc, char **argv, StartOptions options = ExitOnDBusFailure);
virtual ~SingleApplication();
/*!
* \brief Sets the activation window.
* \param w activation window.
*
* Sets the activation window of this application to w. The activation
* window is the widget that will be activated by \a activateWindow().
*
* \sa activationWindow() \sa activateWindow();
*/
void setActivationWindow(QWidget *w);
/*!
* \brief Gets the current activation window.
* \return The current activation window.
*
* \sa setActivationWindow();
*/
QWidget *activationWindow() const;
public Q_SLOTS:
/*!
* \brief Activates this application activation window.
*
* Changes to the desktop where this applications is. It then de-minimizes,
* raises and activates the application's activation window.
* If no activation window has been set, this function does nothing.
*
* \sa setActivationWindow();
*/
void activateWindow();
private:
QWidget *mActivationWindow;
};
#if defined(lxqtSingleApp)
#undef lxqtSingleApp
#endif
#define lxqtSingleApp (static_cast<LXQt::SingleApplication *>(qApp))
}; // namespace LXQt
#endif // LXQTSINGLEAPPLICATION_H

View File

@ -1,186 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2013 LXQt team
* Authors:
* Alexander Sokoloff <sokoloff.a@gmail.com>
Luís Pereira <luis.artur.pereira@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#include "lxqttranslator.h"
#include <QTranslator>
#include <QLocale>
#include <QDebug>
#include <QCoreApplication>
#include <QLibraryInfo>
#include <QStringList>
#include <QStringBuilder>
#include <QFileInfo>
#include <XdgDirs>
using namespace LXQt;
bool translate(const QString &name, const QString &owner = QString());
/************************************************
************************************************/
QStringList *getSearchPaths()
{
static QStringList *searchPath = 0;
if (searchPath == 0)
{
searchPath = new QStringList();
*searchPath << QString(LXQT_SHARE_TRANSLATIONS_DIR);
*searchPath << XdgDirs::dataDirs(QLatin1Char('/') % LXQT_RELATIVE_SHARE_TRANSLATIONS_DIR);
searchPath->removeDuplicates();
}
return searchPath;
}
/************************************************
************************************************/
QStringList LXQt::Translator::translationSearchPaths()
{
return *(getSearchPaths());
}
/************************************************
************************************************/
void Translator::setTranslationSearchPaths(const QStringList &paths)
{
QStringList *p = getSearchPaths();
p->clear();
*p << paths;
}
/************************************************
************************************************/
bool translate(const QString &name, const QString &owner)
{
QString locale = QLocale::system().name();
QTranslator *appTranslator = new QTranslator(qApp);
QStringList *paths = getSearchPaths();
foreach(QString path, *paths)
{
QStringList subPaths;
if (!owner.isEmpty())
{
subPaths << path % QChar('/') % owner % QChar('/') % name;
}
else
{
subPaths << path % QChar('/') % name;
subPaths << path;
}
foreach(QString p, subPaths)
{
if (appTranslator->load(name + "_" + locale, p))
{
QCoreApplication::installTranslator(appTranslator);
return true;
}
else if (locale == QLatin1String("C") ||
locale.startsWith(QLatin1String("en")))
{
// English is the default. Even if there isn't an translation
// file, we return true. It's translated anyway.
delete appTranslator;
return true;
}
}
}
// If we got here, no translation was loaded. appTranslator has no use.
delete appTranslator;
return false;
}
/************************************************
************************************************/
bool Translator::translateApplication(const QString &applicationName)
{
QString locale = QLocale::system().name();
QTranslator *qtTranslator = new QTranslator(qApp);
if (qtTranslator->load("qt_" + locale, QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
{
qApp->installTranslator(qtTranslator);
}
else
{
delete qtTranslator;
}
if (!applicationName.isEmpty())
return translate(applicationName);
else
return translate(QFileInfo(QCoreApplication::applicationFilePath()).baseName());
}
/************************************************
************************************************/
bool Translator::translateLibrary(const QString &libraryName)
{
static QSet<QString> loadedLibs;
if (loadedLibs.contains(libraryName))
return true;
loadedLibs.insert(libraryName);
return translate(libraryName);
}
bool Translator::translatePlugin(const QString &pluginName, const QString& type)
{
static QSet<QString> loadedPlugins;
QString fullName = type % QChar('/') % pluginName;
if (loadedPlugins.contains(fullName))
return true;
loadedPlugins.insert(pluginName);
return translate(pluginName, type);
}
static void loadSelfTranslation()
{
Translator::translateLibrary(QLatin1String("liblxqt"));
}
Q_COREAPP_STARTUP_FUNCTION(loadSelfTranslation)

View File

@ -1,72 +0,0 @@
/* BEGIN_COMMON_COPYRIGHT_HEADER
* (c)LGPL2+
*
* LXQt - a lightweight, Qt based, desktop toolset
* http://razor-qt.org
*
* Copyright: 2013 LXQt team
* Authors:
* Alexander Sokoloff <sokoloff.a@gmail.com>
Luís Pereira <luis.artur.pereira@gmail.com>
*
* This program or library is free software; you can redistribute it
* and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* END_COMMON_COPYRIGHT_HEADER */
#ifndef LXQTTRANSLATOR_H
#define LXQTTRANSLATOR_H
#include <QStringList>
#include "lxqtglobals.h"
namespace LXQt
{
/**
The Translator class provides internationalization support for application and librarioes.
**/
class LXQT_API Translator
{
public:
/**
Returns a list of paths that the application will search translations files.
**/
static QStringList translationSearchPaths();
/**
Sets the list of directories to search translations. All existing paths
will be deleted and the path list will consist of the paths given in paths.
**/
static void setTranslationSearchPaths(const QStringList &paths);
/**
Loads translations for application. If applicationName is not specified,
then basename of QCoreApplication::applicationFilePath() is used.
Returns true if the translation is successfully loaded; otherwise returns false.
**/
static bool translateApplication(const QString &applicationName = QString());
/**
Loads translations for application. If applicationName is not specified,
then basename of QCoreApplication::applicationFilePath() is used.
Returns true if the translation is successfully loaded; otherwise returns false.
**/
static bool translateLibrary(const QString &libraryName = QString());
static bool translatePlugin(const QString &pluginName, const QString& type);
};
} // namespace LXQt
#endif // LXQTTRANSLATOR_H

View File

@ -1,188 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -1,262 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ar">
<context>
<name>AddPluginDialog</name>
<message>
<source>Add plugins</source>
<translation type="obsolete">ضمُّ إضافاتٍ برمجيَّة</translation>
</message>
<message>
<source>Search:</source>
<translation type="vanished">ابحث:</translation>
</message>
<message>
<source>Add plugin</source>
<translation type="obsolete">ضمُّ إضافةٍ برمجيَّة</translation>
</message>
<message>
<source>Close</source>
<translation type="vanished">إغلاق</translation>
</message>
</context>
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation>حوار</translation>
</message>
</context>
<context>
<name>LXQt::AboutDialogPrivate</name>
<message>
<source>Yes</source>
<translation type="obsolete">نعم</translation>
</message>
<message>
<source>No</source>
<translation type="obsolete"></translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished">خطأٌ في إدارة الطَّاقة لنظام ريزر</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation type="unfinished">فشل الانتقال إلى حالة السُّبات</translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation>ارتداد اشعارات</translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation>سبات</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation>تعليق</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation>إعادة إقلاع</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation>إطفاء</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation>خروج</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation>وضع جلسة نظام ريزر في حالة تعليق</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation>هل ترغب حقَّاً بتعليق الحاسب؟&lt;p&gt;تعليق الحاسب في وضعيَّة طاقةٍ أخفّ ولا يتم حفظ حالة النِّظام في حال انقطاع التَّيَّار.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation>وضع جلسة نظام ريزر في حالة سبات</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation>هل ترغب حقَّاً بوضع الحاسب في حالة سبات؟&lt;p&gt;يتم وضع الحاسب في حالة سباتٍ مع وضعيَّة طاقةٍ أخفّ ويتم حفظ حالة النِّظام في حال انقطاع التَّيَّار.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation>إعادة إقلاع جلسة نظام ريزر</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation>هل ترغب حقَّاً بإعادة تشغيل الحاسب؟ سيتم إضاعة كافَّة اعمال التي لم يتمَُ حفظها..</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation>إطفاء نظام ريزر</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation>هل ترغب حقَّاً بإطفاء الحاسب؟ سيتم إضاعة كافَّة اعمال التي لم يتمَُ حفظها..</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation>الخروج من جلسة نظام ريزر</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation>هل ترغب بالخروج حقَّاً؟ سيتم إضاعة كافَّة اعمال التي لم يتمَُ حفظها..</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation>خطأٌ في إدارة الطَّاقة لنظام ريزر</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation>فشل الانتقال إلى حالة السُّبات</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation>فشل الانتقال إلى حالة تعليق الحاسب</translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation>إقفال الشَّاشة</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation>خطأٌ في تشغيل حافظ الشَّاشة</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started due its crash.</source>
<translation type="vanished">حدث خطأٌ في تشغيل حافظ الشَّاشة! يمكن تشغيل حافظ شاشة سطح المكتب الرُّسوميِّ نظراً لانهياره..!</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver is not installed correctly.</source>
<translation type="vanished">حدث خطأٌ في تشغيل حافظ الشَّاشة! لم يتمُّ تثبيت حافظ شاشة سطح المكتب الرُّسوميِّ بالشَّكل الصَّحيح..!</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started.</source>
<translation type="vanished">حدث خطأٌ في تشغيل حافظ الشَّاشة! يمكن تشغيل حافظ شاشة سطح المكتب الرُّسوميِّ..!</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation>حدث خطأٌ في تشغيل حافظ الشَّاشة! هناك خطأٌ في رموز ضبط تعريف حافظ شاشة سطح المكتب الرُّسوميِّ</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation>حدث خطأٌ في تشغيل حافظ الشَّاشة! يرجى التَّأكد من أن حافظ شاشة سطح المكتب الرُّسوميِّ مثبَّتٌ ويعمل..</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation>حدث خطأٌ في تشغيل حافظ الشَّاشة! فشلٌ في أمر التَّفعيل! يرجى التَّأكد من أن حافظ شاشة سطح المكتب الرُّسوميِّ مثبَّتٌ ويعمل..</translation>
</message>
<message>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver=%1.</source>
<translation type="vanished">حصل خطأٌ عند تشغيل حافظ الضَّاضة. خطأٌ غير معروفٍ - قيمةٌ جوابيَّةٌ غير موثَّقةٍ من حافظ شاشة إكس دي جي=%1.</translation>
</message>
</context>
<context>
<name>LXQt::ShortcutButton</name>
<message>
<source>Clear</source>
<translation type="obsolete">مسح</translation>
</message>
<message>
<source>None</source>
<translation type="obsolete">شيء</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation>خطأ في مدير الطَّاقة</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation>واجهة اتصال كيوت غير صالحة</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation>خطأ في مدير الطَّاقة (نداء من خطِّ التَّواصل)</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source> About LXQt</source>
<translation type="vanished">نبذةٌ عن نظام ريزر</translation>
</message>
<message>
<source>About</source>
<comment>About dialog, Tab title </comment>
<translation type="vanished">تبذةٌ عن</translation>
</message>
<message>
<source>Technical Info</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">معلوماتٌ تقنيَّةٌ</translation>
</message>
</context>
</TS>

View File

@ -1,367 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="cs">
<context>
<name>AddPluginDialog</name>
<message>
<source>Add plugins</source>
<translation type="obsolete">Přidat přídavné moduly</translation>
</message>
<message>
<source>Search:</source>
<translation type="vanished">Hledat:</translation>
</message>
<message>
<source>Add plugin</source>
<translation type="obsolete">Přidat přídavný modul</translation>
</message>
<message>
<source>Close</source>
<translation type="vanished">Zavřít</translation>
</message>
</context>
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation>Dialog</translation>
</message>
</context>
<context>
<name>LXQt::AboutDialogPrivate</name>
<message>
<source>Version: %1</source>
<translation type="vanished">Verze: %1</translation>
</message>
<message>
<source>Advanced, easy-to-use, and fast desktop environment based on Qt technologies.</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Pokročilé, snadno se používající a rychlé pracovní prostředí založené na technologiích Qt.</translation>
</message>
<message>
<source>Copyright: %1-%2 %3</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Autorské právo: %1-%2 %3</translation>
</message>
<message>
<source>Homepage: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Domovská stránka: %1</translation>
</message>
<message>
<source>License: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Licence: %1</translation>
</message>
<message>
<source>LXQt is translated into many languages thanks to the work of the translation teams all over the world.</source>
<comment>About dialog, &apos;Translations&apos; tab text</comment>
<translation type="vanished">LXQt je přeložen do mnoha jazyků díky práci překladatelských týmů z celého světa.</translation>
</message>
<message>
<source>Yes</source>
<translation type="obsolete">Ano</translation>
</message>
<message>
<source>No</source>
<translation type="obsolete">Ne</translation>
</message>
<message>
<source>&lt;b&gt;LXQt Desktop Toolbox - Technical Info&lt;/b&gt;</source>
<translation type="obsolete">&lt;b&gt;Nástroje LXQt Desktop - Technické informace&lt;/b&gt;</translation>
</message>
<message>
<source>Version</source>
<translation type="obsolete">Verze</translation>
</message>
<message>
<source>Qt</source>
<translation type="obsolete">Qt</translation>
</message>
<message>
<source>Debug Build</source>
<translation type="obsolete">Ladicí sestavení</translation>
</message>
<message>
<source>System Configuration</source>
<translation type="obsolete">Nastavení systému</translation>
</message>
<message>
<source>Share Directory</source>
<translation type="obsolete">Sdílený adresář</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="obsolete">Překlady</translation>
</message>
<message>
<source>&lt;b&gt;User Directories&lt;/b&gt;</source>
<translation type="obsolete">&lt;b&gt;Uživatelské adresáře&lt;/b&gt;</translation>
</message>
<message>
<source>Xdg Data Home</source>
<translation type="obsolete">Domovská složka pro data Xdg</translation>
</message>
<message>
<source>Xdg Config Home</source>
<translation type="obsolete">Domovská složka pro nastavení Xdg</translation>
</message>
<message>
<source>Xdg Data Dirs</source>
<translation type="obsolete">Adresáře pro data Xdg</translation>
</message>
<message>
<source>Xdg Cache Home</source>
<translation type="obsolete">Domovská složka pro vyrovnávací paměť Xdg</translation>
</message>
<message>
<source>Xdg Runtime Home</source>
<translation type="obsolete">Domovská složka pro čas běhu Xdg</translation>
</message>
<message>
<source>Xdg Autostart Dirs</source>
<translation type="obsolete">Adresáře pro automatické spuštění Xdg</translation>
</message>
<message>
<source>Xdg Autostart Home</source>
<translation type="obsolete">Domovská složka pro automatické spuštění Xdg</translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished">Chyba ve správě energie</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation type="unfinished">Hibernace se nezdařila.</translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation>Záloha oznamování</translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation>Hibernovat</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation>Uspat</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation>Restartovat</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation>Vypnout</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation>Odhlásit se</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation>Pozastavení sezení LXQtu</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation>Opravdu chcete uspat svůj počítač?&lt;p&gt;Uvede počítač do stavu s nízkým odběrem elektrické energie. Stav systému není při ztrátě energie zachován.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation>Zazimování sezení LXQtu</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation>Opravdu chcete zazimovat svůj počítač?&lt;p&gt;Uvede počítač do stavu s nízkým odběrem elektrické energie. Stav systému je při ztrátě energie zachován.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation>Spuštění sezení LXQtu znovu</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation>Opravdu chcete spustit svůj počítač znovu?&lt;p&gt;Všechna neuložená práce bude ztracena...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation>Vypnutí sezení LXQtu</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation>Opravdu chcete vypnout svůj počítač?&lt;p&gt;Všechna neuložená práce bude ztracena...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation>Odhlášení sezení LXQtu</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation>Opravdu se chcete odhlásit?&lt;p&gt;Všechna neuložená práce bude ztracena...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation>Chyba ve správě energie</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation>Hibernace se nezdařila.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation>Uspání se nezdařilo.</translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation>Zamknout obrazovku</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation>Chyba při zapínání šetřiče obrazovky</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started due its crash.</source>
<translation type="vanished">Při spouštění šetřiče obrazovky se vyskytla chyba. xdg-screensavernelze spustit kvůli jeho pádu.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver is not installed correctly.</source>
<translation type="vanished">Při spouštění šetřiče obrazovky se vyskytla chyba. xdg-screensaver není nainstalován správně.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started.</source>
<translation type="vanished">Při spouštění šetřiče obrazovky se vyskytla chyba. xdg-screensaver nelze spustit.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation>Při spouštění šetřiče obrazovky se vyskytla chyba. Chybná skladba v argumentech xdg-screensaver.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation>Při spouštění šetřiče obrazovky se vyskytla chyba. Ujistěte se, že máte xdg-screensaver nainstalován a že běží.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation>Při spouštění šetřiče obrazovky se vyskytla chyba. Krok &quot;zapnutí&quot; se nezdařil. Ujistěte se, že máte xdg-screensaver nainstalován a že běží.</translation>
</message>
<message>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver=%1.</source>
<translation type="vanished">Během spouštění spořiče obrazovky se vyskytla chyba. Neznámá chyba - nezdokumentovaná vrácená hodnota od xdg-screensaver=%1.</translation>
</message>
</context>
<context>
<name>LXQt::ShortcutButton</name>
<message>
<source>Clear</source>
<translation type="obsolete">Smazat</translation>
</message>
<message>
<source>None</source>
<translation type="obsolete">Žádný</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation>Chyba správce energie</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation>QDBusInterface je neplatné</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation>Chyba správce energie (volání D-BUS)</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source> About LXQt</source>
<translation type="vanished">O prostředí LXQt</translation>
</message>
<message>
<source>About</source>
<comment>About dialog, Tab title </comment>
<translation type="vanished">O</translation>
</message>
<message>
<source>Authors</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Autoři</translation>
</message>
<message>
<source>Thanks</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Poděkování</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Překlady</translation>
</message>
<message>
<source>Technical Info</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Technické informace</translation>
</message>
</context>
</TS>

View File

@ -1,367 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="cs_CZ">
<context>
<name>AddPluginDialog</name>
<message>
<source>Add plugins</source>
<translation type="obsolete">Přidat přídavné moduly</translation>
</message>
<message>
<source>Search:</source>
<translation type="vanished">Hledat:</translation>
</message>
<message>
<source>Add plugin</source>
<translation type="obsolete">Přidat přídavný modul</translation>
</message>
<message>
<source>Close</source>
<translation type="vanished">Zavřít</translation>
</message>
</context>
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation>Dialog</translation>
</message>
</context>
<context>
<name>LXQt::AboutDialogPrivate</name>
<message>
<source>Version: %1</source>
<translation type="vanished">Verze: %1</translation>
</message>
<message>
<source>Advanced, easy-to-use, and fast desktop environment based on Qt technologies.</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Pokročilé, snadno se používající a rychlé pracovní prostředí založené na technologiích Qt.</translation>
</message>
<message>
<source>Copyright: %1-%2 %3</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Autorské právo: %1-%2 %3</translation>
</message>
<message>
<source>Homepage: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Domovská stránka: %1</translation>
</message>
<message>
<source>License: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Licence: %1</translation>
</message>
<message>
<source>LXQt is translated into many languages thanks to the work of the translation teams all over the world.</source>
<comment>About dialog, &apos;Translations&apos; tab text</comment>
<translation type="vanished">LXQt je přeložen do mnoha jazyků díky práci překladatelských týmů z celého světa.</translation>
</message>
<message>
<source>Yes</source>
<translation type="obsolete">Ano</translation>
</message>
<message>
<source>No</source>
<translation type="obsolete">Ne</translation>
</message>
<message>
<source>&lt;b&gt;LXQt Desktop Toolbox - Technical Info&lt;/b&gt;</source>
<translation type="obsolete">&lt;b&gt;Nástroje LXQt Desktop - Technické informace&lt;/b&gt;</translation>
</message>
<message>
<source>Version</source>
<translation type="obsolete">Verze</translation>
</message>
<message>
<source>Qt</source>
<translation type="obsolete">Qt</translation>
</message>
<message>
<source>Debug Build</source>
<translation type="obsolete">Ladicí sestavení</translation>
</message>
<message>
<source>System Configuration</source>
<translation type="obsolete">Nastavení systému</translation>
</message>
<message>
<source>Share Directory</source>
<translation type="obsolete">Sdílený adresář</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="obsolete">Překlady</translation>
</message>
<message>
<source>&lt;b&gt;User Directories&lt;/b&gt;</source>
<translation type="obsolete">&lt;b&gt;Uživatelské adresáře&lt;/b&gt;</translation>
</message>
<message>
<source>Xdg Data Home</source>
<translation type="obsolete">Domovská složka pro data Xdg</translation>
</message>
<message>
<source>Xdg Config Home</source>
<translation type="obsolete">Domovská složka pro nastavení Xdg</translation>
</message>
<message>
<source>Xdg Data Dirs</source>
<translation type="obsolete">Adresáře pro data Xdg</translation>
</message>
<message>
<source>Xdg Cache Home</source>
<translation type="obsolete">Domovská složka pro vyrovnávací paměť Xdg</translation>
</message>
<message>
<source>Xdg Runtime Home</source>
<translation type="obsolete">Domovská složka pro čas běhu Xdg</translation>
</message>
<message>
<source>Xdg Autostart Dirs</source>
<translation type="obsolete">Adresáře pro automatické spuštění Xdg</translation>
</message>
<message>
<source>Xdg Autostart Home</source>
<translation type="obsolete">Domovská složka pro automatické spuštění Xdg</translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished">Chyba ve správě energie</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation type="unfinished">Hibernace se nezdařila.</translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation>Záloha oznamování</translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation>Hibernovat</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation>Uspat</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation>Restartovat</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation>Vypnout</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation>Odhlásit se</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation>Pozastavení sezení LXQtu</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation>Opravdu chcete uspat svůj počítač?&lt;p&gt;Uvede počítač do stavu s nízkým odběrem elektrické energie. Stav systému není při ztrátě energie zachován.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation>Zazimování sezení LXQtu</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation>Opravdu chcete zazimovat svůj počítač?&lt;p&gt;Uvede počítač do stavu s nízkým odběrem elektrické energie. Stav systému je při ztrátě energie zachován.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation>Spuštění sezení LXQtu znovu</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation>Opravdu chcete spustit svůj počítač znovu?&lt;p&gt;Všechna neuložená práce bude ztracena...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation>Vypnutí sezení LXQtu</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation>Opravdu chcete vypnout svůj počítač?&lt;p&gt;Všechna neuložená práce bude ztracena...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation>Odhlášení sezení LXQtu</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation>Opravdu se chcete odhlásit?&lt;p&gt;Všechna neuložená práce bude ztracena...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation>Chyba ve správě energie</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation>Hibernace se nezdařila.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation>Uspání se nezdařilo.</translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation>Zamknout obrazovku</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation>Chyba při zapínání šetřiče obrazovky</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started due its crash.</source>
<translation type="vanished">Při spouštění šetřiče obrazovky se vyskytla chyba. xdg-screensavernelze spustit kvůli jeho pádu.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver is not installed correctly.</source>
<translation type="vanished">Při spouštění šetřiče obrazovky se vyskytla chyba. xdg-screensaver není nainstalován správně.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started.</source>
<translation type="vanished">Při spouštění šetřiče obrazovky se vyskytla chyba. xdg-screensaver nelze spustit.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation>Při spouštění šetřiče obrazovky se vyskytla chyba. Chybná skladba v argumentech xdg-screensaver.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation>Při spouštění šetřiče obrazovky se vyskytla chyba. Ujistěte se, že máte xdg-screensaver nainstalován a že běží.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation>Při spouštění šetřiče obrazovky se vyskytla chyba. Krok &quot;zapnutí&quot; se nezdařil. Ujistěte se, že máte xdg-screensaver nainstalován a že běží.</translation>
</message>
<message>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver=%1.</source>
<translation type="vanished">Během spouštění spořiče obrazovky se vyskytla chyba. Neznámá chyba - nezdokumentovaná vrácená hodnota od xdg-screensaver=%1.</translation>
</message>
</context>
<context>
<name>LXQt::ShortcutButton</name>
<message>
<source>Clear</source>
<translation type="obsolete">Smazat</translation>
</message>
<message>
<source>None</source>
<translation type="obsolete">Žádný</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation>Chyba správce energie</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation>QDBusInterface je neplatné</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation>Chyba správce energie (volání D-BUS)</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source> About LXQt</source>
<translation type="vanished">O prostředí LXQt</translation>
</message>
<message>
<source>About</source>
<comment>About dialog, Tab title </comment>
<translation type="vanished">O</translation>
</message>
<message>
<source>Authors</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Autoři</translation>
</message>
<message>
<source>Thanks</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Poděkování</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Překlady</translation>
</message>
<message>
<source>Technical Info</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Technické informace</translation>
</message>
</context>
</TS>

View File

@ -1,188 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="da">
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -1,367 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="da_DK">
<context>
<name>AddPluginDialog</name>
<message>
<source>Add plugins</source>
<translation type="obsolete">Tilføj plugins</translation>
</message>
<message>
<source>Search:</source>
<translation type="vanished">Søg:</translation>
</message>
<message>
<source>Add plugin</source>
<translation type="obsolete">Tilføj plugin</translation>
</message>
<message>
<source>Close</source>
<translation type="vanished">Afslut</translation>
</message>
</context>
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation>Dialog</translation>
</message>
</context>
<context>
<name>LXQt::AboutDialogPrivate</name>
<message>
<source>Version: %1</source>
<translation type="vanished">Version: %1</translation>
</message>
<message>
<source>Advanced, easy-to-use, and fast desktop environment based on Qt technologies.</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Avanceret, nem at bruge, hurtigt skrivebordsmiljø baseret Qt teknologier.</translation>
</message>
<message>
<source>Copyright: %1-%2 %3</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Copyright: %1-%2 %3</translation>
</message>
<message>
<source>Homepage: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Hjemmeside: %1</translation>
</message>
<message>
<source>License: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Licens: %1</translation>
</message>
<message>
<source>LXQt is translated into many languages thanks to the work of the translation teams all over the world.</source>
<comment>About dialog, &apos;Translations&apos; tab text</comment>
<translation type="vanished">LXQt er oversat til mange sprog takket være oversættere fra hele verden.</translation>
</message>
<message>
<source>Yes</source>
<translation type="obsolete">Ja</translation>
</message>
<message>
<source>No</source>
<translation type="obsolete">Nej</translation>
</message>
<message>
<source>&lt;b&gt;LXQt Desktop Toolbox - Technical Info&lt;/b&gt;</source>
<translation type="obsolete">&lt;b&gt;LXQt Desktop Værktøjskasse - Teknisk Information&lt;/b&gt;</translation>
</message>
<message>
<source>Version</source>
<translation type="obsolete">Version</translation>
</message>
<message>
<source>Qt</source>
<translation type="obsolete">Qt</translation>
</message>
<message>
<source>Debug Build</source>
<translation type="obsolete">Fejlsøgningsversion</translation>
</message>
<message>
<source>System Configuration</source>
<translation type="obsolete">Systemindstillinger</translation>
</message>
<message>
<source>Share Directory</source>
<translation type="obsolete">Delt Katalog</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="obsolete">Oversættelser</translation>
</message>
<message>
<source>&lt;b&gt;User Directories&lt;/b&gt;</source>
<translation type="obsolete">&lt;b&gt;Bruger Biblioteker&lt;/b&gt;</translation>
</message>
<message>
<source>Xdg Data Home</source>
<translation type="obsolete">Xdg Brugerdata Katalog</translation>
</message>
<message>
<source>Xdg Config Home</source>
<translation type="obsolete">Xdg Konfigurationsdata Katalog</translation>
</message>
<message>
<source>Xdg Data Dirs</source>
<translation type="obsolete">Xdg Data Kataloger</translation>
</message>
<message>
<source>Xdg Cache Home</source>
<translation type="obsolete">Xdg Cache Katalog</translation>
</message>
<message>
<source>Xdg Runtime Home</source>
<translation type="obsolete">Xdg udførselskatalog</translation>
</message>
<message>
<source>Xdg Autostart Dirs</source>
<translation type="obsolete">Xdg Autostart Katalog</translation>
</message>
<message>
<source>Xdg Autostart Home</source>
<translation type="obsolete">Xdg Autostart Hjemmekatalog</translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished">LXQt Strømstyringsfejl</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation type="unfinished">Dvaletilstand mislykkedes.</translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation>Alternativ Påmindelse</translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation>Dvale</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation>Slumre</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation>Genstart</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation>Luk ned</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation>Log ud</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation>LXQt Session Slumre</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation>Vil du virkelig sætte din computer i slumretilstand?&lt;p&gt;Slumretilstand sætter computeren i energispare tilstand. Systemtilstanden mistes hvis strømmen forsvinder.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation>LXQt Session Dvale</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation>Vil du virkelig sætte din computer i dvaletilstand?&lt;p&gt;Dvaletilstand sætter computeren i energispare tilstand. Systemtilstanden bibeholdes hvis strømmen forsvinder.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation>LXQt Session Genstart</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation>Vil du virkelig genstarte din computer? Alt arbejde der ikke er blevet gemt, vil tabt...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation>LXQt Session Luk Ned</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation>Vil du virkelig slukke din computer? Alt arbejde der ikke er blevet gemt, vil tabt...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation>LXQt Session Log Ud</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation>Vil du virkelig logge ud? Alt arbejde der ikke er blevet gemt, vil tabt...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation>LXQt Strømstyringsfejl</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation>Dvaletilstand mislykkedes.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation>Slumretilstand mislykkedes.</translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation>Lås Skærm</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation>Fejl ved aktivering af pauseskærm</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started due its crash.</source>
<translation type="vanished">Fejl ved start af screensaver. xdg-pauseskærm kan ikke starte grund af nedbrud.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver is not installed correctly.</source>
<translation type="vanished">Fejl ved start af screensaver. xdg-pauseskærm er ikke korrekt installeret.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started.</source>
<translation type="vanished">Fejl ved start af screensaver. xdg-pauseskærm kan ikke starte.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation>Fejl ved start af screensaver. Syntaksfejl i argumenter til xdg-pauseskærm.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation>Fejl ved start af screensaver. Sørg for at du har xscreensaver installeret og kørende.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation>Fejl ved start af screensaver. Handling &apos;aktivere&apos; mislykkedes. Sørg for at du har xscreensaver installeret og kørende.</translation>
</message>
<message>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver=%1.</source>
<translation type="vanished">En fejl opstod ved start af pauseskærm. Ukendt fejl - udokumenteret returværdi sendt fra xdg-screensaver=%1.</translation>
</message>
</context>
<context>
<name>LXQt::ShortcutButton</name>
<message>
<source>Clear</source>
<translation type="obsolete">Rens</translation>
</message>
<message>
<source>None</source>
<translation type="obsolete">Ingen</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation>Strømstyrings fejl</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation>QDBusInterface er ugyldig</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation>Strømstyrings fejl (D-BUS kald)</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source> About LXQt</source>
<translation type="vanished"> Om LXQt</translation>
</message>
<message>
<source>About</source>
<comment>About dialog, Tab title </comment>
<translation type="vanished">Omkring</translation>
</message>
<message>
<source>Authors</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Forfattere</translation>
</message>
<message>
<source>Thanks</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Tak</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Oversættelser</translation>
</message>
<message>
<source>Technical Info</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Teknisk Information</translation>
</message>
</context>
</TS>

View File

@ -1,188 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="de">
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation>Dialog</translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation>Fehler der LXQt-Energieverwaltung</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation>Tiefschlaf fehlgeschlagen.</translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation>Ersatzbenachrichtigung</translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation>Tiefschlaf</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation>Bereitschaft</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation>Neustart</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation>Herunterfahren</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation>Abmelden</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation>LXQt Bereitschaft</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation>Möchten Sie ihren Computer in Bereitschaft versetzen?&lt;p&gt;Dies versetzt ihren Computer in einen Energiesparmodus. Der Systemzustand geht verloren, wenn die Energiezufuhr abbricht.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation>LXQt Tiefschlaf</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation>Möchten Sie ihren Computer in Tiefschlaf versetzen?&lt;p&gt;Dies versetzt ihren Computer in einen Energiesparmodus. Der Systemzustand bleibt erhalten, wenn die Energiezufuhr abbricht.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation>LXQt Neustart</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation>Möchten Sie ihren Computer wirklich neustarten? Alle ungespeicherten Arbeiten gehen verloren...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation>LXQt Herunterfahren</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation>Möchten Sie ihren Computer wirklich herunterfahren? Alle ungespeicherten Arbeiten gehen verloren...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation>LXQt Abmelden</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation>Möchten Sie sich wirklich abmelden? Alle ungespeicherten Arbeiten gehen verloren...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation>Fehler der LXQt-Energieverwaltung</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation>Tiefschlaf fehlgeschlagen.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation>Bereitschaft fehlgeschlagen.</translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation>Bildschirm sperren</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation>Bildschirmschoner-Fehler</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation>Beim Starten des Bildschirmschoners ist ein Fehler aufgetreten. Syntaxfehler in den Parametern für xdg-screensaver.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation>Fehler beim Aktivieren des Bildschirmschoners</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation>Beim Starten des Bildschirmschoners ist ein Fehler aufgetreten. Bitte stellen Sie sicher, dass xscreensaver installiert ist und funktioniert.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation>Beim Starten des Bildschirmschoners ist ein Fehler aufgetreten. Aktion &apos;aktivieren&apos; fehlgeschlagen. Bitte stellen Sie sicher, dass xscreensaver installiert ist und funktioniert.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation>Beim Starten des Bildschirmschoners ist ein Fehler aufgetreten. Unbekannter Fehler - ein undokumentierter Rückgabewert wurde von xdg-screensaver ausgegeben: %1.</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation>Fehler der Energieverwaltung</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation>QDBusInterface ist ungültig</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation>Fehler der Energieverwaltung (D-BUS-Aufruf)</translation>
</message>
</context>
</TS>

View File

@ -1,367 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="el">
<context>
<name>AddPluginDialog</name>
<message>
<source>Add plugins</source>
<translation type="obsolete">Προσθήκη πρόσθετων</translation>
</message>
<message>
<source>Search:</source>
<translation type="vanished">Αναζήτηση:</translation>
</message>
<message>
<source>Add plugin</source>
<translation type="obsolete">Προσθήκη επέκτασης</translation>
</message>
<message>
<source>Close</source>
<translation type="vanished">Κλείσιμο</translation>
</message>
</context>
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation>Διάλογος</translation>
</message>
</context>
<context>
<name>LXQt::AboutDialogPrivate</name>
<message>
<source>Version: %1</source>
<translation type="vanished">Έκδοση: %1</translation>
</message>
<message>
<source>Advanced, easy-to-use, and fast desktop environment based on Qt technologies.</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Προηγμένη, εύκολη στη χρήση και γρήγορη επιφάνεια εργασίας με βάση τις τεχνολογίες Qt.</translation>
</message>
<message>
<source>Copyright: %1-%2 %3</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Πνευματικά δικαιώματα: %1-%2 %3</translation>
</message>
<message>
<source>Homepage: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Ιστοσελίδα: %1</translation>
</message>
<message>
<source>License: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Άδεια χρήσης: %1</translation>
</message>
<message>
<source>LXQt is translated into many languages thanks to the work of the translation teams all over the world.</source>
<comment>About dialog, &apos;Translations&apos; tab text</comment>
<translation type="vanished">Το LXQt έχει μεταφραστεί σε πολλές γλώσσες χάρη στο έργο των μεταφραστικών ομάδων ανά την υφήλιο.</translation>
</message>
<message>
<source>Yes</source>
<translation type="obsolete">Ναι</translation>
</message>
<message>
<source>No</source>
<translation type="obsolete">Όχι</translation>
</message>
<message>
<source>&lt;b&gt;LXQt Desktop Toolbox - Technical Info&lt;/b&gt;</source>
<translation type="obsolete">&lt;b&gt;Επιφάνεια εργασίας LXQt - Τεχνικές πληροφορίες&lt;/b&gt;</translation>
</message>
<message>
<source>Version</source>
<translation type="obsolete">Έκδοση</translation>
</message>
<message>
<source>Qt</source>
<translation type="obsolete">Qt</translation>
</message>
<message>
<source>Debug Build</source>
<translation type="obsolete">Κατασκευή αποσφαλμάτωσης</translation>
</message>
<message>
<source>System Configuration</source>
<translation type="obsolete">Διαμόρφωση συστήματος</translation>
</message>
<message>
<source>Share Directory</source>
<translation type="obsolete">Κοινόχρηστος κατάλογος</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="obsolete">Μεταφράσεις</translation>
</message>
<message>
<source>&lt;b&gt;User Directories&lt;/b&gt;</source>
<translation type="obsolete">&lt;b&gt;Κατάλογοι χρηστών&lt;/b&gt;</translation>
</message>
<message>
<source>Xdg Data Home</source>
<translation type="obsolete">Αρχικός κατάλογος δεδομένων xdg</translation>
</message>
<message>
<source>Xdg Config Home</source>
<translation type="obsolete">Αρχικός κατάλογος διαμόρφωσης xdg</translation>
</message>
<message>
<source>Xdg Data Dirs</source>
<translation type="obsolete">Κατάλογοι δεδομένων xdg</translation>
</message>
<message>
<source>Xdg Cache Home</source>
<translation type="obsolete">Αρχικός κατάλογος λανθάνουσας μνήμης xdg</translation>
</message>
<message>
<source>Xdg Runtime Home</source>
<translation type="obsolete">Αρχικός κατάλογος εκτέλεσης xdg</translation>
</message>
<message>
<source>Xdg Autostart Dirs</source>
<translation type="obsolete">Κατάλογοι αυτόματης εκκίνησης xdg</translation>
</message>
<message>
<source>Xdg Autostart Home</source>
<translation type="obsolete">Αρχικός κατάλογος αυτόματης εκκίνησης xdg</translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation>Σφάλμα διαχείρισης ενέργειας LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation>Αποτυχία νάρκωσης.</translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation>Ανακατεύθυνση ειδοποιήσεων</translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation>Νάρκη</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation>Αναστολή</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation>Επανεκκίνηση</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation>Τερματισμός</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation>Αποσύνδεση</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation>Αναστολή της συνεδρίας LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation>Θέλετε πραγματικά να γίνει αναστολή του υπολογιστή;&lt;p&gt;Θέτει τον υπολογιστή σε κατάσταση χαμηλής κατανάλωσης. Η κατάσταση του συστήματος δεν διατηρείται εάν διακοπεί η παροχή ρεύματος.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation>Νάρκωση της συνεδρίας LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation>Θέλετε πραγματικά να τεθεί σε νάρκη ο υπολογιστής;&lt;p&gt;Θέτει τον υπολογιστή σε κατάσταση χαμηλής κατανάλωσης. Η κατάσταση του συστήματος διατηρείται εάν διακοπεί η παροχή ρεύματος.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation>Επανεκκίνηση συνεδρίας LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation>Θέλετε πραγματικά να επανεκκινήσετε τον υπολογιστή; Όλες οι μη αποθηκευμένες εργασίες σας θα χαθούν...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation>Τερματισμός συνεδρίας LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation>Θέλετε πραγματικά να τερματίσετε τον υπολογιστή; Όλες οι μη αποθηκευμένες εργασίες σας θα χαθούν...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation>Αποσύνδεση της συνεδρίας LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation>Θέλετε πραγματικά να αποσυνδεθείτε; Όλες οι μη αποθηκευμένες εργασίες σας θα χαθούν...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation>Σφάλμα διαχείρισης της ενέργειας LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation>Αποτυχία νάρκωσης.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation>Αποτυχία αναστολής.</translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation>Κλείδωμα οθόνης</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation>Σφάλμα ενεργοποίησης της προστασίας οθόνης</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started due its crash.</source>
<translation type="vanished">Προκλήθηκε ένα σφάλμα κατά την έναρξη της προστασίας οθόνης. Αδυναμία εκκίνησης της προστασίας οθόνης xdg λόγω κατάρρευσης.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver is not installed correctly.</source>
<translation type="vanished">Προκλήθηκε ένα σφάλμα κατά την έναρξη της προστασίας οθόνης. Η προστασία οθόνης xdg δεν είναι εγκατεστημένη σωστά.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started.</source>
<translation type="vanished">Προκλήθηκε ένα σφάλμα κατά την έναρξη της προστασίας οθόνης. Αδυναμία έναρξης της προστασίας οθόνης xdg.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation>Προκλήθηκε ένα σφάλμα κατά την έναρξη της προστασίας οθόνης. Σφάλμα σύνταξης των παραμέτρων της προστασίας οθόνης xdg.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation>Προκλήθηκε ένα σφάλμα κατά την έναρξη της προστασίας οθόνης. Διασφαλίστε ότι η προστασία οθόνης είναι εγκατεστημένη και ότι εκτελείται.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation>Προκλήθηκε ένα σφάλμα κατά την έναρξη της προστασία οθόνης. Αποτυχία ενέργειας «ενεργοποίηση». Διασφαλίστε ότι η προστασία οθόνης είναι εγκατεστημένη και ότι εκτελείται.</translation>
</message>
<message>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver=%1.</source>
<translation type="vanished">Προκλήθηκε ένα σφάλμα κατά την έναρξη της προστασίας οθόνης. Άγνωστο σφάλμα - μη τεκμηριωμένη τιμή επιστροφής από την προστασία οθόνης=%1.</translation>
</message>
</context>
<context>
<name>LXQt::ShortcutButton</name>
<message>
<source>Clear</source>
<translation type="obsolete">Καθαρισμός</translation>
</message>
<message>
<source>None</source>
<translation type="obsolete">Κανένα</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation>Σφάλμα διαχείρισης ενέργειας</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation>Το QDBusInterface δεν είναι έγκυρο</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation>Σφάλμα διαχείρισης ενέργειας (κλήση D-BUS)</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source> About LXQt</source>
<translation type="vanished"> Σχετικά με το LXQt</translation>
</message>
<message>
<source>About</source>
<comment>About dialog, Tab title </comment>
<translation type="vanished">Σχετικά</translation>
</message>
<message>
<source>Authors</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Συγγραφείς</translation>
</message>
<message>
<source>Thanks</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Ευχαριστίες</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Μεταφράσεις</translation>
</message>
<message>
<source>Technical Info</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Τεχνικές πληροφορίες</translation>
</message>
</context>
</TS>

View File

@ -1,246 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="eo">
<context>
<name>AddPluginDialog</name>
<message>
<source>Add plugins</source>
<translation type="obsolete">Aldoni kromprogramojn</translation>
</message>
<message>
<source>Search:</source>
<translation type="vanished">Serĉi:</translation>
</message>
<message>
<source>Add plugin</source>
<translation type="obsolete">Aldoni kromprogramon</translation>
</message>
<message>
<source>Close</source>
<translation type="vanished">Fermi</translation>
</message>
</context>
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation>Dialogo</translation>
</message>
</context>
<context>
<name>LXQt::AboutDialogPrivate</name>
<message>
<source>Yes</source>
<translation type="obsolete">Jes</translation>
</message>
<message>
<source>No</source>
<translation type="obsolete">Ne</translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation type="unfinished">Pasivumigo fiaskis.</translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation>Pasivumigi</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation>Prokrasti</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation>Restartigi</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation>Elŝalti</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation>Elsaluti</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation>Pasivumigo fiaskis.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation>Prokrasto fiaskis.</translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation>Ŝlosi ekranon</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::ShortcutButton</name>
<message>
<source>Clear</source>
<translation type="obsolete">Vakigi</translation>
</message>
<message>
<source>None</source>
<translation type="obsolete">Nenio</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation>QDBusInterface nevalidas</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source> About LXQt</source>
<translation type="vanished"> Pri LXQto</translation>
</message>
<message>
<source>About</source>
<comment>About dialog, Tab title </comment>
<translation type="vanished">Pri</translation>
</message>
<message>
<source>Technical Info</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Teknikaj informoj</translation>
</message>
</context>
</TS>

View File

@ -1,367 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="es">
<context>
<name>AddPluginDialog</name>
<message>
<source>Add plugins</source>
<translation type="obsolete">Añadir extensiones</translation>
</message>
<message>
<source>Search:</source>
<translation type="vanished">Buscar:</translation>
</message>
<message>
<source>Add plugin</source>
<translation type="obsolete">Añadir extensión</translation>
</message>
<message>
<source>Close</source>
<translation type="vanished">Cerrar</translation>
</message>
</context>
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation>Dialogo</translation>
</message>
</context>
<context>
<name>LXQt::AboutDialogPrivate</name>
<message>
<source>Version: %1</source>
<translation type="vanished">Versión %1</translation>
</message>
<message>
<source>Advanced, easy-to-use, and fast desktop environment based on Qt technologies.</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Avanzado, fácil de usar y rápido entorno de escritorio basado en tecnologías Qt.</translation>
</message>
<message>
<source>Copyright: %1-%2 %3</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Copyright: %1-%2 %3</translation>
</message>
<message>
<source>Homepage: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Página principal: %1</translation>
</message>
<message>
<source>License: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Licencia: %1</translation>
</message>
<message>
<source>LXQt is translated into many languages thanks to the work of the translation teams all over the world.</source>
<comment>About dialog, &apos;Translations&apos; tab text</comment>
<translation type="vanished">LXQt es traducido a muchos idiomas gracias a la labor de los equipos de traducción en todo el mundo.</translation>
</message>
<message>
<source>Yes</source>
<translation type="obsolete">Si</translation>
</message>
<message>
<source>No</source>
<translation type="obsolete">No</translation>
</message>
<message>
<source>&lt;b&gt;LXQt Desktop Toolbox - Technical Info&lt;/b&gt;</source>
<translation type="obsolete">&lt;b&gt;Caja de herramientas del Escritorio LXQt - Información técnica&lt;/b&gt;</translation>
</message>
<message>
<source>Version</source>
<translation type="obsolete">Versión</translation>
</message>
<message>
<source>Qt</source>
<translation type="obsolete">Qt</translation>
</message>
<message>
<source>Debug Build</source>
<translation type="obsolete">Construcción con símbolos de depuración</translation>
</message>
<message>
<source>System Configuration</source>
<translation type="obsolete">Configuración del Sistema</translation>
</message>
<message>
<source>Share Directory</source>
<translation type="obsolete">Directorio compartido</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="obsolete">Traducciones</translation>
</message>
<message>
<source>&lt;b&gt;User Directories&lt;/b&gt;</source>
<translation type="obsolete">&lt;b&gt;Directorios de usuario&lt;/b&gt;</translation>
</message>
<message>
<source>Xdg Data Home</source>
<translation type="obsolete">Xdg Datos de inicio de usuario</translation>
</message>
<message>
<source>Xdg Config Home</source>
<translation type="obsolete">Xdg Configuración de inicio del usuario</translation>
</message>
<message>
<source>Xdg Data Dirs</source>
<translation type="obsolete">Xdg Directorios de datos</translation>
</message>
<message>
<source>Xdg Cache Home</source>
<translation type="obsolete">Xdg Cache de inicio de usuario</translation>
</message>
<message>
<source>Xdg Runtime Home</source>
<translation type="obsolete">Xdg Inicio de ejecución de usuario</translation>
</message>
<message>
<source>Xdg Autostart Dirs</source>
<translation type="obsolete">Xdg Directorio de inicio automático</translation>
</message>
<message>
<source>Xdg Autostart Home</source>
<translation type="obsolete">Xdg Directorio de usuario de inicio automático</translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished">Error del gestor de energía de LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation type="unfinished">Hibernación fallida.</translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation>Notificaciones de retorno</translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation>Hibernar</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation>Suspender</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation>Reiniciar</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation>Apagar</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation>Cerrar sesión</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation>Suspender sesión LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation>¿Realmente desdea suspender su PC?&lt;p&gt;Suspende la PC a un estado de bajo consumo. El estado del sistema no se preserva si se agota la energía.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation>Hibernar la sesión LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation>¿Realmente desea hibernar su PC?&lt;p&gt;Hiberna la PC a un estado de bajo consumo. El estado del sistema se preserva si se agota la energía.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation>Reiniciar la sesión LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation>¿Realmente desea reiniciar su PC? Todo el trabajo sin guardar se perderá...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation>Apagar la sesión LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation>¿Realmente desea apagar su PC? Todo el trabajo sin guardar se perderá...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation>Cerrar la sesión LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation>¿Realmente desea cerrar la sesión? Todo el trabajo sin guardar se perderá...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation>Error del gestor de energía de LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation>Hibernación fallida.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation>Suspensión fallida.</translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation>Bloquear pantalla</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation>Error de activación del protector de pantalla</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started due its crash.</source>
<translation type="vanished">Ocurrió un error al iniciar el protector de pantalla. xdg-screensaver no puede iniciar debido a un error.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver is not installed correctly.</source>
<translation type="vanished">Ocurrió un error al iniciar el protector de pantalla. xdg-screensaver no está correctamente instalado.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started.</source>
<translation type="vanished">Ocurrió un error al iniciar el protector de pantalla. xdg-screensaver no puede iniciar.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation>Ocurrió un error al iniciar el protector de pantalla. Error de sintaxis en los argumentos de xdg-screensaver.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation>Ocurrió un error al iniciar el protector de pantalla. Asegúrese de tener xdg-screensaver instalado y ejecutándose.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation>Ocurrió un error al iniciar el protector de pantalla. La acción &apos;activate&apos; falló. Asegúrese de tener xdg-screensaver instalado y ejecutándose.</translation>
</message>
<message>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver=%1.</source>
<translation type="vanished">Ocurrio un error al inicio el protector de pantalla. Error desconocido - valor de retorno de xdg-screensaver no documentado=%1</translation>
</message>
</context>
<context>
<name>LXQt::ShortcutButton</name>
<message>
<source>Clear</source>
<translation type="obsolete">Limpiar</translation>
</message>
<message>
<source>None</source>
<translation type="obsolete">Ninguno</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation>Error del administrador de energía</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation>QDBusInterface es inválido</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation>Error en el adminstrador de energía (llamado D-BUS)</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source> About LXQt</source>
<translation type="vanished">Acerca de LXQt</translation>
</message>
<message>
<source>About</source>
<comment>About dialog, Tab title </comment>
<translation type="vanished">Acerca</translation>
</message>
<message>
<source>Authors</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Autores</translation>
</message>
<message>
<source>Thanks</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Gracias</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Traducciones</translation>
</message>
<message>
<source>Technical Info</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Información Técnica</translation>
</message>
</context>
</TS>

View File

@ -1,367 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="es_VE">
<context>
<name>AddPluginDialog</name>
<message>
<source>Add plugins</source>
<translation type="obsolete">Agregar plugins</translation>
</message>
<message>
<source>Search:</source>
<translation type="vanished">Buscar:</translation>
</message>
<message>
<source>Add plugin</source>
<translation type="obsolete">Agregar plugin</translation>
</message>
<message>
<source>Close</source>
<translation type="vanished">Cerrar</translation>
</message>
</context>
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation>Dialogo</translation>
</message>
</context>
<context>
<name>LXQt::AboutDialogPrivate</name>
<message>
<source>Version: %1</source>
<translation type="vanished">Version: %1</translation>
</message>
<message>
<source>Advanced, easy-to-use, and fast desktop environment based on Qt technologies.</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Avanzado, facil de usar, rapido entorno de escritorio basado en tecnologia QT.</translation>
</message>
<message>
<source>Copyright: %1-%2 %3</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Copyright: %1-%2 %3</translation>
</message>
<message>
<source>Homepage: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">pagina web: %1</translation>
</message>
<message>
<source>License: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Licencia: %1</translation>
</message>
<message>
<source>LXQt is translated into many languages thanks to the work of the translation teams all over the world.</source>
<comment>About dialog, &apos;Translations&apos; tab text</comment>
<translation type="vanished">LXQt es traducido en muchos lenguajes gracias al trabajo de traductores en todo el mundo.</translation>
</message>
<message>
<source>Yes</source>
<translation type="obsolete">Si</translation>
</message>
<message>
<source>No</source>
<translation type="obsolete">No</translation>
</message>
<message>
<source>&lt;b&gt;LXQt Desktop Toolbox - Technical Info&lt;/b&gt;</source>
<translation type="obsolete">&lt;b&gt;Utilidad de Escritorio LXQt - Informacion&lt;/b&gt;</translation>
</message>
<message>
<source>Version</source>
<translation type="obsolete">Version</translation>
</message>
<message>
<source>Qt</source>
<translation type="obsolete">Qt</translation>
</message>
<message>
<source>Debug Build</source>
<translation type="obsolete">Debug Build</translation>
</message>
<message>
<source>System Configuration</source>
<translation type="obsolete">Configuracion del sistema</translation>
</message>
<message>
<source>Share Directory</source>
<translation type="obsolete">Directorio de Data</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="obsolete">Traducciones</translation>
</message>
<message>
<source>&lt;b&gt;User Directories&lt;/b&gt;</source>
<translation type="obsolete">&lt;b&gt;Directorio de usuario&lt;/b&gt;</translation>
</message>
<message>
<source>Xdg Data Home</source>
<translation type="obsolete">Xdg Data Home</translation>
</message>
<message>
<source>Xdg Config Home</source>
<translation type="obsolete">Xdg Config Home</translation>
</message>
<message>
<source>Xdg Data Dirs</source>
<translation type="obsolete">Xdg Data Dirs</translation>
</message>
<message>
<source>Xdg Cache Home</source>
<translation type="obsolete">Xdg Cache Home</translation>
</message>
<message>
<source>Xdg Runtime Home</source>
<translation type="obsolete">Xdg Runtime Home</translation>
</message>
<message>
<source>Xdg Autostart Dirs</source>
<translation type="obsolete">Xdg Autostart Dirs</translation>
</message>
<message>
<source>Xdg Autostart Home</source>
<translation type="obsolete">Xdg Autostart Home</translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished">Error en Gestion de energia de LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation type="unfinished">Hibernacion ha fallado.</translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation>Delegacion de notificaciones</translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation>Hibernar</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation>Suspender</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation>Reiniciar</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation>Apagar</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation>Salirse</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation>Suspension del sistema por LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation>Quiere usted realmente suspender su computador?&lt;p&gt;Suspendera el computador en un estado de baja energia. El estado del sistema operativo no se preservara ante la perdida o caida de energia.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation>Hibernacion del sistema por LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation>Quiere usted realmente hibernar su computador?&lt;p&gt;Hibernara el computador en un estado de baja energia y lo guardara en el disco. El estado del sistema si se preservara ante la perdida o caida de energia.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation>Reinicio del sistema por LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation>Quiere usted realmente reiniciar su computador? Todo el trabajo realizado se perdera si no lo ha guardado, dado que se cerrara...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation>Apagado del sistema por LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation>Quiere usted realmente apagar su computador?&lt;p&gt; Todo el trabajo realizado se perdera si no lo ha guardado, dado que se apagara...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation>Cierre de la sesion por LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation>Quiere realmente cerar su sesion? Todo el trabajo realizado se perdera si no lo ha guardado, dado que se cerrara...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation>Error en Gestion de energia de LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation>Hibernacion ha fallado.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation>Suspensión ha fallado.</translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation>Bloquear Pantalla</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation>Activacion de salvapantallas erronea</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started due its crash.</source>
<translation type="vanished">Un error ha ocurrido al iniciar el salvapantallas. xdg-screensaver no puede iniciarlo debido a un fallo grave.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver is not installed correctly.</source>
<translation type="vanished">Un error ha ocurridoal iniciar el salvapantallas. xdg-screensaver no esta instalado correctamente.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started.</source>
<translation type="vanished">Un error ha ocurridoal iniciar el salvapantallas. xdg-screensaver no puede iniciarse.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation>Un error ha ocurridoal iniciar el salvapantallas. Error en argumentos dados a xdg-screensaver.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation>Un error ha ocurridoal iniciar el salvapantallas. Asegurate tengas el xscreensaver instalado y ejecutandose.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation>Un error ha ocurridoal iniciar el salvapantallas. Accion &apos;activate&apos; fallida. Asegurate tengas xscreensaver instalado y corriendo.</translation>
</message>
<message>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver=%1.</source>
<translation type="vanished">Un error ocurrio iniciando el salvapantallas. Desconocido - valor retornado indocumentado desde xdg-screensaver=%1.</translation>
</message>
</context>
<context>
<name>LXQt::ShortcutButton</name>
<message>
<source>Clear</source>
<translation type="obsolete">Limpiar</translation>
</message>
<message>
<source>None</source>
<translation type="obsolete">Nada</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation>Error del manejador de energia</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation>La interfaz Dbus Qt es invalida</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation>Error del manejador de energia (llamada Dbus)</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source> About LXQt</source>
<translation type="vanished">Acerca de LXQt</translation>
</message>
<message>
<source>About</source>
<comment>About dialog, Tab title </comment>
<translation type="vanished">Acerca</translation>
</message>
<message>
<source>Authors</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Autores</translation>
</message>
<message>
<source>Thanks</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Agradecimientos</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Traducciones</translation>
</message>
<message>
<source>Technical Info</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Informacion</translation>
</message>
</context>
</TS>

View File

@ -1,367 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="eu">
<context>
<name>AddPluginDialog</name>
<message>
<source>Add plugins</source>
<translation type="obsolete">Gehitu pluginak</translation>
</message>
<message>
<source>Search:</source>
<translation type="vanished">Bilatu:</translation>
</message>
<message>
<source>Add plugin</source>
<translation type="obsolete">Gehitu plugina</translation>
</message>
<message>
<source>Close</source>
<translation type="vanished">Itxi</translation>
</message>
</context>
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation>Elkarrizketa-koadroa</translation>
</message>
</context>
<context>
<name>LXQt::AboutDialogPrivate</name>
<message>
<source>Version: %1</source>
<translation type="vanished">Bertsioa: %1</translation>
</message>
<message>
<source>Advanced, easy-to-use, and fast desktop environment based on Qt technologies.</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Qt teknologietan oinarritutako mahaigain-ingurune aurreratu, erabilerraz eta azkarra.</translation>
</message>
<message>
<source>Copyright: %1-%2 %3</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Copyright-a: %1-%2 %3</translation>
</message>
<message>
<source>Homepage: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Webgunea: %1</translation>
</message>
<message>
<source>License: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Lizentzia: %1</translation>
</message>
<message>
<source>LXQt is translated into many languages thanks to the work of the translation teams all over the world.</source>
<comment>About dialog, &apos;Translations&apos; tab text</comment>
<translation type="vanished">LXQt hainbat hizkuntzetara itzulita dago mundu osoko itzulpen-taldeen lanari esker.</translation>
</message>
<message>
<source>Yes</source>
<translation type="obsolete">Bai</translation>
</message>
<message>
<source>No</source>
<translation type="obsolete">Ez</translation>
</message>
<message>
<source>&lt;b&gt;LXQt Desktop Toolbox - Technical Info&lt;/b&gt;</source>
<translation type="obsolete">&lt;b&gt;LXQt mahaigainaren tresna-jokoa - Informazio teknikoa&lt;/b&gt;</translation>
</message>
<message>
<source>Version</source>
<translation type="obsolete">Bertsioa</translation>
</message>
<message>
<source>Qt</source>
<translation type="obsolete">Qt</translation>
</message>
<message>
<source>Debug Build</source>
<translation type="obsolete">Arazteko eraikitzea</translation>
</message>
<message>
<source>System Configuration</source>
<translation type="obsolete">Sistemaren konfigurazioa</translation>
</message>
<message>
<source>Share Directory</source>
<translation type="obsolete">Partekatu direktorioa</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="obsolete">Itzulpenak</translation>
</message>
<message>
<source>&lt;b&gt;User Directories&lt;/b&gt;</source>
<translation type="obsolete">&lt;b&gt;Erabiltzailearen direktorioak&lt;/b&gt;</translation>
</message>
<message>
<source>Xdg Data Home</source>
<translation type="obsolete">Xdg datuen etxea</translation>
</message>
<message>
<source>Xdg Config Home</source>
<translation type="obsolete">Xdg konfigurazioen etxea</translation>
</message>
<message>
<source>Xdg Data Dirs</source>
<translation type="obsolete">Xdg datuen direktorioak</translation>
</message>
<message>
<source>Xdg Cache Home</source>
<translation type="obsolete">Xdg cache-aren etxea</translation>
</message>
<message>
<source>Xdg Runtime Home</source>
<translation type="obsolete">Xdg exekuzio-denborako etxea</translation>
</message>
<message>
<source>Xdg Autostart Dirs</source>
<translation type="obsolete">Xdg autoabioaren direktorioak</translation>
</message>
<message>
<source>Xdg Autostart Home</source>
<translation type="obsolete">Xdg autoabioaren etxea</translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished">LXQt energia-kudeatzailearen errorea</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation type="unfinished">Hibernatzeak huts egin du.</translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation>Ordezko jakinarazpenak</translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation>Hibernatu</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation>Eseki</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation>Berrabiarazi</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation>Itzali</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation>Amaitu saioa</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation>LXQt saioa eseki</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation>Ziur zaude ordenagailua eseki nahi duzula?&lt;p&gt;Energia baxuko egoera batetara esekitzen du ordenagailua. Sistemaren egoera ez da mantentzen korrontea eteten bada.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation>LXQt saioa hibernatu</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation>Ziur zaude ordenagailua hibernatu nahi duzula?&lt;p&gt;Energia baxuko egoera batetara hibernatzen du ordenagailua. Sistemaren egoera mantentzen da korrontea eteten bada.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation>LXQt saioa berrabiarazi</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation>Ziur zaude ordenagailua berrabiarazi nahi duzula? Gorde gabeko lan guztiak galduko dira...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation>LXQt saioa itzali</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation>Ziur zaude ordenagailua itzali nahi duzula? Gorde gabeko lan guztiak galduko dira...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation>LXQt saioa amaitu</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation>Ziur zaude saioa amaitu nahi duzula? Gorde gabeko lan guztiak galduko dira...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation>LXQt energia-kudeatzailearen errorea</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation>Hibernatzeak huts egin du.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation>Esekitzeak huts egin du.</translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation>Blokeatu pantaila</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation>Pantaila-babeslearen aktibatze-errorea</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started due its crash.</source>
<translation type="vanished">Errore bat gertatu da pantaila-babeslea abiaraztean. Ezin da xdg-screensaver abiarazi kraskatzea dela eta.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver is not installed correctly.</source>
<translation type="vanished">Errore bat gertatu da pantaila-babeslea abiaraztean. xdg-screensaver ez dago behar bezala instalatuta.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started.</source>
<translation type="vanished">Errore bat gertatu da pantaila-babeslea abiaraztean. Ezin da xdg-screensaver abiarazi. </translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation>Errore bat gertatu da pantaila-babeslea abiaraztean. Sintaxi-errore bat dago xdg-screensaver-en argumentuetan.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation>Errore bat gertatu da pantaila-babeslea abiaraztean. Ziurtatu xdg-screensaver instalatuta eta martxan dagoela. </translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation>Errore bat gertatu da pantaila-babeslea abiaraztean. &apos;Aktibatu&apos; ekintzak huts egin du. Ziurtatu xdg-screensaver instalatuta eta martxan dagoela. </translation>
</message>
<message>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver=%1.</source>
<translation type="vanished">Errore bat gertatu da pantaila-babeslea abiaraztean. Errore ezezaguna - dokumentatu gabeko balioa itzuli du xdg-screensaver-ek: %1</translation>
</message>
</context>
<context>
<name>LXQt::ShortcutButton</name>
<message>
<source>Clear</source>
<translation type="obsolete">Garbitu</translation>
</message>
<message>
<source>None</source>
<translation type="obsolete">Bat ere ez</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation>Energia-kudeatzailearen errorea</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation>QDBusInterface baliogabea da</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation>Energia-kudeatzailearen errorea (D-BUS deia)</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source> About LXQt</source>
<translation type="vanished">LXQt-i buruz</translation>
</message>
<message>
<source>About</source>
<comment>About dialog, Tab title </comment>
<translation type="vanished">Honi buruz</translation>
</message>
<message>
<source>Authors</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Egileak</translation>
</message>
<message>
<source>Thanks</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Eskerrak</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Itzulpenak</translation>
</message>
<message>
<source>Technical Info</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Informazio teknikoa</translation>
</message>
</context>
</TS>

View File

@ -1,296 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="fi">
<context>
<name>AddPluginDialog</name>
<message>
<source>Add plugins</source>
<translation type="obsolete">Lisää liitännäisiä</translation>
</message>
<message>
<source>Search:</source>
<translation type="vanished">Etsi:</translation>
</message>
<message>
<source>Add plugin</source>
<translation type="obsolete">Lisää liitännäinen</translation>
</message>
<message>
<source>Close</source>
<translation type="vanished">Sulje</translation>
</message>
</context>
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation>Ikkuna</translation>
</message>
</context>
<context>
<name>LXQt::AboutDialogPrivate</name>
<message>
<source>Version: %1</source>
<translation type="vanished">Versio: %1</translation>
</message>
<message>
<source>Copyright: %1-%2 %3</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Tekijänoikeus: %1-%2 %3</translation>
</message>
<message>
<source>Homepage: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Verkkosivusto: %1</translation>
</message>
<message>
<source>License: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Lisenssi: %1</translation>
</message>
<message>
<source>Yes</source>
<translation type="obsolete">Kyllä</translation>
</message>
<message>
<source>No</source>
<translation type="obsolete">Ei</translation>
</message>
<message>
<source>Version</source>
<translation type="obsolete">Versio</translation>
</message>
<message>
<source>Qt</source>
<translation type="obsolete">Qt</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="obsolete">Käännökset</translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished">LXQtin virranhallintavirhe</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation type="unfinished">Lepotilaan siirtyminen epäonnistui.</translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation>Lepotila</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation>Valmiustila</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation>Käynnistä uudelleen</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation>Sammuta</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation>Kirjaudu ulos</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation>Haluatko varmasti käynnistää tietokoneen uudelleen? Kaikki tallentamaton tieto menetetään...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation>LXQt-istunnon sammutus</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation>Haluatko varmasti sammuttaa tietokoneen? Kaikki tallentamaton tieto menetetään...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation>LXQt-istunnon uloskirjaus</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation>Haluatko varmasti kirjautua ulos? Kaikki tallentamaton tieto menetetään...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation>LXQtin virranhallintavirhe</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation>Lepotilaan siirtyminen epäonnistui.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation>Valmiustilaan siirtyminen epäonnistui.</translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation>Lukitse näyttö</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation>Näytönsäästäjän käynnistysvirhe</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started due its crash.</source>
<translation type="vanished">Näytönsäästäjää käynnistäessä ilmeni virhe. Näytönsäästäjää xdg-screensaver ei voi käynnistää, koska se kaatui.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver is not installed correctly.</source>
<translation type="vanished">Näytönsäästäjää käynnistäessä ilmeni virhe. Näytönsäästäjän xdg-screensaver asennus ei ole kunnossa.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started.</source>
<translation type="vanished">Näytönsäästäjää käynnistäessä ilmeni virhe. Näytönsäästäjää xdg-screensaver ei voi käynnistää.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation>Näytönsäästäjää käynnistäessä ilmeni virhe. Varmista, että xscreensaver on asennettu ja että se on toiminnassa.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation>Näytönsäästäjää käynnistäessä ilmeni virhe. Toiminto &apos;activate&apos; epäonnistui. Varmista, että xscreensaver on asennettu ja että se on toiminnassa.</translation>
</message>
</context>
<context>
<name>LXQt::ShortcutButton</name>
<message>
<source>Clear</source>
<translation type="obsolete">Tyhjennä</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation>Virranhallinnan virhe</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation>QDBusInterface on virheellinen</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation>Virranhallinan virhe (D-Bus-kutsu)</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source> About LXQt</source>
<translation type="vanished">Tietoja LXQtista</translation>
</message>
<message>
<source>About</source>
<comment>About dialog, Tab title </comment>
<translation type="vanished">Tietoja</translation>
</message>
<message>
<source>Authors</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Tekijät</translation>
</message>
<message>
<source>Thanks</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Kiitokset</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Käännökset</translation>
</message>
</context>
</TS>

View File

@ -1,262 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="fr_FR">
<context>
<name>AddPluginDialog</name>
<message>
<source>Add plugins</source>
<translation type="obsolete">Ajouter des extensions</translation>
</message>
<message>
<source>Search:</source>
<translation type="vanished">Chercher :</translation>
</message>
<message>
<source>Add plugin</source>
<translation type="obsolete">Ajouter l&apos;extension</translation>
</message>
<message>
<source>Close</source>
<translation type="vanished">Fermer</translation>
</message>
</context>
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation>Dialogue</translation>
</message>
</context>
<context>
<name>LXQt::AboutDialogPrivate</name>
<message>
<source>Yes</source>
<translation type="obsolete">Oui</translation>
</message>
<message>
<source>No</source>
<translation type="obsolete">Non</translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished">Erreur du gestionnaire d&apos;énergie de LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation type="unfinished">Échec de la mise en hibernation.</translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation>Hiberner</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation>Suspendre</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation>Redémarrer</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation>Éteindre</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation>Se déconnecter</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation>Suspendre la session LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation>Voulez-vous vraiment suspendre votre ordinateur?&lt;p&gt;Votre ordinateur consommera un peu d&apos;énergie. L&apos;état du système ne sera pas préservé si l&apos;énergie est perdue.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation>Mettre la session LXQt en hibernation</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation>Voulez-vous vraiment mettre votre ordinateur en hibernation?&lt;p&gt;Votre ordinateur consommera un peu d&apos;énergie. L&apos;état du système sera préservé si l&apos;énergie est perdue.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation>Redémarrer la session LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation>Voulez-vous vraiment redémarrer votre ordinateur? Tout travail non sauvegardé sera perdu...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation>Éteindre la session LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation>Voulez-vous vraiment éteindre votre ordinateur? Tout travail non sauvegardé sera perdu...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation>Se déconnecter de la session LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation>Voulez-vous vraiment vous déconnecter? Tout travail non sauvegardé sera perdu...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation>Erreur du gestionnaire d&apos;énergie de LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation>Échec de la mise en hibernation.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation>Échec de la suspension.</translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation>Verrouiller l&apos;écran</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation>Erreur lors de la mise en veille</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started due its crash.</source>
<translation type="vanished">Une erreur est survenue lors du démarrage de l&apos;écran de veille. xdg-screensaver n&apos;a pas pu démarrer.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver is not installed correctly.</source>
<translation type="vanished">Une erreur est survenue lors du démarrage de l&apos;écran de veille. xdg-screensaver n&apos;est pas installé correctement.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started.</source>
<translation type="vanished">Une erreur est survenue lors du démarrage de l&apos;écran de veille. xdg-screensaver n&apos;a pas pu démarrer.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation>Une erreur est survenue lors du démarrage de l&apos;écran de veille. Les arguments de xdg-screensaver contiennent des erreurs de syntaxe.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation>Une erreur est survenue lors du démarrage de l&apos;écran de veille. Assurez-vous que screensaver est installé et actif.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation>Une erreur est survenue lors du démarrage de l&apos;écran de veille. L&apos;action &apos;activate&apos; a échoué. Assurez-vous que screensaver est installé et actif.</translation>
</message>
<message>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver=%1.</source>
<translation type="vanished">Une erreur s&apos;est produite au lancement de l&apos;économiseur d&apos;écran. Erreur inconnue - valeur retournée par xdg-screensaver=%1 non documentée.</translation>
</message>
</context>
<context>
<name>LXQt::ShortcutButton</name>
<message>
<source>Clear</source>
<translation type="obsolete">Vider</translation>
</message>
<message>
<source>None</source>
<translation type="obsolete">Aucun(e)</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation>Erreur du gestionnaire d&apos;énergie</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation>QDBusInterface invalide</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation>Erreur du gestionnaire d&apos;énergie (appel D-BUS)</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source> About LXQt</source>
<translation type="vanished">À propos de LXQt</translation>
</message>
<message>
<source>About</source>
<comment>About dialog, Tab title </comment>
<translation type="vanished">À propos</translation>
</message>
<message>
<source>Technical Info</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Informations techniques</translation>
</message>
</context>
</TS>

View File

@ -1,314 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="hu">
<context>
<name>AddPluginDialog</name>
<message>
<source>Search:</source>
<translation type="vanished">Keres:</translation>
</message>
<message>
<source>Add Widget</source>
<translation type="vanished">Bigyó hozzáadás</translation>
</message>
<message>
<source>Close</source>
<translation type="vanished">Bezár</translation>
</message>
</context>
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation>Párbeszédablak</translation>
</message>
</context>
<context>
<name>LXQt::AboutDialogPrivate</name>
<message>
<source>Version: %1</source>
<translation type="vanished">Verzió: %1</translation>
</message>
<message>
<source>Advanced, easy-to-use, and fast desktop environment based on Qt technologies.</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Qt alapú könnyen használható, fejlett és gyors asztalkezelő.</translation>
</message>
<message>
<source>LXQt would not have been possible without the &lt;a %1&gt;Razor-qt&lt;/a&gt; project and its many contributors.</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Az LXQt a &lt;a %1&gt;Razor-qt&lt;/a&gt;-és annak fejlesztői nélkül nem létezne.</translation>
</message>
<message>
<source>Copyright: %1-%2 %3</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Jogok: %1-%2 %3</translation>
</message>
<message>
<source>Homepage: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Honlap: %1</translation>
</message>
<message>
<source>License: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Licensz: %1</translation>
</message>
<message>
<source>LXQt is developed by the &lt;a %1&gt;LXQt Team and contributors&lt;/a&gt;.</source>
<comment>About dialog, &apos;Authors&apos; tab text</comment>
<translation type="vanished">Az LXQt fejlesztői&lt;a %1&gt;LXQt Team és a társasága&lt;/a&gt;</translation>
</message>
<message>
<source>If you are interested in working with our development team, &lt;a %1&gt;join us&lt;/a&gt;.</source>
<comment>About dialog, &apos;Authors&apos; tab text</comment>
<translation type="vanished">Ha érdekli a fejlesztés. akkor &lt;a %1&gt;csatlakozhat hozzánk&lt;/a&gt;.</translation>
</message>
<message>
<source>Special thanks to:</source>
<comment>About dialog, &apos;Thanks&apos; tab text</comment>
<translation type="vanished">Külön köszönet:</translation>
</message>
<message>
<source>LXQt is translated into many languages thanks to the work of the translation teams all over the world.</source>
<comment>About dialog, &apos;Translations&apos; tab text</comment>
<translation type="vanished">Az LXQT sok nyelvre le van fordítva, a világban működő fordítóknak köszönhetőn.</translation>
</message>
</context>
<context>
<name>LXQt::AddPluginDialog</name>
<message>
<source>(%1 active)</source>
<translation type="vanished">(%1 aktív)</translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation>LXQt Energiakezelő hiba</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation>Elaltatás sikertelen</translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation>Vészhitelesítés</translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation>Elaltatás</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation>Készültség</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation>Újraindítás</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation>Kikapcsolás</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation>Kijelentkezés</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation>Az LXQT készenléte</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation>Készenléti állapotba akarja helyezni a gépet?&lt;p&gt;A kis energiaszükségletű állapotban feszültségkimaradáskor az újraélesztés nem biztos.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation>Az LXQT elaltatása</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation>Mélykészenléti állapotba akarja helyezni a gépet?&lt;p&gt;A kis energiaszükségletű alvó állapotban feszültségkimaradáskor az újraélesztés nem biztos.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation>LXQt újraindítás</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation>Újra akarja indítani a gépet? Minden mentetlen munka elvész...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation>LXQt kikapcsolás</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation>Ki akarja kapcsolni a gépet? Minden mentetlen munka elvész...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation>LXQt kijelentkezés</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation>Kijelentkezik? Minden mentetlen munka elvész...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation>LXQt energiakezelő hiba</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation>Mélykészenléti állapot sikertelen</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation>Készenléti állapot sikertelen</translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation>Képernyőzár</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation>Képvédő indítási hiba</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started due its crash.</source>
<translation type="vanished">Hiba a képernyővédő indításakor.Az xdg-képernyővédő összeomlott.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver is not installed correctly.</source>
<translation type="vanished">Hiba a képernyővédő indításakor.Az xdg-képernyővédő nincs jól telepítve.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started.</source>
<translation type="vanished">Hiba a képernyővédő indításakor.Az xdg-képernyővédő indíthatatlan.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation>Hiba a képernyővédő indításakor.Az xdg-képernyővédő indító paramétere hibás.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation>Hiba a képernyővédő indításakor.Az xdg-képernyővédő telepített és futtatható?</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation>Hiba a képernyővédő indításakor.Az &apos;activate&apos; sikertelen. Az xdg-képernyővédő telepített és futtatható?</translation>
</message>
<message>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver=%1.</source>
<translation type="vanished">Hiba a képernyővédő indításakor.Ismeretlen hiba - az xdg-képernyővédő ismeretlen hibakóddal kilépett=%1.</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation>Energiakezelő hiba</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation>A QDBusInterface érvénytelen</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation>Energiakezelő hiba (D-BUS hívás)</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source> About LXQt</source>
<translation type="vanished">Az LXQT -ről</translation>
</message>
<message>
<source>About</source>
<comment>About dialog, Tab title </comment>
<translation type="vanished">Rólunk</translation>
</message>
<message>
<source>Authors</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Szerzők</translation>
</message>
<message>
<source>Thanks</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Köszönet</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Fordítások</translation>
</message>
<message>
<source>Technical Info</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Technikai háttér</translation>
</message>
<message>
<source>Copy to clipboard</source>
<translation type="vanished">Vágólapra másol</translation>
</message>
</context>
</TS>

View File

@ -1,188 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ia">
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -1,188 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="id_ID">
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation>Hibernasi</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation>Suspend</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation>Reboot</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation>Shutdown</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation>Keluar</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -1,367 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="it">
<context>
<name>AddPluginDialog</name>
<message>
<source>Add plugins</source>
<translation type="obsolete">Aggiungi plugin</translation>
</message>
<message>
<source>Search:</source>
<translation type="vanished">Cerca:</translation>
</message>
<message>
<source>Add plugin</source>
<translation type="obsolete">Aggiungi plugin</translation>
</message>
<message>
<source>Close</source>
<translation type="vanished">Chiudi</translation>
</message>
</context>
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation>Finestra di dialogo</translation>
</message>
</context>
<context>
<name>LXQt::AboutDialogPrivate</name>
<message>
<source>Version: %1</source>
<translation type="vanished">Versione: %1</translation>
</message>
<message>
<source>Advanced, easy-to-use, and fast desktop environment based on Qt technologies.</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Un ambiente desktop veloce, facile da usare e avanzato basato sulle tecnologie Qt.</translation>
</message>
<message>
<source>Copyright: %1-%2 %3</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Copyright: %1-%2 %3</translation>
</message>
<message>
<source>Homepage: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Sito: %1</translation>
</message>
<message>
<source>License: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Licenza: %1</translation>
</message>
<message>
<source>LXQt is translated into many languages thanks to the work of the translation teams all over the world.</source>
<comment>About dialog, &apos;Translations&apos; tab text</comment>
<translation type="vanished">LXQt è tradotto in molte lingue grazie al lavoro dei gruppi di traduzione in giro per il mondo.</translation>
</message>
<message>
<source>Yes</source>
<translation type="obsolete"></translation>
</message>
<message>
<source>No</source>
<translation type="obsolete">No</translation>
</message>
<message>
<source>&lt;b&gt;LXQt Desktop Toolbox - Technical Info&lt;/b&gt;</source>
<translation type="obsolete">&lt;b&gt;Strumenti desktop di LXQt - informazioni tecniche&lt;/b&gt;</translation>
</message>
<message>
<source>Version</source>
<translation type="obsolete">Versione</translation>
</message>
<message>
<source>Qt</source>
<translation type="obsolete">Qt</translation>
</message>
<message>
<source>Debug Build</source>
<translation type="obsolete">Compilazione di debug</translation>
</message>
<message>
<source>System Configuration</source>
<translation type="obsolete">Configurazione del sistema</translation>
</message>
<message>
<source>Share Directory</source>
<translation type="obsolete">Cartella condivisa</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="obsolete">Traduzioni</translation>
</message>
<message>
<source>&lt;b&gt;User Directories&lt;/b&gt;</source>
<translation type="obsolete">&lt;b&gt;Cartelle dell&apos;utente&lt;/b&gt;</translation>
</message>
<message>
<source>Xdg Data Home</source>
<translation type="obsolete">Xdg Data Home</translation>
</message>
<message>
<source>Xdg Config Home</source>
<translation type="obsolete">Xdg Config Home</translation>
</message>
<message>
<source>Xdg Data Dirs</source>
<translation type="obsolete">Xdg Data Dirs</translation>
</message>
<message>
<source>Xdg Cache Home</source>
<translation type="obsolete">Xdg Cache Home</translation>
</message>
<message>
<source>Xdg Runtime Home</source>
<translation type="obsolete">Xdg Runtime Home</translation>
</message>
<message>
<source>Xdg Autostart Dirs</source>
<translation type="obsolete">Xdg Autostart Dirs</translation>
</message>
<message>
<source>Xdg Autostart Home</source>
<translation type="obsolete">Xdg Autostart Home</translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation>Errore del gestore energetico di LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation>L&apos;ibernazione non è riuscita.</translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation>Notifiche di riserva</translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation>Ibernazione</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation>Sospensione</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation>Riavvia</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation>Spegni</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation>Esci</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation>Sospendi la sessione di LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation>Sospendere il computer?&lt;p&gt;Sospendi il computer in uno stato a minore consumo energetico. Lo stato del sistema non viene preservato se la batteria si esaurisce o il pc non è collegato all&apos;alimentazione.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation>Iberna la sessione di LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation>Ibernare il computer?&lt;p&gt;Iberna il computer in uno stato a minore consumo energetico. Lo stato del sistema viene preservato se la batteria si esaurisce o il pc non è collegato all&apos;alimentazione.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation>Riavvia la sessione di LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation>Riavviare il computer? Tutto il lavoro non salvato verrà perso.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation>Uscire dalla sessione di LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation>Spegnere il computer? Tutto il lavoro non salvato verrà perso.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation>Esci dalla sessione di LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation>Chiudere la sessione? Tutto il lavoro non salvato verrà perso...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation>Errore del gestore energetico di LXQt</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation>L&apos;ibernazione non è riuscita.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation>La sospensione non è riuscita.</translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation>Blocca schermo</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation>Errore nell&apos;avvio del salvaschermo</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started due its crash.</source>
<translation type="vanished">È avvenuto un errore durante l&apos;avvio del salvaschermo. xdg-screensaver non può essere avviato a causa di un problema dell&apos;applicazione stessa.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver is not installed correctly.</source>
<translation type="vanished">È avvenuto un errore durante l&apos;avvio del salvaschermo. xdg-screensaver non è installato correttamente.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started.</source>
<translation type="vanished">È avvenuto un errore durante l&apos;avvio del salvaschermo. xdg-screensaver non può essere avviato.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation>È avvenuto un errore durante l&apos;avvio del salvaschermo. Errore di sintassi in xdg-screensaver.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation>È avvenuto un errore durante l&apos;avvio del salvaschermo. Assicurati di avere xscreensaver installato e funzionante.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation>È avvenuto un errore durante l&apos;avvio del salvaschermo. L&apos;attivazione non è riuscita, assicurati di avere xscreensaver installato e funzionante.</translation>
</message>
<message>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver=%1.</source>
<translation type="vanished">Si è verificato un errore avviando il salvaschermo. Errore sconosciuto: valore di ritorno non documentato da xdg-screensaver=%1.</translation>
</message>
</context>
<context>
<name>LXQt::ShortcutButton</name>
<message>
<source>Clear</source>
<translation type="obsolete">Pulisci</translation>
</message>
<message>
<source>None</source>
<translation type="obsolete">Nessuna</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation>Errore del gestore dell&apos;energia</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation>QDBusInterface non è valida</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation>Errore del gestore dell&apos;energia (chiamata D-BUS)</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source> About LXQt</source>
<translation type="vanished">Informazioni su LXQt</translation>
</message>
<message>
<source>About</source>
<comment>About dialog, Tab title </comment>
<translation type="vanished">Informazioni</translation>
</message>
<message>
<source>Authors</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Autori</translation>
</message>
<message>
<source>Thanks</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Ringraziamenti</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Traduzioni</translation>
</message>
<message>
<source>Technical Info</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Informazioni tecniche</translation>
</message>
</context>
</TS>

View File

@ -1,315 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ja">
<context>
<name>AddPluginDialog</name>
<message>
<source>Search:</source>
<translation type="vanished">:</translation>
</message>
<message>
<source>Add Widget</source>
<translation type="vanished"></translation>
</message>
<message>
<source>Close</source>
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation></translation>
</message>
</context>
<context>
<name>LXQt::AboutDialogPrivate</name>
<message>
<source>Version: %1</source>
<translation type="vanished">: %1</translation>
</message>
<message>
<source>Advanced, easy-to-use, and fast desktop environment based on Qt technologies.</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Qt 使</translation>
</message>
<message>
<source>LXQt would not have been possible without the &lt;a %1&gt;Razor-qt&lt;/a&gt; project and its many contributors.</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">LXQtは&lt;a %1&gt;Razor-qt&lt;/a&gt;</translation>
</message>
<message>
<source>Copyright: %1-%2 %3</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Copyright: %1-%2 %3</translation>
</message>
<message>
<source>Homepage: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">: %1</translation>
</message>
<message>
<source>License: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">: %1</translation>
</message>
<message>
<source>LXQt is developed by the &lt;a %1&gt;LXQt Team and contributors&lt;/a&gt;.</source>
<comment>About dialog, &apos;Authors&apos; tab text</comment>
<translation type="vanished">LXQtは&lt;a %1&gt;LXQtチームとその貢献者たち&lt;/a&gt;</translation>
</message>
<message>
<source>If you are interested in working with our development team, &lt;a %1&gt;join us&lt;/a&gt;.</source>
<comment>About dialog, &apos;Authors&apos; tab text</comment>
<translation type="vanished">&lt;a %1&gt;&lt;/a&gt;</translation>
</message>
<message>
<source>Special thanks to:</source>
<comment>About dialog, &apos;Thanks&apos; tab text</comment>
<translation type="vanished">:</translation>
</message>
<message>
<source>LXQt is translated into many languages thanks to the work of the translation teams all over the world.</source>
<comment>About dialog, &apos;Translations&apos; tab text</comment>
<translation type="vanished">LXQtは</translation>
</message>
</context>
<context>
<name>LXQt::AddPluginDialog</name>
<message>
<source>(%1 active)</source>
<translation type="vanished">(%1 )</translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation>LXQt電源管理エラー</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation></translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation></translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation>LXQtセッションのサスペンド</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation>&lt;P&gt;</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation>LXQtセッションの休止</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation>&lt;P&gt;
</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation>LXQtセッションの再起動</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation>...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation>LXQtセッションのシャットダウン</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation>...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation>LXQtセッションのログアウト</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation>...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation>LXQt電源管理エラー</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation></translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started due its crash.</source>
<translation type="vanished">xdg-</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver is not installed correctly.</source>
<translation type="vanished">xdg-</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started.</source>
<translation type="vanished">xdg-</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation>xdg-</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation>xscreensaverのインストールと実行を確認してください</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation>&apos;Activate&apos;xscreensaverのインストールと実行を確認してください</translation>
</message>
<message>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver=%1.</source>
<translation type="vanished"> - xdg-screensaver=%1</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation></translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation>QDbusInterfaceが無効です</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation>(D-BUSコール)</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source> About LXQt</source>
<translation type="vanished">LXQtについて</translation>
</message>
<message>
<source>About</source>
<comment>About dialog, Tab title </comment>
<translation type="vanished">About</translation>
</message>
<message>
<source>Authors</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished"></translation>
</message>
<message>
<source>Thanks</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished"></translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished"></translation>
</message>
<message>
<source>Technical Info</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished"></translation>
</message>
<message>
<source>Copy to clipboard</source>
<translation type="vanished"></translation>
</message>
</context>
</TS>

View File

@ -1,188 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ko">
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -1,258 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="lt">
<context>
<name>AddPluginDialog</name>
<message>
<source>Add plugins</source>
<translation type="obsolete">Pridėti priedų</translation>
</message>
<message>
<source>Search:</source>
<translation type="vanished">Ieškoti:</translation>
</message>
<message>
<source>Add plugin</source>
<translation type="obsolete">Pridėti priedą</translation>
</message>
<message>
<source>Close</source>
<translation type="vanished">Uždaryti</translation>
</message>
</context>
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation>Dialogas</translation>
</message>
</context>
<context>
<name>LXQt::AboutDialogPrivate</name>
<message>
<source>Yes</source>
<translation type="obsolete">Taip</translation>
</message>
<message>
<source>No</source>
<translation type="obsolete">Ne</translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished">LXQt Energijos Nustatymų Klaida</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation type="unfinished">Nepavyko užmigdymas į fizinę atmintį</translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation>Pranešimų surogatas</translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation>Užmigdyti į atminį</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation>Užmigdyti</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation>Perkrauti</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation>Išjungti</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation>Atsijungti</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation>LXQt sesijos užmigdymas</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation>Ar tikrai norite užmigdyti kompiuterį? &lt;p&gt;Užmigdo kompiuterį į mažo energijos naudojimo būklę. Sistemos būklė nėra išsaugoma jei nutrūksta energija.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation>LXQt sesijos sustabdymas į atmintį.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation>Ar tikrai norite sustabdyti kompiuterį į atmintį?&lt;p&gt; Sustabdymas į atmintį sustabdo kompiuterį į mažo energijos kiekio sunaudojimo būklę ir jei energija išjungiama sistemos būklė lieka išsaugota</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation>LXQt sesijos perkrovimas</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation>Ar tikrai norite perkrauti kompiuterį? Visi neišsaugoti pakeitimai bus prarasti</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation>LXQt sesijos išjungimas</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation>Ar tikrai norite išjungti kompiuterį? Visi neišsaugoti pakeitimai bus prarasti</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation>LXQt sesijos atjungimas</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation>Ar tikrai norite atsijungti? Visi neišsaugoti pakeitimai bus prarasti</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation>LXQt Energijos Nustatymų Klaida</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation>Nepavyko užmigdymas į fizinę atmintį</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation>Nepavyko užmigdymas</translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation>Užrakinti ekraną</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation>Ekrano užsklandos aktyvavimo klaida</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started due its crash.</source>
<translation type="vanished">Klaida paleidžiant ekrano užsklandą. xdg-screensaver negali pasileisti, nes nulūžo.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver is not installed correctly.</source>
<translation type="vanished">Klaida paleidžiant ekrano užsklandą. xdg-screensaver nėra tinkamai įdiegtas.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started.</source>
<translation type="vanished">Klaida paleidžiant ekrano užsklandą. xdg-screensaver negali būti paleistas.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation>Klaida paleidžiant ekrano užsklandą. Sintaksės klaida xdg-screensaver argumentuose.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation>Klaida paleidžiant ekrano užsklandą. Įsitikinkite, ar įdiegtas ir paleistas xscreensaver.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation>Klaida paleidžiant ekrano užsklandą. Nevyko atlikti veiksmo activate. Įsitikinkite, ar įdiegtas ir paleistas xscreensaver.</translation>
</message>
</context>
<context>
<name>LXQt::ShortcutButton</name>
<message>
<source>Clear</source>
<translation type="obsolete">Išvalyti</translation>
</message>
<message>
<source>None</source>
<translation type="obsolete">Nieko</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation>Energijos valdymo klaida</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation>QDBusInterface yra netinkamas</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation>Energijos valdymo klaida (D-BUS call)</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source> About LXQt</source>
<translation type="vanished">Apie LXQt</translation>
</message>
<message>
<source>About</source>
<comment>About dialog, Tab title </comment>
<translation type="vanished">Apie</translation>
</message>
<message>
<source>Technical Info</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Techninė informacija</translation>
</message>
</context>
</TS>

View File

@ -1,258 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="nl">
<context>
<name>AddPluginDialog</name>
<message>
<source>Add plugins</source>
<translation type="obsolete">Plugins toevoegen</translation>
</message>
<message>
<source>Search:</source>
<translation type="vanished">Zoeken:</translation>
</message>
<message>
<source>Add plugin</source>
<translation type="obsolete">Plugin toevoegen</translation>
</message>
<message>
<source>Close</source>
<translation type="vanished">Sluiten</translation>
</message>
</context>
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation>Dialoog</translation>
</message>
</context>
<context>
<name>LXQt::AboutDialogPrivate</name>
<message>
<source>Yes</source>
<translation type="obsolete">Ja</translation>
</message>
<message>
<source>No</source>
<translation type="obsolete">Nee</translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished">LXQt Energiebeheer fout</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation type="unfinished">SCHIJF-slaapstand mislukt.</translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation>Notificaties terugval</translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation>Slaapstand</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation>Slapen</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation>Herstarten</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation>Afsluiten</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation>Afmelden</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation>LXQt Sessie Slapen</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation>Wilt u uw Sessie in RAM slaapstand brengen?&lt;p&gt;Slaat uw sessie op in het RAM geheugen. LET OP! Gegevens gaan verloren tijdens een stroom uitval.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation>LXQt Sessie Slaapstand</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation>Wilt u uw Sessie in SCHIJF slaapstand brengen?&lt;p&gt;Slaat uw sessie op in een bestand op uw Schijf. Gegevens gaan NIET verloren tijdens een stroom uitval.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation>LXQt Sessie Herstarten</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation>Wilt u uw computer herstarten? LET OP! Niet opgeslagen gegevens gaan verloren</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation>LXQt Sessie Afsluiten</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation>Wilt u uw computer Afsluiten? LET OP! Niet opgeslagen gegevens gaan verloren</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation>LXQt Sessie Afmelden</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation>Wilt u uw sessie beeindigen? LET OP! Niet opgeslagen gegevens gaan verloren</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation>LXQt Energiebeheer fout</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation>SCHIJF-slaapstand mislukt.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation>RAM-slaapstand mislukt.</translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation>Scherm Vergrendelen</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation>Schermbeveiliging Activering fout</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started due its crash.</source>
<translation type="vanished">Fout tijdens het starten van de schermbeveiliging. xdg-schermbeveiliging kan niet starten, wegens een crash.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver is not installed correctly.</source>
<translation type="vanished">Fout tijdens het starten van de schermbeveiliging. xdg-schermbeveiliging is niet correct geinstalleerd..</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started.</source>
<translation type="vanished">Fout tijdens het starten van de schermbeveiliging. xdg-schermbeveiliging kan niet starten.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation>Fout tijdens het starten van de schermbeveiliging. Regelfout in xdg-schermbeveiliging argumenten.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation>Fout tijdens het starten van de schermbeveiliging. Controleer of xdg-schermbeveiliging is geinstalleerd en gestart.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation>Fout tijdens het starten van de schermbeveiliging. Actie &apos;activeren&apos; mislukt. Controleer of xdg-schermbeveiliging is geinstalleerd en gestart.</translation>
</message>
</context>
<context>
<name>LXQt::ShortcutButton</name>
<message>
<source>Clear</source>
<translation type="obsolete">Wissen</translation>
</message>
<message>
<source>None</source>
<translation type="obsolete">Geen</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation>Energiebeheer Fout</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation>QDBusInterface is ongeldig</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation>Energiebeheer Error (D-BUS oproep)</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source> About LXQt</source>
<translation type="vanished">Over LXQt</translation>
</message>
<message>
<source>About</source>
<comment>About dialog, Tab title </comment>
<translation type="vanished">Over</translation>
</message>
<message>
<source>Technical Info</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Technische Informatie </translation>
</message>
</context>
</TS>

View File

@ -1,367 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="pl_PL">
<context>
<name>AddPluginDialog</name>
<message>
<source>Add plugins</source>
<translation type="obsolete">Dodaj wtyczki</translation>
</message>
<message>
<source>Search:</source>
<translation type="vanished">Szukaj:</translation>
</message>
<message>
<source>Add plugin</source>
<translation type="obsolete">Dodaj wtyczkę</translation>
</message>
<message>
<source>Close</source>
<translation type="vanished">Zamknij</translation>
</message>
</context>
<context>
<name>ConfigDialog</name>
<message>
<location filename="../configdialog/lxqtconfigdialog.ui" line="14"/>
<source>Dialog</source>
<translation>Okno dialogowe</translation>
</message>
</context>
<context>
<name>LXQt::AboutDialogPrivate</name>
<message>
<source>Version: %1</source>
<translation type="vanished">Wersja: %1</translation>
</message>
<message>
<source>Advanced, easy-to-use, and fast desktop environment based on Qt technologies.</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Zaawansowany, łatwy w obsłudze i szybki pulpit bazujący na Qt.</translation>
</message>
<message>
<source>Copyright: %1-%2 %3</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Prawa autorskie: %1-%2 %3</translation>
</message>
<message>
<source>Homepage: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Strona: %1</translation>
</message>
<message>
<source>License: %1</source>
<comment>About dialog, &apos;About&apos; tab text</comment>
<translation type="vanished">Licencja: %1</translation>
</message>
<message>
<source>LXQt is translated into many languages thanks to the work of the translation teams all over the world.</source>
<comment>About dialog, &apos;Translations&apos; tab text</comment>
<translation type="vanished">LXQt jest dostępny w wielu językach dzięki wspanialej pracy ekip tłumaczy z całego świata.</translation>
</message>
<message>
<source>Yes</source>
<translation type="obsolete">Tak</translation>
</message>
<message>
<source>No</source>
<translation type="obsolete">Nie</translation>
</message>
<message>
<source>&lt;b&gt;LXQt Desktop Toolbox - Technical Info&lt;/b&gt;</source>
<translation type="obsolete">&lt;b&gt;Skrzynka narzędziowa pulpitu LXQt - Informacje techniczne&lt;/b&gt;</translation>
</message>
<message>
<source>Version</source>
<translation type="obsolete">Wersja</translation>
</message>
<message>
<source>Qt</source>
<translation type="obsolete">Qt</translation>
</message>
<message>
<source>Debug Build</source>
<translation type="obsolete">Wersja debugowa</translation>
</message>
<message>
<source>System Configuration</source>
<translation type="obsolete">Konfiguracja systemu</translation>
</message>
<message>
<source>Share Directory</source>
<translation type="obsolete">Udostępniany katalog</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="obsolete">Tłumaczenia</translation>
</message>
<message>
<source>&lt;b&gt;User Directories&lt;/b&gt;</source>
<translation type="obsolete">&lt;b&gt;Katalogi użytkownika&lt;/b&gt;</translation>
</message>
<message>
<source>Xdg Data Home</source>
<translation type="obsolete">Ścieżka dostępu plików Xdg</translation>
</message>
<message>
<source>Xdg Config Home</source>
<translation type="obsolete">Ścieżka dostępu konfiguracji Xdg</translation>
</message>
<message>
<source>Xdg Data Dirs</source>
<translation type="obsolete">Katalogi plików Xdg</translation>
</message>
<message>
<source>Xdg Cache Home</source>
<translation type="obsolete">Ścieżka dostępu pamięci podręcznej Xdg</translation>
</message>
<message>
<source>Xdg Runtime Home</source>
<translation type="obsolete">Ścieżka dostępu środowiska uruchomieniowego Xdg</translation>
</message>
<message>
<source>Xdg Autostart Dirs</source>
<translation type="obsolete">Katalogi autostartu Xdg</translation>
</message>
<message>
<source>Xdg Autostart Home</source>
<translation type="obsolete">Ścieżka dostępu autostart Xdg</translation>
</message>
</context>
<context>
<name>LXQt::MessageBox</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>LXQt Power Manager Error</source>
<translation type="unfinished">Błąd zarządzania energią</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="70"/>
<source>Hibernate failed.</source>
<translation type="unfinished">Hibernacja nie powiodła się.</translation>
</message>
</context>
<context>
<name>LXQt::NotificationPrivate</name>
<message>
<location filename="../lxqtnotification.cpp" line="152"/>
<source>Notifications Fallback</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LXQt::PowerManager</name>
<message>
<location filename="../lxqtpowermanager.cpp" line="112"/>
<source>Hibernate</source>
<translation>Hibernuj</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="119"/>
<source>Suspend</source>
<translation>Uśpij</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="126"/>
<source>Reboot</source>
<translation>Uruchom ponownie</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="133"/>
<source>Shutdown</source>
<translation>Wyłącz</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="140"/>
<source>Logout</source>
<translation>Wyloguj</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="152"/>
<source>LXQt Session Suspend</source>
<translation>Uśpij sesję</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="153"/>
<source>Do you want to really suspend your computer?&lt;p&gt;Suspends the computer into a low power state. System state is not preserved if the power is lost.</source>
<translation>Czy jesteś pewien, że chcesz uśpić swój komputer?&lt;p&gt;Przełącza komputer w stan niskiego poboru prądu. Stan systemu nie jest zabezpieczony przed utratą zasilania.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="162"/>
<source>LXQt Session Hibernate</source>
<translation>Hibernuj sesję</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="163"/>
<source>Do you want to really hibernate your computer?&lt;p&gt;Hibernates the computer into a low power state. System state is preserved if the power is lost.</source>
<translation>Czy jesteś pewien, że chcesz zahibernować swój komputer?&lt;p&gt;Przełącza komputer w stan niskiego poboru prądu. Stan systemu jest zabezpieczony przed utratą zasilania.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="172"/>
<source>LXQt Session Reboot</source>
<translation>Uruchom ponownie</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="173"/>
<source>Do you want to really restart your computer? All unsaved work will be lost...</source>
<translation>Czy jesteś pewien, że chcesz ponownie uruchomić swój komputer?&lt;p&gt;Cała niezapisana praca zostanie utracona...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="182"/>
<source>LXQt Session Shutdown</source>
<translation>Wyłącz</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="183"/>
<source>Do you want to really switch off your computer? All unsaved work will be lost...</source>
<translation>Czy jesteś pewien, że chcesz wyłączyć swój komputer?&lt;p&gt;Cała niezapisana praca zostanie utracona...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="192"/>
<source>LXQt Session Logout</source>
<translation>Wyloguj</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="193"/>
<source>Do you want to really logout? All unsaved work will be lost...</source>
<translation>Czy jesteś pewien, że chcesz się wylogować?&lt;p&gt;Cała niezapisana praca zostanie utracona...</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>LXQt Power Manager Error</source>
<translation>Błąd zarządzania energią</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="201"/>
<source>Hibernate failed.</source>
<translation>Hibernacja nie powiodła się.</translation>
</message>
<message>
<location filename="../lxqtpowermanager.cpp" line="206"/>
<source>Suspend failed.</source>
<translation>Uśpienie nie powiodło się.</translation>
</message>
</context>
<context>
<name>LXQt::ScreenSaver</name>
<message>
<location filename="../lxqtscreensaver.cpp" line="51"/>
<source>Lock Screen</source>
<translation>Zablokuj ekran</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="77"/>
<source>Screen Saver Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="83"/>
<location filename="../lxqtscreensaver.cpp" line="89"/>
<location filename="../lxqtscreensaver.cpp" line="96"/>
<source>Screen Saver Activation Error</source>
<translation>Błąd podczas aktywacji wygaszacza ekranu</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="97"/>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started due its crash.</source>
<translation type="vanished">Wystąpił błąd podczas uruchamiania wygaszacza ekranu. xdg-screensaver nie uruchamia się (crash).</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver is not installed correctly.</source>
<translation type="vanished">Wystąpił błąd podczas uruchamiania wygaszacza ekranu. xdg-screensaver nie jest poprawnie zainstalowany.</translation>
</message>
<message>
<source>An error occurred starting screensaver. xdg-screensaver cannot be started.</source>
<translation type="vanished">Wystąpił błąd podczas uruchamiania wygaszacza ekranu. xdg-screensaver nie może zostać uruchomiony.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="78"/>
<source>An error occurred starting screensaver. Syntax error in xdg-screensaver arguments.</source>
<translation>Wystąpił błąd podczas uruchamiania wygaszacza ekranu. Błąd składni argumentów xdg-screensaver.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="84"/>
<source>An error occurred starting screensaver. Ensure you have xscreensaver installed and running.</source>
<translation>Wystąpił błąd podczas uruchamiania wygaszacza ekranu. Upewnij się, że xdg-screensaver jest zainstalowany oraz uruchomiony.</translation>
</message>
<message>
<location filename="../lxqtscreensaver.cpp" line="90"/>
<source>An error occurred starting screensaver. Action &apos;activate&apos; failed. Ensure you have xscreensaver installed and running.</source>
<translation>Wystąpił błąd podczas uruchamiania wygaszacza ekranu. Akcja &quot;aktywacja&quot; zawiodła. Upewnij się, że xdg-screensaver jest zainstalowany oraz uruchomiony.</translation>
</message>
<message>
<source>An error occurred starting screensaver. Unknown error - undocumented return value from xdg-screensaver=%1.</source>
<translation type="vanished">Wystąpił błąd podczas wywołania wygaszacza ekranu. Nieznany błąd - nieudokumentowany zwrot wartości z xdg-screensaver=%1.</translation>
</message>
</context>
<context>
<name>LXQt::ShortcutButton</name>
<message>
<source>Clear</source>
<translation type="obsolete">Wyczyść</translation>
</message>
<message>
<source>None</source>
<translation type="obsolete">Brak</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="91"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="141"/>
<source>Power Manager Error</source>
<translation>Błąd menedżera zasilania</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="92"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="142"/>
<source>QDBusInterface is invalid</source>
<translation>QDBusInterface jest nieprawidłowy</translation>
</message>
<message>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="106"/>
<location filename="../lxqtpower/lxqtpowerproviders.cpp" line="156"/>
<source>Power Manager Error (D-BUS call)</source>
<translation>Błąd menedżera zasilania (D-BUS call)</translation>
</message>
</context>
<context>
<name>about</name>
<message>
<source> About LXQt</source>
<translation type="vanished">O LXQt</translation>
</message>
<message>
<source>About</source>
<comment>About dialog, Tab title </comment>
<translation type="vanished">O</translation>
</message>
<message>
<source>Authors</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Autorzy</translation>
</message>
<message>
<source>Thanks</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Podziękowania</translation>
</message>
<message>
<source>Translations</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Tłumaczenia</translation>
</message>
<message>
<source>Technical Info</source>
<comment>About dialog, Tab title</comment>
<translation type="vanished">Informacje techniczne</translation>
</message>
</context>
</TS>

Some files were not shown because too many files have changed in this diff Show More