Signed-off-by: Andrew Lee (李健秋) <ajqlee@debian.org>ubuntu/disco upstream/0.4.0
commit
406bbcfe9b
@ -0,0 +1 @@
|
|||||||
|
build
|
@ -0,0 +1,9 @@
|
|||||||
|
Upstream Authors:
|
||||||
|
LXQt team: http://lxqt.org
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
|
||||||
|
|
||||||
|
Copyright:
|
||||||
|
Copyright (c) 2013-2014 LXQt team
|
||||||
|
|
||||||
|
License: GPL-2 and LGPL-2.1+
|
||||||
|
The full text of the licenses can be found in the 'COPYING' file.
|
@ -0,0 +1,57 @@
|
|||||||
|
cmake_minimum_required(VERSION 2.8.11)
|
||||||
|
|
||||||
|
project(lximage-qt)
|
||||||
|
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
|
# additional cmake files
|
||||||
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
|
||||||
|
|
||||||
|
set(MAJOR_VERSION 0)
|
||||||
|
set(MINOR_VERSION 4)
|
||||||
|
set(PATCH_VERSION 0)
|
||||||
|
|
||||||
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||||
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||||
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
|
||||||
|
find_package(Qt5Widgets REQUIRED)
|
||||||
|
find_package(Qt5DBus REQUIRED)
|
||||||
|
find_package(Qt5PrintSupport REQUIRED QUIET)
|
||||||
|
find_package(Qt5X11Extras REQUIRED QUIET)
|
||||||
|
find_package(Qt5LinguistTools REQUIRED QUIET)
|
||||||
|
message(STATUS "Building with Qt ${Qt5Core_VERSION_STRING}")
|
||||||
|
|
||||||
|
find_package(PkgConfig REQUIRED)
|
||||||
|
pkg_check_modules(GLIB REQUIRED glib-2.0)
|
||||||
|
|
||||||
|
# FIXME: we'll need this to provide detail info for photos in the future
|
||||||
|
pkg_check_modules(EXIF REQUIRED libexif)
|
||||||
|
|
||||||
|
pkg_check_modules(LIBFM_QT REQUIRED libfm-qt5 libfm>=1.2)
|
||||||
|
|
||||||
|
# TODO: make the X11 stuff optional.
|
||||||
|
# for screenshot support
|
||||||
|
find_package(X11 REQUIRED)
|
||||||
|
|
||||||
|
# Xfixes is needed to capture the mouse cursor image
|
||||||
|
pkg_check_modules(XFIXES REQUIRED xfixes)
|
||||||
|
|
||||||
|
# add src subdirectory
|
||||||
|
add_subdirectory(src)
|
||||||
|
|
||||||
|
# install an icon for the application
|
||||||
|
install(
|
||||||
|
FILES data/lximage-qt.png
|
||||||
|
DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/48x48/apps"
|
||||||
|
)
|
||||||
|
|
||||||
|
# building tarball with CPack -------------------------------------------------
|
||||||
|
include(InstallRequiredSystemLibraries)
|
||||||
|
set(CPACK_PACKAGE_VERSION_MAJOR ${MAJOR_VERSION})
|
||||||
|
set(CPACK_PACKAGE_VERSION_MINOR ${MINOR_VERSION})
|
||||||
|
set(CPACK_PACKAGE_VERSION_PATCH ${PATCH_VERSION})
|
||||||
|
set(CPACK_GENERATOR TBZ2)
|
||||||
|
set(CPACK_SOURCE_GENERATOR TBZ2)
|
||||||
|
set(CPACK_SOURCE_IGNORE_FILES /build/;.gitignore;.*~;.git;.kdev4;temp)
|
||||||
|
include(CPack)
|
@ -0,0 +1,280 @@
|
|||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your
|
||||||
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
License is intended to guarantee your freedom to share and change free
|
||||||
|
software--to make sure the software is free for all its users. This
|
||||||
|
General Public License applies to most of the Free Software
|
||||||
|
Foundation's software and to any other program whose authors commit to
|
||||||
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
|
the GNU Lesser General Public License instead.) You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
this service if you wish), that you receive source code or can get it
|
||||||
|
if you want it, that you can change the software or use pieces of it
|
||||||
|
in new free programs; and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid
|
||||||
|
anyone to deny you these rights or to ask you to surrender the rights.
|
||||||
|
These restrictions translate to certain responsibilities for you if you
|
||||||
|
distribute copies of the software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must give the recipients all the rights that
|
||||||
|
you have. You must make sure that they, too, receive or can get the
|
||||||
|
source code. And you must show them these terms so they know their
|
||||||
|
rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and
|
||||||
|
(2) offer you this license which gives you legal permission to copy,
|
||||||
|
distribute and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain
|
||||||
|
that everyone understands that there is no warranty for this free
|
||||||
|
software. If the software is modified by someone else and passed on, we
|
||||||
|
want its recipients to know that what they have is not the original, so
|
||||||
|
that any problems introduced by others will not reflect on the original
|
||||||
|
authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software
|
||||||
|
patents. We wish to avoid the danger that redistributors of a free
|
||||||
|
program will individually obtain patent licenses, in effect making the
|
||||||
|
program proprietary. To prevent this, we have made it clear that any
|
||||||
|
patent must be licensed for everyone's free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains
|
||||||
|
a notice placed by the copyright holder saying it may be distributed
|
||||||
|
under the terms of this General Public License. The "Program", below,
|
||||||
|
refers to any such program or work, and a "work based on the Program"
|
||||||
|
means either the Program or any derivative work under copyright law:
|
||||||
|
that is to say, a work containing the Program or a portion of it,
|
||||||
|
either verbatim or with modifications and/or translated into another
|
||||||
|
language. (Hereinafter, translation is included without limitation in
|
||||||
|
the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not
|
||||||
|
covered by this License; they are outside its scope. The act of
|
||||||
|
running the Program is not restricted, and the output from the Program
|
||||||
|
is covered only if its contents constitute a work based on the
|
||||||
|
Program (independent of having been made by running the Program).
|
||||||
|
Whether that is true depends on what the Program does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's
|
||||||
|
source code as you receive it, in any medium, provided that you
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate
|
||||||
|
copyright notice and disclaimer of warranty; keep intact all the
|
||||||
|
notices that refer to this License and to the absence of any warranty;
|
||||||
|
and give any other recipients of the Program a copy of this License
|
||||||
|
along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and
|
||||||
|
you may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion
|
||||||
|
of it, thus forming a work based on the Program, and copy and
|
||||||
|
distribute such modifications or work under the terms of Section 1
|
||||||
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices
|
||||||
|
stating that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in
|
||||||
|
whole or in part contains or is derived from the Program or any
|
||||||
|
part thereof, to be licensed as a whole at no charge to all third
|
||||||
|
parties under the terms of this License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively
|
||||||
|
when run, you must cause it, when started running for such
|
||||||
|
interactive use in the most ordinary way, to print or display an
|
||||||
|
announcement including an appropriate copyright notice and a
|
||||||
|
notice that there is no warranty (or else, saying that you provide
|
||||||
|
a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this
|
||||||
|
License. (Exception: if the Program itself is interactive but
|
||||||
|
does not normally print such an announcement, your work based on
|
||||||
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If
|
||||||
|
identifiable sections of that work are not derived from the Program,
|
||||||
|
and can be reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply to those
|
||||||
|
sections when you distribute them as separate works. But when you
|
||||||
|
distribute the same sections as part of a whole which is a work based
|
||||||
|
on the Program, the distribution of the whole must be on the terms of
|
||||||
|
this License, whose permissions for other licensees extend to the
|
||||||
|
entire whole, and thus to each and every part regardless of who wrote it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest
|
||||||
|
your rights to work written entirely by you; rather, the intent is to
|
||||||
|
exercise the right to control the distribution of derivative or
|
||||||
|
collective works based on the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program
|
||||||
|
with the Program (or with a work based on the Program) on a volume of
|
||||||
|
a storage or distribution medium does not bring the other work under
|
||||||
|
the scope of this License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it,
|
||||||
|
under Section 2) in object code or executable form under the terms of
|
||||||
|
Sections 1 and 2 above provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable
|
||||||
|
source code, which must be distributed under the terms of Sections
|
||||||
|
1 and 2 above on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three
|
||||||
|
years, to give any third party, for a charge no more than your
|
||||||
|
cost of physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code, to be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer
|
||||||
|
to distribute corresponding source code. (This alternative is
|
||||||
|
allowed only for noncommercial distribution and only if you
|
||||||
|
received the program in object code or executable form with such
|
||||||
|
an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for
|
||||||
|
making modifications to it. For an executable work, complete source
|
||||||
|
code means all the source code for all modules it contains, plus any
|
||||||
|
associated interface definition files, plus the scripts used to
|
||||||
|
control compilation and installation of the executable. However, as a
|
||||||
|
special exception, the source code distributed need not include
|
||||||
|
anything that is normally distributed (in either source or binary
|
||||||
|
form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component
|
||||||
|
itself accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering
|
||||||
|
access to copy from a designated place, then offering equivalent
|
||||||
|
access to copy the source code from the same place counts as
|
||||||
|
distribution of the source code, even though third parties are not
|
||||||
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
|
except as expressly provided under this License. Any attempt
|
||||||
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
|
void, and will automatically terminate your rights under this License.
|
||||||
|
However, parties who have received copies, or rights, from you under
|
||||||
|
this License will not have their licenses terminated so long as such
|
||||||
|
parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to modify or
|
||||||
|
distribute the Program or its derivative works. These actions are
|
||||||
|
prohibited by law if you do not accept this License. Therefore, by
|
||||||
|
modifying or distributing the Program (or any work based on the
|
||||||
|
Program), you indicate your acceptance of this License to do so, and
|
||||||
|
all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the
|
||||||
|
Program), the recipient automatically receives a license from the
|
||||||
|
original licensor to copy, distribute or modify the Program subject to
|
||||||
|
these terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
|
You are not responsible for enforcing compliance by third parties to
|
||||||
|
this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues),
|
||||||
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot
|
||||||
|
distribute so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you
|
||||||
|
may not distribute the Program at all. For example, if a patent
|
||||||
|
license would not permit royalty-free redistribution of the Program by
|
||||||
|
all those who receive copies directly or indirectly through you, then
|
||||||
|
the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under
|
||||||
|
any particular circumstance, the balance of the section is intended to
|
||||||
|
apply and the section as a whole is intended to apply in other
|
||||||
|
circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any
|
||||||
|
patents or other property right claims or to contest validity of any
|
||||||
|
such claims; this section has the sole purpose of protecting the
|
||||||
|
integrity of the free software distribution system, which is
|
||||||
|
implemented by public license practices. Many people have made
|
||||||
|
generous contributions to the wide range of software distributed
|
||||||
|
through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing
|
||||||
|
to distribute software through any other system and a licensee cannot
|
||||||
|
impose that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to
|
||||||
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
|
original copyright holder who places the Program under this License
|
||||||
|
may add an explicit geographical distribution limitation excluding
|
||||||
|
those countries, so that distribution is permitted only in or among
|
||||||
|
countries not thus excluded. In such case, this License incorporates
|
||||||
|
the limitation as if written in the body of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies a version number of this License which applies to it and "any
|
||||||
|
later version", you have the option of following the terms and conditions
|
||||||
|
either of that version or of any later version published by the Free
|
||||||
|
Software Foundation. If the Program does not specify a version number of
|
||||||
|
this License, you may choose any version ever published by the Free Software
|
||||||
|
Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free
|
||||||
|
programs whose distribution conditions are different, write to the author
|
||||||
|
to ask for permission. For software which is copyrighted by the Free
|
||||||
|
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||||
|
make exceptions for this. Our decision will be guided by the two goals
|
||||||
|
of preserving the free status of all derivatives of our free software and
|
||||||
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||||
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||||
|
REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||||
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||||
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
@ -0,0 +1,8 @@
|
|||||||
|
# lximage-qt
|
||||||
|
|
||||||
|
A simple and fast image viewer.
|
||||||
|
The Qt port of LXImage
|
||||||
|
|
||||||
|
Upstream:
|
||||||
|
http://lxqt.org
|
||||||
|
http://git.lxde.org/gitweb/?p=lxde/lximage-qt.git
|
@ -0,0 +1,107 @@
|
|||||||
|
#=============================================================================
|
||||||
|
# The lxqt_translate_desktop() function was copied from the the
|
||||||
|
# LXQt LxQtTranste.cmake
|
||||||
|
#
|
||||||
|
# Original Author: Alexander Sokolov <sokoloff.a@gmail.com>
|
||||||
|
#
|
||||||
|
# funtion lxqt_translate_desktop(_RESULT
|
||||||
|
# SOURCES <sources>
|
||||||
|
# [TRANSLATION_DIR] translation_directory
|
||||||
|
# )
|
||||||
|
# Output:
|
||||||
|
# _RESULT The generated .desktop (.desktop) files
|
||||||
|
#
|
||||||
|
# Input:
|
||||||
|
#
|
||||||
|
# SOURCES List of input desktop files (.destktop.in) to be translated
|
||||||
|
# (merged), relative to the CMakeList.txt.
|
||||||
|
#
|
||||||
|
# TRANSLATION_DIR Optional path to the directory with the .ts files,
|
||||||
|
# relative to the CMakeList.txt. Defaults to
|
||||||
|
# "translations".
|
||||||
|
#
|
||||||
|
#=============================================================================
|
||||||
|
|
||||||
|
function(lxqt_translate_desktop _RESULT)
|
||||||
|
# Parse arguments ***************************************
|
||||||
|
set(oneValueArgs TRANSLATION_DIR)
|
||||||
|
set(multiValueArgs SOURCES)
|
||||||
|
|
||||||
|
cmake_parse_arguments(_ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||||
|
|
||||||
|
# check for unknown arguments
|
||||||
|
set(_UNPARSED_ARGS ${_ARGS_UNPARSED_ARGUMENTS})
|
||||||
|
if (NOT ${_UNPARSED_ARGS} STREQUAL "")
|
||||||
|
MESSAGE(FATAL_ERROR
|
||||||
|
"Unknown arguments '${_UNPARSED_ARGS}'.\n"
|
||||||
|
"See lxqt_translate_desktop() 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}_<lang>${_fileExt}'\n"
|
||||||
|
"echo ''\n"
|
||||||
|
)
|
||||||
|
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
set(${_RESULT} ${__result} PARENT_SCOPE)
|
||||||
|
endfunction(lxqt_translate_desktop)
|
@ -0,0 +1,9 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=Screenshot
|
||||||
|
GenericName=Screenshot
|
||||||
|
Comment=Take a screenshot
|
||||||
|
Exec=lximage-qt --screenshot
|
||||||
|
Icon=camera-photo
|
||||||
|
Categories=Graphics;Utility;Core;Qt;
|
||||||
|
StartupNotify=true
|
@ -0,0 +1,11 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=LXImage
|
||||||
|
GenericName=Image Viewer
|
||||||
|
Comment=The LXQt image viewer
|
||||||
|
Icon=lximage-qt
|
||||||
|
Exec=lximage-qt
|
||||||
|
StartupNotify=true
|
||||||
|
Terminal=false
|
||||||
|
Categories=Graphics;Utility;Core;Qt;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;
|
After Width: | Height: | Size: 2.8 KiB |
@ -0,0 +1,4 @@
|
|||||||
|
[Project]
|
||||||
|
Name=lximage-qt
|
||||||
|
Manager=KDevCMakeManager
|
||||||
|
VersionControl=
|
@ -0,0 +1,93 @@
|
|||||||
|
# set visibility to hidden to hide symbols, unlesss they're exporeted manually in the code
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_NO_KEYWORDS -fno-exceptions")
|
||||||
|
|
||||||
|
include_directories(
|
||||||
|
${QTX_INCLUDE_DIRS}
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}
|
||||||
|
${GLIB_INCLUDE_DIRS}
|
||||||
|
${EXIF_INCLUDE_DIRS}
|
||||||
|
${LIBFM_QT_INCLUDE_DIRS}
|
||||||
|
${X11_INCLUDE_DIR}
|
||||||
|
${XFIXES_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
# For some unknown reasons these are required for build on FreeBSD
|
||||||
|
link_directories(
|
||||||
|
${QT_LIBRARY_DIR}
|
||||||
|
${GLIB_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
set(lximage-qt_SRCS
|
||||||
|
lximage-qt.cpp
|
||||||
|
mainwindow.cpp
|
||||||
|
preferencesdialog.cpp
|
||||||
|
application.cpp
|
||||||
|
imageview.cpp
|
||||||
|
modelfilter.cpp
|
||||||
|
job.cpp
|
||||||
|
loadimagejob.cpp
|
||||||
|
saveimagejob.cpp
|
||||||
|
screenshotdialog.cpp
|
||||||
|
settings.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
qt5_add_dbus_adaptor(lximage-qt_SRCS
|
||||||
|
org.lxde.LxImage.Application.xml
|
||||||
|
application.h
|
||||||
|
LxImage::Application
|
||||||
|
applicationadaptor
|
||||||
|
ApplicationAdaptor
|
||||||
|
)
|
||||||
|
|
||||||
|
set(lximage-qt_UIS
|
||||||
|
mainwindow.ui
|
||||||
|
preferencesdialog.ui
|
||||||
|
screenshotdialog.ui
|
||||||
|
)
|
||||||
|
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)
|
||||||
|
# prevent the generated files from being deleted during make clean
|
||||||
|
set_directory_properties(PROPERTIES CLEAN_NO_CUSTOM true)
|
||||||
|
|
||||||
|
# process desktop entry files
|
||||||
|
include(LXQtTranslateDesktop)
|
||||||
|
|
||||||
|
file(GLOB desktop_files_in ../data/*.desktop.in)
|
||||||
|
lxqt_translate_desktop(desktop_files SOURCES ${desktop_files_in})
|
||||||
|
install(FILES ${desktop_files} DESTINATION share/applications)
|
||||||
|
|
||||||
|
add_executable(lximage-qt
|
||||||
|
${lximage-qt_SRCS}
|
||||||
|
${lximage-qt_UI_H}
|
||||||
|
${desktop_files}
|
||||||
|
${QM_FILES}
|
||||||
|
)
|
||||||
|
|
||||||
|
add_definitions(
|
||||||
|
-DLXIMAGE_DATA_DIR="${CMAKE_INSTALL_PREFIX}/share/lximage-qt"
|
||||||
|
-DLIBFM_QT_API=Q_DECL_IMPORT # FIXME: This should be done in libfm-qt headers instead :-(
|
||||||
|
)
|
||||||
|
|
||||||
|
set(QT_LIBRARIES Qt5::Widgets Qt5::Core Qt5::DBus Qt5::PrintSupport Qt5::X11Extras)
|
||||||
|
|
||||||
|
target_link_libraries(lximage-qt
|
||||||
|
${QT_LIBRARIES}
|
||||||
|
${GLIB_LIBRARIES}
|
||||||
|
${EXIF_LIBRARIES}
|
||||||
|
${LIBFM_QT_LIBRARIES}
|
||||||
|
${X11_LIBRARIES}
|
||||||
|
${XFIXES_LIBRARIES}
|
||||||
|
)
|
||||||
|
|
||||||
|
install(TARGETS lximage-qt RUNTIME DESTINATION bin)
|
@ -0,0 +1,208 @@
|
|||||||
|
/*
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 2013 PCMan <email>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "application.h"
|
||||||
|
#include <QDBusConnection>
|
||||||
|
#include <QDBusInterface>
|
||||||
|
#include <QPixmapCache>
|
||||||
|
#include "applicationadaptor.h"
|
||||||
|
#include "screenshotdialog.h"
|
||||||
|
#include "preferencesdialog.h"
|
||||||
|
#include "mainwindow.h"
|
||||||
|
|
||||||
|
using namespace LxImage;
|
||||||
|
|
||||||
|
static const char* serviceName = "org.lxde.LxImage";
|
||||||
|
static const char* ifaceName = "org.lxde.LxImage.Application";
|
||||||
|
|
||||||
|
Application::Application(int& argc, char** argv):
|
||||||
|
QApplication(argc, argv),
|
||||||
|
windowCount_(0),
|
||||||
|
libFm() {
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Application::init(int argc, char** argv) {
|
||||||
|
// install the translations built-into Qt itself
|
||||||
|
qtTranslator.load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
|
||||||
|
installTranslator(&qtTranslator);
|
||||||
|
|
||||||
|
// install libfm-qt translator
|
||||||
|
installTranslator(libFm.translator());
|
||||||
|
|
||||||
|
// install our own tranlations
|
||||||
|
translator.load("lximage-qt_" + QLocale::system().name(), LXIMAGE_DATA_DIR "/translations");
|
||||||
|
installTranslator(&translator);
|
||||||
|
|
||||||
|
// initialize dbus
|
||||||
|
QDBusConnection dbus = QDBusConnection::sessionBus();
|
||||||
|
if(dbus.registerService(serviceName)) {
|
||||||
|
settings_.load(); // load settings
|
||||||
|
// we successfully registered the service
|
||||||
|
isPrimaryInstance = true;
|
||||||
|
setQuitOnLastWindowClosed(false); // do not quit even when there're no windows
|
||||||
|
|
||||||
|
new ApplicationAdaptor(this);
|
||||||
|
dbus.registerObject("/Application", this);
|
||||||
|
// connect(this, SIGNAL(aboutToQuit()), SLOT(onAboutToQuit()));
|
||||||
|
|
||||||
|
if(settings_.useFallbackIconTheme())
|
||||||
|
QIcon::setThemeName(settings_.fallbackIconTheme());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// an service of the same name is already registered.
|
||||||
|
// we're not the first instance
|
||||||
|
isPrimaryInstance = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
QPixmapCache::setCacheLimit(1024); // avoid pixmap caching.
|
||||||
|
|
||||||
|
if(!parseCommandLineArgs(argc, argv))
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Application::parseCommandLineArgs(int argc, char** argv) {
|
||||||
|
|
||||||
|
struct FakeTr {
|
||||||
|
FakeTr(int reserved = 20) {
|
||||||
|
strings.reserve(reserved);
|
||||||
|
}
|
||||||
|
|
||||||
|
const char* operator()(const char* str) {
|
||||||
|
QString translated = QApplication::translate(NULL, str);
|
||||||
|
strings.push_back(translated.toUtf8());
|
||||||
|
return strings.back().constData();
|
||||||
|
}
|
||||||
|
QVector<QByteArray> strings;
|
||||||
|
};
|
||||||
|
|
||||||
|
bool keepRunning = false;
|
||||||
|
// It's really a shame that the great Qt library does not come
|
||||||
|
// with any command line parser.
|
||||||
|
// After trying some Qt ways, I finally realized that glib is the best.
|
||||||
|
// Simple, efficient, effective, and does not use signal/slot!
|
||||||
|
// The only drawback is the translated string returned by tr() is
|
||||||
|
// a temporary one. We need to store them in a list to keep them alive. :-(
|
||||||
|
char** file_names = NULL;
|
||||||
|
gboolean screenshotTool = FALSE;
|
||||||
|
|
||||||
|
{ // this block is required to limit the scope of FakeTr object so it don't affect
|
||||||
|
// other normal QObject::tr() outside the block.
|
||||||
|
FakeTr tr; // a functor used to override QObject::tr().
|
||||||
|
// it convert the translated strings to UTF8 and add them to a list to
|
||||||
|
// keep them alive during the option parsing process.
|
||||||
|
GOptionEntry option_entries[] = {
|
||||||
|
{"screenshot", 0, 0, G_OPTION_ARG_NONE, &screenshotTool, tr("Take a screenshot"), NULL},
|
||||||
|
{G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &file_names, NULL, tr("[FILE1, FILE2,...]")},
|
||||||
|
{ NULL }
|
||||||
|
};
|
||||||
|
|
||||||
|
GOptionContext* context = g_option_context_new("");
|
||||||
|
g_option_context_add_main_entries(context, option_entries, NULL);
|
||||||
|
GError* error = NULL;
|
||||||
|
|
||||||
|
if(!g_option_context_parse(context, &argc, &argv, &error)) {
|
||||||
|
// show error and exit
|
||||||
|
g_fprintf(stderr, "%s\n\n", error->message);
|
||||||
|
g_error_free(error);
|
||||||
|
g_option_context_free(context);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
g_option_context_free(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
// handle files to open
|
||||||
|
QStringList paths;
|
||||||
|
if(file_names) {
|
||||||
|
char* cwd = g_get_current_dir();
|
||||||
|
for(char** filename = file_names; *filename; ++filename) {
|
||||||
|
// handle relative paths and remove unnecessary . & ..
|
||||||
|
char* canonicalName = fm_canonicalize_filename(*filename, cwd);
|
||||||
|
// convert from local encoding to QString (utf16).
|
||||||
|
QString path = QString::fromLocal8Bit(canonicalName);
|
||||||
|
g_free(canonicalName);
|
||||||
|
paths.push_back(path);
|
||||||
|
}
|
||||||
|
g_free(cwd);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isPrimaryInstance) {
|
||||||
|
settings_.load();
|
||||||
|
keepRunning = true;
|
||||||
|
|
||||||
|
if(screenshotTool) {
|
||||||
|
screenshot();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
newWindow(paths);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// we're not the primary instance.
|
||||||
|
// call the primary instance via dbus to do operations
|
||||||
|
QDBusConnection dbus = QDBusConnection::sessionBus();
|
||||||
|
QDBusInterface iface(serviceName, "/Application", ifaceName, dbus, this);
|
||||||
|
if(screenshotTool)
|
||||||
|
iface.call("screenshot");
|
||||||
|
else
|
||||||
|
iface.call("newWindow", paths);
|
||||||
|
}
|
||||||
|
// cleanup
|
||||||
|
g_strfreev(file_names);
|
||||||
|
return keepRunning;
|
||||||
|
}
|
||||||
|
|
||||||
|
MainWindow* Application::createWindow() {
|
||||||
|
LxImage::MainWindow* window;
|
||||||
|
window = new LxImage::MainWindow();
|
||||||
|
return window;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Application::newWindow(QStringList files) {
|
||||||
|
LxImage::MainWindow* window;
|
||||||
|
if(files.empty()) {
|
||||||
|
window = createWindow();
|
||||||
|
window->show();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Q_FOREACH(QString fileName, files) {
|
||||||
|
window = createWindow();
|
||||||
|
window->openImageFile(fileName);
|
||||||
|
window->show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Application::applySettings() {
|
||||||
|
Q_FOREACH(QWidget* window, topLevelWidgets()) {
|
||||||
|
if(window->inherits("LxImage::MainWindow"))
|
||||||
|
static_cast<MainWindow*>(window)->applySettings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Application::screenshot() {
|
||||||
|
ScreenshotDialog* dlg = new ScreenshotDialog();
|
||||||
|
dlg->show();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Application::editPreferences() {
|
||||||
|
PreferencesDialog* dlg = new PreferencesDialog();
|
||||||
|
dlg->show();
|
||||||
|
}
|
@ -0,0 +1,75 @@
|
|||||||
|
/*
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 2013 PCMan <email>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef LXIMAGE_APPLICATION_H
|
||||||
|
#define LXIMAGE_APPLICATION_H
|
||||||
|
|
||||||
|
#include <QApplication>
|
||||||
|
#include <libfm-qt/libfmqt.h>
|
||||||
|
#include "mainwindow.h"
|
||||||
|
#include "settings.h"
|
||||||
|
|
||||||
|
namespace LxImage {
|
||||||
|
|
||||||
|
class Application : public QApplication {
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
Application(int& argc, char** argv);
|
||||||
|
bool init(int argc, char** argv);
|
||||||
|
bool parseCommandLineArgs(int argc, char** argv);
|
||||||
|
|
||||||
|
void newWindow(QStringList files = QStringList());
|
||||||
|
MainWindow* createWindow();
|
||||||
|
|
||||||
|
void addWindow() { // call this when you create a new toplevel window
|
||||||
|
++windowCount_;
|
||||||
|
qDebug("add");
|
||||||
|
}
|
||||||
|
|
||||||
|
void removeWindow() { // call this when you destroy a toplevel window
|
||||||
|
qDebug("remove");
|
||||||
|
--windowCount_;
|
||||||
|
if(0 == windowCount_)
|
||||||
|
quit();
|
||||||
|
}
|
||||||
|
|
||||||
|
Settings& settings() {
|
||||||
|
return settings_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void applySettings();
|
||||||
|
|
||||||
|
public Q_SLOTS:
|
||||||
|
void editPreferences();
|
||||||
|
void screenshot();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Fm::LibFmQt libFm;
|
||||||
|
bool isPrimaryInstance;
|
||||||
|
QTranslator translator;
|
||||||
|
QTranslator qtTranslator;
|
||||||
|
Settings settings_;
|
||||||
|
int windowCount_;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // LXIMAGE_APPLICATION_H
|
@ -0,0 +1,258 @@
|
|||||||
|
/*
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 2013 <copyright holder> <email>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "imageview.h"
|
||||||
|
#include <QWheelEvent>
|
||||||
|
#include <QPaintEvent>
|
||||||
|
#include <QPainter>
|
||||||
|
#include <QTimer>
|
||||||
|
#include <QPolygon>
|
||||||
|
#include <QDebug>
|
||||||
|
#include <QStyle>
|
||||||
|
|
||||||
|
namespace LxImage {
|
||||||
|
|
||||||
|
ImageView::ImageView(QWidget* parent):
|
||||||
|
QGraphicsView(parent),
|
||||||
|
imageItem_(new QGraphicsRectItem()),
|
||||||
|
scene_(new QGraphicsScene(this)),
|
||||||
|
autoZoomFit_(false),
|
||||||
|
cacheTimer_(NULL),
|
||||||
|
scaleFactor_(1.0) {
|
||||||
|
|
||||||
|
setViewportMargins(0, 0, 0, 0);
|
||||||
|
setContentsMargins(0, 0, 0, 0);
|
||||||
|
setLineWidth(0);
|
||||||
|
|
||||||
|
setScene(scene_);
|
||||||
|
imageItem_->hide();
|
||||||
|
imageItem_->setPen(QPen(Qt::NoPen)); // remove the border
|
||||||
|
scene_->addItem(imageItem_);
|
||||||
|
}
|
||||||
|
|
||||||
|
ImageView::~ImageView() {
|
||||||
|
delete imageItem_;
|
||||||
|
if(cacheTimer_) {
|
||||||
|
cacheTimer_->stop();
|
||||||
|
delete cacheTimer_;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void ImageView::wheelEvent(QWheelEvent* event) {
|
||||||
|
int delta = event->delta();
|
||||||
|
// Ctrl key is pressed
|
||||||
|
if(event->modifiers() & Qt::ControlModifier) {
|
||||||
|
if(delta > 0) { // forward
|
||||||
|
zoomIn();
|
||||||
|
}
|
||||||
|
else { // backward
|
||||||
|
zoomOut();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// The default handler QGraphicsView::wheelEvent(event) tries to
|
||||||
|
// scroll the view, which is not what we need.
|
||||||
|
// Skip the default handler and use its parent QWidget's handler here.
|
||||||
|
QWidget::wheelEvent(event);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImageView::mouseDoubleClickEvent(QMouseEvent* event) {
|
||||||
|
// The default behaviour of QGraphicsView::mouseDoubleClickEvent() is
|
||||||
|
// not needed for us. We call its parent class instead so the event can be
|
||||||
|
// filtered by event filter installed on the view.
|
||||||
|
// QGraphicsView::mouseDoubleClickEvent(event);
|
||||||
|
QAbstractScrollArea::mouseDoubleClickEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImageView::resizeEvent(QResizeEvent* event) {
|
||||||
|
QGraphicsView::resizeEvent(event);
|
||||||
|
if(autoZoomFit_)
|
||||||
|
zoomFit();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImageView::zoomFit() {
|
||||||
|
if(!image_.isNull()) {
|
||||||
|
// if the image is smaller than our view, use its original size
|
||||||
|
// instead of scaling it up.
|
||||||
|
if(image_.width() <= width() && image_.height() <= height()) {
|
||||||
|
zoomOriginal();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fitInView(scene_->sceneRect(), Qt::KeepAspectRatio);
|
||||||
|
scaleFactor_ = transform().m11();
|
||||||
|
queueGenerateCache();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImageView::zoomIn() {
|
||||||
|
autoZoomFit_ = false;
|
||||||
|
if(!image_.isNull()) {
|
||||||
|
resetTransform();
|
||||||
|
scaleFactor_ *= 1.1;
|
||||||
|
scale(scaleFactor_, scaleFactor_);
|
||||||
|
queueGenerateCache();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImageView::zoomOut() {
|
||||||
|
autoZoomFit_ = false;
|
||||||
|
if(!image_.isNull()) {
|
||||||
|
resetTransform();
|
||||||
|
scaleFactor_ /= 1.1;
|
||||||
|
scale(scaleFactor_, scaleFactor_);
|
||||||
|
queueGenerateCache();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImageView::zoomOriginal() {
|
||||||
|
resetTransform();
|
||||||
|
scaleFactor_ = 1.0;
|
||||||
|
autoZoomFit_ = false;
|
||||||
|
queueGenerateCache();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImageView::setImage(QImage image) {
|
||||||
|
image_ = image;
|
||||||
|
if(image.isNull()) {
|
||||||
|
imageItem_->hide();
|
||||||
|
imageItem_->setBrush(QBrush());
|
||||||
|
scene_->setSceneRect(0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
imageItem_->setRect(0, 0, image_.width(), image_.height());
|
||||||
|
imageItem_->setBrush(image_);
|
||||||
|
imageItem_->show();
|
||||||
|
scene_->setSceneRect(0, 0, image_.width(), image_.height());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(autoZoomFit_)
|
||||||
|
zoomFit();
|
||||||
|
queueGenerateCache();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImageView::setScaleFactor(double factor) {
|
||||||
|
if(factor != scaleFactor_) {
|
||||||
|
scaleFactor_ = factor;
|
||||||
|
resetTransform();
|
||||||
|
scale(factor, factor);
|
||||||
|
queueGenerateCache();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImageView::paintEvent(QPaintEvent* event) {
|
||||||
|
// if the image is scaled and we have a high quality cached image
|
||||||
|
if(scaleFactor_ != 1.0 && !cachedPixmap_.isNull()) {
|
||||||
|
// rectangle of the whole image in viewport coordinate
|
||||||
|
QRect viewportImageRect = sceneToViewport(imageItem_->rect());
|
||||||
|
// the visible part of the image.
|
||||||
|
QRect desiredCachedRect = viewportToScene(viewportImageRect.intersected(viewport()->rect()));
|
||||||
|
// check if the cached area is what we need and if the cache is out of date
|
||||||
|
if(cachedSceneRect_ == desiredCachedRect) {
|
||||||
|
// rect of the image area that needs repaint, in viewport coordinate
|
||||||
|
QRect repaintImageRect = viewportImageRect.intersected(event->rect());
|
||||||
|
// see if the part asking for repaint is contained by our cache.
|
||||||
|
if(cachedRect_.contains(repaintImageRect)) {
|
||||||
|
QPainter painter(viewport());
|
||||||
|
painter.fillRect(event->rect(), backgroundBrush());
|
||||||
|
painter.drawPixmap(repaintImageRect, cachedPixmap_);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!image_.isNull()) { // we don't have a cache yet or it's out of date already, generate one
|
||||||
|
queueGenerateCache();
|
||||||
|
}
|
||||||
|
QGraphicsView::paintEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImageView::queueGenerateCache() {
|
||||||
|
if(!cachedPixmap_.isNull()) // clear the old pixmap if there's any
|
||||||
|
cachedPixmap_ = QPixmap();
|
||||||
|
|
||||||
|
// we don't need to cache the scaled image if its the same as the original image (scale:1.0)
|
||||||
|
if(scaleFactor_ == 1.0) {
|
||||||
|
if(cacheTimer_) {
|
||||||
|
cacheTimer_->stop();
|
||||||
|
delete cacheTimer_;
|
||||||
|
cacheTimer_ = NULL;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!cacheTimer_) {
|
||||||
|
cacheTimer_ = new QTimer();
|
||||||
|
cacheTimer_->setSingleShot(true);
|
||||||
|
connect(cacheTimer_, SIGNAL(timeout()), SLOT(generateCache()));
|
||||||
|
}
|
||||||
|
cacheTimer_->start(200); // restart the timer
|
||||||
|
}
|
||||||
|
|
||||||
|
// really generate the cache
|
||||||
|
void ImageView::generateCache() {
|
||||||
|
// disable the one-shot timer
|
||||||
|
cacheTimer_->deleteLater();
|
||||||
|
cacheTimer_ = NULL;
|
||||||
|
|
||||||
|
// generate a cache for "the visible part" of the scaled image
|
||||||
|
// rectangle of the whole image in viewport coordinate
|
||||||
|
QRect viewportImageRect = sceneToViewport(imageItem_->rect());
|
||||||
|
// rect of the image area that's visible in the viewport (in viewport coordinate)
|
||||||
|
cachedRect_ = viewportImageRect.intersected(viewport()->rect());
|
||||||
|
|
||||||
|
// convert to the coordinate of the original image
|
||||||
|
cachedSceneRect_ = viewportToScene(cachedRect_);
|
||||||
|
// create a sub image of the visible without real data copy
|
||||||
|
// Reference: http://stackoverflow.com/questions/12681554/dividing-qimage-to-smaller-pieces
|
||||||
|
QRect subRect = image_.rect().intersected(cachedSceneRect_);
|
||||||
|
const uchar* bits = image_.constBits();
|
||||||
|
unsigned int offset = subRect.x() * image_.depth() / 8 + subRect.y() * image_.bytesPerLine();
|
||||||
|
QImage subImage = QImage(bits + offset, subRect.width(), subRect.height(), image_.bytesPerLine(), image_.format());
|
||||||
|
// QImage scaled = subImage.scaled(subRect.width() * scaleFactor_, subRect.height() * scaleFactor_, Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
||||||
|
QImage scaled = subImage.scaled(cachedRect_.width(), cachedRect_.height(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
||||||
|
|
||||||
|
// 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).
|
||||||
|
QRect ImageView::viewportToScene(const QRect& rect) {
|
||||||
|
// QPolygon poly = mapToScene(imageItem_->rect());
|
||||||
|
QPoint topLeft = mapToScene(rect.topLeft()).toPoint();
|
||||||
|
QPoint bottomRight = mapToScene(rect.bottomRight()).toPoint();
|
||||||
|
return QRect(topLeft, bottomRight);
|
||||||
|
}
|
||||||
|
|
||||||
|
QRect ImageView::sceneToViewport(const QRectF& rect) {
|
||||||
|
QPoint topLeft = mapFromScene(rect.topLeft());
|
||||||
|
QPoint bottomRight = mapFromScene(rect.bottomRight());
|
||||||
|
return QRect(topLeft, bottomRight);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} // namespace LxImage
|
@ -0,0 +1,96 @@
|
|||||||
|
/*
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 2013 <copyright holder> <email>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef LXIMAGE_IMAGEVIEW_H
|
||||||
|
#define LXIMAGE_IMAGEVIEW_H
|
||||||
|
|
||||||
|
#include <QGraphicsView>
|
||||||
|
#include <QGraphicsScene>
|
||||||
|
#include <QGraphicsRectItem>
|
||||||
|
#include <QImage>
|
||||||
|
#include <QPixmap>
|
||||||
|
#include <QRect>
|
||||||
|
|
||||||
|
class QTimer;
|
||||||
|
|
||||||
|
namespace LxImage {
|
||||||
|
|
||||||
|
class ImageView : public QGraphicsView {
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
ImageView(QWidget* parent = 0);
|
||||||
|
virtual ~ImageView();
|
||||||
|
|
||||||
|
void setImage(QImage image);
|
||||||
|
|
||||||
|
QImage image() {
|
||||||
|
return image_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setScaleFactor(double scale);
|
||||||
|
|
||||||
|
double scaleFactor() {
|
||||||
|
return scaleFactor_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void zoomIn();
|
||||||
|
void zoomOut();
|
||||||
|
void zoomFit();
|
||||||
|
void zoomOriginal();
|
||||||
|
|
||||||
|
bool autoZoomFit() {
|
||||||
|
return autoZoomFit_;
|
||||||
|
}
|
||||||
|
|
||||||
|
// if set to true, zoomFit() is done automatically when the size of the window is changed.
|
||||||
|
void setAutoZoomFit(bool value) {
|
||||||
|
autoZoomFit_ = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void wheelEvent(QWheelEvent* event);
|
||||||
|
virtual void mouseDoubleClickEvent(QMouseEvent* event);
|
||||||
|
virtual void resizeEvent(QResizeEvent* event);
|
||||||
|
virtual void paintEvent(QPaintEvent* event);
|
||||||
|
|
||||||
|
private:
|
||||||
|
void queueGenerateCache();
|
||||||
|
QRect viewportToScene(const QRect& rect);
|
||||||
|
QRect sceneToViewport(const QRectF& rect);
|
||||||
|
|
||||||
|
private Q_SLOTS:
|
||||||
|
void generateCache();
|
||||||
|
|
||||||
|
private:
|
||||||
|
QGraphicsScene* scene_; // the topmost container of all graphic items
|
||||||
|
QGraphicsRectItem* imageItem_; // the rect item used to draw the image
|
||||||
|
QImage image_; // image to show
|
||||||
|
QPixmap cachedPixmap_; // caching of current viewport content (high quality scaled image)
|
||||||
|
QRect cachedRect_; // rectangle containing the cached region (in viewport coordinate)
|
||||||
|
QRect cachedSceneRect_; // rectangle containing the cached region (in scene/original image coordinate)
|
||||||
|
QTimer* cacheTimer_;
|
||||||
|
double scaleFactor_;
|
||||||
|
bool autoZoomFit_;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // LXIMAGE_IMAGEVIEW_H
|
@ -0,0 +1,64 @@
|
|||||||
|
/*
|
||||||
|
* <one line to give the library's name and an idea of what it does.>
|
||||||
|
* Copyright (C) 2014 <copyright holder> <email>
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "job.h"
|
||||||
|
|
||||||
|
namespace LxImage {
|
||||||
|
|
||||||
|
Job::Job():
|
||||||
|
cancellable_(g_cancellable_new()),
|
||||||
|
error_(NULL) {
|
||||||
|
}
|
||||||
|
|
||||||
|
Job::~Job() {
|
||||||
|
g_object_unref(cancellable_);
|
||||||
|
if(error_)
|
||||||
|
g_error_free(error_);
|
||||||
|
}
|
||||||
|
|
||||||
|
// This is called from the worker thread, not main thread
|
||||||
|
gboolean Job::_jobThread(GIOSchedulerJob* job, GCancellable* cancellable, Job* pThis) {
|
||||||
|
bool ret = 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);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Job::start() {
|
||||||
|
g_io_scheduler_push_job(GIOSchedulerJobFunc(_jobThread),
|
||||||
|
this, GDestroyNotify(_freeMe),
|
||||||
|
G_PRIORITY_DEFAULT, cancellable_);
|
||||||
|
}
|
||||||
|
|
||||||
|
// this function is called from main thread only
|
||||||
|
gboolean Job::_finish(Job* pThis) {
|
||||||
|
// only do processing if the job is not cancelled
|
||||||
|
if(!g_cancellable_is_cancelled(pThis->cancellable_)) {
|
||||||
|
pThis->finish();
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Job::_freeMe(Job* pThis) {
|
||||||
|
delete pThis;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,62 @@
|
|||||||
|
/*
|
||||||
|
* <one line to give the library's name and an idea of what it does.>
|
||||||
|
* Copyright (C) 2014 <copyright holder> <email>
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef LXIMAGE_JOB_H
|
||||||
|
#define LXIMAGE_JOB_H
|
||||||
|
|
||||||
|
#include <gio/gio.h>
|
||||||
|
|
||||||
|
namespace LxImage {
|
||||||
|
|
||||||
|
class Job {
|
||||||
|
public:
|
||||||
|
Job();
|
||||||
|
virtual ~Job();
|
||||||
|
|
||||||
|
void cancel() {
|
||||||
|
g_cancellable_cancel(cancellable_);
|
||||||
|
}
|
||||||
|
void start();
|
||||||
|
|
||||||
|
GError* error() const {
|
||||||
|
return error_;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool isCancelled() const {
|
||||||
|
return bool(g_cancellable_is_cancelled(cancellable_));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual bool run() = 0;
|
||||||
|
virtual void finish() = 0;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
GCancellable* cancellable_;
|
||||||
|
GError* error_;
|
||||||
|
|
||||||
|
private:
|
||||||
|
static gboolean _jobThread(GIOSchedulerJob* job, GCancellable* cancellable, Job* pThis);
|
||||||
|
static gboolean _finish(Job* pThis);
|
||||||
|
static void _freeMe(Job* pThis);
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // LXIMAGE_JOB_H
|
@ -0,0 +1,124 @@
|
|||||||
|
/*
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 2013 PCMan <email>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "loadimagejob.h"
|
||||||
|
#include "mainwindow.h"
|
||||||
|
#include <QImageReader>
|
||||||
|
#include <QBuffer>
|
||||||
|
#include <qvarlengtharray.h>
|
||||||
|
#include <libexif/exif-loader.h>
|
||||||
|
|
||||||
|
using namespace LxImage;
|
||||||
|
|
||||||
|
LoadImageJob::LoadImageJob(MainWindow* window, FmPath* filePath):
|
||||||
|
Job(),
|
||||||
|
path_(fm_path_ref(filePath)),
|
||||||
|
mainWindow_(window) {
|
||||||
|
}
|
||||||
|
|
||||||
|
LoadImageJob::~LoadImageJob() {
|
||||||
|
fm_path_unref(path_);
|
||||||
|
}
|
||||||
|
|
||||||
|
// This is called from the worker thread, not main thread
|
||||||
|
bool LoadImageJob::run() {
|
||||||
|
GFile* gfile = fm_path_to_gfile(path_);
|
||||||
|
GFileInputStream* fileStream = g_file_read(gfile, cancellable_, &error_);
|
||||||
|
g_object_unref(gfile);
|
||||||
|
|
||||||
|
if(fileStream) { // if the file stream is successfually opened
|
||||||
|
QBuffer imageBuffer;
|
||||||
|
GInputStream* inputStream = G_INPUT_STREAM(fileStream);
|
||||||
|
while(!g_cancellable_is_cancelled(cancellable_)) {
|
||||||
|
char buffer[4096];
|
||||||
|
gssize readSize = g_input_stream_read(inputStream,
|
||||||
|
buffer, 4096,
|
||||||
|
cancellable_, &error_);
|
||||||
|
if(readSize == -1 || readSize == 0) // error or EOF
|
||||||
|
break;
|
||||||
|
// append the bytes read to the image buffer
|
||||||
|
imageBuffer.buffer().append(buffer, readSize);
|
||||||
|
}
|
||||||
|
g_input_stream_close(inputStream, NULL, NULL);
|
||||||
|
|
||||||
|
// FIXME: maybe it's a better idea to implement a GInputStream based QIODevice.
|
||||||
|
if(!error_ && !g_cancellable_is_cancelled(cancellable_)) { // load the image from buffer if there are no errors
|
||||||
|
image_ = QImage::fromData(imageBuffer.buffer());
|
||||||
|
|
||||||
|
if(!image_.isNull()) { // if the image is loaded correctly
|
||||||
|
// check if this file is a jpeg file
|
||||||
|
// FIXME: can we use FmFileInfo instead if it's available?
|
||||||
|
const char* basename = fm_path_get_basename(path_);
|
||||||
|
char* mime_type = g_content_type_guess(basename, NULL, 0, NULL);
|
||||||
|
if(mime_type && strcmp(mime_type, "image/jpeg") == 0) { // this is a jpeg file
|
||||||
|
// 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());
|
||||||
|
ExifData *exif_data = exif_loader_get_data(exif_loader);
|
||||||
|
exif_loader_unref(exif_loader);
|
||||||
|
if(exif_data) {
|
||||||
|
/* reference for EXIF orientation tag:
|
||||||
|
* http://www.impulseadventure.com/photo/exif-orientation.html */
|
||||||
|
ExifEntry* orient_ent = exif_data_get_entry(exif_data, EXIF_TAG_ORIENTATION);
|
||||||
|
if(orient_ent) { /* orientation flag found in EXIF */
|
||||||
|
gushort orient;
|
||||||
|
ExifByteOrder bo = exif_data_get_byte_order(exif_data);
|
||||||
|
/* bo == EXIF_BYTE_ORDER_INTEL ; */
|
||||||
|
orient = exif_get_short (orient_ent->data, bo);
|
||||||
|
qreal rotate_degrees = 0.0;
|
||||||
|
switch(orient) {
|
||||||
|
case 1: /* no rotation */
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
rotate_degrees = 270.0;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
rotate_degrees = 180.0;
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
rotate_degrees = 90.0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// rotate the image according to EXIF orientation tag
|
||||||
|
if(rotate_degrees != 0.0) {
|
||||||
|
QTransform transform;
|
||||||
|
transform.rotate(rotate_degrees);
|
||||||
|
image_ = image_.transformed(transform, Qt::SmoothTransformation);
|
||||||
|
}
|
||||||
|
// TODO: handle other EXIF tags as well
|
||||||
|
}
|
||||||
|
exif_data_unref(exif_data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
g_free(mime_type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// this function is called from main thread only
|
||||||
|
void LoadImageJob::finish() {
|
||||||
|
// only do processing if the job is not cancelled
|
||||||
|
if(!g_cancellable_is_cancelled(cancellable_)) {
|
||||||
|
mainWindow_->onImageLoaded(this);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,60 @@
|
|||||||
|
/*
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 2013 PCMan <email>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef LXIMAGE_LOADIMAGEJOB_H
|
||||||
|
#define LXIMAGE_LOADIMAGEJOB_H
|
||||||
|
|
||||||
|
#include <gio/gio.h>
|
||||||
|
#include <libfm/fm.h>
|
||||||
|
#include <QImage>
|
||||||
|
#include "job.h"
|
||||||
|
|
||||||
|
namespace LxImage {
|
||||||
|
|
||||||
|
class MainWindow;
|
||||||
|
|
||||||
|
class LoadImageJob : public Job {
|
||||||
|
|
||||||
|
public:
|
||||||
|
LoadImageJob(MainWindow* window, FmPath* filePath);
|
||||||
|
|
||||||
|
QImage image() const {
|
||||||
|
return image_;
|
||||||
|
}
|
||||||
|
|
||||||
|
FmPath* filePath() const {
|
||||||
|
return path_;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
~LoadImageJob(); // prevent direct deletion
|
||||||
|
|
||||||
|
virtual bool run();
|
||||||
|
virtual void finish();
|
||||||
|
|
||||||
|
public:
|
||||||
|
MainWindow* mainWindow_;
|
||||||
|
FmPath* path_;
|
||||||
|
QImage image_;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // LXIMAGE_LOADIMAGEJOB_H
|
@ -0,0 +1,10 @@
|
|||||||
|
#include <QApplication>
|
||||||
|
#include <QIcon>
|
||||||
|
#include "application.h"
|
||||||
|
|
||||||
|
int main(int argc, char** argv) {
|
||||||
|
LxImage::Application app(argc, argv);
|
||||||
|
if(!app.init(argc, argv))
|
||||||
|
return 0;
|
||||||
|
return app.exec();
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
#ifndef lximage_qt_H
|
||||||
|
#define lximage_qt_H
|
||||||
|
|
||||||
|
namespace LxImage {
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // lximage_qt_H
|
@ -0,0 +1,801 @@
|
|||||||
|
/*
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 2013 - 2014 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "mainwindow.h"
|
||||||
|
#include <QMessageBox>
|
||||||
|
#include <QFileDialog>
|
||||||
|
#include <QImage>
|
||||||
|
#include <QImageReader>
|
||||||
|
#include <QImageWriter>
|
||||||
|
#include <QClipboard>
|
||||||
|
#include <QPainter>
|
||||||
|
#include <QPrintDialog>
|
||||||
|
#include <QPrinter>
|
||||||
|
#include <QDebug>
|
||||||
|
#include <QWheelEvent>
|
||||||
|
#include <QMouseEvent>
|
||||||
|
#include <QTimer>
|
||||||
|
#include <QShortcut>
|
||||||
|
#include <QDockWidget>
|
||||||
|
#include <QScrollBar>
|
||||||
|
#include "application.h"
|
||||||
|
#include <libfm-qt/path.h>
|
||||||
|
#include <libfm-qt/folderview.h>
|
||||||
|
#include <libfm-qt/filepropsdialog.h>
|
||||||
|
#include <libfm-qt/fileoperation.h>
|
||||||
|
|
||||||
|
using namespace LxImage;
|
||||||
|
|
||||||
|
MainWindow::MainWindow():
|
||||||
|
QMainWindow(),
|
||||||
|
currentFile_(NULL),
|
||||||
|
slideShowTimer_(NULL),
|
||||||
|
// currentFileInfo_(NULL),
|
||||||
|
loadJob_(NULL),
|
||||||
|
saveJob_(NULL),
|
||||||
|
folder_(NULL),
|
||||||
|
folderPath_(NULL),
|
||||||
|
folderModel_(new Fm::FolderModel()),
|
||||||
|
proxyModel_(new Fm::ProxyFolderModel()),
|
||||||
|
modelFilter_(new ModelFilter()),
|
||||||
|
imageModified_(false),
|
||||||
|
contextMenu_(new QMenu(this)),
|
||||||
|
thumbnailsDock_(NULL),
|
||||||
|
thumbnailsView_(NULL),
|
||||||
|
image_() {
|
||||||
|
|
||||||
|
setAttribute(Qt::WA_DeleteOnClose); // FIXME: check if current image is saved before close
|
||||||
|
|
||||||
|
Application* app = static_cast<Application*>(qApp);
|
||||||
|
app->addWindow();
|
||||||
|
|
||||||
|
ui.setupUi(this);
|
||||||
|
connect(ui.actionScreenshot, SIGNAL(triggered(bool)), app, SLOT(screenshot()));
|
||||||
|
connect(ui.actionPreferences, SIGNAL(triggered(bool)), app ,SLOT(editPreferences()));
|
||||||
|
|
||||||
|
proxyModel_->addFilter(modelFilter_);
|
||||||
|
proxyModel_->sort(Fm::FolderModel::ColumnFileName, Qt::AscendingOrder);
|
||||||
|
proxyModel_->setSourceModel(folderModel_);
|
||||||
|
|
||||||
|
// build context menu
|
||||||
|
ui.view->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||||
|
connect(ui.view, SIGNAL(customContextMenuRequested(QPoint)), SLOT(onContextMenu(QPoint)));
|
||||||
|
// install an event filter on the image view
|
||||||
|
ui.view->installEventFilter(this);
|
||||||
|
ui.view->setBackgroundBrush(QBrush(app->settings().bgColor()));
|
||||||
|
|
||||||
|
if(app->settings().showThumbnails())
|
||||||
|
setShowThumbnails(true);
|
||||||
|
|
||||||
|
contextMenu_->addAction(ui.actionPrevious);
|
||||||
|
contextMenu_->addAction(ui.actionNext);
|
||||||
|
contextMenu_->addSeparator();
|
||||||
|
contextMenu_->addAction(ui.actionZoomOut);
|
||||||
|
contextMenu_->addAction(ui.actionZoomIn);
|
||||||
|
contextMenu_->addAction(ui.actionOriginalSize);
|
||||||
|
contextMenu_->addAction(ui.actionZoomFit);
|
||||||
|
contextMenu_->addSeparator();
|
||||||
|
contextMenu_->addAction(ui.actionSlideShow);
|
||||||
|
contextMenu_->addAction(ui.actionFullScreen);
|
||||||
|
contextMenu_->addSeparator();
|
||||||
|
contextMenu_->addAction(ui.actionRotateClockwise);
|
||||||
|
contextMenu_->addAction(ui.actionRotateCounterclockwise);
|
||||||
|
contextMenu_->addAction(ui.actionFlipHorizontal);
|
||||||
|
contextMenu_->addAction(ui.actionFlipVertical);
|
||||||
|
contextMenu_->addAction(ui.actionFlipVertical);
|
||||||
|
|
||||||
|
// create shortcuts
|
||||||
|
QShortcut* shortcut = new QShortcut(Qt::Key_Left, this);
|
||||||
|
connect(shortcut, SIGNAL(activated()), SLOT(on_actionPrevious_triggered()));
|
||||||
|
shortcut = new QShortcut(Qt::Key_Right, this);
|
||||||
|
connect(shortcut, SIGNAL(activated()), SLOT(on_actionNext_triggered()));
|
||||||
|
shortcut = new QShortcut(Qt::Key_Escape, this);
|
||||||
|
connect(shortcut, SIGNAL(activated()), SLOT(onExitFullscreen()));
|
||||||
|
}
|
||||||
|
|
||||||
|
MainWindow::~MainWindow() {
|
||||||
|
if(slideShowTimer_)
|
||||||
|
delete slideShowTimer_;
|
||||||
|
if(thumbnailsView_)
|
||||||
|
delete thumbnailsView_;
|
||||||
|
if(thumbnailsDock_)
|
||||||
|
delete thumbnailsDock_;
|
||||||
|
|
||||||
|
if(loadJob_) {
|
||||||
|
loadJob_->cancel();
|
||||||
|
// we don't need to do delete here. It will be done automatically
|
||||||
|
}
|
||||||
|
if(currentFile_)
|
||||||
|
fm_path_unref(currentFile_);
|
||||||
|
//if(currentFileInfo_)
|
||||||
|
// fm_file_info_unref(currentFileInfo_);
|
||||||
|
if(folder_) {
|
||||||
|
g_signal_handlers_disconnect_by_func(folder_, gpointer(_onFolderLoaded), this);
|
||||||
|
g_object_unref(folder_);
|
||||||
|
}
|
||||||
|
if(folderPath_)
|
||||||
|
fm_path_unref(folderPath_);
|
||||||
|
delete folderModel_;
|
||||||
|
delete proxyModel_;
|
||||||
|
delete modelFilter_;
|
||||||
|
|
||||||
|
Application* app = static_cast<Application*>(qApp);
|
||||||
|
app->removeWindow();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionAbout_triggered() {
|
||||||
|
QMessageBox::about(this, tr("About"),
|
||||||
|
tr("LXImage - a simple and fast image viewer\n\n"
|
||||||
|
"Copyright (C) 2013\n"
|
||||||
|
"LXDE Project: http://lxde.org/\n\n"
|
||||||
|
"Authors:\n"
|
||||||
|
"Hong Jen Yee (PCMan) <pcman.tw@gmail.com>"));
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionOriginalSize_triggered() {
|
||||||
|
ui.view->setAutoZoomFit(false);
|
||||||
|
ui.view->zoomOriginal();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionZoomFit_triggered() {
|
||||||
|
ui.view->setAutoZoomFit(true);
|
||||||
|
ui.view->zoomFit();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionZoomIn_triggered() {
|
||||||
|
ui.view->setAutoZoomFit(false);
|
||||||
|
ui.view->zoomIn();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionZoomOut_triggered() {
|
||||||
|
ui.view->setAutoZoomFit(false);
|
||||||
|
ui.view->zoomOut();
|
||||||
|
}
|
||||||
|
|
||||||
|
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()) {
|
||||||
|
currentIndex_ = indexFromPath(currentFile_);
|
||||||
|
if(thumbnailsView_) { // showing thumbnails
|
||||||
|
// select current file in the thumbnails view
|
||||||
|
thumbnailsView_->childView()->setCurrentIndex(currentIndex_);
|
||||||
|
thumbnailsView_->childView()->scrollTo(currentIndex_, QAbstractItemView::EnsureVisible);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::openImageFile(QString fileName) {
|
||||||
|
FmPath* path = fm_path_new_for_str(qPrintable(fileName));
|
||||||
|
if(currentFile_ && fm_path_equal(currentFile_, path)) {
|
||||||
|
// the same file! do not load it again
|
||||||
|
fm_path_unref(path);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// load the image file asynchronously
|
||||||
|
loadImage(path);
|
||||||
|
loadFolder(fm_path_get_parent(path));
|
||||||
|
fm_path_unref(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
// paste the specified image into the current view,
|
||||||
|
// reset the window, remove loaded folders, and
|
||||||
|
// invalidate current file name.
|
||||||
|
void MainWindow::pasteImage(QImage newImage) {
|
||||||
|
// cancel loading of current image
|
||||||
|
if(loadJob_) {
|
||||||
|
loadJob_->cancel(); // the job object will be freed automatically later
|
||||||
|
loadJob_ = NULL;
|
||||||
|
}
|
||||||
|
setModified(true);
|
||||||
|
|
||||||
|
currentIndex_ = QModelIndex(); // invaludate current index since we don't have a folder model now
|
||||||
|
if(currentFile_)
|
||||||
|
fm_path_unref(currentFile_);
|
||||||
|
currentFile_ = NULL;
|
||||||
|
|
||||||
|
image_ = newImage;
|
||||||
|
ui.view->setImage(image_);
|
||||||
|
ui.view->zoomOriginal();
|
||||||
|
|
||||||
|
updateUI();
|
||||||
|
}
|
||||||
|
|
||||||
|
// popup a file dialog and retrieve the selected image file name
|
||||||
|
QString MainWindow::openFileName() {
|
||||||
|
QString filterStr;
|
||||||
|
QList<QByteArray> formats = QImageReader::supportedImageFormats();
|
||||||
|
QList<QByteArray>::iterator it = formats.begin();
|
||||||
|
for(;;) {
|
||||||
|
filterStr += "*.";
|
||||||
|
filterStr += (*it).toLower();
|
||||||
|
++it;
|
||||||
|
if(it != formats.end())
|
||||||
|
filterStr += ' ';
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString fileName = QFileDialog::getOpenFileName(
|
||||||
|
this, tr("Open File"), QString(),
|
||||||
|
tr("Image files (%1)").arg(filterStr));
|
||||||
|
return fileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
// popup a file dialog and retrieve the selected image file name
|
||||||
|
QString MainWindow::saveFileName(QString defaultName) {
|
||||||
|
QString filterStr;
|
||||||
|
QList<QByteArray> formats = QImageWriter::supportedImageFormats();
|
||||||
|
QList<QByteArray>::iterator it = formats.begin();
|
||||||
|
for(;;) {
|
||||||
|
filterStr += "*.";
|
||||||
|
filterStr += (*it).toLower();
|
||||||
|
++it;
|
||||||
|
if(it != formats.end())
|
||||||
|
filterStr += ' ';
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// FIXME: should we generate better filter strings? one format per item?
|
||||||
|
|
||||||
|
QString fileName = QFileDialog::getSaveFileName(
|
||||||
|
this, tr("Save File"), defaultName, tr("Image files (%1)").arg(filterStr));
|
||||||
|
|
||||||
|
// use png format by default if the extension is not set
|
||||||
|
if(!fileName.isEmpty() && fileName.indexOf('.') == -1)
|
||||||
|
fileName += ".png";
|
||||||
|
return fileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionOpenFile_triggered() {
|
||||||
|
QString fileName = openFileName();
|
||||||
|
if(!fileName.isEmpty()) {
|
||||||
|
openImageFile(fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionNewWindow_triggered() {
|
||||||
|
MainWindow* window = new MainWindow();
|
||||||
|
window->show();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionSave_triggered() {
|
||||||
|
if(saveJob_) // if we're currently saving another file
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(!image_.isNull()) {
|
||||||
|
if(currentFile_)
|
||||||
|
saveImage(currentFile_);
|
||||||
|
else
|
||||||
|
on_actionSaveAs_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());
|
||||||
|
if(!fileName.isEmpty()) {
|
||||||
|
FmPath* path = fm_path_new_for_str(qPrintable(fileName));
|
||||||
|
// save the image file asynchronously
|
||||||
|
saveImage(path);
|
||||||
|
|
||||||
|
if(!currentFile_) { // if we haven't load any file yet
|
||||||
|
currentFile_ = path;
|
||||||
|
loadFolder(fm_path_get_parent(path));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
fm_path_unref(path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionDelete_triggered() {
|
||||||
|
// delete the current file
|
||||||
|
if(currentFile_) {
|
||||||
|
FmPathList* paths = fm_path_list_new();
|
||||||
|
fm_path_list_push_tail(paths, currentFile_);
|
||||||
|
Fm::FileOperation::deleteFiles(paths);
|
||||||
|
fm_path_list_unref(paths);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionFileProperties_triggered() {
|
||||||
|
if(currentIndex_.isValid()) {
|
||||||
|
FmFileInfo* file = proxyModel_->fileInfoFromIndex(currentIndex_);
|
||||||
|
// it's better to use an async job to query the file info since it's
|
||||||
|
// possible that loading of the folder is not finished and the file info is
|
||||||
|
// not available yet, but it's overkill for a rarely used function.
|
||||||
|
if(file)
|
||||||
|
Fm::FilePropsDialog::showForFile(file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionClose_triggered() {
|
||||||
|
deleteLater();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionNext_triggered() {
|
||||||
|
if(proxyModel_->rowCount() <= 1)
|
||||||
|
return;
|
||||||
|
if(currentIndex_.isValid()) {
|
||||||
|
QModelIndex index;
|
||||||
|
if(currentIndex_.row() < proxyModel_->rowCount() - 1)
|
||||||
|
index = proxyModel_->index(currentIndex_.row() + 1, 0);
|
||||||
|
else
|
||||||
|
index = proxyModel_->index(0, 0);
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionPrevious_triggered() {
|
||||||
|
if(proxyModel_->rowCount() <= 1)
|
||||||
|
return;
|
||||||
|
if(currentIndex_.isValid()) {
|
||||||
|
QModelIndex index;
|
||||||
|
qDebug("current row: %d", currentIndex_.row());
|
||||||
|
if(currentIndex_.row() > 0)
|
||||||
|
index = proxyModel_->index(currentIndex_.row() - 1, 0);
|
||||||
|
else
|
||||||
|
index = proxyModel_->index(proxyModel_->rowCount() - 1, 0);
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionFirst_triggered() {
|
||||||
|
QModelIndex index = proxyModel_->index(0, 0);
|
||||||
|
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));
|
||||||
|
loadImage(path, index);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionLast_triggered() {
|
||||||
|
QModelIndex index = proxyModel_->index(proxyModel_->rowCount() - 1, 0);
|
||||||
|
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));
|
||||||
|
loadImage(path, index);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::loadFolder(FmPath* newFolderPath) {
|
||||||
|
if(folder_) { // an folder is already loaded
|
||||||
|
if(fm_path_equal(newFolderPath, folderPath_)) // same folder, ignore
|
||||||
|
return;
|
||||||
|
// free current folder
|
||||||
|
g_signal_handlers_disconnect_by_func(folder_, gpointer(_onFolderLoaded), this);
|
||||||
|
g_object_unref(folder_);
|
||||||
|
fm_path_unref(folderPath_);
|
||||||
|
}
|
||||||
|
|
||||||
|
folderPath_ = fm_path_ref(newFolderPath);
|
||||||
|
folder_ = fm_folder_from_path(newFolderPath);
|
||||||
|
g_signal_connect(folder_, "finish-loading", G_CALLBACK(_onFolderLoaded), this);
|
||||||
|
|
||||||
|
folderModel_->setFolder(folder_);
|
||||||
|
currentIndex_ = QModelIndex(); // set current index to invalid
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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
|
||||||
|
|
||||||
|
image_ = job->image();
|
||||||
|
ui.view->setAutoZoomFit(true);
|
||||||
|
ui.view->setImage(image_);
|
||||||
|
|
||||||
|
if(!currentIndex_.isValid())
|
||||||
|
currentIndex_ = indexFromPath(currentFile_);
|
||||||
|
|
||||||
|
updateUI();
|
||||||
|
|
||||||
|
if(job->error()) {
|
||||||
|
// if there are errors
|
||||||
|
// TODO: show a info bar?
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::onImageSaved(SaveImageJob* job) {
|
||||||
|
if(!job->error()) {
|
||||||
|
setModified(false);
|
||||||
|
}
|
||||||
|
saveJob_ = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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
|
||||||
|
QWheelEvent* wheelEvent = static_cast<QWheelEvent*>(event);
|
||||||
|
if(wheelEvent->modifiers() == 0) {
|
||||||
|
int delta = wheelEvent->delta();
|
||||||
|
if(delta < 0)
|
||||||
|
on_actionNext_triggered(); // next image
|
||||||
|
else
|
||||||
|
on_actionPrevious_triggered(); // previous image
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case QEvent::MouseButtonDblClick: {
|
||||||
|
QMouseEvent* mouseEvent = static_cast<QMouseEvent*>(event);
|
||||||
|
if(mouseEvent->button() == Qt::LeftButton)
|
||||||
|
ui.actionFullScreen->trigger();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(thumbnailsView_ && watched == thumbnailsView_->childView()) {
|
||||||
|
// scroll the thumbnail view with mouse wheel
|
||||||
|
switch(event->type()) {
|
||||||
|
case QEvent::Wheel: { // mouse wheel event
|
||||||
|
QWheelEvent* wheelEvent = static_cast<QWheelEvent*>(event);
|
||||||
|
if(wheelEvent->modifiers() == 0) {
|
||||||
|
int delta = wheelEvent->delta();
|
||||||
|
QScrollBar* hscroll = thumbnailsView_->childView()->horizontalScrollBar();
|
||||||
|
if(hscroll)
|
||||||
|
hscroll->setValue(hscroll->value() - delta);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return QObject::eventFilter(watched, event);
|
||||||
|
}
|
||||||
|
|
||||||
|
QModelIndex MainWindow::indexFromPath(FmPath* filePath) {
|
||||||
|
// if the folder is already loaded, figure out our index
|
||||||
|
// otherwise, it will be done again in onFolderLoaded() when the folder is fully loaded.
|
||||||
|
if(folder_ && fm_folder_is_loaded(folder_)) {
|
||||||
|
QModelIndex index;
|
||||||
|
int count = proxyModel_->rowCount();
|
||||||
|
for(int row = 0; row < count; ++row) {
|
||||||
|
index = proxyModel_->index(row, 0);
|
||||||
|
FmFileInfo* info = proxyModel_->fileInfoFromIndex(index);
|
||||||
|
if(info && fm_path_equal(filePath, fm_file_info_get_path(info))) {
|
||||||
|
return index;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return QModelIndex();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MainWindow::updateUI() {
|
||||||
|
if(currentIndex_.isValid()) {
|
||||||
|
if(thumbnailsView_) { // showing thumbnails
|
||||||
|
// select current file in the thumbnails view
|
||||||
|
thumbnailsView_->childView()->setCurrentIndex(currentIndex_);
|
||||||
|
thumbnailsView_->childView()->scrollTo(currentIndex_, QAbstractItemView::EnsureVisible);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QString title;
|
||||||
|
if(currentFile_) {
|
||||||
|
char* dispName = fm_path_display_basename(currentFile_);
|
||||||
|
if(loadJob_) { // if loading is in progress
|
||||||
|
title = tr("%1 (Loading...) - Image Viewer")
|
||||||
|
.arg(QString::fromUtf8(dispName));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(image_.isNull()) {
|
||||||
|
title = tr("%1 (Failed to Load) - Image Viewer")
|
||||||
|
.arg(QString::fromUtf8(dispName));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
title = tr("%1 (%2x%3) - Image Viewer")
|
||||||
|
.arg(QString::fromUtf8(dispName))
|
||||||
|
.arg(image_.width())
|
||||||
|
.arg(image_.height());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
g_free(dispName);
|
||||||
|
// TODO: update status bar, show current index in the folder
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
title = tr("Image Viewer");
|
||||||
|
}
|
||||||
|
setWindowTitle(title);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Load the specified image file asynchronously in a worker thread.
|
||||||
|
// When the loading is finished, onImageLoaded() will be called.
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
if(imageModified_) {
|
||||||
|
// TODO: ask the user to save the modified image?
|
||||||
|
// this should be made optional
|
||||||
|
setModified(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
currentIndex_ = index;
|
||||||
|
if(currentFile_)
|
||||||
|
fm_path_unref(currentFile_);
|
||||||
|
currentFile_ = fm_path_ref(filePath);
|
||||||
|
// clear current image, but do not update the view now to prevent flickers
|
||||||
|
image_ = QImage();
|
||||||
|
|
||||||
|
// start a new gio job to load the specified image
|
||||||
|
loadJob_ = new LoadImageJob(this, filePath);
|
||||||
|
loadJob_->start();
|
||||||
|
|
||||||
|
updateUI();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::saveImage(FmPath* filePath) {
|
||||||
|
if(saveJob_) // do not launch a new job if the current one is still in progress
|
||||||
|
return;
|
||||||
|
// start a new gio job to save current image to the specified path
|
||||||
|
saveJob_ = new SaveImageJob(this, filePath);
|
||||||
|
saveJob_->start();
|
||||||
|
// FIXME: add a cancel button to the UI? update status bar?
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionRotateClockwise_triggered() {
|
||||||
|
if(!image_.isNull()) {
|
||||||
|
QTransform transform;
|
||||||
|
transform.rotate(90.0);
|
||||||
|
image_ = image_.transformed(transform, Qt::SmoothTransformation);
|
||||||
|
ui.view->setImage(image_);
|
||||||
|
setModified(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionRotateCounterclockwise_triggered() {
|
||||||
|
if(!image_.isNull()) {
|
||||||
|
QTransform transform;
|
||||||
|
transform.rotate(-90.0);
|
||||||
|
image_ = image_.transformed(transform, Qt::SmoothTransformation);
|
||||||
|
ui.view->setImage(image_);
|
||||||
|
setModified(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionCopy_triggered() {
|
||||||
|
QClipboard *clipboard = QApplication::clipboard();
|
||||||
|
QImage copiedImage = image_;
|
||||||
|
// FIXME: should we copy the currently scaled result instead of the original image?
|
||||||
|
/*
|
||||||
|
double factor = ui.view->scaleFactor();
|
||||||
|
if(factor == 1.0)
|
||||||
|
copiedImage = image_;
|
||||||
|
else
|
||||||
|
copiedImage = image_.scaled();
|
||||||
|
*/
|
||||||
|
clipboard->setImage(copiedImage);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionPaste_triggered() {
|
||||||
|
QClipboard *clipboard = QApplication::clipboard();
|
||||||
|
QImage image = clipboard->image();
|
||||||
|
if(!image.isNull()) {
|
||||||
|
pasteImage(image);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionFlipVertical_triggered() {
|
||||||
|
if(!image_.isNull()) {
|
||||||
|
image_ = image_.mirrored(false, true);
|
||||||
|
ui.view->setImage(image_);
|
||||||
|
setModified(true);
|
||||||
|
}
|
||||||
|
setModified(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionFlipHorizontal_triggered() {
|
||||||
|
if(!image_.isNull()) {
|
||||||
|
image_ = image_.mirrored(true, false);
|
||||||
|
ui.view->setImage(image_);
|
||||||
|
setModified(true);
|
||||||
|
}
|
||||||
|
setModified(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::setModified(bool modified) {
|
||||||
|
imageModified_ = modified;
|
||||||
|
updateUI(); // TODO: update title bar to reflect the state change
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::applySettings() {
|
||||||
|
Application* app = static_cast<Application*>(qApp);
|
||||||
|
Settings& settings = app->settings();
|
||||||
|
if(isFullScreen())
|
||||||
|
ui.view->setBackgroundBrush(QBrush(settings.fullScreenBgColor()));
|
||||||
|
else
|
||||||
|
ui.view->setBackgroundBrush(QBrush(settings.bgColor()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionPrint_triggered() {
|
||||||
|
// QPrinter printer(QPrinter::HighResolution);
|
||||||
|
QPrinter printer;
|
||||||
|
QPrintDialog dlg(&printer);
|
||||||
|
if(dlg.exec() == QDialog::Accepted) {
|
||||||
|
QPainter painter;
|
||||||
|
painter.begin(&printer);
|
||||||
|
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;
|
||||||
|
printer.newPage();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
painter.end();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: This can later be used for doing slide show
|
||||||
|
void MainWindow::on_actionFullScreen_triggered(bool checked) {
|
||||||
|
if(checked)
|
||||||
|
showFullScreen();
|
||||||
|
else
|
||||||
|
showNormal();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionSlideShow_triggered(bool checked) {
|
||||||
|
if(checked) {
|
||||||
|
if(!slideShowTimer_) {
|
||||||
|
slideShowTimer_ = new QTimer();
|
||||||
|
// switch to the next image when timeout
|
||||||
|
connect(slideShowTimer_, SIGNAL(timeout()), SLOT(on_actionNext_triggered()));
|
||||||
|
}
|
||||||
|
Application* app = static_cast<Application*>(qApp);
|
||||||
|
slideShowTimer_->start(app->settings().slideShowInterval() * 1000);
|
||||||
|
// showFullScreen();
|
||||||
|
ui.actionSlideShow->setIcon(QIcon::fromTheme("media-playback-stop"));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(slideShowTimer_) {
|
||||||
|
delete slideShowTimer_;
|
||||||
|
slideShowTimer_ = NULL;
|
||||||
|
ui.actionSlideShow->setIcon(QIcon::fromTheme("media-playback-start"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::setShowThumbnails(bool show) {
|
||||||
|
if(show) {
|
||||||
|
if(!thumbnailsDock_) {
|
||||||
|
thumbnailsDock_ = new QDockWidget(this);
|
||||||
|
thumbnailsDock_->setFeatures(QDockWidget::NoDockWidgetFeatures); // FIXME: should use DockWidgetClosable
|
||||||
|
thumbnailsDock_->setWindowTitle(tr("Thumbnails"));
|
||||||
|
thumbnailsView_ = new Fm::FolderView(Fm::FolderView::IconMode);
|
||||||
|
thumbnailsDock_->setWidget(thumbnailsView_);
|
||||||
|
addDockWidget(Qt::BottomDockWidgetArea, thumbnailsDock_);
|
||||||
|
QListView* listView = static_cast<QListView*>(thumbnailsView_->childView());
|
||||||
|
listView->setFlow(QListView::TopToBottom);
|
||||||
|
listView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||||
|
listView->setSelectionMode(QAbstractItemView::SingleSelection);
|
||||||
|
listView->installEventFilter(this);
|
||||||
|
// FIXME: optimize the size of the thumbnail view
|
||||||
|
// FIXME if the thumbnail view is docked elsewhere, update the settings.
|
||||||
|
int scrollHeight = style()->pixelMetric(QStyle::PM_ScrollBarExtent);
|
||||||
|
thumbnailsView_->setFixedHeight(listView->gridSize().height() + scrollHeight);
|
||||||
|
thumbnailsView_->setModel(proxyModel_);
|
||||||
|
proxyModel_->setShowThumbnails(true);
|
||||||
|
connect(thumbnailsView_->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), SLOT(onThumbnailSelChanged(QItemSelection,QItemSelection)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(thumbnailsDock_) {
|
||||||
|
delete thumbnailsView_;
|
||||||
|
thumbnailsView_ = NULL;
|
||||||
|
delete thumbnailsDock_;
|
||||||
|
thumbnailsDock_ = NULL;
|
||||||
|
}
|
||||||
|
proxyModel_->setShowThumbnails(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_actionShowThumbnails_triggered(bool checked) {
|
||||||
|
setShowThumbnails(checked);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::changeEvent(QEvent* event) {
|
||||||
|
// TODO: hide menu/toolbars in full screen mode and make the background black.
|
||||||
|
if(event->type() == QEvent::WindowStateChange) {
|
||||||
|
Application* app = static_cast<Application*>(qApp);
|
||||||
|
if(isFullScreen()) { // changed to fullscreen mode
|
||||||
|
ui.view->setFrameStyle(QFrame::NoFrame);
|
||||||
|
ui.view->setBackgroundBrush(QBrush(app->settings().fullScreenBgColor()));
|
||||||
|
ui.toolBar->hide();
|
||||||
|
ui.statusBar->hide();
|
||||||
|
if(thumbnailsDock_)
|
||||||
|
thumbnailsDock_->hide();
|
||||||
|
// NOTE: in fullscreen mode, all shortcut keys in the menu are disabled since the menu
|
||||||
|
// is disabled. We needs to add the actions to the main window manually to enable the
|
||||||
|
// shortcuts again.
|
||||||
|
ui.menubar->hide();
|
||||||
|
Q_FOREACH(QAction* action, ui.menubar->actions()) {
|
||||||
|
if(!action->shortcut().isEmpty())
|
||||||
|
addAction(action);
|
||||||
|
}
|
||||||
|
addActions(ui.menubar->actions());
|
||||||
|
}
|
||||||
|
else { // restore to normal window mode
|
||||||
|
ui.view->setFrameStyle(QFrame::StyledPanel|QFrame::Sunken);
|
||||||
|
ui.view->setBackgroundBrush(QBrush(app->settings().bgColor()));
|
||||||
|
// now we're going to re-enable the menu, so remove the actions previously added.
|
||||||
|
Q_FOREACH(QAction* action, ui.menubar->actions()) {
|
||||||
|
if(!action->shortcut().isEmpty())
|
||||||
|
removeAction(action);
|
||||||
|
}
|
||||||
|
ui.menubar->show();
|
||||||
|
ui.toolBar->show();
|
||||||
|
ui.statusBar->show();
|
||||||
|
if(thumbnailsDock_)
|
||||||
|
thumbnailsDock_->show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
QWidget::changeEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::onContextMenu(QPoint pos) {
|
||||||
|
contextMenu_->exec(ui.view->mapToGlobal(pos));
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::onExitFullscreen() {
|
||||||
|
if(isFullScreen())
|
||||||
|
showNormal();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::onThumbnailSelChanged(const QItemSelection& selected, const QItemSelection& deselected) {
|
||||||
|
// the selected item of thumbnail view is changed
|
||||||
|
if(!selected.isEmpty()) {
|
||||||
|
QModelIndex index = selected.first().topLeft();
|
||||||
|
if(index.isValid() && index != currentIndex_) {
|
||||||
|
FmFileInfo* file = proxyModel_->fileInfoFromIndex(index);
|
||||||
|
if(file)
|
||||||
|
loadImage(fm_file_info_get_path(file), index);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,161 @@
|
|||||||
|
/*
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 2013 <copyright holder> <email>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef LXIMAGE_MAINWINDOW_H
|
||||||
|
#define LXIMAGE_MAINWINDOW_H
|
||||||
|
|
||||||
|
#include <QMainWindow>
|
||||||
|
#include "ui_mainwindow.h"
|
||||||
|
|
||||||
|
#include "imageview.h"
|
||||||
|
#include <QImage>
|
||||||
|
|
||||||
|
#include <libfm/fm-folder.h>
|
||||||
|
#include <libfm-qt/foldermodel.h>
|
||||||
|
#include <libfm-qt/proxyfoldermodel.h>
|
||||||
|
#include <gio/gio.h>
|
||||||
|
|
||||||
|
#include "modelfilter.h"
|
||||||
|
#include "loadimagejob.h"
|
||||||
|
#include "saveimagejob.h"
|
||||||
|
|
||||||
|
class QTimer;
|
||||||
|
class QDockWidget;
|
||||||
|
|
||||||
|
namespace Fm {
|
||||||
|
class FolderView;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace LxImage {
|
||||||
|
|
||||||
|
class MainWindow : public QMainWindow {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
friend class LoadImageJob;
|
||||||
|
friend class SaveImageJob;
|
||||||
|
|
||||||
|
MainWindow();
|
||||||
|
virtual ~MainWindow();
|
||||||
|
|
||||||
|
void openImageFile(QString fileName);
|
||||||
|
|
||||||
|
QImage image() const {
|
||||||
|
return image_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void pasteImage(QImage newImage);
|
||||||
|
|
||||||
|
FmPath* currentFile() const {
|
||||||
|
return currentFile_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setShowThumbnails(bool show);
|
||||||
|
void applySettings();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void loadImage(FmPath* filePath, QModelIndex index = QModelIndex());
|
||||||
|
void saveImage(FmPath* filePath); // save current image to a file
|
||||||
|
void loadFolder(FmPath* newFolderPath);
|
||||||
|
QString openFileName();
|
||||||
|
QString saveFileName(QString defaultName = QString());
|
||||||
|
virtual void changeEvent(QEvent * event);
|
||||||
|
|
||||||
|
void onImageLoaded(LoadImageJob* job);
|
||||||
|
void onImageSaved(SaveImageJob* job);
|
||||||
|
|
||||||
|
virtual bool eventFilter(QObject* watched, QEvent* event);
|
||||||
|
private Q_SLOTS:
|
||||||
|
void on_actionAbout_triggered();
|
||||||
|
|
||||||
|
void on_actionOpenFile_triggered();
|
||||||
|
void on_actionNewWindow_triggered();
|
||||||
|
void on_actionSave_triggered();
|
||||||
|
void on_actionSaveAs_triggered();
|
||||||
|
void on_actionPrint_triggered();
|
||||||
|
void on_actionDelete_triggered();
|
||||||
|
void on_actionFileProperties_triggered();
|
||||||
|
void on_actionClose_triggered();
|
||||||
|
|
||||||
|
void on_actionRotateClockwise_triggered();
|
||||||
|
void on_actionRotateCounterclockwise_triggered();
|
||||||
|
void on_actionFlipVertical_triggered();
|
||||||
|
void on_actionFlipHorizontal_triggered();
|
||||||
|
void on_actionCopy_triggered();
|
||||||
|
void on_actionPaste_triggered();
|
||||||
|
|
||||||
|
void on_actionShowThumbnails_triggered(bool checked);
|
||||||
|
void on_actionFullScreen_triggered(bool checked);
|
||||||
|
void on_actionSlideShow_triggered(bool checked);
|
||||||
|
|
||||||
|
void on_actionPrevious_triggered();
|
||||||
|
void on_actionNext_triggered();
|
||||||
|
void on_actionFirst_triggered();
|
||||||
|
void on_actionLast_triggered();
|
||||||
|
|
||||||
|
void on_actionZoomIn_triggered();
|
||||||
|
void on_actionZoomOut_triggered();
|
||||||
|
void on_actionOriginalSize_triggered();
|
||||||
|
void on_actionZoomFit_triggered();
|
||||||
|
|
||||||
|
void onContextMenu(QPoint pos);
|
||||||
|
void onExitFullscreen();
|
||||||
|
|
||||||
|
void onThumbnailSelChanged(const QItemSelection & selected, const QItemSelection & deselected);
|
||||||
|
|
||||||
|
private:
|
||||||
|
void onFolderLoaded(FmFolder* folder);
|
||||||
|
void updateUI();
|
||||||
|
void setModified(bool modified);
|
||||||
|
QModelIndex indexFromPath(FmPath* filePath);
|
||||||
|
|
||||||
|
// GObject related signal handers and callbacks
|
||||||
|
static void _onFolderLoaded(FmFolder* folder, MainWindow* _this) {
|
||||||
|
_this->onFolderLoaded(folder);
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::MainWindow ui;
|
||||||
|
QMenu* contextMenu_;
|
||||||
|
QTimer* slideShowTimer_;
|
||||||
|
|
||||||
|
QImage image_; // the image currently shown
|
||||||
|
FmPath* currentFile_; // path to current image file
|
||||||
|
// FmFileInfo* currentFileInfo_; // info of the current file, can be NULL
|
||||||
|
bool imageModified_; // the current image is modified by rotation, flip, or others and needs to be saved
|
||||||
|
|
||||||
|
// folder browsing
|
||||||
|
FmFolder* folder_;
|
||||||
|
FmPath* folderPath_;
|
||||||
|
Fm::FolderModel* folderModel_;
|
||||||
|
Fm::ProxyFolderModel* proxyModel_;
|
||||||
|
ModelFilter* modelFilter_;
|
||||||
|
QModelIndex currentIndex_;
|
||||||
|
|
||||||
|
QDockWidget* thumbnailsDock_;
|
||||||
|
Fm::FolderView* thumbnailsView_;
|
||||||
|
|
||||||
|
// multi-threading loading of images
|
||||||
|
LoadImageJob* loadJob_;
|
||||||
|
SaveImageJob* saveJob_;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // LXIMAGE_MAINWINDOW_H
|
@ -0,0 +1,464 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>MainWindow</class>
|
||||||
|
<widget class="QMainWindow" name="MainWindow">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>543</width>
|
||||||
|
<height>425</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Image Viewer</string>
|
||||||
|
</property>
|
||||||
|
<property name="windowIcon">
|
||||||
|
<iconset theme="lximage-qt">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="centralWidget">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="margin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="LxImage::ImageView" name="view">
|
||||||
|
<property name="renderHints">
|
||||||
|
<set>QPainter::Antialiasing|QPainter::HighQualityAntialiasing|QPainter::TextAntialiasing</set>
|
||||||
|
</property>
|
||||||
|
<property name="dragMode">
|
||||||
|
<enum>QGraphicsView::ScrollHandDrag</enum>
|
||||||
|
</property>
|
||||||
|
<property name="transformationAnchor">
|
||||||
|
<enum>QGraphicsView::AnchorUnderMouse</enum>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="QMenuBar" name="menubar">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>543</width>
|
||||||
|
<height>23</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<widget class="QMenu" name="menu_File">
|
||||||
|
<property name="title">
|
||||||
|
<string>&File</string>
|
||||||
|
</property>
|
||||||
|
<addaction name="actionNewWindow"/>
|
||||||
|
<addaction name="actionOpenFile"/>
|
||||||
|
<addaction name="actionScreenshot"/>
|
||||||
|
<addaction name="actionSave"/>
|
||||||
|
<addaction name="actionSaveAs"/>
|
||||||
|
<addaction name="actionDelete"/>
|
||||||
|
<addaction name="separator"/>
|
||||||
|
<addaction name="actionFileProperties"/>
|
||||||
|
<addaction name="actionPrint"/>
|
||||||
|
<addaction name="separator"/>
|
||||||
|
<addaction name="actionClose"/>
|
||||||
|
</widget>
|
||||||
|
<widget class="QMenu" name="menu_Help">
|
||||||
|
<property name="title">
|
||||||
|
<string>&Help</string>
|
||||||
|
</property>
|
||||||
|
<addaction name="actionAbout"/>
|
||||||
|
</widget>
|
||||||
|
<widget class="QMenu" name="menuGo">
|
||||||
|
<property name="title">
|
||||||
|
<string>Go</string>
|
||||||
|
</property>
|
||||||
|
<addaction name="actionPrevious"/>
|
||||||
|
<addaction name="actionNext"/>
|
||||||
|
<addaction name="actionFirst"/>
|
||||||
|
<addaction name="actionLast"/>
|
||||||
|
</widget>
|
||||||
|
<widget class="QMenu" name="menu_View">
|
||||||
|
<property name="title">
|
||||||
|
<string>&View</string>
|
||||||
|
</property>
|
||||||
|
<addaction name="actionZoomIn"/>
|
||||||
|
<addaction name="actionZoomOut"/>
|
||||||
|
<addaction name="actionOriginalSize"/>
|
||||||
|
<addaction name="actionZoomFit"/>
|
||||||
|
<addaction name="separator"/>
|
||||||
|
<addaction name="actionShowThumbnails"/>
|
||||||
|
<addaction name="separator"/>
|
||||||
|
<addaction name="actionFullScreen"/>
|
||||||
|
<addaction name="actionSlideShow"/>
|
||||||
|
</widget>
|
||||||
|
<widget class="QMenu" name="menu_Edit">
|
||||||
|
<property name="title">
|
||||||
|
<string>&Edit</string>
|
||||||
|
</property>
|
||||||
|
<addaction name="actionRotateClockwise"/>
|
||||||
|
<addaction name="actionRotateCounterclockwise"/>
|
||||||
|
<addaction name="actionFlipHorizontal"/>
|
||||||
|
<addaction name="actionFlipVertical"/>
|
||||||
|
<addaction name="separator"/>
|
||||||
|
<addaction name="actionCopy"/>
|
||||||
|
<addaction name="actionPaste"/>
|
||||||
|
<addaction name="separator"/>
|
||||||
|
<addaction name="actionPreferences"/>
|
||||||
|
</widget>
|
||||||
|
<addaction name="menu_File"/>
|
||||||
|
<addaction name="menu_Edit"/>
|
||||||
|
<addaction name="menu_View"/>
|
||||||
|
<addaction name="menuGo"/>
|
||||||
|
<addaction name="menu_Help"/>
|
||||||
|
</widget>
|
||||||
|
<widget class="QToolBar" name="toolBar">
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Toolbar</string>
|
||||||
|
</property>
|
||||||
|
<property name="toolButtonStyle">
|
||||||
|
<enum>Qt::ToolButtonIconOnly</enum>
|
||||||
|
</property>
|
||||||
|
<property name="floatable">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<attribute name="toolBarArea">
|
||||||
|
<enum>TopToolBarArea</enum>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="toolBarBreak">
|
||||||
|
<bool>false</bool>
|
||||||
|
</attribute>
|
||||||
|
<addaction name="actionPrevious"/>
|
||||||
|
<addaction name="actionNext"/>
|
||||||
|
<addaction name="separator"/>
|
||||||
|
<addaction name="actionOpenFile"/>
|
||||||
|
<addaction name="actionSaveAs"/>
|
||||||
|
<addaction name="actionCopy"/>
|
||||||
|
<addaction name="actionPaste"/>
|
||||||
|
<addaction name="separator"/>
|
||||||
|
<addaction name="actionRotateClockwise"/>
|
||||||
|
<addaction name="actionRotateCounterclockwise"/>
|
||||||
|
<addaction name="actionZoomIn"/>
|
||||||
|
<addaction name="actionZoomOut"/>
|
||||||
|
<addaction name="actionZoomFit"/>
|
||||||
|
<addaction name="actionOriginalSize"/>
|
||||||
|
<addaction name="separator"/>
|
||||||
|
<addaction name="actionSlideShow"/>
|
||||||
|
</widget>
|
||||||
|
<widget class="QStatusBar" name="statusBar"/>
|
||||||
|
<action name="actionAbout">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="help-about">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>&About</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionOpenFile">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="document-open">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>&Open File</string>
|
||||||
|
</property>
|
||||||
|
<property name="shortcut">
|
||||||
|
<string>Ctrl+O</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionSave">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="document-save">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>&Save</string>
|
||||||
|
</property>
|
||||||
|
<property name="shortcut">
|
||||||
|
<string>Ctrl+S</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionSaveAs">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="document-save-as">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Save &As</string>
|
||||||
|
</property>
|
||||||
|
<property name="shortcut">
|
||||||
|
<string>Ctrl+A</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionClose">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="application-exit">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>&Close</string>
|
||||||
|
</property>
|
||||||
|
<property name="shortcut">
|
||||||
|
<string>Ctrl+W</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionZoomIn">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="zoom-in">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Zoom &In</string>
|
||||||
|
</property>
|
||||||
|
<property name="shortcut">
|
||||||
|
<string>Ctrl++</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionZoomOut">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="zoom-out">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Zoom &Out</string>
|
||||||
|
</property>
|
||||||
|
<property name="shortcut">
|
||||||
|
<string>Ctrl+-</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionCopy">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="edit-copy">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>&Copy to Clipboard</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionNext">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="go-next">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Next File</string>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Next File</string>
|
||||||
|
</property>
|
||||||
|
<property name="shortcut">
|
||||||
|
<string>PgDown</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionPrevious">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="go-previous">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Previous File</string>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Previous File</string>
|
||||||
|
</property>
|
||||||
|
<property name="shortcut">
|
||||||
|
<string>PgUp</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionOriginalSize">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="zoom-original">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Original Size</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionZoomFit">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="zoom-fit-best">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>&Fit</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionRotateClockwise">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="object-rotate-right">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>&Rotate Clockwise</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionRotateCounterclockwise">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="object-rotate-left">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Rotate &Counterclockwise</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionPreferences">
|
||||||
|
<property name="text">
|
||||||
|
<string>P&references</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionPrint">
|
||||||
|
<property name="text">
|
||||||
|
<string>&Print</string>
|
||||||
|
</property>
|
||||||
|
<property name="shortcut">
|
||||||
|
<string>Ctrl+P</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionFirst">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="go-first">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>First File</string>
|
||||||
|
</property>
|
||||||
|
<property name="shortcut">
|
||||||
|
<string>Home</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionLast">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="go-last">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Last File</string>
|
||||||
|
</property>
|
||||||
|
<property name="shortcut">
|
||||||
|
<string>End</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionNewWindow">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="document-new">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>&New Window</string>
|
||||||
|
</property>
|
||||||
|
<property name="shortcut">
|
||||||
|
<string>Ctrl+N</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionFlipHorizontal">
|
||||||
|
<property name="text">
|
||||||
|
<string>Flip &Horizontally</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionScreenshot">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="camera-photo">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Capture Screenshot</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionFullScreen">
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>F&ull Screen</string>
|
||||||
|
</property>
|
||||||
|
<property name="shortcut">
|
||||||
|
<string>F11</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionFlipVertical">
|
||||||
|
<property name="text">
|
||||||
|
<string>Flip &Vertically</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionPaste">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="edit-paste">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>&Paste from Clipboard</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionSlideShow">
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="media-playback-start">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>&Slide Show</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionDelete">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset theme="edit-delete">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>&Delete</string>
|
||||||
|
</property>
|
||||||
|
<property name="shortcut">
|
||||||
|
<string>Del</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionShowThumbnails">
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Show Thumbnails</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionFileProperties">
|
||||||
|
<property name="text">
|
||||||
|
<string>File Properties</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>LxImage::ImageView</class>
|
||||||
|
<extends>QGraphicsView</extends>
|
||||||
|
<header>imageview.h</header>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 2013 PCMan <email>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "modelfilter.h"
|
||||||
|
|
||||||
|
using namespace LxImage;
|
||||||
|
|
||||||
|
ModelFilter::ModelFilter() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ModelFilter::~ModelFilter() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ModelFilter::filterAcceptsRow(const Fm::ProxyFolderModel* model, FmFileInfo* info) const {
|
||||||
|
// filter out non-image files and formats that we don't support.
|
||||||
|
if(!fm_file_info_is_image(info))
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 2013 PCMan <email>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef LXIMAGE_MODELFILTER_H
|
||||||
|
#define LXIMAGE_MODELFILTER_H
|
||||||
|
|
||||||
|
#include <libfm-qt/proxyfoldermodel.h>
|
||||||
|
|
||||||
|
namespace LxImage {
|
||||||
|
|
||||||
|
class ModelFilter: public Fm::ProxyFolderModelFilter {
|
||||||
|
public:
|
||||||
|
ModelFilter();
|
||||||
|
virtual bool filterAcceptsRow(const Fm::ProxyFolderModel* model, FmFileInfo* info) const;
|
||||||
|
virtual ~ModelFilter();
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // LXIMAGE_MODELFILTER_H
|
@ -0,0 +1,15 @@
|
|||||||
|
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
|
||||||
|
<node>
|
||||||
|
<interface name="org.lxde.LxImage.Application">
|
||||||
|
|
||||||
|
<!-- ask lximage to open a new window -->
|
||||||
|
<method name="newWindow">
|
||||||
|
<!-- file paths to open in new windows -->
|
||||||
|
<arg type="as" direction="in"/>
|
||||||
|
</method>
|
||||||
|
|
||||||
|
<!-- launch a tool to take a screenshot -->
|
||||||
|
<method name="screenshot" />
|
||||||
|
|
||||||
|
</interface>
|
||||||
|
</node>
|
@ -0,0 +1,144 @@
|
|||||||
|
/*
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 2013 PCMan <email>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "preferencesdialog.h"
|
||||||
|
#include "application.h"
|
||||||
|
#include <QDir>
|
||||||
|
#include <QStringBuilder>
|
||||||
|
#include <glib.h>
|
||||||
|
|
||||||
|
using namespace LxImage;
|
||||||
|
|
||||||
|
PreferencesDialog::PreferencesDialog(QWidget* parent):
|
||||||
|
QDialog(parent) {
|
||||||
|
ui.setupUi(this);
|
||||||
|
|
||||||
|
Application* app = static_cast<Application*>(qApp);
|
||||||
|
Settings& settings = app->settings();
|
||||||
|
app->addWindow();
|
||||||
|
|
||||||
|
initIconThemes(settings);
|
||||||
|
ui.bgColor->setColor(settings.bgColor());
|
||||||
|
ui.fullScreenBgColor->setColor(settings.fullScreenBgColor());
|
||||||
|
ui.slideShowInterval->setValue(settings.slideShowInterval());
|
||||||
|
}
|
||||||
|
|
||||||
|
PreferencesDialog::~PreferencesDialog() {
|
||||||
|
Application* app = static_cast<Application*>(qApp);
|
||||||
|
app->removeWindow();
|
||||||
|
}
|
||||||
|
|
||||||
|
void PreferencesDialog::accept() {
|
||||||
|
Application* app = static_cast<Application*>(qApp);
|
||||||
|
Settings& settings = app->settings();
|
||||||
|
|
||||||
|
// apply icon theme
|
||||||
|
if(settings.useFallbackIconTheme()) {
|
||||||
|
// only apply the value if icon theme combo box is in use
|
||||||
|
// the combo box is hidden when auto-detection of icon theme by qt works.
|
||||||
|
QString newIconTheme = ui.iconTheme->itemData(ui.iconTheme->currentIndex()).toString();
|
||||||
|
if(newIconTheme != settings.fallbackIconTheme()) {
|
||||||
|
settings.setFallbackIconTheme(newIconTheme);
|
||||||
|
QIcon::setThemeName(newIconTheme);
|
||||||
|
// update the UI by emitting a style change event
|
||||||
|
Q_FOREACH(QWidget *widget, QApplication::allWidgets()) {
|
||||||
|
QEvent event(QEvent::StyleChange);
|
||||||
|
QApplication::sendEvent(widget, &event);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
settings.setBgColor(ui.bgColor->color());
|
||||||
|
settings.setFullScreenBgColor(ui.fullScreenBgColor->color());
|
||||||
|
settings.setSlideShowInterval(ui.slideShowInterval->value());
|
||||||
|
|
||||||
|
settings.save();
|
||||||
|
QDialog::accept();
|
||||||
|
app->applySettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void findIconThemesInDir(QHash<QString, QString>& iconThemes, QString dirName) {
|
||||||
|
QDir dir(dirName);
|
||||||
|
QStringList subDirs = dir.entryList(QDir::AllDirs);
|
||||||
|
GKeyFile* kf = g_key_file_new();
|
||||||
|
Q_FOREACH(QString subDir, subDirs) {
|
||||||
|
QString indexFile = dirName % '/' % subDir % "/index.theme";
|
||||||
|
if(g_key_file_load_from_file(kf, indexFile.toLocal8Bit().constData(), GKeyFileFlags(0), NULL)) {
|
||||||
|
// FIXME: skip hidden ones
|
||||||
|
// icon theme must have this key, so it has icons if it has this key
|
||||||
|
// otherwise, it might be a cursor theme or any other kind of theme.
|
||||||
|
if(g_key_file_has_key(kf, "Icon Theme", "Directories", NULL)) {
|
||||||
|
char* dispName = g_key_file_get_locale_string(kf, "Icon Theme", "Name", NULL, NULL);
|
||||||
|
// char* comment = g_key_file_get_locale_string(kf, "Icon Theme", "Comment", NULL, NULL);
|
||||||
|
iconThemes[subDir] = dispName;
|
||||||
|
g_free(dispName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
g_key_file_free(kf);
|
||||||
|
}
|
||||||
|
|
||||||
|
void PreferencesDialog::initIconThemes(Settings& settings) {
|
||||||
|
Application* app = static_cast<Application*>(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
|
||||||
|
QHash<QString, QString> iconThemes;
|
||||||
|
// user customed icon themes
|
||||||
|
findIconThemesInDir(iconThemes, QString(g_get_home_dir()) % "/.icons");
|
||||||
|
|
||||||
|
// search for icons in system data dir
|
||||||
|
const char* const* dataDirs = g_get_system_data_dirs();
|
||||||
|
for(const char* const* dataDir = dataDirs; *dataDir; ++dataDir) {
|
||||||
|
findIconThemesInDir(iconThemes, QString(*dataDir) % "/icons");
|
||||||
|
}
|
||||||
|
|
||||||
|
iconThemes.remove("hicolor"); // remove hicolor, which is only a fallback
|
||||||
|
QHash<QString, QString>::const_iterator it;
|
||||||
|
for(it = iconThemes.begin(); it != iconThemes.end(); ++it) {
|
||||||
|
ui.iconTheme->addItem(it.value(), it.key());
|
||||||
|
}
|
||||||
|
ui.iconTheme->model()->sort(0); // sort the list of icon theme names
|
||||||
|
|
||||||
|
// select current theme name
|
||||||
|
int n = ui.iconTheme->count();
|
||||||
|
int i;
|
||||||
|
for(i = 0; i < n; ++i) {
|
||||||
|
QVariant itemData = ui.iconTheme->itemData(i);
|
||||||
|
if(itemData == settings.fallbackIconTheme()) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(i >= n)
|
||||||
|
i = 0;
|
||||||
|
ui.iconTheme->setCurrentIndex(i);
|
||||||
|
}
|
||||||
|
else { // auto-detection of icon theme works, hide the fallback icon theme combo box.
|
||||||
|
ui.iconThemeLabel->hide();
|
||||||
|
ui.iconTheme->hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void PreferencesDialog::done(int r) {
|
||||||
|
QDialog::done(r);
|
||||||
|
deleteLater();
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,49 @@
|
|||||||
|
/*
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 2013 PCMan <email>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef LXIMAGE_PREFERENCESDIALOG_H
|
||||||
|
#define LXIMAGE_PREFERENCESDIALOG_H
|
||||||
|
|
||||||
|
#include <QDialog>
|
||||||
|
#include "ui_preferencesdialog.h"
|
||||||
|
|
||||||
|
namespace LxImage {
|
||||||
|
|
||||||
|
class Settings;
|
||||||
|
|
||||||
|
class PreferencesDialog : public QDialog {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit PreferencesDialog(QWidget* parent = 0);
|
||||||
|
virtual ~PreferencesDialog();
|
||||||
|
|
||||||
|
virtual void accept();
|
||||||
|
virtual void done(int r);
|
||||||
|
|
||||||
|
private:
|
||||||
|
void initIconThemes(Settings& settings);
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::PreferencesDialog ui;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // LXIMAGE_PREFERENCESDIALOG_H
|
@ -0,0 +1,136 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>PreferencesDialog</class>
|
||||||
|
<widget class="QDialog" name="PreferencesDialog">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>331</width>
|
||||||
|
<height>225</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Preferences</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QTabWidget" name="tabWidget">
|
||||||
|
<property name="currentIndex">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="tab">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>General</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QFormLayout" name="formLayout">
|
||||||
|
<property name="fieldGrowthPolicy">
|
||||||
|
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="iconThemeLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Icon theme:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QComboBox" name="iconTheme"/>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Normal background color:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Fullscreen background color:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="Fm::ColorButton" name="bgColor">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="Fm::ColorButton" name="fullScreenBgColor">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Slide show interval (seconds):</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QSpinBox" name="slideShowInterval"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="standardButtons">
|
||||||
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>Fm::ColorButton</class>
|
||||||
|
<extends>QPushButton</extends>
|
||||||
|
<header location="global">libfm-qt/colorbutton.h</header>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
|
<resources/>
|
||||||
|
<connections>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonBox</sender>
|
||||||
|
<signal>accepted()</signal>
|
||||||
|
<receiver>PreferencesDialog</receiver>
|
||||||
|
<slot>accept()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>248</x>
|
||||||
|
<y>254</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>157</x>
|
||||||
|
<y>274</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonBox</sender>
|
||||||
|
<signal>rejected()</signal>
|
||||||
|
<receiver>PreferencesDialog</receiver>
|
||||||
|
<slot>reject()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>316</x>
|
||||||
|
<y>260</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>286</x>
|
||||||
|
<y>274</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
</connections>
|
||||||
|
</ui>
|
@ -0,0 +1,72 @@
|
|||||||
|
/*
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 2013 PCMan <email>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "saveimagejob.h"
|
||||||
|
#include "mainwindow.h"
|
||||||
|
#include <QImageReader>
|
||||||
|
#include <QBuffer>
|
||||||
|
#include <qvarlengtharray.h>
|
||||||
|
|
||||||
|
using namespace LxImage;
|
||||||
|
|
||||||
|
SaveImageJob::SaveImageJob(MainWindow* window, FmPath* filePath):
|
||||||
|
Job(),
|
||||||
|
path_(fm_path_ref(filePath)),
|
||||||
|
mainWindow_(window),
|
||||||
|
image_(window->image()) {
|
||||||
|
}
|
||||||
|
|
||||||
|
SaveImageJob::~SaveImageJob() {
|
||||||
|
fm_path_unref(path_);
|
||||||
|
}
|
||||||
|
|
||||||
|
// This is called from the worker thread, not main thread
|
||||||
|
bool SaveImageJob::run() {
|
||||||
|
GFile* gfile = fm_path_to_gfile(path_);
|
||||||
|
GFileOutputStream* fileStream = g_file_replace(gfile, NULL, false, G_FILE_CREATE_PRIVATE, cancellable_, &error_);
|
||||||
|
g_object_unref(gfile);
|
||||||
|
|
||||||
|
if(fileStream) { // if the file stream is successfually opened
|
||||||
|
const char* format = fm_path_get_basename(path_);
|
||||||
|
format = strrchr(format, '.');
|
||||||
|
if(format) // use filename extension as the image format
|
||||||
|
++format;
|
||||||
|
|
||||||
|
QBuffer imageBuffer;
|
||||||
|
image_.save(&imageBuffer, format); // save the image to buffer
|
||||||
|
GOutputStream* outputStream = G_OUTPUT_STREAM(fileStream);
|
||||||
|
g_output_stream_write_all(outputStream,
|
||||||
|
imageBuffer.data().constData(),
|
||||||
|
imageBuffer.size(),
|
||||||
|
NULL,
|
||||||
|
cancellable_,
|
||||||
|
&error_);
|
||||||
|
g_output_stream_close(outputStream, NULL, NULL);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// this function is called from main thread only
|
||||||
|
void SaveImageJob::finish() {
|
||||||
|
// only do processing if the job is not cancelled
|
||||||
|
if(!g_cancellable_is_cancelled(cancellable_)) {
|
||||||
|
mainWindow_->onImageSaved(this);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 2013 PCMan <email>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef LXIMAGE_SAVEIMAGEJOB_H
|
||||||
|
#define LXIMAGE_SAVEIMAGEJOB_H
|
||||||
|
|
||||||
|
#include <gio/gio.h>
|
||||||
|
#include <libfm/fm.h>
|
||||||
|
#include <QImage>
|
||||||
|
#include "job.h"
|
||||||
|
|
||||||
|
namespace LxImage {
|
||||||
|
|
||||||
|
class MainWindow;
|
||||||
|
|
||||||
|
class SaveImageJob : public Job {
|
||||||
|
|
||||||
|
public:
|
||||||
|
SaveImageJob(MainWindow* window, FmPath* filePath);
|
||||||
|
|
||||||
|
QImage image() const {
|
||||||
|
return image_;
|
||||||
|
}
|
||||||
|
|
||||||
|
FmPath* filePath() const {
|
||||||
|
return path_;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual bool run();
|
||||||
|
virtual void finish();
|
||||||
|
|
||||||
|
private:
|
||||||
|
~SaveImageJob(); // prevent direct deletion
|
||||||
|
|
||||||
|
public:
|
||||||
|
MainWindow* mainWindow_;
|
||||||
|
FmPath* path_;
|
||||||
|
QImage image_;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // LXIMAGE_SAVEIMAGEJOB_H
|
@ -0,0 +1,181 @@
|
|||||||
|
/*
|
||||||
|
<one line to give the library's name and an idea of what it does.>
|
||||||
|
Copyright (C) 2013 <copyright holder> <email>
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with this library; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "screenshotdialog.h"
|
||||||
|
#include <QTimer>
|
||||||
|
#include <QPixmap>
|
||||||
|
#include <QImage>
|
||||||
|
#include <QPainter>
|
||||||
|
#include "application.h"
|
||||||
|
#include <QDesktopWidget>
|
||||||
|
|
||||||
|
#include <QX11Info>
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
#include <X11/Xatom.h>
|
||||||
|
#include <X11/extensions/Xfixes.h>
|
||||||
|
|
||||||
|
using namespace LxImage;
|
||||||
|
|
||||||
|
ScreenshotDialog::ScreenshotDialog(QWidget* parent, Qt::WindowFlags f): QDialog(parent, f) {
|
||||||
|
ui.setupUi(this);
|
||||||
|
|
||||||
|
Application* app = static_cast<Application*>(qApp);
|
||||||
|
app->addWindow();
|
||||||
|
|
||||||
|
int event_base, error_base;
|
||||||
|
hasXfixes_ = XFixesQueryExtension(QX11Info::display(), &event_base, &error_base) ? true : false;
|
||||||
|
if(!hasXfixes_)
|
||||||
|
ui.includeCursor->hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
ScreenshotDialog::~ScreenshotDialog() {
|
||||||
|
Application* app = static_cast<Application*>(qApp);
|
||||||
|
app->removeWindow();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScreenshotDialog::done(int r) {
|
||||||
|
if(r == QDialog::Accepted) {
|
||||||
|
hide();
|
||||||
|
QDialog::done(r);
|
||||||
|
XSync(QX11Info::display(), 0); // is this useful?
|
||||||
|
|
||||||
|
int delay = ui.delay->value();
|
||||||
|
if(delay == 0) {
|
||||||
|
// NOTE:
|
||||||
|
// Well, we need to give X and the window manager some time to
|
||||||
|
// really hide our own dialog from the screen.
|
||||||
|
// Nobody knows how long it will take, and there is no reliable
|
||||||
|
// way to ensure that. Let's wait for 400 ms here for it.
|
||||||
|
delay = 400;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
delay *= 1000;
|
||||||
|
// the dialog object will be deleted in doScreenshot().
|
||||||
|
QTimer::singleShot(delay, this, SLOT(doScreenshot()));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
deleteLater();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QRect ScreenshotDialog::windowFrame(WId wid) {
|
||||||
|
QRect result;
|
||||||
|
XWindowAttributes wa;
|
||||||
|
if(XGetWindowAttributes(QX11Info::display(), wid, &wa)) {
|
||||||
|
Window child;
|
||||||
|
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);
|
||||||
|
result.setRect(x, y, wa.width, wa.height);
|
||||||
|
|
||||||
|
// get the frame widths added by the window manager
|
||||||
|
Atom atom = XInternAtom(QX11Info::display(), "_NET_FRAME_EXTENTS", false);
|
||||||
|
unsigned long type, resultLen, rest;
|
||||||
|
int format;
|
||||||
|
unsigned char* data = NULL;
|
||||||
|
if(XGetWindowProperty(QX11Info::display(), wid, atom, 0, G_MAXLONG, false,
|
||||||
|
XA_CARDINAL, &type, &format, &resultLen, &rest, &data) == Success) {
|
||||||
|
}
|
||||||
|
if(data) { // left, right, top, bottom
|
||||||
|
long* offsets = reinterpret_cast<long*>(data);
|
||||||
|
result.setLeft(result.left() - offsets[0]);
|
||||||
|
result.setRight(result.right() + offsets[1]);
|
||||||
|
result.setTop(result.top() - offsets[2]);
|
||||||
|
result.setBottom(result.bottom() + offsets[3]);
|
||||||
|
XFree(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
WId ScreenshotDialog::activeWindowId() {
|
||||||
|
WId root = WId(QX11Info::appRootWindow());
|
||||||
|
Atom atom = XInternAtom(QX11Info::display(), "_NET_ACTIVE_WINDOW", false);
|
||||||
|
unsigned long type, resultLen, rest;
|
||||||
|
int format;
|
||||||
|
WId result = 0;
|
||||||
|
unsigned char* data = NULL;
|
||||||
|
if(XGetWindowProperty(QX11Info::display(), root, atom, 0, 1, false,
|
||||||
|
XA_WINDOW, &type, &format, &resultLen, &rest, &data) == Success) {
|
||||||
|
result = *reinterpret_cast<long*>(data);
|
||||||
|
XFree(data);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScreenshotDialog::doScreenshot() {
|
||||||
|
WId wid = 0;
|
||||||
|
int x = 0, y = 0, width = -1, height = -1;
|
||||||
|
wid = QApplication::desktop()->winId(); // get desktop window
|
||||||
|
if(ui.currentWindow->isChecked()) {
|
||||||
|
WId activeWid = activeWindowId();
|
||||||
|
if(activeWid) {
|
||||||
|
if(ui.includeFrame->isChecked()) {
|
||||||
|
QRect rect = windowFrame(activeWid);
|
||||||
|
x = rect.x();
|
||||||
|
y = rect.y();
|
||||||
|
width = rect.width();
|
||||||
|
height = rect.height();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
wid = activeWid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
quint32* buf = NULL;
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
// paint the cursor on the current image
|
||||||
|
QPainter painter(&image);
|
||||||
|
painter.drawImage(cursor->x - cursor->xhot, cursor->y - cursor->yhot, cursorImage);
|
||||||
|
if(buf)
|
||||||
|
delete []buf;
|
||||||
|
}
|
||||||
|
XFree(cursor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Application* app = static_cast<Application*>(qApp);
|
||||||
|
MainWindow* window = app->createWindow();
|
||||||
|
window->pasteImage(image);
|
||||||
|
window->show();
|
||||||
|
|
||||||
|
deleteLater(); // destroy ourself
|
||||||
|
}
|
@ -0,0 +1,51 @@
|
|||||||
|
/*
|
||||||
|
<one line to give the library's name and an idea of what it does.>
|
||||||
|
Copyright (C) 2013 <copyright holder> <email>
|
||||||
|
|
||||||
|
This library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with this library; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef LXIMAGE_SCREENSHOTDIALOG_H
|
||||||
|
#define LXIMAGE_SCREENSHOTDIALOG_H
|
||||||
|
|
||||||
|
#include <QDialog>
|
||||||
|
#include "ui_screenshotdialog.h"
|
||||||
|
|
||||||
|
namespace LxImage {
|
||||||
|
|
||||||
|
class ScreenshotDialog : public QDialog {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit ScreenshotDialog(QWidget* parent = 0, Qt::WindowFlags f = 0);
|
||||||
|
virtual ~ScreenshotDialog();
|
||||||
|
|
||||||
|
virtual void done(int r);
|
||||||
|
|
||||||
|
private:
|
||||||
|
WId activeWindowId();
|
||||||
|
QRect windowFrame(WId wid);
|
||||||
|
|
||||||
|
private Q_SLOTS:
|
||||||
|
void doScreenshot();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::ScreenshotDialog ui;
|
||||||
|
bool hasXfixes_;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // LXIMAGE_SCREENSHOTDIALOG_H
|
@ -0,0 +1,155 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>ScreenshotDialog</class>
|
||||||
|
<widget class="QDialog" name="ScreenshotDialog">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>348</width>
|
||||||
|
<height>261</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Screenshot</string>
|
||||||
|
</property>
|
||||||
|
<property name="windowIcon">
|
||||||
|
<iconset theme="camera-photo">
|
||||||
|
<normaloff/>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
<layout class="QFormLayout" name="formLayout">
|
||||||
|
<property name="fieldGrowthPolicy">
|
||||||
|
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0" colspan="2">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Take a screenshot</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0" colspan="2">
|
||||||
|
<widget class="QGroupBox" name="groupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>Region</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="wholeScreen">
|
||||||
|
<property name="text">
|
||||||
|
<string>Whole screen</string>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="currentWindow">
|
||||||
|
<property name="text">
|
||||||
|
<string>Current window only</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0" colspan="2">
|
||||||
|
<widget class="QCheckBox" name="includeCursor">
|
||||||
|
<property name="text">
|
||||||
|
<string>Include mouse cursor</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1">
|
||||||
|
<widget class="QSpinBox" name="delay">
|
||||||
|
<property name="suffix">
|
||||||
|
<string> seconds</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="0" colspan="2">
|
||||||
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="standardButtons">
|
||||||
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Delay:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QCheckBox" name="includeFrame">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Include window title and frame</string>
|
||||||
|
</property>
|
||||||
|
<property name="checked">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonBox</sender>
|
||||||
|
<signal>accepted()</signal>
|
||||||
|
<receiver>ScreenshotDialog</receiver>
|
||||||
|
<slot>accept()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>257</x>
|
||||||
|
<y>231</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>157</x>
|
||||||
|
<y>274</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonBox</sender>
|
||||||
|
<signal>rejected()</signal>
|
||||||
|
<receiver>ScreenshotDialog</receiver>
|
||||||
|
<slot>reject()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>291</x>
|
||||||
|
<y>231</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>286</x>
|
||||||
|
<y>274</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>currentWindow</sender>
|
||||||
|
<signal>toggled(bool)</signal>
|
||||||
|
<receiver>includeFrame</receiver>
|
||||||
|
<slot>setEnabled(bool)</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>87</x>
|
||||||
|
<y>82</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>91</x>
|
||||||
|
<y>122</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
</connections>
|
||||||
|
</ui>
|
@ -0,0 +1,60 @@
|
|||||||
|
/*
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 2013 PCMan <email>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "settings.h"
|
||||||
|
#include <QSettings>
|
||||||
|
#include <QIcon>
|
||||||
|
|
||||||
|
using namespace LxImage;
|
||||||
|
|
||||||
|
Settings::Settings():
|
||||||
|
useFallbackIconTheme_(QIcon::themeName().isEmpty() || QIcon::themeName() == "hicolor"),
|
||||||
|
bgColor_(255, 255, 255),
|
||||||
|
showThumbnails_(false),
|
||||||
|
showSidePane_(false),
|
||||||
|
fullScreenBgColor_(0, 0, 0),
|
||||||
|
fallbackIconTheme_("oxygen"),
|
||||||
|
slideShowInterval_(5) {
|
||||||
|
}
|
||||||
|
|
||||||
|
Settings::~Settings() {
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Settings::load() {
|
||||||
|
QSettings settings("lximage-qt", "settings");
|
||||||
|
fallbackIconTheme_ = settings.value("fallbackIconTheme", fallbackIconTheme_).toString();
|
||||||
|
bgColor_ = settings.value("bgColor", bgColor_).value<QColor>();
|
||||||
|
fullScreenBgColor_ = settings.value("fullScreenBgColor", fullScreenBgColor_).value<QColor>();
|
||||||
|
// showThumbnails_;
|
||||||
|
// showSidePane_;
|
||||||
|
int slideShowInterval_ = settings.value("slideShowInterval", slideShowInterval_).toInt();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Settings::save() {
|
||||||
|
QSettings settings("lximage-qt", "settings");
|
||||||
|
settings.setValue("fallbackIconTheme", fallbackIconTheme_);
|
||||||
|
settings.setValue("bgColor", bgColor_);
|
||||||
|
settings.setValue("fullScreenBgColor", fullScreenBgColor_);
|
||||||
|
settings.setValue("slideShowInterval", slideShowInterval_);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,94 @@
|
|||||||
|
/*
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 2013 PCMan <email>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef LXIMAGE_SETTINGS_H
|
||||||
|
#define LXIMAGE_SETTINGS_H
|
||||||
|
|
||||||
|
#include <QString>
|
||||||
|
#include <qcache.h>
|
||||||
|
#include <QColor>
|
||||||
|
|
||||||
|
namespace LxImage {
|
||||||
|
|
||||||
|
class Settings {
|
||||||
|
public:
|
||||||
|
|
||||||
|
Settings();
|
||||||
|
~Settings();
|
||||||
|
|
||||||
|
bool load();
|
||||||
|
bool save();
|
||||||
|
|
||||||
|
bool useFallbackIconTheme() const {
|
||||||
|
return useFallbackIconTheme_;
|
||||||
|
};
|
||||||
|
|
||||||
|
QString fallbackIconTheme() {
|
||||||
|
return fallbackIconTheme_;
|
||||||
|
}
|
||||||
|
void setFallbackIconTheme(QString value) {
|
||||||
|
fallbackIconTheme_ = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
QColor bgColor() {
|
||||||
|
return bgColor_;
|
||||||
|
}
|
||||||
|
void setBgColor(QColor color) {
|
||||||
|
bgColor_ = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
QColor fullScreenBgColor() {
|
||||||
|
return fullScreenBgColor_;
|
||||||
|
}
|
||||||
|
void setFullScreenBgColor(QColor color) {
|
||||||
|
fullScreenBgColor_ = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool showThumbnails() {
|
||||||
|
return showThumbnails_;
|
||||||
|
}
|
||||||
|
void setShowThumbnails(bool show) {
|
||||||
|
showThumbnails_ = show;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool showSidePane() {
|
||||||
|
return showSidePane_;
|
||||||
|
}
|
||||||
|
|
||||||
|
int slideShowInterval() {
|
||||||
|
return slideShowInterval_;
|
||||||
|
}
|
||||||
|
void setSlideShowInterval(int interval) {
|
||||||
|
slideShowInterval_ = interval;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool useFallbackIconTheme_;
|
||||||
|
QColor bgColor_;
|
||||||
|
QColor fullScreenBgColor_;
|
||||||
|
bool showThumbnails_;
|
||||||
|
bool showSidePane_;
|
||||||
|
int slideShowInterval_;
|
||||||
|
QString fallbackIconTheme_;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // LXIMAGE_SETTINGS_H
|
@ -0,0 +1,6 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name[de]=Bildschirmfoto
|
||||||
|
GenericName[de]=Bildschirmfoto
|
||||||
|
Comment[de]=Erstelle ein Bildschirmfoto
|
||||||
|
|
||||||
|
#TRANSLATIONS_DIR=translations
|
@ -0,0 +1,4 @@
|
|||||||
|
#Translations
|
||||||
|
Name[pt]=Captura de ecrã
|
||||||
|
GenericName[pt]=Captura de ecrã
|
||||||
|
Comment[pt]=Obter uma captura de ecrã
|
@ -0,0 +1,408 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="ca">
|
||||||
|
<context>
|
||||||
|
<name>LxImage::Application</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="112"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="113"/>
|
||||||
|
<source>[FILE1, FILE2,...]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LxImage::MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="144"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="145"/>
|
||||||
|
<source>LXImage - a simple and fast image viewer
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="238"/>
|
||||||
|
<source>Open File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="239"/>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Image files (%1)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Save File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="516"/>
|
||||||
|
<source>%1 (Loading...) - Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="521"/>
|
||||||
|
<source>%1 (Failed to Load) - Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="525"/>
|
||||||
|
<source>%1 (%2x%3) - Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="535"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="710"/>
|
||||||
|
<source>Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="412"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="413"/>
|
||||||
|
<source>&About</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="414"/>
|
||||||
|
<source>&Open File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="415"/>
|
||||||
|
<source>Ctrl+O</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="416"/>
|
||||||
|
<source>&Save</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="417"/>
|
||||||
|
<source>Ctrl+S</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="418"/>
|
||||||
|
<source>Save &As</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="419"/>
|
||||||
|
<source>Ctrl+A</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="420"/>
|
||||||
|
<source>&Close</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="421"/>
|
||||||
|
<source>Ctrl+W</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="422"/>
|
||||||
|
<source>Zoom &In</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="423"/>
|
||||||
|
<source>Ctrl++</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="424"/>
|
||||||
|
<source>Zoom &Out</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="425"/>
|
||||||
|
<source>Ctrl+-</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="426"/>
|
||||||
|
<source>&Copy to Clipboard</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="427"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="429"/>
|
||||||
|
<source>Next File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="432"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="434"/>
|
||||||
|
<source>Previous File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="431"/>
|
||||||
|
<source>PgDown</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="436"/>
|
||||||
|
<source>PgUp</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="437"/>
|
||||||
|
<source>Original Size</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="438"/>
|
||||||
|
<source>&Fit</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="439"/>
|
||||||
|
<source>&Rotate Clockwise</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="440"/>
|
||||||
|
<source>Rotate &Counterclockwise</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="441"/>
|
||||||
|
<source>P&references</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="442"/>
|
||||||
|
<source>&Print</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="443"/>
|
||||||
|
<source>Ctrl+P</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="444"/>
|
||||||
|
<source>First File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="445"/>
|
||||||
|
<source>Home</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="446"/>
|
||||||
|
<source>Last File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="447"/>
|
||||||
|
<source>End</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="448"/>
|
||||||
|
<source>&New Window</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="449"/>
|
||||||
|
<source>Ctrl+N</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="450"/>
|
||||||
|
<source>Flip &Horizontally</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="451"/>
|
||||||
|
<source>Capture Screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="452"/>
|
||||||
|
<source>F&ull Screen</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="453"/>
|
||||||
|
<source>F11</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="454"/>
|
||||||
|
<source>Flip &Vertically</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="455"/>
|
||||||
|
<source>&Paste from Clipboard</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="456"/>
|
||||||
|
<source>&Slide Show</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="457"/>
|
||||||
|
<source>&Delete</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="458"/>
|
||||||
|
<source>Del</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="459"/>
|
||||||
|
<source>Show Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="460"/>
|
||||||
|
<source>File Properties</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="461"/>
|
||||||
|
<source>&File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="462"/>
|
||||||
|
<source>&Help</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="463"/>
|
||||||
|
<source>Go</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="464"/>
|
||||||
|
<source>&View</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="465"/>
|
||||||
|
<source>&Edit</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="466"/>
|
||||||
|
<source>Toolbar</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>PreferencesDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="125"/>
|
||||||
|
<source>Preferences</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="126"/>
|
||||||
|
<source>Icon theme:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="127"/>
|
||||||
|
<source>Normal background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="128"/>
|
||||||
|
<source>Fullscreen background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="131"/>
|
||||||
|
<source>Slide show interval (seconds):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="132"/>
|
||||||
|
<source>General</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScreenshotDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="123"/>
|
||||||
|
<source>Screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="124"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="125"/>
|
||||||
|
<source>Region</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="126"/>
|
||||||
|
<source>Whole screen</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="127"/>
|
||||||
|
<source>Current window only</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="128"/>
|
||||||
|
<source>Include mouse cursor</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="129"/>
|
||||||
|
<source> seconds</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="130"/>
|
||||||
|
<source>Delay:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="131"/>
|
||||||
|
<source>Include window title and frame</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
@ -0,0 +1,5 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
GenericName[de]=Bildbetrachter
|
||||||
|
Comment[de]=Der LXQt Bildbetrachter
|
||||||
|
|
||||||
|
#TRANSLATIONS_DIR=translations
|
@ -0,0 +1,416 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.0" language="de_DE">
|
||||||
|
<context>
|
||||||
|
<name>LxImage::Application</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="112"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation type="unfinished">Erstelle ein Bildschirmfoto</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="113"/>
|
||||||
|
<source>[FILE1, FILE2,...]</source>
|
||||||
|
<translation type="unfinished">[Datei1, Datei2,...]</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LxImage::MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="144"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation type="unfinished">Über</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="145"/>
|
||||||
|
<source>LXImage - a simple and fast image viewer
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></source>
|
||||||
|
<translation type="unfinished">LXImage - ein einfacher und schneller Bildbetrachter
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Autor:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="238"/>
|
||||||
|
<source>Open File</source>
|
||||||
|
<translation type="unfinished">Öffne Datei</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="239"/>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Image files (%1)</source>
|
||||||
|
<translation type="unfinished">Bilddateien (%1)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Save File</source>
|
||||||
|
<translation type="unfinished">Speichere Datei</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="516"/>
|
||||||
|
<source>%1 (Loading...) - Image Viewer</source>
|
||||||
|
<translation type="unfinished">%1 (Lade...) - Bildbetrachter</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="521"/>
|
||||||
|
<source>%1 (Failed to Load) - Image Viewer</source>
|
||||||
|
<translation type="unfinished">%1 (Fehler beim Laden) - Bildbetrachter</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="525"/>
|
||||||
|
<source>%1 (%2x%3) - Image Viewer</source>
|
||||||
|
<translation type="unfinished">%1 (%2x%3) - Bildbetrachter</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="535"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation type="unfinished">Bildbetrachter</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="710"/>
|
||||||
|
<source>Thumbnails</source>
|
||||||
|
<translation type="unfinished">Miniaturen</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="412"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation type="unfinished">Bildbetrachter</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="413"/>
|
||||||
|
<source>&About</source>
|
||||||
|
<translation type="unfinished">&Über</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="414"/>
|
||||||
|
<source>&Open File</source>
|
||||||
|
<translation type="unfinished">Ö&ffnen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="415"/>
|
||||||
|
<source>Ctrl+O</source>
|
||||||
|
<translatorcomment>Shortcuts werden automatisch übersetzt</translatorcomment>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="416"/>
|
||||||
|
<source>&Save</source>
|
||||||
|
<translation type="unfinished">&Speichern</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="417"/>
|
||||||
|
<source>Ctrl+S</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="418"/>
|
||||||
|
<source>Save &As</source>
|
||||||
|
<translation type="unfinished">Speichern &unter</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="419"/>
|
||||||
|
<source>Ctrl+A</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="420"/>
|
||||||
|
<source>&Close</source>
|
||||||
|
<translation type="unfinished">Sch&ließen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="421"/>
|
||||||
|
<source>Ctrl+W</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="422"/>
|
||||||
|
<source>Zoom &In</source>
|
||||||
|
<translation type="unfinished">Ver&größern</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="423"/>
|
||||||
|
<source>Ctrl++</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="424"/>
|
||||||
|
<source>Zoom &Out</source>
|
||||||
|
<translation type="unfinished">Ver&kleinern</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="425"/>
|
||||||
|
<source>Ctrl+-</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="426"/>
|
||||||
|
<source>&Copy to Clipboard</source>
|
||||||
|
<translation type="unfinished">In die &Zwischenablage einfügen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="427"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="429"/>
|
||||||
|
<source>Next File</source>
|
||||||
|
<translation type="unfinished">Nächste Datei</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="432"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="434"/>
|
||||||
|
<source>Previous File</source>
|
||||||
|
<translation type="unfinished">Vorige Datei</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="431"/>
|
||||||
|
<source>PgDown</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="436"/>
|
||||||
|
<source>PgUp</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="437"/>
|
||||||
|
<source>Original Size</source>
|
||||||
|
<translation type="unfinished">Originalgröße</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="438"/>
|
||||||
|
<source>&Fit</source>
|
||||||
|
<translation type="unfinished">Passen&d</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="439"/>
|
||||||
|
<source>&Rotate Clockwise</source>
|
||||||
|
<translation type="unfinished">Im &Uhrzeigersinn drehen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="440"/>
|
||||||
|
<source>Rotate &Counterclockwise</source>
|
||||||
|
<translation type="unfinished">&Gegen den Uhrzeigersinn drehen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="441"/>
|
||||||
|
<source>P&references</source>
|
||||||
|
<translation type="unfinished">Vo&rgaben</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="442"/>
|
||||||
|
<source>&Print</source>
|
||||||
|
<translation type="unfinished">&Drucken</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="443"/>
|
||||||
|
<source>Ctrl+P</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="444"/>
|
||||||
|
<source>First File</source>
|
||||||
|
<translation type="unfinished">Erste Datei</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="445"/>
|
||||||
|
<source>Home</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="446"/>
|
||||||
|
<source>Last File</source>
|
||||||
|
<translation type="unfinished">Letzte Datei</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="447"/>
|
||||||
|
<source>End</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="448"/>
|
||||||
|
<source>&New Window</source>
|
||||||
|
<translation type="unfinished">&Neues Fenster</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="449"/>
|
||||||
|
<source>Ctrl+N</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="450"/>
|
||||||
|
<source>Flip &Horizontally</source>
|
||||||
|
<translation type="unfinished">&Horizontal spiegeln</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="451"/>
|
||||||
|
<source>Capture Screenshot</source>
|
||||||
|
<translation type="unfinished">Bildschirmfoto erstellen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="452"/>
|
||||||
|
<source>F&ull Screen</source>
|
||||||
|
<translation type="unfinished">&Gesamter Bildschirm</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="453"/>
|
||||||
|
<source>F11</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="454"/>
|
||||||
|
<source>Flip &Vertically</source>
|
||||||
|
<translation type="unfinished">&Vertikal spiegeln</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="455"/>
|
||||||
|
<source>&Paste from Clipboard</source>
|
||||||
|
<translation type="unfinished">&Aus Zwischenablage einfügen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="456"/>
|
||||||
|
<source>&Slide Show</source>
|
||||||
|
<translation type="unfinished">&Diaschau</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="457"/>
|
||||||
|
<source>&Delete</source>
|
||||||
|
<translation type="unfinished">&Löschen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="458"/>
|
||||||
|
<source>Del</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="459"/>
|
||||||
|
<source>Show Thumbnails</source>
|
||||||
|
<translation type="unfinished">Zeige Miniaturen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="460"/>
|
||||||
|
<source>File Properties</source>
|
||||||
|
<translatorcomment>Übersetzung von 'file' weggelassen, da redundant.</translatorcomment>
|
||||||
|
<translation type="unfinished">Eigenschaften</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="461"/>
|
||||||
|
<source>&File</source>
|
||||||
|
<translation type="unfinished">&Datei</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="462"/>
|
||||||
|
<source>&Help</source>
|
||||||
|
<translation type="unfinished">&Hilfe</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="463"/>
|
||||||
|
<source>Go</source>
|
||||||
|
<translation type="unfinished">Gehe zu</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="464"/>
|
||||||
|
<source>&View</source>
|
||||||
|
<translation type="unfinished">&Ansicht</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="465"/>
|
||||||
|
<source>&Edit</source>
|
||||||
|
<translation type="unfinished">&Bearbeiten</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="466"/>
|
||||||
|
<source>Toolbar</source>
|
||||||
|
<translation type="unfinished">Werkzeugleiste</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>PreferencesDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="125"/>
|
||||||
|
<source>Preferences</source>
|
||||||
|
<translation type="unfinished">Vorgaben</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="126"/>
|
||||||
|
<source>Icon theme:</source>
|
||||||
|
<translation type="unfinished">Symboldesign:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="127"/>
|
||||||
|
<source>Normal background color:</source>
|
||||||
|
<translation type="unfinished">Normale Hintergrundfarbe:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="128"/>
|
||||||
|
<source>Fullscreen background color:</source>
|
||||||
|
<translation type="unfinished">Vollbild-Hintergrundfarbe:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="131"/>
|
||||||
|
<source>Slide show interval (seconds):</source>
|
||||||
|
<translation type="unfinished">Diaschau Bildwechsel (Sekunden):</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="132"/>
|
||||||
|
<source>General</source>
|
||||||
|
<translation type="unfinished">Allgemein</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScreenshotDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="123"/>
|
||||||
|
<source>Screenshot</source>
|
||||||
|
<translation type="unfinished">Bildschirmfoto</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="124"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation type="unfinished">Erstelle ein Bildschirmfoto</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="125"/>
|
||||||
|
<source>Region</source>
|
||||||
|
<translation type="unfinished">Bereich</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="126"/>
|
||||||
|
<source>Whole screen</source>
|
||||||
|
<translation type="unfinished">Genzer Bildschirm</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="127"/>
|
||||||
|
<source>Current window only</source>
|
||||||
|
<translation type="unfinished">Nur aktuelles Fenster</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="128"/>
|
||||||
|
<source>Include mouse cursor</source>
|
||||||
|
<translation type="unfinished">Einschließlich Mauszeiger</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="129"/>
|
||||||
|
<source> seconds</source>
|
||||||
|
<translation type="unfinished"> Sekunden</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="130"/>
|
||||||
|
<source>Delay:</source>
|
||||||
|
<translation type="unfinished">Verzögerung:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="131"/>
|
||||||
|
<source>Include window title and frame</source>
|
||||||
|
<translation type="unfinished">Einschließlich Fenstertitel und Rahmen</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
@ -0,0 +1,438 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="gl">
|
||||||
|
<context>
|
||||||
|
<name>LxImage::Application</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="112"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation>Obter unha captura de pantalla</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="113"/>
|
||||||
|
<source>[FILE1, FILE2,...]</source>
|
||||||
|
<translation>[FICHEIRO1, FICHEIRO2,...]</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LxImage::MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="144"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation>Sobre</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="145"/>
|
||||||
|
<source>LXImage - a simple and fast image viewer
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></source>
|
||||||
|
<translation>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></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="238"/>
|
||||||
|
<source>Open File</source>
|
||||||
|
<translation>Abrir ficheiro</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="239"/>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Image files (%1)</source>
|
||||||
|
<translation>Ficheiros de imaxe (%1)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Save File</source>
|
||||||
|
<translation>Gardar o ficheiro</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="516"/>
|
||||||
|
<source>%1 (Loading...) - Image Viewer</source>
|
||||||
|
<translation>%1 (Cargando...) - visor de imaxes</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="521"/>
|
||||||
|
<source>%1 (Failed to Load) - Image Viewer</source>
|
||||||
|
<translation>%1 (Fallou a carga) - visor de imaxes</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="525"/>
|
||||||
|
<source>%1 (%2x%3) - Image Viewer</source>
|
||||||
|
<translation>%1 (%2x%3) - visor de imaxes</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="535"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation>Visor de imaxes</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="710"/>
|
||||||
|
<source>Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="412"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation>Visor de imaxes</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="413"/>
|
||||||
|
<source>&About</source>
|
||||||
|
<translation>&Sobre</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="414"/>
|
||||||
|
<source>&Open File</source>
|
||||||
|
<translation>&Abrir ficheiro</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="415"/>
|
||||||
|
<source>Ctrl+O</source>
|
||||||
|
<translation>Ctrl+O</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="416"/>
|
||||||
|
<source>&Save</source>
|
||||||
|
<translation>&Gardar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="417"/>
|
||||||
|
<source>Ctrl+S</source>
|
||||||
|
<translation>Ctrl+S</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="418"/>
|
||||||
|
<source>Save &As</source>
|
||||||
|
<translation>Gardar &como</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="419"/>
|
||||||
|
<source>Ctrl+A</source>
|
||||||
|
<translation>Ctrl+A</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="420"/>
|
||||||
|
<source>&Close</source>
|
||||||
|
<translation>&Pechar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="421"/>
|
||||||
|
<source>Ctrl+W</source>
|
||||||
|
<translation>Ctrl+W</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="422"/>
|
||||||
|
<source>Zoom &In</source>
|
||||||
|
<translation>A&chegar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="423"/>
|
||||||
|
<source>Ctrl++</source>
|
||||||
|
<translation>Ctrl++</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="424"/>
|
||||||
|
<source>Zoom &Out</source>
|
||||||
|
<translation type="unfinished">A&fastar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="425"/>
|
||||||
|
<source>Ctrl+-</source>
|
||||||
|
<translation>Ctrl+-</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="426"/>
|
||||||
|
<source>&Copy to Clipboard</source>
|
||||||
|
<translation>&Copiar ao portapapeis</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="427"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="429"/>
|
||||||
|
<source>Next File</source>
|
||||||
|
<translation>Ficheiro seguinte</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Right</source>
|
||||||
|
<translation type="vanished">Dereita</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="432"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="434"/>
|
||||||
|
<source>Previous File</source>
|
||||||
|
<translation>Ficheiro anterior</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Left</source>
|
||||||
|
<translation type="vanished">Esquerda</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="431"/>
|
||||||
|
<source>PgDown</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="436"/>
|
||||||
|
<source>PgUp</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="437"/>
|
||||||
|
<source>Original Size</source>
|
||||||
|
<translation>Tamaño orixinal</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="438"/>
|
||||||
|
<source>&Fit</source>
|
||||||
|
<translation>A&xustar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="439"/>
|
||||||
|
<source>&Rotate Clockwise</source>
|
||||||
|
<translation>Xirar en sentido &horario</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="440"/>
|
||||||
|
<source>Rotate &Counterclockwise</source>
|
||||||
|
<translation>Xirar en sentido &antihorario</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="441"/>
|
||||||
|
<source>P&references</source>
|
||||||
|
<translation>P&referencias</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="442"/>
|
||||||
|
<source>&Print</source>
|
||||||
|
<translation>Im&primir</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="443"/>
|
||||||
|
<source>Ctrl+P</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="444"/>
|
||||||
|
<source>First File</source>
|
||||||
|
<translation>Primeiro ficheiro</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="445"/>
|
||||||
|
<source>Home</source>
|
||||||
|
<translation>Cartafol persoal</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="446"/>
|
||||||
|
<source>Last File</source>
|
||||||
|
<translation>Último ficheiro</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="447"/>
|
||||||
|
<source>End</source>
|
||||||
|
<translation>Fin</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="448"/>
|
||||||
|
<source>&New Window</source>
|
||||||
|
<translation>&Nova xanela</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="449"/>
|
||||||
|
<source>Ctrl+N</source>
|
||||||
|
<translation>Ctrl+N</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="450"/>
|
||||||
|
<source>Flip &Horizontally</source>
|
||||||
|
<translation>Inverter na & horizontal</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="451"/>
|
||||||
|
<source>Capture Screenshot</source>
|
||||||
|
<translation>Captura de pantalla</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="452"/>
|
||||||
|
<source>F&ull Screen</source>
|
||||||
|
<translation>Pantalla c&ompleta</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="453"/>
|
||||||
|
<source>F11</source>
|
||||||
|
<translation>F11</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="454"/>
|
||||||
|
<source>Flip &Vertically</source>
|
||||||
|
<translation>Inverter na &vertical</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="455"/>
|
||||||
|
<source>&Paste from Clipboard</source>
|
||||||
|
<translation>&Pegar do portapapeis</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="456"/>
|
||||||
|
<source>&Slide Show</source>
|
||||||
|
<translation>&Diaporama</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="457"/>
|
||||||
|
<source>&Delete</source>
|
||||||
|
<translation>&Eliminar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="458"/>
|
||||||
|
<source>Del</source>
|
||||||
|
<translation>Supr</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="459"/>
|
||||||
|
<source>Show Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="460"/>
|
||||||
|
<source>File Properties</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="461"/>
|
||||||
|
<source>&File</source>
|
||||||
|
<translation>&Ficheiro</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="462"/>
|
||||||
|
<source>&Help</source>
|
||||||
|
<translation>&Axuda</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="463"/>
|
||||||
|
<source>Go</source>
|
||||||
|
<translation>Ir a</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="464"/>
|
||||||
|
<source>&View</source>
|
||||||
|
<translation>&Ver</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="465"/>
|
||||||
|
<source>&Edit</source>
|
||||||
|
<translation>&Editar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="466"/>
|
||||||
|
<source>Toolbar</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>toolBar</source>
|
||||||
|
<translation type="obsolete">Barra de ferramentas</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>PreferencesDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="125"/>
|
||||||
|
<source>Preferences</source>
|
||||||
|
<translation>Preferencias</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="126"/>
|
||||||
|
<source>Icon theme:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="127"/>
|
||||||
|
<source>Normal background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="128"/>
|
||||||
|
<source>Fullscreen background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="131"/>
|
||||||
|
<source>Slide show interval (seconds):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="132"/>
|
||||||
|
<source>General</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>TODO: Add configuration options here</source>
|
||||||
|
<translation type="vanished">Por facer: Engadir aquí as opcións de configuración</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Tab 1</source>
|
||||||
|
<translation type="vanished">Lapela 1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Tab 2</source>
|
||||||
|
<translation type="vanished">Lapela 2</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScreenshotDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="123"/>
|
||||||
|
<source>Screenshot</source>
|
||||||
|
<translation>Captura de pantalla</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="124"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation>Obter unha captura de pantalla</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="125"/>
|
||||||
|
<source>Region</source>
|
||||||
|
<translation>Área</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="126"/>
|
||||||
|
<source>Whole screen</source>
|
||||||
|
<translation>Pantalla completa</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="127"/>
|
||||||
|
<source>Current window only</source>
|
||||||
|
<translation>Só a xanela actual</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="128"/>
|
||||||
|
<source>Include mouse cursor</source>
|
||||||
|
<translation>Incluír o punteiro do rato</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="129"/>
|
||||||
|
<source> seconds</source>
|
||||||
|
<translation> segundos</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="130"/>
|
||||||
|
<source>Delay:</source>
|
||||||
|
<translation>Demora:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="131"/>
|
||||||
|
<source>Include window title and frame</source>
|
||||||
|
<translation>Incluír o marco e o título da xanela</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
@ -0,0 +1,438 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="hr">
|
||||||
|
<context>
|
||||||
|
<name>LxImage::Application</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="112"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation>Napravi sliku zaslona</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="113"/>
|
||||||
|
<source>[FILE1, FILE2,...]</source>
|
||||||
|
<translation>[DATOTEKA1, DATOTEKA2,...]</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LxImage::MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="144"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation>O programu</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="145"/>
|
||||||
|
<source>LXImage - a simple and fast image viewer
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></source>
|
||||||
|
<translation>LXImage - jednostavni i brzi preglednik slika
|
||||||
|
|
||||||
|
Autorska prava (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Autori:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="238"/>
|
||||||
|
<source>Open File</source>
|
||||||
|
<translation>Otvori datoteku</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="239"/>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Image files (%1)</source>
|
||||||
|
<translation>Datoteke slika (%1)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Save File</source>
|
||||||
|
<translation>Spremi datoteku</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="516"/>
|
||||||
|
<source>%1 (Loading...) - Image Viewer</source>
|
||||||
|
<translation>%1 (Učitavam...) - Preglednik slika</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="521"/>
|
||||||
|
<source>%1 (Failed to Load) - Image Viewer</source>
|
||||||
|
<translation>%1 (neuspjelo učitavanje) - Pregledmik slika</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="525"/>
|
||||||
|
<source>%1 (%2x%3) - Image Viewer</source>
|
||||||
|
<translation>%1 (%2x%3) - Preglednik slika</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="535"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation>Preglednik slika</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="710"/>
|
||||||
|
<source>Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="412"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation>Preglednik slika</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="413"/>
|
||||||
|
<source>&About</source>
|
||||||
|
<translation>&O programu</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="414"/>
|
||||||
|
<source>&Open File</source>
|
||||||
|
<translation>&Otvori datoteku</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="415"/>
|
||||||
|
<source>Ctrl+O</source>
|
||||||
|
<translation>Ctrl+O</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="416"/>
|
||||||
|
<source>&Save</source>
|
||||||
|
<translation>&Spremi</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="417"/>
|
||||||
|
<source>Ctrl+S</source>
|
||||||
|
<translation>Ctrl+S</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="418"/>
|
||||||
|
<source>Save &As</source>
|
||||||
|
<translation>Spremi &kao</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="419"/>
|
||||||
|
<source>Ctrl+A</source>
|
||||||
|
<translation>Ctrl+A</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="420"/>
|
||||||
|
<source>&Close</source>
|
||||||
|
<translation>&Zatvori</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="421"/>
|
||||||
|
<source>Ctrl+W</source>
|
||||||
|
<translation>Ctrl+W</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="422"/>
|
||||||
|
<source>Zoom &In</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="423"/>
|
||||||
|
<source>Ctrl++</source>
|
||||||
|
<translation>Ctrl++</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="424"/>
|
||||||
|
<source>Zoom &Out</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="425"/>
|
||||||
|
<source>Ctrl+-</source>
|
||||||
|
<translation>Ctrl+-</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="426"/>
|
||||||
|
<source>&Copy to Clipboard</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="427"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="429"/>
|
||||||
|
<source>Next File</source>
|
||||||
|
<translation>Slijedeća datoteka</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Right</source>
|
||||||
|
<translation type="vanished">Desno</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="432"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="434"/>
|
||||||
|
<source>Previous File</source>
|
||||||
|
<translation>Prethodna datoteka</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Left</source>
|
||||||
|
<translation type="vanished">Lijevo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="431"/>
|
||||||
|
<source>PgDown</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="436"/>
|
||||||
|
<source>PgUp</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="437"/>
|
||||||
|
<source>Original Size</source>
|
||||||
|
<translation>Izvorna veličina</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="438"/>
|
||||||
|
<source>&Fit</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="439"/>
|
||||||
|
<source>&Rotate Clockwise</source>
|
||||||
|
<translation>&Rotiraj u smjeru kazaljke na satu</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="440"/>
|
||||||
|
<source>Rotate &Counterclockwise</source>
|
||||||
|
<translation>Rotiraj &obrnuto od smjera kazaljke na satu</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="441"/>
|
||||||
|
<source>P&references</source>
|
||||||
|
<translation>O&sobitosti</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="442"/>
|
||||||
|
<source>&Print</source>
|
||||||
|
<translation>&Ispis</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="443"/>
|
||||||
|
<source>Ctrl+P</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="444"/>
|
||||||
|
<source>First File</source>
|
||||||
|
<translation>Prva datoteka</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="445"/>
|
||||||
|
<source>Home</source>
|
||||||
|
<translation>Osobna mapa</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="446"/>
|
||||||
|
<source>Last File</source>
|
||||||
|
<translation>Zadnja datoteka</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="447"/>
|
||||||
|
<source>End</source>
|
||||||
|
<translation>Kraj</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="448"/>
|
||||||
|
<source>&New Window</source>
|
||||||
|
<translation>&Novi prozor</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="449"/>
|
||||||
|
<source>Ctrl+N</source>
|
||||||
|
<translation>Ctrl+N</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="450"/>
|
||||||
|
<source>Flip &Horizontally</source>
|
||||||
|
<translation>Obrni &vodoravno</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="451"/>
|
||||||
|
<source>Capture Screenshot</source>
|
||||||
|
<translation>Uhvati sliku zaslona</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="452"/>
|
||||||
|
<source>F&ull Screen</source>
|
||||||
|
<translation>C&ijeli zaslon</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="453"/>
|
||||||
|
<source>F11</source>
|
||||||
|
<translation>F11</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="454"/>
|
||||||
|
<source>Flip &Vertically</source>
|
||||||
|
<translation>Obrni &okomito</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="455"/>
|
||||||
|
<source>&Paste from Clipboard</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="456"/>
|
||||||
|
<source>&Slide Show</source>
|
||||||
|
<translation>&Klizni prikaz</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="457"/>
|
||||||
|
<source>&Delete</source>
|
||||||
|
<translation>&Izbriši</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="458"/>
|
||||||
|
<source>Del</source>
|
||||||
|
<translation>Del</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="459"/>
|
||||||
|
<source>Show Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="460"/>
|
||||||
|
<source>File Properties</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="461"/>
|
||||||
|
<source>&File</source>
|
||||||
|
<translation>&Datoteka</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="462"/>
|
||||||
|
<source>&Help</source>
|
||||||
|
<translation>&Pomoć</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="463"/>
|
||||||
|
<source>Go</source>
|
||||||
|
<translation>Idi</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="464"/>
|
||||||
|
<source>&View</source>
|
||||||
|
<translation>&Pogled</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="465"/>
|
||||||
|
<source>&Edit</source>
|
||||||
|
<translation>&Uredi</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="466"/>
|
||||||
|
<source>Toolbar</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>toolBar</source>
|
||||||
|
<translation type="obsolete">alatna traka</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>PreferencesDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="125"/>
|
||||||
|
<source>Preferences</source>
|
||||||
|
<translation>Osobitosti</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="126"/>
|
||||||
|
<source>Icon theme:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="127"/>
|
||||||
|
<source>Normal background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="128"/>
|
||||||
|
<source>Fullscreen background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="131"/>
|
||||||
|
<source>Slide show interval (seconds):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="132"/>
|
||||||
|
<source>General</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>TODO: Add configuration options here</source>
|
||||||
|
<translation type="vanished">TODO: Dodaj konfiguracijske opcije ovdje</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Tab 1</source>
|
||||||
|
<translation type="vanished">Kartica 1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Tab 2</source>
|
||||||
|
<translation type="vanished">Kartica 2</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScreenshotDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="123"/>
|
||||||
|
<source>Screenshot</source>
|
||||||
|
<translation>Snimka zaslona</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="124"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation>Napravi snimku zaslona</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="125"/>
|
||||||
|
<source>Region</source>
|
||||||
|
<translation>Regija</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="126"/>
|
||||||
|
<source>Whole screen</source>
|
||||||
|
<translation>Cijeli zaslon</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="127"/>
|
||||||
|
<source>Current window only</source>
|
||||||
|
<translation>Samo trenutni prozor</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="128"/>
|
||||||
|
<source>Include mouse cursor</source>
|
||||||
|
<translation>uključi pokazivač miša</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="129"/>
|
||||||
|
<source> seconds</source>
|
||||||
|
<translation> sekundi</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="130"/>
|
||||||
|
<source>Delay:</source>
|
||||||
|
<translation>Odgoda:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="131"/>
|
||||||
|
<source>Include window title and frame</source>
|
||||||
|
<translation>Uključi naslov prozora i okvir</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
@ -0,0 +1,440 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="id">
|
||||||
|
<context>
|
||||||
|
<name>LxImage::Application</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="112"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation>Ambil cuplikan layar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="113"/>
|
||||||
|
<source>[FILE1, FILE2,...]</source>
|
||||||
|
<translation>[BERKAS1, BERKAS2, ...]</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LxImage::MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="144"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation>Tentang</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="145"/>
|
||||||
|
<source>LXImage - a simple and fast image viewer
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></source>
|
||||||
|
<translation>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></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="238"/>
|
||||||
|
<source>Open File</source>
|
||||||
|
<translation>Buka Berkas</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="239"/>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Image files (%1)</source>
|
||||||
|
<translation>Berkas gambar (%1)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Save File</source>
|
||||||
|
<translation>Simpan Berkas</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="516"/>
|
||||||
|
<source>%1 (Loading...) - Image Viewer</source>
|
||||||
|
<translation>%1 (Memuat...) - Penampil Gambar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="521"/>
|
||||||
|
<source>%1 (Failed to Load) - Image Viewer</source>
|
||||||
|
<translation>%1 (Gagal Dimuat) - Penampil Gambar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="525"/>
|
||||||
|
<source>%1 (%2x%3) - Image Viewer</source>
|
||||||
|
<translation>%1 (%2x%3) - Penampil Gambar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="535"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation>Penampil Gambar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="710"/>
|
||||||
|
<source>Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="412"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation>Penampil Gambar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="413"/>
|
||||||
|
<source>&About</source>
|
||||||
|
<translation>Tent&ang</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="414"/>
|
||||||
|
<source>&Open File</source>
|
||||||
|
<translation>&Buka Berkas</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="415"/>
|
||||||
|
<source>Ctrl+O</source>
|
||||||
|
<translation>Ctrl+O</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="416"/>
|
||||||
|
<source>&Save</source>
|
||||||
|
<translation>&Simpan</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="417"/>
|
||||||
|
<source>Ctrl+S</source>
|
||||||
|
<translation>Ctrl+S</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="418"/>
|
||||||
|
<source>Save &As</source>
|
||||||
|
<translation>Simpan Seb&agai</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="419"/>
|
||||||
|
<source>Ctrl+A</source>
|
||||||
|
<translation>Ctrl+A</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="420"/>
|
||||||
|
<source>&Close</source>
|
||||||
|
<translation>&Tutup</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="421"/>
|
||||||
|
<source>Ctrl+W</source>
|
||||||
|
<translation>Ctrl+W</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="422"/>
|
||||||
|
<source>Zoom &In</source>
|
||||||
|
<translation>Per&besar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="423"/>
|
||||||
|
<source>Ctrl++</source>
|
||||||
|
<translation>Ctrl++</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="424"/>
|
||||||
|
<source>Zoom &Out</source>
|
||||||
|
<translation type="unfinished">Per&kecil</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="425"/>
|
||||||
|
<source>Ctrl+-</source>
|
||||||
|
<translation>Ctrl+-</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="426"/>
|
||||||
|
<source>&Copy to Clipboard</source>
|
||||||
|
<translation>&Salin ke Papan Klip</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="427"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="429"/>
|
||||||
|
<source>Next File</source>
|
||||||
|
<translation>Berkas Selanjutnya</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Right</source>
|
||||||
|
<translation type="vanished">Kanan</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="432"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="434"/>
|
||||||
|
<source>Previous File</source>
|
||||||
|
<translation>Berkas Sebelumnya</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Left</source>
|
||||||
|
<translation type="vanished">Kiri</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="431"/>
|
||||||
|
<source>PgDown</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="436"/>
|
||||||
|
<source>PgUp</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="437"/>
|
||||||
|
<source>Original Size</source>
|
||||||
|
<translation>Ukuran Asli</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="438"/>
|
||||||
|
<source>&Fit</source>
|
||||||
|
<translation>&Pas</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="439"/>
|
||||||
|
<source>&Rotate Clockwise</source>
|
||||||
|
<translation>Puta&r Searah Jarum Jam</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="440"/>
|
||||||
|
<source>Rotate &Counterclockwise</source>
|
||||||
|
<translation>Putar Ber&lawanan Jarum Jam</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="441"/>
|
||||||
|
<source>P&references</source>
|
||||||
|
<translation>P&referensi</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="442"/>
|
||||||
|
<source>&Print</source>
|
||||||
|
<translation>&Cetak</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="443"/>
|
||||||
|
<source>Ctrl+P</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="444"/>
|
||||||
|
<source>First File</source>
|
||||||
|
<translation>Berkas Pertama</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="445"/>
|
||||||
|
<source>Home</source>
|
||||||
|
<translatorcomment>asumsi: nama tombol</translatorcomment>
|
||||||
|
<translation>Home</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="446"/>
|
||||||
|
<source>Last File</source>
|
||||||
|
<translation>Berkas Terakhir</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="447"/>
|
||||||
|
<source>End</source>
|
||||||
|
<translatorcomment>asumsi: nama tombol</translatorcomment>
|
||||||
|
<translation>End</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="448"/>
|
||||||
|
<source>&New Window</source>
|
||||||
|
<translation>Je&ndela Baru</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="449"/>
|
||||||
|
<source>Ctrl+N</source>
|
||||||
|
<translation>Ctrl+N</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="450"/>
|
||||||
|
<source>Flip &Horizontally</source>
|
||||||
|
<translation>Balikkan Arah &Horisontal</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="451"/>
|
||||||
|
<source>Capture Screenshot</source>
|
||||||
|
<translation>Ambil Cuplikan Layar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="452"/>
|
||||||
|
<source>F&ull Screen</source>
|
||||||
|
<translation>Layar Pen&uh</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="453"/>
|
||||||
|
<source>F11</source>
|
||||||
|
<translation>F11</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="454"/>
|
||||||
|
<source>Flip &Vertically</source>
|
||||||
|
<translation>Balikkan Arah &Vertikal</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="455"/>
|
||||||
|
<source>&Paste from Clipboard</source>
|
||||||
|
<translation>Tem&pel dari Papan Klip</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="456"/>
|
||||||
|
<source>&Slide Show</source>
|
||||||
|
<translation>Pertunjukan &Salindia</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="457"/>
|
||||||
|
<source>&Delete</source>
|
||||||
|
<translation>&Hapus</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="458"/>
|
||||||
|
<source>Del</source>
|
||||||
|
<translation>Del</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="459"/>
|
||||||
|
<source>Show Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="460"/>
|
||||||
|
<source>File Properties</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="461"/>
|
||||||
|
<source>&File</source>
|
||||||
|
<translation>&Berkas</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="462"/>
|
||||||
|
<source>&Help</source>
|
||||||
|
<translation>B&antuan</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="463"/>
|
||||||
|
<source>Go</source>
|
||||||
|
<translation>Pergi</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="464"/>
|
||||||
|
<source>&View</source>
|
||||||
|
<translation>&Lihat</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="465"/>
|
||||||
|
<source>&Edit</source>
|
||||||
|
<translation>&Sunting</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="466"/>
|
||||||
|
<source>Toolbar</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>toolBar</source>
|
||||||
|
<translation type="obsolete">Bilah Alat</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>PreferencesDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="125"/>
|
||||||
|
<source>Preferences</source>
|
||||||
|
<translation>Preferensi</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="126"/>
|
||||||
|
<source>Icon theme:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="127"/>
|
||||||
|
<source>Normal background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="128"/>
|
||||||
|
<source>Fullscreen background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="131"/>
|
||||||
|
<source>Slide show interval (seconds):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="132"/>
|
||||||
|
<source>General</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>TODO: Add configuration options here</source>
|
||||||
|
<translation type="vanished">TODO: Tambahkan opsi konfigurasi di sini</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Tab 1</source>
|
||||||
|
<translation type="vanished">Tab 1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Tab 2</source>
|
||||||
|
<translation type="vanished">Tab 2</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScreenshotDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="123"/>
|
||||||
|
<source>Screenshot</source>
|
||||||
|
<translation>Cuplikan layar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="124"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation>Ambil cuplikan layar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="125"/>
|
||||||
|
<source>Region</source>
|
||||||
|
<translation>Wilayah</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="126"/>
|
||||||
|
<source>Whole screen</source>
|
||||||
|
<translation>Seluruh layar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="127"/>
|
||||||
|
<source>Current window only</source>
|
||||||
|
<translation>Hanya jendela saat ini</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="128"/>
|
||||||
|
<source>Include mouse cursor</source>
|
||||||
|
<translation>Sertakan kursor tetikus</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="129"/>
|
||||||
|
<source> seconds</source>
|
||||||
|
<translation> detik</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="130"/>
|
||||||
|
<source>Delay:</source>
|
||||||
|
<translation>Tundaan:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="131"/>
|
||||||
|
<source>Include window title and frame</source>
|
||||||
|
<translation>Sertakan rangka dan judul jendela</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
@ -0,0 +1,408 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="is">
|
||||||
|
<context>
|
||||||
|
<name>LxImage::Application</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="112"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="113"/>
|
||||||
|
<source>[FILE1, FILE2,...]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LxImage::MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="144"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="145"/>
|
||||||
|
<source>LXImage - a simple and fast image viewer
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="238"/>
|
||||||
|
<source>Open File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="239"/>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Image files (%1)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Save File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="516"/>
|
||||||
|
<source>%1 (Loading...) - Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="521"/>
|
||||||
|
<source>%1 (Failed to Load) - Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="525"/>
|
||||||
|
<source>%1 (%2x%3) - Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="535"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="710"/>
|
||||||
|
<source>Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="412"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="413"/>
|
||||||
|
<source>&About</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="414"/>
|
||||||
|
<source>&Open File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="415"/>
|
||||||
|
<source>Ctrl+O</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="416"/>
|
||||||
|
<source>&Save</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="417"/>
|
||||||
|
<source>Ctrl+S</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="418"/>
|
||||||
|
<source>Save &As</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="419"/>
|
||||||
|
<source>Ctrl+A</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="420"/>
|
||||||
|
<source>&Close</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="421"/>
|
||||||
|
<source>Ctrl+W</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="422"/>
|
||||||
|
<source>Zoom &In</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="423"/>
|
||||||
|
<source>Ctrl++</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="424"/>
|
||||||
|
<source>Zoom &Out</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="425"/>
|
||||||
|
<source>Ctrl+-</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="426"/>
|
||||||
|
<source>&Copy to Clipboard</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="427"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="429"/>
|
||||||
|
<source>Next File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="432"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="434"/>
|
||||||
|
<source>Previous File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="431"/>
|
||||||
|
<source>PgDown</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="436"/>
|
||||||
|
<source>PgUp</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="437"/>
|
||||||
|
<source>Original Size</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="438"/>
|
||||||
|
<source>&Fit</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="439"/>
|
||||||
|
<source>&Rotate Clockwise</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="440"/>
|
||||||
|
<source>Rotate &Counterclockwise</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="441"/>
|
||||||
|
<source>P&references</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="442"/>
|
||||||
|
<source>&Print</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="443"/>
|
||||||
|
<source>Ctrl+P</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="444"/>
|
||||||
|
<source>First File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="445"/>
|
||||||
|
<source>Home</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="446"/>
|
||||||
|
<source>Last File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="447"/>
|
||||||
|
<source>End</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="448"/>
|
||||||
|
<source>&New Window</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="449"/>
|
||||||
|
<source>Ctrl+N</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="450"/>
|
||||||
|
<source>Flip &Horizontally</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="451"/>
|
||||||
|
<source>Capture Screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="452"/>
|
||||||
|
<source>F&ull Screen</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="453"/>
|
||||||
|
<source>F11</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="454"/>
|
||||||
|
<source>Flip &Vertically</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="455"/>
|
||||||
|
<source>&Paste from Clipboard</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="456"/>
|
||||||
|
<source>&Slide Show</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="457"/>
|
||||||
|
<source>&Delete</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="458"/>
|
||||||
|
<source>Del</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="459"/>
|
||||||
|
<source>Show Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="460"/>
|
||||||
|
<source>File Properties</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="461"/>
|
||||||
|
<source>&File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="462"/>
|
||||||
|
<source>&Help</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="463"/>
|
||||||
|
<source>Go</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="464"/>
|
||||||
|
<source>&View</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="465"/>
|
||||||
|
<source>&Edit</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="466"/>
|
||||||
|
<source>Toolbar</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>PreferencesDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="125"/>
|
||||||
|
<source>Preferences</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="126"/>
|
||||||
|
<source>Icon theme:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="127"/>
|
||||||
|
<source>Normal background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="128"/>
|
||||||
|
<source>Fullscreen background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="131"/>
|
||||||
|
<source>Slide show interval (seconds):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="132"/>
|
||||||
|
<source>General</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScreenshotDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="123"/>
|
||||||
|
<source>Screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="124"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="125"/>
|
||||||
|
<source>Region</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="126"/>
|
||||||
|
<source>Whole screen</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="127"/>
|
||||||
|
<source>Current window only</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="128"/>
|
||||||
|
<source>Include mouse cursor</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="129"/>
|
||||||
|
<source> seconds</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="130"/>
|
||||||
|
<source>Delay:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="131"/>
|
||||||
|
<source>Include window title and frame</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
@ -0,0 +1,3 @@
|
|||||||
|
#Translations
|
||||||
|
Name[it]=Visualizzatore immagini
|
||||||
|
Comment[it]=Il visualizzatore immagini di LXQt
|
@ -0,0 +1,417 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="it" sourcelanguage="it">
|
||||||
|
<context>
|
||||||
|
<name>LxImage::Application</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="112"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation>Cattura una schermata</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="113"/>
|
||||||
|
<source>[FILE1, FILE2,...]</source>
|
||||||
|
<translation>[File1, File2,...]</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LxImage::MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="144"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation>A proposito</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="145"/>
|
||||||
|
<source>LXImage - a simple and fast image viewer
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></source>
|
||||||
|
<translatorcomment>need update...</translatorcomment>
|
||||||
|
<translation type="unfinished">LXImage - un visualizzatore immagini semplice e veloce
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Autor:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="238"/>
|
||||||
|
<source>Open File</source>
|
||||||
|
<translation>Apri file</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="239"/>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Image files (%1)</source>
|
||||||
|
<translation>File immagini (%1)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Save File</source>
|
||||||
|
<translation>Salva file</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="516"/>
|
||||||
|
<source>%1 (Loading...) - Image Viewer</source>
|
||||||
|
<translation>%1 (Caricando...) - Visualizzatore immagini</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="521"/>
|
||||||
|
<source>%1 (Failed to Load) - Image Viewer</source>
|
||||||
|
<translation>%1 (Errore in caricamento) - Visualizzatore immagini</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="525"/>
|
||||||
|
<source>%1 (%2x%3) - Image Viewer</source>
|
||||||
|
<translation>%1 (%2x%3) - Visualizzatore Immagini</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="535"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation>Visualizzatore immagini</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="710"/>
|
||||||
|
<source>Thumbnails</source>
|
||||||
|
<translation>Miniature</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="412"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation>Visualizzatore immagini</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="413"/>
|
||||||
|
<source>&About</source>
|
||||||
|
<translation>A &proposito</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="414"/>
|
||||||
|
<source>&Open File</source>
|
||||||
|
<translation>&Apri</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="415"/>
|
||||||
|
<source>Ctrl+O</source>
|
||||||
|
<translatorcomment>Shortcuts werden automatisch übersetzt</translatorcomment>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="416"/>
|
||||||
|
<source>&Save</source>
|
||||||
|
<translation>&Salva</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="417"/>
|
||||||
|
<source>Ctrl+S</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="418"/>
|
||||||
|
<source>Save &As</source>
|
||||||
|
<translation>Salva &come</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="419"/>
|
||||||
|
<source>Ctrl+A</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="420"/>
|
||||||
|
<source>&Close</source>
|
||||||
|
<translation>&Chiudi</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="421"/>
|
||||||
|
<source>Ctrl+W</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="422"/>
|
||||||
|
<source>Zoom &In</source>
|
||||||
|
<translation>&Ingrandisci</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="423"/>
|
||||||
|
<source>Ctrl++</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="424"/>
|
||||||
|
<source>Zoom &Out</source>
|
||||||
|
<translation>&Rimpicciolisci</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="425"/>
|
||||||
|
<source>Ctrl+-</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="426"/>
|
||||||
|
<source>&Copy to Clipboard</source>
|
||||||
|
<translation>&Copia negli appunti</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="427"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="429"/>
|
||||||
|
<source>Next File</source>
|
||||||
|
<translation>Prossimo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="432"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="434"/>
|
||||||
|
<source>Previous File</source>
|
||||||
|
<translation>Precedente</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="431"/>
|
||||||
|
<source>PgDown</source>
|
||||||
|
<translation>Pagina giù</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="436"/>
|
||||||
|
<source>PgUp</source>
|
||||||
|
<translation>Pagina sù</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="437"/>
|
||||||
|
<source>Original Size</source>
|
||||||
|
<translation type="unfinished">&Dimensioni originiali</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="438"/>
|
||||||
|
<source>&Fit</source>
|
||||||
|
<translation>&Adatta alla finestra</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="439"/>
|
||||||
|
<source>&Rotate Clockwise</source>
|
||||||
|
<translation>Gira a &destra</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="440"/>
|
||||||
|
<source>Rotate &Counterclockwise</source>
|
||||||
|
<translation>Gira a &sinistra</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="441"/>
|
||||||
|
<source>P&references</source>
|
||||||
|
<translation>&Preferenze</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="442"/>
|
||||||
|
<source>&Print</source>
|
||||||
|
<translation>&Stampa</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="443"/>
|
||||||
|
<source>Ctrl+P</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="444"/>
|
||||||
|
<source>First File</source>
|
||||||
|
<translation>Primo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="445"/>
|
||||||
|
<source>Home</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="446"/>
|
||||||
|
<source>Last File</source>
|
||||||
|
<translation>Ultimo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="447"/>
|
||||||
|
<source>End</source>
|
||||||
|
<translation>Fine</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="448"/>
|
||||||
|
<source>&New Window</source>
|
||||||
|
<translation>&Nuova finestra</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="449"/>
|
||||||
|
<source>Ctrl+N</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="450"/>
|
||||||
|
<source>Flip &Horizontally</source>
|
||||||
|
<translation>Rispecchia &horizzontalmente</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="451"/>
|
||||||
|
<source>Capture Screenshot</source>
|
||||||
|
<translation>Cattura schermata</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="452"/>
|
||||||
|
<source>F&ull Screen</source>
|
||||||
|
<translation>&Schermo intero</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="453"/>
|
||||||
|
<source>F11</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="454"/>
|
||||||
|
<source>Flip &Vertically</source>
|
||||||
|
<translation>Rispecchia &verticalmente</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="455"/>
|
||||||
|
<source>&Paste from Clipboard</source>
|
||||||
|
<translation>&Incolla da appunti</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="456"/>
|
||||||
|
<source>&Slide Show</source>
|
||||||
|
<translation>&Presentazione</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="457"/>
|
||||||
|
<source>&Delete</source>
|
||||||
|
<translation>&Cestina</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="458"/>
|
||||||
|
<source>Del</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="459"/>
|
||||||
|
<source>Show Thumbnails</source>
|
||||||
|
<translation type="unfinished">&Mostra barra miniature</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="460"/>
|
||||||
|
<source>File Properties</source>
|
||||||
|
<translatorcomment>Übersetzung von 'file' weggelassen, da redundant.</translatorcomment>
|
||||||
|
<translation>Proprietà</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="461"/>
|
||||||
|
<source>&File</source>
|
||||||
|
<translation>&File</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="462"/>
|
||||||
|
<source>&Help</source>
|
||||||
|
<translation>&Aiuto</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="463"/>
|
||||||
|
<source>Go</source>
|
||||||
|
<translation>Vai</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="464"/>
|
||||||
|
<source>&View</source>
|
||||||
|
<translation>&Visualizza</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="465"/>
|
||||||
|
<source>&Edit</source>
|
||||||
|
<translation>&Modifica</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="466"/>
|
||||||
|
<source>Toolbar</source>
|
||||||
|
<translation>Barra degli strumenti</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>PreferencesDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="125"/>
|
||||||
|
<source>Preferences</source>
|
||||||
|
<translation>Preferenze</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="126"/>
|
||||||
|
<source>Icon theme:</source>
|
||||||
|
<translation>Tema icone:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="127"/>
|
||||||
|
<source>Normal background color:</source>
|
||||||
|
<translation>Colore sfondo:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="128"/>
|
||||||
|
<source>Fullscreen background color:</source>
|
||||||
|
<translation>Colore sfondo schermo intero:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="131"/>
|
||||||
|
<source>Slide show interval (seconds):</source>
|
||||||
|
<translation>Ritardo presentazione (secondi):</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="132"/>
|
||||||
|
<source>General</source>
|
||||||
|
<translation>Generali</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScreenshotDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="123"/>
|
||||||
|
<source>Screenshot</source>
|
||||||
|
<translation>Schermata</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="124"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation>Catturta schermata</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="125"/>
|
||||||
|
<source>Region</source>
|
||||||
|
<translation>Regione</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="126"/>
|
||||||
|
<source>Whole screen</source>
|
||||||
|
<translation>Schermo intero</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="127"/>
|
||||||
|
<source>Current window only</source>
|
||||||
|
<translation>Finestra attuale</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="128"/>
|
||||||
|
<source>Include mouse cursor</source>
|
||||||
|
<translation>Includi cursore</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="129"/>
|
||||||
|
<source> seconds</source>
|
||||||
|
<translation> secondi</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="130"/>
|
||||||
|
<source>Delay:</source>
|
||||||
|
<translation>Ritardo:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="131"/>
|
||||||
|
<source>Include window title and frame</source>
|
||||||
|
<translation>Includi cornice finestra</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
@ -0,0 +1,438 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="ja">
|
||||||
|
<context>
|
||||||
|
<name>LxImage::Application</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="112"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation>スクリーンショットを撮る</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="113"/>
|
||||||
|
<source>[FILE1, FILE2,...]</source>
|
||||||
|
<translation>[ファイル1, ファイル2,...]</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LxImage::MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="144"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation>このアプリケーションについて</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="145"/>
|
||||||
|
<source>LXImage - a simple and fast image viewer
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></source>
|
||||||
|
<translation>LXImage - シンプルで高速な画像ビューワ
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
作者:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="238"/>
|
||||||
|
<source>Open File</source>
|
||||||
|
<translation>ファイルを開く</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="239"/>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Image files (%1)</source>
|
||||||
|
<translation>画像ファイル (%1)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Save File</source>
|
||||||
|
<translation>ファイルの保存</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="516"/>
|
||||||
|
<source>%1 (Loading...) - Image Viewer</source>
|
||||||
|
<translation>%1 (読み込み中...) - 画像ビューワ</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="521"/>
|
||||||
|
<source>%1 (Failed to Load) - Image Viewer</source>
|
||||||
|
<translation>%1 (読み込みに失敗) - 画像ビューワ</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="525"/>
|
||||||
|
<source>%1 (%2x%3) - Image Viewer</source>
|
||||||
|
<translation>%1 (%2x%3) - 画像ビューワ</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="535"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation>画像ビューワ</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="710"/>
|
||||||
|
<source>Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="412"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation>画像ビューワ</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="413"/>
|
||||||
|
<source>&About</source>
|
||||||
|
<translation>このアプリケーションについて(&A)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="414"/>
|
||||||
|
<source>&Open File</source>
|
||||||
|
<translation>ファイルを開く(&O)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="415"/>
|
||||||
|
<source>Ctrl+O</source>
|
||||||
|
<translation>Ctrl+O</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="416"/>
|
||||||
|
<source>&Save</source>
|
||||||
|
<translation>保存(&S)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="417"/>
|
||||||
|
<source>Ctrl+S</source>
|
||||||
|
<translation>Ctrl+S</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="418"/>
|
||||||
|
<source>Save &As</source>
|
||||||
|
<translation>名前を付けて保存(&A)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="419"/>
|
||||||
|
<source>Ctrl+A</source>
|
||||||
|
<translation>Ctrl+A</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="420"/>
|
||||||
|
<source>&Close</source>
|
||||||
|
<translation>閉じる(&C)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="421"/>
|
||||||
|
<source>Ctrl+W</source>
|
||||||
|
<translation>Ctrl+W</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="422"/>
|
||||||
|
<source>Zoom &In</source>
|
||||||
|
<translation>拡大(&I)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="423"/>
|
||||||
|
<source>Ctrl++</source>
|
||||||
|
<translation>Ctrl++</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="424"/>
|
||||||
|
<source>Zoom &Out</source>
|
||||||
|
<translation>縮小(&O)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="425"/>
|
||||||
|
<source>Ctrl+-</source>
|
||||||
|
<translation>Ctrl+-</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="426"/>
|
||||||
|
<source>&Copy to Clipboard</source>
|
||||||
|
<translation>クリップボードへコピー(&C)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="427"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="429"/>
|
||||||
|
<source>Next File</source>
|
||||||
|
<translation>次のファイル</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Right</source>
|
||||||
|
<translation type="vanished">右</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="432"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="434"/>
|
||||||
|
<source>Previous File</source>
|
||||||
|
<translation>前のファイル</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Left</source>
|
||||||
|
<translation type="vanished">左</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="431"/>
|
||||||
|
<source>PgDown</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="436"/>
|
||||||
|
<source>PgUp</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="437"/>
|
||||||
|
<source>Original Size</source>
|
||||||
|
<translation>原寸大</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="438"/>
|
||||||
|
<source>&Fit</source>
|
||||||
|
<translation>フィット(&F)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="439"/>
|
||||||
|
<source>&Rotate Clockwise</source>
|
||||||
|
<translation>時計方向に回転(&R)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="440"/>
|
||||||
|
<source>Rotate &Counterclockwise</source>
|
||||||
|
<translation>反時計方向に回転(&C)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="441"/>
|
||||||
|
<source>P&references</source>
|
||||||
|
<translation>設定(&R)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="442"/>
|
||||||
|
<source>&Print</source>
|
||||||
|
<translation>印刷(&P)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="443"/>
|
||||||
|
<source>Ctrl+P</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="444"/>
|
||||||
|
<source>First File</source>
|
||||||
|
<translation>最初のファイル</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="445"/>
|
||||||
|
<source>Home</source>
|
||||||
|
<translation>Home</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="446"/>
|
||||||
|
<source>Last File</source>
|
||||||
|
<translation>最後のファイル</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="447"/>
|
||||||
|
<source>End</source>
|
||||||
|
<translation>End</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="448"/>
|
||||||
|
<source>&New Window</source>
|
||||||
|
<translation>新規ウィンドウ(&N)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="449"/>
|
||||||
|
<source>Ctrl+N</source>
|
||||||
|
<translation>Ctrl+N</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="450"/>
|
||||||
|
<source>Flip &Horizontally</source>
|
||||||
|
<translation>水平方向に反転(&H)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="451"/>
|
||||||
|
<source>Capture Screenshot</source>
|
||||||
|
<translation>スクリーンショットを撮る</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="452"/>
|
||||||
|
<source>F&ull Screen</source>
|
||||||
|
<translation>全画面(&U)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="453"/>
|
||||||
|
<source>F11</source>
|
||||||
|
<translation>F11</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="454"/>
|
||||||
|
<source>Flip &Vertically</source>
|
||||||
|
<translation>垂直方向に反転(&V)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="455"/>
|
||||||
|
<source>&Paste from Clipboard</source>
|
||||||
|
<translation>クリップボードからペースト(&P)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="456"/>
|
||||||
|
<source>&Slide Show</source>
|
||||||
|
<translation>スライドショー(&S)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="457"/>
|
||||||
|
<source>&Delete</source>
|
||||||
|
<translation>削除(&D)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="458"/>
|
||||||
|
<source>Del</source>
|
||||||
|
<translation>Del</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="459"/>
|
||||||
|
<source>Show Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="460"/>
|
||||||
|
<source>File Properties</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="461"/>
|
||||||
|
<source>&File</source>
|
||||||
|
<translation>ファイル(&F)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="462"/>
|
||||||
|
<source>&Help</source>
|
||||||
|
<translation>ヘルプ(&H)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="463"/>
|
||||||
|
<source>Go</source>
|
||||||
|
<translation>移動</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="464"/>
|
||||||
|
<source>&View</source>
|
||||||
|
<translation>表示(&V)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="465"/>
|
||||||
|
<source>&Edit</source>
|
||||||
|
<translation>編集(&E)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="466"/>
|
||||||
|
<source>Toolbar</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>toolBar</source>
|
||||||
|
<translation type="vanished">ツールバー</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>PreferencesDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="125"/>
|
||||||
|
<source>Preferences</source>
|
||||||
|
<translation>設定</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="126"/>
|
||||||
|
<source>Icon theme:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="127"/>
|
||||||
|
<source>Normal background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="128"/>
|
||||||
|
<source>Fullscreen background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="131"/>
|
||||||
|
<source>Slide show interval (seconds):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="132"/>
|
||||||
|
<source>General</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>TODO: Add configuration options here</source>
|
||||||
|
<translation type="vanished">TODO: Add configuration options here</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Tab 1</source>
|
||||||
|
<translation type="vanished">タブ 1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Tab 2</source>
|
||||||
|
<translation type="vanished">タブ 2</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScreenshotDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="123"/>
|
||||||
|
<source>Screenshot</source>
|
||||||
|
<translation>スクリーンショット</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="124"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation>スクリーンショットを撮る</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="125"/>
|
||||||
|
<source>Region</source>
|
||||||
|
<translation>領域</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="126"/>
|
||||||
|
<source>Whole screen</source>
|
||||||
|
<translation>画面全体</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="127"/>
|
||||||
|
<source>Current window only</source>
|
||||||
|
<translation>現在のウィンドウのみ</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="128"/>
|
||||||
|
<source>Include mouse cursor</source>
|
||||||
|
<translation>マウスカーソルを含む</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="129"/>
|
||||||
|
<source> seconds</source>
|
||||||
|
<translation> 秒</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="130"/>
|
||||||
|
<source>Delay:</source>
|
||||||
|
<translation>遅延:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="131"/>
|
||||||
|
<source>Include window title and frame</source>
|
||||||
|
<translation>ウィンドウのタイトルと枠を含む</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
@ -0,0 +1,408 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="pa">
|
||||||
|
<context>
|
||||||
|
<name>LxImage::Application</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="112"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="113"/>
|
||||||
|
<source>[FILE1, FILE2,...]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LxImage::MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="144"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="145"/>
|
||||||
|
<source>LXImage - a simple and fast image viewer
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="238"/>
|
||||||
|
<source>Open File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="239"/>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Image files (%1)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Save File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="516"/>
|
||||||
|
<source>%1 (Loading...) - Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="521"/>
|
||||||
|
<source>%1 (Failed to Load) - Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="525"/>
|
||||||
|
<source>%1 (%2x%3) - Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="535"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="710"/>
|
||||||
|
<source>Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="412"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="413"/>
|
||||||
|
<source>&About</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="414"/>
|
||||||
|
<source>&Open File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="415"/>
|
||||||
|
<source>Ctrl+O</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="416"/>
|
||||||
|
<source>&Save</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="417"/>
|
||||||
|
<source>Ctrl+S</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="418"/>
|
||||||
|
<source>Save &As</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="419"/>
|
||||||
|
<source>Ctrl+A</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="420"/>
|
||||||
|
<source>&Close</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="421"/>
|
||||||
|
<source>Ctrl+W</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="422"/>
|
||||||
|
<source>Zoom &In</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="423"/>
|
||||||
|
<source>Ctrl++</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="424"/>
|
||||||
|
<source>Zoom &Out</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="425"/>
|
||||||
|
<source>Ctrl+-</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="426"/>
|
||||||
|
<source>&Copy to Clipboard</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="427"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="429"/>
|
||||||
|
<source>Next File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="432"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="434"/>
|
||||||
|
<source>Previous File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="431"/>
|
||||||
|
<source>PgDown</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="436"/>
|
||||||
|
<source>PgUp</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="437"/>
|
||||||
|
<source>Original Size</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="438"/>
|
||||||
|
<source>&Fit</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="439"/>
|
||||||
|
<source>&Rotate Clockwise</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="440"/>
|
||||||
|
<source>Rotate &Counterclockwise</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="441"/>
|
||||||
|
<source>P&references</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="442"/>
|
||||||
|
<source>&Print</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="443"/>
|
||||||
|
<source>Ctrl+P</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="444"/>
|
||||||
|
<source>First File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="445"/>
|
||||||
|
<source>Home</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="446"/>
|
||||||
|
<source>Last File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="447"/>
|
||||||
|
<source>End</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="448"/>
|
||||||
|
<source>&New Window</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="449"/>
|
||||||
|
<source>Ctrl+N</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="450"/>
|
||||||
|
<source>Flip &Horizontally</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="451"/>
|
||||||
|
<source>Capture Screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="452"/>
|
||||||
|
<source>F&ull Screen</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="453"/>
|
||||||
|
<source>F11</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="454"/>
|
||||||
|
<source>Flip &Vertically</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="455"/>
|
||||||
|
<source>&Paste from Clipboard</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="456"/>
|
||||||
|
<source>&Slide Show</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="457"/>
|
||||||
|
<source>&Delete</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="458"/>
|
||||||
|
<source>Del</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="459"/>
|
||||||
|
<source>Show Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="460"/>
|
||||||
|
<source>File Properties</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="461"/>
|
||||||
|
<source>&File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="462"/>
|
||||||
|
<source>&Help</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="463"/>
|
||||||
|
<source>Go</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="464"/>
|
||||||
|
<source>&View</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="465"/>
|
||||||
|
<source>&Edit</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="466"/>
|
||||||
|
<source>Toolbar</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>PreferencesDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="125"/>
|
||||||
|
<source>Preferences</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="126"/>
|
||||||
|
<source>Icon theme:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="127"/>
|
||||||
|
<source>Normal background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="128"/>
|
||||||
|
<source>Fullscreen background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="131"/>
|
||||||
|
<source>Slide show interval (seconds):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="132"/>
|
||||||
|
<source>General</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScreenshotDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="123"/>
|
||||||
|
<source>Screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="124"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="125"/>
|
||||||
|
<source>Region</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="126"/>
|
||||||
|
<source>Whole screen</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="127"/>
|
||||||
|
<source>Current window only</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="128"/>
|
||||||
|
<source>Include mouse cursor</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="129"/>
|
||||||
|
<source> seconds</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="130"/>
|
||||||
|
<source>Delay:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="131"/>
|
||||||
|
<source>Include window title and frame</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
@ -0,0 +1,438 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="pl">
|
||||||
|
<context>
|
||||||
|
<name>LxImage::Application</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="112"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation>Wykonaj zrzut ekranu</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="113"/>
|
||||||
|
<source>[FILE1, FILE2,...]</source>
|
||||||
|
<translation>[PLIK1, PLIK2,...]</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LxImage::MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="144"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation>O programie</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="145"/>
|
||||||
|
<source>LXImage - a simple and fast image viewer
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></source>
|
||||||
|
<translation>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></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="238"/>
|
||||||
|
<source>Open File</source>
|
||||||
|
<translation>Otwórz plik</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="239"/>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Image files (%1)</source>
|
||||||
|
<translation>Pliki obrazów (%1)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Save File</source>
|
||||||
|
<translation>Zapisz plik</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="516"/>
|
||||||
|
<source>%1 (Loading...) - Image Viewer</source>
|
||||||
|
<translation>%1 (Wczytywanie...) - Przeglądarka obrazów</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="521"/>
|
||||||
|
<source>%1 (Failed to Load) - Image Viewer</source>
|
||||||
|
<translation>%1 (Błąd wczytywania) - Przeglądarka obrazów</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="525"/>
|
||||||
|
<source>%1 (%2x%3) - Image Viewer</source>
|
||||||
|
<translation>%1 (%2x%3) - Przeglądarka obrazów</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="535"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation>Przeglądarka obrazów</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="710"/>
|
||||||
|
<source>Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="412"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation>Przeglądarka obrazów</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="413"/>
|
||||||
|
<source>&About</source>
|
||||||
|
<translation>&O programie</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="414"/>
|
||||||
|
<source>&Open File</source>
|
||||||
|
<translation>O&twórz plik</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="415"/>
|
||||||
|
<source>Ctrl+O</source>
|
||||||
|
<translation>Ctrl+O</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="416"/>
|
||||||
|
<source>&Save</source>
|
||||||
|
<translation>&Zapisz</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="417"/>
|
||||||
|
<source>Ctrl+S</source>
|
||||||
|
<translation>Ctrl+S</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="418"/>
|
||||||
|
<source>Save &As</source>
|
||||||
|
<translation>Z&apisz jako</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="419"/>
|
||||||
|
<source>Ctrl+A</source>
|
||||||
|
<translation>Ctrl+A</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="420"/>
|
||||||
|
<source>&Close</source>
|
||||||
|
<translation>&Zamknij</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="421"/>
|
||||||
|
<source>Ctrl+W</source>
|
||||||
|
<translation>Ctrl+W</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="422"/>
|
||||||
|
<source>Zoom &In</source>
|
||||||
|
<translation>Po&większ</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="423"/>
|
||||||
|
<source>Ctrl++</source>
|
||||||
|
<translation>Ctrl++</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="424"/>
|
||||||
|
<source>Zoom &Out</source>
|
||||||
|
<translation type="unfinished">Po&mniejsz</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="425"/>
|
||||||
|
<source>Ctrl+-</source>
|
||||||
|
<translation>Ctrl+-</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="426"/>
|
||||||
|
<source>&Copy to Clipboard</source>
|
||||||
|
<translation>&Kopiuj do schowka</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="427"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="429"/>
|
||||||
|
<source>Next File</source>
|
||||||
|
<translation>Następny plik</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Right</source>
|
||||||
|
<translation type="vanished">W prawo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="432"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="434"/>
|
||||||
|
<source>Previous File</source>
|
||||||
|
<translation>Poprzedni plik</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Left</source>
|
||||||
|
<translation type="vanished">W lewo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="431"/>
|
||||||
|
<source>PgDown</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="436"/>
|
||||||
|
<source>PgUp</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="437"/>
|
||||||
|
<source>Original Size</source>
|
||||||
|
<translation>Rozmiar oryginalny</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="438"/>
|
||||||
|
<source>&Fit</source>
|
||||||
|
<translation>Dopa&sowanie</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="439"/>
|
||||||
|
<source>&Rotate Clockwise</source>
|
||||||
|
<translation>Obróć &zgodnie z ruchem wskazówek zegara</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="440"/>
|
||||||
|
<source>Rotate &Counterclockwise</source>
|
||||||
|
<translation>Ob&róć przeciwnie do ruchu wskazówek zegara</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="441"/>
|
||||||
|
<source>P&references</source>
|
||||||
|
<translation>Pre&ferencje</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="442"/>
|
||||||
|
<source>&Print</source>
|
||||||
|
<translation>&Drukuj</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="443"/>
|
||||||
|
<source>Ctrl+P</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="444"/>
|
||||||
|
<source>First File</source>
|
||||||
|
<translation>Pierwszy plik</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="445"/>
|
||||||
|
<source>Home</source>
|
||||||
|
<translation>Początek</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="446"/>
|
||||||
|
<source>Last File</source>
|
||||||
|
<translation>Ostatni plik</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="447"/>
|
||||||
|
<source>End</source>
|
||||||
|
<translation>Koniec</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="448"/>
|
||||||
|
<source>&New Window</source>
|
||||||
|
<translation>&Nowe okno</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="449"/>
|
||||||
|
<source>Ctrl+N</source>
|
||||||
|
<translation>Ctrl+N</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="450"/>
|
||||||
|
<source>Flip &Horizontally</source>
|
||||||
|
<translation>Od&bij w poziomie</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="451"/>
|
||||||
|
<source>Capture Screenshot</source>
|
||||||
|
<translation>Przechwyć zrzut ekranu</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="452"/>
|
||||||
|
<source>F&ull Screen</source>
|
||||||
|
<translation>&Pełny ekran</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="453"/>
|
||||||
|
<source>F11</source>
|
||||||
|
<translation>F11</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="454"/>
|
||||||
|
<source>Flip &Vertically</source>
|
||||||
|
<translation>Odbi&j w pionie</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="455"/>
|
||||||
|
<source>&Paste from Clipboard</source>
|
||||||
|
<translation>&Wklej ze schowka</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="456"/>
|
||||||
|
<source>&Slide Show</source>
|
||||||
|
<translation>Pokaz s&lajdów</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="457"/>
|
||||||
|
<source>&Delete</source>
|
||||||
|
<translation>&Usuń</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="458"/>
|
||||||
|
<source>Del</source>
|
||||||
|
<translation>Usuń</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="459"/>
|
||||||
|
<source>Show Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="460"/>
|
||||||
|
<source>File Properties</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="461"/>
|
||||||
|
<source>&File</source>
|
||||||
|
<translation>&Plik</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="462"/>
|
||||||
|
<source>&Help</source>
|
||||||
|
<translation>Pomo&c</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="463"/>
|
||||||
|
<source>Go</source>
|
||||||
|
<translation>Przejdź</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="464"/>
|
||||||
|
<source>&View</source>
|
||||||
|
<translation>&Widok</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="465"/>
|
||||||
|
<source>&Edit</source>
|
||||||
|
<translation>&Edycja</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="466"/>
|
||||||
|
<source>Toolbar</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>toolBar</source>
|
||||||
|
<translation type="obsolete">Pasek narzędzi</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>PreferencesDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="125"/>
|
||||||
|
<source>Preferences</source>
|
||||||
|
<translation>Ustawienia</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="126"/>
|
||||||
|
<source>Icon theme:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="127"/>
|
||||||
|
<source>Normal background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="128"/>
|
||||||
|
<source>Fullscreen background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="131"/>
|
||||||
|
<source>Slide show interval (seconds):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="132"/>
|
||||||
|
<source>General</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>TODO: Add configuration options here</source>
|
||||||
|
<translation type="vanished">Do zrobienia: Dodać tutaj opcje konfiguracyjne</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Tab 1</source>
|
||||||
|
<translation type="vanished">Karta 1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Tab 2</source>
|
||||||
|
<translation type="vanished">Karta 2</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScreenshotDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="123"/>
|
||||||
|
<source>Screenshot</source>
|
||||||
|
<translation>Zrzut ekranu</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="124"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation>Wykonaj zrzut ekranu</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="125"/>
|
||||||
|
<source>Region</source>
|
||||||
|
<translation>Obszar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="126"/>
|
||||||
|
<source>Whole screen</source>
|
||||||
|
<translation>Cały ekran</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="127"/>
|
||||||
|
<source>Current window only</source>
|
||||||
|
<translation>Tylko bieżące okno</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="128"/>
|
||||||
|
<source>Include mouse cursor</source>
|
||||||
|
<translation>Dołącz kursor myszy</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="129"/>
|
||||||
|
<source> seconds</source>
|
||||||
|
<translation> sekund</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="130"/>
|
||||||
|
<source>Delay:</source>
|
||||||
|
<translation>Opóźnienie:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="131"/>
|
||||||
|
<source>Include window title and frame</source>
|
||||||
|
<translation>Dołącz tytuł okna i obramowanie</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
@ -0,0 +1,4 @@
|
|||||||
|
#Translations
|
||||||
|
Name[pt]=LXImage-Qt
|
||||||
|
GenericName[pt]=Visualizador de imagens
|
||||||
|
Comment[pt]=O visualizador de imagens do LxQt
|
@ -0,0 +1,438 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.0" language="pt">
|
||||||
|
<context>
|
||||||
|
<name>LxImage::Application</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="112"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation>Obter captura de ecrã</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="113"/>
|
||||||
|
<source>[FILE1, FILE2,...]</source>
|
||||||
|
<translation>[Ficheiro1, ficheiro2,...]</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LxImage::MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="144"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation>Sobre</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="145"/>
|
||||||
|
<source>LXImage - a simple and fast image viewer
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></source>
|
||||||
|
<translation>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></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="238"/>
|
||||||
|
<source>Open File</source>
|
||||||
|
<translation>Abrir ficheiro</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="239"/>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Image files (%1)</source>
|
||||||
|
<translation>Ficheiros de imagem (%1)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Save File</source>
|
||||||
|
<translation>Gravar ficheiro</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="516"/>
|
||||||
|
<source>%1 (Loading...) - Image Viewer</source>
|
||||||
|
<translation>%1 (carregamento...) - Visualizador de imagens</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="521"/>
|
||||||
|
<source>%1 (Failed to Load) - Image Viewer</source>
|
||||||
|
<translation>%1 (falha ao carregar) - Visualizador de imagens</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="525"/>
|
||||||
|
<source>%1 (%2x%3) - Image Viewer</source>
|
||||||
|
<translation>%1 (%2x%3) - Visualizador de imagens</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="535"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation>Visualizador de imagens</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="710"/>
|
||||||
|
<source>Thumbnails</source>
|
||||||
|
<translation>Miniaturas</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="412"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation>Visualizador de imagens</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="413"/>
|
||||||
|
<source>&About</source>
|
||||||
|
<translation>&Sobre</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="414"/>
|
||||||
|
<source>&Open File</source>
|
||||||
|
<translation>A&brir ficheiro</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="415"/>
|
||||||
|
<source>Ctrl+O</source>
|
||||||
|
<translation>Ctrl+O</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="416"/>
|
||||||
|
<source>&Save</source>
|
||||||
|
<translation>&Gravar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="417"/>
|
||||||
|
<source>Ctrl+S</source>
|
||||||
|
<translation>Ctrl+S</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="418"/>
|
||||||
|
<source>Save &As</source>
|
||||||
|
<translation>Gravar &como</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="419"/>
|
||||||
|
<source>Ctrl+A</source>
|
||||||
|
<translation>Ctrl+A</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="420"/>
|
||||||
|
<source>&Close</source>
|
||||||
|
<translation>Fe&char</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="421"/>
|
||||||
|
<source>Ctrl+W</source>
|
||||||
|
<translation>Ctrl+W</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="422"/>
|
||||||
|
<source>Zoom &In</source>
|
||||||
|
<translation>Ampl&iar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="423"/>
|
||||||
|
<source>Ctrl++</source>
|
||||||
|
<translation>Ctrl++</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="424"/>
|
||||||
|
<source>Zoom &Out</source>
|
||||||
|
<translation>Redu&zir</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="425"/>
|
||||||
|
<source>Ctrl+-</source>
|
||||||
|
<translation>Ctrl+-</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="426"/>
|
||||||
|
<source>&Copy to Clipboard</source>
|
||||||
|
<translation>&Copiar para a área de transferência</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="427"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="429"/>
|
||||||
|
<source>Next File</source>
|
||||||
|
<translation>Próximo ficheiro</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Right</source>
|
||||||
|
<translation>Direita</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="432"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="434"/>
|
||||||
|
<source>Previous File</source>
|
||||||
|
<translation>Ficheiro anterior</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Left</source>
|
||||||
|
<translation>Esquerda</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="431"/>
|
||||||
|
<source>PgDown</source>
|
||||||
|
<translation>PageDown</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="436"/>
|
||||||
|
<source>PgUp</source>
|
||||||
|
<translation>PageUp</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="437"/>
|
||||||
|
<source>Original Size</source>
|
||||||
|
<translation>Tamanho original</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="438"/>
|
||||||
|
<source>&Fit</source>
|
||||||
|
<translation>Aj&ustar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="439"/>
|
||||||
|
<source>&Rotate Clockwise</source>
|
||||||
|
<translation>&Rodar à direita</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="440"/>
|
||||||
|
<source>Rotate &Counterclockwise</source>
|
||||||
|
<translation>Rodar à &esquerda</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="441"/>
|
||||||
|
<source>P&references</source>
|
||||||
|
<translation>P&referências</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="442"/>
|
||||||
|
<source>&Print</source>
|
||||||
|
<translation>Im&primir</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="443"/>
|
||||||
|
<source>Ctrl+P</source>
|
||||||
|
<translation>Ctrl+P</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="444"/>
|
||||||
|
<source>First File</source>
|
||||||
|
<translation>Primeiro ficheiro</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="445"/>
|
||||||
|
<source>Home</source>
|
||||||
|
<translation>Home</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="446"/>
|
||||||
|
<source>Last File</source>
|
||||||
|
<translation>Último ficheiro</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="447"/>
|
||||||
|
<source>End</source>
|
||||||
|
<translation>End</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="448"/>
|
||||||
|
<source>&New Window</source>
|
||||||
|
<translation>&Nova janela</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="449"/>
|
||||||
|
<source>Ctrl+N</source>
|
||||||
|
<translation>Ctrl+N</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="450"/>
|
||||||
|
<source>Flip &Horizontally</source>
|
||||||
|
<translation>Inversão &horizontal</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="451"/>
|
||||||
|
<source>Capture Screenshot</source>
|
||||||
|
<translation>Captura de ecrã</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="452"/>
|
||||||
|
<source>F&ull Screen</source>
|
||||||
|
<translation>Ecrã co&mpleto</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="453"/>
|
||||||
|
<source>F11</source>
|
||||||
|
<translation>F11</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="454"/>
|
||||||
|
<source>Flip &Vertically</source>
|
||||||
|
<translation>Inversão &vertical</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="455"/>
|
||||||
|
<source>&Paste from Clipboard</source>
|
||||||
|
<translation>Colar da área de tran&sferência</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="456"/>
|
||||||
|
<source>&Slide Show</source>
|
||||||
|
<translation>Apre&sentação</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="457"/>
|
||||||
|
<source>&Delete</source>
|
||||||
|
<translation>E&liminar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="458"/>
|
||||||
|
<source>Del</source>
|
||||||
|
<translation>Del</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="459"/>
|
||||||
|
<source>Show Thumbnails</source>
|
||||||
|
<translation>Mostrar miniaturas</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="460"/>
|
||||||
|
<source>File Properties</source>
|
||||||
|
<translation>Propriedades do ficheiro</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="461"/>
|
||||||
|
<source>&File</source>
|
||||||
|
<translation>&Ficheiro</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="462"/>
|
||||||
|
<source>&Help</source>
|
||||||
|
<translation>Aj&uda</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="463"/>
|
||||||
|
<source>Go</source>
|
||||||
|
<translation>Ir</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="464"/>
|
||||||
|
<source>&View</source>
|
||||||
|
<translation>&Ver</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="465"/>
|
||||||
|
<source>&Edit</source>
|
||||||
|
<translation>&Editar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="466"/>
|
||||||
|
<source>Toolbar</source>
|
||||||
|
<translation>Barra de ferramentas</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>toolBar</source>
|
||||||
|
<translation type="obsolete">Barra de ferramentas</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>PreferencesDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="125"/>
|
||||||
|
<source>Preferences</source>
|
||||||
|
<translation>Preferências</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="126"/>
|
||||||
|
<source>Icon theme:</source>
|
||||||
|
<translation>Tema de ícones:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="127"/>
|
||||||
|
<source>Normal background color:</source>
|
||||||
|
<translation>Cor de fundo normal:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="128"/>
|
||||||
|
<source>Fullscreen background color:</source>
|
||||||
|
<translation>Cor de fundo em ecrã completo:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="131"/>
|
||||||
|
<source>Slide show interval (seconds):</source>
|
||||||
|
<translation>Intervalo da apresentação (segundos):</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="132"/>
|
||||||
|
<source>General</source>
|
||||||
|
<translation>Geral</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>TODO: Add configuration options here</source>
|
||||||
|
<translation>Tarefas: Adicionar opções de configuração</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Tab 1</source>
|
||||||
|
<translation>Separador 1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Tab 2</source>
|
||||||
|
<translation>Separador 2</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScreenshotDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="123"/>
|
||||||
|
<source>Screenshot</source>
|
||||||
|
<translation>Captura de ecrã</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="124"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation>Obter captura de ecrã</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="125"/>
|
||||||
|
<source>Region</source>
|
||||||
|
<translation>Região</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="126"/>
|
||||||
|
<source>Whole screen</source>
|
||||||
|
<translation>Todo o ecrã</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="127"/>
|
||||||
|
<source>Current window only</source>
|
||||||
|
<translation>Apenas janela atual</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="128"/>
|
||||||
|
<source>Include mouse cursor</source>
|
||||||
|
<translation>Incluir cursor do rato</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="129"/>
|
||||||
|
<source> seconds</source>
|
||||||
|
<translation>segundos</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="130"/>
|
||||||
|
<source>Delay:</source>
|
||||||
|
<translation>Atraso:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="131"/>
|
||||||
|
<source>Include window title and frame</source>
|
||||||
|
<translation>Incluir título e moldura da janela</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
@ -0,0 +1,439 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="pt_BR">
|
||||||
|
<context>
|
||||||
|
<name>LxImage::Application</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="112"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation>Capturar uma imagem da tela</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="113"/>
|
||||||
|
<source>[FILE1, FILE2,...]</source>
|
||||||
|
<translation>[FILE1, FILE2,...]</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LxImage::MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="144"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation>Sobre</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="145"/>
|
||||||
|
<source>LXImage - a simple and fast image viewer
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></source>
|
||||||
|
<translation>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></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="238"/>
|
||||||
|
<source>Open File</source>
|
||||||
|
<translation>Abrir Arquivo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="239"/>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Image files (%1)</source>
|
||||||
|
<translation>Arquivos de Images (1%)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Save File</source>
|
||||||
|
<translation>Salvar Arquivo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="516"/>
|
||||||
|
<source>%1 (Loading...) - Image Viewer</source>
|
||||||
|
<translation>%1 (Carregando...) - Visualização da Imagem</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="521"/>
|
||||||
|
<source>%1 (Failed to Load) - Image Viewer</source>
|
||||||
|
<translation>%1 (Falha ao Carregar) - Visualização da Imagem</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="525"/>
|
||||||
|
<source>%1 (%2x%3) - Image Viewer</source>
|
||||||
|
<translation>%1 (%2x%3) - Visualização da Imagem</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="535"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation>Visualizador de Imagens</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="710"/>
|
||||||
|
<source>Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="412"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation>Visualizador de Imagens</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="413"/>
|
||||||
|
<source>&About</source>
|
||||||
|
<translation>So&bre</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="414"/>
|
||||||
|
<source>&Open File</source>
|
||||||
|
<translation>Abrir &Arquivo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="415"/>
|
||||||
|
<source>Ctrl+O</source>
|
||||||
|
<translation>Ctrl+O</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="416"/>
|
||||||
|
<source>&Save</source>
|
||||||
|
<translation>&Salvar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="417"/>
|
||||||
|
<source>Ctrl+S</source>
|
||||||
|
<translation>Ctrl+S</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="418"/>
|
||||||
|
<source>Save &As</source>
|
||||||
|
<translation>Sal&var Como</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="419"/>
|
||||||
|
<source>Ctrl+A</source>
|
||||||
|
<translation>Ctrl+A</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="420"/>
|
||||||
|
<source>&Close</source>
|
||||||
|
<translation>Fe&char</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="421"/>
|
||||||
|
<source>Ctrl+W</source>
|
||||||
|
<translation>Ctrl+W</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="422"/>
|
||||||
|
<source>Zoom &In</source>
|
||||||
|
<translation>Ampl&iar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="423"/>
|
||||||
|
<source>Ctrl++</source>
|
||||||
|
<translation>Ctrl++</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="424"/>
|
||||||
|
<source>Zoom &Out</source>
|
||||||
|
<translation>Redu&zir</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="425"/>
|
||||||
|
<source>Ctrl+-</source>
|
||||||
|
<translation>Ctrl+-</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="426"/>
|
||||||
|
<source>&Copy to Clipboard</source>
|
||||||
|
<translation>&Copiar para a Área de Transferência</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="427"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="429"/>
|
||||||
|
<source>Next File</source>
|
||||||
|
<translation>Próximo Arquivo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Right</source>
|
||||||
|
<translation type="vanished">Direita</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="432"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="434"/>
|
||||||
|
<source>Previous File</source>
|
||||||
|
<translation>Arquivo Anterior</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Left</source>
|
||||||
|
<translation type="vanished">Esquerda</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="431"/>
|
||||||
|
<source>PgDown</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="436"/>
|
||||||
|
<source>PgUp</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="437"/>
|
||||||
|
<source>Original Size</source>
|
||||||
|
<translation>Tamanho Original</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="438"/>
|
||||||
|
<source>&Fit</source>
|
||||||
|
<translation>Ajustar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="439"/>
|
||||||
|
<source>&Rotate Clockwise</source>
|
||||||
|
<translation>&Rotacionar em sentido horário</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="440"/>
|
||||||
|
<source>Rotate &Counterclockwise</source>
|
||||||
|
<translation>Rota&cionar em sentido anti-horário</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="441"/>
|
||||||
|
<source>P&references</source>
|
||||||
|
<translation>P&referências</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="442"/>
|
||||||
|
<source>&Print</source>
|
||||||
|
<translation>Im&primir</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="443"/>
|
||||||
|
<source>Ctrl+P</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="444"/>
|
||||||
|
<source>First File</source>
|
||||||
|
<translation>Primeiro arquivo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="445"/>
|
||||||
|
<source>Home</source>
|
||||||
|
<translation>Inicio</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="446"/>
|
||||||
|
<source>Last File</source>
|
||||||
|
<translation>Último arquivo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="447"/>
|
||||||
|
<source>End</source>
|
||||||
|
<translation>Fim</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="448"/>
|
||||||
|
<source>&New Window</source>
|
||||||
|
<translation>&Nova Janela</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="449"/>
|
||||||
|
<source>Ctrl+N</source>
|
||||||
|
<translation>Ctrl+N</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="450"/>
|
||||||
|
<source>Flip &Horizontally</source>
|
||||||
|
<translation>Espelhar horizontalmente</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="451"/>
|
||||||
|
<source>Capture Screenshot</source>
|
||||||
|
<translation>Capturar Tela</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="452"/>
|
||||||
|
<source>F&ull Screen</source>
|
||||||
|
<translation>&Tela Cheia</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="453"/>
|
||||||
|
<source>F11</source>
|
||||||
|
<translation>F11</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="454"/>
|
||||||
|
<source>Flip &Vertically</source>
|
||||||
|
<translation>Espelhar &Verticalmente</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="455"/>
|
||||||
|
<source>&Paste from Clipboard</source>
|
||||||
|
<translatorcomment>Has a problem, no similar caracter for shortcut.</translatorcomment>
|
||||||
|
<translation>Colar da Área de Transferência</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="456"/>
|
||||||
|
<source>&Slide Show</source>
|
||||||
|
<translation>Apresentação de Slides</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="457"/>
|
||||||
|
<source>&Delete</source>
|
||||||
|
<translation>&Excluir</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="458"/>
|
||||||
|
<source>Del</source>
|
||||||
|
<translation>Remover</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="459"/>
|
||||||
|
<source>Show Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="460"/>
|
||||||
|
<source>File Properties</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="461"/>
|
||||||
|
<source>&File</source>
|
||||||
|
<translation>&Arquivo</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="462"/>
|
||||||
|
<source>&Help</source>
|
||||||
|
<translation>&Ajuda</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="463"/>
|
||||||
|
<source>Go</source>
|
||||||
|
<translation>Ir</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="464"/>
|
||||||
|
<source>&View</source>
|
||||||
|
<translation>&Visualizar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="465"/>
|
||||||
|
<source>&Edit</source>
|
||||||
|
<translation>&Editar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="466"/>
|
||||||
|
<source>Toolbar</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>toolBar</source>
|
||||||
|
<translation type="vanished">Barra de Ferramentas</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>PreferencesDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="125"/>
|
||||||
|
<source>Preferences</source>
|
||||||
|
<translation>Preferências</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="126"/>
|
||||||
|
<source>Icon theme:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="127"/>
|
||||||
|
<source>Normal background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="128"/>
|
||||||
|
<source>Fullscreen background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="131"/>
|
||||||
|
<source>Slide show interval (seconds):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="132"/>
|
||||||
|
<source>General</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>TODO: Add configuration options here</source>
|
||||||
|
<translation type="vanished">FAZER: Adicionar opções de configurações aqui</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Tab 1</source>
|
||||||
|
<translation type="vanished">Aba 1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Tab 2</source>
|
||||||
|
<translation type="vanished">Aba 2</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScreenshotDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="123"/>
|
||||||
|
<source>Screenshot</source>
|
||||||
|
<translation>Captura de tela</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="124"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation>Capturar a tela</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="125"/>
|
||||||
|
<source>Region</source>
|
||||||
|
<translation>Região</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="126"/>
|
||||||
|
<source>Whole screen</source>
|
||||||
|
<translation>Tela Inteira</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="127"/>
|
||||||
|
<source>Current window only</source>
|
||||||
|
<translation>Somente a janela ativa</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="128"/>
|
||||||
|
<source>Include mouse cursor</source>
|
||||||
|
<translation>Incluir o cursor do mouse</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="129"/>
|
||||||
|
<source> seconds</source>
|
||||||
|
<translation> segundos</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="130"/>
|
||||||
|
<source>Delay:</source>
|
||||||
|
<translation>Atraso:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="131"/>
|
||||||
|
<source>Include window title and frame</source>
|
||||||
|
<translation>Incluir título da janela e moldura</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
@ -0,0 +1,408 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="ru">
|
||||||
|
<context>
|
||||||
|
<name>LxImage::Application</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="112"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="113"/>
|
||||||
|
<source>[FILE1, FILE2,...]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LxImage::MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="144"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="145"/>
|
||||||
|
<source>LXImage - a simple and fast image viewer
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="238"/>
|
||||||
|
<source>Open File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="239"/>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Image files (%1)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Save File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="516"/>
|
||||||
|
<source>%1 (Loading...) - Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="521"/>
|
||||||
|
<source>%1 (Failed to Load) - Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="525"/>
|
||||||
|
<source>%1 (%2x%3) - Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="535"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="710"/>
|
||||||
|
<source>Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="412"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="413"/>
|
||||||
|
<source>&About</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="414"/>
|
||||||
|
<source>&Open File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="415"/>
|
||||||
|
<source>Ctrl+O</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="416"/>
|
||||||
|
<source>&Save</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="417"/>
|
||||||
|
<source>Ctrl+S</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="418"/>
|
||||||
|
<source>Save &As</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="419"/>
|
||||||
|
<source>Ctrl+A</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="420"/>
|
||||||
|
<source>&Close</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="421"/>
|
||||||
|
<source>Ctrl+W</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="422"/>
|
||||||
|
<source>Zoom &In</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="423"/>
|
||||||
|
<source>Ctrl++</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="424"/>
|
||||||
|
<source>Zoom &Out</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="425"/>
|
||||||
|
<source>Ctrl+-</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="426"/>
|
||||||
|
<source>&Copy to Clipboard</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="427"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="429"/>
|
||||||
|
<source>Next File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="432"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="434"/>
|
||||||
|
<source>Previous File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="431"/>
|
||||||
|
<source>PgDown</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="436"/>
|
||||||
|
<source>PgUp</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="437"/>
|
||||||
|
<source>Original Size</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="438"/>
|
||||||
|
<source>&Fit</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="439"/>
|
||||||
|
<source>&Rotate Clockwise</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="440"/>
|
||||||
|
<source>Rotate &Counterclockwise</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="441"/>
|
||||||
|
<source>P&references</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="442"/>
|
||||||
|
<source>&Print</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="443"/>
|
||||||
|
<source>Ctrl+P</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="444"/>
|
||||||
|
<source>First File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="445"/>
|
||||||
|
<source>Home</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="446"/>
|
||||||
|
<source>Last File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="447"/>
|
||||||
|
<source>End</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="448"/>
|
||||||
|
<source>&New Window</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="449"/>
|
||||||
|
<source>Ctrl+N</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="450"/>
|
||||||
|
<source>Flip &Horizontally</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="451"/>
|
||||||
|
<source>Capture Screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="452"/>
|
||||||
|
<source>F&ull Screen</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="453"/>
|
||||||
|
<source>F11</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="454"/>
|
||||||
|
<source>Flip &Vertically</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="455"/>
|
||||||
|
<source>&Paste from Clipboard</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="456"/>
|
||||||
|
<source>&Slide Show</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="457"/>
|
||||||
|
<source>&Delete</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="458"/>
|
||||||
|
<source>Del</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="459"/>
|
||||||
|
<source>Show Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="460"/>
|
||||||
|
<source>File Properties</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="461"/>
|
||||||
|
<source>&File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="462"/>
|
||||||
|
<source>&Help</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="463"/>
|
||||||
|
<source>Go</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="464"/>
|
||||||
|
<source>&View</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="465"/>
|
||||||
|
<source>&Edit</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="466"/>
|
||||||
|
<source>Toolbar</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>PreferencesDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="125"/>
|
||||||
|
<source>Preferences</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="126"/>
|
||||||
|
<source>Icon theme:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="127"/>
|
||||||
|
<source>Normal background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="128"/>
|
||||||
|
<source>Fullscreen background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="131"/>
|
||||||
|
<source>Slide show interval (seconds):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="132"/>
|
||||||
|
<source>General</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScreenshotDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="123"/>
|
||||||
|
<source>Screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="124"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="125"/>
|
||||||
|
<source>Region</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="126"/>
|
||||||
|
<source>Whole screen</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="127"/>
|
||||||
|
<source>Current window only</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="128"/>
|
||||||
|
<source>Include mouse cursor</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="129"/>
|
||||||
|
<source> seconds</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="130"/>
|
||||||
|
<source>Delay:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="131"/>
|
||||||
|
<source>Include window title and frame</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
@ -0,0 +1,497 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1">
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.desktop.in.h:1</name>
|
||||||
|
<message>
|
||||||
|
<source>Keyboard and Mouse</source>
|
||||||
|
<translation type="obsolete">Tangentbord och mus</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.desktop.in.h:2</name>
|
||||||
|
<message>
|
||||||
|
<source>Configure keyboard, mouse, and other input devices</source>
|
||||||
|
<translation type="obsolete">Inställningar för tangentbord, mus och andra inmatningsenheter</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:1</name>
|
||||||
|
<message>
|
||||||
|
<source>Input Device Preferences</source>
|
||||||
|
<translation type="obsolete">Egenskaper för inmatningsenhet</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:10</name>
|
||||||
|
<message>
|
||||||
|
<source>Mouse</source>
|
||||||
|
<translation type="obsolete">Mus</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:11</name>
|
||||||
|
<message>
|
||||||
|
<source>Delay before each key starts repeating</source>
|
||||||
|
<translation type="obsolete">Tid innan varje tangent repeteras</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:12</name>
|
||||||
|
<message>
|
||||||
|
<source>Repeat delay:</source>
|
||||||
|
<translation type="obsolete">Tid innan upprepning:</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:13</name>
|
||||||
|
<message>
|
||||||
|
<source>Interval between each key repeat</source>
|
||||||
|
<translation type="obsolete">Intervall mellan upprening av tangenter</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:14</name>
|
||||||
|
<message>
|
||||||
|
<source>Long</source>
|
||||||
|
<translation type="obsolete">Lång</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:15</name>
|
||||||
|
<message>
|
||||||
|
<source>Short</source>
|
||||||
|
<translation type="obsolete">Kort</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:16</name>
|
||||||
|
<message>
|
||||||
|
<source>Repeat interval:</source>
|
||||||
|
<translation type="obsolete">Tid mellan upprepningar:</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:17</name>
|
||||||
|
<message>
|
||||||
|
<source>Type in the following box to test your keyboard settings</source>
|
||||||
|
<translation type="obsolete">För att pröva dina inställningar kan du skriva i följande ruta</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:18</name>
|
||||||
|
<message>
|
||||||
|
<source><b>Character Repeat</b></source>
|
||||||
|
<translation type="obsolete"><b>Teckenupprepning</b></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:19</name>
|
||||||
|
<message>
|
||||||
|
<source>Beep when there is an error of keyboard input</source>
|
||||||
|
<translation type="obsolete">Avge ett pip när ett fel uppstår vid tangentbordsinmatning</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:2</name>
|
||||||
|
<message>
|
||||||
|
<source>Sensitivity:</source>
|
||||||
|
<translation type="obsolete">Känslighet:</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:20</name>
|
||||||
|
<message>
|
||||||
|
<source><b>Keyboard layout</b></source>
|
||||||
|
<translation type="obsolete"><b>Tangentbordsupplägg</b></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:21</name>
|
||||||
|
<message>
|
||||||
|
<source>Keyboard</source>
|
||||||
|
<translation type="obsolete">Tangentbord</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:22</name>
|
||||||
|
<message>
|
||||||
|
<source>Touch Pad</source>
|
||||||
|
<translation type="obsolete">Pekplatta</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:3</name>
|
||||||
|
<message>
|
||||||
|
<source>High</source>
|
||||||
|
<translation type="obsolete">Hög</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:4</name>
|
||||||
|
<message>
|
||||||
|
<source>Low</source>
|
||||||
|
<translation type="obsolete">Låg</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:5</name>
|
||||||
|
<message>
|
||||||
|
<source>Fast</source>
|
||||||
|
<translation type="obsolete">Snabb</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:6</name>
|
||||||
|
<message>
|
||||||
|
<source>Slow</source>
|
||||||
|
<translation type="obsolete">Långsam</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:7</name>
|
||||||
|
<message>
|
||||||
|
<source>Acceleration:</source>
|
||||||
|
<translation type="obsolete">Acceleration:</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:8</name>
|
||||||
|
<message>
|
||||||
|
<source><b>Motion</b></source>
|
||||||
|
<translation type="obsolete"><b>Förflyttning</b></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>../data/lxinput.ui.h:9</name>
|
||||||
|
<message>
|
||||||
|
<source>Left handed (Swap left and right mouse buttons)</source>
|
||||||
|
<translation type="obsolete">Vänsterhänt (byt funktioner för vänster och höger musknapp)</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LxImage::Application</name>
|
||||||
|
<message>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>[FILE1, FILE2,...]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LxImage::MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<source>About</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>LXImage - a simple and fast image viewer
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Open File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Image files (%1)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Save File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>%1 (Loading...) - Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>%1 (Failed to Load) - Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>%1 (%2x%3) - Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>&About</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>&Open File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Ctrl+O</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>&Save</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Ctrl+S</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Save &As</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Ctrl+A</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>&Close</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Ctrl+W</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Zoom &In</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Ctrl++</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Zoom &Out</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Ctrl+-</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>&Copy to Clipboard</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Next File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Previous File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Original Size</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>&Fit</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>&Rotate Clockwise</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Rotate &Counterclockwise</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>P&references</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>&Print</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>First File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Home</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Last File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>End</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>&New Window</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Ctrl+N</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Flip &Horizontally</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Capture Screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>F&ull Screen</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>F11</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Flip &Vertically</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>&Paste from Clipboard</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>&Slide Show</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>&Delete</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Del</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>&File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>&Help</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Go</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>&View</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>&Edit</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Toolbar</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>PgDown</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>PgUp</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Ctrl+P</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Show Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>File Properties</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>PreferencesDialog</name>
|
||||||
|
<message>
|
||||||
|
<source>Preferences</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Icon theme:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Normal background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Fullscreen background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Slide show interval (seconds):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>General</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScreenshotDialog</name>
|
||||||
|
<message>
|
||||||
|
<source>Screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Region</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Whole screen</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Current window only</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Include mouse cursor</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source> seconds</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Delay:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Include window title and frame</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
@ -0,0 +1,408 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1">
|
||||||
|
<context>
|
||||||
|
<name>LxImage::Application</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="112"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="113"/>
|
||||||
|
<source>[FILE1, FILE2,...]</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LxImage::MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="144"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="145"/>
|
||||||
|
<source>LXImage - a simple and fast image viewer
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="238"/>
|
||||||
|
<source>Open File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="239"/>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Image files (%1)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Save File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="516"/>
|
||||||
|
<source>%1 (Loading...) - Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="521"/>
|
||||||
|
<source>%1 (Failed to Load) - Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="525"/>
|
||||||
|
<source>%1 (%2x%3) - Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="535"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="710"/>
|
||||||
|
<source>Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="412"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="413"/>
|
||||||
|
<source>&About</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="414"/>
|
||||||
|
<source>&Open File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="415"/>
|
||||||
|
<source>Ctrl+O</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="416"/>
|
||||||
|
<source>&Save</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="417"/>
|
||||||
|
<source>Ctrl+S</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="418"/>
|
||||||
|
<source>Save &As</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="419"/>
|
||||||
|
<source>Ctrl+A</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="420"/>
|
||||||
|
<source>&Close</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="421"/>
|
||||||
|
<source>Ctrl+W</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="422"/>
|
||||||
|
<source>Zoom &In</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="423"/>
|
||||||
|
<source>Ctrl++</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="424"/>
|
||||||
|
<source>Zoom &Out</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="425"/>
|
||||||
|
<source>Ctrl+-</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="426"/>
|
||||||
|
<source>&Copy to Clipboard</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="427"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="429"/>
|
||||||
|
<source>Next File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="432"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="434"/>
|
||||||
|
<source>Previous File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="431"/>
|
||||||
|
<source>PgDown</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="436"/>
|
||||||
|
<source>PgUp</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="437"/>
|
||||||
|
<source>Original Size</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="438"/>
|
||||||
|
<source>&Fit</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="439"/>
|
||||||
|
<source>&Rotate Clockwise</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="440"/>
|
||||||
|
<source>Rotate &Counterclockwise</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="441"/>
|
||||||
|
<source>P&references</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="442"/>
|
||||||
|
<source>&Print</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="443"/>
|
||||||
|
<source>Ctrl+P</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="444"/>
|
||||||
|
<source>First File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="445"/>
|
||||||
|
<source>Home</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="446"/>
|
||||||
|
<source>Last File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="447"/>
|
||||||
|
<source>End</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="448"/>
|
||||||
|
<source>&New Window</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="449"/>
|
||||||
|
<source>Ctrl+N</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="450"/>
|
||||||
|
<source>Flip &Horizontally</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="451"/>
|
||||||
|
<source>Capture Screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="452"/>
|
||||||
|
<source>F&ull Screen</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="453"/>
|
||||||
|
<source>F11</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="454"/>
|
||||||
|
<source>Flip &Vertically</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="455"/>
|
||||||
|
<source>&Paste from Clipboard</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="456"/>
|
||||||
|
<source>&Slide Show</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="457"/>
|
||||||
|
<source>&Delete</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="458"/>
|
||||||
|
<source>Del</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="459"/>
|
||||||
|
<source>Show Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="460"/>
|
||||||
|
<source>File Properties</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="461"/>
|
||||||
|
<source>&File</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="462"/>
|
||||||
|
<source>&Help</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="463"/>
|
||||||
|
<source>Go</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="464"/>
|
||||||
|
<source>&View</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="465"/>
|
||||||
|
<source>&Edit</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="466"/>
|
||||||
|
<source>Toolbar</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>PreferencesDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="125"/>
|
||||||
|
<source>Preferences</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="126"/>
|
||||||
|
<source>Icon theme:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="127"/>
|
||||||
|
<source>Normal background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="128"/>
|
||||||
|
<source>Fullscreen background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="131"/>
|
||||||
|
<source>Slide show interval (seconds):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="132"/>
|
||||||
|
<source>General</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScreenshotDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="123"/>
|
||||||
|
<source>Screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="124"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="125"/>
|
||||||
|
<source>Region</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="126"/>
|
||||||
|
<source>Whole screen</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="127"/>
|
||||||
|
<source>Current window only</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="128"/>
|
||||||
|
<source>Include mouse cursor</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="129"/>
|
||||||
|
<source> seconds</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="130"/>
|
||||||
|
<source>Delay:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="131"/>
|
||||||
|
<source>Include window title and frame</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
@ -0,0 +1,426 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="zh_TW">
|
||||||
|
<context>
|
||||||
|
<name>LxImage::Application</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="112"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation>拍攝螢幕快照</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../application.cpp" line="113"/>
|
||||||
|
<source>[FILE1, FILE2,...]</source>
|
||||||
|
<translation>[檔案1、檔案2...]</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>LxImage::MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="144"/>
|
||||||
|
<source>About</source>
|
||||||
|
<translation>關於</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="145"/>
|
||||||
|
<source>LXImage - a simple and fast image viewer
|
||||||
|
|
||||||
|
Copyright (C) 2013
|
||||||
|
LXDE Project: http://lxde.org/
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
Hong Jen Yee (PCMan) <pcman.tw@gmail.com></source>
|
||||||
|
<translation>LXImage - 簡單快速的圖片檢視程式r
|
||||||
|
|
||||||
|
版權所有 (C) 2013
|
||||||
|
LXDE 專案: http://lxde.org/
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
洪任諭 (PCMan) <pcman.tw@gmail.com></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="238"/>
|
||||||
|
<source>Open File</source>
|
||||||
|
<translation>開啟檔案</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="239"/>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Image files (%1)</source>
|
||||||
|
<translation>影像檔案 (%1)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="260"/>
|
||||||
|
<source>Save File</source>
|
||||||
|
<translation>儲存檔案</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="516"/>
|
||||||
|
<source>%1 (Loading...) - Image Viewer</source>
|
||||||
|
<translation>%1 (正在載入...) - 圖片檢視程式</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="521"/>
|
||||||
|
<source>%1 (Failed to Load) - Image Viewer</source>
|
||||||
|
<translation>%1 (載入失敗) - 圖片檢視程式</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="525"/>
|
||||||
|
<source>%1 (%2x%3) - Image Viewer</source>
|
||||||
|
<translation>%1 (%2x%3) - 圖片檢視程式</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="535"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation>圖片檢視程式</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../mainwindow.cpp" line="710"/>
|
||||||
|
<source>Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="412"/>
|
||||||
|
<source>Image Viewer</source>
|
||||||
|
<translation>圖片檢視程式</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="413"/>
|
||||||
|
<source>&About</source>
|
||||||
|
<translation>關於(&A)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="414"/>
|
||||||
|
<source>&Open File</source>
|
||||||
|
<translation>開啟檔案(&O)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="415"/>
|
||||||
|
<source>Ctrl+O</source>
|
||||||
|
<translation>Ctrl+O</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="416"/>
|
||||||
|
<source>&Save</source>
|
||||||
|
<translation>儲存(&S)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="417"/>
|
||||||
|
<source>Ctrl+S</source>
|
||||||
|
<translation>Ctrl+S</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="418"/>
|
||||||
|
<source>Save &As</source>
|
||||||
|
<translation>另存新檔(&A)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="419"/>
|
||||||
|
<source>Ctrl+A</source>
|
||||||
|
<translation>Ctrl+A</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="420"/>
|
||||||
|
<source>&Close</source>
|
||||||
|
<translation>關閉(&C)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="421"/>
|
||||||
|
<source>Ctrl+W</source>
|
||||||
|
<translation>Ctrl+W</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="422"/>
|
||||||
|
<source>Zoom &In</source>
|
||||||
|
<translation>拉近(&I)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="423"/>
|
||||||
|
<source>Ctrl++</source>
|
||||||
|
<translation>Ctrl++</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="424"/>
|
||||||
|
<source>Zoom &Out</source>
|
||||||
|
<translation type="unfinished">拉遠(&O)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="425"/>
|
||||||
|
<source>Ctrl+-</source>
|
||||||
|
<translation>Ctrl+-</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="426"/>
|
||||||
|
<source>&Copy to Clipboard</source>
|
||||||
|
<translation>複製到剪貼簿(&C)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="427"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="429"/>
|
||||||
|
<source>Next File</source>
|
||||||
|
<translation>下一個檔案</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Right</source>
|
||||||
|
<translation type="vanished">右</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="432"/>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="434"/>
|
||||||
|
<source>Previous File</source>
|
||||||
|
<translation>前一個檔案</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Left</source>
|
||||||
|
<translation type="vanished">左</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="431"/>
|
||||||
|
<source>PgDown</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="436"/>
|
||||||
|
<source>PgUp</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="437"/>
|
||||||
|
<source>Original Size</source>
|
||||||
|
<translation>原尺寸</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="438"/>
|
||||||
|
<source>&Fit</source>
|
||||||
|
<translation>適合視窗大小(&F)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="439"/>
|
||||||
|
<source>&Rotate Clockwise</source>
|
||||||
|
<translation>順時鐘旋轉(&R)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="440"/>
|
||||||
|
<source>Rotate &Counterclockwise</source>
|
||||||
|
<translation>逆時鐘旋轉(&C)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="441"/>
|
||||||
|
<source>P&references</source>
|
||||||
|
<translation>偏好設定(&R)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="442"/>
|
||||||
|
<source>&Print</source>
|
||||||
|
<translation>列印(&P)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="443"/>
|
||||||
|
<source>Ctrl+P</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="444"/>
|
||||||
|
<source>First File</source>
|
||||||
|
<translation>第一個檔案</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="445"/>
|
||||||
|
<source>Home</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="446"/>
|
||||||
|
<source>Last File</source>
|
||||||
|
<translation>最後一個檔案</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="447"/>
|
||||||
|
<source>End</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="448"/>
|
||||||
|
<source>&New Window</source>
|
||||||
|
<translation>新視窗(&N)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="449"/>
|
||||||
|
<source>Ctrl+N</source>
|
||||||
|
<translation>Ctrl+N</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="450"/>
|
||||||
|
<source>Flip &Horizontally</source>
|
||||||
|
<translation>水平翻轉(&H)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="451"/>
|
||||||
|
<source>Capture Screenshot</source>
|
||||||
|
<translation>拍攝螢幕快照</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="452"/>
|
||||||
|
<source>F&ull Screen</source>
|
||||||
|
<translation>全螢幕(&U)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="453"/>
|
||||||
|
<source>F11</source>
|
||||||
|
<translation>F11</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="454"/>
|
||||||
|
<source>Flip &Vertically</source>
|
||||||
|
<translation>垂直翻轉(&V)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="455"/>
|
||||||
|
<source>&Paste from Clipboard</source>
|
||||||
|
<translation>從剪貼簿貼上(&P)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="456"/>
|
||||||
|
<source>&Slide Show</source>
|
||||||
|
<translation>投影片播放(&S)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="457"/>
|
||||||
|
<source>&Delete</source>
|
||||||
|
<translation>刪除(&D)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="458"/>
|
||||||
|
<source>Del</source>
|
||||||
|
<translation>Del</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="459"/>
|
||||||
|
<source>Show Thumbnails</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="460"/>
|
||||||
|
<source>File Properties</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="461"/>
|
||||||
|
<source>&File</source>
|
||||||
|
<translation>檔案(&F)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="462"/>
|
||||||
|
<source>&Help</source>
|
||||||
|
<translation>說明(&H)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="463"/>
|
||||||
|
<source>Go</source>
|
||||||
|
<translation>前往</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="464"/>
|
||||||
|
<source>&View</source>
|
||||||
|
<translation>檢視(&V)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="465"/>
|
||||||
|
<source>&Edit</source>
|
||||||
|
<translation>編輯(&E)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_mainwindow.h" line="466"/>
|
||||||
|
<source>Toolbar</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>toolBar</source>
|
||||||
|
<translation type="obsolete">工具列</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>PreferencesDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="125"/>
|
||||||
|
<source>Preferences</source>
|
||||||
|
<translation>偏好設定</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="126"/>
|
||||||
|
<source>Icon theme:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="127"/>
|
||||||
|
<source>Normal background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="128"/>
|
||||||
|
<source>Fullscreen background color:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="131"/>
|
||||||
|
<source>Slide show interval (seconds):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_preferencesdialog.h" line="132"/>
|
||||||
|
<source>General</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>ScreenshotDialog</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="123"/>
|
||||||
|
<source>Screenshot</source>
|
||||||
|
<translation>螢幕快照</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="124"/>
|
||||||
|
<source>Take a screenshot</source>
|
||||||
|
<translation>拍攝螢幕快照</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="125"/>
|
||||||
|
<source>Region</source>
|
||||||
|
<translation>區域</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="126"/>
|
||||||
|
<source>Whole screen</source>
|
||||||
|
<translation>整個螢幕</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="127"/>
|
||||||
|
<source>Current window only</source>
|
||||||
|
<translation>只有目前的視窗</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="128"/>
|
||||||
|
<source>Include mouse cursor</source>
|
||||||
|
<translation>包含滑鼠游標</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="129"/>
|
||||||
|
<source> seconds</source>
|
||||||
|
<translation>秒</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="130"/>
|
||||||
|
<source>Delay:</source>
|
||||||
|
<translation>延遲:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../build/src/ui_screenshotdialog.h" line="131"/>
|
||||||
|
<source>Include window title and frame</source>
|
||||||
|
<translation>包含視窗標題和邊框</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
Loading…
Reference in new issue