diff --git a/.gitignore b/.gitignore index 384cad1..3dbf578 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ build nbproject +translations/lxqt-runner diff --git a/AUTHORS b/AUTHORS index 5b94db3..a66be6d 100644 --- a/AUTHORS +++ b/AUTHORS @@ -4,7 +4,7 @@ Upstream Authors: Copyright: Copyright (c) 2010-2012 Razor team - Copyright (c) 2012-2014 LXQt team + Copyright (c) 2012-2016 LXQt team License: LGPL-2.1+ The full text of the licenses can be found in the 'COPYING' file. diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..364742a --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,216 @@ + +lxqt-runner-0.11.0 / 2016-09-24 +=============================== + + * Add README.md + * Math: Enhance evaluation logic + * Math: Use libmuparser for math evaluation + * runner: Follow virtual desktop switching + * Properly hide the runner when it loses focus + * runner: Sort history items by relevance + * build: Use external translations (#41) + * ts-files removal (#40) + * Use QString() instead of "" + * Fix layout and focus to get history items right + * Bump year + * main: Add activation by running second instance + * Italian translation update + * dialog: Default icons + * dialog: Fill background + * upd: lxqt-runner_hu.ts + * Update lxqt-runner_it.ts + +0.10.0 / 2015-10-31 +=================== + + * Fix license file + * Update translations + * providers: don't show custom command/binary in case existing application (.desktop) is shown + * providers: internal functions as static & which moved to the beginning for using it below + * Updated german translation, made common for all regions. + * Removed country variant _IT + * Rename LxQt to LXQt everywhere + * Remove country variant from language code + * some license fixes + * Handles CMake policy CMP0063 + * lxqt-runner: search case insensitive in items for each provider + * lxqt-runner: correct space(s) according to conding standard + * Use the LXQtCompilerSettings CMake module + * Removes no added value, noisy debug message + * Fixes Action button missing (menu) icon + * Adds Runtime install COMPONENT + * Coding style changes and cleanups + * Use GNUInstallDirs + * Removes unneeded include_directories() entries. + * Reworks WITHOUT_MENU_CACHE option. Renames to USE_MENU_CACHE + * Reworks RUNNER_MATH option + * Reworks Virtual Box options and associated stuff + * Use CMAKE_AUTOUIC, drop qt5_wrap_ui() + * Update the build system to use the Targets infrastructure + * Remove trailing whitespaces + * Fix naming and links + * Hide on shortcut trigger if it's active + * Avoid hiding the dialog on opening the menu + * Remove the provider for power actions + * fallback for executing scripts w/o #! + * rempove KF5/ prefix from include as done in lxde/liblxqt/pull/36 + +0.9.0 / 2015-01-29 +================== + + * Sets the command list to use alternating row colors + * Portuguese update + * - Unify naming for a unique lxqt. No more suffixes + * Drop XdgDesktopFileCache::getFile() + * Add tab-completion + * uniform coding style + * Hide on loosing focus + * Update lxqt-runner_pl_PL.ts + * Fixes lxde/lxqt#347. HtmlDelegate on runner's list. + * Makes the UPDATE_TRANSLATIONS option actually work. + * Cleans up CMakeLists.txt a little bit + * Uses the new liblxqt modules to handle translations + * Moves lxqt_runner_sr_BA.ts to the translations dir. + * Adds an UPDATE_TRANSLATIONS option + * Use the LXQtranslate module to handle translations + * Update Russian translation + * Fixes dialog type, alt+tab won't focus it + * Fix QDesktopWidget::availableGeometry() vs KWindowSystem::workArea() bug + * CMakeLists cleanups + * Fixes lxde/lxde-qt#311, FTBFS + * Port lxqt-runner to KWindowSystem. Purge Qt 4. + * Add Ctrl-p and Ctrl-n movement shortcuts. + * Trim input text. Fixes lxde/lxde-qt#139 + +0.8.0 / 2014-10-08 +================== + + * Adapt to the translation infrastructure + * Use QWindow::windowHandle()->winId() to replace QWidget::winId() due to a bug of Qt5. + * Initial Qt5 support. + * Use new LXQt header files. + * Assorted string polishing + * cmake option to build without menu-cache even if it is installed + * Update dialog.cpp + +0.7.0 / 2014-05-07 +================== + + * Update COPYING + +0.6.99 / 2014-05-01 +=================== + + * Update man page + * Update AUTHORS + * LxQt Power Management -> Power Management + * Add CPack rules for creating tarball + * Update the app icons properly after the xdg menu is reloaded. + * Proper encoding of command arguments + * Removed CMAKE_SOURCE_DIR usage from CMakeLists.txt + * Fix renaming bugs, replacing lxqt-qt with lxde-qt + * Finish the crazy razor=>lxqt renaming tasks. + * Convert utf8 strings to utf16 properly while using libmenu-cache. + * Optionally support libmenu-cache so we can load installed appS from a cache quickly. + * Rename razor to lxqt in some strings. + * Make use of the latest liblxqt & liblxqt-globalkeys. * Rename to lxqt-runnder. + * Add COPYING and AUTHORS + * compile fix: do not include private qt header files + * razor-runner scripting + * X-RAZOR changed to Razor in desktop files + * Experimental submenu added to shortcut selector button + * Global shortcuts client library added and all support for it refactored and fixed. + * fix "shorcut" typo + * ignored duplicate entries in the HistoryProvider + * Some debug prints removed. Timeout for Systray to load increased to 1 minute. Module crash detection improved. + * preliminary manpages primary for razorqt and usefully in venenux + * Translations updated + * first part of fixes based on Coverity Scan (code static analysis) + * Delete bad en_GB translations + * Update translations + * runner: Always select the command first and don't match directories + * Translations updated + * Removed line num from TS files. + * Translations + * Updated .ts.src files + * Extra explaination on compile flags + * indent fixes + * Optional runtime VBoxHeadless support + * Fix for Issue #290 Fails to build on BSD + * Removed translate.sh from razor-runner + * New translation infrastructure + * Ts.src files updated. + * Language name zh_CN.GB2312 braked cmake process. + * Translations updated + * typo fixes + * Razor-runner: history provider didn't expand env variables. + * Fixed a history in the razor-runner. + * lock screen for runner too + * fixed #267 Add logout/lock screen actions to razor runner + * Move configure button to the left of close + * implemented #267 Add logout/lock screen actions to razor runner + * Don't display any VM on empty regex ; adding author header for previously added vbox provider + * GUI for change razor theme. + * fixed #63 Razor launcher should access history on arrow up/down + * Improvements in the razor-runner Added a customommand provider. + * Set window titles for use with WM's like fvwm + * Typos in code. Thanks Aaron Lewis. * In razor-runner , providers item: title() was typed as tile() * For RazorSettings class , settingsChanged() was typed as settigsChanged() + * Garbage in the code. + * Preloading menu in the razor-runner. + * Fix QRC_FILE definition + * Fix the header path + * Implemention of Virtualbox Runner + * Implemention of VirtualBox runner + * Transifex desktop: sr_BA.ts should be a local + * Transifex desktop: local translations + * Transifex desktop: Translations pulled + * Update Tradidtional Chinese Translations + * RazorApplication class implemented; all modules ported to this class + * Translations update + * Added support for the online translation service. www.transifex.net + * Serbian translation files + * Greek translation by iosifidis + * Razor-runner not activated in kwin. + * Razor-runner not activated in kwin. + * Added danish translations + * Russian translation + * fix #169: italian translation + * Relicense panel & runner + * Set icon theme before instantiating CommandItemModel + * Fix gmail.ru -> gmail.com + * Keep all parts of the theme in one place. Fix in the cmake. + * Keep all parts of the theme in one place + * SVK translation finalized + * Close Issue #120 + * License audit + * Add Chinese(simplified) translation files. + * Add Slovak (sk) translation + * Czech translations (cs_CZ) + * huge refactoring of the libraries build organization + * Closes #64 Razor launcher should focus on alt+f2 + * RazorRunner: IconThemeChanged handler for razor-runner. + * Fix: Wrong actualSize for icons from /usr/pixmaps. + * GPL->LGPL where I'm the author + * Translation for standard buttons in the razor-runner + * Reducing lib dependency in cmake files. + * Fix: Desktop Menu Specification category must be X-RAZOR. + * Polish translation. Closes #46 + * potential fix (workaround) from #40: XdgMenu does not display environment related items + * homepage updated + auto replacement script + * Micro fix in razorqt-runner + * XDG-files are splitted into qtxdg library. + * History mode in razor-runner. + * Fixed #23: Sorting razor-runner command list. + * Translation + * Mathematics support in razor-runner. + * Razor-runner refactoring - Providers classes. + * Small sorted fix. + * Fixed selection color in listview. + * Polish translation + * fix for build (includes) + * Closes #22 + * Closes #21 + * Disabled tests the global shortcut registration result. + * "math mode" for razor-runner (expression ends with '=') + * check for global shortcut duplicity (open cfg if it's in conflict) + * Razor-runner program diff --git a/CMakeLists.txt b/CMakeLists.txt index 0f3adc5..b569dfd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,7 +23,6 @@ cmake_dependent_option(RUNNER_VBOX_HEADLESS find_package(KF5WindowSystem REQUIRED) find_package(Qt5Widgets REQUIRED) find_package(Qt5Xml REQUIRED) -find_package(Qt5Script REQUIRED) find_package(Qt5LinguistTools REQUIRED QUIET) find_package(lxqt REQUIRED) find_package(lxqt-globalkeys REQUIRED) @@ -32,17 +31,23 @@ message(STATUS "Building with Qt${Qt5Core_VERSION_STRING}") include(LXQtCompilerSettings NO_POLICY_SCOPE) -set(QTX_LIBRARIES Qt5::Widgets Qt5::Xml Qt5::Script) +set(QTX_LIBRARIES Qt5::Widgets Qt5::Xml) -if (USE_MENU_CACHE) - # optionally use libmenu-cache from lxde to generate the application menu +if (USE_MENU_CACHE OR RUNNER_MATH) find_package(PkgConfig REQUIRED QUIET) +endif () +if (USE_MENU_CACHE) + # optionally use libmenu-cache from lxde to generate the application menu pkg_check_modules(MENU_CACHE REQUIRED QUIET libmenu-cache>=0.3.3 ) endif() +if (RUNNER_MATH) + pkg_check_modules(MUPARSER REQUIRED QUIET muparser) +endif () + set(lxqt-runner_H_FILES dialog.h commanditemmodel.h @@ -77,6 +82,7 @@ set(lxqt-runner_LIBRARIES lxqt-globalkeys-ui ${MENU_CACHE_LIBRARIES} ${QTX_LIBRARIES} + ${MUPARSER_LDFLAGS} ) include(LXQtTranslate) @@ -89,6 +95,14 @@ lxqt_translate_ts(lxqt-runner_QM_FILES ${lxqt-runner_UI_FILES} INSTALL_DIR "${LXQT_TRANSLATIONS_DIR}/${PROJECT_NAME}" + PULL_TRANSLATIONS + ${PULL_TRANSLATIONS} + CLEAN_TRANSLATIONS + ${CLEAN_TRANSLATIONS} + TRANSLATIONS_REPO + ${TRANSLATIONS_REPO} + TRANSLATIONS_REFSPEC + ${TRANSLATIONS_REFSPEC} ) lxqt_app_translation_loader(lxqt-runner_QM_LOADER ${PROJECT_NAME}) @@ -108,8 +122,13 @@ add_executable(${PROJECT_NAME} ${lxqt-runner_QM_LOADER} ) +if (RUNNER_MATH) + lxqt_enable_target_exceptions("${PROJECT_NAME}" PRIVATE) +endif () + target_include_directories(${PROJECT_NAME} PRIVATE "$<$:${MENU_CACHE_INCLUDE_DIRS}>" + PRIVATE "$<$:${MUPARSER_INCLUDE_DIRS}>" ) target_compile_definitions(${PROJECT_NAME} diff --git a/README.md b/README.md new file mode 100644 index 0000000..4a45359 --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +# lxqt-runner + +## Overview + +lxqt-runner provides a GUI that comes up on the desktop and allows for launching applications or shutting down the system. + +![lxqt-runner](lxqt-runner.png) + +Technically it consists of a single binary `lxqt-runner`. The binary is run in a daemon-like manner as so-called LXQt Module and brings up the GUI when a configured keyboard shortcut is hit. + +## Installation + +### Compiling source code + +Runtime dependencies are muparser, KWindowSystem, menu-cache and [lxqt-globalkeys](https://github.com/lxde/lxqt-globalkeys). +Additional build dependencies are CMake and optionally Git to pull latest VCS checkouts. The localization files were outsourced to repository [lxqt-l10n](https://github.com/lxde/lxqt-l10n) so the corresponding dependencies are needed, too. Please refer to this repository's `README.md` for further information. + +Code configuration is handled by CMake. CMake variable `CMAKE_INSTALL_PREFIX` has to be set to `/usr` on most operating systems. + +To build run `make`, to install `make install` which accepts variable `DESTDIR` as usual. + +### Binary packages + +Official binary packages are provided by all major Linux distributions like Arch Linux, Debian (as of Debian stretch only), Fedora and openSUSE. Just use your package manager to search for string `lxqt-runner`. + +## Configuration, Usage + +Launching binary `lxqt-runner` as LXQt Module can be adjusted from section "Basic Settings" in configuration dialogue "LXQt Session Settings" (binary `lxqt-config-session`) of [lxqt-session](https://github.com/lxde/lxqt-session). + +The keyboard shortcut to launch the GUI can be configured in "Global Actions Manager" (binary `lxqt-config-globalkeyshortcuts`) of [lxqt-globalkeys](https://github.com/lxde/lxqt-globalkeys). + +The GUI comes with a configuration dialogue to customize settings like the position where it's displayed. It's accessible from a menu that's in turn opened by an icon left of the one to close the GUI, "arrow down" in screenshot above. + +To launch an application corresponding strings need to be filed in the form, next a selection can be made from a list presenting matches. Items to shut down or restart the system and so on are provided by the menu featuring the configuration dialogue as well. diff --git a/commanditemmodel.cpp b/commanditemmodel.cpp index b439aa3..2be7411 100644 --- a/commanditemmodel.cpp +++ b/commanditemmodel.cpp @@ -40,12 +40,13 @@ CommandItemModel::CommandItemModel(QObject *parent) : QSortFilterProxyModel(parent), mSourceModel(new CommandSourceItemModel(this)), - mOnlyHistory(false) + mOnlyHistory(false), + mShowHistoryFirst(true) { - setDynamicSortFilter(false); // required in Qt5 setFilterCaseSensitivity(Qt::CaseInsensitive); setSortCaseSensitivity(Qt::CaseInsensitive); setSourceModel(mSourceModel); + sort(0); } @@ -142,8 +143,25 @@ bool CommandItemModel::lessThan(const QModelIndex &left, const QModelIndex &righ if (mOnlyHistory) return left.row() < right.row(); - else - return QSortFilterProxyModel::lessThan(left, right); + + HistoryItem const * i_left = dynamic_cast(mSourceModel->command(left)); + HistoryItem const * i_right = dynamic_cast(mSourceModel->command(right)); + if (nullptr != i_left && nullptr == i_right) + return mShowHistoryFirst; + if (nullptr == i_left && nullptr != i_right) + return !mShowHistoryFirst; + if (nullptr != i_left && nullptr != i_right) + { + QRegExp re(filterRegExp()); + //Note: -1 should not be returned if the item passed the filter previously + const int pos_left = re.indexIn(i_left->command()); + const int pos_right = re.indexIn(i_right->command()); + Q_ASSERT(-1 != pos_left && -1 != pos_right); + return pos_left < pos_right + || (pos_left == pos_right && QSortFilterProxyModel::lessThan(left, right)); + } + + return QSortFilterProxyModel::lessThan(left, right); } @@ -200,6 +218,15 @@ QModelIndex CommandItemModel::appropriateItem(const QString &pattern) const } +/************************************************ + + ************************************************/ +void CommandItemModel::showHistoryFirst(bool first/* = true*/) +{ + mShowHistoryFirst = first; + invalidate(); +} + /************************************************ ************************************************/ diff --git a/commanditemmodel.h b/commanditemmodel.h index 4318c94..dc5bb70 100644 --- a/commanditemmodel.h +++ b/commanditemmodel.h @@ -86,6 +86,8 @@ public: bool isShowOnlyHistory() const { return mOnlyHistory; } void showOnlyHistory(bool onlyHistory) { mOnlyHistory = onlyHistory; } + void showHistoryFirst(bool first = true); + QString command() const { return mSourceModel->command(); } void setCommand(const QString &command) { mSourceModel->setCommand(command); } @@ -101,6 +103,7 @@ private: int itemType(const QModelIndex &index) const; CommandSourceItemModel *mSourceModel; bool mOnlyHistory; + bool mShowHistoryFirst; //!< flag for history items to be shown first/last }; #endif // COMMANDITEMMODEL_H diff --git a/configuredialog/configuredialog.cpp b/configuredialog/configuredialog.cpp index 6bb94e4..b9f7c06 100644 --- a/configuredialog/configuredialog.cpp +++ b/configuredialog/configuredialog.cpp @@ -80,6 +80,8 @@ ConfigureDialog::ConfigureDialog(QSettings *settings, const QString &defaultShor connect(ui->shortcutEd->addMenuAction(tr("Reset")), SIGNAL(triggered()), this, SLOT(shortcutReset())); settingsChanged(); + + connect(ui->historyCb, &QAbstractButton::toggled, [this] (bool checked) { mSettings->setValue("dialog/history_first", checked); }); } @@ -95,6 +97,7 @@ void ConfigureDialog::settingsChanged() ui->monitorCbx->setCurrentIndex(mSettings->value("dialog/monitor", -1).toInt() + 1); ui->shortcutEd->setText(mSettings->value("dialog/shortcut", "Alt+F2").toString()); + ui->historyCb->setChecked(mSettings->value("dialog/history_first", true).toBool()); } diff --git a/configuredialog/configuredialog.ui b/configuredialog/configuredialog.ui index 1296f1d..0ac88fc 100644 --- a/configuredialog/configuredialog.ui +++ b/configuredialog/configuredialog.ui @@ -40,6 +40,13 @@ + + + + Show history first + + + diff --git a/debian/.gitignore b/debian/.gitignore index 29efc17..67c69ce 100644 --- a/debian/.gitignore +++ b/debian/.gitignore @@ -1,7 +1,7 @@ /*.debhelper /*.log /*.substvars +/debhelper-build-stamp /files /lxqt-runner/ -/lxqt-runner-dbg/ diff --git a/debian/changelog b/debian/changelog index 303c7ce..1862a9d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,29 @@ +lxqt-runner (0.11.0-2) unstable; urgency=medium + + * Cherry-picking upstream release 0.11.0. + * Bumped Standards to 3.9.8, no changes needed + * Bumped compat to 10 + * Removed --parallel from rules, standard compat 10 + * Bumped minimum version debhelper (>= 10) + * Bumped minimum version libqtxdg-dev (>= 2.0.0) + * Bumped minimum version liblxqt0-dev (>= 0.11.0) + * Bumped minimum version liblxqt-globalkeys0-dev (>= 0.11.0), + * Bumped minimum version liblxqt-globalkeys-ui0-dev (>= 0.11.0), + * Added build dependency libmuparser-dev + * Added build dependency libqt5svg5-dev + * Added build dependency libqt5xdgiconloader-dev (>= 2.0.0) + * Removed build dependency qtscript5-dev + * Added Recommends lxqt-runner-l10n + * Fixed VCS fields, using https and plain /git/ + * Fixed copyrights Format field to https + * Fixed copyrights Source field to lxqt-runner + * Bumped years in copyrights + * Added translation control to rules + * Set CMAKE_BUILD_TYPE=RelWithDebInfo + * Exported LC_ALL=C.UTF-8, make builds reproducible + + -- Alf Gaida Wed, 20 Jul 2016 23:36:42 +0200 + lxqt-runner (0.10.0-3) unstable; urgency=medium * Remove dbg package in favor of dbgsym. diff --git a/debian/compat b/debian/compat index ec63514..f599e28 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -9 +10 diff --git a/debian/control b/debian/control index c692882..e7c0ea9 100644 --- a/debian/control +++ b/debian/control @@ -4,30 +4,33 @@ Uploaders: Alf Gaida , ChangZhuo Chen (陳昌倬) Section: x11 Priority: optional -Build-Depends: cmake (>= 3.0.2), - debhelper (>= 9), - libx11-dev, - libmenu-cache-dev, +Build-Depends: debhelper (>= 10), + cmake (>= 3.0.2), libkf5windowsystem-dev, - liblxqt0-dev (>= 0.10.0), - liblxqt-globalkeys0-dev, - liblxqt-globalkeys-ui0-dev, + liblxqt0-dev (>= 0.11.0), + liblxqt-globalkeys0-dev (>= 0.11.0), + liblxqt-globalkeys-ui0-dev (>= 0.11.0), + libmenu-cache-dev, + libmuparser-dev, + libqt5svg5-dev, libqt5x11extras5-dev, - libqt5xdg-dev (>= 1.3.0), + libqt5xdg-dev (>= 2.0.0), + libqt5xdgiconloader-dev (>= 2.0.0), + libx11-dev, pkg-config, qtbase5-private-dev, - qtscript5-dev, qttools5-dev, qttools5-dev-tools -Standards-Version: 3.9.6 -Vcs-Browser: http://anonscm.debian.org/cgit/pkg-lxqt/lxqt-runner.git/?h=debian/sid -Vcs-Git: git://anonscm.debian.org/pkg-lxqt/lxqt-runner.git -b debian/sid +Standards-Version: 3.9.8 +Vcs-Browser: https://anonscm.debian.org/cgit/pkg-lxqt/lxqt-runner.git/?h=debian/sid +Vcs-Git: https://anonscm.debian.org/git/pkg-lxqt/lxqt-runner.git -b debian/sid Homepage: https://github.com/lxde/lxqt-runner Package: lxqt-runner Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} +Recommends: lxqt-runner-l10n Description: LXQt program launcher Tool used to launch programs quickly by typing their names . diff --git a/debian/copyright b/debian/copyright index 0404f83..e686d4b 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,14 +1,14 @@ -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: lxqt-runner -Source: https://github.com/lxde/lxqt-panel +Source: https://github.com/lxde/lxqt-runner Files: * -Copyright: 2012-2015 LXQt team +Copyright: 2012-2016 LXQt team 2010-2012 Razor team License: LGPL-2.1+ Files: debian/* -Copyright: 2014-2015 Alf Gaida +Copyright: 2014-2016 Alf Gaida License: LGPL-2.1+ License: LGPL-2.1+ diff --git a/debian/docs b/debian/docs index 62deb04..0b6e0f3 100644 --- a/debian/docs +++ b/debian/docs @@ -1 +1,2 @@ AUTHORS +README.md diff --git a/debian/rules b/debian/rules index e8abf41..c03819d 100755 --- a/debian/rules +++ b/debian/rules @@ -1,8 +1,15 @@ #!/usr/bin/make -f -#export DH_VERBOSE=1 +# export DH_VERBOSE=1 +export LC_ALL=C.UTF-8 export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed +export DEB_BUILD_MAINT_OPTIONS = hardening=+all %: - dh ${@} --buildsystem cmake \ - --parallel + dh ${@} --buildsystem cmake + +override_dh_auto_configure: + dh_auto_configure --\ + -DPULL_TRANSLATIONS=OFF\ + -DUPDATE_TRANSLATIONS=OFF\ + -DCMAKE_BUILD_TYPE=RelWithDebInfo diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc index 05cd1df..4936633 100644 --- a/debian/upstream/signing-key.asc +++ b/debian/upstream/signing-key.asc @@ -1,63 +1,50 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v2.0.22 (GNU/Linux) -mQINBFJevCYBEACx+Hvy+Vsuf+V5jeLUnzjAmHoy8DfTeGWr3ts30IapLHrfi0+U -WpzNnISO77yTr4VNboVZH+GHM/rnPfieODfB4ZW6CZLlInMSKUXcgQsEqXpyBZhA -Ib/SPy2bOfHly1uRJes0uRDsH5+v/hD74sByfnjQlrvI68O6wvGZmDFMNNPVO8+/ -OWBSBNkBuVrrZOMSPsLwQGJ4UtUQ4whburaPJG4VZJc5DLbzJGbEuACc0IAEYJS3 -7AfXVXn4j4Gc9F3o1xTUnbOBnwGPquWwUIm3FM7Ec2OdkvMt3EwvnkMAfeVrq3iE -FDD/KZTxdL0BZH3QD8gB7Jm4v4f3Nkobg6JCvCbcH3wBdZW4mASbwWzfRaDC2zHb -ErTglD7PpShLKZZ0pr9okWZEGw4Ku3q8ALi1JXK/ePTmsBlvkVskOJ3Nnd0avgH4 -+Q/vZoKfH8EhNY745rI+8CE9iv6V9XiSUt4CKEWAENt4A8hq6U2vV+jZv3B6AgD7 -ZjiI59yD4YuYubu8rCnNizTgh1voVw3ietknn/x2H5yH8fByWZ5uL87C0ky/uma6 -ZGbiiAtM4kdkyDMrfRV5nlEG9EKAGPVu5mjeSCrfkETwZ9OFPz1AuDye4ZEXrrcC -iRQ7RX6/GtW18aHER0kzGnfwx5KJzkDrRBY8A2PdXLBcrsN4WpK9EX01PQARAQAB -tCNKZXJvbWUgTGVjbGFuY2hlIDxqZXJvbWVAbGVjbGFuLmNoPokCPwQTAQIAKQUC -Ul68JgIbAwUJAeEzgAcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEDfgrx/a -SPNzSHIP/1ewXcC0TFBcvDD7MrIP7anyNfiWfW7cxkR8GSamkg6HTa6Ndyr1FFjJ -OoDFUP37jWhu59CsHxs2D0zRWJktezfvElscRgqbHcdpIznqsGdI8hXCZafhBGVb -sdAB2LRawcXGxnXt7XajPcSVwLWRE62caBqohznU2iWvI780WNjEbZoA0LhZwaFF -UUPJm8ea9v0IkZVKUyg9WONZ1U7FEG9SaEiSpI8kJdx1fvCwZVDV/NRO5GqnJaho -P1LCne4YdwS6pt1/fRgk32IHxxZfHlLzLHxb6v1JmIg72x28qCmGyK9oFBDbbnYu -6Aq8XbHogOrD5vJM2Pfm2IhV0+JHOjfQbddv8tsAH1M+LI+tToXmg5st1AU3wnTn -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 -=fF8P +mQINBFXQeMMBEACif4+9pTrC6uNmRng0ZbzLh7p3cazmbnp2YFgDQDJZ7ZNmebxy +ngRuRhjGuDcFAL/37BwJnrBpfZFK9ljoH4Fo5Jm9cOELaTy7AIcEiV9dKMyrKF1E +C76d8jHVuzuPbI92DkFdLZAdk+qjrrAy0x43PvUd+aaBGLcFs1ZMk7gOvElc2d95 +zWWSp5anjukmGbp+EsStnWJkF6VHj56qmklfYy5ioiVBOSpXo/RsACAcIlz8C8A1 +d4tNMiB2uF2OrUfrL8DD6m3nBqep+AYbIQrxMl9kUQH3I33e9kH/L+SHQyE6phS8 +Czq06WjV4TcJ9VWxm7hQCNLYSxhZYYr1AW45lS5+xmfBOq2qeLgvjbFxa8PPrsp6 +Bqgt8MjwUkXjU5IB7YulUBvFU2l0MJZWDBuNy0oNtCe1cU3JyIqLKjvzQQQ9eD5L +o3Ul704TLHz0z+67Rxh05Mi4JvyFMjnooSJkNH8/7yXoBN0ZGOh1/5zMU1gK5bmP +6hKgis2exSZNIS74mF6/PqGgcwk3PyI4T3keUQoNPj11M2EznLHxY19QZfQ5oMed +8xOlHKjpcm8PYMB4gduNXlV7gI9h7UxuC5GuPiP2lmM6wUyHu48divxDk5UYgPEC +xlPI2wHCNDsuy0EruCYIvrMSZfpYCCSrmXiOORBLO5qXkauILLkJarHqjQARAQAB +tCBBbGYgR2FpZGEgPGFnYWlkYUBzaWR1Y3Rpb24ub3JnPokCOAQTAQIAIgUCVdB4 +wwIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQQsnI069epeOT2xAAgSHf +41103cnElGf6TokPl4J6hdRPy2CUAjmBtMfr8eajYvGDGgnmsh9AGYGURjfFVCCf +Ag+8b6nF3xg03UmgsuSO8H78HGv9kKzF9aHmLt+SXq3jUX+LnIkFHErZWjFAKdJr +luu1j6ltxLe9PQljxZnugzMaUbW8eEPKvcriiDn3S4/DtikW/jpGA0MTY4ZWs9pZ +L/6iRRH99L2X/cWO4sCgDXCTt4oK0f5OvwiuCoVOM+PYoIm31JICCKOlqamkCn7d +2KH3nsy0v7tXgnrnb/zr8jVGsZLzUE51AFOzb5Ec74/2SAq8X4gbTppttLXEIooq +nbepitW/PePkPY5gpfwHtFbl88qFnir+ABMefqRZkzeh0tsxJVLVHGP1KZykXpv7 +96A6Q1h7Zo9Ny7WwN5Xl02g35LVCaPyzd3A8A4315uMuP3iziq57UktKqh9d5S3t +jfK7e9UfFQZBLfxn2sNPsjdYSNUQp/PXTTk/599h359WVuUIR866T8K7N7EEon3p +qLItZljQ9Nmr/yGwKi9iQgi2LtZj5KUcF1zBLzZKf95FvoqSZqBXdFSjm+eYGaCH +Q2IBnhyP92lEknSK9ystUJXmY69tQKBFqJxScwaS+7a/rfLKssQjSWxqk+SX4QeW +e9z9FUpo71bq0Zkc/M9aOCoEEmhg4Ob/JWy08oC5Ag0EVdB4wwEQAKZDCc/C41y0 +omLFCAJybvHiFScM+jOpyGpQvceoviEhIT7h1br/pnSEMkgPQEDPWJGtKueg1/94 +sXTH24uefr3Y6JdZoBtprxl4JXUoOndgq1QH1xuUsy3/9YWU8Qboy9j8a8w0oCDE +T8Z03KHCwqzD3K+44jhmhF+0eLoaaY8ohS8ziP+DcFKVHyatmS5yCCdjVrj6PxMp +uy/y5SXT1kmiPdVAIzQlM5DlN6o46TV+BH0pPvVYjtwf31o0FckJxy5S1v0koCNB +vX2b7tTDPKzn8G18eUVhGoUTZBUCp1gg36wJ0YY4xgZ9vI/xDCeHeAkyvGtaTAoy +qP4rHoUO5KVRSDh7frSlrdbLGWHaQwOhcqoKd4qP/164wHPGkgHL1vztdOc7l1wx +q3gMh2uwmJR0NRrw4WVuaIqL9lEbGBNijlmGsuqXfsMRhc/qoqgVDWvrcCtEoOwl +TONGobW3jpCCjpa9SeGNjxuY6IVLn0lfX4hItNVY9sFA+H+yj4uBQ7zsmMUXafxt +Yllm0f98yGNg5lnJg4bLOYu3IkpogUKNA3qkZ+6vRtwH70/bJGp7qdx/3G4W5dMX +asd/rJjdELW+R/NVULAmK1ETSklaa3Z6vbTu8bN8gvP8pmMJ8f/U8+qzkuAqc201 +Z4O+s7ZsQfTiz5mm7zPGIYTnppDSno/rABEBAAGJAh8EGAECAAkFAlXQeMMCGwwA +CgkQQsnI069epeMt0g/+JrwLhULD6NOxaLgxboh/KZkh/7ViU4cB+QPT8JIcWxkZ +zj8uk85TUitEUzKmjp/ItCrhQE5WNNWbz/FBnAuLtaQuHhcHMA3Vu95UUCGi1vyZ +ZRlS3YRM6S9BOzrjG7fGQJmO/RU3g6rb0TAwGFxDHj8t4JEDTc3zASG7wV/VTn06 +d8XIH9CZOw3kUuhkQ3OR/PEj1BCeCC+caC+tBjO0fgvDp8RV7NFQQ9kH8R3/xlWd +6KMPtILE6fUft6LubWRGd1P5JBuzXivELolASajewbYtL/s87CCji3ngq0aT9raK +m02wqFzNbX1iv+w2iqPQXq6pdRyxtJ8+Q8Z7zEBGJS5nkrYjsLTduZIjJHYHYH7f +3/ydVjQ3z12iqHKElgaRI7RUmpNiNxVIr+TtuxzeC6G+CF++XNkUtJODvCmRaoJS +waYsitz8+LSv3tawZJ0iQkKc9nerQMuBD+AzIr3i4NgXiEIN513esUtnKzeyIIsL +ntUcBjXKuLCj8OZrZtexjq7edWWbN57/3ikyS2Z7y0i3O30qk5jmccSaS6kA7xTY +WCDFzbN2v2y+vGu9KYn+2HtrP2BtNa8JTh3waNeLUTpn4GV4mMrsZjOy6vhhHb91 +1TKfI1gvjk7lE9xaWmcDjdI55dw3jIq8kK9SdgORGq9/S3g7KJNRjme+6GjqQfk= +=h7ww -----END PGP PUBLIC KEY BLOCK----- diff --git a/debian/watch b/debian/watch index ec89dc6..6c86b49 100644 --- a/debian/watch +++ b/debian/watch @@ -1,3 +1,3 @@ -version=3 +version=4 opts="pgpsigurlmangle=s/$/.asc/" \ - https://github.com/lxde/lxqt-runner/releases .*/([\d\.]+).tar.gz + https://github.com/lxde/lxqt-runner/releases .*/lxqt-runner-([\d\.]+).tar.xz diff --git a/dialog.cpp b/dialog.cpp index f3bd74f..aa23e68 100644 --- a/dialog.cpp +++ b/dialog.cpp @@ -64,6 +64,7 @@ Dialog::Dialog(QWidget *parent) : mSettings(new LXQt::Settings("lxqt-runner", this)), mGlobalShortcut(0), mLockCascadeChanges(false), + mDesktopChanged(false), mConfigureDialog(0) { ui->setupUi(this); @@ -84,7 +85,7 @@ Dialog::Dialog(QWidget *parent) : ui->commandList->setModel(mCommandItemModel); ui->commandList->setEditTriggers(QAbstractItemView::NoEditTriggers); connect(ui->commandList, SIGNAL(clicked(QModelIndex)), this, SLOT(runCommand())); - setFilter(""); + setFilter(QString()); dataChanged(); ui->commandList->setItemDelegate(new LXQt::HtmlDelegate(QSize(32, 32), ui->commandList)); @@ -117,6 +118,7 @@ Dialog::Dialog(QWidget *parent) : connect(mGlobalShortcut, SIGNAL(activated()), this, SLOT(showHide())); connect(mGlobalShortcut, SIGNAL(shortcutChanged(QString,QString)), this, SLOT(shortcutChanged(QString,QString))); connect(KWindowSystem::self(), SIGNAL(activeWindowChanged(WId)), this, SLOT(onActiveWindowChanged(WId))); + connect(KWindowSystem::self(), &KWindowSystem::currentDesktopChanged, this, &Dialog::onCurrentDesktopChanged); resize(mSettings->value("dialog/width", 400).toInt(), size().height()); @@ -216,7 +218,7 @@ bool Dialog::editKeyPressEvent(QKeyEvent *event) ui->commandList->currentIndex().row() == 0 ) { - setFilter("", false); + setFilter(QString(), false); return true; } qApp->sendEvent(ui->commandList, event); @@ -228,10 +230,14 @@ bool Dialog::editKeyPressEvent(QKeyEvent *event) ui->commandList->isHidden() ) { - setFilter("", true); + setFilter(QString(), true); + + // set focus to the list so that it highlights the first item correctly, + // and then set it back to the textfield, where it belongs + ui->commandList->setFocus(); + ui->commandEd->setFocus(); return true; } - qApp->sendEvent(ui->commandList, event); return true; @@ -297,7 +303,7 @@ void Dialog::showHide() { realign(); show(); - KWindowSystem::forceActiveWindow(windowHandle()->winId()); + KWindowSystem::forceActiveWindow(winId()); ui->commandEd->setFocus(); } } @@ -350,6 +356,8 @@ void Dialog::applySettings() mMonitor = mSettings->value("dialog/monitor", -1).toInt(); + mCommandItemModel->showHistoryFirst(mSettings->value("dialog/history_first", true).toBool()); + realign(); mSettings->sync(); } @@ -377,8 +385,35 @@ void Dialog::shortcutChanged(const QString &/*oldShortcut*/, const QString &newS ************************************************/ void Dialog::onActiveWindowChanged(WId id) { - if (isVisible() && id != winId()) - showHide(); + if (isVisible() && 0 != id && id != winId()) + { + if (mDesktopChanged) + { + mDesktopChanged = false; + KWindowSystem::forceActiveWindow(winId()); + } else + { + hide(); + } + } +} + + +/************************************************ + + ************************************************/ +void Dialog::onCurrentDesktopChanged(int screen) +{ + if (isVisible()) + { + KWindowSystem::setOnDesktop(winId(), screen); + KWindowSystem::forceActiveWindow(winId()); + //Note: workaround for changing desktop while runner is shown + // The KWindowSystem::forceActiveWindow may fail to correctly activate runner if there + // are any other windows on the new desktop (probably because of the sequence while WM + // changes the virtual desktop (change desktop and activate any of the windows on it)) + mDesktopChanged = true; + } } @@ -394,7 +429,11 @@ void Dialog::setFilter(const QString &text, bool onlyHistory) mCommandItemModel->setCommand(trimmedText); mCommandItemModel->showOnlyHistory(onlyHistory); mCommandItemModel->setFilterRegExp(trimmedText); - mCommandItemModel->sort(0); + mCommandItemModel->invalidate(); + + // tidy up layout and select first item + ui->commandList->doItemsLayout(); + ui->commandList->setCurrentIndex(mCommandItemModel->index(0, 0)); } /************************************************ diff --git a/dialog.h b/dialog.h index 92630de..a1c7611 100644 --- a/dialog.h +++ b/dialog.h @@ -78,6 +78,7 @@ private: LXQt::ScreenSaver *mScreenSaver; bool mLockCascadeChanges; + bool mDesktopChanged; //!< \note flag for changing desktop & activation workaround ConfigureDialog *mConfigureDialog; @@ -91,6 +92,7 @@ private slots: void showConfigDialog(); void shortcutChanged(const QString &oldShortcut, const QString &newShortcut); void onActiveWindowChanged(WId id); + void onCurrentDesktopChanged(int desktop); }; #endif // DIALOG_H diff --git a/dialog.ui b/dialog.ui index a215d2d..cea0b5d 100644 --- a/dialog.ui +++ b/dialog.ui @@ -37,6 +37,9 @@ + + true + QFrame::NoFrame @@ -86,6 +89,9 @@ + + + QToolButton::InstantPopup @@ -102,6 +108,9 @@ X + + + true diff --git a/lxqt-runner.png b/lxqt-runner.png new file mode 100644 index 0000000..1310158 Binary files /dev/null and b/lxqt-runner.png differ diff --git a/main.cpp b/main.cpp index 1cca392..9177f5a 100644 --- a/main.cpp +++ b/main.cpp @@ -26,18 +26,18 @@ * END_COMMON_COPYRIGHT_HEADER */ -#include +#include #include "dialog.h" int main(int argc, char *argv[]) { - LXQt::Application a(argc, argv); + LXQt::SingleApplication a(argc, argv); a.setQuitOnLastWindowClosed(false); - QWidget *hiddenPreviewParent = new QWidget(0, Qt::Tool); - Dialog d(hiddenPreviewParent); - //d.show(); + QWidget hiddenPreviewParent{0, Qt::Tool}; + Dialog d(&hiddenPreviewParent); + a.setActivationWindow(&d); return a.exec(); diff --git a/providers.cpp b/providers.cpp index 4936789..2e975a2 100644 --- a/providers.cpp +++ b/providers.cpp @@ -63,7 +63,7 @@ static QString expandCommand(const QString &command, QStringList *arguments=0) wordexp_t words; if (wordexp(command.toLocal8Bit().data(), &words, 0) != 0) - return ""; + return QString(); char **w; w = words.we_wordv; @@ -86,7 +86,7 @@ static QString expandCommand(const QString &command, QStringList *arguments=0) static QString which(const QString &progName) { if (progName.isEmpty()) - return ""; + return QString(); if (progName.startsWith(QDir::separator())) { @@ -95,16 +95,16 @@ static QString which(const QString &progName) return fileInfo.absoluteFilePath(); } - QStringList dirs = QString(getenv("PATH")).split(":"); + const QStringList dirs = QString(getenv("PATH")).split(":"); - foreach (QString dir, dirs) + foreach (const QString &dir, dirs) { QFileInfo fileInfo(QDir(dir), progName); if (fileInfo.isExecutable() && fileInfo.isFile()) return fileInfo.absoluteFilePath(); } - return ""; + return QString(); } @@ -347,7 +347,7 @@ void AppLinkProvider::menuCacheReloadNotify(MenuCache* cache, gpointer user_data void doUpdate(const QDomElement &xml, QHash &items) { - DomElementIterator it(xml, ""); + DomElementIterator it(xml, QString()); while (it.hasNext()) { QDomElement e = it.next(); @@ -561,7 +561,7 @@ void CustomCommandItem::setCommand(const QString &command) if (!mExec.isEmpty()) mComment = QString("%1 %2").arg(mExec, command.section(' ', 1)); else - mComment = ""; + mComment = QString(); } @@ -789,20 +789,28 @@ bool VirtualBoxProvider::isOutDated() const #ifdef MATH_ENABLED -#include -#include +#include /************************************************ ************************************************/ MathItem::MathItem(): - CommandProviderItem() + CommandProviderItem(), + mParser{new mu::Parser} { mToolTip =QObject::tr("Mathematics"); mIcon = XdgIcon::fromTheme("accessories-calculator"); } +/************************************************ + + ************************************************/ +MathItem::~MathItem() +{ +} + + /************************************************ ************************************************/ @@ -819,17 +827,42 @@ bool MathItem::compare(const QRegExp ®Exp) const { QString s = regExp.pattern().trimmed(); + bool is_math = false; + if (s.startsWith('=')) + { + is_math = true; + s.remove(0, 1); + } if (s.endsWith("=")) { + is_math = true; s.chop(1); - QScriptEngine myEngine; - QScriptValue res = myEngine.evaluate(s); - if (res.isNumber()) + } + + if (is_math) + { + if (s != mCachedInput) { - MathItem *self=const_cast(this); - self->mTitle = s + " = " + res.toString(); - return true; + MathItem * self = const_cast(this); + mCachedInput = s; + self->mTitle.clear(); + + //try to compute anything suitable + for (int attempts = 20; 0 < attempts && 0 < s.size(); s.chop(1), --attempts) + { + try + { + mParser->SetExpr(s.toStdString()); + self->mTitle = s + "=" + QLocale::system().toString(mParser->Eval()); + break; + } catch (const mu::Parser::exception_type & e) + { + //don't do anything, return false -> no result will be showed + } + } } + + return !mTitle.isEmpty(); } return false; diff --git a/providers.h b/providers.h index 8bc6b4d..d693c0e 100644 --- a/providers.h +++ b/providers.h @@ -245,6 +245,11 @@ private: +#ifdef MATH_ENABLED +namespace mu +{ + class Parser; +} /************************************************ * Mathematics ************************************************/ @@ -252,10 +257,14 @@ class MathItem: public CommandProviderItem { public: MathItem(); + ~MathItem(); bool run() const; bool compare(const QRegExp ®Exp) const; virtual unsigned int rank(const QString &pattern) const; +private: + QScopedPointer mParser; + mutable QString mCachedInput; }; @@ -266,6 +275,7 @@ public: MathProvider(); //virtual ~MathProvider(); }; +#endif #ifdef VBOX_ENABLED #include diff --git a/translations/lxqt-runner.ts b/translations/lxqt-runner.ts deleted file mode 100644 index d793666..0000000 --- a/translations/lxqt-runner.ts +++ /dev/null @@ -1,93 +0,0 @@ - - - - - ConfigureDialog - - - Runner Settings - - - - - Appearance - - - - - Positioning: - - - - - Show on: - - - - - Shortcut: - - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - - - - - Mathematics - - - - diff --git a/translations/lxqt-runner_ar.ts b/translations/lxqt-runner_ar.ts deleted file mode 100644 index 023e529..0000000 --- a/translations/lxqt-runner_ar.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - إعدادات مُطلق ريزر - - - - Runner Settings - - - - - Appearance - المظهر - - - - Positioning: - تحديد الموضع: - - - - Show on: - إظهارٌ على: - - - - Shortcut: - رابطٌ مختصر: - - - Top edge of screen - الحافَّة العليا للشَّاشة - - - Center of screen - مركز الشَّاشة - - - Monitor where the mouse - المراقبة عند مؤشر الفأرة - - - Always on %1 monitor - دوماً في شاشة العرض %1 - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - بادئ التطبيقات - - - Configure lxqt-runner - تهيئة مُطلق نظام ريزر - - - Clear lxqt-runner History - مسح ذاكرة مُنفِّذ برامج ريزر - - - Press "%1" to see dialog. - اضغط "%1" لمشاهدة لوحة الحوار. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - سجلُّ السوابق - - - - Mathematics - الرِّياضيَّات - - - LXQt Power Management - إدارة الطاقة لبيئة ريزر - - - diff --git a/translations/lxqt-runner_cs.ts b/translations/lxqt-runner_cs.ts deleted file mode 100644 index ca7491c..0000000 --- a/translations/lxqt-runner_cs.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - Nastavení spouštěče programů - - - - Runner Settings - - - - - Appearance - Vzhled - - - - Positioning: - Umístění: - - - - Show on: - Ukázat na: - - - - Shortcut: - Klávesová zkratka: - - - Top edge of screen - Horní okraj obrazovky - - - Center of screen - Střed obrazovky - - - Monitor where the mouse - Tam, kde je myš - - - Always on %1 monitor - Vždy na %1 obrazovce - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Spouštěč programů - - - Configure lxqt-runner - Nastavit spouštěč programů - - - Clear lxqt-runner History - Smazat historii spouštěče programů - - - Press "%1" to see dialog. - Stiskněte "%1" pro zobrazení dialogu. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Historie - - - - Mathematics - Matematika - - - LXQt Power Management - Správa energie - - - diff --git a/translations/lxqt-runner_cs_CZ.ts b/translations/lxqt-runner_cs_CZ.ts deleted file mode 100644 index 79253b4..0000000 --- a/translations/lxqt-runner_cs_CZ.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - Nastavení spouštěče programů - - - - Runner Settings - - - - - Appearance - Vzhled - - - - Positioning: - Umístění: - - - - Show on: - Ukázat na: - - - - Shortcut: - Klávesová zkratka: - - - Top edge of screen - Horní okraj obrazovky - - - Center of screen - Střed obrazovky - - - Monitor where the mouse - Tam, kde je myš - - - Always on %1 monitor - Vždy na %1 obrazovce - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Spouštěč programů - - - Configure lxqt-runner - Nastavit spouštěč programů - - - Clear lxqt-runner History - Smazat historii spouštěče programů - - - Press "%1" to see dialog. - Stiskněte "%1" pro zobrazení dialogu. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Historie - - - - Mathematics - Matematika - - - LXQt Power Management - Správa energie - - - diff --git a/translations/lxqt-runner_da.ts b/translations/lxqt-runner_da.ts deleted file mode 100644 index a7b55e1..0000000 --- a/translations/lxqt-runner_da.ts +++ /dev/null @@ -1,93 +0,0 @@ - - - - - ConfigureDialog - - - Runner Settings - - - - - Appearance - - - - - Positioning: - - - - - Show on: - - - - - Shortcut: - - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - - - - - Mathematics - - - - diff --git a/translations/lxqt-runner_da_DK.ts b/translations/lxqt-runner_da_DK.ts deleted file mode 100644 index 53d8496..0000000 --- a/translations/lxqt-runner_da_DK.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - Programstarter Indstillinger - - - - Runner Settings - - - - - Appearance - Udseende - - - - Positioning: - Position: - - - - Show on: - Vis på: - - - - Shortcut: - Genvej: - - - Top edge of screen - Skærmens topkant - - - Center of screen - Skærmens midte - - - Monitor where the mouse - Skærmen, hvor musen - - - Always on %1 monitor - Altid på skærm %1 - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Programstarter - - - Configure lxqt-runner - Indstil LXQt programstarter - - - Clear lxqt-runner History - Nulstil lxqt programstarter historik - - - Press "%1" to see dialog. - Tryk "%1" for at se dialog. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Historie - - - - Mathematics - Matematik - - - LXQt Power Management - LXQt Strømstyring - - - diff --git a/translations/lxqt-runner_de.ts b/translations/lxqt-runner_de.ts deleted file mode 100644 index 921b020..0000000 --- a/translations/lxqt-runner_de.ts +++ /dev/null @@ -1,93 +0,0 @@ - - - - - ConfigureDialog - - - Runner Settings - Anwendungsstarter-Einstellungen - - - - Appearance - Aussehen - - - - Positioning: - Positionierung: - - - - Show on: - Anzeigen auf: - - - - Shortcut: - Tastenkürzel: - - - - Top edge of the screen - Bildschirmoberkante - - - - Center of the screen - Bildschirmmitte - - - - Focused screen - Fokussierter Bildschirm - - - - Always on screen %1 - Immer auf Bildschirm %1 - - - - Reset - Zurücksetzen - - - - Dialog - - - Application launcher - Anwendungsstarter - - - - Configure - Konfigurieren - - - - Clear History - Verlauf löschen - - - - Show/hide runner dialog - Dialog anzeigen/verstecken - - - - QObject - - - History - Verlauf - - - - Mathematics - Mathematik - - - diff --git a/translations/lxqt-runner_el.ts b/translations/lxqt-runner_el.ts deleted file mode 100644 index d4b01a4..0000000 --- a/translations/lxqt-runner_el.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - Ρυθμίσεις εκτελεστή LXQt - - - - Runner Settings - - - - - Appearance - Εμφάνιση - - - - Positioning: - Θέση: - - - - Show on: - Εμφάνιση σε: - - - - Shortcut: - Συντόμευση: - - - Top edge of screen - Επάνω άκρη της οθόνης - - - Center of screen - Κέντρο της οθόνης - - - Monitor where the mouse - Οθόνη όπου βρίσκεται το ποντίκι - - - Always on %1 monitor - Πάντα στην οθόνη %1 - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Εκκινητής εφαρμογής - - - Configure lxqt-runner - Διαμόρφωση εκτελεστή lxqt - - - Clear lxqt-runner History - Εκκαθάριση ιστορικού εκτελεστή lxqt - - - Press "%1" to see dialog. - Πιέστε "%1" για εμφάνιση διαλόγου. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Ιστορία - - - - Mathematics - Μαθηματικά - - - LXQt Power Management - Διαχείριση ενέργειας LXQt - - - diff --git a/translations/lxqt-runner_eo.ts b/translations/lxqt-runner_eo.ts deleted file mode 100644 index 2df14ea..0000000 --- a/translations/lxqt-runner_eo.ts +++ /dev/null @@ -1,125 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - Agordoj de lxqt-runner - - - - Runner Settings - - - - - Appearance - Apero - - - - Positioning: - Loko: - - - - Show on: - Montri en: - - - - Shortcut: - Klavkombino: - - - Top edge of screen - Supra bordo de la ekrano - - - Center of screen - Centro de la ekrano - - - Always on %1 monitor - Ĉiam en %1 monitoro - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Lanĉilo de aplikaĵoj - - - Configure lxqt-runner - Agordi lxqt-runner - - - Clear lxqt-runner History - Vakigi kronologion de lxqt-runner - - - Press "%1" to see dialog. - Alkalku "%1" por montri dialogon. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Historio - - - - Mathematics - Matematiko - - - LXQt Power Management - Kurentmastrumilo de LXQt - - - diff --git a/translations/lxqt-runner_es.ts b/translations/lxqt-runner_es.ts deleted file mode 100644 index 6494aba..0000000 --- a/translations/lxqt-runner_es.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - Configuración de LXQt-runner - - - - Runner Settings - - - - - Appearance - Apariencia - - - - Positioning: - Posición: - - - - Show on: - Mostrar en: - - - - Shortcut: - Acceso directo - - - Top edge of screen - Extremo superior de la pantalla - - - Center of screen - Centro de la pantalla - - - Monitor where the mouse - Monitor donde esté el ratón - - - Always on %1 monitor - Siempre en el monitor %1 - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Lanzador de aplicaciones - - - Configure lxqt-runner - Configurar lxqt-runner - - - Clear lxqt-runner History - Limpiar historial de LXQt-Runner - - - Press "%1" to see dialog. - Presione "%1" para ver la pantalla. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Historial - - - - Mathematics - Matemáticas - - - LXQt Power Management - Administrador de energía de LXQt - - - diff --git a/translations/lxqt-runner_es_VE.ts b/translations/lxqt-runner_es_VE.ts deleted file mode 100644 index 8f6a817..0000000 --- a/translations/lxqt-runner_es_VE.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - Configuraciones de LXQt-Ejecutor - - - - Runner Settings - - - - - Appearance - Apariencia - - - - Positioning: - Posicionamiento: - - - - Show on: - Mostrar en: - - - - Shortcut: - Acceso de tecla: - - - Top edge of screen - En el tope de pantalla - - - Center of screen - Centrar en la pantalla - - - Monitor where the mouse - Pantalla donde este el raton - - - Always on %1 monitor - Siempre en la pantalla %1 - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Lanzador de palicaciones - - - Configure lxqt-runner - Configurar lanzador de LXQt - - - Clear lxqt-runner History - Limpiar historial de lxqt-runner - - - Press "%1" to see dialog. - Presiona %1 para ver el dialogo - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Historial - - - - Mathematics - Matematicas - - - LXQt Power Management - Manejador de energia de LXQt - - - diff --git a/translations/lxqt-runner_eu.ts b/translations/lxqt-runner_eu.ts deleted file mode 100644 index da243fb..0000000 --- a/translations/lxqt-runner_eu.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - LXQt-runner ezarpenak - - - - Runner Settings - - - - - Appearance - Itxura - - - - Positioning: - Posizioa: - - - - Show on: - Erakutsi hemen: - - - - Shortcut: - Lasterbidea: - - - Top edge of screen - Pantailaren goiko ertza - - - Center of screen - Pantailaren erdia - - - Monitor where the mouse - Monitorea sagua dagoen lekuan - - - Always on %1 monitor - Beti %1 monitorean - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Aplikazio-abiarazlea - - - Configure lxqt-runner - Konfiguratu lxqt-runner - - - Clear lxqt-runner History - Garbitu lxqt-runner historia - - - Press "%1" to see dialog. - Sakatu "%1" elkarrizketa-koadroa ikusteko. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Historia - - - - Mathematics - Matematikak - - - LXQt Power Management - LXQt energia-kudeaketa - - - diff --git a/translations/lxqt-runner_fi.ts b/translations/lxqt-runner_fi.ts deleted file mode 100644 index bb0d128..0000000 --- a/translations/lxqt-runner_fi.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - LXQtin käynnistimen asetukset - - - - Runner Settings - - - - - Appearance - Ulkoasu - - - - Positioning: - Sijainti: - - - - Show on: - Näytä: - - - - Shortcut: - Pikanäppäin: - - - Top edge of screen - Näytön ylälaidassa - - - Center of screen - Keskellä näyttöä - - - Monitor where the mouse - Näytöllä, jossa hiiren osoitin on - - - Always on %1 monitor - Aina näytöllä %1 - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Sovelluskäynnistin - - - Configure lxqt-runner - Hallitse LXQtin käynnistintä - - - Clear lxqt-runner History - Tyhjennä LXQt-käynnistimen historia - - - Press "%1" to see dialog. - Paina "%1" nähdäksesi ikkunan. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Historia - - - - Mathematics - Matematiikka - - - LXQt Power Management - LXQtin virranhallinta - - - diff --git a/translations/lxqt-runner_fr_FR.ts b/translations/lxqt-runner_fr_FR.ts deleted file mode 100644 index fe18daf..0000000 --- a/translations/lxqt-runner_fr_FR.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - Paramètres du lanceur de commandes - - - - Runner Settings - - - - - Appearance - Apparence - - - - Positioning: - Position : - - - - Show on: - Montrer au : - - - - Shortcut: - Raccourci : - - - Top edge of screen - Bord supérieur de l'écran - - - Center of screen - Centre de l'écran - - - Monitor where the mouse - Moniteur où se trouve la souris - - - Always on %1 monitor - Toujours sur le moniteur %1 - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Lanceur d'application - - - Configure lxqt-runner - Configurer le lanceur de commandes - - - Clear lxqt-runner History - Effacer l'historique du lanceur de commandes - - - Press "%1" to see dialog. - Appuyer sur "%1" pour voir le dialogue - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Histoire - - - - Mathematics - Mathématiques - - - LXQt Power Management - Gestion de l'énergie - - - diff --git a/translations/lxqt-runner_hu.ts b/translations/lxqt-runner_hu.ts deleted file mode 100644 index 0cabc1b..0000000 --- a/translations/lxqt-runner_hu.ts +++ /dev/null @@ -1,93 +0,0 @@ - - - - - ConfigureDialog - - - Runner Settings - - - - - Appearance - - - - - Positioning: - - - - - Show on: - - - - - Shortcut: - - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - - - - - Mathematics - - - - diff --git a/translations/lxqt-runner_ia.ts b/translations/lxqt-runner_ia.ts deleted file mode 100644 index 7441e5d..0000000 --- a/translations/lxqt-runner_ia.ts +++ /dev/null @@ -1,93 +0,0 @@ - - - - - ConfigureDialog - - - Runner Settings - - - - - Appearance - - - - - Positioning: - - - - - Show on: - - - - - Shortcut: - - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - - - - - Mathematics - - - - diff --git a/translations/lxqt-runner_id_ID.ts b/translations/lxqt-runner_id_ID.ts deleted file mode 100644 index 44b61c2..0000000 --- a/translations/lxqt-runner_id_ID.ts +++ /dev/null @@ -1,93 +0,0 @@ - - - - - ConfigureDialog - - - Runner Settings - - - - - Appearance - - - - - Positioning: - - - - - Show on: - - - - - Shortcut: - - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - - - - - Mathematics - - - - diff --git a/translations/lxqt-runner_it.ts b/translations/lxqt-runner_it.ts deleted file mode 100644 index fd142fc..0000000 --- a/translations/lxqt-runner_it.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - Impostazioni di LXQt-runner - - - - Runner Settings - - - - - Appearance - Aspetto - - - - Positioning: - Posizione: - - - - Show on: - Mostra su: - - - - Shortcut: - Scorciatoia: - - - Top edge of screen - Bordo superiore dello schermo - - - Center of screen - Centro dello schermo - - - Monitor where the mouse - Vedi dove è il mouse - - - Always on %1 monitor - Sempre sul monitor %1 - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Lanciatore di applicazioni - - - Configure lxqt-runner - Configura LXQt-runner - - - Clear lxqt-runner History - Cancella la cronologia di lxqt-runner - - - Press "%1" to see dialog. - Premi "%1" per vedere la finestra di dialogo. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Cronologia - - - - Mathematics - Matematica - - - LXQt Power Management - Gestione energetica di LXQt - - - diff --git a/translations/lxqt-runner_ja.ts b/translations/lxqt-runner_ja.ts deleted file mode 100644 index 18e614b..0000000 --- a/translations/lxqt-runner_ja.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - LXQt-runnerの設定 - - - - Runner Settings - - - - - Appearance - 外観 - - - - Positioning: - 配置: - - - - Show on: - 表示: - - - - Shortcut: - ショートカット: - - - Top edge of screen - スクリーンの上辺 - - - Center of screen - スクリーンの中央 - - - Monitor where the mouse - マウスの位置を観察 - - - Always on %1 monitor - 常に%1モニタに - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - アプリケーションランチャ - - - Configure lxqt-runner - lxqt-runnerを設定 - - - Clear lxqt-runner History - LXQt-runnerの履歴を消去 - - - Press "%1" to see dialog. - ダイアログを見るには"%1"を押してください。 - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - 履歴 - - - - Mathematics - 計算 - - - LXQt Power Management - LXQt電源管理 - - - diff --git a/translations/lxqt-runner_ko.ts b/translations/lxqt-runner_ko.ts deleted file mode 100644 index bd0c463..0000000 --- a/translations/lxqt-runner_ko.ts +++ /dev/null @@ -1,93 +0,0 @@ - - - - - ConfigureDialog - - - Runner Settings - - - - - Appearance - - - - - Positioning: - - - - - Show on: - - - - - Shortcut: - - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - - - - - Mathematics - - - - diff --git a/translations/lxqt-runner_lt.ts b/translations/lxqt-runner_lt.ts deleted file mode 100644 index ebbd9b4..0000000 --- a/translations/lxqt-runner_lt.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - LXQt paleidiklio nuostatos - - - - Runner Settings - - - - - Appearance - Išvaizda - - - - Positioning: - Padėtis: - - - - Show on: - Rodyti: - - - - Shortcut: - Nuoroda: - - - Top edge of screen - Viršutiniame ekrano krašte - - - Center of screen - Ekrano centre - - - Monitor where the mouse - Ties pele - - - Always on %1 monitor - Visada „%1“ vaizduoklyje - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Programų paleidiklis - - - Configure lxqt-runner - Konfigūruoti lxqt paleidiklį - - - Clear lxqt-runner History - Išvalyti lxqt paleidiklio istoriją - - - Press "%1" to see dialog. - Norėdami matyti dialogą, spauskite „%1“ - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Istorija - - - - Mathematics - Matematika - - - LXQt Power Management - LXQt energijos valdymas - - - diff --git a/translations/lxqt-runner_nl.ts b/translations/lxqt-runner_nl.ts deleted file mode 100644 index b6fc764..0000000 --- a/translations/lxqt-runner_nl.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - LXQt-uitvoeren Instellingen - - - - Runner Settings - - - - - Appearance - Uiterlijk - - - - Positioning: - Positionering: - - - - Show on: - Toon op: - - - - Shortcut: - Snelkoppeling: - - - Top edge of screen - Bovenkant van het scherm - - - Center of screen - Midden van het scherm - - - Monitor where the mouse - Check positie van de muis - - - Always on %1 monitor - Altijd op %1 monitor - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Programma starter - - - Configure lxqt-runner - Configureer LXQt-uitvoeren - - - Clear lxqt-runner History - Wis lxqt-runner Geschiedenis - - - Press "%1" to see dialog. - Toets "%1" om dialoog te zien. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Geschiedenis - - - - Mathematics - Wiskundig - - - LXQt Power Management - LXQt Energiebeheer - - - diff --git a/translations/lxqt-runner_pl_PL.ts b/translations/lxqt-runner_pl_PL.ts deleted file mode 100644 index c4ec786..0000000 --- a/translations/lxqt-runner_pl_PL.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - Ustawienia LXQt-runner - - - - Runner Settings - - - - - Appearance - Wygląd - - - - Positioning: - Pozycja: - - - - Show on: - Pokaż na: - - - - Shortcut: - Skrót: - - - Top edge of screen - Góra ekranu - - - Center of screen - Środek ekranu - - - Monitor where the mouse - Tam, gdzie mysz - - - Always on %1 monitor - Zawsze na %1 ekranie - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Wyzwalacz programu - - - Configure lxqt-runner - Konfiguruj lxqt-runner - - - Clear lxqt-runner History - Wyczyść historię lxqt-runnera - - - Press "%1" to see dialog. - Naciśnij "%1", aby zobaczyć okno. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Historia - - - - Mathematics - Matematyka - - - LXQt Power Management - Zarządzanie zasilaniem LXQt - - - diff --git a/translations/lxqt-runner_pt.ts b/translations/lxqt-runner_pt.ts deleted file mode 100644 index eaa88dc..0000000 --- a/translations/lxqt-runner_pt.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - Definições do LXQt-runner - - - - Runner Settings - - - - - Appearance - Aparência - - - - Positioning: - Posição: - - - - Show on: - Mostrar: - - - - Shortcut: - Atalho: - - - Top edge of screen - Margem superior do ecrã - - - Center of screen - Centro do ecrã - - - Monitor where the mouse - Monitor em que está o rato - - - Always on %1 monitor - Sempre no monitor %1 - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Lançador de aplicações - - - Configure lxqt-runner - Configurar lxqt-runner - - - Clear lxqt-runner History - Limpar histórico do lxqt-runner - - - Press "%1" to see dialog. - Prima "%1" para abrir a caixa de diálogo. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Histórico - - - - Mathematics - Matemática - - - LXQt Power Management - Gestão de energia do LXQt - - - diff --git a/translations/lxqt-runner_pt_BR.ts b/translations/lxqt-runner_pt_BR.ts deleted file mode 100644 index a615df8..0000000 --- a/translations/lxqt-runner_pt_BR.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - Configurações do executor do LXQt - - - - Runner Settings - - - - - Appearance - Aparência - - - - Positioning: - Posicionamento: - - - - Show on: - Exibir em: - - - - Shortcut: - Atalho: - - - Top edge of screen - Borda superior da tela - - - Center of screen - Centro da tela - - - Monitor where the mouse - Onde o mouse estiver no monitor - - - Always on %1 monitor - Sempre no monitor %1 - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Lançador de aplicativo - - - Configure lxqt-runner - Configurar o executor do LXQt - - - Clear lxqt-runner History - Limpar o histórico do executor do LXQt - - - Press "%1" to see dialog. - Pressione "%1" para ver o diálogo. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Histórico - - - - Mathematics - Matemática - - - LXQt Power Management - Gerenciamento de energia do LXQt - - - diff --git a/translations/lxqt-runner_ro_RO.ts b/translations/lxqt-runner_ro_RO.ts deleted file mode 100644 index 11cd5d9..0000000 --- a/translations/lxqt-runner_ro_RO.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - Setări lxqt-runner - - - - Runner Settings - - - - - Appearance - Aspect - - - - Positioning: - Poziție: - - - - Show on: - Afișează pe: - - - - Shortcut: - Scurtătură: - - - Top edge of screen - Marginea superioară a ecranului - - - Center of screen - Centrul ecranului - - - Monitor where the mouse - Monitorizează unde este mausul - - - Always on %1 monitor - Întotdeauna pe monitorul %1 - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Lansator de aplicații - - - Configure lxqt-runner - Configurare lxqt-runner - - - Clear lxqt-runner History - Curăță istoricul lxqt-runner - - - Press "%1" to see dialog. - Apăsați "%1" pentru a afișa dialogul. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Istoric - - - - Mathematics - Matematică - - - LXQt Power Management - Gestiune alimentare LXQt - - - diff --git a/translations/lxqt-runner_ru.ts b/translations/lxqt-runner_ru.ts deleted file mode 100644 index e78433e..0000000 --- a/translations/lxqt-runner_ru.ts +++ /dev/null @@ -1,97 +0,0 @@ - - - - - ConfigureDialog - - - Runner Settings - Настройки ускорителя запуска - - - - Appearance - Внешний вид - - - - Positioning: - Позиция: - - - - Show on: - Показывать на: - - - - Shortcut: - Сочетание клавиш: - - - - Top edge of the screen - Верхней границе экрана - - - - Center of the screen - В центре экрана - - - - Focused screen - Активном экране - - - - Always on screen %1 - Всегда на %1 экране - - - - Reset - Сброс - - - - Dialog - - - Application launcher - Ускоритель запуска программ - - - - Configure - Настроить - - - - Clear History - Очистить историю - - - - Show/hide runner dialog - Показать/скрыть окно ускорителя - - - - QObject - - - History - Из истории - - - - Mathematics - Математика - - - Power Management - Управление энергопотреблением - - - diff --git a/translations/lxqt-runner_ru_RU.ts b/translations/lxqt-runner_ru_RU.ts deleted file mode 100644 index 2b56532..0000000 --- a/translations/lxqt-runner_ru_RU.ts +++ /dev/null @@ -1,97 +0,0 @@ - - - - - ConfigureDialog - - - Runner Settings - Настройки ускорителя запуска - - - - Appearance - Внешний вид - - - - Positioning: - Позиция: - - - - Show on: - Показывать на: - - - - Shortcut: - Сочетание клавиш: - - - - Top edge of the screen - Верхней границе экрана - - - - Center of the screen - В центре экрана - - - - Focused screen - Активном экране - - - - Always on screen %1 - Всегда на %1 экране - - - - Reset - Сброс - - - - Dialog - - - Application launcher - Ускоритель запуска программ - - - - Configure - Настроить - - - - Clear History - Очистить историю - - - - Show/hide runner dialog - Показать/скрыть окно ускорителя - - - - QObject - - - History - Из истории - - - - Mathematics - Математика - - - Power Management - Управление энергопотреблением - - - diff --git a/translations/lxqt-runner_sk_SK.ts b/translations/lxqt-runner_sk_SK.ts deleted file mode 100644 index 6a6a2e0..0000000 --- a/translations/lxqt-runner_sk_SK.ts +++ /dev/null @@ -1,121 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - Nastavenia Spúšťača LXQt - - - - Runner Settings - - - - - Appearance - Vzhľad - - - - Positioning: - Pozícia: - - - - Show on: - Kde zobrazovať: - - - - Shortcut: - Skratka: - - - Top edge of screen - Horný okraj obrazovky - - - Center of screen - Stred obrazovky - - - Monitor where the mouse - Monitor, kde je myš - - - Always on %1 monitor - Vždy na monitore %1 - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Spúšťač aplikácií - - - Configure lxqt-runner - Nastaviť Spúšťač LXQt - - - Press "%1" to see dialog. - Stlačením „%1“ zobrazte dialóg. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - História - - - - Mathematics - Matematika - - - diff --git a/translations/lxqt-runner_sl.ts b/translations/lxqt-runner_sl.ts deleted file mode 100644 index bf76547..0000000 --- a/translations/lxqt-runner_sl.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - Nastavitve za LXQt-runner - - - - Runner Settings - - - - - Appearance - Videz - - - - Positioning: - Položaj: - - - - Show on: - Pokaži na: - - - - Shortcut: - Bližnjica: - - - Top edge of screen - Vrhnjem robu zaslona - - - Center of screen - Sredini zaslona - - - Monitor where the mouse - Zaslonu, kjer je miška - - - Always on %1 monitor - Vedno na zaslonu %1 - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Zaganjalnik programov - - - Configure lxqt-runner - Nastavitve za LXQt-runner - - - Clear lxqt-runner History - Počisti zgodovino za LXQt-runner - - - Press "%1" to see dialog. - Za prikaz pogovornega okna pritisnite »%1«. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Zgodovina - - - - Mathematics - Matematika - - - LXQt Power Management - Upravljanje z energijo - - - diff --git a/translations/lxqt-runner_sr@latin.ts b/translations/lxqt-runner_sr@latin.ts deleted file mode 100644 index 7ac281b..0000000 --- a/translations/lxqt-runner_sr@latin.ts +++ /dev/null @@ -1,93 +0,0 @@ - - - - - ConfigureDialog - - - Runner Settings - - - - - Appearance - - - - - Positioning: - - - - - Show on: - - - - - Shortcut: - - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - - - - - Mathematics - - - - diff --git a/translations/lxqt-runner_sr_BA.ts b/translations/lxqt-runner_sr_BA.ts deleted file mode 100644 index 56f0313..0000000 --- a/translations/lxqt-runner_sr_BA.ts +++ /dev/null @@ -1,121 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - Подешавања Рејзор-покретача - - - - Runner Settings - - - - - Appearance - Изглед - - - - Positioning: - Позиција: - - - - Show on: - Прикажи на: - - - - Shortcut: - Пречица: - - - Top edge of screen - горња ивица екрана - - - Center of screen - центар екрана - - - Monitor where the mouse - екрану на ком је миш - - - Always on %1 monitor - увијек на екрану %1 - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Покретач програма - - - Configure lxqt-runner - Подеси Рејзор-покретача - - - Press "%1" to see dialog. - Притисните „%1“ да бисте видјели дијалог. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Историјат - - - - Mathematics - Математика - - - diff --git a/translations/lxqt-runner_sr_RS.ts b/translations/lxqt-runner_sr_RS.ts deleted file mode 100644 index 94d2bcc..0000000 --- a/translations/lxqt-runner_sr_RS.ts +++ /dev/null @@ -1,121 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - Подешавања Рејзор-покретача - - - - Runner Settings - - - - - Appearance - Изглед - - - - Positioning: - Позиција: - - - - Show on: - Прикажи на: - - - - Shortcut: - Пречица: - - - Top edge of screen - горња ивица екрана - - - Center of screen - центар екрана - - - Monitor where the mouse - екрану на ком је миш - - - Always on %1 monitor - увек на екрану %1 - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Покретач програма - - - Configure lxqt-runner - Подеси Рејзор-покретача - - - Press "%1" to see dialog. - Притисните „%1“ да бисте видели дијалог. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Историјат - - - - Mathematics - Математика - - - diff --git a/translations/lxqt-runner_th_TH.ts b/translations/lxqt-runner_th_TH.ts deleted file mode 100644 index cecc84e..0000000 --- a/translations/lxqt-runner_th_TH.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - ค่าตั้งกล่องป้อนคำสั่ง-lxqt - - - - Runner Settings - - - - - Appearance - รูปลักษณ์ - - - - Positioning: - ตำแหน่ง: - - - - Show on: - แสดงบน: - - - - Shortcut: - ปุ่มลัด: - - - Top edge of screen - บริเวณขอบบนของจอภาพ - - - Center of screen - บริเวณส่วนกลางของจอภาพ - - - Monitor where the mouse - จอภาพที่เมาส์อยู่ - - - Always on %1 monitor - ประจำอยู่ที่จอภาพ %1 เสมอ - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - ปุ่มเรียกใช้งานโปรแกรม - - - Configure lxqt-runner - ปรับแต่งกล่องป้อนคำสั่ง-lxqt - - - Clear lxqt-runner History - ล้างประวัติกล่องป้อนคำสั่ง-lxqt - - - Press "%1" to see dialog. - กด "%1" เพื่อดูกล่องโต้ตอบ - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - ประวัติ - - - - Mathematics - การคำนวณเลข - - - LXQt Power Management - การจัดการพลังงานของ LXQt - - - diff --git a/translations/lxqt-runner_tr.ts b/translations/lxqt-runner_tr.ts deleted file mode 100644 index eb899d8..0000000 --- a/translations/lxqt-runner_tr.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - LXQt-çalıştırıcı Ayarları - - - - Runner Settings - - - - - Appearance - Görünüm - - - - Positioning: - Konumlandırma: - - - - Show on: - Şunda Göster: - - - - Shortcut: - Kısayol: - - - Top edge of screen - Ekranın üst köşesi - - - Center of screen - Ekranın merkezi - - - Monitor where the mouse - Fare konumunda görüntüle - - - Always on %1 monitor - Her zaman %1 ekranında - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Uygulama başlatıcı - - - Configure lxqt-runner - LXQt-çalıştırıcıyı yapılandır - - - Clear lxqt-runner History - LXQt-çalıştırıcı geçmişini temizle - - - Press "%1" to see dialog. - Diyaloğu görmek için "%1" üzerine basın - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Geçmiş - - - - Mathematics - İşlemler - - - LXQt Power Management - LXQt Güç Yönetimi - - - diff --git a/translations/lxqt-runner_uk.ts b/translations/lxqt-runner_uk.ts deleted file mode 100644 index 30e412d..0000000 --- a/translations/lxqt-runner_uk.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - Налаштування запускача програм LXQt - - - - Runner Settings - - - - - Appearance - Вигляд - - - - Positioning: - Розташування: - - - - Show on: - Монітор: - - - - Shortcut: - Клавіатурне скорочення: - - - Top edge of screen - Зверху екрану - - - Center of screen - Посередині екрану - - - Monitor where the mouse - Де курсор миші - - - Always on %1 monitor - Завжди №%1 - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - Запускач програм - - - Configure lxqt-runner - Налаштувати запускач програм LXQt - - - Clear lxqt-runner History - Стерти історію lxqt-runner - - - Press "%1" to see dialog. - Натисніть "%1" для відкриття діалогу. - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - Історія - - - - Mathematics - Математика - - - LXQt Power Management - Керування живленням LXQt - - - diff --git a/translations/lxqt-runner_zh_CN.ts b/translations/lxqt-runner_zh_CN.ts deleted file mode 100644 index eb0dc60..0000000 --- a/translations/lxqt-runner_zh_CN.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - LXQt启动器设置 - - - - Runner Settings - - - - - Appearance - 外观 - - - - Positioning: - 位置: - - - - Show on: - 显示在: - - - - Shortcut: - 快捷键: - - - Top edge of screen - 屏幕顶部 - - - Center of screen - 屏幕中部 - - - Monitor where the mouse - 鼠标所在的显示器 - - - Always on %1 monitor - 总是在 %1 显示器 - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - 应用程序启动器 - - - Configure lxqt-runner - 配置LXQt启动器 - - - Clear lxqt-runner History - 清空 lxqt-runner 历史 - - - Press "%1" to see dialog. - 按下 "%1" 以查看对话框。 - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - 历史 - - - - Mathematics - 数学 - - - LXQt Power Management - LXQt 电源管理 - - - diff --git a/translations/lxqt-runner_zh_TW.ts b/translations/lxqt-runner_zh_TW.ts deleted file mode 100644 index 449f7f6..0000000 --- a/translations/lxqt-runner_zh_TW.ts +++ /dev/null @@ -1,129 +0,0 @@ - - - - - ConfigureDialog - - LXQt-runner Settings - LXQt快速執行設定 - - - - Runner Settings - - - - - Appearance - 外觀 - - - - Positioning: - 位於: - - - - Show on: - 顯示在: - - - - Shortcut: - 快捷鍵: - - - Top edge of screen - 螢幕頂端 - - - Center of screen - 螢幕中間 - - - Monitor where the mouse - 在滑鼠所在的顯示器 - - - Always on %1 monitor - 總是在%1顯示器 - - - - Top edge of the screen - - - - - Center of the screen - - - - - Focused screen - - - - - Always on screen %1 - - - - - Reset - - - - - Dialog - - - Application launcher - 應用程式啟動器 - - - Configure lxqt-runner - 設定LXQt快速執行 - - - Clear lxqt-runner History - 清除LXQt快速執行的歷史紀錄 - - - Press "%1" to see dialog. - 按下"%1"檢視對話。 - - - - Configure - - - - - Clear History - - - - - Show/hide runner dialog - - - - - QObject - - - History - 歷史記錄 - - - - Mathematics - 數學 - - - LXQt Power Management - LXQt電源管理 - - -