diff --git a/.gitignore b/.gitignore index 513eaeb..48cd491 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ build *.kdev4 +src/translations/lximage-qt diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..3f6bc71 --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,169 @@ + +lximage-qt-0.5.0 / 2016-09-24 +============================= + + * Bump version to 0.5.0 (#67) + * Remove Core and Qt from Categories in desktop file (#64) + * Extend README.md + * Fix broken compatibility introduced by libfm-qt API changes. This closes lxde/lximage-qt#63. + * Add Catalan translations + * Quieten compiler warning + * Code cleanup + * Use LXQtCompilerSettings cmake module + * Treat SVG files separately as SVG images + * build: Update translations based on *.ui + * Fix typo in Portuguese translation for desktop file + * Fix typo in German translation for desktop file (#55) + * build: Use external translations (#54) + * ts-files removal (#53) + * Hide cursor smartly in fullscreen mode + * build: Use liblxqt's TranslateDesktop module + * Adds support for GIF animation. + * Implement an EOG-like behavior on starting By clicking on an image for the first time, the user wants to see it clearly with lximage-qt. So, the following behavior is implemented here: + * Add --version command line option + * Fix missing Russian translation in desktop file + * Fix memory leak if taking screenshot with cursor + * Polish translation updated + * Another update + * Improved Russian translation - thanks to uazure + * Fix typo + * Add Russian translation + * Italian translation update + * CMake: Adapt to libfm-qt Targets + * Turn on C++11 support. This closes bug lxde/lximage-qt #36. + * Exec should have an argument + * all GPL files are (or any later) + * Add release script + * Update translations + * Set the color table properly for scaled images + * Add Greek (el) translation Remove needless country variant from language code + * Corrected language code (de_DE -> de) of german translation, marked translations as done. + * replace tabs with spaces + * remove trailing spaces + * replace glib with Qt for command-line parsing + * Don't save file in private mode + * Prevents the slideshow timeout to be set to 0 in the UI + * Correctly include CMake modules in intree/superbuild mode + * Remove lximage-qt from the Utilities category + * Update README + * Update .gitignore + * Hungarian translations added + * save and restore window size and maximized state + +0.4.0 / 2015-02-18 +================== + + * Release v0.4.0 + * src/CMakeLists.txt: do not completely overwrite CMAKE_CXX_FLAGS + * Create lximage-qt_it.desktop + * Create lximage-qt_it.ts + * CMakeLists cleanups + * Portuguese update + * Added german translation, re-generated all other .ts files. + * Added keyboard shortcut to print. + * Adds .desktop translation support + * Portuguese language update + * Remove debian directory (Close #9) + * Fix typo Zoomo -> Zoom + * Use proper naming conventions for translations + * Clean up CMakeLists, dropping support for Qt 5 + +0.3.0 / 2014-10-15 +================== + + * Release v0.3.0 + * Rename preferencedialog.ui to preferencesdialog.ui + * Ignore build dir. + * debian: enable qt5 by default + * Fix lxde/lxde-qt #269 - Screenshots are not saved aedequately unless file extension is chosen manually. + * Support Qt5 and libfm-qt5. + * Make sure all enums are handled in switch + +0.2.0 / 2014-05-09 +================== + + * Release 0.2.0 + * Update desktop files + * Update README/COPYING/AUTHORS + * Add some missing link_directories() + * Commit from LXDE Pootle server by user yinghua_wang.: 70 of 70 strings translated (0 fuzzy). + * Add CPack rules for creating tarball + * Avoid creating a scaled image cache if current scale factor is 1.0 (original size). + * Rewrite the scaled image caching code in LxImage::ImageView to improve its readability and correctness. + * Add LxImage::Job class as a base class for multi-threading jobs. + * Avoid copying subimages to speed up scaling images. + * Limit the size of pixmap cache. + * Limit the size of pixmap cache. + * Create a cache for the high-quality scaled image of the currently viewport and use it to override the default paintEvent() of QGraphicsView as needed. This improves the image quality a lot when we scale down large photos. + * Cancel autoZoomFit when calling zoomOriginal(), zoomIn(), and zoomOut(). + * Add copy and paste buttons to the toolbar. + * Automatically zoom to fit current window size by default. + * Make the preferences dialog non-modal and apply the settings to all existing windows. + * Add "Delete file" and "File properties" actions to the file menu. + * Add a very basic thumbnails pane based on Fm::FolderView of libfm-qt. + * Implement the preferences dialog. * Enable keyboard shortcuts in fullscreen mode. + * Implement very basic slide show functionality. + * Jump to the previous or the next image by using mouse wheel. + * Avoid scaling up an image while zoomFit() if it's smaller than the current view. + * Support grabbing mouse cursor when taking a screenshot. + * Add very basic printing support. + * Commit from LXDE Pootle server by user adrianoh2.: 70 of 70 strings translated (0 fuzzy). + * Commit from LXDE Pootle server by user Fitoschido.: 70 of 70 strings translated (0 fuzzy). + * Commit from LXDE Pootle server by user hirkmt.: 70 of 70 strings translated (0 fuzzy). + * Remove xsettings support and add an option in the preference dialog to set a fallback icon theme instead. + * New files added from LXDE Pootle server based on templates + * New files added from LXDE Pootle server based on templates + * Improve cmake integration for translations. The *.ts files are only updated when UPDATE_TRANSLATIONS cmake option is turned on. + * Commit from LXDE Pootle server by user zvacet.: 65 of 70 strings translated (0 fuzzy). + * Commit from LXDE Pootle server by user zvacet.: 50 of 70 strings translated (0 fuzzy). + * Commit from LXDE Pootle server by user wwycheuk.: 65 of 70 strings translated (0 fuzzy). + * Commit from LXDE Pootle server by user mbouzada.: 70 of 70 strings translated (0 fuzzy). + * New files added from LXDE Pootle server based on templates + * New files added from LXDE Pootle server based on templates + * Commit from LXDE Pootle server by user Fitoschido.: 68 of 70 strings translated (0 fuzzy). + * New files added from LXDE Pootle server based on templates + * New files added from LXDE Pootle server based on templates + * Corrected caml cased string toolBar. + * Commit from LXDE Pootle server by user smarquespt.: 70 of 70 strings translated (0 fuzzy). + * Commit from LXDE Pootle server by user brother.: 24 of 24 strings translated (0 fuzzy). + * Correct misspelled 'Zoom'. + * Commit from LXDE Pootle server by user andika.: 70 of 70 strings translated (0 fuzzy). + * New files added from LXDE Pootle server based on templates + * Commit from LXDE Pootle server by user strebski.: 70 of 70 strings translated (0 fuzzy). + * New files added from LXDE Pootle server based on templates + * New files added from LXDE Pootle server based on templates + * New files added from LXDE Pootle server based on templates + * New files added from LXDE Pootle server based on templates + * New files added from LXDE Pootle server based on templates + * Commit from LXDE Pootle server by user LStranger.: 70 of 70 strings translated (0 fuzzy). + * Commit from LXDE Pootle server by user brother.: 70 of 70 strings translated (0 fuzzy). + * Commit from LXDE Pootle server by user LStranger.: 2 of 70 strings translated (0 fuzzy). + * New files added from LXDE Pootle server based on templates + * New files added from LXDE Pootle server based on templates + * New files added from LXDE Pootle server based on templates + * Add zh_TW translation and a template ts file. + * Add a desktop entry file for the built-in screenshot tool. + * Add --screenshot command line argument to launch the built-in screenshot utility. + * Improve the screenshot tool. Implement pasting from clipboard. + * Add ability to taking screenshots to lximage-qt. + * debian : Add missing libx11 build-depend + * Add missing files. + * Add Xdg::DesktopSettings for detecting desktop-specific settings. Get icon theme name via XSettings or config files when available. + * Supporting saving files. (needs some more polishing, though). + * Add a basic debian directory to enable daily builds. + * Add a context menu. + * Use libexif to read EXIF orientation tags then apply them to images loaded. + * Refactor - move image loading code to LxImage::LoadImageJob class. + * Remove unused data member. + * Add a preferences dialog (not working yet). Little adjustment for menu positions and add placeholders for features not implemented. + * Fix filename encoding handling so non-English filenames can be passed correctly from command line arguments. + * Canonicalize filenames passed through command line arguments. Add an icon borrowed from GPicView. Rearrange menus and implement "fullscreen" and "copy to clipboard". + * Implement basic single instance support and command line argument parsing. + * Properly cancel pending tasks and make going back/forward more smooth. Enhance window title display. + * Little fix to avoid loading a cancelled image. + * Supports rotation of images. + * Use the latest libfm-qt APIs to filter out non-image files. Implement jumping to first and last file in the folder. + * Fix incorrect reference couting of GCancellable objects to avoid crashes. Add some shortcut keys to improve usability. + * Use glib/gio GInputStream + GIOSchedulerJob to load the images with multi-threading. Refactor, simplify class methods of LxImage::MainWindow. + * Use libfm to load folders containing the specified image. Add dependency on libexif for future implementation of EXIF related stuff. Add LxImage::Applcation class to handle application initiation. + * Initial import into git diff --git a/CMakeLists.txt b/CMakeLists.txt index 4197c35..3b0b270 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,11 +4,8 @@ project(lximage-qt) include(GNUInstallDirs) -# additional cmake files -list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") - set(MAJOR_VERSION 0) -set(MINOR_VERSION 4) +set(MINOR_VERSION 5) set(PATCH_VERSION 0) set(LXIMAGE_VERSION ${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}) @@ -16,34 +13,18 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CMAKE_AUTOMOC ON) -# C++ 11 support -if (CMAKE_VERSION VERSION_LESS "3.1") - include(CheckCXXCompilerFlag) - CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) - if(COMPILER_SUPPORTS_CXX11) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") - else() - CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) - # -std=c++0x is deprecated but some tools e.g. qmake or older gcc are still using it - if(COMPILER_SUPPORTS_CXX0X) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") - else() - message(FATAL_ERROR "Compiler ${CMAKE_CXX_COMPILER} does not support c++11/c++0x") - endif() - endif() -else() - set(CMAKE_CXX_STANDARD 11) -endif() - - find_package(Qt5Widgets REQUIRED) find_package(Qt5DBus REQUIRED) find_package(Qt5PrintSupport REQUIRED QUIET) find_package(Qt5X11Extras REQUIRED QUIET) find_package(Qt5LinguistTools REQUIRED QUIET) +find_package(Qt5Svg REQUIRED QUIET) find_package(fm-qt REQUIRED QUIET) +find_package(lxqt REQUIRED) #just a build dependency for .desktop files translation message(STATUS "Building with Qt ${Qt5Core_VERSION_STRING}") +include(LXQtCompilerSettings NO_POLICY_SCOPE) + find_package(PkgConfig REQUIRED) # FIXME: we'll need this to provide detail info for photos in the future diff --git a/README.md b/README.md index e830d19..13a554a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,25 @@ -# lximage-qt +# LXImage-Qt -The Qt port of LXImage, a simple and fast image viewer. +## Overview + +LXImage-Qt is the Qt port of LXImage, a simple and fast image viewer. + +In addition it features a tool to take screenshots. + +It is maintained by the LXQt project but can be used independently from this desktop environment. + +## Installation + +### Compiling source code + +Runtime dependencies are qtx11extras and [libfm-qt](https://github.com/lxde/libfm-qt) (LXImage-Qt used to depend on [PCManFM-Qt](https://github.com/lxde/pcmanfm-qt) but the relevant code belongs to what was outsourced in libfm-qt). +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 available in Arch Linux, Debian (as of Debian stretch), Fedora and openSUSE (Leap 42.1 and Tumbleweed). +Just use the distributions' package manager to search for string 'lximage'. diff --git a/cmake/LXQtTranslateDesktop.cmake b/cmake/LXQtTranslateDesktop.cmake deleted file mode 100644 index 522ed68..0000000 --- a/cmake/LXQtTranslateDesktop.cmake +++ /dev/null @@ -1,107 +0,0 @@ -#============================================================================= -# The lxqt_translate_desktop() function was copied from the the -# LXQt LxQtTranste.cmake -# -# Original Author: Alexander Sokolov -# -# funtion lxqt_translate_desktop(_RESULT -# 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() documenation 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} - ${_translationDir}/local/${_fileName}_*${_fileExt} - ) - - set(_pattern "'\\[.*]\\s*='") - if (_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}_${_fileExt}'\n" - "echo ''\n" - ) - - endforeach() - - set(${_RESULT} ${__result} PARENT_SCOPE) -endfunction(lxqt_translate_desktop) diff --git a/data/lximage-qt.desktop.in b/data/lximage-qt.desktop.in index 80bee7d..f659a6e 100644 --- a/data/lximage-qt.desktop.in +++ b/data/lximage-qt.desktop.in @@ -7,5 +7,5 @@ Icon=lximage-qt Exec=lximage-qt %F StartupNotify=true Terminal=false -Categories=Graphics;Core;Qt;Viewer;RasterGraphics;2DGraphics;Photography; +Categories=Graphics;Viewer;RasterGraphics;2DGraphics;Photography; MimeType=image/bmp;image/gif;image/jpeg;image/jpg;image/png;image/tiff;image/x-bmp;image/x-pcx;image/x-tga;image/x-portable-pixmap;image/x-portable-bitmap;image/x-targa;image/x-portable-greymap;application/pcx;image/svg+xml;image/svg-xml; diff --git a/debian/.gitignore b/debian/.gitignore index 2010897..bd029f5 100644 --- a/debian/.gitignore +++ b/debian/.gitignore @@ -1,6 +1,8 @@ /*.debhelper /*.log /*.substvars +/debhelper-build-stamp /files + /lximage-qt/ /lximage-qt-dbg/ diff --git a/debian/changelog b/debian/changelog index 9196b99..6770a5b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,25 @@ +lximage-qt (0.5.0-3) unstable; urgency=medium + + * Cherry-picking upstream release 0.5.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 libfm-qt-dev (>= 0.11.1) + * Added build dependency libkf5windowsystem-dev + * Added build dependency liblxqt0-dev (>= 0.11.0) + * Added build dependency libqt5svg5-dev + * Added build dependency libqt5xdg-dev (>= 2.0.0) + * Added Recommends lxqtimage-qt-l10n + * Added Recommends qt5-image-formats-plugins + * Fixed copyrights Format field to https + * Dropped patches, applied upstream + * Added translation control to rules + * Set CMAKE_BUILD_TYPE=RelWithDebInfo + * Exported LC_ALL=C.UTF-8, make builds reproducible + + -- Alf Gaida Tue, 18 Oct 2016 21:40:48 +0200 + lximage-qt (0.4.0+20160108-3) unstable; urgency=medium * Add missing patch from 0.4.0+20160108-2. 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 8170279..2a38be2 100644 --- a/debian/control +++ b/debian/control @@ -5,21 +5,25 @@ Uploaders: Alf Gaida , Andrew Lee (李健秋) Section: x11 Priority: optional -Build-Depends: debhelper (>= 9), +Build-Depends: debhelper (>= 10), cmake (>= 3.0.2), libexif-dev, libglib2.0-dev, libfm-dev, - libfm-qt-dev, + libfm-qt-dev (>= 0.11.1), + libkf5windowsystem-dev, + liblxqt0-dev (>= 0.11.0), libmenu-cache-dev, + libqt5svg5-dev, libqt5x11extras5-dev, + libqt5xdg-dev (>= 2.0.0), libx11-dev, libxfixes-dev, pkg-config, qttools5-dev, qttools5-dev-tools -Standards-Version: 3.9.7 -Vcs-Browser: https://anonscm.debian.org/git/pkg-lxqt/lximage-qt.git/?h=debian/sid +Standards-Version: 3.9.8 +Vcs-Browser: https://anonscm.debian.org/cgit/pkg-lxqt/lximage-qt.git/?h=debian/sid Vcs-Git: https://anonscm.debian.org/git/pkg-lxqt/lximage-qt.git -b debian/sid Homepage: https://github.com/lxde/lximage-qt @@ -27,7 +31,10 @@ Package: lximage-qt Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} +Recommends: lxqtimage-qt-l10n, + qt5-image-formats-plugins Description: Image viewer for LXQt - lximage-qt is a simple image viewer for LXQt. + A simple image viewer for LXQt. Additional file formats can be processed if + one install qt5-image-formats-plugins. . This package contain the program files. diff --git a/debian/copyright b/debian/copyright index 2f1a521..87d2c0a 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,4 +1,4 @@ -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: lximage-qt Source: https://github.com/lxde/lximage-qt diff --git a/debian/gbp.conf b/debian/gbp.conf index 04ac689..b79c958 100644 --- a/debian/gbp.conf +++ b/debian/gbp.conf @@ -1,5 +1,5 @@ [DEFAULT] -debian-branch = debian/sid +debian-branch = debian/experimental pristine-tar = True [import-orig] diff --git a/debian/patches/series b/debian/patches/series deleted file mode 100644 index 7ab0073..0000000 --- a/debian/patches/series +++ /dev/null @@ -1 +0,0 @@ -unicode-grep.patch diff --git a/debian/patches/unicode-grep.patch b/debian/patches/unicode-grep.patch deleted file mode 100644 index 5edcd49..0000000 --- a/debian/patches/unicode-grep.patch +++ /dev/null @@ -1,22 +0,0 @@ -Author: Eduard Sanou -Description: Fix misdetection as binary input when LC_ALL=C - ---- lximage-qt-0.4.0+20160108.orig/cmake/LXQtTranslateDesktop.cmake -+++ lximage-qt-0.4.0+20160108/cmake/LXQtTranslateDesktop.cmake -@@ -71,13 +71,13 @@ function(lxqt_translate_desktop _RESULT) - set(_pattern "'\\[.*]\\s*='") - if (_translations) - add_custom_command(OUTPUT ${_outFile} -- COMMAND grep -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} -- COMMAND grep -h ${_pattern} ${_translations} >> ${_outFile} -+ COMMAND grep -a -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} -+ COMMAND grep -a -h ${_pattern} ${_translations} >> ${_outFile} - COMMENT "Generating ${_fileName}${_fileExt}" - ) - else() - add_custom_command(OUTPUT ${_outFile} -- COMMAND grep -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} -+ COMMAND grep -a -v "'#TRANSLATIONS_DIR='" ${_inFile} > ${_outFile} - COMMENT "Generating ${_fileName}${_fileExt}" - ) - endif() diff --git a/debian/rules b/debian/rules index e620df4..9dbedc2 100755 --- a/debian/rules +++ b/debian/rules @@ -1,9 +1,15 @@ #!/usr/bin/make -f -#export DH_VERBOSE=1 +# export DH_VERBOSE=1 -export DEB_BUILD_MAINT_OPTIONS = hardening=+all +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 +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 +=h7ww -----END PGP PUBLIC KEY BLOCK----- diff --git a/debian/watch b/debian/watch index 3dc6335..611c42b 100644 --- a/debian/watch +++ b/debian/watch @@ -1,3 +1,3 @@ -version=3 +version=4 opts="pgpsigurlmangle=s/$/.asc/" \ - https://github.com/lxde/lximage-qt/releases .*/([\d\.]+).tar.gz + https://github.com/lxde/lximage-qt/releases .*/lximage-qt-([\d\.]+).tar.xz diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index cfef7d0..eb7e8ae 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,6 +1,3 @@ -# set visibility to hidden to hide symbols, unlesss they're exporeted manually in the code -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions") - include_directories( ${X11_INCLUDE_DIR} ${XFIXES_INCLUDE_DIRS} @@ -42,16 +39,23 @@ set(lximage-qt_UIS qt5_wrap_ui(lximage-qt_UI_H ${lximage-qt_UIS}) # add translation for lximage-qt -file(GLOB TS_FILES translations/*.ts) -option(UPDATE_TRANSLATIONS "Update source translation translations/*.ts files") -if(UPDATE_TRANSLATIONS) - qt5_create_translation(QM_FILES ${lximage-qt_SRCS} ${lximage-qt_UI_H} ${TS_FILES}) -else() - qt5_add_translation(QM_FILES ${TS_FILES}) -endif() - -add_custom_target (lximage-qt_translations DEPENDS ${QM_FILES}) -install(FILES ${QM_FILES} DESTINATION share/lximage-qt/translations) +include(LXQtTranslateTs) +lxqt_translate_ts(QM_FILES + UPDATE_TRANSLATIONS ${UPDATE_TRANSLATIONS} + SOURCES + ${lximage-qt_SRCS} + ${lximage-qt_UIS} + INSTALL_DIR + "${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/translations" + PULL_TRANSLATIONS + ${PULL_TRANSLATIONS} + CLEAN_TRANSLATIONS + ${CLEAN_TRANSLATIONS} + TRANSLATIONS_REPO + ${TRANSLATIONS_REPO} + TRANSLATIONS_REFSPEC + ${TRANSLATIONS_REFSPEC} +) # prevent the generated files from being deleted during make clean set_directory_properties(PROPERTIES CLEAN_NO_CUSTOM true) @@ -74,7 +78,7 @@ add_definitions( -DLXIMAGE_VERSION="${LXIMAGE_VERSION}" ) -set(QT_LIBRARIES Qt5::Widgets Qt5::Core Qt5::DBus Qt5::PrintSupport Qt5::X11Extras) +set(QT_LIBRARIES Qt5::Widgets Qt5::Core Qt5::DBus Qt5::PrintSupport Qt5::X11Extras Qt5::Svg) target_link_libraries(lximage-qt fm-qt diff --git a/src/application.cpp b/src/application.cpp index 33e8390..e84024b 100644 --- a/src/application.cpp +++ b/src/application.cpp @@ -35,8 +35,8 @@ static const char* ifaceName = "org.lxde.LxImage.Application"; Application::Application(int& argc, char** argv): QApplication(argc, argv), - windowCount_(0), - libFm() { + libFm(), + windowCount_(0) { setApplicationVersion(LXIMAGE_VERSION); } @@ -63,7 +63,7 @@ bool Application::init(int argc, char** argv) { new ApplicationAdaptor(this); dbus.registerObject("/Application", this); - connect(this, SIGNAL(aboutToQuit()), SLOT(onAboutToQuit())); + connect(this, &Application::aboutToQuit, this, &Application::onAboutToQuit); if(settings_.useFallbackIconTheme()) QIcon::setThemeName(settings_.fallbackIconTheme()); @@ -179,6 +179,5 @@ void Application::editPreferences() { } void Application::onAboutToQuit() { - qDebug("aboutToQuit"); settings_.save(); } diff --git a/src/application.h b/src/application.h index f1af02a..618a092 100644 --- a/src/application.h +++ b/src/application.h @@ -41,11 +41,9 @@ public: void addWindow() { // call this when you create a new toplevel window ++windowCount_; - qDebug("add window"); } void removeWindow() { // call this when you destroy a toplevel window - qDebug("remove window"); --windowCount_; if(0 == windowCount_) quit(); diff --git a/src/imageview.cpp b/src/imageview.cpp index 173c179..015e925 100644 --- a/src/imageview.cpp +++ b/src/imageview.cpp @@ -24,21 +24,25 @@ #include #include #include -#include #include #include #include +#include + +#define CURSOR_HIDE_DELY 3000 namespace LxImage { ImageView::ImageView(QWidget* parent): QGraphicsView(parent), - imageItem_(new QGraphicsRectItem()), scene_(new QGraphicsScene(this)), - gifMovie_(NULL), + imageItem_(new QGraphicsRectItem()), + gifMovie_(nullptr), + cacheTimer_(nullptr), + cursorTimer_(nullptr), + scaleFactor_(1.0), autoZoomFit_(false), - cacheTimer_(NULL), - scaleFactor_(1.0) { + isSVG(false) { setViewportMargins(0, 0, 0, 0); setContentsMargins(0, 0, 0, 0); @@ -58,6 +62,10 @@ ImageView::~ImageView() { cacheTimer_->stop(); delete cacheTimer_; } + if(cursorTimer_) { + cursorTimer_->stop(); + delete cursorTimer_; + } } @@ -88,6 +96,34 @@ void ImageView::mouseDoubleClickEvent(QMouseEvent* event) { QAbstractScrollArea::mouseDoubleClickEvent(event); } +void ImageView::mousePressEvent(QMouseEvent * event) { + QGraphicsView::mousePressEvent(event); + if(cursorTimer_) cursorTimer_->stop(); +} + +void ImageView::mouseReleaseEvent(QMouseEvent* event) { + QGraphicsView::mouseReleaseEvent(event); + if(cursorTimer_) cursorTimer_->start(CURSOR_HIDE_DELY); +} + +void ImageView::mouseMoveEvent(QMouseEvent* event) { + QGraphicsView::mouseMoveEvent(event); + if(cursorTimer_ && (viewport()->cursor().shape() == Qt::BlankCursor + || viewport()->cursor().shape() == Qt::OpenHandCursor)) { + cursorTimer_->start(CURSOR_HIDE_DELY); // restart timer + viewport()->setCursor(Qt::OpenHandCursor); + } +} + +void ImageView::focusInEvent(QFocusEvent* event) { + QGraphicsView::focusInEvent(event); + if(cursorTimer_ && (viewport()->cursor().shape() == Qt::BlankCursor + || viewport()->cursor().shape() == Qt::OpenHandCursor)) { + cursorTimer_->start(CURSOR_HIDE_DELY); // restart timer + viewport()->setCursor(Qt::OpenHandCursor); + } +} + void ImageView::resizeEvent(QResizeEvent* event) { QGraphicsView::resizeEvent(event); if(autoZoomFit_) @@ -136,10 +172,13 @@ void ImageView::zoomOriginal() { } void ImageView::setImage(QImage image, bool show) { - if(gifMovie_ && show) { // a gif animation was shown + if(show && (gifMovie_ || isSVG)) { // a gif animation or SVG file was shown before scene_->clear(); - delete gifMovie_; - gifMovie_ = NULL; + isSVG = false; + if(gifMovie_) { // should be deleted explicitly + delete gifMovie_; + gifMovie_ = nullptr; + } // recreate the rect item imageItem_ = new QGraphicsRectItem(); imageItem_->hide(); @@ -168,21 +207,24 @@ void ImageView::setImage(QImage image, bool show) { } void ImageView::setGifAnimation(QString fileName) { - QImage image(fileName); - if(image.isNull()) { - image_ = QImage(); - imageItem_->hide(); - imageItem_->setBrush(QBrush()); + /* the built-in gif reader gives the first frame, which won't + be shown but is used for tracking position and dimensions */ + image_ = QImage(fileName); + if(image_.isNull()) { + if(imageItem_) { + imageItem_->hide(); + imageItem_->setBrush(QBrush()); + } scene_->setSceneRect(0, 0, 0, 0); } else { scene_->clear(); - imageItem_ = NULL; // it's deleted by clear(); + imageItem_ = nullptr; // it's deleted by clear(); if(gifMovie_) { delete gifMovie_; - gifMovie_ = NULL; + gifMovie_ = nullptr; } - QPixmap pix(image.size()); + QPixmap pix(image_.size()); pix.fill(Qt::transparent); QGraphicsItem *gifItem = new QGraphicsPixmapItem(pix); QLabel *gifLabel = new QLabel(); @@ -192,9 +234,6 @@ void ImageView::setGifAnimation(QString fileName) { gifLabel->setMovie(gifMovie_); gifWidget->setWidget(gifLabel); gifMovie_->start(); - /* the first frame won't be shown but will be - used for tracking position and dimensions */ - image_ = gifMovie_->currentImage(); scene_->addItem(gifItem); scene_->setSceneRect(gifItem->boundingRect()); } @@ -204,6 +243,29 @@ void ImageView::setGifAnimation(QString fileName) { queueGenerateCache(); // deletes the cache timer in this case } +void ImageView::setSVG(QString fileName) { + image_ = QImage(fileName); // for tracking position and dimensions + if(image_.isNull()) { + if(imageItem_) { + imageItem_->hide(); + imageItem_->setBrush(QBrush()); + } + scene_->setSceneRect(0, 0, 0, 0); + } + else { + scene_->clear(); + imageItem_ = nullptr; + isSVG = true; + QGraphicsSvgItem *svgItem = new QGraphicsSvgItem(fileName); + scene_->addItem(svgItem); + scene_->setSceneRect(svgItem->boundingRect()); + } + + if(autoZoomFit_) + zoomFit(); + queueGenerateCache(); // deletes the cache timer in this case +} + void ImageView::setScaleFactor(double factor) { if(factor != scaleFactor_) { scaleFactor_ = factor; @@ -215,7 +277,7 @@ void ImageView::setScaleFactor(double factor) { void ImageView::paintEvent(QPaintEvent* event) { // if the image is scaled and we have a high quality cached image - if(scaleFactor_ != 1.0 && !cachedPixmap_.isNull()) { + if(imageItem_ && scaleFactor_ != 1.0 && !cachedPixmap_.isNull()) { // rectangle of the whole image in viewport coordinate QRect viewportImageRect = sceneToViewport(imageItem_->rect()); // the visible part of the image. @@ -244,20 +306,20 @@ void ImageView::queueGenerateCache() { cachedPixmap_ = QPixmap(); // we don't need to cache the scaled image if its the same as the original image (scale:1.0) - // no cache for gif animations either - if(scaleFactor_ == 1.0 || gifMovie_) { + // no cache for gif animations or SVG images either + if(scaleFactor_ == 1.0 || gifMovie_ || isSVG) { if(cacheTimer_) { cacheTimer_->stop(); delete cacheTimer_; - cacheTimer_ = NULL; + cacheTimer_ = nullptr; } return; } - if(!cacheTimer_ && !gifMovie_) { + if(!cacheTimer_) { cacheTimer_ = new QTimer(); cacheTimer_->setSingleShot(true); - connect(cacheTimer_, SIGNAL(timeout()), SLOT(generateCache())); + connect(cacheTimer_, &QTimer::timeout, this, &ImageView::generateCache); } if(cacheTimer_) cacheTimer_->start(200); // restart the timer @@ -267,7 +329,9 @@ void ImageView::queueGenerateCache() { void ImageView::generateCache() { // disable the one-shot timer cacheTimer_->deleteLater(); - cacheTimer_ = NULL; + cacheTimer_ = nullptr; + + if(!imageItem_ || image_.isNull()) return; // generate a cache for "the visible part" of the scaled image // rectangle of the whole image in viewport coordinate @@ -295,12 +359,6 @@ void ImageView::generateCache() { // convert the cached scaled image to pixmap cachedPixmap_ = QPixmap::fromImage(scaled); viewport()->update(); - /* - qDebug() << "viewportImageRect" << viewportImageRect - << "cachedRect_" << cachedRect_ - << "cachedSceneRect_" << cachedSceneRect_ - << "subRect" << subRect; - */ } // convert viewport coordinate to the original image (not scaled). @@ -317,5 +375,26 @@ QRect ImageView::sceneToViewport(const QRectF& rect) { return QRect(topLeft, bottomRight); } +void ImageView::blankCursor() { + viewport()->setCursor(Qt::BlankCursor); +} + +void ImageView::hideCursor(bool enable) { + if(enable) { + if(cursorTimer_) delete cursorTimer_; + cursorTimer_ = new QTimer(this); + cursorTimer_->setSingleShot(true); + connect(cursorTimer_, &QTimer::timeout, this, &ImageView::blankCursor); + if(viewport()->cursor().shape() == Qt::OpenHandCursor) + cursorTimer_->start(CURSOR_HIDE_DELY); + } + else if (cursorTimer_) { + cursorTimer_->stop(); + delete cursorTimer_; + cursorTimer_ = nullptr; + if(viewport()->cursor().shape() == Qt::BlankCursor) + viewport()->setCursor(Qt::OpenHandCursor); + } +} } // namespace LxImage diff --git a/src/imageview.h b/src/imageview.h index 5fb9b41..ac566cf 100644 --- a/src/imageview.h +++ b/src/imageview.h @@ -42,6 +42,7 @@ public: void setImage(QImage image, bool show = true); void setGifAnimation(QString fileName); + void setSVG(QString fileName); QImage image() { return image_; @@ -67,9 +68,16 @@ public: autoZoomFit_ = value; } + // if set to true, hides the cursor after 3s of inactivity + void hideCursor(bool enable); + protected: virtual void wheelEvent(QWheelEvent* event); virtual void mouseDoubleClickEvent(QMouseEvent* event); + virtual void mousePressEvent(QMouseEvent* event); + virtual void mouseReleaseEvent(QMouseEvent* event); + virtual void mouseMoveEvent(QMouseEvent* event); + virtual void focusInEvent(QFocusEvent* event); virtual void resizeEvent(QResizeEvent* event); virtual void paintEvent(QPaintEvent* event); @@ -80,6 +88,7 @@ private: private Q_SLOTS: void generateCache(); + void blankCursor(); private: QGraphicsScene* scene_; // the topmost container of all graphic items @@ -90,8 +99,10 @@ private: QRect cachedRect_; // rectangle containing the cached region (in viewport coordinate) QRect cachedSceneRect_; // rectangle containing the cached region (in scene/original image coordinate) QTimer* cacheTimer_; + QTimer *cursorTimer_; // for hiding cursor in fullscreen mode double scaleFactor_; bool autoZoomFit_; + bool isSVG; // is the image an SVG file? }; } diff --git a/src/job.cpp b/src/job.cpp index 4839ae7..a7afd99 100644 --- a/src/job.cpp +++ b/src/job.cpp @@ -35,7 +35,7 @@ Job::~Job() { // This is called from the worker thread, not main thread gboolean Job::_jobThread(GIOSchedulerJob* job, GCancellable* cancellable, Job* pThis) { - bool ret = pThis->run(); + pThis->run(); // do final step in the main thread if(!g_cancellable_is_cancelled(pThis->cancellable_)) g_io_scheduler_job_send_to_mainloop(job, GSourceFunc(_finish), pThis, NULL); diff --git a/src/loadimagejob.cpp b/src/loadimagejob.cpp index 67a733b..a57cb55 100644 --- a/src/loadimagejob.cpp +++ b/src/loadimagejob.cpp @@ -29,8 +29,8 @@ using namespace LxImage; LoadImageJob::LoadImageJob(MainWindow* window, FmPath* filePath): Job(), - path_(fm_path_ref(filePath)), - mainWindow_(window) { + mainWindow_(window), + path_(fm_path_ref(filePath)) { } LoadImageJob::~LoadImageJob() { @@ -71,7 +71,7 @@ bool LoadImageJob::run() { // use libexif to extract additional info embedded in jpeg files ExifLoader *exif_loader = exif_loader_new(); // write image data to exif loader - int ret = exif_loader_write(exif_loader, (unsigned char*)imageBuffer.data().constData(), (unsigned int)imageBuffer.size()); + exif_loader_write(exif_loader, (unsigned char*)imageBuffer.data().constData(), (unsigned int)imageBuffer.size()); ExifData *exif_data = exif_loader_get_data(exif_loader); exif_loader_unref(exif_loader); if(exif_data) { diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 7d78b5e..94b4795 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -28,7 +28,6 @@ #include #include #include -#include #include #include #include @@ -36,6 +35,7 @@ #include #include #include +#include #include "application.h" #include #include @@ -46,21 +46,21 @@ using namespace LxImage; MainWindow::MainWindow(): QMainWindow(), - currentFile_(NULL), - slideShowTimer_(NULL), - // currentFileInfo_(NULL), - loadJob_(NULL), - saveJob_(NULL), - folder_(NULL), - folderPath_(NULL), + contextMenu_(new QMenu(this)), + slideShowTimer_(nullptr), + image_(), + currentFile_(nullptr), + // currentFileInfo_(nullptr), + imageModified_(false), + folder_(nullptr), + folderPath_(nullptr), folderModel_(new Fm::FolderModel()), proxyModel_(new Fm::ProxyFolderModel()), modelFilter_(new ModelFilter()), - imageModified_(false), - contextMenu_(new QMenu(this)), - thumbnailsDock_(NULL), - thumbnailsView_(NULL), - image_() { + thumbnailsDock_(nullptr), + thumbnailsView_(nullptr), + loadJob_(nullptr), + saveJob_(nullptr) { setAttribute(Qt::WA_DeleteOnClose); // FIXME: check if current image is saved before close @@ -70,8 +70,8 @@ MainWindow::MainWindow(): Settings& settings = app->settings(); ui.setupUi(this); - connect(ui.actionScreenshot, SIGNAL(triggered(bool)), app, SLOT(screenshot())); - connect(ui.actionPreferences, SIGNAL(triggered(bool)), app ,SLOT(editPreferences())); + connect(ui.actionScreenshot, &QAction::triggered, app, &Application::screenshot); + connect(ui.actionPreferences, &QAction::triggered, app , &Application::editPreferences); proxyModel_->addFilter(modelFilter_); proxyModel_->sort(Fm::FolderModel::ColumnFileName, Qt::AscendingOrder); @@ -79,7 +79,7 @@ MainWindow::MainWindow(): // build context menu ui.view->setContextMenuPolicy(Qt::CustomContextMenu); - connect(ui.view, SIGNAL(customContextMenuRequested(QPoint)), SLOT(onContextMenu(QPoint))); + connect(ui.view, &QWidget::customContextMenuRequested, this, &MainWindow::onContextMenu); // install an event filter on the image view ui.view->installEventFilter(this); @@ -107,11 +107,11 @@ MainWindow::MainWindow(): // create shortcuts QShortcut* shortcut = new QShortcut(Qt::Key_Left, this); - connect(shortcut, SIGNAL(activated()), SLOT(on_actionPrevious_triggered())); + connect(shortcut, &QShortcut::activated, this, &MainWindow::on_actionPrevious_triggered); shortcut = new QShortcut(Qt::Key_Right, this); - connect(shortcut, SIGNAL(activated()), SLOT(on_actionNext_triggered())); + connect(shortcut, &QShortcut::activated, this, &MainWindow::on_actionNext_triggered); shortcut = new QShortcut(Qt::Key_Escape, this); - connect(shortcut, SIGNAL(activated()), SLOT(onExitFullscreen())); + connect(shortcut, &QShortcut::activated, this, &MainWindow::onExitFullscreen); } MainWindow::~MainWindow() { @@ -174,7 +174,6 @@ void MainWindow::on_actionZoomOut_triggered() { } void MainWindow::onFolderLoaded(FmFolder* folder) { - qDebug("Finish loading: %d files", proxyModel_->rowCount()); // if currently we're showing a file, get its index in the folder now // since the folder is fully loaded. if(currentFile_ && !currentIndex_.isValid()) { @@ -207,14 +206,14 @@ void MainWindow::pasteImage(QImage newImage) { // cancel loading of current image if(loadJob_) { loadJob_->cancel(); // the job object will be freed automatically later - loadJob_ = NULL; + loadJob_ = nullptr; } setModified(true); currentIndex_ = QModelIndex(); // invaludate current index since we don't have a folder model now if(currentFile_) fm_path_unref(currentFile_); - currentFile_ = NULL; + currentFile_ = nullptr; image_ = newImage; ui.view->setImage(image_); @@ -302,7 +301,13 @@ void MainWindow::on_actionSave_triggered() { void MainWindow::on_actionSaveAs_triggered() { if(saveJob_) // if we're currently saving another file return; - QString fileName = saveFileName(currentFile_ ? Fm::Path(currentFile_).displayName() : QString()); + QString baseName; + if(currentFile_) { + char* dispName = fm_path_display_name(currentFile_, false); + baseName = QString::fromUtf8(dispName); + g_free(dispName); + } + QString fileName = saveFileName(baseName); if(!fileName.isEmpty()) { FmPath* path = fm_path_new_for_str(qPrintable(fileName)); // save the image file asynchronously @@ -354,7 +359,6 @@ void MainWindow::on_actionNext_triggered() { FmFileInfo* info = proxyModel_->fileInfoFromIndex(index); if(info) { FmPath* path = fm_file_info_get_path(info); - qDebug("try load: %s", fm_path_get_basename(path)); loadImage(path, index); } } @@ -365,7 +369,6 @@ void MainWindow::on_actionPrevious_triggered() { return; if(currentIndex_.isValid()) { QModelIndex index; - qDebug("current row: %d", currentIndex_.row()); if(currentIndex_.row() > 0) index = proxyModel_->index(currentIndex_.row() - 1, 0); else @@ -373,7 +376,6 @@ void MainWindow::on_actionPrevious_triggered() { FmFileInfo* info = proxyModel_->fileInfoFromIndex(index); if(info) { FmPath* path = fm_file_info_get_path(info); - qDebug("try load: %s", fm_path_get_basename(path)); loadImage(path, index); } } @@ -385,7 +387,6 @@ void MainWindow::on_actionFirst_triggered() { FmFileInfo* info = proxyModel_->fileInfoFromIndex(index); if(info) { FmPath* path = fm_file_info_get_path(info); - qDebug("try load: %s", fm_path_get_basename(path)); loadImage(path, index); } } @@ -396,8 +397,7 @@ void MainWindow::on_actionLast_triggered() { if(index.isValid()) { FmFileInfo* info = proxyModel_->fileInfoFromIndex(index); if(info) { - FmPath* path = fm_file_info_get_path(info); - qDebug("try load: %s", fm_path_get_basename(path)); + FmPath* path = fm_file_info_get_path(info);; loadImage(path, index); } } @@ -423,7 +423,7 @@ void MainWindow::loadFolder(FmPath* newFolderPath) { // the image is loaded (the method is only called if the loading is not cancelled) void MainWindow::onImageLoaded(LoadImageJob* job) { - loadJob_ = NULL; // the job object will be freed later automatically + loadJob_ = nullptr; // the job object will be freed later automatically image_ = job->image(); ui.view->setAutoZoomFit(true); @@ -448,12 +448,11 @@ void MainWindow::onImageSaved(SaveImageJob* job) { if(!job->error()) { setModified(false); } - saveJob_ = NULL; + saveJob_ = nullptr; } // filter events of other objects, mainly the image view. bool MainWindow::eventFilter(QObject* watched, QEvent* event) { - // qDebug() << event; if(watched == ui.view) { // we got an event for the image view switch(event->type()) { case QEvent::Wheel: { // mouse wheel event @@ -585,7 +584,7 @@ void MainWindow::loadImage(FmPath* filePath, QModelIndex index) { // cancel loading of current image if(loadJob_) { loadJob_->cancel(); // the job object will be freed automatically later - loadJob_ = NULL; + loadJob_ = nullptr; } if(imageModified_) { // TODO: ask the user to save the modified image? @@ -601,21 +600,27 @@ void MainWindow::loadImage(FmPath* filePath, QModelIndex index) { image_ = QImage(); const char* basename = fm_path_get_basename(currentFile_); - char* mimeType = g_content_type_guess(basename, NULL, 0, NULL); - if(mimeType && strcmp(mimeType, "image/gif") == 0) { - g_free(mimeType); - char *file_Name = fm_path_to_str(currentFile_); - QString fileName(file_Name); - g_free(file_Name); + char* mime_type = g_content_type_guess(basename, NULL, 0, NULL); + QString mimeType; + if (mime_type) { + mimeType = QString(mime_type); + g_free(mime_type); + } + if(mimeType == "image/gif" + || mimeType == "image/svg+xml" || mimeType == "image/svg+xml-compressed") { + char *file_name = fm_path_to_str(currentFile_); + QString fileName(file_name); + g_free(file_name); ui.view->setAutoZoomFit(true); // like in onImageLoaded() - ui.view->setGifAnimation(fileName); + if(mimeType == "image/gif") + ui.view->setGifAnimation(fileName); + else + ui.view->setSVG(fileName); image_ = ui.view->image(); updateUI(); show(); } else { - if(mimeType) - g_free(mimeType); // start a new gio job to load the specified image loadJob_ = new LoadImageJob(this, filePath); loadJob_->start(); @@ -633,55 +638,55 @@ void MainWindow::saveImage(FmPath* filePath) { // FIXME: add a cancel button to the UI? update status bar? } -QGraphicsItem* MainWindow::getGifItem() { - if(!ui.view->items().isEmpty()) { - QGraphicsItem *gifItem = ui.view->items().at(0); - if(gifItem->isWidget()) // we have gif animation - return gifItem; - } - return NULL; +QGraphicsItem* MainWindow::getGraphicsItem() { + if(!ui.view->items().isEmpty()) + return ui.view->items().at(0); + return nullptr; } void MainWindow::on_actionRotateClockwise_triggered() { - QGraphicsItem *gifItem = getGifItem(); + QGraphicsItem *graphItem = getGraphicsItem(); if(!image_.isNull()) { QTransform transform; transform.rotate(90.0); image_ = image_.transformed(transform, Qt::SmoothTransformation); - /* when this is a gif animation, we need to rotate the first frame + /* when this is GIF or SVG, we need to rotate its corresponding QImage without showing it to have the right measure for auto-zooming */ - ui.view->setImage(image_, gifItem ? false : true); + ui.view->setImage(image_, graphItem->isWidget() // we have gif animation + || static_cast(graphItem) // an SVG image + ? false : true); setModified(true); } - if(gifItem) { + if(graphItem) { QTransform transform; - transform.translate(gifItem->sceneBoundingRect().height(), 0); + transform.translate(graphItem->sceneBoundingRect().height(), 0); transform.rotate(90); // we need to apply transformations in the reverse order - QTransform prevTrans = gifItem->transform(); - gifItem->setTransform(transform, false); - gifItem->setTransform(prevTrans, true); + QTransform prevTrans = graphItem->transform(); + graphItem->setTransform(transform, false); + graphItem->setTransform(prevTrans, true); } } void MainWindow::on_actionRotateCounterclockwise_triggered() { - QGraphicsItem *gifItem = getGifItem(); + QGraphicsItem *graphItem = getGraphicsItem(); if(!image_.isNull()) { QTransform transform; transform.rotate(-90.0); image_ = image_.transformed(transform, Qt::SmoothTransformation); - ui.view->setImage(image_, gifItem ? false : true); + ui.view->setImage(image_, graphItem->isWidget() || static_cast(graphItem) + ? false : true); setModified(true); } - if(gifItem) { + if(graphItem) { QTransform transform; - transform.translate(0, gifItem->sceneBoundingRect().width()); + transform.translate(0, graphItem->sceneBoundingRect().width()); transform.rotate(-90); - QTransform prevTrans = gifItem->transform(); - gifItem->setTransform(transform, false); - gifItem->setTransform(prevTrans, true); + QTransform prevTrans = graphItem->transform(); + graphItem->setTransform(transform, false); + graphItem->setTransform(prevTrans, true); } } @@ -708,37 +713,37 @@ void MainWindow::on_actionPaste_triggered() { } void MainWindow::on_actionFlipVertical_triggered() { - if(QGraphicsItem *gifItem = getGifItem()) { + bool hasQGraphicsItem(false); + if(QGraphicsItem *graphItem = getGraphicsItem()) { + hasQGraphicsItem = true; QTransform transform; transform.scale(1, -1); - transform.translate(0, -gifItem->sceneBoundingRect().height()); - QTransform prevTrans = gifItem->transform(); - gifItem->setTransform(transform, false); - gifItem->setTransform(prevTrans, true); - setModified(true); - /* we don't need to flip the first frame because its position - and dimensions are the same as before while it isn't shown */ + transform.translate(0, -graphItem->sceneBoundingRect().height()); + QTransform prevTrans = graphItem->transform(); + graphItem->setTransform(transform, false); + graphItem->setTransform(prevTrans, true); } - else if(!image_.isNull()) { + if(!image_.isNull()) { image_ = image_.mirrored(false, true); - ui.view->setImage(image_); + ui.view->setImage(image_, !hasQGraphicsItem); setModified(true); } } void MainWindow::on_actionFlipHorizontal_triggered() { - if(QGraphicsItem *gifItem = getGifItem()) { + bool hasQGraphicsItem(false); + if(QGraphicsItem *graphItem = getGraphicsItem()) { + hasQGraphicsItem = true; QTransform transform; transform.scale(-1, 1); - transform.translate(-gifItem->sceneBoundingRect().width(), 0); - QTransform prevTrans = gifItem->transform(); - gifItem->setTransform(transform, false); - gifItem->setTransform(prevTrans, true); - setModified(true); + transform.translate(-graphItem->sceneBoundingRect().width(), 0); + QTransform prevTrans = graphItem->transform(); + graphItem->setTransform(transform, false); + graphItem->setTransform(prevTrans, true); } - else if(!image_.isNull()) { - image_ = image_.mirrored(true, false); - ui.view->setImage(image_); + if(!image_.isNull()) { + image_ = image_.mirrored(true, true); + ui.view->setImage(image_, !hasQGraphicsItem); setModified(true); } } @@ -767,11 +772,9 @@ void MainWindow::on_actionPrint_triggered() { QRect pageRect = printer.pageRect(); int cols = (image_.width() / pageRect.width()) + (image_.width() % pageRect.width() ? 1 : 0); int rows = (image_.height() / pageRect.height()) + (image_.height() % pageRect.height() ? 1 : 0); - // qDebug() << "page:" << printer.pageRect() << "image:" << image_.size() << "cols, rows:" << cols << rows; for(int row = 0; row < rows; ++row) { for(int col = 0; col < cols; ++col) { QRect srcRect(pageRect.width() * col, pageRect.height() * row, pageRect.width(), pageRect.height()); - // qDebug() << "row:" << row << "col:" << col << "src:" << srcRect << "page:" << printer.pageRect(); painter.drawImage(QPoint(0, 0), image_, srcRect); if(col + 1 == cols && row + 1 == rows) // this is the last page break; @@ -795,7 +798,7 @@ void MainWindow::on_actionSlideShow_triggered(bool checked) { if(!slideShowTimer_) { slideShowTimer_ = new QTimer(); // switch to the next image when timeout - connect(slideShowTimer_, SIGNAL(timeout()), SLOT(on_actionNext_triggered())); + connect(slideShowTimer_, &QTimer::timeout, this, &MainWindow::on_actionNext_triggered); } Application* app = static_cast(qApp); slideShowTimer_->start(app->settings().slideShowInterval() * 1000); @@ -805,7 +808,7 @@ void MainWindow::on_actionSlideShow_triggered(bool checked) { else { if(slideShowTimer_) { delete slideShowTimer_; - slideShowTimer_ = NULL; + slideShowTimer_ = nullptr; ui.actionSlideShow->setIcon(QIcon::fromTheme("media-playback-start")); } } @@ -838,15 +841,16 @@ void MainWindow::setShowThumbnails(bool show) { QCoreApplication::processEvents(); listView->scrollTo(currentIndex_, QAbstractItemView::PositionAtCenter); } - connect(thumbnailsView_->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), SLOT(onThumbnailSelChanged(QItemSelection,QItemSelection))); + connect(thumbnailsView_->selectionModel(), &QItemSelectionModel::selectionChanged, + this, &MainWindow::onThumbnailSelChanged); } } else { if(thumbnailsDock_) { delete thumbnailsView_; - thumbnailsView_ = NULL; + thumbnailsView_ = nullptr; delete thumbnailsDock_; - thumbnailsDock_ = NULL; + thumbnailsDock_ = nullptr; } proxyModel_->setShowThumbnails(false); } @@ -876,6 +880,7 @@ void MainWindow::changeEvent(QEvent* event) { addAction(action); } addActions(ui.menubar->actions()); + ui.view->hideCursor(true); } else { // restore to normal window mode ui.view->setFrameStyle(QFrame::StyledPanel|QFrame::Sunken); @@ -890,6 +895,7 @@ void MainWindow::changeEvent(QEvent* event) { ui.statusBar->show(); if(thumbnailsDock_) thumbnailsDock_->show(); + ui.view->hideCursor(false); } } QWidget::changeEvent(event); diff --git a/src/mainwindow.h b/src/mainwindow.h index 3350395..0139484 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -126,7 +126,7 @@ private: void updateUI(); void setModified(bool modified); QModelIndex indexFromPath(FmPath* filePath); - QGraphicsItem* getGifItem(); + QGraphicsItem* getGraphicsItem(); // GObject related signal handers and callbacks static void _onFolderLoaded(FmFolder* folder, MainWindow* _this) { diff --git a/src/mainwindow.ui b/src/mainwindow.ui index 4c5487a..ad78add 100644 --- a/src/mainwindow.ui +++ b/src/mainwindow.ui @@ -221,7 +221,7 @@ Zoom &In - Ctrl++ + Ctrl+= @@ -288,6 +288,9 @@ Original Size + + Ctrl+0 + diff --git a/src/preferencesdialog.cpp b/src/preferencesdialog.cpp index 73fb8b3..123345c 100644 --- a/src/preferencesdialog.cpp +++ b/src/preferencesdialog.cpp @@ -96,8 +96,6 @@ static void findIconThemesInDir(QHash& iconThemes, QString dir } void PreferencesDialog::initIconThemes(Settings& settings) { - Application* app = static_cast(qApp); - // check if auto-detection is done (for example, from xsettings) if(settings.useFallbackIconTheme()) { // auto-detection failed // load xdg icon themes and select the current one diff --git a/src/saveimagejob.cpp b/src/saveimagejob.cpp index d3ded31..7922d33 100644 --- a/src/saveimagejob.cpp +++ b/src/saveimagejob.cpp @@ -28,8 +28,8 @@ using namespace LxImage; SaveImageJob::SaveImageJob(MainWindow* window, FmPath* filePath): Job(), - path_(fm_path_ref(filePath)), mainWindow_(window), + path_(fm_path_ref(filePath)), image_(window->image()) { } diff --git a/src/screenshotdialog.cpp b/src/screenshotdialog.cpp index ff922ee..b5c442d 100644 --- a/src/screenshotdialog.cpp +++ b/src/screenshotdialog.cpp @@ -25,6 +25,7 @@ #include #include "application.h" #include +#include #include #include @@ -83,7 +84,7 @@ QRect ScreenshotDialog::windowFrame(WId wid) { int x, y; // translate to root coordinate XTranslateCoordinates(QX11Info::display(), wid, wa.root, 0, 0, &x, &y, &child); - qDebug("%d, %d, %d, %d", x, y, wa.width, wa.height); + //qDebug("%d, %d, %d, %d", x, y, wa.width, wa.height); result.setRect(x, y, wa.width, wa.height); // get the frame widths added by the window manager @@ -140,38 +141,42 @@ void ScreenshotDialog::doScreenshot() { } } - QPixmap pixmap; - pixmap = QPixmap::grabWindow(wid, x, y, width, height); - QImage image = pixmap.toImage(); - - if(hasXfixes_ && ui.includeCursor->isChecked()) { - // capture the cursor if needed - XFixesCursorImage* cursor = XFixesGetCursorImage(QX11Info::display()); - if(cursor) { - if(cursor->pixels) { // pixles should be an ARGB array - QImage cursorImage; - if(sizeof(long) == 4) { - // FIXME: will we encounter byte-order problems here? - cursorImage = QImage((uchar*)cursor->pixels, cursor->width, cursor->height, QImage::Format_ARGB32); + QImage image; + QScreen *screen = QGuiApplication::primaryScreen(); + if(screen) { + QPixmap pixmap = screen->grabWindow(wid, x, y, width, height); + image = pixmap.toImage(); + + if(hasXfixes_ && ui.includeCursor->isChecked()) { + // capture the cursor if needed + XFixesCursorImage* cursor = XFixesGetCursorImage(QX11Info::display()); + if(cursor) { + if(cursor->pixels) { // pixles should be an ARGB array + QImage cursorImage; + if(sizeof(long) == 4) { + // FIXME: will we encounter byte-order problems here? + cursorImage = QImage((uchar*)cursor->pixels, cursor->width, cursor->height, QImage::Format_ARGB32); + } + else { // XFixes returns long integers which is not 32 bit on 64 bit systems. + long len = cursor->width * cursor->height; + quint32* buf = new quint32[len]; + for(long i = 0; i < len; ++i) + buf[i] = (quint32)cursor->pixels[i]; + cursorImage = QImage((uchar*)buf, cursor->width, cursor->height, QImage::Format_ARGB32, [](void* b) { delete[] (quint32*)b; }, buf); + } + // paint the cursor on the current image + QPainter painter(&image); + painter.drawImage(cursor->x - cursor->xhot, cursor->y - cursor->yhot, cursorImage); } - else { // XFixes returns long integers which is not 32 bit on 64 bit systems. - long len = cursor->width * cursor->height; - quint32* buf = new quint32[len]; - for(long i = 0; i < len; ++i) - buf[i] = (quint32)cursor->pixels[i]; - cursorImage = QImage((uchar*)buf, cursor->width, cursor->height, QImage::Format_ARGB32, [](void* b) { delete[] (quint32*)b; }, buf); - } - // paint the cursor on the current image - QPainter painter(&image); - painter.drawImage(cursor->x - cursor->xhot, cursor->y - cursor->yhot, cursorImage); + XFree(cursor); } - XFree(cursor); } } Application* app = static_cast(qApp); MainWindow* window = app->createWindow(); - window->pasteImage(image); + if(!image.isNull()) + window->pasteImage(image); window->show(); deleteLater(); // destroy ourself diff --git a/src/settings.cpp b/src/settings.cpp index b8a29e3..3dcf7b7 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -27,11 +27,11 @@ using namespace LxImage; Settings::Settings(): useFallbackIconTheme_(QIcon::themeName().isEmpty() || QIcon::themeName() == "hicolor"), bgColor_(255, 255, 255), + fullScreenBgColor_(0, 0, 0), showThumbnails_(false), showSidePane_(false), - fullScreenBgColor_(0, 0, 0), - fallbackIconTheme_("oxygen"), slideShowInterval_(5), + fallbackIconTheme_("oxygen"), fixedWindowWidth_(640), fixedWindowHeight_(480), lastWindowWidth_(640), @@ -49,7 +49,7 @@ bool Settings::load() { fullScreenBgColor_ = settings.value("fullScreenBgColor", fullScreenBgColor_).value(); // showThumbnails_; // showSidePane_; - int slideShowInterval_ = settings.value("slideShowInterval", slideShowInterval_).toInt(); + slideShowInterval_ = settings.value("slideShowInterval", slideShowInterval_).toInt(); settings.beginGroup("Window"); fixedWindowWidth_ = settings.value("FixedWidth", 640).toInt(); diff --git a/src/translations/lximage-qt-screenshot_ca.desktop b/src/translations/lximage-qt-screenshot_ca.desktop new file mode 100644 index 0000000..2b85929 --- /dev/null +++ b/src/translations/lximage-qt-screenshot_ca.desktop @@ -0,0 +1,4 @@ +#Translations +Name[ca]=Captura de pantalla +GenericName[ca]=Captura de pantalla +Comment[ca]=Preneu una captura de pantalla diff --git a/src/translations/lximage-qt_ca.desktop b/src/translations/lximage-qt_ca.desktop new file mode 100644 index 0000000..402b30a --- /dev/null +++ b/src/translations/lximage-qt_ca.desktop @@ -0,0 +1,4 @@ +#Translations +Name[ca]=LXImage +GenericName[ca]=Visualitzador d'imatges +Comment[ca]=El visualitzador d'imatges de LXQt diff --git a/src/translations/lximage-qt_ca.ts b/src/translations/lximage-qt_ca.ts deleted file mode 100644 index a92e89a..0000000 --- a/src/translations/lximage-qt_ca.ts +++ /dev/null @@ -1,408 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - - - - - [FILE1, FILE2,...] - - - - - LxImage::MainWindow - - - About - - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - - Open File - - - - - - Image files (%1) - - - - - Save File - - - - - %1 (Loading...) - Image Viewer - - - - - %1 (Failed to Load) - Image Viewer - - - - - %1 (%2x%3) - Image Viewer - - - - - Image Viewer - - - - - Thumbnails - - - - - MainWindow - - - Image Viewer - - - - - &About - - - - - &Open File - - - - - Ctrl+O - - - - - &Save - - - - - Ctrl+S - - - - - Save &As - - - - - Ctrl+A - - - - - &Close - - - - - Ctrl+W - - - - - Zoom &In - - - - - Ctrl++ - - - - - Zoom &Out - - - - - Ctrl+- - - - - - &Copy to Clipboard - - - - - - Next File - - - - - - Previous File - - - - - PgDown - - - - - PgUp - - - - - Original Size - - - - - &Fit - - - - - &Rotate Clockwise - - - - - Rotate &Counterclockwise - - - - - P&references - - - - - &Print - - - - - Ctrl+P - - - - - First File - - - - - Home - - - - - Last File - - - - - End - - - - - &New Window - - - - - Ctrl+N - - - - - Flip &Horizontally - - - - - Capture Screenshot - - - - - F&ull Screen - - - - - F11 - - - - - Flip &Vertically - - - - - &Paste from Clipboard - - - - - &Slide Show - - - - - &Delete - - - - - Del - - - - - Show Thumbnails - - - - - File Properties - - - - - &File - - - - - &Help - - - - - Go - - - - - &View - - - - - &Edit - - - - - Toolbar - - - - - PreferencesDialog - - - Preferences - - - - - Icon theme: - - - - - Normal background color: - - - - - Fullscreen background color: - - - - - Slide show interval (seconds): - - - - - General - - - - - ScreenshotDialog - - - Screenshot - - - - - Take a screenshot - - - - - Region - - - - - Whole screen - - - - - Current window only - - - - - Include mouse cursor - - - - - seconds - - - - - Delay: - - - - - Include window title and frame - - - - diff --git a/src/translations/lximage-qt_de.desktop b/src/translations/lximage-qt_de.desktop index 735428a..37a3574 100644 --- a/src/translations/lximage-qt_de.desktop +++ b/src/translations/lximage-qt_de.desktop @@ -1,5 +1,5 @@ [Desktop Entry] GenericName[de]=Bildbetrachter -Comment[de]=Der LXQt Bildbetrachter +Comment[de]=Der LXQt-Bildbetrachter #TRANSLATIONS_DIR=translations diff --git a/src/translations/lximage-qt_de.ts b/src/translations/lximage-qt_de.ts deleted file mode 100644 index 3dce942..0000000 --- a/src/translations/lximage-qt_de.ts +++ /dev/null @@ -1,417 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - Bildschirmfoto erstellen - - - - [FILE1, FILE2,...] - [Datei1, Datei2,...] - - - - LxImage::MainWindow - - - About - Über - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - LXImage - ein einfacher und schneller Bildbetrachter - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Autor: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - Open File - Datei öffnen - - - - - Image files (%1) - Bilddateien (%1) - - - - Save File - Datei speichern - - - - %1 (Loading...) - Image Viewer - %1 (Lade...) - Bildbetrachter - - - - %1 (Failed to Load) - Image Viewer - %1 (Fehler beim Laden) - Bildbetrachter - - - - %1 (%2x%3) - Image Viewer - %1 (%2x%3) - Bildbetrachter - - - - Image Viewer - Bildbetrachter - - - - Thumbnails - Miniaturen - - - - MainWindow - - - Image Viewer - Bildbetrachter - - - - &About - &Über - - - - &Open File - This should be "&Open" (without "File") imho. We are in the File menu. - Ö&ffnen - - - - Ctrl+O - Shortcuts are translated automatically. No need to manually translate it to "Strg+O". - - - - - &Save - &Speichern - - - - Ctrl+S - - - - - Save &As - Speichern &unter - - - - Ctrl+A - - - - - &Close - Sch&ließen - - - - Ctrl+W - - - - - Zoom &In - Ver&größern - - - - Ctrl++ - - - - - Zoom &Out - Ver&kleinern - - - - Ctrl+- - - - - - &Copy to Clipboard - In die &Zwischenablage einfügen - - - - - Next File - Nächste Datei - - - - - Previous File - Vorige Datei - - - - PgDown - - - - - PgUp - - - - - Original Size - Originalgröße - - - - &Fit - Passen&d - - - - &Rotate Clockwise - Im &Uhrzeigersinn drehen - - - - Rotate &Counterclockwise - &Gegen den Uhrzeigersinn drehen - - - - P&references - Einste&llungen - - - - &Print - &Drucken - - - - Ctrl+P - - - - - First File - Erste Datei - - - - Home - - - - - Last File - Letzte Datei - - - - End - - - - - &New Window - &Neues Fenster - - - - Ctrl+N - - - - - Flip &Horizontally - &Horizontal spiegeln - - - - Capture Screenshot - Bildschirmfoto erstellen - - - - F&ull Screen - &Gesamter Bildschirm - - - - F11 - - - - - Flip &Vertically - &Vertikal spiegeln - - - - &Paste from Clipboard - &Aus Zwischenablage einfügen - - - - &Slide Show - &Diaschau - - - - &Delete - &Löschen - - - - Del - - - - - Show Thumbnails - Miniaturen anzeigen - - - - File Properties - Translation of 'file' skipped, it is redundant (this is the file menu). - Eigenschaften - - - - &File - &Datei - - - - &Help - &Hilfe - - - - Go - Gehe zu - - - - &View - &Ansicht - - - - &Edit - &Bearbeiten - - - - Toolbar - Werkzeugleiste - - - - PreferencesDialog - - - Preferences - Einstellungen - - - - Icon theme: - Symboldesign: - - - - Normal background color: - Normale Hintergrundfarbe: - - - - Fullscreen background color: - Vollbild-Hintergrundfarbe: - - - - Slide show interval (seconds): - Diaschau Bildwechsel (Sekunden): - - - - General - Allgemein - - - - ScreenshotDialog - - - Screenshot - Bildschirmfoto - - - - Take a screenshot - Bildschirmfoto erstellen - - - - Region - Bereich - - - - Whole screen - Gesamter Bildschirm - - - - Current window only - Nur aktuelles Fenster - - - - Include mouse cursor - Einschließlich Mauszeiger - - - - seconds - Sekunden - - - - Delay: - Verzögerung: - - - - Include window title and frame - Einschließlich Fenstertitel und Rahmen - - - diff --git a/src/translations/lximage-qt_el.ts b/src/translations/lximage-qt_el.ts deleted file mode 100644 index c563c09..0000000 --- a/src/translations/lximage-qt_el.ts +++ /dev/null @@ -1,414 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - Λήψη ενός στιγμιότυπου - - - - [FILE1, FILE2,...] - [ΑΡΧΕΙΟ1, ΑΡΧΕΙΟ2,...] - - - - LxImage::MainWindow - - - About - Σχετικά - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - LXImage - ένας απλός και γρήγορος προβολέας εικόνων - -Πνευματικά δικαιώματα (C) 2013 -Έργο LXDE: http://lxde.org/ - -Συγγραφείς: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - Open File - Άνοιγμα αρχείου - - - - - Image files (%1) - Αρχεία εικόνων (%1) - - - - Save File - Αποθήκευση αρχείου - - - - %1 (Loading...) - Image Viewer - %1 (Φορτώνεται....) - Προβολέας εικόνων - - - - %1 (Failed to Load) - Image Viewer - %1 (Αποτυχία φόρτωσης) - Προβολέας εικόνων - - - - %1 (%2x%3) - Image Viewer - %1 (%2x%3) - Προβολέας εικόνων - - - - Image Viewer - Προβολέας εικόνων - - - - Thumbnails - Εικόνες επισκόπησης - - - - MainWindow - - - Image Viewer - Προβολέας εικόνων - - - - &About - &Σχετικά - - - - &Open File - &Άνοιγμα αρχείου - - - - Ctrl+O - Ctrl+O - - - - &Save - Απο&θήκευση - - - - Ctrl+S - Ctrl+S - - - - Save &As - Αποθήκευση &ως - - - - Ctrl+A - Ctrl+A - - - - &Close - &Κλείσιμο - - - - Ctrl+W - Ctrl+W - - - - Zoom &In - Μεγέ&θυνση - - - - Ctrl++ - Ctrl++ - - - - Zoom &Out - Σμίκρ&υνση - - - - Ctrl+- - Ctrl+- - - - - &Copy to Clipboard - Αντιγραφή στο πρό&χειρο - - - - - Next File - Επόμενο αρχείο - - - - - Previous File - Προηγούμενο αρχείο - - - - PgDown - PgDown - - - - PgUp - PgUp - - - - Original Size - Αρχικό Μέγεθος - - - - &Fit - &Ταίριασμα - - - - &Rotate Clockwise - Περιστροφή &δεξιόστροφα - - - - Rotate &Counterclockwise - Περιστροφή &αριστερόστροφα - - - - P&references - &Επιλογές - - - - &Print - Εκτύ&πωση - - - - Ctrl+P - Ctrl+P - - - - First File - Πρώτο αρχείο - - - - Home - Αρχική - - - - Last File - Τελευταίο αρχείο - - - - End - Τέλος - - - - &New Window - &Νέο παράθυρο - - - - Ctrl+N - Ctrl+N - - - - Flip &Horizontally - Αναστροφή &οριζόντια - - - - Capture Screenshot - Λήψη στιγμιότυπου - - - - F&ull Screen - Π&λήρης οθόνη - - - - F11 - F11 - - - - Flip &Vertically - Αναστροφή &κατακόρυφα - - - - &Paste from Clipboard - &Επικόλληση από το πρόχειρο - - - - &Slide Show - &Προβολή διαφάνειας - - - - &Delete - &Διαγραφή - - - - Del - Del - - - - Show Thumbnails - Εμφάνιση εικόνων επισκόπησης - - - - File Properties - Ιδιότητες αρχείου - - - - &File - &Αρχείο - - - - &Help - &Βοήθεια - - - - Go - Μετάβαση - - - - &View - &Προβολή - - - - &Edit - &Επεξεργασία - - - - Toolbar - Γραμμή εργαλείων - - - - PreferencesDialog - - - Preferences - Προτιμήσεις - - - - Icon theme: - Θέμα εικονιδίων: - - - - Normal background color: - Τυπικό χρώμα παρασκηνίου: - - - - Fullscreen background color: - Χρώμα παρασκηνίου πλήρους οθόνης: - - - - Slide show interval (seconds): - Χρονική καθυστέρηση προβολής διαφανειών (δευτερόλεπτα): - - - - General - Γενικά - - - - ScreenshotDialog - - - Screenshot - Στιγμιότυπο - - - - Take a screenshot - Λήψη στιγμιότυπου - - - - Region - Περιοχή - - - - Whole screen - Ολόκληρη η οθόνη - - - - Current window only - Μόνον το τρέχον παράθυρο - - - - Include mouse cursor - Συμπερίληψη του δρομέα του ποντικιού - - - - seconds - δευτερόλεπτα - - - - Delay: - Καθυστέρηση: - - - - Include window title and frame - Συμπερίληψη του τίτλου και του πλαισίου του παραθύρου - - - diff --git a/src/translations/lximage-qt_es.ts b/src/translations/lximage-qt_es.ts deleted file mode 100644 index c4b5a60..0000000 --- a/src/translations/lximage-qt_es.ts +++ /dev/null @@ -1,438 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - Capturar la pantalla - - - - [FILE1, FILE2,...] - [ARCHIVO1, ARCHIVO2, …] - - - - LxImage::MainWindow - - - About - Acerca de - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - LXImage: un visor de imágenes sencillo y rápido - -Copyright © 2013 -Proyecto LXDE: http://lxde.org/ - -Autores: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - Open File - Abrir un archivo - - - - - Image files (%1) - Imágenes (%1) - - - - Save File - Guardar el archivo - - - - %1 (Loading...) - Image Viewer - %1 (cargando…) – Visor de imágenes - - - - %1 (Failed to Load) - Image Viewer - %1 (falló la carga) – Visor de imágenes - - - - %1 (%2x%3) - Image Viewer - %1 (%2 × %3) – Visor de imágenes - - - - Image Viewer - Visor de imágenes - - - - Thumbnails - - - - - MainWindow - - - Image Viewer - Visor de imágenes - - - - &About - &Acerca de - - - - &Open File - &Abrir un archivo - - - - Ctrl+O - Ctrl+O - - - - &Save - &Guardar - - - - Ctrl+S - Ctrl+S - - - - Save &As - G&uardar como… - - - - Ctrl+A - Ctrl+A - - - - &Close - &Cerrar - - - - Ctrl+W - Ctrl+W - - - - Zoom &In - &Ampliar - - - - Ctrl++ - Ctrl++ - - - - Zoom &Out - &Reducir - - - - Ctrl+- - Ctrl+− - - - - &Copy to Clipboard - &Copiar al portapapeles - - - - - Next File - Archivo siguiente - - - Right - - - - - - Previous File - Archivo anterior - - - Left - - - - - PgDown - - - - - PgUp - - - - - Original Size - Tamaño original - - - - &Fit - A&justar - - - - &Rotate Clockwise - &Girar a la derecha - - - - Rotate &Counterclockwise - G&irar a la izquierda - - - - P&references - P&referencias - - - - &Print - &Imprimir - - - - Ctrl+P - - - - - First File - Primer archivo - - - - Home - Inicio - - - - Last File - Último archivo - - - - End - Fin - - - - &New Window - Ventana &nueva - - - - Ctrl+N - Ctrl+N - - - - Flip &Horizontally - Voltear &horizontalmente - - - - Capture Screenshot - Capturar la pantalla - - - - F&ull Screen - Pa&ntalla completa - - - - F11 - F11 - - - - Flip &Vertically - Voltear &verticalmente - - - - &Paste from Clipboard - &Pegar del portapapeles - - - - &Slide Show - Pa&se de diapositivas - - - - &Delete - &Eliminar - - - - Del - Supr - - - - Show Thumbnails - - - - - File Properties - - - - - &File - &Archivo - - - - &Help - Ay&uda - - - - Go - Ir - - - - &View - &Ver - - - - &Edit - &Editar - - - - Toolbar - - - - toolBar - Barra de herramientas - - - - PreferencesDialog - - - Preferences - Preferencias - - - - Icon theme: - - - - - Normal background color: - - - - - Fullscreen background color: - - - - - Slide show interval (seconds): - - - - - General - - - - TODO: Add configuration options here - Por hacer: Añadir opciones de configuración aquí - - - Tab 1 - Pestaña 1 - - - Tab 2 - Pestaña 2 - - - - ScreenshotDialog - - - Screenshot - Captura de pantalla - - - - Take a screenshot - Capturar la pantalla - - - - Region - Región - - - - Whole screen - Toda la pantalla - - - - Current window only - Solo la ventana actual - - - - Include mouse cursor - Incluir el puntero del ratón - - - - seconds - segundos - - - - Delay: - Retardo: - - - - Include window title and frame - Incluir el marco y el título de la ventana - - - diff --git a/src/translations/lximage-qt_gl.ts b/src/translations/lximage-qt_gl.ts deleted file mode 100644 index 36976a3..0000000 --- a/src/translations/lximage-qt_gl.ts +++ /dev/null @@ -1,438 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - Obter unha captura de pantalla - - - - [FILE1, FILE2,...] - [FICHEIRO1, FICHEIRO2,...] - - - - LxImage::MainWindow - - - About - Sobre - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - LXImage - un visor de imaxes rápido e sinxelo - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Autores: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - Open File - Abrir ficheiro - - - - - Image files (%1) - Ficheiros de imaxe (%1) - - - - Save File - Gardar o ficheiro - - - - %1 (Loading...) - Image Viewer - %1 (Cargando...) - visor de imaxes - - - - %1 (Failed to Load) - Image Viewer - %1 (Fallou a carga) - visor de imaxes - - - - %1 (%2x%3) - Image Viewer - %1 (%2x%3) - visor de imaxes - - - - Image Viewer - Visor de imaxes - - - - Thumbnails - - - - - MainWindow - - - Image Viewer - Visor de imaxes - - - - &About - &Sobre - - - - &Open File - &Abrir ficheiro - - - - Ctrl+O - Ctrl+O - - - - &Save - &Gardar - - - - Ctrl+S - Ctrl+S - - - - Save &As - Gardar &como - - - - Ctrl+A - Ctrl+A - - - - &Close - &Pechar - - - - Ctrl+W - Ctrl+W - - - - Zoom &In - A&chegar - - - - Ctrl++ - Ctrl++ - - - - Zoom &Out - A&fastar - - - - Ctrl+- - Ctrl+- - - - - &Copy to Clipboard - &Copiar ao portapapeis - - - - - Next File - Ficheiro seguinte - - - Right - Dereita - - - - - Previous File - Ficheiro anterior - - - Left - Esquerda - - - - PgDown - - - - - PgUp - - - - - Original Size - Tamaño orixinal - - - - &Fit - A&xustar - - - - &Rotate Clockwise - Xirar en sentido &horario - - - - Rotate &Counterclockwise - Xirar en sentido &antihorario - - - - P&references - P&referencias - - - - &Print - Im&primir - - - - Ctrl+P - - - - - First File - Primeiro ficheiro - - - - Home - Cartafol persoal - - - - Last File - Último ficheiro - - - - End - Fin - - - - &New Window - &Nova xanela - - - - Ctrl+N - Ctrl+N - - - - Flip &Horizontally - Inverter na & horizontal - - - - Capture Screenshot - Captura de pantalla - - - - F&ull Screen - Pantalla c&ompleta - - - - F11 - F11 - - - - Flip &Vertically - Inverter na &vertical - - - - &Paste from Clipboard - &Pegar do portapapeis - - - - &Slide Show - &Diaporama - - - - &Delete - &Eliminar - - - - Del - Supr - - - - Show Thumbnails - - - - - File Properties - - - - - &File - &Ficheiro - - - - &Help - &Axuda - - - - Go - Ir a - - - - &View - &Ver - - - - &Edit - &Editar - - - - Toolbar - - - - toolBar - Barra de ferramentas - - - - PreferencesDialog - - - Preferences - Preferencias - - - - Icon theme: - - - - - Normal background color: - - - - - Fullscreen background color: - - - - - Slide show interval (seconds): - - - - - General - - - - TODO: Add configuration options here - Por facer: Engadir aquí as opcións de configuración - - - Tab 1 - Lapela 1 - - - Tab 2 - Lapela 2 - - - - ScreenshotDialog - - - Screenshot - Captura de pantalla - - - - Take a screenshot - Obter unha captura de pantalla - - - - Region - Área - - - - Whole screen - Pantalla completa - - - - Current window only - Só a xanela actual - - - - Include mouse cursor - Incluír o punteiro do rato - - - - seconds - segundos - - - - Delay: - Demora: - - - - Include window title and frame - Incluír o marco e o título da xanela - - - diff --git a/src/translations/lximage-qt_hr.ts b/src/translations/lximage-qt_hr.ts deleted file mode 100644 index 31ca247..0000000 --- a/src/translations/lximage-qt_hr.ts +++ /dev/null @@ -1,438 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - Napravi sliku zaslona - - - - [FILE1, FILE2,...] - [DATOTEKA1, DATOTEKA2,...] - - - - LxImage::MainWindow - - - About - O programu - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - LXImage - jednostavni i brzi preglednik slika - -Autorska prava (C) 2013 -LXDE Project: http://lxde.org/ - -Autori: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - Open File - Otvori datoteku - - - - - Image files (%1) - Datoteke slika (%1) - - - - Save File - Spremi datoteku - - - - %1 (Loading...) - Image Viewer - %1 (Učitavam...) - Preglednik slika - - - - %1 (Failed to Load) - Image Viewer - %1 (neuspjelo učitavanje) - Pregledmik slika - - - - %1 (%2x%3) - Image Viewer - %1 (%2x%3) - Preglednik slika - - - - Image Viewer - Preglednik slika - - - - Thumbnails - - - - - MainWindow - - - Image Viewer - Preglednik slika - - - - &About - &O programu - - - - &Open File - &Otvori datoteku - - - - Ctrl+O - Ctrl+O - - - - &Save - &Spremi - - - - Ctrl+S - Ctrl+S - - - - Save &As - Spremi &kao - - - - Ctrl+A - Ctrl+A - - - - &Close - &Zatvori - - - - Ctrl+W - Ctrl+W - - - - Zoom &In - - - - - Ctrl++ - Ctrl++ - - - - Zoom &Out - - - - - Ctrl+- - Ctrl+- - - - - &Copy to Clipboard - - - - - - Next File - Slijedeća datoteka - - - Right - Desno - - - - - Previous File - Prethodna datoteka - - - Left - Lijevo - - - - PgDown - - - - - PgUp - - - - - Original Size - Izvorna veličina - - - - &Fit - - - - - &Rotate Clockwise - &Rotiraj u smjeru kazaljke na satu - - - - Rotate &Counterclockwise - Rotiraj &obrnuto od smjera kazaljke na satu - - - - P&references - O&sobitosti - - - - &Print - &Ispis - - - - Ctrl+P - - - - - First File - Prva datoteka - - - - Home - Osobna mapa - - - - Last File - Zadnja datoteka - - - - End - Kraj - - - - &New Window - &Novi prozor - - - - Ctrl+N - Ctrl+N - - - - Flip &Horizontally - Obrni &vodoravno - - - - Capture Screenshot - Uhvati sliku zaslona - - - - F&ull Screen - C&ijeli zaslon - - - - F11 - F11 - - - - Flip &Vertically - Obrni &okomito - - - - &Paste from Clipboard - - - - - &Slide Show - &Klizni prikaz - - - - &Delete - &Izbriši - - - - Del - Del - - - - Show Thumbnails - - - - - File Properties - - - - - &File - &Datoteka - - - - &Help - &Pomoć - - - - Go - Idi - - - - &View - &Pogled - - - - &Edit - &Uredi - - - - Toolbar - - - - toolBar - alatna traka - - - - PreferencesDialog - - - Preferences - Osobitosti - - - - Icon theme: - - - - - Normal background color: - - - - - Fullscreen background color: - - - - - Slide show interval (seconds): - - - - - General - - - - TODO: Add configuration options here - TODO: Dodaj konfiguracijske opcije ovdje - - - Tab 1 - Kartica 1 - - - Tab 2 - Kartica 2 - - - - ScreenshotDialog - - - Screenshot - Snimka zaslona - - - - Take a screenshot - Napravi snimku zaslona - - - - Region - Regija - - - - Whole screen - Cijeli zaslon - - - - Current window only - Samo trenutni prozor - - - - Include mouse cursor - uključi pokazivač miša - - - - seconds - sekundi - - - - Delay: - Odgoda: - - - - Include window title and frame - Uključi naslov prozora i okvir - - - diff --git a/src/translations/lximage-qt_hu.ts b/src/translations/lximage-qt_hu.ts deleted file mode 100644 index 38a36a8..0000000 --- a/src/translations/lximage-qt_hu.ts +++ /dev/null @@ -1,414 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - Képernyőkép - - - - [FILE1, FILE2,...] - - - - - LxImage::MainWindow - - - About - Rólunk - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - LXImage - az egyszerű és gyors képnéző - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - Open File - Fájl megnyitás - - - - - Image files (%1) - Képfájlok (%1) - - - - Save File - Fájl mentés - - - - %1 (Loading...) - Image Viewer - %1 (Betöltés...) - Képnéző - - - - %1 (Failed to Load) - Image Viewer - %1 (Betöltés sikertelen) - Képnéző - - - - %1 (%2x%3) - Image Viewer - %1 (Loading...) - Képnéző - - - - Image Viewer - Képnéző - - - - Thumbnails - Bélyegképek - - - - MainWindow - - - Image Viewer - Képnéző - - - - &About - Ról&am - - - - &Open File - &Fájlnyitás - - - - Ctrl+O - - - - - &Save - &Ment - - - - Ctrl+S - - - - - Save &As - &Másként ment - - - - Ctrl+A - - - - - &Close - &Bezár - - - - Ctrl+W - - - - - Zoom &In - &Nagyít - - - - Ctrl++ - - - - - Zoom &Out - &Kicsinyít - - - - Ctrl+- - - - - - &Copy to Clipboard - &Vágólapra másol - - - - - Next File - Következő fájl - - - - - Previous File - Előző fájl - - - - PgDown - - - - - PgUp - - - - - Original Size - Eredeti méret - - - - &Fit - &Kitölt - - - - &Rotate Clockwise - &Jobbra forgat - - - - Rotate &Counterclockwise - &Balra forgat - - - - P&references - &Beállítások - - - - &Print - &Nyomtat - - - - Ctrl+P - - - - - First File - Első fájl - - - - Home - - - - - Last File - Utolsó fájl - - - - End - Vége - - - - &New Window - &Új ablak - - - - Ctrl+N - - - - - Flip &Horizontally - Vízszintesen átfordít - - - - Capture Screenshot - Képernyókép készítés - - - - F&ull Screen - &Teljes kép - - - - F11 - - - - - Flip &Vertically - &Fejtetőre állít - - - - &Paste from Clipboard - Vágóla&pról beilleszt - - - - &Slide Show - &Diavetítés - - - - &Delete - &Törlés - - - - Del - - - - - Show Thumbnails - Bélyegképek - - - - File Properties - Fájljellemzők - - - - &File - &Fájl - - - - &Help - &Segítség - - - - Go - Ugrás - - - - &View - &Nézet - - - - &Edit - &Szerkeszt - - - - Toolbar - Eszközsáv - - - - PreferencesDialog - - - Preferences - Beállítások - - - - Icon theme: - Ikontéma: - - - - Normal background color: - Normál háttérszín: - - - - Fullscreen background color: - Teljeskép háttérszín: - - - - Slide show interval (seconds): - Diaváltás (másodperc): - - - - General - Általános - - - - ScreenshotDialog - - - Screenshot - Képernyőkép - - - - Take a screenshot - Képernyőfénykép - - - - Region - Terület - - - - Whole screen - Teljes kép - - - - Current window only - Aktuális ablak - - - - Include mouse cursor - Egérkurzor is - - - - seconds - másodperc - - - - Delay: - Késleltetés: - - - - Include window title and frame - Ablakkeret és fejléc is - - - diff --git a/src/translations/lximage-qt_id.ts b/src/translations/lximage-qt_id.ts deleted file mode 100644 index 6c01d72..0000000 --- a/src/translations/lximage-qt_id.ts +++ /dev/null @@ -1,440 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - Ambil cuplikan layar - - - - [FILE1, FILE2,...] - [BERKAS1, BERKAS2, ...] - - - - LxImage::MainWindow - - - About - Tentang - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - LXImage - suatu penampil gambar yang sederhana dan cepat - -Hak cipta (C) 2013 -Projek LXDE: http://lxde.org/ - -Penulis: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - Open File - Buka Berkas - - - - - Image files (%1) - Berkas gambar (%1) - - - - Save File - Simpan Berkas - - - - %1 (Loading...) - Image Viewer - %1 (Memuat...) - Penampil Gambar - - - - %1 (Failed to Load) - Image Viewer - %1 (Gagal Dimuat) - Penampil Gambar - - - - %1 (%2x%3) - Image Viewer - %1 (%2x%3) - Penampil Gambar - - - - Image Viewer - Penampil Gambar - - - - Thumbnails - - - - - MainWindow - - - Image Viewer - Penampil Gambar - - - - &About - Tent&ang - - - - &Open File - &Buka Berkas - - - - Ctrl+O - Ctrl+O - - - - &Save - &Simpan - - - - Ctrl+S - Ctrl+S - - - - Save &As - Simpan Seb&agai - - - - Ctrl+A - Ctrl+A - - - - &Close - &Tutup - - - - Ctrl+W - Ctrl+W - - - - Zoom &In - Per&besar - - - - Ctrl++ - Ctrl++ - - - - Zoom &Out - Per&kecil - - - - Ctrl+- - Ctrl+- - - - - &Copy to Clipboard - &Salin ke Papan Klip - - - - - Next File - Berkas Selanjutnya - - - Right - Kanan - - - - - Previous File - Berkas Sebelumnya - - - Left - Kiri - - - - PgDown - - - - - PgUp - - - - - Original Size - Ukuran Asli - - - - &Fit - &Pas - - - - &Rotate Clockwise - Puta&r Searah Jarum Jam - - - - Rotate &Counterclockwise - Putar Ber&lawanan Jarum Jam - - - - P&references - P&referensi - - - - &Print - &Cetak - - - - Ctrl+P - - - - - First File - Berkas Pertama - - - - Home - asumsi: nama tombol - Home - - - - Last File - Berkas Terakhir - - - - End - asumsi: nama tombol - End - - - - &New Window - Je&ndela Baru - - - - Ctrl+N - Ctrl+N - - - - Flip &Horizontally - Balikkan Arah &Horisontal - - - - Capture Screenshot - Ambil Cuplikan Layar - - - - F&ull Screen - Layar Pen&uh - - - - F11 - F11 - - - - Flip &Vertically - Balikkan Arah &Vertikal - - - - &Paste from Clipboard - Tem&pel dari Papan Klip - - - - &Slide Show - Pertunjukan &Salindia - - - - &Delete - &Hapus - - - - Del - Del - - - - Show Thumbnails - - - - - File Properties - - - - - &File - &Berkas - - - - &Help - B&antuan - - - - Go - Pergi - - - - &View - &Lihat - - - - &Edit - &Sunting - - - - Toolbar - - - - toolBar - Bilah Alat - - - - PreferencesDialog - - - Preferences - Preferensi - - - - Icon theme: - - - - - Normal background color: - - - - - Fullscreen background color: - - - - - Slide show interval (seconds): - - - - - General - - - - TODO: Add configuration options here - TODO: Tambahkan opsi konfigurasi di sini - - - Tab 1 - Tab 1 - - - Tab 2 - Tab 2 - - - - ScreenshotDialog - - - Screenshot - Cuplikan layar - - - - Take a screenshot - Ambil cuplikan layar - - - - Region - Wilayah - - - - Whole screen - Seluruh layar - - - - Current window only - Hanya jendela saat ini - - - - Include mouse cursor - Sertakan kursor tetikus - - - - seconds - detik - - - - Delay: - Tundaan: - - - - Include window title and frame - Sertakan rangka dan judul jendela - - - diff --git a/src/translations/lximage-qt_is.ts b/src/translations/lximage-qt_is.ts deleted file mode 100644 index c4a7053..0000000 --- a/src/translations/lximage-qt_is.ts +++ /dev/null @@ -1,408 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - - - - - [FILE1, FILE2,...] - - - - - LxImage::MainWindow - - - About - - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - - Open File - - - - - - Image files (%1) - - - - - Save File - - - - - %1 (Loading...) - Image Viewer - - - - - %1 (Failed to Load) - Image Viewer - - - - - %1 (%2x%3) - Image Viewer - - - - - Image Viewer - - - - - Thumbnails - - - - - MainWindow - - - Image Viewer - - - - - &About - - - - - &Open File - - - - - Ctrl+O - - - - - &Save - - - - - Ctrl+S - - - - - Save &As - - - - - Ctrl+A - - - - - &Close - - - - - Ctrl+W - - - - - Zoom &In - - - - - Ctrl++ - - - - - Zoom &Out - - - - - Ctrl+- - - - - - &Copy to Clipboard - - - - - - Next File - - - - - - Previous File - - - - - PgDown - - - - - PgUp - - - - - Original Size - - - - - &Fit - - - - - &Rotate Clockwise - - - - - Rotate &Counterclockwise - - - - - P&references - - - - - &Print - - - - - Ctrl+P - - - - - First File - - - - - Home - - - - - Last File - - - - - End - - - - - &New Window - - - - - Ctrl+N - - - - - Flip &Horizontally - - - - - Capture Screenshot - - - - - F&ull Screen - - - - - F11 - - - - - Flip &Vertically - - - - - &Paste from Clipboard - - - - - &Slide Show - - - - - &Delete - - - - - Del - - - - - Show Thumbnails - - - - - File Properties - - - - - &File - - - - - &Help - - - - - Go - - - - - &View - - - - - &Edit - - - - - Toolbar - - - - - PreferencesDialog - - - Preferences - - - - - Icon theme: - - - - - Normal background color: - - - - - Fullscreen background color: - - - - - Slide show interval (seconds): - - - - - General - - - - - ScreenshotDialog - - - Screenshot - - - - - Take a screenshot - - - - - Region - - - - - Whole screen - - - - - Current window only - - - - - Include mouse cursor - - - - - seconds - - - - - Delay: - - - - - Include window title and frame - - - - diff --git a/src/translations/lximage-qt_it.ts b/src/translations/lximage-qt_it.ts deleted file mode 100644 index 9ad8cf0..0000000 --- a/src/translations/lximage-qt_it.ts +++ /dev/null @@ -1,417 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - Cattura una schermata - - - - [FILE1, FILE2,...] - [File1, File2,...] - - - - LxImage::MainWindow - - - About - Informazioni - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - need update... - LXImage - un visualizzatore immagini semplice e veloce - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Autori: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - Open File - Apri file - - - - - Image files (%1) - File immagini (%1) - - - - Save File - Salva file - - - - %1 (Loading...) - Image Viewer - %1 (Caricamento in corso...) - Visualizzatore immagini - - - - %1 (Failed to Load) - Image Viewer - %1 (Caricamento non riuscito) - Visualizzatore immagini - - - - %1 (%2x%3) - Image Viewer - %1 (%2x%3) - Visualizzatore immagini - - - - Image Viewer - Visualizzatore immagini - - - - Thumbnails - Miniature - - - - MainWindow - - - Image Viewer - Visualizzatore immagini - - - - &About - Inform&azioni - - - - &Open File - &Apri file - - - - Ctrl+O - Shortcuts werden automatisch übersetzt - - - - - &Save - &Salva - - - - Ctrl+S - Ctrl+S - - - - Save &As - Salva &come - - - - Ctrl+A - Ctrl+A - - - - &Close - &Chiudi - - - - Ctrl+W - Ctrl+W - - - - Zoom &In - &Ingrandisci - - - - Ctrl++ - Ctrl++ - - - - Zoom &Out - &Rimpicciolisci - - - - Ctrl+- - Ctrl+- - - - - &Copy to Clipboard - &Copia negli appunti - - - - - Next File - File successivo - - - - - Previous File - File precedente - - - - PgDown - Pagina giù - - - - PgUp - Pagina su - - - - Original Size - Dimensioni originali - - - - &Fit - &Adatta - - - - &Rotate Clockwise - &Ruota in senso orario - - - - Rotate &Counterclockwise - Ruota in &senso antiorario - - - - P&references - P&referenze - - - - &Print - Stam&pa - - - - Ctrl+P - Ctrl+P - - - - First File - Primo file - - - - Home - Home - - - - Last File - Ultimo file - - - - End - Fine - - - - &New Window - &Nuova finestra - - - - Ctrl+N - Ctrl+N - - - - Flip &Horizontally - Rispecchia &orizzontalmente - - - - Capture Screenshot - Cattura schermata - - - - F&ull Screen - &Schermo intero - - - - F11 - F11 - - - - Flip &Vertically - Rispecchia &verticalmente - - - - &Paste from Clipboard - &Incolla dagli appunti - - - - &Slide Show - &Presentazione - - - - &Delete - &Elimina - - - - Del - Canc - - - - Show Thumbnails - Mostra miniature - - - - File Properties - Übersetzung von 'file' weggelassen, da redundant. - Proprietà del file - - - - &File - &File - - - - &Help - &Aiuto - - - - Go - Vai - - - - &View - &Visualizza - - - - &Edit - &Modifica - - - - Toolbar - Barra degli strumenti - - - - PreferencesDialog - - - Preferences - Preferenze - - - - Icon theme: - Tema icone: - - - - Normal background color: - Colore sfondo: - - - - Fullscreen background color: - Colore sfondo schermo intero: - - - - Slide show interval (seconds): - Ritardo presentazione (secondi): - - - - General - Generali - - - - ScreenshotDialog - - - Screenshot - Schermata - - - - Take a screenshot - Catturta schermata - - - - Region - Regione - - - - Whole screen - Schermo intero - - - - Current window only - Finestra attuale - - - - Include mouse cursor - Includi cursore - - - - seconds - secondi - - - - Delay: - Ritardo: - - - - Include window title and frame - Includi cornice finestra - - - diff --git a/src/translations/lximage-qt_ja.ts b/src/translations/lximage-qt_ja.ts deleted file mode 100644 index 09ee825..0000000 --- a/src/translations/lximage-qt_ja.ts +++ /dev/null @@ -1,438 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - スクリーンショットを撮る - - - - [FILE1, FILE2,...] - [ファイル1, ファイル2,...] - - - - LxImage::MainWindow - - - About - このアプリケーションについて - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - LXImage - シンプルで高速な画像ビューワ - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -作者: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - Open File - ファイルを開く - - - - - Image files (%1) - 画像ファイル (%1) - - - - Save File - ファイルの保存 - - - - %1 (Loading...) - Image Viewer - %1 (読み込み中...) - 画像ビューワ - - - - %1 (Failed to Load) - Image Viewer - %1 (読み込みに失敗) - 画像ビューワ - - - - %1 (%2x%3) - Image Viewer - %1 (%2x%3) - 画像ビューワ - - - - Image Viewer - 画像ビューワ - - - - Thumbnails - - - - - MainWindow - - - Image Viewer - 画像ビューワ - - - - &About - このアプリケーションについて(&A) - - - - &Open File - ファイルを開く(&O) - - - - Ctrl+O - Ctrl+O - - - - &Save - 保存(&S) - - - - Ctrl+S - Ctrl+S - - - - Save &As - 名前を付けて保存(&A) - - - - Ctrl+A - Ctrl+A - - - - &Close - 閉じる(&C) - - - - Ctrl+W - Ctrl+W - - - - Zoom &In - 拡大(&I) - - - - Ctrl++ - Ctrl++ - - - - Zoom &Out - 縮小(&O) - - - - Ctrl+- - Ctrl+- - - - - &Copy to Clipboard - クリップボードへコピー(&C) - - - - - Next File - 次のファイル - - - Right - - - - - - Previous File - 前のファイル - - - Left - - - - - PgDown - - - - - PgUp - - - - - Original Size - 原寸大 - - - - &Fit - フィット(&F) - - - - &Rotate Clockwise - 時計方向に回転(&R) - - - - Rotate &Counterclockwise - 反時計方向に回転(&C) - - - - P&references - 設定(&R) - - - - &Print - 印刷(&P) - - - - Ctrl+P - - - - - First File - 最初のファイル - - - - Home - Home - - - - Last File - 最後のファイル - - - - End - End - - - - &New Window - 新規ウィンドウ(&N) - - - - Ctrl+N - Ctrl+N - - - - Flip &Horizontally - 水平方向に反転(&H) - - - - Capture Screenshot - スクリーンショットを撮る - - - - F&ull Screen - 全画面(&U) - - - - F11 - F11 - - - - Flip &Vertically - 垂直方向に反転(&V) - - - - &Paste from Clipboard - クリップボードからペースト(&P) - - - - &Slide Show - スライドショー(&S) - - - - &Delete - 削除(&D) - - - - Del - Del - - - - Show Thumbnails - - - - - File Properties - - - - - &File - ファイル(&F) - - - - &Help - ヘルプ(&H) - - - - Go - 移動 - - - - &View - 表示(&V) - - - - &Edit - 編集(&E) - - - - Toolbar - - - - toolBar - ツールバー - - - - PreferencesDialog - - - Preferences - 設定 - - - - Icon theme: - - - - - Normal background color: - - - - - Fullscreen background color: - - - - - Slide show interval (seconds): - - - - - General - - - - TODO: Add configuration options here - TODO: Add configuration options here - - - Tab 1 - タブ 1 - - - Tab 2 - タブ 2 - - - - ScreenshotDialog - - - Screenshot - スクリーンショット - - - - Take a screenshot - スクリーンショットを撮る - - - - Region - 領域 - - - - Whole screen - 画面全体 - - - - Current window only - 現在のウィンドウのみ - - - - Include mouse cursor - マウスカーソルを含む - - - - seconds - - - - - Delay: - 遅延: - - - - Include window title and frame - ウィンドウのタイトルと枠を含む - - - diff --git a/src/translations/lximage-qt_pa.ts b/src/translations/lximage-qt_pa.ts deleted file mode 100644 index ecb0313..0000000 --- a/src/translations/lximage-qt_pa.ts +++ /dev/null @@ -1,408 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - - - - - [FILE1, FILE2,...] - - - - - LxImage::MainWindow - - - About - - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - - Open File - - - - - - Image files (%1) - - - - - Save File - - - - - %1 (Loading...) - Image Viewer - - - - - %1 (Failed to Load) - Image Viewer - - - - - %1 (%2x%3) - Image Viewer - - - - - Image Viewer - - - - - Thumbnails - - - - - MainWindow - - - Image Viewer - - - - - &About - - - - - &Open File - - - - - Ctrl+O - - - - - &Save - - - - - Ctrl+S - - - - - Save &As - - - - - Ctrl+A - - - - - &Close - - - - - Ctrl+W - - - - - Zoom &In - - - - - Ctrl++ - - - - - Zoom &Out - - - - - Ctrl+- - - - - - &Copy to Clipboard - - - - - - Next File - - - - - - Previous File - - - - - PgDown - - - - - PgUp - - - - - Original Size - - - - - &Fit - - - - - &Rotate Clockwise - - - - - Rotate &Counterclockwise - - - - - P&references - - - - - &Print - - - - - Ctrl+P - - - - - First File - - - - - Home - - - - - Last File - - - - - End - - - - - &New Window - - - - - Ctrl+N - - - - - Flip &Horizontally - - - - - Capture Screenshot - - - - - F&ull Screen - - - - - F11 - - - - - Flip &Vertically - - - - - &Paste from Clipboard - - - - - &Slide Show - - - - - &Delete - - - - - Del - - - - - Show Thumbnails - - - - - File Properties - - - - - &File - - - - - &Help - - - - - Go - - - - - &View - - - - - &Edit - - - - - Toolbar - - - - - PreferencesDialog - - - Preferences - - - - - Icon theme: - - - - - Normal background color: - - - - - Fullscreen background color: - - - - - Slide show interval (seconds): - - - - - General - - - - - ScreenshotDialog - - - Screenshot - - - - - Take a screenshot - - - - - Region - - - - - Whole screen - - - - - Current window only - - - - - Include mouse cursor - - - - - seconds - - - - - Delay: - - - - - Include window title and frame - - - - diff --git a/src/translations/lximage-qt_pl.ts b/src/translations/lximage-qt_pl.ts deleted file mode 100644 index 4102e60..0000000 --- a/src/translations/lximage-qt_pl.ts +++ /dev/null @@ -1,438 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - Wykonaj zrzut ekranu - - - - [FILE1, FILE2,...] - [PLIK1, PLIK2,...] - - - - LxImage::MainWindow - - - About - O programie - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - LXImage - prosta i szybka przeglądarka obrazów - -Prawa autorskie (C) 2013 -Projekt LXDE: http://lxde.org/ - -Autorzy: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - Open File - Otwórz plik - - - - - Image files (%1) - Pliki obrazów (%1) - - - - Save File - Zapisz plik - - - - %1 (Loading...) - Image Viewer - %1 (Wczytywanie...) - Przeglądarka obrazów - - - - %1 (Failed to Load) - Image Viewer - %1 (Błąd wczytywania) - Przeglądarka obrazów - - - - %1 (%2x%3) - Image Viewer - %1 (%2x%3) - Przeglądarka obrazów - - - - Image Viewer - Przeglądarka obrazów - - - - Thumbnails - Miniaturki - - - - MainWindow - - - Image Viewer - Przeglądarka obrazów - - - - &About - &O programie - - - - &Open File - O&twórz plik - - - - Ctrl+O - Ctrl+O - - - - &Save - &Zapisz - - - - Ctrl+S - Ctrl+S - - - - Save &As - Z&apisz jako - - - - Ctrl+A - Ctrl+A - - - - &Close - &Zamknij - - - - Ctrl+W - Ctrl+W - - - - Zoom &In - Po&większ - - - - Ctrl++ - Ctrl++ - - - - Zoom &Out - Po&mniejsz - - - - Ctrl+- - Ctrl+- - - - - &Copy to Clipboard - &Kopiuj do schowka - - - - - Next File - Następny plik - - - Right - W prawo - - - - - Previous File - Poprzedni plik - - - Left - W lewo - - - - PgDown - - - - - PgUp - - - - - Original Size - Rozmiar oryginalny - - - - &Fit - Dopa&sowanie - - - - &Rotate Clockwise - Obróć &zgodnie z ruchem wskazówek zegara - - - - Rotate &Counterclockwise - Ob&róć przeciwnie do ruchu wskazówek zegara - - - - P&references - Pre&ferencje - - - - &Print - &Drukuj - - - - Ctrl+P - - - - - First File - Pierwszy plik - - - - Home - Początek - - - - Last File - Ostatni plik - - - - End - Koniec - - - - &New Window - &Nowe okno - - - - Ctrl+N - Ctrl+N - - - - Flip &Horizontally - Od&bij w poziomie - - - - Capture Screenshot - Przechwyć zrzut ekranu - - - - F&ull Screen - &Pełny ekran - - - - F11 - F11 - - - - Flip &Vertically - Odbi&j w pionie - - - - &Paste from Clipboard - &Wklej ze schowka - - - - &Slide Show - Pokaz s&lajdów - - - - &Delete - &Usuń - - - - Del - Usuń - - - - Show Thumbnails - Pokaż miniaturki - - - - File Properties - Właściwości pliku - - - - &File - &Plik - - - - &Help - Pomo&c - - - - Go - Przejdź - - - - &View - &Widok - - - - &Edit - &Edycja - - - - Toolbar - Pasek narzędziowy - - - toolBar - Pasek narzędzi - - - - PreferencesDialog - - - Preferences - Ustawienia - - - - Icon theme: - Zestaw ikon: - - - - Normal background color: - Kolor tła: - - - - Fullscreen background color: - Kolor tła dla pełnego ekranu: - - - - Slide show interval (seconds): - Interwał pokazu slajdów (sekundy): - - - - General - Ogólne - - - TODO: Add configuration options here - Do zrobienia: Dodać tutaj opcje konfiguracyjne - - - Tab 1 - Karta 1 - - - Tab 2 - Karta 2 - - - - ScreenshotDialog - - - Screenshot - Zrzut ekranu - - - - Take a screenshot - Wykonaj zrzut ekranu - - - - Region - Obszar - - - - Whole screen - Cały ekran - - - - Current window only - Tylko bieżące okno - - - - Include mouse cursor - Dołącz kursor myszy - - - - seconds - sekund - - - - Delay: - Opóźnienie: - - - - Include window title and frame - Dołącz tytuł okna i obramowanie - - - diff --git a/src/translations/lximage-qt_pt.desktop b/src/translations/lximage-qt_pt.desktop index b887169..c1fb48b 100644 --- a/src/translations/lximage-qt_pt.desktop +++ b/src/translations/lximage-qt_pt.desktop @@ -1,4 +1,4 @@ #Translations Name[pt]=LXImage-Qt GenericName[pt]=Visualizador de imagens -Comment[pt]=O visualizador de imagens do LxQt +Comment[pt]=O visualizador de imagens do LXQt diff --git a/src/translations/lximage-qt_pt.ts b/src/translations/lximage-qt_pt.ts deleted file mode 100644 index b6ed3fe..0000000 --- a/src/translations/lximage-qt_pt.ts +++ /dev/null @@ -1,438 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - Obter captura de ecrã - - - - [FILE1, FILE2,...] - [Ficheiro1, ficheiro2,...] - - - - LxImage::MainWindow - - - About - Sobre - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - LXImage - um visualizador de imagens simples e rápido - -Direitos de autor (C) 2013-2015 -Projeto LXDE: http://lxde.org/ - -Autor: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - Open File - Abrir ficheiro - - - - - Image files (%1) - Ficheiros de imagem (%1) - - - - Save File - Gravar ficheiro - - - - %1 (Loading...) - Image Viewer - %1 (carregamento...) - Visualizador de imagens - - - - %1 (Failed to Load) - Image Viewer - %1 (falha ao carregar) - Visualizador de imagens - - - - %1 (%2x%3) - Image Viewer - %1 (%2x%3) - Visualizador de imagens - - - - Image Viewer - Visualizador de imagens - - - - Thumbnails - Miniaturas - - - - MainWindow - - - Image Viewer - Visualizador de imagens - - - - &About - &Sobre - - - - &Open File - A&brir ficheiro - - - - Ctrl+O - Ctrl+O - - - - &Save - &Gravar - - - - Ctrl+S - Ctrl+S - - - - Save &As - Gravar &como - - - - Ctrl+A - Ctrl+A - - - - &Close - Fe&char - - - - Ctrl+W - Ctrl+W - - - - Zoom &In - Ampl&iar - - - - Ctrl++ - Ctrl++ - - - - Zoom &Out - Redu&zir - - - - Ctrl+- - Ctrl+- - - - - &Copy to Clipboard - &Copiar para a área de transferência - - - - - Next File - Próximo ficheiro - - - Right - Direita - - - - - Previous File - Ficheiro anterior - - - Left - Esquerda - - - - PgDown - PageDown - - - - PgUp - PageUp - - - - Original Size - Tamanho original - - - - &Fit - Aj&ustar - - - - &Rotate Clockwise - &Rodar à direita - - - - Rotate &Counterclockwise - Rodar à &esquerda - - - - P&references - P&referências - - - - &Print - Im&primir - - - - Ctrl+P - Ctrl+P - - - - First File - Primeiro ficheiro - - - - Home - Home - - - - Last File - Último ficheiro - - - - End - End - - - - &New Window - &Nova janela - - - - Ctrl+N - Ctrl+N - - - - Flip &Horizontally - Inversão &horizontal - - - - Capture Screenshot - Captura de ecrã - - - - F&ull Screen - Ecrã co&mpleto - - - - F11 - F11 - - - - Flip &Vertically - Inversão &vertical - - - - &Paste from Clipboard - Colar da área de tran&sferência - - - - &Slide Show - Apre&sentação - - - - &Delete - E&liminar - - - - Del - Del - - - - Show Thumbnails - Mostrar miniaturas - - - - File Properties - Propriedades do ficheiro - - - - &File - &Ficheiro - - - - &Help - Aj&uda - - - - Go - Ir - - - - &View - &Ver - - - - &Edit - &Editar - - - - Toolbar - Barra de ferramentas - - - toolBar - Barra de ferramentas - - - - PreferencesDialog - - - Preferences - Preferências - - - - Icon theme: - Tema de ícones: - - - - Normal background color: - Cor de fundo normal: - - - - Fullscreen background color: - Cor de fundo em ecrã completo: - - - - Slide show interval (seconds): - Intervalo da apresentação (segundos): - - - - General - Geral - - - TODO: Add configuration options here - Tarefas: Adicionar opções de configuração - - - Tab 1 - Separador 1 - - - Tab 2 - Separador 2 - - - - ScreenshotDialog - - - Screenshot - Captura de ecrã - - - - Take a screenshot - Obter captura de ecrã - - - - Region - Região - - - - Whole screen - Todo o ecrã - - - - Current window only - Apenas janela atual - - - - Include mouse cursor - Incluir cursor do rato - - - - seconds - segundos - - - - Delay: - Atraso: - - - - Include window title and frame - Incluir título e moldura da janela - - - diff --git a/src/translations/lximage-qt_pt_BR.ts b/src/translations/lximage-qt_pt_BR.ts deleted file mode 100644 index db088db..0000000 --- a/src/translations/lximage-qt_pt_BR.ts +++ /dev/null @@ -1,439 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - Capturar uma imagem da tela - - - - [FILE1, FILE2,...] - [FILE1, FILE2,...] - - - - LxImage::MainWindow - - - About - Sobre - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - LXImage - é um simples e rápido visualizador de imagens - -Copyright (C) 2013 -Projeto LXDE: http://lxde.org/ - -Autores: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - Open File - Abrir Arquivo - - - - - Image files (%1) - Arquivos de Images (1%) - - - - Save File - Salvar Arquivo - - - - %1 (Loading...) - Image Viewer - %1 (Carregando...) - Visualização da Imagem - - - - %1 (Failed to Load) - Image Viewer - %1 (Falha ao Carregar) - Visualização da Imagem - - - - %1 (%2x%3) - Image Viewer - %1 (%2x%3) - Visualização da Imagem - - - - Image Viewer - Visualizador de Imagens - - - - Thumbnails - - - - - MainWindow - - - Image Viewer - Visualizador de Imagens - - - - &About - So&bre - - - - &Open File - Abrir &Arquivo - - - - Ctrl+O - Ctrl+O - - - - &Save - &Salvar - - - - Ctrl+S - Ctrl+S - - - - Save &As - Sal&var Como - - - - Ctrl+A - Ctrl+A - - - - &Close - Fe&char - - - - Ctrl+W - Ctrl+W - - - - Zoom &In - Ampl&iar - - - - Ctrl++ - Ctrl++ - - - - Zoom &Out - Redu&zir - - - - Ctrl+- - Ctrl+- - - - - &Copy to Clipboard - &Copiar para a Área de Transferência - - - - - Next File - Próximo Arquivo - - - Right - Direita - - - - - Previous File - Arquivo Anterior - - - Left - Esquerda - - - - PgDown - - - - - PgUp - - - - - Original Size - Tamanho Original - - - - &Fit - Ajustar - - - - &Rotate Clockwise - &Rotacionar em sentido horário - - - - Rotate &Counterclockwise - Rota&cionar em sentido anti-horário - - - - P&references - P&referências - - - - &Print - Im&primir - - - - Ctrl+P - - - - - First File - Primeiro arquivo - - - - Home - Inicio - - - - Last File - Último arquivo - - - - End - Fim - - - - &New Window - &Nova Janela - - - - Ctrl+N - Ctrl+N - - - - Flip &Horizontally - Espelhar horizontalmente - - - - Capture Screenshot - Capturar Tela - - - - F&ull Screen - &Tela Cheia - - - - F11 - F11 - - - - Flip &Vertically - Espelhar &Verticalmente - - - - &Paste from Clipboard - Has a problem, no similar caracter for shortcut. - Colar da Área de Transferência - - - - &Slide Show - Apresentação de Slides - - - - &Delete - &Excluir - - - - Del - Remover - - - - Show Thumbnails - - - - - File Properties - - - - - &File - &Arquivo - - - - &Help - &Ajuda - - - - Go - Ir - - - - &View - &Visualizar - - - - &Edit - &Editar - - - - Toolbar - - - - toolBar - Barra de Ferramentas - - - - PreferencesDialog - - - Preferences - Preferências - - - - Icon theme: - - - - - Normal background color: - - - - - Fullscreen background color: - - - - - Slide show interval (seconds): - - - - - General - - - - TODO: Add configuration options here - FAZER: Adicionar opções de configurações aqui - - - Tab 1 - Aba 1 - - - Tab 2 - Aba 2 - - - - ScreenshotDialog - - - Screenshot - Captura de tela - - - - Take a screenshot - Capturar a tela - - - - Region - Região - - - - Whole screen - Tela Inteira - - - - Current window only - Somente a janela ativa - - - - Include mouse cursor - Incluir o cursor do mouse - - - - seconds - segundos - - - - Delay: - Atraso: - - - - Include window title and frame - Incluir título da janela e moldura - - - diff --git a/src/translations/lximage-qt_ru.ts b/src/translations/lximage-qt_ru.ts deleted file mode 100644 index 64b257e..0000000 --- a/src/translations/lximage-qt_ru.ts +++ /dev/null @@ -1,414 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - Сделать снимок экрана - - - - [FILE1, FILE2,...] - [ФАЙЛ1, ФАЙЛ2, ...] - - - - LxImage::MainWindow - - - About - О программе - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - LXImage - простой и быстрый просмотрщик изображений - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - Open File - Открыть файл - - - - - Image files (%1) - Файлы изображений (%1) - - - - Save File - Сохранить файл - - - - %1 (Loading...) - Image Viewer - %1 (Загружается...) - Просмотрщик изображений - - - - %1 (Failed to Load) - Image Viewer - %1 (Ошибка загрузки) - Просмотрщик изображений - - - - %1 (%2x%3) - Image Viewer - %1 (%2x%3) - Просмотрщик изображений - - - - Image Viewer - Просмотрщик изображений - - - - Thumbnails - Эскизы - - - - MainWindow - - - Image Viewer - Просмотрщик изображений - - - - &About - О &программе - - - - &Open File - &Открыть файл - - - - Ctrl+O - - - - - &Save - &Сохранить - - - - Ctrl+S - - - - - Save &As - Сохранить &как - - - - Ctrl+A - - - - - &Close - &Закрыть - - - - Ctrl+W - - - - - Zoom &In - При&близить - - - - Ctrl++ - - - - - Zoom &Out - От&далить - - - - Ctrl+- - - - - - &Copy to Clipboard - Скопировать в &буфер обмена - - - - - Next File - Следующий файл - - - - - Previous File - Предыдущий файл - - - - PgDown - - - - - PgUp - - - - - Original Size - Исходный размер - - - - &Fit - &Заполнить - - - - &Rotate Clockwise - Пове&рнуть по часовой стрелке - - - - Rotate &Counterclockwise - Повернуть &против часовой стрелки - - - - P&references - &Настройки - - - - &Print - &Печать - - - - Ctrl+P - - - - - First File - Первый файл - - - - Home - - - - - Last File - Последний файл - - - - End - - - - - &New Window - Новое &окно - - - - Ctrl+N - - - - - Flip &Horizontally - Отразить &горизонтально - - - - Capture Screenshot - Сделать снимок экрана - - - - F&ull Screen - Полный &экран - - - - F11 - - - - - Flip &Vertically - Отразить &вертикально - - - - &Paste from Clipboard - &Вставить из буфера обмена - - - - &Slide Show - &Слайд-шоу - - - - &Delete - &Удалить - - - - Del - - - - - Show Thumbnails - Показать эскизы - - - - File Properties - Свойства файла - - - - &File - &Файл - - - - &Help - &Помощь - - - - Go - Перейти - - - - &View - &Вид - - - - &Edit - &Редактировать - - - - Toolbar - Панель инструментов - - - - PreferencesDialog - - - Preferences - Настройки - - - - Icon theme: - Тема значков: - - - - Normal background color: - Обычный цвет фона: - - - - Fullscreen background color: - Цвет фона для режима полного экрана: - - - - Slide show interval (seconds): - Интервал слайд-шоу (в секундах): - - - - General - Общие - - - - ScreenshotDialog - - - Screenshot - Снимок экрана - - - - Take a screenshot - Сделать снимок экрана - - - - Region - Область - - - - Whole screen - Весь экран - - - - Current window only - Только активное окно - - - - Include mouse cursor - Показывать курсор мыши - - - - seconds - секунд(ы) - - - - Delay: - Задержка: - - - - Include window title and frame - Показывать заголовок и обрамление окна - - - diff --git a/src/translations/lximage-qt_sv.ts b/src/translations/lximage-qt_sv.ts deleted file mode 100644 index 704a165..0000000 --- a/src/translations/lximage-qt_sv.ts +++ /dev/null @@ -1,497 +0,0 @@ - - - - - ../data/lxinput.desktop.in.h:1 - - Keyboard and Mouse - Tangentbord och mus - - - - ../data/lxinput.desktop.in.h:2 - - Configure keyboard, mouse, and other input devices - Inställningar för tangentbord, mus och andra inmatningsenheter - - - - ../data/lxinput.ui.h:1 - - Input Device Preferences - Egenskaper för inmatningsenhet - - - - ../data/lxinput.ui.h:10 - - Mouse - Mus - - - - ../data/lxinput.ui.h:11 - - Delay before each key starts repeating - Tid innan varje tangent repeteras - - - - ../data/lxinput.ui.h:12 - - Repeat delay: - Tid innan upprepning: - - - - ../data/lxinput.ui.h:13 - - Interval between each key repeat - Intervall mellan upprening av tangenter - - - - ../data/lxinput.ui.h:14 - - Long - Lång - - - - ../data/lxinput.ui.h:15 - - Short - Kort - - - - ../data/lxinput.ui.h:16 - - Repeat interval: - Tid mellan upprepningar: - - - - ../data/lxinput.ui.h:17 - - Type in the following box to test your keyboard settings - För att pröva dina inställningar kan du skriva i följande ruta - - - - ../data/lxinput.ui.h:18 - - <b>Character Repeat</b> - <b>Teckenupprepning</b> - - - - ../data/lxinput.ui.h:19 - - Beep when there is an error of keyboard input - Avge ett pip när ett fel uppstår vid tangentbordsinmatning - - - - ../data/lxinput.ui.h:2 - - Sensitivity: - Känslighet: - - - - ../data/lxinput.ui.h:20 - - <b>Keyboard layout</b> - <b>Tangentbordsupplägg</b> - - - - ../data/lxinput.ui.h:21 - - Keyboard - Tangentbord - - - - ../data/lxinput.ui.h:22 - - Touch Pad - Pekplatta - - - - ../data/lxinput.ui.h:3 - - High - Hög - - - - ../data/lxinput.ui.h:4 - - Low - Låg - - - - ../data/lxinput.ui.h:5 - - Fast - Snabb - - - - ../data/lxinput.ui.h:6 - - Slow - Långsam - - - - ../data/lxinput.ui.h:7 - - Acceleration: - Acceleration: - - - - ../data/lxinput.ui.h:8 - - <b>Motion</b> - <b>Förflyttning</b> - - - - ../data/lxinput.ui.h:9 - - Left handed (Swap left and right mouse buttons) - Vänsterhänt (byt funktioner för vänster och höger musknapp) - - - - LxImage::Application - - Take a screenshot - - - - [FILE1, FILE2,...] - - - - - LxImage::MainWindow - - About - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - Open File - - - - Image files (%1) - - - - Save File - - - - %1 (Loading...) - Image Viewer - - - - %1 (Failed to Load) - Image Viewer - - - - %1 (%2x%3) - Image Viewer - - - - Image Viewer - - - - Thumbnails - - - - - MainWindow - - Image Viewer - - - - &About - - - - &Open File - - - - Ctrl+O - - - - &Save - - - - Ctrl+S - - - - Save &As - - - - Ctrl+A - - - - &Close - - - - Ctrl+W - - - - Zoom &In - - - - Ctrl++ - - - - Zoom &Out - - - - Ctrl+- - - - - &Copy to Clipboard - - - - Next File - - - - Previous File - - - - Original Size - - - - &Fit - - - - &Rotate Clockwise - - - - Rotate &Counterclockwise - - - - P&references - - - - &Print - - - - First File - - - - Home - - - - Last File - - - - End - - - - &New Window - - - - Ctrl+N - - - - Flip &Horizontally - - - - Capture Screenshot - - - - F&ull Screen - - - - F11 - - - - Flip &Vertically - - - - &Paste from Clipboard - - - - &Slide Show - - - - &Delete - - - - Del - - - - &File - - - - &Help - - - - Go - - - - &View - - - - &Edit - - - - Toolbar - - - - PgDown - - - - PgUp - - - - Ctrl+P - - - - Show Thumbnails - - - - File Properties - - - - - PreferencesDialog - - Preferences - - - - Icon theme: - - - - Normal background color: - - - - Fullscreen background color: - - - - Slide show interval (seconds): - - - - General - - - - - ScreenshotDialog - - Screenshot - - - - Take a screenshot - - - - Region - - - - Whole screen - - - - Current window only - - - - Include mouse cursor - - - - seconds - - - - Delay: - - - - Include window title and frame - - - - diff --git a/src/translations/lximage-qt_template.ts b/src/translations/lximage-qt_template.ts deleted file mode 100644 index a97cc93..0000000 --- a/src/translations/lximage-qt_template.ts +++ /dev/null @@ -1,408 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - - - - - [FILE1, FILE2,...] - - - - - LxImage::MainWindow - - - About - - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - - Open File - - - - - - Image files (%1) - - - - - Save File - - - - - %1 (Loading...) - Image Viewer - - - - - %1 (Failed to Load) - Image Viewer - - - - - %1 (%2x%3) - Image Viewer - - - - - Image Viewer - - - - - Thumbnails - - - - - MainWindow - - - Image Viewer - - - - - &About - - - - - &Open File - - - - - Ctrl+O - - - - - &Save - - - - - Ctrl+S - - - - - Save &As - - - - - Ctrl+A - - - - - &Close - - - - - Ctrl+W - - - - - Zoom &In - - - - - Ctrl++ - - - - - Zoom &Out - - - - - Ctrl+- - - - - - &Copy to Clipboard - - - - - - Next File - - - - - - Previous File - - - - - PgDown - - - - - PgUp - - - - - Original Size - - - - - &Fit - - - - - &Rotate Clockwise - - - - - Rotate &Counterclockwise - - - - - P&references - - - - - &Print - - - - - Ctrl+P - - - - - First File - - - - - Home - - - - - Last File - - - - - End - - - - - &New Window - - - - - Ctrl+N - - - - - Flip &Horizontally - - - - - Capture Screenshot - - - - - F&ull Screen - - - - - F11 - - - - - Flip &Vertically - - - - - &Paste from Clipboard - - - - - &Slide Show - - - - - &Delete - - - - - Del - - - - - Show Thumbnails - - - - - File Properties - - - - - &File - - - - - &Help - - - - - Go - - - - - &View - - - - - &Edit - - - - - Toolbar - - - - - PreferencesDialog - - - Preferences - - - - - Icon theme: - - - - - Normal background color: - - - - - Fullscreen background color: - - - - - Slide show interval (seconds): - - - - - General - - - - - ScreenshotDialog - - - Screenshot - - - - - Take a screenshot - - - - - Region - - - - - Whole screen - - - - - Current window only - - - - - Include mouse cursor - - - - - seconds - - - - - Delay: - - - - - Include window title and frame - - - - diff --git a/src/translations/lximage-qt_uk.ts b/src/translations/lximage-qt_uk.ts deleted file mode 100644 index 753737b..0000000 --- a/src/translations/lximage-qt_uk.ts +++ /dev/null @@ -1,438 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - Зробити знімок - - - - [FILE1, FILE2,...] - [ФАЙЛ1, ФАЙЛ2,...] - - - - LxImage::MainWindow - - - About - Про програму - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - LXImage - простий та швидкий переглядач зображень - -Copyright (C) 2013 -Проект LXDE: http://lxde.org/ - -Автори: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - Open File - Відкрити файл - - - - - Image files (%1) - Файли зображень (%1) - - - - Save File - Зберегти файл - - - - %1 (Loading...) - Image Viewer - %1 (Завантаження...) - Переглядач зображень - - - - %1 (Failed to Load) - Image Viewer - %1 (Невдача завантаження) - Переглядач зображень - - - - %1 (%2x%3) - Image Viewer - %1 (%2x%3) - Переглядач зображень - - - - Image Viewer - Переглядач зображень - - - - Thumbnails - - - - - MainWindow - - - Image Viewer - Переглядач зображень - - - - &About - &Про програму - - - - &Open File - &Відкрити файл - - - - Ctrl+O - Ctrl+O - - - - &Save - &Зберегти - - - - Ctrl+S - Ctrl+S - - - - Save &As - Зберегти &як - - - - Ctrl+A - Ctrl+A - - - - &Close - &Закрити - - - - Ctrl+W - Ctrl+W - - - - Zoom &In - З&більшити - - - - Ctrl++ - Ctrl++ - - - - Zoom &Out - &Зменшити - - - - Ctrl+- - Ctrl+- - - - - &Copy to Clipboard - &Копіювати до буфера - - - - - Next File - Наступний файл - - - Right - Праворуч - - - - - Previous File - Попередній Файл - - - Left - Ліворуч - - - - PgDown - - - - - PgUp - - - - - Original Size - Оригінальний розмір - - - - &Fit - &Підігнати - - - - &Rotate Clockwise - &Обернути за год. стрілкою - - - - Rotate &Counterclockwise - Обернути проти &год. стрілки - - - - P&references - На&лаштування - - - - &Print - &Друк - - - - Ctrl+P - - - - - First File - Перший файл - - - - Home - Home - - - - Last File - Останній файл - - - - End - End - - - - &New Window - &Нове вікно - - - - Ctrl+N - Ctrl+N - - - - Flip &Horizontally - Віддзеркалити &горизонтально - - - - Capture Screenshot - Зробити знімок екрана - - - - F&ull Screen - П&овний екран - - - - F11 - F11 - - - - Flip &Vertically - Віддзеркалити &вертикально - - - - &Paste from Clipboard - &Вставити з буфера обміну - - - - &Slide Show - &Показ слайдів - - - - &Delete - В&илучити - - - - Del - Del - - - - Show Thumbnails - - - - - File Properties - - - - - &File - &Файл - - - - &Help - &Довідка - - - - Go - Перейти - - - - &View - П&ерегляд - - - - &Edit - &Редагування - - - - Toolbar - - - - toolBar - Панель інструментів - - - - PreferencesDialog - - - Preferences - Налаштування - - - - Icon theme: - - - - - Normal background color: - - - - - Fullscreen background color: - - - - - Slide show interval (seconds): - - - - - General - - - - TODO: Add configuration options here - Далі буде... - - - Tab 1 - Вкладка 1 - - - Tab 2 - Вкладка 2 - - - - ScreenshotDialog - - - Screenshot - Знімок екрану - - - - Take a screenshot - Зробити знімок - - - - Region - Регіон - - - - Whole screen - Екран цілком - - - - Current window only - Лише поточне вікно - - - - Include mouse cursor - Включаючи вказівник миші - - - - seconds - секунд - - - - Delay: - Затримка: - - - - Include window title and frame - Включаючи заголовок вікна та кадр - - - diff --git a/src/translations/lximage-qt_zh_CN.ts b/src/translations/lximage-qt_zh_CN.ts deleted file mode 100644 index 6f9853a..0000000 --- a/src/translations/lximage-qt_zh_CN.ts +++ /dev/null @@ -1,438 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - 抓取屏幕截图 - - - - [FILE1, FILE2,...] - [文件1, 文件2,...] - - - - LxImage::MainWindow - - - About - 关于 - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - LXImage - 一款简单快速的图像查看器 - -版权所有 (C) 2013 -LXDE 项目:http://lxde.org/ - -作者: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - - - - Open File - 打开文件 - - - - - Image files (%1) - 图像文件 (%1) - - - - Save File - 保存文件 - - - - %1 (Loading...) - Image Viewer - %1 (正在加载...) - 图像查看器 - - - - %1 (Failed to Load) - Image Viewer - %1 (加载失败) - 图像查看器 - - - - %1 (%2x%3) - Image Viewer - %1 (%2x%3) - 图像查看器 - - - - Image Viewer - 图像查看器 - - - - Thumbnails - - - - - MainWindow - - - Image Viewer - 图像查看器 - - - - &About - 关于(&A) - - - - &Open File - 打开文件(&O) - - - - Ctrl+O - Ctrl+O - - - - &Save - 保存(&S) - - - - Ctrl+S - Ctrl+S - - - - Save &As - 另存为(&A) - - - - Ctrl+A - Ctrl+A - - - - &Close - 关闭(&C) - - - - Ctrl+W - Ctrl+W - - - - Zoom &In - 放大(&I) - - - - Ctrl++ - Ctrl++ - - - - Zoom &Out - 缩小(&O) - - - - Ctrl+- - Ctrl+- - - - - &Copy to Clipboard - 复制到剪贴板(&C) - - - - - Next File - 下一个文件 - - - Right - - - - - - Previous File - 上一个文件 - - - Left - - - - - PgDown - - - - - PgUp - - - - - Original Size - 原始尺寸 - - - - &Fit - 适合(&F) - - - - &Rotate Clockwise - 顺时针旋转(&R) - - - - Rotate &Counterclockwise - 逆时针旋转(&C) - - - - P&references - 偏好设置(&R) - - - - &Print - 打印(&P) - - - - Ctrl+P - - - - - First File - 第一个文件 - - - - Home - 起始 - - - - Last File - 最后一个文件 - - - - End - 结束 - - - - &New Window - 新建窗口(&N) - - - - Ctrl+N - Ctrl+N - - - - Flip &Horizontally - 水平翻转(&H) - - - - Capture Screenshot - 抓取屏幕截图 - - - - F&ull Screen - 全屏(&U) - - - - F11 - F11 - - - - Flip &Vertically - 垂直翻转(&V) - - - - &Paste from Clipboard - 从剪贴板粘贴(&P) - - - - &Slide Show - 幻灯片放映(&S) - - - - &Delete - 删除(&D) - - - - Del - 删除 - - - - Show Thumbnails - - - - - File Properties - - - - - &File - 文件(&F) - - - - &Help - 帮助(&H) - - - - Go - 转到 - - - - &View - 查看(&V) - - - - &Edit - 编辑(&E) - - - - Toolbar - - - - toolBar - 工具栏 - - - - PreferencesDialog - - - Preferences - 偏好设置 - - - - Icon theme: - - - - - Normal background color: - - - - - Fullscreen background color: - - - - - Slide show interval (seconds): - - - - - General - - - - TODO: Add configuration options here - TODO: Add configuration options here - - - Tab 1 - 标签 1 - - - Tab 2 - 标签 2 - - - - ScreenshotDialog - - - Screenshot - 屏幕截图 - - - - Take a screenshot - 抓取屏幕截图 - - - - Region - 区域 - - - - Whole screen - 整个屏幕 - - - - Current window only - 仅当前窗口 - - - - Include mouse cursor - 包括鼠标光标 - - - - seconds - - - - - Delay: - 延迟: - - - - Include window title and frame - 包括窗口标题和框架 - - - diff --git a/src/translations/lximage-qt_zh_TW.ts b/src/translations/lximage-qt_zh_TW.ts deleted file mode 100644 index 308453c..0000000 --- a/src/translations/lximage-qt_zh_TW.ts +++ /dev/null @@ -1,426 +0,0 @@ - - - - - LxImage::Application - - - Take a screenshot - 拍攝螢幕快照 - - - - [FILE1, FILE2,...] - [檔案1、檔案2...] - - - - LxImage::MainWindow - - - About - 關於 - - - - LXImage - a simple and fast image viewer - -Copyright (C) 2013 -LXDE Project: http://lxde.org/ - -Authors: -Hong Jen Yee (PCMan) <pcman.tw@gmail.com> - LXImage - 簡單快速的圖片檢視程式r - -版權所有 (C) 2013 -LXDE 專案: http://lxde.org/ - -Authors: -洪任諭 (PCMan) <pcman.tw@gmail.com> - - - - Open File - 開啟檔案 - - - - - Image files (%1) - 影像檔案 (%1) - - - - Save File - 儲存檔案 - - - - %1 (Loading...) - Image Viewer - %1 (正在載入...) - 圖片檢視程式 - - - - %1 (Failed to Load) - Image Viewer - %1 (載入失敗) - 圖片檢視程式 - - - - %1 (%2x%3) - Image Viewer - %1 (%2x%3) - 圖片檢視程式 - - - - Image Viewer - 圖片檢視程式 - - - - Thumbnails - - - - - MainWindow - - - Image Viewer - 圖片檢視程式 - - - - &About - 關於(&A) - - - - &Open File - 開啟檔案(&O) - - - - Ctrl+O - Ctrl+O - - - - &Save - 儲存(&S) - - - - Ctrl+S - Ctrl+S - - - - Save &As - 另存新檔(&A) - - - - Ctrl+A - Ctrl+A - - - - &Close - 關閉(&C) - - - - Ctrl+W - Ctrl+W - - - - Zoom &In - 拉近(&I) - - - - Ctrl++ - Ctrl++ - - - - Zoom &Out - 拉遠(&O) - - - - Ctrl+- - Ctrl+- - - - - &Copy to Clipboard - 複製到剪貼簿(&C) - - - - - Next File - 下一個檔案 - - - Right - - - - - - Previous File - 前一個檔案 - - - Left - - - - - PgDown - - - - - PgUp - - - - - Original Size - 原尺寸 - - - - &Fit - 適合視窗大小(&F) - - - - &Rotate Clockwise - 順時鐘旋轉(&R) - - - - Rotate &Counterclockwise - 逆時鐘旋轉(&C) - - - - P&references - 偏好設定(&R) - - - - &Print - 列印(&P) - - - - Ctrl+P - - - - - First File - 第一個檔案 - - - - Home - - - - - Last File - 最後一個檔案 - - - - End - - - - - &New Window - 新視窗(&N) - - - - Ctrl+N - Ctrl+N - - - - Flip &Horizontally - 水平翻轉(&H) - - - - Capture Screenshot - 拍攝螢幕快照 - - - - F&ull Screen - 全螢幕(&U) - - - - F11 - F11 - - - - Flip &Vertically - 垂直翻轉(&V) - - - - &Paste from Clipboard - 從剪貼簿貼上(&P) - - - - &Slide Show - 投影片播放(&S) - - - - &Delete - 刪除(&D) - - - - Del - Del - - - - Show Thumbnails - - - - - File Properties - - - - - &File - 檔案(&F) - - - - &Help - 說明(&H) - - - - Go - 前往 - - - - &View - 檢視(&V) - - - - &Edit - 編輯(&E) - - - - Toolbar - - - - toolBar - 工具列 - - - - PreferencesDialog - - - Preferences - 偏好設定 - - - - Icon theme: - - - - - Normal background color: - - - - - Fullscreen background color: - - - - - Slide show interval (seconds): - - - - - General - - - - - ScreenshotDialog - - - Screenshot - 螢幕快照 - - - - Take a screenshot - 拍攝螢幕快照 - - - - Region - 區域 - - - - Whole screen - 整個螢幕 - - - - Current window only - 只有目前的視窗 - - - - Include mouse cursor - 包含滑鼠游標 - - - - seconds - - - - - Delay: - 延遲: - - - - Include window title and frame - 包含視窗標題和邊框 - - -