Compare commits
No commits in common. "upstream/0.6.0+20151227" and "ubuntu/resolute" have entirely different histories.
upstream/0
...
ubuntu/res
23
AUTHORS
@ -1,23 +0,0 @@
|
|||||||
Project maintainer: Petr Vanek <petr@scribus.info>
|
|
||||||
|
|
||||||
Contributors:
|
|
||||||
|
|
||||||
Alexander Sokolov <sokoloff.a@gmail.com>
|
|
||||||
Alf Gaida <agaida@siduction.org>
|
|
||||||
Christian Surlykke <christian@surlykke.dk>
|
|
||||||
Daniel O'Neill <doneill@cammy.riverroadcable.com>
|
|
||||||
Erik Ridderby <erik@ridderby.se>
|
|
||||||
Felix Schnizlein <felix@fix3d.net>
|
|
||||||
Francisco Ballina <zballinita@gmail.com>
|
|
||||||
Ilya87 <yast4ik@gmail.com>
|
|
||||||
Jerome Leclanche <jerome@leclan.ch>
|
|
||||||
Johannes Jordan <ypnos@lanrules.de>
|
|
||||||
Ludger Krämer <dbluelle@blau-weissoedingen.de>
|
|
||||||
Maxim Bourmitrov <maxim.bourmistrov@unixconn.com>
|
|
||||||
Mikhail Ivchenko <ematirov@gmail.com>
|
|
||||||
Sweet Tea Dorminy <sweettea@mit.edu>
|
|
||||||
Vladimir Kuznetsov <vovanec@gmail.com>
|
|
||||||
Matteo Pasotti <matteo@mageia.it>
|
|
||||||
@kulti <kultihell@gmail.com>
|
|
||||||
@pisculichi <pisculichi@openmailbox.org>
|
|
||||||
Sérgio Marques <smarquespt@gmail.com>
|
|
||||||
231
CMakeLists.txt
@ -1,231 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
project(qterminal)
|
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
|
||||||
|
|
||||||
set(STR_VERSION "0.6.0")
|
|
||||||
|
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")
|
|
||||||
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")
|
|
||||||
|
|
||||||
# we need qpa/qplatformnativeinterface.h for global shortcut
|
|
||||||
find_package(Qt5Gui REQUIRED)
|
|
||||||
find_package(Qt5Widgets REQUIRED)
|
|
||||||
find_package(Qt5LinguistTools REQUIRED)
|
|
||||||
if(APPLE)
|
|
||||||
elseif(UNIX)
|
|
||||||
find_package(Qt5X11Extras REQUIRED)
|
|
||||||
endif()
|
|
||||||
find_package(QTermWidget5 REQUIRED)
|
|
||||||
message(STATUS "Qt version: ${Qt5Core_VERSION_STRING}")
|
|
||||||
|
|
||||||
include(${QTERMWIDGET_USE_FILE})
|
|
||||||
|
|
||||||
# TODO remove Qxt
|
|
||||||
message(STATUS "Using bundled Qxt...")
|
|
||||||
set(QXT_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/src/third-party")
|
|
||||||
|
|
||||||
|
|
||||||
if(APPLE)
|
|
||||||
find_library(CARBON_LIBRARY Carbon REQUIRED)
|
|
||||||
message(STATUS "CARBON_LIBRARY: ${CARBON_LIBRARY}")
|
|
||||||
elseif(UNIX)
|
|
||||||
find_package(X11 REQUIRED)
|
|
||||||
message(STATUS "X11_X11_LIB: ${X11_X11_LIB}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_definitions(-DSTR_VERSION=\"${STR_VERSION}\")
|
|
||||||
add_definitions(${Qt5X11Extras_DEFINITIONS})
|
|
||||||
|
|
||||||
|
|
||||||
set(EXE_NAME qterminal)
|
|
||||||
|
|
||||||
set(QTERM_SRC
|
|
||||||
src/main.cpp
|
|
||||||
src/mainwindow.cpp
|
|
||||||
src/tabwidget.cpp
|
|
||||||
src/termwidget.cpp
|
|
||||||
src/termwidgetholder.cpp
|
|
||||||
src/properties.cpp
|
|
||||||
src/propertiesdialog.cpp
|
|
||||||
src/bookmarkswidget.cpp
|
|
||||||
src/fontdialog.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
set(QTERM_MOC_SRC
|
|
||||||
src/mainwindow.h
|
|
||||||
src/tabwidget.h
|
|
||||||
src/termwidget.h
|
|
||||||
src/termwidgetholder.h
|
|
||||||
src/propertiesdialog.h
|
|
||||||
src/bookmarkswidget.h
|
|
||||||
src/fontdialog.h
|
|
||||||
)
|
|
||||||
|
|
||||||
if(NOT QXT_FOUND)
|
|
||||||
set(QTERM_SRC ${QTERM_SRC} src/third-party/qxtglobalshortcut.cpp)
|
|
||||||
set(QTERM_MOC_SRC ${QTERM_MOC_SRC} src/third-party/qxtglobalshortcut.h)
|
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
set(QTERM_SRC ${QTERM_SRC} src/third-party/qxtglobalshortcut_win.cpp)
|
|
||||||
elseif(APPLE)
|
|
||||||
set(QTERM_SRC ${QTERM_SRC} src/third-party/qxtglobalshortcut_mac.cpp)
|
|
||||||
else()
|
|
||||||
set(QTERM_SRC ${QTERM_SRC} src/third-party/qxtglobalshortcut_x11.cpp)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(QTERM_UI_SRC
|
|
||||||
src/forms/qterminal.ui
|
|
||||||
src/forms/propertiesdialog.ui
|
|
||||||
src/forms/bookmarkswidget.ui
|
|
||||||
src/forms/fontdialog.ui
|
|
||||||
)
|
|
||||||
|
|
||||||
set(QTERM_RCC_SRC
|
|
||||||
src/icons.qrc
|
|
||||||
)
|
|
||||||
|
|
||||||
set(QTERM_TS
|
|
||||||
src/translations/qterminal_cs.ts
|
|
||||||
src/translations/qterminal_de.ts
|
|
||||||
src/translations/qterminal_es.ts
|
|
||||||
src/translations/qterminal_et.ts
|
|
||||||
src/translations/qterminal_it.ts
|
|
||||||
src/translations/qterminal_pt.ts
|
|
||||||
src/translations/qterminal_hu.ts
|
|
||||||
src/translations/qterminal_ru.ts
|
|
||||||
src/translations/qterminal_ja.ts
|
|
||||||
src/translations/qterminal_zh_CN.ts
|
|
||||||
)
|
|
||||||
|
|
||||||
qt5_wrap_ui( QTERM_UI ${QTERM_UI_SRC} )
|
|
||||||
qt5_wrap_cpp( QTERM_MOC ${QTERM_MOC_SRC} )
|
|
||||||
qt5_add_resources( QTERM_RCC ${QTERM_RCC_SRC} )
|
|
||||||
qt5_add_translation( QTERM_QM ${QTERM_TS} )
|
|
||||||
|
|
||||||
include_directories(
|
|
||||||
"${CMAKE_SOURCE_DIR}"
|
|
||||||
"${CMAKE_SOURCE_DIR}/src"
|
|
||||||
"${CMAKE_BINARY_DIR}"
|
|
||||||
${QTERMWIDGET_INCLUDE_DIRS}
|
|
||||||
${QXT_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
if(X11_FOUND)
|
|
||||||
include_directories("${X11_INCLUDE_DIR}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
# TODO/FIXME: apple bundle
|
|
||||||
set(GUI_TYPE "")
|
|
||||||
set(APPLE_BUNDLE_SOURCES "")
|
|
||||||
if(APPLEBUNDLE)
|
|
||||||
add_definitions(-DAPPLE_BUNDLE)
|
|
||||||
set(GUI_TYPE MACOSX_BUNDLE)
|
|
||||||
|
|
||||||
# create Info.plist file
|
|
||||||
set(MACOSX_BUNDLE_ICON_FILE qterminal.icns)
|
|
||||||
set(MACOSX_BUNDLE_INFO_STRING "QTerminal ${STR_VERSION}")
|
|
||||||
set(MACOSX_BUNDLE_GUI_IDENTIFIER "com.qterminal")
|
|
||||||
set(MACOSX_BUNDLE_LONG_VERSION_STRING "${STR_VERSION}")
|
|
||||||
set(MACOSX_BUNDLE_BUNDLE_NAME "${EXE_NAME}")
|
|
||||||
set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${STR_VERSION}")
|
|
||||||
set(MACOSX_BUNDLE_BUNDLE_VERSION "${STR_VERSION}")
|
|
||||||
set(MACOSX_BUNDLE_COPYRIGHT "(c) Petr Vanek <petr@yarpen.cz>")
|
|
||||||
|
|
||||||
set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/macosx/qterminal.icns"
|
|
||||||
PROPERTIES MACOSX_PACKAGE_LOCATION Resources
|
|
||||||
)
|
|
||||||
# use icon for app bundle to be visible in finder
|
|
||||||
set(APPLE_BUNDLE_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/macosx/qterminal.icns")
|
|
||||||
else()
|
|
||||||
set(TRANSLATIONS_DIR "${CMAKE_INSTALL_FULL_DATADIR}/qterminal/translations")
|
|
||||||
add_definitions(-DTRANSLATIONS_DIR=\"${TRANSLATIONS_DIR}\")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_executable(${EXE_NAME} ${GUI_TYPE}
|
|
||||||
${QTERM_SRC}
|
|
||||||
${QTERM_UI}
|
|
||||||
${QTERM_MOC}
|
|
||||||
${QTERM_RCC}
|
|
||||||
${APPLE_BUNDLE_SOURCES}
|
|
||||||
${QTERM_QM}
|
|
||||||
)
|
|
||||||
target_link_libraries(${EXE_NAME}
|
|
||||||
${QTERMWIDGET_QT_LIBRARIES}
|
|
||||||
${QTERMWIDGET_LIBRARIES}
|
|
||||||
util
|
|
||||||
)
|
|
||||||
if(QXT_FOUND)
|
|
||||||
target_link_libraries(${EXE_NAME} ${QXT_CORE_LIB} ${QXT_GUI_LIB})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(APPLE)
|
|
||||||
target_link_libraries(${EXE_NAME} ${CARBON_LIBRARY})
|
|
||||||
elseif(UNIX)
|
|
||||||
target_link_libraries(${EXE_NAME} Qt5::X11Extras)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(X11_FOUND)
|
|
||||||
target_link_libraries(${EXE_NAME} ${X11_X11_LIB})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
install(FILES
|
|
||||||
qterminal.desktop
|
|
||||||
qterminal_drop.desktop
|
|
||||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/applications"
|
|
||||||
)
|
|
||||||
|
|
||||||
install(FILES
|
|
||||||
qterminal.appdata.xml
|
|
||||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/appdata"
|
|
||||||
)
|
|
||||||
|
|
||||||
if(NOT APPLEBUNDLE)
|
|
||||||
install(TARGETS ${EXE_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
|
||||||
install(FILES ${QTERM_QM} DESTINATION ${TRANSLATIONS_DIR})
|
|
||||||
install(FILES src/icons/qterminal.png DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/64x64/apps")
|
|
||||||
else()
|
|
||||||
message(STATUS "APPLEBUNDLE")
|
|
||||||
|
|
||||||
install(CODE "message(STATUS \"Cleaning previously installed bundle (rm -r)\")")
|
|
||||||
install(CODE "execute_process(COMMAND rm -r ${CMAKE_INSTALL_PREFIX}/${EXE_NAME}.app)")
|
|
||||||
|
|
||||||
install(TARGETS ${EXE_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}")
|
|
||||||
|
|
||||||
# helper stuff to create real apple bundle.
|
|
||||||
# Black magic is summoned here...
|
|
||||||
if(APPLEBUNDLE_STANDALONE)
|
|
||||||
message(STATUS "APPLEBUNDLE_STANDALONE")
|
|
||||||
configure_file("${CMAKE_SOURCE_DIR}/bundle.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/bundle.cmake" @ONLY)
|
|
||||||
install(SCRIPT "${CMAKE_SOURCE_DIR}/bundle.cmake")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# bundle required keytabs from the qtermwidget package as well
|
|
||||||
install(CODE "message(STATUS \"Bundling (cp) keytab files from ${QTERMWIDGET_SHARE}/qtermwidget/\")")
|
|
||||||
install(CODE "execute_process(COMMAND cp -r ${QTERMWIDGET_SHARE}/qtermwidget/ ${CMAKE_INSTALL_PREFIX}/${EXE_NAME}.app/Contents/Resources)")
|
|
||||||
|
|
||||||
install(FILES ${QTERM_QM} DESTINATION ${CMAKE_INSTALL_PREFIX}/${EXE_NAME}.app/Contents/translations)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
# make lupdate
|
|
||||||
# it generates new translation files
|
|
||||||
add_custom_target(lupdate
|
|
||||||
${QT_QMAKE_EXECUTABLE} -project -o "${CMAKE_CURRENT_BINARY_DIR}/qterminal.pro"
|
|
||||||
COMMAND ${QT_LUPDATE_EXECUTABLE} "${CMAKE_CURRENT_BINARY_DIR}/qterminal.pro"
|
|
||||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
|
||||||
)
|
|
||||||
|
|
||||||
# make dist custom target
|
|
||||||
set(CPACK_PACKAGE_NAME "qterminal")
|
|
||||||
set(CPACK_PACKAGE_VERSION ${STR_VERSION})
|
|
||||||
set(CPACK_SOURCE_GENERATOR "TGZ;TBZ2")
|
|
||||||
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")
|
|
||||||
set(CPACK_IGNORE_FILES "/CVS/;/\\\\.svn/;/\\\\.git/;\\\\.swp$;\\\\.#;/#;\\\\.tar.gz$;/CMakeFiles/;CMakeCache.txt;\\\\.qm$;/build/;\\\\.diff$;.DS_Store'")
|
|
||||||
set(CPACK_SOURCE_IGNORE_FILES ${CPACK_IGNORE_FILES})
|
|
||||||
include(CPack)
|
|
||||||
# simulate autotools' "make dist"
|
|
||||||
add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
|
|
||||||
@ -1,23 +0,0 @@
|
|||||||
# Bug reports
|
|
||||||
|
|
||||||
Please file bugs on the qterminal github tracker:
|
|
||||||
https://github.com/lxde/qterminal/issues
|
|
||||||
|
|
||||||
Please file qtermwidget-related bugs on the qtermwidget github tracker:
|
|
||||||
https://github.com/lxde/qtermwidget/issues
|
|
||||||
|
|
||||||
|
|
||||||
# Code contributions
|
|
||||||
|
|
||||||
For all code contributions, please open a pull request on Github:
|
|
||||||
https://github.com/lxde/qterminal/
|
|
||||||
|
|
||||||
Make sure your code is clean, devoid of debug statements and respects the style
|
|
||||||
of the rest of the file (including line length and indentation).
|
|
||||||
|
|
||||||
Do not pollute the git history with unnecessary commits! Make sure each of your
|
|
||||||
commits compiles to ensure ease of bisection and have clear separation of one
|
|
||||||
feature or bugfix per commit.
|
|
||||||
|
|
||||||
Please also make sure you set your `git.name` and `git.email` options properly:
|
|
||||||
https://help.github.com/articles/setting-your-email-in-git/
|
|
||||||
280
LICENSE
@ -1,280 +0,0 @@
|
|||||||
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
|
|
||||||
29
README.md
@ -1,29 +0,0 @@
|
|||||||
# QTerminal
|
|
||||||
|
|
||||||
The lightweight Qt terminal emulator
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
### Requirements
|
|
||||||
|
|
||||||
* Qt >= 5.2
|
|
||||||
* CMake >= 2.8
|
|
||||||
* [qtermwidget](https://github.com/lxde/qtermwidget)
|
|
||||||
|
|
||||||
|
|
||||||
### Building
|
|
||||||
|
|
||||||
A shadow build (out of source) is strongly recommended
|
|
||||||
http://www.cmake.org/Wiki/CMake_FAQ#Out-of-source_build_trees
|
|
||||||
|
|
||||||
1. `mkdir -p build && cd build`
|
|
||||||
2. `cmake <path/to/source>`
|
|
||||||
3. `make`
|
|
||||||
4. (to install) `make install`
|
|
||||||
|
|
||||||
Read cmake docs to fine tune the build process (CMAKE_INSTALL_PREFIX, etc...)
|
|
||||||
|
|
||||||
## Translations
|
|
||||||
|
|
||||||
* Edit `src/CMakeLists.txt` to add a new ts file.
|
|
||||||
* `make lupdate` updates ts files to be translated (lrelease is called automatically in make)
|
|
||||||
1
debian/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
files
|
||||||
326
debian/changelog
vendored
Normal file
@ -0,0 +1,326 @@
|
|||||||
|
qterminal (2.2.1-0ubuntu1) questing; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
- Update build dependencies.
|
||||||
|
* Update copyright file.
|
||||||
|
* Update Standards-Version to 4.7.2, no changes needed.
|
||||||
|
|
||||||
|
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Wed, 30 Jul 2025 15:30:36 -0500
|
||||||
|
|
||||||
|
qterminal (2.1.0-0ubuntu4) plucky; urgency=medium
|
||||||
|
|
||||||
|
* Update Standards-Version to 4.7.1, no changes needed.
|
||||||
|
|
||||||
|
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 21 Feb 2025 16:36:59 -0600
|
||||||
|
|
||||||
|
qterminal (2.1.0-0ubuntu3) plucky; urgency=medium
|
||||||
|
|
||||||
|
* Work around xorg recommending xterm before x-terminal-emulator by
|
||||||
|
providing it.
|
||||||
|
|
||||||
|
-- Simon Quigley <tsimonq2@ubuntu.com> Sat, 15 Feb 2025 00:33:47 -0600
|
||||||
|
|
||||||
|
qterminal (2.1.0-0ubuntu2) plucky; urgency=medium
|
||||||
|
|
||||||
|
* No-change rebuild for lxqt-build-tools C++17 -> C++20.
|
||||||
|
|
||||||
|
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 03 Jan 2025 04:01:52 -0600
|
||||||
|
|
||||||
|
qterminal (2.1.0-0ubuntu1) plucky; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
- Bump build dependencies.
|
||||||
|
|
||||||
|
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 15 Nov 2024 15:33:41 -0600
|
||||||
|
|
||||||
|
qterminal (2.0.1-0ubuntu1) oracular; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
* Bump build dependencies.
|
||||||
|
* Add layer-shell-qt to build dependencies.
|
||||||
|
|
||||||
|
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Thu, 15 Aug 2024 16:28:10 -0500
|
||||||
|
|
||||||
|
qterminal (2.0.0-0ubuntu1~ppa1) oracular; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
* Update copyright file.
|
||||||
|
* Bump Standards-Version to 4.7.0, no changes necessary.
|
||||||
|
* Adjust build dependencies.
|
||||||
|
|
||||||
|
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Wed, 26 Jun 2024 13:13:17 -0500
|
||||||
|
|
||||||
|
qterminal (1.3.0-0ubuntu2) noble; urgency=medium
|
||||||
|
|
||||||
|
* Bump build dependencies, for real this time.
|
||||||
|
|
||||||
|
-- Simon Quigley <tsimonq2@ubuntu.com> Tue, 14 Nov 2023 15:29:27 -0600
|
||||||
|
|
||||||
|
qterminal (1.3.0-0ubuntu1) mantic; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
* Bump build dependencies.
|
||||||
|
|
||||||
|
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 11 Aug 2023 09:52:33 -0500
|
||||||
|
|
||||||
|
qterminal (1.2.0-2ubuntu1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* Reverted a sync from Debian.
|
||||||
|
* Added myself and Simon to Uploaders.
|
||||||
|
* Bumped Standards-Version to 4.6.2, no changes necessary.
|
||||||
|
* Removed obsolete '-Wl,--as-needed' linker flag from debian/rules.
|
||||||
|
* Removed obsolete 'override_dh_missing' section from debian/rules.
|
||||||
|
* Overhauled copyright file.
|
||||||
|
* Added 'Rules-Requires-Root: no' to debian/control.
|
||||||
|
|
||||||
|
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Fri, 17 Feb 2023 01:22:28 -0600
|
||||||
|
|
||||||
|
qterminal (1.2.0-0ubuntu1) lunar; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
* Fix the watch file, for real this time.
|
||||||
|
* Lubuntuify the package slightly, to make debhelper happy.
|
||||||
|
* Bump build dependencies in debian/control.
|
||||||
|
|
||||||
|
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 18 Nov 2022 19:15:47 -0600
|
||||||
|
|
||||||
|
qterminal (1.1.0-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
* Run wrap-and-sort.
|
||||||
|
* Bump build dependencies.
|
||||||
|
* Bump Standards-version to 4.6.1, no changes needed.
|
||||||
|
* Bump debhelper compat to 13, no changes needed.
|
||||||
|
* Drop some old Breaks/Replaces.
|
||||||
|
* Upstream some useful changes from Ubuntu so we can sync.
|
||||||
|
|
||||||
|
-- Simon Quigley <tsimonq2@debian.org> Thu, 14 Jul 2022 14:26:41 -0500
|
||||||
|
|
||||||
|
qterminal (0.16.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Team upload.
|
||||||
|
|
||||||
|
[ Sophie Brun ]
|
||||||
|
* Update debian/upstream/signing-key.asc
|
||||||
|
* New upstream version 0.16.1. Closes: #959963
|
||||||
|
* Refresh patch
|
||||||
|
* Update minimal required versions of libqtermwidget5-0-dev and
|
||||||
|
lxqt-build-tools
|
||||||
|
* Bump Standard-Version to 4.5.0
|
||||||
|
|
||||||
|
[ Raphaël Hertzog ]
|
||||||
|
* Refer to common license file for CC0-1.0.
|
||||||
|
* Fix field name typo in debian/upstream/metadata (Repository-Browser =>
|
||||||
|
Repository-Browse).
|
||||||
|
* Set upstream metadata fields: Repository.
|
||||||
|
* Remove obsolete field Name from debian/upstream/metadata (already present in
|
||||||
|
machine-readable debian/copyright).
|
||||||
|
|
||||||
|
-- Sophie Brun <sophie@offensive-security.com> Wed, 16 Dec 2020 15:06:50 +0100
|
||||||
|
|
||||||
|
qterminal (0.14.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Cherry-picking upstream version 0.14.1.
|
||||||
|
* Bumped minimum versions libqtermwidget5-0-dev (>= 0.14.1~)
|
||||||
|
|
||||||
|
-- Alf Gaida <agaida@siduction.org> Tue, 26 Feb 2019 03:09:41 +0100
|
||||||
|
|
||||||
|
qterminal (0.14.0-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Cherry-picking upstream version 0.14.0.
|
||||||
|
* Bumped Standards to 4.3.0, no changes needed
|
||||||
|
* Dropped d/compat, use debhelper-compat = 12, no changes needed
|
||||||
|
* Fixed years in d/copyright
|
||||||
|
* Added CC0 for qterminal.appdata.xml
|
||||||
|
* Bumped minimum versions libqtermwidget5-0-dev (>= 0.14.0~)
|
||||||
|
* Bumped minimum version lxqt-build-tools (>= 0.6.0~)
|
||||||
|
* Removed obsolete PULL_TRANSLATIONS= OFF from dh_auto_configure
|
||||||
|
* Added l10n-package, moved from lxqt-l10n
|
||||||
|
* Added d/upstream/metadata
|
||||||
|
|
||||||
|
-- Alf Gaida <agaida@siduction.org> Sun, 27 Jan 2019 22:06:09 +0100
|
||||||
|
|
||||||
|
qterminal (0.9.0-3) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Fixed typo in long description
|
||||||
|
Nice catch, thanks annadane <fjfj109@protonmail.com>
|
||||||
|
(Closes: #901565)
|
||||||
|
|
||||||
|
-- Alf Gaida <agaida@siduction.org> Sat, 16 Jun 2018 00:50:09 +0200
|
||||||
|
|
||||||
|
qterminal (0.9.0-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Cherry-picking upstream version 0.9.0.
|
||||||
|
* Bumped build dependency libqtermwidget5-0-dev to >= 0.9.0~
|
||||||
|
* Bumped build dependency lxqt-build-tools to >= 0.5.0~
|
||||||
|
* Removed not needed build dependency qtbase5-private-dev
|
||||||
|
* Refreshed metadata patch
|
||||||
|
|
||||||
|
-- Alf Gaida <agaida@siduction.org> Thu, 24 May 2018 01:56:48 +0200
|
||||||
|
|
||||||
|
qterminal (0.8.0-5) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Bumped compat to 11
|
||||||
|
* Bumped debhelper to >= 11~
|
||||||
|
* Bumped Standards to 4.1.4, no changes needed
|
||||||
|
* Changed VCS fields for salsa
|
||||||
|
* Changed Homepage, Source and watch to lxqt
|
||||||
|
* Bumped years in copyright
|
||||||
|
* Removed trailing whitespaces in changelog
|
||||||
|
|
||||||
|
-- Alf Gaida <agaida@siduction.org> Sat, 28 Apr 2018 19:20:40 +0200
|
||||||
|
|
||||||
|
qterminal (0.8.0-4) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Bumped Standards to 4.1.2, no changes needed
|
||||||
|
* Removed branch from VCS fields
|
||||||
|
* Removed debian/gbp.conf
|
||||||
|
|
||||||
|
-- Alf Gaida <agaida@siduction.org> Fri, 15 Dec 2017 17:56:14 +0100
|
||||||
|
|
||||||
|
qterminal (0.8.0-3) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Transition to unstable
|
||||||
|
|
||||||
|
-- Alf Gaida <agaida@siduction.org> Tue, 05 Dec 2017 19:14:51 +0100
|
||||||
|
|
||||||
|
qterminal (0.8.0-2) experimental; urgency=medium
|
||||||
|
|
||||||
|
* Patched appdata and metainfo-path again
|
||||||
|
|
||||||
|
-- Alf Gaida <agaida@siduction.org> Sun, 05 Nov 2017 03:00:28 +0100
|
||||||
|
|
||||||
|
qterminal (0.8.0-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* Cherry-picking upstream version 0.8.0.
|
||||||
|
* Switched to experimental
|
||||||
|
* Bumped Standards to 4.1.1
|
||||||
|
* Bumped libqtermwidget5-0-dev to >= 0.8.0
|
||||||
|
* Added dependency libutf8proc-dev
|
||||||
|
* Bumped lxqt-build-tools to >= 0.4.0
|
||||||
|
* Fixed copyright
|
||||||
|
* Dropped appdata-patch, applied upstream
|
||||||
|
|
||||||
|
-- Alf Gaida <agaida@siduction.org> Mon, 23 Oct 2017 01:47:22 +0200
|
||||||
|
|
||||||
|
qterminal (0.7.1-3) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Bumped Standards to 4.1.0 - no changes needed
|
||||||
|
* Fixed d/control with cme
|
||||||
|
* Close slowness bug, not reproducible anymore (Closes: #853220)
|
||||||
|
|
||||||
|
-- Alf Gaida <agaida@siduction.org> Wed, 06 Sep 2017 17:55:33 +0200
|
||||||
|
|
||||||
|
qterminal (0.7.1-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Fixed appdata format and location
|
||||||
|
* Bumped Standards to 4.0.0, no changes needed
|
||||||
|
* Bumpded copyright year
|
||||||
|
|
||||||
|
-- Alf Gaida <agaida@siduction.org> Sun, 13 Aug 2017 21:54:04 +0200
|
||||||
|
|
||||||
|
qterminal (0.7.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Cherry-picking upstream version 0.7.1
|
||||||
|
* Bumped minimum version libqtermwidget5-0-dev (>= 0.7.1)
|
||||||
|
* Removed build dependencies:
|
||||||
|
- cmake
|
||||||
|
- liblxqt0-dev
|
||||||
|
- libqt5xdg-dev
|
||||||
|
- qttools5-dev
|
||||||
|
- qttools5-dev-tools
|
||||||
|
* Added build dependency lxqt-build-tools
|
||||||
|
|
||||||
|
-- Alf Gaida <agaida@siduction.org> Thu, 22 Dec 2016 00:35:57 +0100
|
||||||
|
|
||||||
|
qterminal (0.7.0-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Cherry-picking upstream release 0.7.0
|
||||||
|
* Sync debian foo with experimental
|
||||||
|
* Bumped compat to 10
|
||||||
|
* Removed --parallel from rules, standard compat 10
|
||||||
|
* Bumped Standards to 3.9.8, no changes needed
|
||||||
|
* Bumped minimum version debhelper (>= 10)
|
||||||
|
* Bumped minimum version libqtermwidget5-0-dev (>= 0.7.0)
|
||||||
|
* Added build dependency libkf5windowsystem-dev
|
||||||
|
* Added build dependency liblxqt0-dev (>= 0.11.0)
|
||||||
|
* Added build dependency libqt5svg5-dev
|
||||||
|
* Added build dependency libqt5xdg-dev (>= 3.0.0)
|
||||||
|
* Added Recommends qterminal-l10n
|
||||||
|
* Fixed VCS fields, using https, plain /git/ and pointing to the right branch
|
||||||
|
* Fixed copyright Format field, using https
|
||||||
|
* Exported LC_ALL=C.UTF-8, make builds reproducible
|
||||||
|
* Added hardening options
|
||||||
|
* Added translation control to rules
|
||||||
|
* Set CMAKE_BUILD_TYPE=RelWithDebInfo
|
||||||
|
|
||||||
|
-- Alf Gaida <agaida@siduction.org> Tue, 18 Oct 2016 20:59:13 +0200
|
||||||
|
|
||||||
|
qterminal (0.6.1~102-g58f4f72-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Cherry-picking upstream version 0.6.1~102-g58f4f72.
|
||||||
|
* Fixed debian/.gitignore
|
||||||
|
* Added minimum versions for libqtermwidget5-0-dev (>= 0.6.1~)
|
||||||
|
* Bump Standards to 3.9.8, no changes needed
|
||||||
|
* Fixed VCS-fields, using https and plain /git/
|
||||||
|
* Fixed copyright Format to https
|
||||||
|
* Added LC_ALL=C.UTF-8 to rules for reproducible builds
|
||||||
|
* Added hardening options
|
||||||
|
* Set CMAKE_BUILD_TYPE=RelWithDebInfo
|
||||||
|
|
||||||
|
-- Alf Gaida <agaida@siduction.org> Sat, 06 Aug 2016 16:48:43 +0200
|
||||||
|
|
||||||
|
qterminal (0.6.0+20160104-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
[ Alf Gaida ]
|
||||||
|
* Cherry-picking upstream version 0.6.0+20160104.
|
||||||
|
* Fixed copyright for 2016, added Peter Mattern
|
||||||
|
* Fixed 'possible-unindented-list-in-extended-description'
|
||||||
|
|
||||||
|
[ Peter Mattern ]
|
||||||
|
* Adjust control file
|
||||||
|
|
||||||
|
-- Alf Gaida <agaida@siduction.org> Mon, 11 Jan 2016 21:24:39 +0100
|
||||||
|
|
||||||
|
qterminal (0.6.0+20151227-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Cherry-picking upstream version 0.6.0+20151227.
|
||||||
|
* Removed dbg package in favor of dbgsym.
|
||||||
|
* Fixied debian/docs
|
||||||
|
* Simplifed debian/rules
|
||||||
|
* Renamed debian/qterminal.manpages to debian/manpages
|
||||||
|
|
||||||
|
-- Alf Gaida <agaida@siduction.org> Sun, 27 Dec 2015 17:57:04 +0100
|
||||||
|
|
||||||
|
qterminal (0.6.0+20150802-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Change x-terminal-emulator alternative priority to 40. (Closes: #802430)
|
||||||
|
|
||||||
|
-- ChangZhuo Chen (陳昌倬) <czchen@debian.org> Tue, 20 Oct 2015 20:41:43 +0800
|
||||||
|
|
||||||
|
qterminal (0.6.0+20150802-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
[ Alf Gaida ]
|
||||||
|
* initial debian packaging
|
||||||
|
* improvements in debian $foo
|
||||||
|
* Cherry-picking upstream version 0.6.0+20150802.
|
||||||
|
* Changed mail address czchen
|
||||||
|
|
||||||
|
[ Andrew Lee (李健秋) ]
|
||||||
|
* Adding upstream version 0.6.0.
|
||||||
|
|
||||||
|
[ ChangZhuo Chen (陳昌倬) ]
|
||||||
|
* Initial release (Closes: #741173)
|
||||||
|
* Cleanup debian $foo:
|
||||||
|
- Add qterminal-dbg
|
||||||
|
- Add watch
|
||||||
|
- Add qterminal manpage
|
||||||
|
- Add local-options
|
||||||
|
- Update control
|
||||||
|
- Install manpage
|
||||||
|
- Remove lintian-overrides
|
||||||
|
- Update description
|
||||||
|
- Update copyright
|
||||||
|
- Update rules, add linker flags
|
||||||
|
|
||||||
|
-- ChangZhuo Chen (陳昌倬) <czchen@debian.org> Sat, 19 Sep 2015 10:14:08 +0800
|
||||||
53
debian/control
vendored
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
Source: qterminal
|
||||||
|
Maintainer: Lubuntu Developers <lubuntu-devel@lists.ubuntu.com>
|
||||||
|
Original-Maintainer: LXQt Packaging Team <pkg-lxqt-devel@lists.alioth.debian.org>
|
||||||
|
Uploaders: Alf Gaida <agaida@siduction.org>,
|
||||||
|
ChangZhuo Chen (陳昌倬) <czchen@debian.org>,
|
||||||
|
Andrew Lee (李健秋) <ajqlee@debian.org>,
|
||||||
|
Aaron Rainbolt <arraybolt3@ubuntu.com>,
|
||||||
|
Simon Quigley <tsimonq2@ubuntu.com>
|
||||||
|
Section: x11
|
||||||
|
Priority: optional
|
||||||
|
Build-Depends: debhelper-compat (= 13),
|
||||||
|
layer-shell-qt,
|
||||||
|
libcanberra-dev,
|
||||||
|
libkf6windowsystem-dev (>= 6.0.0),
|
||||||
|
liblayershellqtinterface-dev,
|
||||||
|
libqtermwidget6-2-dev (>= 2.2.0),
|
||||||
|
libutf8proc-dev,
|
||||||
|
libx11-dev,
|
||||||
|
libxkbcommon-dev (>= 0.5.0),
|
||||||
|
lxqt-build-tools (>= 2.2.0),
|
||||||
|
qt6-svg-dev (>= 6.6.0),
|
||||||
|
qt6-wayland-dev (>= 6.6.0)
|
||||||
|
Standards-Version: 4.7.2
|
||||||
|
Vcs-Browser: https://git.lubuntu.me/Lubuntu/qterminal-packaging
|
||||||
|
Vcs-Git: https://git.lubuntu.me/Lubuntu/qterminal-packaging.git
|
||||||
|
Debian-Vcs-Browser: https://salsa.debian.org/lxqt-team/qterminal
|
||||||
|
Debian-Vcs-Git: https://salsa.debian.org/lxqt-team/qterminal.git
|
||||||
|
Homepage: https://github.com/lxqt/qterminal
|
||||||
|
Rules-Requires-Root: no
|
||||||
|
|
||||||
|
Package: qterminal
|
||||||
|
Architecture: any
|
||||||
|
Depends: ${misc:Depends}, ${shlibs:Depends}
|
||||||
|
Recommends: qterminal-l10n
|
||||||
|
Provides: x-terminal-emulator, xterm
|
||||||
|
Description: Lightweight Qt terminal emulator
|
||||||
|
QTerminal is a lightweight terminal emulator based on QTermWidget.
|
||||||
|
.
|
||||||
|
Among other it features
|
||||||
|
* Split terminals (horizontally and vertically).
|
||||||
|
* Multiple tabs.
|
||||||
|
* Customizable shortcuts.
|
||||||
|
* Various color schemes.
|
||||||
|
|
||||||
|
Package: qterminal-l10n
|
||||||
|
Architecture: all
|
||||||
|
Multi-Arch: foreign
|
||||||
|
Section: localization
|
||||||
|
Depends: qt6-translations-l10n, ${misc:Depends}
|
||||||
|
Description: Language package for qterminal
|
||||||
|
The l10n files for qterminal.
|
||||||
|
.
|
||||||
|
This package contains the l10n files needed by qterminal.
|
||||||
482
debian/copyright
vendored
Normal file
@ -0,0 +1,482 @@
|
|||||||
|
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
|
Upstream-Name: qterminal
|
||||||
|
Source: https://github.com/lxqt/qterminal.git
|
||||||
|
|
||||||
|
Files: *
|
||||||
|
Copyright: 2016-2025 LXQt team
|
||||||
|
2010-2016 Petr Vanek <petr@scribus.info>
|
||||||
|
2017 Nathan Osman <nathan@quickmediasolutions.com>
|
||||||
|
Alexander Sokolov <sokoloff.a@gmail.com>
|
||||||
|
Alf Gaida <agaida@siduction.org>
|
||||||
|
Christian Surlykke <christian@surlykke.dk>
|
||||||
|
Daniel O'Neill <doneill@cammy.riverroadcable.com>
|
||||||
|
Erik Ridderby <erik@ridderby.se>
|
||||||
|
Felix Schnizlein <felix@fix3d.net>
|
||||||
|
Francisco Ballina <zballinita@gmail.com>
|
||||||
|
Ilya87 <yast4ik@gmail.com>
|
||||||
|
Jerome Leclanche <jerome@leclan.ch>
|
||||||
|
Johannes Jordan <ypnos@lanrules.de>
|
||||||
|
Ludger Krämer <dbluelle@blau-weissoedingen.de>
|
||||||
|
Maxim Bourmitrov <maxim.bourmistrov@unixconn.com>
|
||||||
|
Mikhail Ivchenko <ematirov@gmail.com>
|
||||||
|
Sweet Tea Dorminy <sweettea@mit.edu>
|
||||||
|
2006 Vladimir Kuznetsov <vovanec@gmail.com>
|
||||||
|
Matteo Pasotti <matteo@mageia.it>
|
||||||
|
@kulti <kultihell@gmail.com>
|
||||||
|
License: GPL-2+
|
||||||
|
|
||||||
|
Files: qterminal.metainfo.xml
|
||||||
|
Copyright: 2016-2020 LXQt Team
|
||||||
|
License: CC-BY-4.0
|
||||||
|
|
||||||
|
Files: src/third-party/*
|
||||||
|
Copyright: 2006-2011 the LibQxt project.
|
||||||
|
License: BSD-3-clause
|
||||||
|
|
||||||
|
Files: debian/*
|
||||||
|
Copyright: 2021-2025 Lubuntu Developers <lubuntu-devel@lists.ubuntu.com>
|
||||||
|
2012-2018 Alf Gaida <agaida@siduction.org>
|
||||||
|
2016 Peter Mattern <pmattern@arcor.de>
|
||||||
|
2012 Torsten Wohlfarth <towo@siduction.org>
|
||||||
|
2025 Aaron Rainbolt <arraybolt3@ubuntu.com>
|
||||||
|
2015-2025 ChangZhuo Chen (陳昌倬) <czchen@debian.org>
|
||||||
|
License: GPL-2+
|
||||||
|
|
||||||
|
License: GPL-2+
|
||||||
|
This package 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 package 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, see <http://www.gnu.org/licenses/>
|
||||||
|
.
|
||||||
|
On Debian systems, the complete text of the GNU General
|
||||||
|
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
|
||||||
|
|
||||||
|
License: BSD-3-clause
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the LibQxt project nor the
|
||||||
|
names of its contributors may be used to endorse or promote products
|
||||||
|
derived from this software without specific prior written permission.
|
||||||
|
.
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
||||||
|
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
Comment: Yes, it does indeed say "<COPYRIGHT HOLDER>" in the actual text of
|
||||||
|
the license copied from the source code.
|
||||||
|
|
||||||
|
License: CC-BY-4.0
|
||||||
|
Attribution 4.0 International
|
||||||
|
.
|
||||||
|
=======================================================================
|
||||||
|
.
|
||||||
|
Creative Commons Corporation ("Creative Commons") is not a law firm and
|
||||||
|
does not provide legal services or legal advice. Distribution of
|
||||||
|
Creative Commons public licenses does not create a lawyer-client or
|
||||||
|
other relationship. Creative Commons makes its licenses and related
|
||||||
|
information available on an "as-is" basis. Creative Commons gives no
|
||||||
|
warranties regarding its licenses, any material licensed under their
|
||||||
|
terms and conditions, or any related information. Creative Commons
|
||||||
|
disclaims all liability for damages resulting from their use to the
|
||||||
|
fullest extent possible.
|
||||||
|
.
|
||||||
|
Using Creative Commons Public Licenses
|
||||||
|
.
|
||||||
|
Creative Commons public licenses provide a standard set of terms and
|
||||||
|
conditions that creators and other rights holders may use to share
|
||||||
|
original works of authorship and other material subject to copyright
|
||||||
|
and certain other rights specified in the public license below. The
|
||||||
|
following considerations are for informational purposes only, are not
|
||||||
|
exhaustive, and do not form part of our licenses.
|
||||||
|
.
|
||||||
|
Considerations for licensors: Our public licenses are
|
||||||
|
intended for use by those authorized to give the public
|
||||||
|
permission to use material in ways otherwise restricted by
|
||||||
|
copyright and certain other rights. Our licenses are
|
||||||
|
irrevocable. Licensors should read and understand the terms
|
||||||
|
and conditions of the license they choose before applying it.
|
||||||
|
Licensors should also secure all rights necessary before
|
||||||
|
applying our licenses so that the public can reuse the
|
||||||
|
material as expected. Licensors should clearly mark any
|
||||||
|
material not subject to the license. This includes other CC-
|
||||||
|
licensed material, or material used under an exception or
|
||||||
|
limitation to copyright. More considerations for licensors:
|
||||||
|
wiki.creativecommons.org/Considerations_for_licensors
|
||||||
|
.
|
||||||
|
Considerations for the public: By using one of our public
|
||||||
|
licenses, a licensor grants the public permission to use the
|
||||||
|
licensed material under specified terms and conditions. If
|
||||||
|
the licensor's permission is not necessary for any reason--for
|
||||||
|
example, because of any applicable exception or limitation to
|
||||||
|
copyright--then that use is not regulated by the license. Our
|
||||||
|
licenses grant only permissions under copyright and certain
|
||||||
|
other rights that a licensor has authority to grant. Use of
|
||||||
|
the licensed material may still be restricted for other
|
||||||
|
reasons, including because others have copyright or other
|
||||||
|
rights in the material. A licensor may make special requests,
|
||||||
|
such as asking that all changes be marked or described.
|
||||||
|
Although not required by our licenses, you are encouraged to
|
||||||
|
respect those requests where reasonable. More considerations
|
||||||
|
for the public:
|
||||||
|
wiki.creativecommons.org/Considerations_for_licensees
|
||||||
|
.
|
||||||
|
=======================================================================
|
||||||
|
.
|
||||||
|
Creative Commons Attribution 4.0 International Public License
|
||||||
|
.
|
||||||
|
By exercising the Licensed Rights (defined below), You accept and agree
|
||||||
|
to be bound by the terms and conditions of this Creative Commons
|
||||||
|
Attribution 4.0 International Public License ("Public License"). To the
|
||||||
|
extent this Public License may be interpreted as a contract, You are
|
||||||
|
granted the Licensed Rights in consideration of Your acceptance of
|
||||||
|
these terms and conditions, and the Licensor grants You such rights in
|
||||||
|
consideration of benefits the Licensor receives from making the
|
||||||
|
Licensed Material available under these terms and conditions.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
Section 1 -- Definitions.
|
||||||
|
.
|
||||||
|
a. Adapted Material means material subject to Copyright and Similar
|
||||||
|
Rights that is derived from or based upon the Licensed Material
|
||||||
|
and in which the Licensed Material is translated, altered,
|
||||||
|
arranged, transformed, or otherwise modified in a manner requiring
|
||||||
|
permission under the Copyright and Similar Rights held by the
|
||||||
|
Licensor. For purposes of this Public License, where the Licensed
|
||||||
|
Material is a musical work, performance, or sound recording,
|
||||||
|
Adapted Material is always produced where the Licensed Material is
|
||||||
|
synched in timed relation with a moving image.
|
||||||
|
.
|
||||||
|
b. Adapter's License means the license You apply to Your Copyright
|
||||||
|
and Similar Rights in Your contributions to Adapted Material in
|
||||||
|
accordance with the terms and conditions of this Public License.
|
||||||
|
.
|
||||||
|
c. Copyright and Similar Rights means copyright and/or similar rights
|
||||||
|
closely related to copyright including, without limitation,
|
||||||
|
performance, broadcast, sound recording, and Sui Generis Database
|
||||||
|
Rights, without regard to how the rights are labeled or
|
||||||
|
categorized. For purposes of this Public License, the rights
|
||||||
|
specified in Section 2(b)(1)-(2) are not Copyright and Similar
|
||||||
|
Rights.
|
||||||
|
.
|
||||||
|
d. Effective Technological Measures means those measures that, in the
|
||||||
|
absence of proper authority, may not be circumvented under laws
|
||||||
|
fulfilling obligations under Article 11 of the WIPO Copyright
|
||||||
|
Treaty adopted on December 20, 1996, and/or similar international
|
||||||
|
agreements.
|
||||||
|
.
|
||||||
|
e. Exceptions and Limitations means fair use, fair dealing, and/or
|
||||||
|
any other exception or limitation to Copyright and Similar Rights
|
||||||
|
that applies to Your use of the Licensed Material.
|
||||||
|
.
|
||||||
|
f. Licensed Material means the artistic or literary work, database,
|
||||||
|
or other material to which the Licensor applied this Public
|
||||||
|
License.
|
||||||
|
.
|
||||||
|
g. Licensed Rights means the rights granted to You subject to the
|
||||||
|
terms and conditions of this Public License, which are limited to
|
||||||
|
all Copyright and Similar Rights that apply to Your use of the
|
||||||
|
Licensed Material and that the Licensor has authority to license.
|
||||||
|
.
|
||||||
|
h. Licensor means the individual(s) or entity(ies) granting rights
|
||||||
|
under this Public License.
|
||||||
|
.
|
||||||
|
i. Share means to provide material to the public by any means or
|
||||||
|
process that requires permission under the Licensed Rights, such
|
||||||
|
as reproduction, public display, public performance, distribution,
|
||||||
|
dissemination, communication, or importation, and to make material
|
||||||
|
available to the public including in ways that members of the
|
||||||
|
public may access the material from a place and at a time
|
||||||
|
individually chosen by them.
|
||||||
|
.
|
||||||
|
j. Sui Generis Database Rights means rights other than copyright
|
||||||
|
resulting from Directive 96/9/EC of the European Parliament and of
|
||||||
|
the Council of 11 March 1996 on the legal protection of databases,
|
||||||
|
as amended and/or succeeded, as well as other essentially
|
||||||
|
equivalent rights anywhere in the world.
|
||||||
|
.
|
||||||
|
k. You means the individual or entity exercising the Licensed Rights
|
||||||
|
under this Public License. Your has a corresponding meaning.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
Section 2 -- Scope.
|
||||||
|
.
|
||||||
|
a. License grant.
|
||||||
|
.
|
||||||
|
1. Subject to the terms and conditions of this Public License,
|
||||||
|
the Licensor hereby grants You a worldwide, royalty-free,
|
||||||
|
non-sublicensable, non-exclusive, irrevocable license to
|
||||||
|
exercise the Licensed Rights in the Licensed Material to:
|
||||||
|
.
|
||||||
|
a. reproduce and Share the Licensed Material, in whole or
|
||||||
|
in part; and
|
||||||
|
.
|
||||||
|
b. produce, reproduce, and Share Adapted Material.
|
||||||
|
.
|
||||||
|
2. Exceptions and Limitations. For the avoidance of doubt, where
|
||||||
|
Exceptions and Limitations apply to Your use, this Public
|
||||||
|
License does not apply, and You do not need to comply with
|
||||||
|
its terms and conditions.
|
||||||
|
.
|
||||||
|
3. Term. The term of this Public License is specified in Section
|
||||||
|
6(a).
|
||||||
|
.
|
||||||
|
4. Media and formats; technical modifications allowed. The
|
||||||
|
Licensor authorizes You to exercise the Licensed Rights in
|
||||||
|
all media and formats whether now known or hereafter created,
|
||||||
|
and to make technical modifications necessary to do so. The
|
||||||
|
Licensor waives and/or agrees not to assert any right or
|
||||||
|
authority to forbid You from making technical modifications
|
||||||
|
necessary to exercise the Licensed Rights, including
|
||||||
|
technical modifications necessary to circumvent Effective
|
||||||
|
Technological Measures. For purposes of this Public License,
|
||||||
|
simply making modifications authorized by this Section 2(a)
|
||||||
|
(4) never produces Adapted Material.
|
||||||
|
.
|
||||||
|
5. Downstream recipients.
|
||||||
|
.
|
||||||
|
a. Offer from the Licensor -- Licensed Material. Every
|
||||||
|
recipient of the Licensed Material automatically
|
||||||
|
receives an offer from the Licensor to exercise the
|
||||||
|
Licensed Rights under the terms and conditions of this
|
||||||
|
Public License.
|
||||||
|
.
|
||||||
|
b. No downstream restrictions. You may not offer or impose
|
||||||
|
any additional or different terms or conditions on, or
|
||||||
|
apply any Effective Technological Measures to, the
|
||||||
|
Licensed Material if doing so restricts exercise of the
|
||||||
|
Licensed Rights by any recipient of the Licensed
|
||||||
|
Material.
|
||||||
|
.
|
||||||
|
6. No endorsement. Nothing in this Public License constitutes or
|
||||||
|
may be construed as permission to assert or imply that You
|
||||||
|
are, or that Your use of the Licensed Material is, connected
|
||||||
|
with, or sponsored, endorsed, or granted official status by,
|
||||||
|
the Licensor or others designated to receive attribution as
|
||||||
|
provided in Section 3(a)(1)(A)(i).
|
||||||
|
.
|
||||||
|
b. Other rights.
|
||||||
|
.
|
||||||
|
1. Moral rights, such as the right of integrity, are not
|
||||||
|
licensed under this Public License, nor are publicity,
|
||||||
|
privacy, and/or other similar personality rights; however, to
|
||||||
|
the extent possible, the Licensor waives and/or agrees not to
|
||||||
|
assert any such rights held by the Licensor to the limited
|
||||||
|
extent necessary to allow You to exercise the Licensed
|
||||||
|
Rights, but not otherwise.
|
||||||
|
.
|
||||||
|
2. Patent and trademark rights are not licensed under this
|
||||||
|
Public License.
|
||||||
|
.
|
||||||
|
3. To the extent possible, the Licensor waives any right to
|
||||||
|
collect royalties from You for the exercise of the Licensed
|
||||||
|
Rights, whether directly or through a collecting society
|
||||||
|
under any voluntary or waivable statutory or compulsory
|
||||||
|
licensing scheme. In all other cases the Licensor expressly
|
||||||
|
reserves any right to collect such royalties.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
Section 3 -- License Conditions.
|
||||||
|
.
|
||||||
|
Your exercise of the Licensed Rights is expressly made subject to the
|
||||||
|
following conditions.
|
||||||
|
.
|
||||||
|
a. Attribution.
|
||||||
|
.
|
||||||
|
1. If You Share the Licensed Material (including in modified
|
||||||
|
form), You must:
|
||||||
|
.
|
||||||
|
a. retain the following if it is supplied by the Licensor
|
||||||
|
with the Licensed Material:
|
||||||
|
.
|
||||||
|
i. identification of the creator(s) of the Licensed
|
||||||
|
Material and any others designated to receive
|
||||||
|
attribution, in any reasonable manner requested by
|
||||||
|
the Licensor (including by pseudonym if
|
||||||
|
designated);
|
||||||
|
.
|
||||||
|
ii. a copyright notice;
|
||||||
|
.
|
||||||
|
iii. a notice that refers to this Public License;
|
||||||
|
.
|
||||||
|
iv. a notice that refers to the disclaimer of
|
||||||
|
warranties;
|
||||||
|
.
|
||||||
|
v. a URI or hyperlink to the Licensed Material to the
|
||||||
|
extent reasonably practicable;
|
||||||
|
.
|
||||||
|
b. indicate if You modified the Licensed Material and
|
||||||
|
retain an indication of any previous modifications; and
|
||||||
|
.
|
||||||
|
c. indicate the Licensed Material is licensed under this
|
||||||
|
Public License, and include the text of, or the URI or
|
||||||
|
hyperlink to, this Public License.
|
||||||
|
.
|
||||||
|
2. You may satisfy the conditions in Section 3(a)(1) in any
|
||||||
|
reasonable manner based on the medium, means, and context in
|
||||||
|
which You Share the Licensed Material. For example, it may be
|
||||||
|
reasonable to satisfy the conditions by providing a URI or
|
||||||
|
hyperlink to a resource that includes the required
|
||||||
|
information.
|
||||||
|
.
|
||||||
|
3. If requested by the Licensor, You must remove any of the
|
||||||
|
information required by Section 3(a)(1)(A) to the extent
|
||||||
|
reasonably practicable.
|
||||||
|
.
|
||||||
|
4. If You Share Adapted Material You produce, the Adapter's
|
||||||
|
License You apply must not prevent recipients of the Adapted
|
||||||
|
Material from complying with this Public License.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
Section 4 -- Sui Generis Database Rights.
|
||||||
|
.
|
||||||
|
Where the Licensed Rights include Sui Generis Database Rights that
|
||||||
|
apply to Your use of the Licensed Material:
|
||||||
|
.
|
||||||
|
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
|
||||||
|
to extract, reuse, reproduce, and Share all or a substantial
|
||||||
|
portion of the contents of the database;
|
||||||
|
.
|
||||||
|
b. if You include all or a substantial portion of the database
|
||||||
|
contents in a database in which You have Sui Generis Database
|
||||||
|
Rights, then the database in which You have Sui Generis Database
|
||||||
|
Rights (but not its individual contents) is Adapted Material; and
|
||||||
|
.
|
||||||
|
c. You must comply with the conditions in Section 3(a) if You Share
|
||||||
|
all or a substantial portion of the contents of the database.
|
||||||
|
.
|
||||||
|
For the avoidance of doubt, this Section 4 supplements and does not
|
||||||
|
replace Your obligations under this Public License where the Licensed
|
||||||
|
Rights include other Copyright and Similar Rights.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
|
||||||
|
.
|
||||||
|
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
|
||||||
|
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
|
||||||
|
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
|
||||||
|
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
|
||||||
|
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
|
||||||
|
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
|
||||||
|
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
|
||||||
|
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
|
||||||
|
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
|
||||||
|
.
|
||||||
|
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
|
||||||
|
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
|
||||||
|
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
|
||||||
|
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
|
||||||
|
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
|
||||||
|
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
|
||||||
|
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
|
||||||
|
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
|
||||||
|
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
|
||||||
|
.
|
||||||
|
c. The disclaimer of warranties and limitation of liability provided
|
||||||
|
above shall be interpreted in a manner that, to the extent
|
||||||
|
possible, most closely approximates an absolute disclaimer and
|
||||||
|
waiver of all liability.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
Section 6 -- Term and Termination.
|
||||||
|
.
|
||||||
|
a. This Public License applies for the term of the Copyright and
|
||||||
|
Similar Rights licensed here. However, if You fail to comply with
|
||||||
|
this Public License, then Your rights under this Public License
|
||||||
|
terminate automatically.
|
||||||
|
.
|
||||||
|
b. Where Your right to use the Licensed Material has terminated under
|
||||||
|
Section 6(a), it reinstates:
|
||||||
|
.
|
||||||
|
1. automatically as of the date the violation is cured, provided
|
||||||
|
it is cured within 30 days of Your discovery of the
|
||||||
|
violation; or
|
||||||
|
.
|
||||||
|
2. upon express reinstatement by the Licensor.
|
||||||
|
.
|
||||||
|
For the avoidance of doubt, this Section 6(b) does not affect any
|
||||||
|
right the Licensor may have to seek remedies for Your violations
|
||||||
|
of this Public License.
|
||||||
|
.
|
||||||
|
c. For the avoidance of doubt, the Licensor may also offer the
|
||||||
|
Licensed Material under separate terms or conditions or stop
|
||||||
|
distributing the Licensed Material at any time; however, doing so
|
||||||
|
will not terminate this Public License.
|
||||||
|
.
|
||||||
|
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
|
||||||
|
License.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
Section 7 -- Other Terms and Conditions.
|
||||||
|
.
|
||||||
|
a. The Licensor shall not be bound by any additional or different
|
||||||
|
terms or conditions communicated by You unless expressly agreed.
|
||||||
|
.
|
||||||
|
b. Any arrangements, understandings, or agreements regarding the
|
||||||
|
Licensed Material not stated herein are separate from and
|
||||||
|
independent of the terms and conditions of this Public License.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
Section 8 -- Interpretation.
|
||||||
|
.
|
||||||
|
a. For the avoidance of doubt, this Public License does not, and
|
||||||
|
shall not be interpreted to, reduce, limit, restrict, or impose
|
||||||
|
conditions on any use of the Licensed Material that could lawfully
|
||||||
|
be made without permission under this Public License.
|
||||||
|
.
|
||||||
|
b. To the extent possible, if any provision of this Public License is
|
||||||
|
deemed unenforceable, it shall be automatically reformed to the
|
||||||
|
minimum extent necessary to make it enforceable. If the provision
|
||||||
|
cannot be reformed, it shall be severed from this Public License
|
||||||
|
without affecting the enforceability of the remaining terms and
|
||||||
|
conditions.
|
||||||
|
.
|
||||||
|
c. No term or condition of this Public License will be waived and no
|
||||||
|
failure to comply consented to unless expressly agreed to by the
|
||||||
|
Licensor.
|
||||||
|
.
|
||||||
|
d. Nothing in this Public License constitutes or may be interpreted
|
||||||
|
as a limitation upon, or waiver of, any privileges and immunities
|
||||||
|
that apply to the Licensor or You, including from the legal
|
||||||
|
processes of any jurisdiction or authority.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
=======================================================================
|
||||||
|
.
|
||||||
|
Creative Commons is not a party to its public
|
||||||
|
licenses. Notwithstanding, Creative Commons may elect to apply one of
|
||||||
|
its public licenses to material it publishes and in those instances
|
||||||
|
will be considered the “Licensor.” The text of the Creative Commons
|
||||||
|
public licenses is dedicated to the public domain under the CC0 Public
|
||||||
|
Domain Dedication. Except for the limited purpose of indicating that
|
||||||
|
material is shared under a Creative Commons public license or as
|
||||||
|
otherwise permitted by the Creative Commons policies published at
|
||||||
|
creativecommons.org/policies, Creative Commons does not authorize the
|
||||||
|
use of the trademark "Creative Commons" or any other trademark or logo
|
||||||
|
of Creative Commons without its prior written consent including,
|
||||||
|
without limitation, in connection with any unauthorized modifications
|
||||||
|
to any of its public licenses or any other arrangements,
|
||||||
|
understandings, or agreements concerning use of licensed material. For
|
||||||
|
the avoidance of doubt, this paragraph does not form part of the
|
||||||
|
public licenses.
|
||||||
|
.
|
||||||
|
Creative Commons may be contacted at creativecommons.org.
|
||||||
3
debian/docs
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
AUTHORS
|
||||||
|
CONTRIBUTING.md
|
||||||
|
README.md
|
||||||
6
debian/gbp.conf
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[DEFAULT]
|
||||||
|
debian-branch = debian/sid
|
||||||
|
upstream-branch = upstream/latest
|
||||||
|
pristine-tar = True
|
||||||
|
compression = xz
|
||||||
|
|
||||||
1
debian/manpages
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
debian/qterminal.1
|
||||||
22
debian/postinst
vendored
Executable file
@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# postinst script for qterminal
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
configure)
|
||||||
|
update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator /usr/bin/qterminal 40
|
||||||
|
;;
|
||||||
|
|
||||||
|
abort-upgrade|abort-remove|abort-deconfigure)
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "postinst called with unknown argument \`$1'" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
exit 0
|
||||||
22
debian/prerm
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# postrm script for qterminal
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
purge|remove|disappear)
|
||||||
|
update-alternatives --remove x-terminal-emulator /usr/bin/qterminal | exit 0
|
||||||
|
;;
|
||||||
|
|
||||||
|
upgrade|failed-upgrade|abort-install|abort-upgrade)
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "postrm called with unknown argument \`$1'" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
exit 0
|
||||||
1
debian/qterminal-l10n.install
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
usr/share/qterminal/translations
|
||||||
39
debian/qterminal.1
vendored
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.1.
|
||||||
|
.TH QTERMINAL "1" "August 2015" "qterminal 0.6.0" "User Commands"
|
||||||
|
.SH NAME
|
||||||
|
qterminal \- QT-based multitab terminal emulator
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B qterminal
|
||||||
|
[\fI\,OPTION\/\fR]...
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Qterminal is a Qt-based multitab terminal forked from QTermWidget, it is
|
||||||
|
lightweight, open-source, specially designed for LXQt desktop environment.
|
||||||
|
|
||||||
|
The features of qterminal include: Split terminal horizontal and vertical,
|
||||||
|
Multiple tab, Customized shortcut, Change color scheme.
|
||||||
|
.TP
|
||||||
|
\fB\-d\fR, \fB\-\-drop\fR
|
||||||
|
Start in "dropdown mode" (like Yakuake or Tilda)
|
||||||
|
.TP
|
||||||
|
\fB\-e\fR, \fB\-\-execute\fR <command>
|
||||||
|
Execute command instead of shell
|
||||||
|
.TP
|
||||||
|
\fB\-h\fR, \fB\-\-help\fR
|
||||||
|
Print this help
|
||||||
|
.TP
|
||||||
|
\fB\-p\fR, \fB\-\-profile\fR
|
||||||
|
Load qterminal with specific options
|
||||||
|
.TP
|
||||||
|
\fB\-v\fR, \fB\-\-version\fR
|
||||||
|
Prints application version and exits
|
||||||
|
.TP
|
||||||
|
\fB\-w\fR, \fB\-\-workdir\fR <dir>
|
||||||
|
Start session with specified work directory
|
||||||
|
.PP
|
||||||
|
.SH "REPORTING BUGS"
|
||||||
|
Report bugs to <https://github.com/qterminal/qterminal>
|
||||||
|
.SH "AUTHOR"
|
||||||
|
This manual page was written by ChangZhuo Chen <czchen@debian.org> for the
|
||||||
|
.B
|
||||||
|
Debian GNU/Linux
|
||||||
|
system (but may be used by others).
|
||||||
6
debian/qterminal.install
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
usr/bin/qterminal
|
||||||
|
usr/share/applications/qterminal-drop.desktop
|
||||||
|
usr/share/applications/qterminal.desktop
|
||||||
|
usr/share/icons/hicolor/64x64/apps/qterminal.png
|
||||||
|
usr/share/metainfo/qterminal.metainfo.xml
|
||||||
|
usr/share/qterminal/qterminal_bookmarks_example.xml
|
||||||
3
debian/qterminal.lintian-overrides
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# This is expected
|
||||||
|
qterminal: desktop-entry-lacks-keywords-entry [usr/share/applications/*.desktop]
|
||||||
|
qterminal: appstream-metadata-validation-failed *
|
||||||
14
debian/rules
vendored
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
#!/usr/bin/make -f
|
||||||
|
# export DH_VERBOSE=1
|
||||||
|
|
||||||
|
export LC_ALL=C.UTF-8
|
||||||
|
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||||
|
|
||||||
|
%:
|
||||||
|
dh ${@} --buildsystem cmake
|
||||||
|
|
||||||
|
override_dh_auto_configure:
|
||||||
|
dh_auto_configure -- \
|
||||||
|
-DPULL_TRANSLATIONS=OFF \
|
||||||
|
-DUPDATE_TRANSLATIONS=OFF \
|
||||||
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo
|
||||||
12
debian/salsa-ci.yml
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# For more information on what jobs are run see:
|
||||||
|
# https://salsa.debian.org/salsa-ci-team/pipeline
|
||||||
|
#
|
||||||
|
# To enable the jobs, go to your repository (at salsa.debian.org)
|
||||||
|
# and click over Settings > CI/CD > Expand (in General pipelines).
|
||||||
|
# In "Custom CI config path" write debian/salsa-ci.yml and click
|
||||||
|
# in "Save Changes". The CI tests will run after the next commit.
|
||||||
|
---
|
||||||
|
include:
|
||||||
|
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
|
||||||
|
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
|
||||||
|
|
||||||
1
debian/source/format
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
3.0 (quilt)
|
||||||
2
debian/source/lintian-overrides
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# We don't plan on fixing this
|
||||||
|
qterminal source: maintainer-manual-page [debian/qterminal.1]
|
||||||
2
debian/source/local-options
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
unapply-patches
|
||||||
|
abort-on-upstream-changes
|
||||||
1
debian/source/options
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
tar-ignore=.gitignore
|
||||||
6
debian/upstream/metadata
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
Bug-Database: https://github.com/lxqt/qterminal/issues
|
||||||
|
Bug-Submit: https://github.com/lxqt/qterminal/issues/new
|
||||||
|
Changelog: https://github.com/lxqt/qterminal/blob/master/CHANGELOG
|
||||||
|
Repository: https://github.com/lxqt/qterminal.git
|
||||||
|
Repository-Browse: https://github.com/lxqt/qterminal
|
||||||
|
|
||||||
53
debian/upstream/signing-key.asc
vendored
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
Comment: Signed by Sophie Brun
|
||||||
|
|
||||||
|
mQINBF6cxrwBEADfl3ydxNfLBbWGPesXty2baQgixZ3D6aCxadI2kX+aikmT8rd0
|
||||||
|
ttDKN18cXV52Ssxnj0qhgf4hwnu/b0be6BzqSEyGM+UQR3X2CYpxrMakfW32Q18K
|
||||||
|
X5ec0RPR2ucBq9G0r9t6FYC8FkJ4uQUU3xxrLW3z302S0Makjgzm8BV9WrFQ7oFF
|
||||||
|
uJQj0BHbHYC4RyaZb2AfxY4Y92BPGTjtGekWqgw6vEXCCnvAbGYVQzvxZt3nw21/
|
||||||
|
1YmV4g7xhGFQPbOf9v3ejFUJeJIGzuJf5NAh7kvfCdUBAGYH0gnj0GpOve4ftnaG
|
||||||
|
sAId2CQwm3oYF4Tu7yBPTOBpkaKkNaT+UdwTyeKERuCZ9ocZWX++/YF9ItRkJ5mM
|
||||||
|
zoP1GluWn2atNWpRh/K97gyAGgr2fSmrAA4d1JrVbMujZAHoHAOKwJKqX9jPziPZ
|
||||||
|
BFHfhcIOzG3ZhXAuumHsd7uwfPBVt20g+G+cOjBghbSSu9EOtMkAZl1g3ybvZixu
|
||||||
|
Jtxa5exZWEmU7vtytEb8eq9Dj5XcGoTDbErE2RpJ/20HPzhyRKg9RN4iGS+0OiHS
|
||||||
|
oRbDi5IEOizvQjp2bsBmfa3rsoDSOqF2pevp+u8I56I6bU1GFpxxNC5IGvgo2Q79
|
||||||
|
quz0oIk5hs3eLlUdEYsLGwR6pWJaJyf36vuDsq7iLrLyvHI5irAowO4r1QARAQAB
|
||||||
|
tCVQZWRyYW0gUG91cmFuZyA8dHN1amFuMjAwMEBnbWFpbC5jb20+iQJOBBMBCAA4
|
||||||
|
FiEEGd/fOleb1QnbtXLYvnkwB60i334FAl6cxrwCGwMFCwkIBwIGFQoJCAsCBBYC
|
||||||
|
AwECHgECF4AACgkQvnkwB60i335f9RAAgRpn8gUa/l10UkVAnpM2Cz0MuNMwwCOq
|
||||||
|
IfVnuZuPBtYYiTU5Su++/aPZe3fF5B4v61F+XjNi7qeVL2t52X3jZ/iIx9Syasb+
|
||||||
|
vDAIfQ5t6lKXvOptWxf6vteOg6CHbXwpGHbPjUkUS2vQwRikjBnR0SnkrMoXtgSX
|
||||||
|
amPFqsitNrOhEJfeDfo0NzKESZuliWrCFt2v8c5q18G8cCZAvPLBlGuwRl58cDep
|
||||||
|
3EIibMI/9MUSJbKoiHlK+LcHtG7BQTNis/e7Pe1PkRmExfhxe1lNajtOx8FO72Tq
|
||||||
|
B6zY6drippM9VaIc1M+zp9BRpsFu8whOmapCqlXHRgAK8xTdQRIGInQFqLWPOxSC
|
||||||
|
f0B6N+EvQvgkyFQ1rW+u91OJBma46uKkhrwf+mDttVRncaIAkgE6e6pqm18yIPFk
|
||||||
|
D42rt/yHcOl+2qkcJS3gPcg5UvlCzqOwg1rKZQIk+TcPuDx3r2UghDEYZN9X6vw3
|
||||||
|
zCBufr7ygZNf4tkbnVARFWTR4GzyCseFkWgOVZL9DccAhs8NeMy1WLkUzB75adeR
|
||||||
|
3LONmEL7xOI8FuknKY4e6EcWhmstNIDgXfRe0hwO0VBdW3unoZC/K2ZM/ZuZyMdK
|
||||||
|
TFjvYJrNewmymKge68wo0054bGZn8oz17i2AosJz7kW+ITsxmxhVcpfl4bav9Neq
|
||||||
|
RpQwhnhK9bC5Ag0EXpzGvAEQANbeRHFbpgQVIqV9WVOVnTj4FIqrTPTPKKa02vJA
|
||||||
|
7tGpgFapgvjdxnMxJfV6wuwOBUUFLR7DrXlV8EVFAYc5qTIeSQXvJsWw6gQ3+f0D
|
||||||
|
z13oGOhZPBIzIKnV/MZI/jhIio8kSPWAuM5hR2X9Hvw3/CLo+H+hZZ6cFYoCxrQS
|
||||||
|
tTzcKMkdQizLLa+WNbqUSxg6I/P5k/smUDY9gKW7RtI5t/PupA3WTnsVD6CYWa3Q
|
||||||
|
c1O/1mUgqT6nQ5N9KCPpjZQRT6D6eIMmePtS85z4PPeYMJxPsKRYWPGRxKhCSdZl
|
||||||
|
/0wsC8aRtmwYT729e0ZgTAmUnj+rQp5hboF/ZPFjIoXR9G+0HnoY0a/nqVO4lUON
|
||||||
|
AV25GnMFGVyiHHlbH/0gboywwnzEg8BZbk+Z/61oOzBIW09sfG8fn8bsbkpL+nHf
|
||||||
|
Mi/Vauge6wSfw7I5AfSiwrSDNHmKVsu39koWV6JGxEeFr2MffF+CuaoJCNOr/ZII
|
||||||
|
SYR5ku3Y/lMKyUH1Oas0RWzFrdRcInqYK90A0x083zP4V445MvCwbRPzQAkm9wOP
|
||||||
|
kILLhE5FW+9/O0/9bpx4joJUDLV4d3hFZy7GSHKiZUs1QW6BV75JQKqoi+cVt+/L
|
||||||
|
+o1S8CMNekjqdC2mWRosM3doo51zT/FWNzQA1QcoZP2hORJDfw66y+4wPq6o8y1W
|
||||||
|
jR35ABEBAAGJAjYEGAEIACAWIQQZ3986V5vVCdu1cti+eTAHrSLffgUCXpzGvAIb
|
||||||
|
DAAKCRC+eTAHrSLffgbJD/4qW5YOo/BayBhaUh2L7VP7JNlECb/2xNNOFKI1NjNr
|
||||||
|
nOmgSJLzf74Uhmt5W+iVjmJBHrDceprIPkizmPrn90kIsPIMtHIDNxzUgKZHbnza
|
||||||
|
j1vZyAeC+JV79X1hOVpprj1TJwy65lpxXNyYnGqeIOgyFokn9fOHXv8aMQwpNuUr
|
||||||
|
bdUJ1C75jYrvwy/NR1DczIFFYgsbkDGDtjVBjyMc5JAgvUBz37/iVPJfWP6dKVnf
|
||||||
|
abRnUVzHgvgK7bnab00SA1TiWvjHURGjo+5rnRtv8X/AgStc2Phjq68TMIgMn0F2
|
||||||
|
kjUVvfQotNqzo9madNshvUDmsGtAzKh4e0dS1ear7u3nRp4Z7fqSrTEtXKNbEPwZ
|
||||||
|
wdWrWmmQLacNQBSe/FtcMzGF6xIVr4lnrL0bFjqBdQpdTC7vns3QSKk8/GFiEfpv
|
||||||
|
kzXrDbGV7jX2OWDjNHKcmXX2+E1CsNaJgS7zOgZw5jvbvlTLJUwyYNlM1VLI2OFW
|
||||||
|
Oa86l8pqli+B7rpTbsAE9Ut8qUaWjm87oUNSJbaKgqNnMaE+b/8VJaEeWHgQJwsD
|
||||||
|
bJSJ/O/vzlRtDjOJ1JDlMRLs7TnOFeUh5pgwyaJoidYbJEiGlMGJbI6BjwhDTBFO
|
||||||
|
NLJtd3SsRjc7ICtGdCvej59IvCDTjxtkhx5okF03APi1aXpHQrE18/arFD7BpoGO
|
||||||
|
sw==
|
||||||
|
=gSIv
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
6
debian/watch
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
Version: 5
|
||||||
|
Template: GitHub
|
||||||
|
Owner: lxqt
|
||||||
|
Project: @PACKAGE@
|
||||||
|
Download-Url-Mangle: s%https://api.github.com/repos/([^/]+)/@PACKAGE@/git/refs/tags/@ANY_VERSION@%https://github.com/$1/@PACKAGE@/releases/download/$2/@PACKAGE@-$2.tar.xz%g
|
||||||
|
Pgp-Mode: auto
|
||||||
@ -1,42 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<application>
|
|
||||||
<id type="desktop">qterminal.desktop</id>
|
|
||||||
<metadata_license>CC0-1.0</metadata_license>
|
|
||||||
<project_license>GPL-2</project_license>
|
|
||||||
<name>QTerminal</name>
|
|
||||||
<summary>A lightweight multiplatform terminal emulator.</summary>
|
|
||||||
<description>
|
|
||||||
</p>
|
|
||||||
QTerminal is a lightweight multiplatform terminal emulator.
|
|
||||||
<p>
|
|
||||||
Its main features are:
|
|
||||||
</p>
|
|
||||||
<ul>
|
|
||||||
<li>Multiple tabs</li>
|
|
||||||
<li>Layout terminals side-by-side</li>
|
|
||||||
<li>Dropdown mode</li>
|
|
||||||
<li>Text search</li>
|
|
||||||
<li>Configurable uster interface</li>
|
|
||||||
<li>Integration of system clipboard</li>
|
|
||||||
</ul>
|
|
||||||
</description>
|
|
||||||
<screenshots>
|
|
||||||
<screenshot type="default">
|
|
||||||
<image>http://worblehat.github.io/storage/qterminal_1.png</image>
|
|
||||||
<caption>The default QTerminal window.</caption>
|
|
||||||
</screenshot>
|
|
||||||
</screenshots>
|
|
||||||
<screenshots>
|
|
||||||
<screenshot type="default">
|
|
||||||
<image>http://worblehat.github.io/storage/qterminal_2.png</image>
|
|
||||||
<caption>QTerminal with multiple tabs, splitted terminals and highlighted text.</caption>
|
|
||||||
</screenshot>
|
|
||||||
</screenshots>
|
|
||||||
<screenshots>
|
|
||||||
<screenshot type="default">
|
|
||||||
<image>http://worblehat.github.io/storage/qterminal_3.png</image>
|
|
||||||
<caption>Find bar and highlighted match.</caption>
|
|
||||||
</screenshot>
|
|
||||||
</screenshots>
|
|
||||||
<url type="homepage">https://github.com/lxde/qterminal</url>
|
|
||||||
</application>
|
|
||||||
@ -1,55 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Name=QTerminal
|
|
||||||
Type=Application
|
|
||||||
GenericName=Terminal emulator
|
|
||||||
|
|
||||||
Comment=Terminal emulator
|
|
||||||
Comment[de]=Befehlszeile verwenden
|
|
||||||
Comment[fr]=Terminal
|
|
||||||
Comment[pt]=Emulador de terminal
|
|
||||||
Comment[ru_RU]=Эмулятор терминала
|
|
||||||
Comment[ja]=ターミナル エミュレータ
|
|
||||||
|
|
||||||
Icon=utilities-terminal
|
|
||||||
Exec=qterminal
|
|
||||||
Terminal=false
|
|
||||||
Categories=Qt;System;TerminalEmulator;
|
|
||||||
Actions=Dropdown;
|
|
||||||
|
|
||||||
[Desktop Action Dropdown]
|
|
||||||
Name=Drop-down terminal
|
|
||||||
Exec=qterminal --drop
|
|
||||||
Icon=utilities-terminal
|
|
||||||
|
|
||||||
Name[en_GB]=Drop-down Terminal
|
|
||||||
Name[bg]=Падащ терминал
|
|
||||||
Name[ca]=Terminal desplegable
|
|
||||||
Name[ca@valencia]=Terminal desplegable
|
|
||||||
Name[cs]=Vysouvací terminál
|
|
||||||
Name[da]=Terminal der ruller ned
|
|
||||||
Name[de]=Aufklapp-Terminal
|
|
||||||
Name[es]=Terminal de menú desplegable
|
|
||||||
Name[et]=Lahtikeriv terminal
|
|
||||||
Name[fr]=Terminal déroulant
|
|
||||||
Name[hr]=Spuštajući terminal
|
|
||||||
Name[hu]=Legördülő terminál
|
|
||||||
Name[it]=Terminale a discesa
|
|
||||||
Name[ja]=ドロップダウン式ターミナル
|
|
||||||
Name[km]=ស្ថានីយទម្លាក់ចុះ
|
|
||||||
Name[ko]=위에서 내려오는 터미널
|
|
||||||
Name[nb]=Nedtrekksterminal
|
|
||||||
Name[nds]=Utklapp-Konsool
|
|
||||||
Name[nl]=Uitvouwbare terminalemulator
|
|
||||||
Name[pa]=ਲਟਕਦਾ ਟਰਮੀਨਲ
|
|
||||||
Name[pt]=Terminal suspenso
|
|
||||||
Name[pt_BR]=Terminal suspenso
|
|
||||||
Name[ro]=Terminal derulant
|
|
||||||
Name[ru]=Выпадающий терминал
|
|
||||||
Name[sk]=Rozbaľovací terminál
|
|
||||||
Name[sv]=Rullgardinsterminal
|
|
||||||
Name[th]=เทอร์มินัลแบบหย่อนลง
|
|
||||||
Name[tr]=Yukarıdan Açılan Uçbirim
|
|
||||||
Name[uk]=Спадний термінал
|
|
||||||
Name[x-test]=xxDrop-down Terminalxx
|
|
||||||
Name[zh_CN]=拉幕式终端
|
|
||||||
Name[zh_TW]=下拉式終端機
|
|
||||||
@ -1,32 +0,0 @@
|
|||||||
TARGET = qterminal
|
|
||||||
TEMPLATE = app
|
|
||||||
# qt5 only. Please use cmake - it's an official build tool for this software
|
|
||||||
QT += widgets
|
|
||||||
|
|
||||||
CONFIG += link_pkgconfig
|
|
||||||
PKGCONFIG += qtermwidget5
|
|
||||||
|
|
||||||
DEFINES += STR_VERSION=\\\"0.5.0\\\"
|
|
||||||
|
|
||||||
SOURCES += $$files(src/*.cpp)
|
|
||||||
HEADERS += $$files(src/*.h)
|
|
||||||
|
|
||||||
INCLUDEPATH += src
|
|
||||||
|
|
||||||
RESOURCES += src/icons.qrc
|
|
||||||
FORMS += $$files(src/forms/*.ui)
|
|
||||||
|
|
||||||
unix {
|
|
||||||
isEmpty(PREFIX) {
|
|
||||||
PREFIX = /usr/local
|
|
||||||
}
|
|
||||||
BINDIR = $$PREFIX/bin
|
|
||||||
|
|
||||||
INSTALLS += target shortcut
|
|
||||||
target.path = $$BINDIR
|
|
||||||
|
|
||||||
DATADIR = $$PREFIX/share
|
|
||||||
shortcut.path = $$DATADIR/applications
|
|
||||||
shortcut.files = qterminal.desktop
|
|
||||||
}
|
|
||||||
|
|
||||||
@ -1,52 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Type=Application
|
|
||||||
Exec=qterminal --drop
|
|
||||||
Terminal=false
|
|
||||||
Categories=Qt;System;TerminalEmulator;
|
|
||||||
Icon=utilities-terminal
|
|
||||||
|
|
||||||
Name=QTerminal drop down
|
|
||||||
Name[de]=QTerminal herabhängend
|
|
||||||
Name[pt]=QTerminal suspenso
|
|
||||||
Name[ja]=QTerminal ドロップダウン
|
|
||||||
|
|
||||||
GenericName=Drop-down Terminal
|
|
||||||
GenericName[bg]=Падащ терминал
|
|
||||||
GenericName[ca]=Terminal desplegable
|
|
||||||
GenericName[ca@valencia]=Terminal desplegable
|
|
||||||
GenericName[cs]=Vysouvací terminál
|
|
||||||
GenericName[da]=Terminal der ruller ned
|
|
||||||
GenericName[de]=Aufklapp-Terminal
|
|
||||||
GenericName[en_GB]=Drop-down Terminal
|
|
||||||
GenericName[es]=Terminal de menú desplegable
|
|
||||||
GenericName[et]=Lahtikeriv terminal
|
|
||||||
GenericName[fr]=Terminal déroulant
|
|
||||||
GenericName[hr]=Spuštajući terminal
|
|
||||||
GenericName[hu]=Legördülő terminál
|
|
||||||
GenericName[it]=Terminale a discesa
|
|
||||||
GenericName[ja]=ドロップダウン式ターミナル
|
|
||||||
GenericName[km]=ស្ថានីយទម្លាក់ចុះ
|
|
||||||
GenericName[ko]=위에서 내려오는 터미널
|
|
||||||
GenericName[nb]=Nedtrekksterminal
|
|
||||||
GenericName[nds]=Utklapp-Konsool
|
|
||||||
GenericName[nl]=Uitvouwbare terminalemulator
|
|
||||||
GenericName[pa]=ਲਟਕਦਾ ਟਰਮੀਨਲ
|
|
||||||
GenericName[pt]=Terminal suspenso
|
|
||||||
GenericName[pt_BR]=Terminal suspenso
|
|
||||||
GenericName[ro]=Terminal derulant
|
|
||||||
GenericName[ru]=Выпадающий терминал
|
|
||||||
GenericName[sk]=Rozbaľovací terminál
|
|
||||||
GenericName[sv]=Rullgardinsterminal
|
|
||||||
GenericName[th]=เทอร์มินัลแบบหย่อนลง
|
|
||||||
GenericName[tr]=Yukarıdan Açılan Uçbirim
|
|
||||||
GenericName[uk]=Спадний термінал
|
|
||||||
GenericName[x-test]=xxDrop-down Terminalxx
|
|
||||||
GenericName[zh_CN]=拉幕式终端
|
|
||||||
GenericName[zh_TW]=下拉式終端機
|
|
||||||
|
|
||||||
Comment=A drop-down terminal emulator.
|
|
||||||
Comment[de]=Ein Ausklapp-Terminalemulator.
|
|
||||||
Comment[pt]=Um emulador de terminal suspenso.
|
|
||||||
Comment[ru]=Вападающий эмулятор терминала.
|
|
||||||
Comment[ja]=ドロップダウン式 ターミナルエミュレータ
|
|
||||||
|
|
||||||
@ -1,396 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
* Copyright (C) 2014 by Petr Vanek *
|
|
||||||
* petr@scribus.info *
|
|
||||||
* *
|
|
||||||
* 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, see <http://www.gnu.org/licenses/>. *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#include <QDebug>
|
|
||||||
#include <QStandardPaths>
|
|
||||||
|
|
||||||
#include "bookmarkswidget.h"
|
|
||||||
#include "properties.h"
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
|
|
||||||
class AbstractBookmarkItem
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
enum ItemType {
|
|
||||||
Root = 0,
|
|
||||||
Group = 1,
|
|
||||||
Command = 2
|
|
||||||
};
|
|
||||||
|
|
||||||
AbstractBookmarkItem(AbstractBookmarkItem* parent = 0)
|
|
||||||
{
|
|
||||||
m_parent = parent;
|
|
||||||
}
|
|
||||||
~AbstractBookmarkItem()
|
|
||||||
{
|
|
||||||
qDeleteAll(m_children);
|
|
||||||
}
|
|
||||||
|
|
||||||
ItemType type() { return m_type; }
|
|
||||||
QString value() { return m_value; }
|
|
||||||
QString display() { return m_display; }
|
|
||||||
|
|
||||||
void addChild(AbstractBookmarkItem* item) { m_children << item; }
|
|
||||||
int childCount() { return m_children.count(); }
|
|
||||||
QList<AbstractBookmarkItem*> children() { return m_children; }
|
|
||||||
AbstractBookmarkItem *child(int number) { return m_children.value(number); }
|
|
||||||
AbstractBookmarkItem *parent() { return m_parent; }
|
|
||||||
|
|
||||||
int childNumber() const
|
|
||||||
{
|
|
||||||
if (m_parent)
|
|
||||||
return m_parent->children().indexOf(const_cast<AbstractBookmarkItem*>(this));
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
|
||||||
ItemType m_type;
|
|
||||||
AbstractBookmarkItem *m_parent;
|
|
||||||
QList<AbstractBookmarkItem*> m_children;
|
|
||||||
QString m_value;
|
|
||||||
QString m_display;
|
|
||||||
};
|
|
||||||
|
|
||||||
class BookmarkRootItem : public AbstractBookmarkItem
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
BookmarkRootItem()
|
|
||||||
: AbstractBookmarkItem()
|
|
||||||
{
|
|
||||||
m_type = AbstractBookmarkItem::Root;
|
|
||||||
m_value = m_display = "root";
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
class BookmarkCommandItem : public AbstractBookmarkItem
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
BookmarkCommandItem(const QString &name, const QString &command, AbstractBookmarkItem *parent)
|
|
||||||
: AbstractBookmarkItem(parent)
|
|
||||||
{
|
|
||||||
m_type = AbstractBookmarkItem::Command;
|
|
||||||
m_value = command;
|
|
||||||
m_display = name;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
class BookmarkGroupItem : public AbstractBookmarkItem
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
BookmarkGroupItem(const QString &name, AbstractBookmarkItem *parent)
|
|
||||||
: AbstractBookmarkItem(parent)
|
|
||||||
{
|
|
||||||
m_type = AbstractBookmarkItem::Group;
|
|
||||||
m_display = name;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
class BookmarkLocalGroupItem : public BookmarkGroupItem
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
BookmarkLocalGroupItem(AbstractBookmarkItem *parent)
|
|
||||||
: BookmarkGroupItem(QObject::tr("Local Bookmarks"), parent)
|
|
||||||
{
|
|
||||||
QList<QStandardPaths::StandardLocation> locations;
|
|
||||||
locations << QStandardPaths::DesktopLocation
|
|
||||||
<< QStandardPaths::DocumentsLocation
|
|
||||||
<< QStandardPaths::TempLocation
|
|
||||||
<< QStandardPaths::HomeLocation
|
|
||||||
<< QStandardPaths::MusicLocation
|
|
||||||
<< QStandardPaths::PicturesLocation;
|
|
||||||
|
|
||||||
QString path;
|
|
||||||
QString name;
|
|
||||||
QString cmd;
|
|
||||||
QDir d;
|
|
||||||
|
|
||||||
// standard $HOME subdirs
|
|
||||||
foreach (QStandardPaths::StandardLocation i, locations)
|
|
||||||
{
|
|
||||||
path = QStandardPaths::writableLocation(i);
|
|
||||||
if (!d.exists(path))
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
name = QStandardPaths::displayName(i);
|
|
||||||
|
|
||||||
path.replace(" ", "\\ ");
|
|
||||||
cmd = "cd " + path;
|
|
||||||
|
|
||||||
addChild(new BookmarkCommandItem(name, cmd, this));
|
|
||||||
}
|
|
||||||
|
|
||||||
// system env - include dirs in the tree
|
|
||||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
|
||||||
foreach (QString i, env.keys())
|
|
||||||
{
|
|
||||||
path = env.value(i);
|
|
||||||
if (!d.exists(path) || !QFileInfo(path).isDir())
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
path.replace(" ", "\\ ");
|
|
||||||
cmd = "cd " + path;
|
|
||||||
addChild(new BookmarkCommandItem(i, cmd, this));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
class BookmarkFileGroupItem : public BookmarkGroupItem
|
|
||||||
{
|
|
||||||
// hierarchy handling
|
|
||||||
// m_pos to group map. Example: group1.group2=item
|
|
||||||
QHash<QString,AbstractBookmarkItem*> m_map;
|
|
||||||
// current position level. Example "group1", "group2"
|
|
||||||
QStringList m_pos;
|
|
||||||
|
|
||||||
public:
|
|
||||||
BookmarkFileGroupItem(AbstractBookmarkItem *parent, const QString &fname)
|
|
||||||
: BookmarkGroupItem(QObject::tr("Synchronized Bookmarks"), parent)
|
|
||||||
{
|
|
||||||
QFile f(fname);
|
|
||||||
if (!f.open(QIODevice::ReadOnly))
|
|
||||||
{
|
|
||||||
qDebug() << "Canot open file" << fname;
|
|
||||||
// TODO/FIXME: message box
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
QXmlStreamReader xml;
|
|
||||||
xml.setDevice(&f);
|
|
||||||
|
|
||||||
while (true)
|
|
||||||
{
|
|
||||||
xml.readNext();
|
|
||||||
|
|
||||||
switch (xml.tokenType())
|
|
||||||
{
|
|
||||||
case QXmlStreamReader::StartElement:
|
|
||||||
{
|
|
||||||
AbstractBookmarkItem *parent = m_map.contains(xmlPos()) ? m_map[xmlPos()] : this;
|
|
||||||
QString tag = xml.name().toString();
|
|
||||||
if (tag == "group")
|
|
||||||
{
|
|
||||||
QString name = xml.attributes().value("name").toString();
|
|
||||||
m_pos.append(name);
|
|
||||||
|
|
||||||
BookmarkGroupItem *i = new BookmarkGroupItem(name, parent);
|
|
||||||
parent->addChild(i);
|
|
||||||
|
|
||||||
m_map[xmlPos()] = i;
|
|
||||||
}
|
|
||||||
else if (tag == "command")
|
|
||||||
{
|
|
||||||
QString name = xml.attributes().value("name").toString();
|
|
||||||
QString cmd = xml.attributes().value("value").toString();
|
|
||||||
|
|
||||||
BookmarkCommandItem *i = new BookmarkCommandItem(name, cmd, parent);
|
|
||||||
parent->addChild(i);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case QXmlStreamReader::EndElement:
|
|
||||||
{
|
|
||||||
QString tag = xml.name().toString();
|
|
||||||
if (tag == "group")
|
|
||||||
{
|
|
||||||
m_pos.removeLast();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case QXmlStreamReader::Invalid:
|
|
||||||
qDebug() << "XML error: " << xml.errorString().data()
|
|
||||||
<< xml.lineNumber() << xml.columnNumber();
|
|
||||||
m_map.clear();
|
|
||||||
return;
|
|
||||||
break;
|
|
||||||
case QXmlStreamReader::EndDocument:
|
|
||||||
m_map.clear();
|
|
||||||
return;
|
|
||||||
break;
|
|
||||||
} // switch
|
|
||||||
} // while
|
|
||||||
} // constructor
|
|
||||||
|
|
||||||
QString xmlPos()
|
|
||||||
{
|
|
||||||
return m_pos.join(".");
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
BookmarksModel::BookmarksModel(QObject *parent)
|
|
||||||
: QAbstractItemModel(parent),
|
|
||||||
m_root(0)
|
|
||||||
{
|
|
||||||
setup();
|
|
||||||
}
|
|
||||||
|
|
||||||
void BookmarksModel::setup()
|
|
||||||
{
|
|
||||||
if (m_root)
|
|
||||||
delete m_root;
|
|
||||||
m_root = new BookmarkRootItem();
|
|
||||||
m_root->addChild(new BookmarkLocalGroupItem(m_root));
|
|
||||||
m_root->addChild(new BookmarkFileGroupItem(m_root, Properties::Instance()->bookmarksFile));
|
|
||||||
beginResetModel();
|
|
||||||
endResetModel();
|
|
||||||
}
|
|
||||||
|
|
||||||
BookmarksModel::~BookmarksModel()
|
|
||||||
{
|
|
||||||
if (m_root)
|
|
||||||
delete m_root;
|
|
||||||
}
|
|
||||||
|
|
||||||
int BookmarksModel::columnCount(const QModelIndex & /* parent */) const
|
|
||||||
{
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
QVariant BookmarksModel::data(const QModelIndex &index, int role) const
|
|
||||||
{
|
|
||||||
if (!index.isValid())
|
|
||||||
return QVariant();
|
|
||||||
|
|
||||||
switch (role)
|
|
||||||
{
|
|
||||||
case Qt::DisplayRole:
|
|
||||||
case Qt::EditRole:
|
|
||||||
return index.column() == 0 ? getItem(index)->display() : getItem(index)->value();
|
|
||||||
case Qt::FontRole:
|
|
||||||
{
|
|
||||||
QFont f;
|
|
||||||
if (static_cast<AbstractBookmarkItem*>(index.internalPointer())->type() == AbstractBookmarkItem::Group)
|
|
||||||
{
|
|
||||||
f.setBold(true);
|
|
||||||
}
|
|
||||||
return f;
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
return QVariant();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
AbstractBookmarkItem *BookmarksModel::getItem(const QModelIndex &index) const
|
|
||||||
{
|
|
||||||
if (index.isValid())
|
|
||||||
{
|
|
||||||
AbstractBookmarkItem *item = static_cast<AbstractBookmarkItem*>(index.internalPointer());
|
|
||||||
if (item)
|
|
||||||
return item;
|
|
||||||
}
|
|
||||||
return m_root;
|
|
||||||
}
|
|
||||||
|
|
||||||
QVariant BookmarksModel::headerData(int section, Qt::Orientation orientation,
|
|
||||||
int role) const
|
|
||||||
{
|
|
||||||
return QVariant();
|
|
||||||
}
|
|
||||||
|
|
||||||
QModelIndex BookmarksModel::index(int row, int column, const QModelIndex &parent) const
|
|
||||||
{
|
|
||||||
if (parent.isValid() && parent.column() != 0)
|
|
||||||
return QModelIndex();
|
|
||||||
|
|
||||||
AbstractBookmarkItem *parentItem = getItem(parent);
|
|
||||||
|
|
||||||
AbstractBookmarkItem *childItem = parentItem->child(row);
|
|
||||||
if (childItem)
|
|
||||||
return createIndex(row, column, childItem);
|
|
||||||
else
|
|
||||||
return QModelIndex();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
QModelIndex BookmarksModel::parent(const QModelIndex &index) const
|
|
||||||
{
|
|
||||||
if (!index.isValid())
|
|
||||||
return QModelIndex();
|
|
||||||
|
|
||||||
AbstractBookmarkItem *childItem = getItem(index);
|
|
||||||
AbstractBookmarkItem *parentItem = childItem->parent();
|
|
||||||
|
|
||||||
if (parentItem == m_root)
|
|
||||||
return QModelIndex();
|
|
||||||
|
|
||||||
return createIndex(parentItem->childNumber(), 0, parentItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
int BookmarksModel::rowCount(const QModelIndex &parent) const
|
|
||||||
{
|
|
||||||
AbstractBookmarkItem *parentItem = getItem(parent);
|
|
||||||
return parentItem->childCount();
|
|
||||||
}
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
bool BookmarksModel::setData(const QModelIndex &index, const QVariant &value,
|
|
||||||
int role)
|
|
||||||
{
|
|
||||||
if (role != Qt::EditRole)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
AbstractBookmarkItem *item = getItem(index);
|
|
||||||
bool result = item->setData(index.column(), value);
|
|
||||||
|
|
||||||
if (result)
|
|
||||||
emit dataChanged(index, index);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
BookmarksWidget::BookmarksWidget(QWidget *parent)
|
|
||||||
: QWidget(parent)
|
|
||||||
{
|
|
||||||
setupUi(this);
|
|
||||||
|
|
||||||
m_model = new BookmarksModel(this);
|
|
||||||
treeView->setModel(m_model);
|
|
||||||
treeView->header()->hide();
|
|
||||||
|
|
||||||
connect(treeView, SIGNAL(doubleClicked(QModelIndex)),
|
|
||||||
this, SLOT(handleCommand(QModelIndex)));
|
|
||||||
}
|
|
||||||
|
|
||||||
BookmarksWidget::~BookmarksWidget()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void BookmarksWidget::setup()
|
|
||||||
{
|
|
||||||
m_model->setup();
|
|
||||||
|
|
||||||
treeView->expandAll();
|
|
||||||
treeView->resizeColumnToContents(0);
|
|
||||||
treeView->resizeColumnToContents(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void BookmarksWidget::handleCommand(const QModelIndex& index)
|
|
||||||
{
|
|
||||||
AbstractBookmarkItem *item = static_cast<AbstractBookmarkItem*>(index.internalPointer());
|
|
||||||
if (!item && item->type() != AbstractBookmarkItem::Command)
|
|
||||||
return;
|
|
||||||
|
|
||||||
emit callCommand(item->value() + "\n"); // TODO/FIXME: decide how to handle EOL
|
|
||||||
}
|
|
||||||
@ -1,76 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
* Copyright (C) 2014 by Petr Vanek *
|
|
||||||
* petr@scribus.info *
|
|
||||||
* *
|
|
||||||
* 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, see <http://www.gnu.org/licenses/>. *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#ifndef BOOKMARKSWIDGET_H
|
|
||||||
#define BOOKMARKSWIDGET_H
|
|
||||||
|
|
||||||
#include "ui_bookmarkswidget.h"
|
|
||||||
|
|
||||||
class AbstractBookmarkItem;
|
|
||||||
class BookmarksModel;
|
|
||||||
|
|
||||||
|
|
||||||
class BookmarksWidget : public QWidget, Ui::BookmarksWidget
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
BookmarksWidget(QWidget *parent=NULL);
|
|
||||||
~BookmarksWidget();
|
|
||||||
|
|
||||||
void setup();
|
|
||||||
|
|
||||||
signals:
|
|
||||||
void callCommand(const QString &cmd);
|
|
||||||
|
|
||||||
private:
|
|
||||||
BookmarksModel *m_model;
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void handleCommand(const QModelIndex& index);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
class BookmarksModel : public QAbstractItemModel
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
BookmarksModel(QObject *parent = 0);
|
|
||||||
~BookmarksModel();
|
|
||||||
|
|
||||||
void setup();
|
|
||||||
|
|
||||||
QVariant data(const QModelIndex &index, int role) const;
|
|
||||||
QVariant headerData(int section, Qt::Orientation orientation,
|
|
||||||
int role = Qt::DisplayRole) const;
|
|
||||||
|
|
||||||
QModelIndex index(int row, int column,
|
|
||||||
const QModelIndex &parent = QModelIndex()) const;
|
|
||||||
QModelIndex parent(const QModelIndex &index) const;
|
|
||||||
|
|
||||||
int rowCount(const QModelIndex &parent = QModelIndex()) const;
|
|
||||||
int columnCount(const QModelIndex &parent = QModelIndex()) const;
|
|
||||||
|
|
||||||
private:
|
|
||||||
AbstractBookmarkItem *getItem(const QModelIndex &index) const;
|
|
||||||
AbstractBookmarkItem *m_root;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
114
src/config.h
@ -1,114 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
* Copyright (C) 2006 by Vladimir Kuznetsov *
|
|
||||||
* vovanec@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, see <http://www.gnu.org/licenses/>. *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef CONFIG_H
|
|
||||||
#define CONFIG_H
|
|
||||||
|
|
||||||
#define ADD_TAB "Add Tab"
|
|
||||||
#define RENAME_TAB "Rename Tab"
|
|
||||||
#define CLOSE_TAB "Close Tab"
|
|
||||||
#define NEW_WINDOW "New Window"
|
|
||||||
|
|
||||||
#define QUIT "Quit"
|
|
||||||
#define PREFERENCES "Preferences..."
|
|
||||||
|
|
||||||
#define TAB_NEXT "Next Tab"
|
|
||||||
#define TAB_PREV "Previous Tab"
|
|
||||||
|
|
||||||
#define CLEAR_TERMINAL "Clear Active Terminal"
|
|
||||||
|
|
||||||
#define SPLIT_HORIZONTAL "Split Terminal Horizontally"
|
|
||||||
#define SPLIT_VERTICAL "Split Terminal Vertically"
|
|
||||||
|
|
||||||
#define SUB_COLLAPSE "Collapse Subterminal"
|
|
||||||
#define SUB_NEXT "Next Subterminal"
|
|
||||||
#define SUB_PREV "Previous Subterminal"
|
|
||||||
|
|
||||||
#define MOVE_LEFT "Move Tab Left"
|
|
||||||
#define MOVE_RIGHT "Move Tab Right"
|
|
||||||
|
|
||||||
#define COPY_SELECTION "Copy Selection"
|
|
||||||
#define PASTE_CLIPBOARD "Paste Clipboard"
|
|
||||||
#define PASTE_SELECTION "Paste Selection"
|
|
||||||
|
|
||||||
#define ZOOM_IN "Zoom in"
|
|
||||||
#define ZOOM_OUT "Zoom out"
|
|
||||||
#define ZOOM_RESET "Zoom reset"
|
|
||||||
|
|
||||||
#define FIND "Find"
|
|
||||||
|
|
||||||
#define TOGGLE_MENU "Toggle Menu"
|
|
||||||
#define TOGGLE_BOOKMARKS "Toggle Bookmarks"
|
|
||||||
|
|
||||||
#define HIDE_WINDOW_BORDERS "Hide Window Borders"
|
|
||||||
#define SHOW_TAB_BAR "Show Tab Bar"
|
|
||||||
#define FULLSCREEN "Fullscreen"
|
|
||||||
|
|
||||||
/* Some defaults for QTerminal application */
|
|
||||||
|
|
||||||
#define DEFAULT_WIDTH 800
|
|
||||||
#define DEFAULT_HEIGHT 600
|
|
||||||
#define DEFAULT_FONT "Monospace"
|
|
||||||
|
|
||||||
// ACTIONS
|
|
||||||
#define CLEAR_TERMINAL_SHORTCUT "Ctrl+Shift+X"
|
|
||||||
#define TAB_PREV_SHORTCUT "Shift+Left"
|
|
||||||
#define TAB_NEXT_SHORTCUT "Shift+Right"
|
|
||||||
#define SUB_PREV_SHORTCUT "Shift+Down"
|
|
||||||
#define SUB_NEXT_SHORTCUT "Shift+Up"
|
|
||||||
|
|
||||||
#ifdef Q_WS_MAC
|
|
||||||
// It's tricky - Ctrl is "command" key on mac's keyboards
|
|
||||||
#define COPY_SELECTION_SHORTCUT "Ctrl+C"
|
|
||||||
#define PASTE_CLIPBOARD_SHORTCUT "Ctrl+V"
|
|
||||||
#define FIND_SHORTCUT "Ctrl+F"
|
|
||||||
#define NEW_WINDOW_SHORTCUT "Ctrl+N"
|
|
||||||
#define ADD_TAB_SHORTCUT "Ctrl+T"
|
|
||||||
#define CLOSE_TAB_SHORTCUT "Ctrl+W"
|
|
||||||
#define TOGGLE_MENU_SHORTCUT "Ctrl+M"
|
|
||||||
#define TOGGLE_BOOKMARKS_SHORTCUT "Ctrl+B"
|
|
||||||
#else
|
|
||||||
#define COPY_SELECTION_SHORTCUT "Ctrl+Shift+C"
|
|
||||||
#define PASTE_CLIPBOARD_SHORTCUT "Ctrl+Shift+V"
|
|
||||||
#define PASTE_SELECTION_SHORTCUT "Shift+Ins"
|
|
||||||
#define FIND_SHORTCUT "Ctrl+Shift+F"
|
|
||||||
#define NEW_WINDOW_SHORTCUT "Ctrl+Shift+N"
|
|
||||||
#define ADD_TAB_SHORTCUT "Ctrl+Shift+T"
|
|
||||||
#define CLOSE_TAB_SHORTCUT "Ctrl+Shift+W"
|
|
||||||
#define TOGGLE_MENU_SHORTCUT "Ctrl+Shift+M"
|
|
||||||
#define TOGGLE_BOOKMARKS_SHORTCUT "Ctrl+Shift+B"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define ZOOM_IN_SHORTCUT "Ctrl++"
|
|
||||||
#define ZOOM_OUT_SHORTCUT "Ctrl+-"
|
|
||||||
#define ZOOM_RESET_SHORTCUT "Ctrl+0"
|
|
||||||
|
|
||||||
#define MOVE_LEFT_SHORTCUT "Shift+Alt+Left"
|
|
||||||
#define MOVE_RIGHT_SHORTCUT "Shift+Alt+Right"
|
|
||||||
|
|
||||||
#define RENAME_SESSION_SHORTCUT "Shift+Alt+S"
|
|
||||||
|
|
||||||
#define FULLSCREEN_SHORTCUT "F11"
|
|
||||||
|
|
||||||
// XON/XOFF features:
|
|
||||||
|
|
||||||
#define FLOW_CONTROL_ENABLED false
|
|
||||||
#define FLOW_CONTROL_WARNING_ENABLED false
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@ -1,56 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
* Copyright (C) 2014 by Petr Vanek *
|
|
||||||
* petr@scribus.info *
|
|
||||||
* *
|
|
||||||
* 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, see <http://www.gnu.org/licenses/>. *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#include "fontdialog.h"
|
|
||||||
|
|
||||||
FontDialog::FontDialog(const QFont &f)
|
|
||||||
: QDialog(0)
|
|
||||||
{
|
|
||||||
setupUi(this);
|
|
||||||
|
|
||||||
fontComboBox->setFontFilters(QFontComboBox::MonospacedFonts
|
|
||||||
| QFontComboBox::NonScalableFonts
|
|
||||||
| QFontComboBox::ScalableFonts);
|
|
||||||
|
|
||||||
fontComboBox->setCurrentFont(f);
|
|
||||||
fontComboBox->setEditable(false);
|
|
||||||
|
|
||||||
sizeSpinBox->setValue(f.pointSize());
|
|
||||||
|
|
||||||
setFontSample();
|
|
||||||
|
|
||||||
connect(fontComboBox, SIGNAL(currentFontChanged(QFont)),
|
|
||||||
this, SLOT(setFontSample()));
|
|
||||||
connect(sizeSpinBox, SIGNAL(valueChanged(int)),
|
|
||||||
this, SLOT(setFontSample()));
|
|
||||||
}
|
|
||||||
|
|
||||||
QFont FontDialog::getFont()
|
|
||||||
{
|
|
||||||
QFont f = fontComboBox->currentFont();
|
|
||||||
f.setPointSize(sizeSpinBox->value());
|
|
||||||
return f;
|
|
||||||
}
|
|
||||||
|
|
||||||
void FontDialog::setFontSample()
|
|
||||||
{
|
|
||||||
QFont f = getFont();
|
|
||||||
previewLabel->setFont(f);
|
|
||||||
QString sample("%1 %2 pt");
|
|
||||||
previewLabel->setText(sample.arg(f.family()).arg(f.pointSize()));
|
|
||||||
}
|
|
||||||
@ -1,39 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
* Copyright (C) 2014 by Petr Vanek *
|
|
||||||
* petr@scribus.info *
|
|
||||||
* *
|
|
||||||
* 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, see <http://www.gnu.org/licenses/>. *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#ifndef FONT_DIALOG
|
|
||||||
#define FONT_DIALOG
|
|
||||||
|
|
||||||
#include "ui_fontdialog.h"
|
|
||||||
#include "properties.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class FontDialog : public QDialog, public Ui::FontDialog
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
public:
|
|
||||||
FontDialog(const QFont &f);
|
|
||||||
QFont getFont();
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void setFontSample();
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@ -1,50 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>BookmarksWidget</class>
|
|
||||||
<widget class="QWidget" name="BookmarksWidget">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>323</width>
|
|
||||||
<height>450</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
|
||||||
<property name="leftMargin">
|
|
||||||
<number>1</number>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>1</number>
|
|
||||||
</property>
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>1</number>
|
|
||||||
</property>
|
|
||||||
<property name="bottomMargin">
|
|
||||||
<number>1</number>
|
|
||||||
</property>
|
|
||||||
<property name="spacing">
|
|
||||||
<number>1</number>
|
|
||||||
</property>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string>Filter:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QLineEdit" name="filterEdit"/>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0" colspan="2">
|
|
||||||
<widget class="QTreeView" name="treeView">
|
|
||||||
<property name="alternatingRowColors">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
||||||
@ -1,114 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>FontDialog</class>
|
|
||||||
<widget class="QDialog" name="FontDialog">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>296</width>
|
|
||||||
<height>187</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>Select Terminal Font</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
|
||||||
<item row="3" column="0">
|
|
||||||
<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="1" column="0">
|
|
||||||
<layout class="QFormLayout" name="formLayout">
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string>Font:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QFontComboBox" name="fontComboBox"/>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="label_2">
|
|
||||||
<property name="text">
|
|
||||||
<string>Size:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QSpinBox" name="sizeSpinBox">
|
|
||||||
<property name="minimum">
|
|
||||||
<number>6</number>
|
|
||||||
</property>
|
|
||||||
<property name="value">
|
|
||||||
<number>10</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QGroupBox" name="groupBox">
|
|
||||||
<property name="title">
|
|
||||||
<string>Preview</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="previewLabel"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="label_3">
|
|
||||||
<property name="text">
|
|
||||||
<string>Select Terminal Font</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<resources/>
|
|
||||||
<connections>
|
|
||||||
<connection>
|
|
||||||
<sender>buttonBox</sender>
|
|
||||||
<signal>accepted()</signal>
|
|
||||||
<receiver>FontDialog</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>FontDialog</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>
|
|
||||||
@ -1,667 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>PropertiesDialog</class>
|
|
||||||
<widget class="QDialog" name="PropertiesDialog">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>715</width>
|
|
||||||
<height>487</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>Terminal settings</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout_4">
|
|
||||||
<item row="2" column="0" colspan="3">
|
|
||||||
<widget class="QDialogButtonBox" name="buttonBox">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="standardButtons">
|
|
||||||
<set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QListWidget" name="listWidget">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>150</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>180</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="horizontalScrollBarPolicy">
|
|
||||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Appearance</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Behavior</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Shortcuts</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Dropdown</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Bookmarks</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="2">
|
|
||||||
<widget class="QStackedWidget" name="stackedWidget">
|
|
||||||
<property name="frameShape">
|
|
||||||
<enum>QFrame::StyledPanel</enum>
|
|
||||||
</property>
|
|
||||||
<property name="currentIndex">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<widget class="QWidget" name="lookAndFeelPage">
|
|
||||||
<layout class="QGridLayout" name="gridLayout_3">
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QLabel" name="label_5">
|
|
||||||
<property name="text">
|
|
||||||
<string>Color scheme</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QComboBox" name="colorSchemaCombo"/>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0">
|
|
||||||
<widget class="QLabel" name="label_6">
|
|
||||||
<property name="text">
|
|
||||||
<string>Widget style</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="1">
|
|
||||||
<widget class="QComboBox" name="styleComboBox"/>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="0">
|
|
||||||
<widget class="QLabel" name="label_7">
|
|
||||||
<property name="text">
|
|
||||||
<string>Scrollbar position</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="1">
|
|
||||||
<widget class="QComboBox" name="tabsPos_comboBox"/>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="0">
|
|
||||||
<widget class="QLabel" name="label_8">
|
|
||||||
<property name="text">
|
|
||||||
<string>Tabs position</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="1">
|
|
||||||
<widget class="QComboBox" name="scrollBarPos_comboBox"/>
|
|
||||||
</item>
|
|
||||||
<item row="6" column="0">
|
|
||||||
<widget class="QCheckBox" name="showMenuCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>Show the menu bar</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="7" column="0">
|
|
||||||
<widget class="QCheckBox" name="hideTabBarCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>Hide tab bar with only one tab</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="8" column="0">
|
|
||||||
<widget class="QCheckBox" name="highlightCurrentCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>Show a border around the current terminal</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="9" column="0">
|
|
||||||
<widget class="QLabel" name="label_4">
|
|
||||||
<property name="text">
|
|
||||||
<string>Application transparency</string>
|
|
||||||
</property>
|
|
||||||
<property name="buddy">
|
|
||||||
<cstring>appTransparencyBox</cstring>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="10" column="0">
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string>Terminal transparency</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="9" column="1">
|
|
||||||
<widget class="QSpinBox" name="appTransparencyBox">
|
|
||||||
<property name="suffix">
|
|
||||||
<string> %</string>
|
|
||||||
</property>
|
|
||||||
<property name="minimum">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>99</number>
|
|
||||||
</property>
|
|
||||||
<property name="value">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="11" column="0">
|
|
||||||
<widget class="QLabel" name="label_9">
|
|
||||||
<property name="text">
|
|
||||||
<string>Start with preset:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="10" column="1">
|
|
||||||
<widget class="QSpinBox" name="termTransparencyBox">
|
|
||||||
<property name="suffix">
|
|
||||||
<string> %</string>
|
|
||||||
</property>
|
|
||||||
<property name="minimum">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>100</number>
|
|
||||||
</property>
|
|
||||||
<property name="value">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="11" column="1">
|
|
||||||
<widget class="QComboBox" name="terminalPresetComboBox">
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>None (single terminal)</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>2 terminals horizontally</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>2 terminals vertically</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>4 terminals</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="12" column="0" colspan="2">
|
|
||||||
<spacer name="verticalSpacer_3">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0" rowspan="2" colspan="2">
|
|
||||||
<widget class="QWidget" name="fontWidget" native="true">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
|
||||||
<property name="leftMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="bottomMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="fontLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>Font</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="fontSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="fontSampleLabel">
|
|
||||||
<property name="frameShape">
|
|
||||||
<enum>QFrame::StyledPanel</enum>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<property name="wordWrap">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="changeFontButton">
|
|
||||||
<property name="text">
|
|
||||||
<string>&Change...</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<widget class="QWidget" name="historyPage">
|
|
||||||
<layout class="QGridLayout" name="gridLayout_5">
|
|
||||||
<item row="2" column="0">
|
|
||||||
<spacer name="verticalSpacer_2">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>57</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QGroupBox" name="groupBox_4">
|
|
||||||
<property name="title">
|
|
||||||
<string>Emulation</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout_6">
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QComboBox" name="emulationComboBox"/>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="label_2">
|
|
||||||
<property name="text">
|
|
||||||
<string><html><head/><body><p>Which behavior to emulate. Note that this does not have to match your operating system.</p><p>The <span style=" font-weight:600;">default</span> emulation is a fallback with a minimal featureset.</p></body></html></string>
|
|
||||||
</property>
|
|
||||||
<property name="textFormat">
|
|
||||||
<enum>Qt::RichText</enum>
|
|
||||||
</property>
|
|
||||||
<property name="wordWrap">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QGroupBox" name="groupBox_2">
|
|
||||||
<property name="title">
|
|
||||||
<string>Behavior</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QLabel" name="label_3">
|
|
||||||
<property name="text">
|
|
||||||
<string>Action after paste</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="2">
|
|
||||||
<widget class="QSpinBox" name="historyLimitedTo">
|
|
||||||
<property name="minimum">
|
|
||||||
<number>100</number>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>1000000</number>
|
|
||||||
</property>
|
|
||||||
<property name="value">
|
|
||||||
<number>1000</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="7" column="1">
|
|
||||||
<spacer name="verticalSpacer_4">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>150</width>
|
|
||||||
<height>139</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="6" column="0" colspan="3">
|
|
||||||
<widget class="QCheckBox" name="useCwdCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>Open new terminals in current working directory</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="0" colspan="3">
|
|
||||||
<widget class="QCheckBox" name="saveSizeOnExitCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>Save Size when closing</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="0" colspan="3">
|
|
||||||
<widget class="QCheckBox" name="savePosOnExitCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>Save Position when closing</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0" colspan="3">
|
|
||||||
<widget class="QCheckBox" name="askOnExitCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>Ask for confirmation when closing</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="2">
|
|
||||||
<widget class="QComboBox" name="motionAfterPasting_comboBox"/>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0" colspan="3">
|
|
||||||
<widget class="QRadioButton" name="historyUnlimited">
|
|
||||||
<property name="text">
|
|
||||||
<string>Unlimited history</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QRadioButton" name="historyLimited">
|
|
||||||
<property name="text">
|
|
||||||
<string>History size (in lines)</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<widget class="QWidget" name="shortcutsPage">
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QTableWidget" name="shortcutsWidget">
|
|
||||||
<property name="alternatingRowColors">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="verticalScrollMode">
|
|
||||||
<enum>QAbstractItemView::ScrollPerPixel</enum>
|
|
||||||
</property>
|
|
||||||
<property name="horizontalScrollMode">
|
|
||||||
<enum>QAbstractItemView::ScrollPerPixel</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sortingEnabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<attribute name="horizontalHeaderDefaultSectionSize">
|
|
||||||
<number>105</number>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="verticalHeaderVisible">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>Shortcut</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>Key</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<widget class="QWidget" name="page">
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="dropShowOnStartCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>Show on start</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QGroupBox" name="groupBox_3">
|
|
||||||
<property name="title">
|
|
||||||
<string>Size</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
|
||||||
<item>
|
|
||||||
<layout class="QFormLayout" name="formLayout">
|
|
||||||
<property name="fieldGrowthPolicy">
|
|
||||||
<enum>QFormLayout::ExpandingFieldsGrow</enum>
|
|
||||||
</property>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="dropHeightLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>Height</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QSpinBox" name="dropHeightSpinBox">
|
|
||||||
<property name="suffix">
|
|
||||||
<string>%</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="dropWidthLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>Width</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QSpinBox" name="dropWidthSpinBox">
|
|
||||||
<property name="suffix">
|
|
||||||
<string>%</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QFormLayout" name="formLayout_2">
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="dropShortCutLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>Shortcut:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QLineEdit" name="dropShortCutEdit"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="verticalSpacer_5">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>78</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<widget class="QWidget" name="page_2">
|
|
||||||
<layout class="QGridLayout" name="gridLayout_9">
|
|
||||||
<item row="3" column="0">
|
|
||||||
<widget class="QGroupBox" name="groupBox_5">
|
|
||||||
<property name="title">
|
|
||||||
<string>Edit bookmark file contents</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout_10">
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QPlainTextEdit" name="bookmarkPlainEdit">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<family>Bera Sans Mono [bitstream]</family>
|
|
||||||
<pointsize>11</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="lineWrapMode">
|
|
||||||
<enum>QPlainTextEdit::NoWrap</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QCheckBox" name="useBookmarksCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>Enable bookmarks</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="label_10">
|
|
||||||
<property name="text">
|
|
||||||
<string>Bookmark file</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLineEdit" name="bookmarksLineEdit"/>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="bookmarksButton">
|
|
||||||
<property name="text">
|
|
||||||
<string>Find...</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QLabel" name="label_11">
|
|
||||||
<property name="text">
|
|
||||||
<string>You can specify your own bookmarks file location. It allows easy bookmark sharing with tools like OwnCloud or Dropbox.</string>
|
|
||||||
</property>
|
|
||||||
<property name="wordWrap">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<resources/>
|
|
||||||
<connections>
|
|
||||||
<connection>
|
|
||||||
<sender>buttonBox</sender>
|
|
||||||
<signal>accepted()</signal>
|
|
||||||
<receiver>PropertiesDialog</receiver>
|
|
||||||
<slot>accept()</slot>
|
|
||||||
<hints>
|
|
||||||
<hint type="sourcelabel">
|
|
||||||
<x>224</x>
|
|
||||||
<y>227</y>
|
|
||||||
</hint>
|
|
||||||
<hint type="destinationlabel">
|
|
||||||
<x>157</x>
|
|
||||||
<y>248</y>
|
|
||||||
</hint>
|
|
||||||
</hints>
|
|
||||||
</connection>
|
|
||||||
<connection>
|
|
||||||
<sender>buttonBox</sender>
|
|
||||||
<signal>rejected()</signal>
|
|
||||||
<receiver>PropertiesDialog</receiver>
|
|
||||||
<slot>reject()</slot>
|
|
||||||
<hints>
|
|
||||||
<hint type="sourcelabel">
|
|
||||||
<x>292</x>
|
|
||||||
<y>233</y>
|
|
||||||
</hint>
|
|
||||||
<hint type="destinationlabel">
|
|
||||||
<x>286</x>
|
|
||||||
<y>248</y>
|
|
||||||
</hint>
|
|
||||||
</hints>
|
|
||||||
</connection>
|
|
||||||
<connection>
|
|
||||||
<sender>listWidget</sender>
|
|
||||||
<signal>currentRowChanged(int)</signal>
|
|
||||||
<receiver>stackedWidget</receiver>
|
|
||||||
<slot>setCurrentIndex(int)</slot>
|
|
||||||
<hints>
|
|
||||||
<hint type="sourcelabel">
|
|
||||||
<x>96</x>
|
|
||||||
<y>70</y>
|
|
||||||
</hint>
|
|
||||||
<hint type="destinationlabel">
|
|
||||||
<x>147</x>
|
|
||||||
<y>24</y>
|
|
||||||
</hint>
|
|
||||||
</hints>
|
|
||||||
</connection>
|
|
||||||
</connections>
|
|
||||||
</ui>
|
|
||||||
@ -1,146 +0,0 @@
|
|||||||
<?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>600</width>
|
|
||||||
<height>420</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>MainWindow</string>
|
|
||||||
</property>
|
|
||||||
<property name="autoFillBackground">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<widget class="QWidget" name="centralwidget">
|
|
||||||
<layout class="QGridLayout">
|
|
||||||
<property name="leftMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="bottomMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="TabWidget" name="consoleTabulator">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>320</width>
|
|
||||||
<height>200</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="tabPosition">
|
|
||||||
<enum>QTabWidget::South</enum>
|
|
||||||
</property>
|
|
||||||
<property name="tabShape">
|
|
||||||
<enum>QTabWidget::Rounded</enum>
|
|
||||||
</property>
|
|
||||||
<property name="currentIndex">
|
|
||||||
<number>-1</number>
|
|
||||||
</property>
|
|
||||||
<property name="elideMode">
|
|
||||||
<enum>Qt::ElideNone</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<widget class="QMenuBar" name="m_menuBar">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>600</width>
|
|
||||||
<height>26</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="autoFillBackground">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<widget class="QMenu" name="menu_File">
|
|
||||||
<property name="title">
|
|
||||||
<string>&File</string>
|
|
||||||
</property>
|
|
||||||
<property name="Title" stdset="0">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<widget class="QMenu" name="menu_Actions">
|
|
||||||
<property name="title">
|
|
||||||
<string>&Actions</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<widget class="QMenu" name="menu_Help">
|
|
||||||
<property name="title">
|
|
||||||
<string>&Help</string>
|
|
||||||
</property>
|
|
||||||
<addaction name="actAbout"/>
|
|
||||||
<addaction name="actAboutQt"/>
|
|
||||||
</widget>
|
|
||||||
<widget class="QMenu" name="menu_Window">
|
|
||||||
<property name="title">
|
|
||||||
<string>&View</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<widget class="QMenu" name="menu_Edit">
|
|
||||||
<property name="title">
|
|
||||||
<string>&Edit</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<addaction name="menu_File"/>
|
|
||||||
<addaction name="menu_Actions"/>
|
|
||||||
<addaction name="menu_Edit"/>
|
|
||||||
<addaction name="menu_Window"/>
|
|
||||||
<addaction name="menu_Help"/>
|
|
||||||
</widget>
|
|
||||||
<action name="actAbout">
|
|
||||||
<property name="icon">
|
|
||||||
<iconset theme="help-about">
|
|
||||||
<normaloff/>
|
|
||||||
</iconset>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>&About...</string>
|
|
||||||
</property>
|
|
||||||
</action>
|
|
||||||
<action name="actAboutQt">
|
|
||||||
<property name="text">
|
|
||||||
<string>About &Qt...</string>
|
|
||||||
</property>
|
|
||||||
</action>
|
|
||||||
<action name="actProperties">
|
|
||||||
<property name="text">
|
|
||||||
<string>&Preferences...</string>
|
|
||||||
</property>
|
|
||||||
</action>
|
|
||||||
<action name="actQuit">
|
|
||||||
<property name="icon">
|
|
||||||
<iconset theme="application-exit">
|
|
||||||
<normaloff/>
|
|
||||||
</iconset>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>&Quit</string>
|
|
||||||
</property>
|
|
||||||
</action>
|
|
||||||
</widget>
|
|
||||||
<customwidgets>
|
|
||||||
<customwidget>
|
|
||||||
<class>TabWidget</class>
|
|
||||||
<extends>QTabWidget</extends>
|
|
||||||
<header>tabwidget.h</header>
|
|
||||||
<container>1</container>
|
|
||||||
</customwidget>
|
|
||||||
</customwidgets>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
<RCC>
|
|
||||||
<qresource prefix="/icons/QTerminal">
|
|
||||||
<file alias="index.theme">icons/index.theme</file>
|
|
||||||
<file alias="64x64/utilities-terminal">icons/qterminal.png</file>
|
|
||||||
<file alias="32x32/list-add.png">icons/list-add.png</file>
|
|
||||||
<file alias="32x32/list-remove.png">icons/list-remove.png</file>
|
|
||||||
<file alias="32x32/edit-copy.png">icons/edit-copy.png</file>
|
|
||||||
<file alias="32x32/edit-paste.png">icons/edit-paste.png</file>
|
|
||||||
<file alias="32x32/document-close.png">icons/document-close.png</file>
|
|
||||||
<file alias="32x32/application-exit.png">icons/application-exit.png</file>
|
|
||||||
<file alias="16x16/object-locked.png">icons/locked.png</file>
|
|
||||||
<file alias="16x16/object-unlocked.png">icons/notlocked.png</file>
|
|
||||||
<file alias="22x22/zoom-in.png">icons/zoom-in.png</file>
|
|
||||||
<file alias="22x22/zoom-out.png">icons/zoom-out.png</file>
|
|
||||||
</qresource>
|
|
||||||
</RCC>
|
|
||||||
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 860 B |
|
Before Width: | Height: | Size: 937 B |
@ -1,31 +0,0 @@
|
|||||||
[Icon Theme]
|
|
||||||
Name=QTerminal
|
|
||||||
Comment=Default Icons used in QTerminal
|
|
||||||
Inherits=default
|
|
||||||
Directories=16x16,22x22,24x24,32x32,scalable
|
|
||||||
|
|
||||||
[16x16]
|
|
||||||
Size=16
|
|
||||||
Type=Fixed
|
|
||||||
|
|
||||||
[22x22]
|
|
||||||
Size=22
|
|
||||||
Type=Fixed
|
|
||||||
|
|
||||||
[24x24]
|
|
||||||
Size=24
|
|
||||||
Type=Fixed
|
|
||||||
|
|
||||||
[32x32]
|
|
||||||
Size=32
|
|
||||||
Type=Fixed
|
|
||||||
|
|
||||||
[64x64]
|
|
||||||
Size=64
|
|
||||||
Type=Fixed
|
|
||||||
|
|
||||||
[scalable]
|
|
||||||
Size=48
|
|
||||||
Type=Scalable
|
|
||||||
MinSize=32
|
|
||||||
MaxSize=256
|
|
||||||
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 561 B |
|
Before Width: | Height: | Size: 541 B |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
@ -1,60 +0,0 @@
|
|||||||
#
|
|
||||||
# This is evil! I don't know why it works this way.
|
|
||||||
# But it works.
|
|
||||||
#
|
|
||||||
# First - collect all Qt and App plugins. Then call that bloody
|
|
||||||
# cmake FIXUP_BUNDLE macro which copis all files into MacOS directory.
|
|
||||||
# So it's moved back to plugins tree where its expected by a) Qt b) application
|
|
||||||
#
|
|
||||||
# I hate it.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Dunno what id this var for...
|
|
||||||
SET(DIRS @QT_LIBRARY_DIRS@;@QT_PLUGINS_DIR@;@CMAKE_INSTALL_PREFIX@/Contents/plugins/)
|
|
||||||
|
|
||||||
# qt_menu.nib is mandatory for mac
|
|
||||||
if (@QT_USE_FRAMEWORKS@)
|
|
||||||
file(COPY @QT_LIBRARY_DIR@/QtGui.framework/Resources/qt_menu.nib
|
|
||||||
DESTINATION @CMAKE_INSTALL_PREFIX@/@EXE_NAME@.app/Contents/Resources)
|
|
||||||
else ()
|
|
||||||
file(COPY @QT_LIBRARY_DIR@/Resources/qt_menu.nib
|
|
||||||
DESTINATION @CMAKE_INSTALL_PREFIX@/@EXE_NAME@.app/Contents/Resources)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
# the qt.conf is mandatory too
|
|
||||||
file(WRITE @CMAKE_INSTALL_PREFIX@/@EXE_NAME@.app/Contents/Resources/qt.conf "[Paths]
|
|
||||||
Plugins = plugins")
|
|
||||||
|
|
||||||
# copy all (required) Qt plugs into bundle
|
|
||||||
message(STATUS "Searching for Qt plugs in: @QT_PLUGINS_DIR@/*@CMAKE_SHARED_LIBRARY_SUFFIX@")
|
|
||||||
file(COPY @QT_PLUGINS_DIR@/
|
|
||||||
DESTINATION @CMAKE_INSTALL_PREFIX@/@EXE_NAME@.app/Contents/plugins/
|
|
||||||
REGEX "(designer|script|debug|sql|odbc|phonon|svg|mng|tiff|gif|bearer|accessible|)" EXCLUDE)
|
|
||||||
#REGEX "(.*)" EXCLUDE)
|
|
||||||
|
|
||||||
# try to FIXUP_BUNDLE - to change otool -L paths
|
|
||||||
# currently it creates lots of false warnings when plugins are compiled as dylibs
|
|
||||||
# warning: cannot resolve item 'libfoobar.dylib'
|
|
||||||
# etc. Ignore it.
|
|
||||||
message(STATUS "Searching for plugs in bundle: @CMAKE_INSTALL_PREFIX@/@EXE_NAME@.app/Contents/plugins/*@CMAKE_SHARED_LIBRARY_SUFFIX@")
|
|
||||||
file(GLOB_RECURSE inplugs
|
|
||||||
@CMAKE_INSTALL_PREFIX@/@EXE_NAME@.app/Contents/plugins/*@CMAKE_SHARED_LIBRARY_SUFFIX@)
|
|
||||||
|
|
||||||
#message(STATUS "Dylibs: ${inplugs}")
|
|
||||||
#message(STATUS "DIR: ${DIRS}")
|
|
||||||
|
|
||||||
include(BundleUtilities)
|
|
||||||
fixup_bundle(@CMAKE_INSTALL_PREFIX@/@EXE_NAME@.app "${inplugs}" @CMAKE_INSTALL_PREFIX@/Contents/plugins/)#${DIRS} )
|
|
||||||
|
|
||||||
# FIXUP_BUNDLE copies it into MacOS dir. But we need it in plugins *tree*,
|
|
||||||
# not a flat dir.
|
|
||||||
foreach (item IN LISTS inplugs)
|
|
||||||
#message(STATUS "IN: ${item}")
|
|
||||||
get_filename_component(fname ${item} NAME)
|
|
||||||
message(STATUS "Moving ${fname} back to plugins tree: ${item}")
|
|
||||||
#message(STATUS " ${fname}")
|
|
||||||
#message(STATUS " src: @CMAKE_INSTALL_PREFIX@/@EXE_NAME@.app/Contents/MacOS/${fname}")
|
|
||||||
#message(STATUS " tgt: ${item}")
|
|
||||||
execute_process(COMMAND mv @CMAKE_INSTALL_PREFIX@/@EXE_NAME@.app/Contents/MacOS/${fname} ${item})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
152
src/main.cpp
@ -1,152 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
* Copyright (C) 2006 by Vladimir Kuznetsov *
|
|
||||||
* vovanec@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, see <http://www.gnu.org/licenses/>. *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#include <QApplication>
|
|
||||||
#include <QtGlobal>
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <getopt.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include "mainwindow.h"
|
|
||||||
|
|
||||||
#define out
|
|
||||||
|
|
||||||
const char* const short_options = "vhw:e:dp:";
|
|
||||||
|
|
||||||
const struct option long_options[] = {
|
|
||||||
{"version", 0, NULL, 'v'},
|
|
||||||
{"help", 0, NULL, 'h'},
|
|
||||||
{"workdir", 1, NULL, 'w'},
|
|
||||||
{"execute", 1, NULL, 'e'},
|
|
||||||
{"drop", 0, NULL, 'd'},
|
|
||||||
{"profile", 1, NULL, 'p'},
|
|
||||||
{NULL, 0, NULL, 0}
|
|
||||||
};
|
|
||||||
|
|
||||||
void print_usage_and_exit(int code)
|
|
||||||
{
|
|
||||||
printf("QTerminal %s\n", STR_VERSION);
|
|
||||||
puts("Usage: qterminal [OPTION]...\n");
|
|
||||||
puts(" -d, --drop Start in \"dropdown mode\" (like Yakuake or Tilda)");
|
|
||||||
puts(" -e, --execute <command> Execute command instead of shell");
|
|
||||||
puts(" -h, --help Print this help");
|
|
||||||
puts(" -p, --profile Load qterminal with specific options");
|
|
||||||
puts(" -v, --version Prints application version and exits");
|
|
||||||
puts(" -w, --workdir <dir> Start session with specified work directory");
|
|
||||||
puts("\nHomepage: <https://github.com/lxde/qterminal>");
|
|
||||||
puts("Report bugs to <https://github.com/lxde/qterminal/issues>");
|
|
||||||
exit(code);
|
|
||||||
}
|
|
||||||
|
|
||||||
void print_version_and_exit(int code=0)
|
|
||||||
{
|
|
||||||
printf("%s\n", STR_VERSION);
|
|
||||||
exit(code);
|
|
||||||
}
|
|
||||||
|
|
||||||
void parse_args(int argc, char* argv[], QString& workdir, QString & shell_command, out bool& dropMode)
|
|
||||||
{
|
|
||||||
int next_option;
|
|
||||||
dropMode = false;
|
|
||||||
do{
|
|
||||||
next_option = getopt_long(argc, argv, short_options, long_options, NULL);
|
|
||||||
switch(next_option)
|
|
||||||
{
|
|
||||||
case 'h':
|
|
||||||
print_usage_and_exit(0);
|
|
||||||
case 'w':
|
|
||||||
workdir = QString(optarg);
|
|
||||||
break;
|
|
||||||
case 'e':
|
|
||||||
shell_command = QString(optarg);
|
|
||||||
// #15 "Raw" -e params
|
|
||||||
// Passing "raw" params (like konsole -e mcedit /tmp/tmp.txt") is more preferable - then I can call QString("qterminal -e ") + cmd_line in other programs
|
|
||||||
while (optind < argc)
|
|
||||||
{
|
|
||||||
//printf("arg: %d - %s\n", optind, argv[optind]);
|
|
||||||
shell_command += ' ' + QString(argv[optind++]);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'd':
|
|
||||||
dropMode = true;
|
|
||||||
break;
|
|
||||||
case 'p':
|
|
||||||
Properties::Instance(QString(optarg));
|
|
||||||
break;
|
|
||||||
case '?':
|
|
||||||
print_usage_and_exit(1);
|
|
||||||
case 'v':
|
|
||||||
print_version_and_exit();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
while(next_option != -1);
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
setenv("TERM", "xterm", 1); // TODO/FIXME: why?
|
|
||||||
|
|
||||||
QApplication::setApplicationName("qterminal");
|
|
||||||
QApplication::setApplicationVersion(STR_VERSION);
|
|
||||||
QApplication::setOrganizationDomain("qterminal.org");
|
|
||||||
// Warning: do not change settings format. It can screw bookmarks later.
|
|
||||||
QSettings::setDefaultFormat(QSettings::IniFormat);
|
|
||||||
|
|
||||||
QApplication app(argc, argv);
|
|
||||||
QString workdir, shell_command;
|
|
||||||
bool dropMode;
|
|
||||||
parse_args(argc, argv, workdir, shell_command, dropMode);
|
|
||||||
|
|
||||||
if (workdir.isEmpty())
|
|
||||||
workdir = QDir::currentPath();
|
|
||||||
|
|
||||||
// icons
|
|
||||||
/* setup our custom icon theme if there is no system theme (OS X, Windows) */
|
|
||||||
if (QIcon::themeName().isEmpty())
|
|
||||||
QIcon::setThemeName("QTerminal");
|
|
||||||
|
|
||||||
// translations
|
|
||||||
QString fname = QString("qterminal_%1.qm").arg(QLocale::system().name().left(5));
|
|
||||||
QTranslator translator;
|
|
||||||
#ifdef TRANSLATIONS_DIR
|
|
||||||
qDebug() << "TRANSLATIONS_DIR: Loading translation file" << fname << "from dir" << TRANSLATIONS_DIR;
|
|
||||||
qDebug() << "load success:" << translator.load(fname, TRANSLATIONS_DIR, "_");
|
|
||||||
#endif
|
|
||||||
#ifdef APPLE_BUNDLE
|
|
||||||
qDebug() << "APPLE_BUNDLE: Loading translator file" << fname << "from dir" << QApplication::applicationDirPath()+"../translations";
|
|
||||||
qDebug() << "load success:" << translator.load(fname, QApplication::applicationDirPath()+"../translations", "_");
|
|
||||||
#endif
|
|
||||||
app.installTranslator(&translator);
|
|
||||||
|
|
||||||
MainWindow *window;
|
|
||||||
if (dropMode)
|
|
||||||
{
|
|
||||||
QWidget *hiddenPreviewParent = new QWidget(0, Qt::Tool);
|
|
||||||
window = new MainWindow(workdir, shell_command, dropMode, hiddenPreviewParent);
|
|
||||||
if (Properties::Instance()->dropShowOnStart)
|
|
||||||
window->show();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
window = new MainWindow(workdir, shell_command, dropMode);
|
|
||||||
window->show();
|
|
||||||
}
|
|
||||||
|
|
||||||
return app.exec();
|
|
||||||
}
|
|
||||||
@ -1,699 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
* Copyright (C) 2006 by Vladimir Kuznetsov *
|
|
||||||
* vovanec@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, see <http://www.gnu.org/licenses/>. *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#include <QDockWidget>
|
|
||||||
#include <QDesktopWidget>
|
|
||||||
#include <QToolButton>
|
|
||||||
#include <QMessageBox>
|
|
||||||
|
|
||||||
#include "mainwindow.h"
|
|
||||||
#include "tabwidget.h"
|
|
||||||
#include "termwidgetholder.h"
|
|
||||||
#include "config.h"
|
|
||||||
#include "properties.h"
|
|
||||||
#include "propertiesdialog.h"
|
|
||||||
#include "bookmarkswidget.h"
|
|
||||||
|
|
||||||
|
|
||||||
// TODO/FXIME: probably remove. QSS makes it unusable on mac...
|
|
||||||
#define QSS_DROP "MainWindow {border: 1px solid rgba(0, 0, 0, 50%);}\n"
|
|
||||||
|
|
||||||
MainWindow::MainWindow(const QString& work_dir,
|
|
||||||
const QString& command,
|
|
||||||
bool dropMode,
|
|
||||||
QWidget * parent,
|
|
||||||
Qt::WindowFlags f)
|
|
||||||
: QMainWindow(parent,f),
|
|
||||||
m_initShell(command),
|
|
||||||
m_initWorkDir(work_dir),
|
|
||||||
m_dropLockButton(0),
|
|
||||||
m_dropMode(dropMode)
|
|
||||||
{
|
|
||||||
setAttribute(Qt::WA_TranslucentBackground);
|
|
||||||
|
|
||||||
setupUi(this);
|
|
||||||
Properties::Instance()->migrate_settings();
|
|
||||||
Properties::Instance()->loadSettings();
|
|
||||||
|
|
||||||
m_bookmarksDock = new QDockWidget(tr("Bookmarks"), this);
|
|
||||||
m_bookmarksDock->setObjectName("BookmarksDockWidget");
|
|
||||||
m_bookmarksDock->setAutoFillBackground(true);
|
|
||||||
BookmarksWidget *bookmarksWidget = new BookmarksWidget(m_bookmarksDock);
|
|
||||||
bookmarksWidget->setAutoFillBackground(true);
|
|
||||||
m_bookmarksDock->setWidget(bookmarksWidget);
|
|
||||||
addDockWidget(Qt::LeftDockWidgetArea, m_bookmarksDock);
|
|
||||||
connect(bookmarksWidget, SIGNAL(callCommand(QString)),
|
|
||||||
this, SLOT(bookmarksWidget_callCommand(QString)));
|
|
||||||
|
|
||||||
connect(m_bookmarksDock, SIGNAL(visibilityChanged(bool)),
|
|
||||||
this, SLOT(bookmarksDock_visibilityChanged(bool)));
|
|
||||||
|
|
||||||
connect(actAbout, SIGNAL(triggered()), SLOT(actAbout_triggered()));
|
|
||||||
connect(actAboutQt, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
|
|
||||||
connect(&m_dropShortcut, SIGNAL(activated()), SLOT(showHide()));
|
|
||||||
|
|
||||||
setContentsMargins(0, 0, 0, 0);
|
|
||||||
if (m_dropMode) {
|
|
||||||
this->enableDropMode();
|
|
||||||
setStyleSheet(QSS_DROP);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (Properties::Instance()->saveSizeOnExit) {
|
|
||||||
resize(Properties::Instance()->mainWindowSize);
|
|
||||||
}
|
|
||||||
if (Properties::Instance()->savePosOnExit) {
|
|
||||||
move(Properties::Instance()->mainWindowPosition);
|
|
||||||
}
|
|
||||||
restoreState(Properties::Instance()->mainWindowState);
|
|
||||||
}
|
|
||||||
|
|
||||||
consoleTabulator->setAutoFillBackground(true);
|
|
||||||
connect(consoleTabulator, SIGNAL(closeTabNotification()), SLOT(close()));
|
|
||||||
consoleTabulator->setWorkDirectory(work_dir);
|
|
||||||
consoleTabulator->setTabPosition((QTabWidget::TabPosition)Properties::Instance()->tabsPos);
|
|
||||||
//consoleTabulator->setShellProgram(command);
|
|
||||||
consoleTabulator->addNewTab(command);
|
|
||||||
|
|
||||||
setWindowTitle("QTerminal");
|
|
||||||
setWindowIcon(QIcon::fromTheme("utilities-terminal"));
|
|
||||||
|
|
||||||
setup_FileMenu_Actions();
|
|
||||||
setup_ActionsMenu_Actions();
|
|
||||||
setup_ViewMenu_Actions();
|
|
||||||
|
|
||||||
// Add global rename Session shortcut
|
|
||||||
renameSession = new QAction(tr("Rename Session"), this);
|
|
||||||
renameSession->setShortcut(QKeySequence(tr(RENAME_SESSION_SHORTCUT)));
|
|
||||||
connect(renameSession, SIGNAL(triggered()), consoleTabulator, SLOT(renameSession()));
|
|
||||||
}
|
|
||||||
|
|
||||||
MainWindow::~MainWindow()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::enableDropMode()
|
|
||||||
{
|
|
||||||
setWindowFlags(Qt::Dialog | Qt::WindowStaysOnTopHint | Qt::CustomizeWindowHint);
|
|
||||||
|
|
||||||
m_dropLockButton = new QToolButton(this);
|
|
||||||
consoleTabulator->setCornerWidget(m_dropLockButton, Qt::BottomRightCorner);
|
|
||||||
m_dropLockButton->setCheckable(true);
|
|
||||||
m_dropLockButton->connect(m_dropLockButton, SIGNAL(clicked(bool)), this, SLOT(setKeepOpen(bool)));
|
|
||||||
setKeepOpen(Properties::Instance()->dropKeepOpen);
|
|
||||||
m_dropLockButton->setAutoRaise(true);
|
|
||||||
|
|
||||||
|
|
||||||
setDropShortcut(Properties::Instance()->dropShortCut);
|
|
||||||
realign();
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::setDropShortcut(QKeySequence dropShortCut)
|
|
||||||
{
|
|
||||||
if (!m_dropMode)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (m_dropShortcut.shortcut() != dropShortCut)
|
|
||||||
{
|
|
||||||
m_dropShortcut.setShortcut(dropShortCut);
|
|
||||||
qWarning() << tr("Press \"%1\" to see the terminal.").arg(dropShortCut.toString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::setup_ActionsMenu_Actions()
|
|
||||||
{
|
|
||||||
QSettings settings;
|
|
||||||
settings.beginGroup("Shortcuts");
|
|
||||||
|
|
||||||
QKeySequence seq;
|
|
||||||
|
|
||||||
Properties::Instance()->actions[CLEAR_TERMINAL] = new QAction(QIcon::fromTheme("edit-clear"), tr("&Clear Current Tab"), this);
|
|
||||||
seq = QKeySequence::fromString(settings.value(CLEAR_TERMINAL, CLEAR_TERMINAL_SHORTCUT).toString());
|
|
||||||
Properties::Instance()->actions[CLEAR_TERMINAL]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[CLEAR_TERMINAL], SIGNAL(triggered()), consoleTabulator, SLOT(clearActiveTerminal()));
|
|
||||||
menu_Actions->addAction(Properties::Instance()->actions[CLEAR_TERMINAL]);
|
|
||||||
addAction(Properties::Instance()->actions[CLEAR_TERMINAL]);
|
|
||||||
|
|
||||||
menu_Actions->addSeparator();
|
|
||||||
|
|
||||||
Properties::Instance()->actions[TAB_NEXT] = new QAction(QIcon::fromTheme("go-next"), tr("&Next Tab"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(TAB_NEXT, TAB_NEXT_SHORTCUT).toString() );
|
|
||||||
Properties::Instance()->actions[TAB_NEXT]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[TAB_NEXT], SIGNAL(triggered()), consoleTabulator, SLOT(switchToRight()));
|
|
||||||
menu_Actions->addAction(Properties::Instance()->actions[TAB_NEXT]);
|
|
||||||
addAction(Properties::Instance()->actions[TAB_NEXT]);
|
|
||||||
|
|
||||||
Properties::Instance()->actions[TAB_PREV] = new QAction(QIcon::fromTheme("go-previous"), tr("&Previous Tab"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(TAB_PREV, TAB_PREV_SHORTCUT).toString() );
|
|
||||||
Properties::Instance()->actions[TAB_PREV]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[TAB_PREV], SIGNAL(triggered()), consoleTabulator, SLOT(switchToLeft()));
|
|
||||||
menu_Actions->addAction(Properties::Instance()->actions[TAB_PREV]);
|
|
||||||
addAction(Properties::Instance()->actions[TAB_PREV]);
|
|
||||||
|
|
||||||
Properties::Instance()->actions[MOVE_LEFT] = new QAction(tr("Move Tab &Left"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(MOVE_LEFT, MOVE_LEFT_SHORTCUT).toString() );
|
|
||||||
Properties::Instance()->actions[MOVE_LEFT]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[MOVE_LEFT], SIGNAL(triggered()), consoleTabulator, SLOT(moveLeft()));
|
|
||||||
menu_Actions->addAction(Properties::Instance()->actions[MOVE_LEFT]);
|
|
||||||
addAction(Properties::Instance()->actions[MOVE_LEFT]);
|
|
||||||
|
|
||||||
Properties::Instance()->actions[MOVE_RIGHT] = new QAction(tr("Move Tab &Right"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(MOVE_RIGHT, MOVE_RIGHT_SHORTCUT).toString() );
|
|
||||||
Properties::Instance()->actions[MOVE_RIGHT]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[MOVE_RIGHT], SIGNAL(triggered()), consoleTabulator, SLOT(moveRight()));
|
|
||||||
menu_Actions->addAction(Properties::Instance()->actions[MOVE_RIGHT]);
|
|
||||||
addAction(Properties::Instance()->actions[MOVE_RIGHT]);
|
|
||||||
|
|
||||||
menu_Actions->addSeparator();
|
|
||||||
|
|
||||||
Properties::Instance()->actions[SPLIT_HORIZONTAL] = new QAction(tr("Split Terminal &Horizontally"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(SPLIT_HORIZONTAL).toString() );
|
|
||||||
Properties::Instance()->actions[SPLIT_HORIZONTAL]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[SPLIT_HORIZONTAL], SIGNAL(triggered()), consoleTabulator, SLOT(splitHorizontally()));
|
|
||||||
menu_Actions->addAction(Properties::Instance()->actions[SPLIT_HORIZONTAL]);
|
|
||||||
addAction(Properties::Instance()->actions[SPLIT_HORIZONTAL]);
|
|
||||||
|
|
||||||
Properties::Instance()->actions[SPLIT_VERTICAL] = new QAction(tr("Split Terminal &Vertically"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(SPLIT_VERTICAL).toString() );
|
|
||||||
Properties::Instance()->actions[SPLIT_VERTICAL]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[SPLIT_VERTICAL], SIGNAL(triggered()), consoleTabulator, SLOT(splitVertically()));
|
|
||||||
menu_Actions->addAction(Properties::Instance()->actions[SPLIT_VERTICAL]);
|
|
||||||
addAction(Properties::Instance()->actions[SPLIT_VERTICAL]);
|
|
||||||
|
|
||||||
Properties::Instance()->actions[SUB_COLLAPSE] = new QAction(tr("&Collapse Subterminal"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(SUB_COLLAPSE).toString() );
|
|
||||||
Properties::Instance()->actions[SUB_COLLAPSE]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[SUB_COLLAPSE], SIGNAL(triggered()), consoleTabulator, SLOT(splitCollapse()));
|
|
||||||
menu_Actions->addAction(Properties::Instance()->actions[SUB_COLLAPSE]);
|
|
||||||
addAction(Properties::Instance()->actions[SUB_COLLAPSE]);
|
|
||||||
|
|
||||||
Properties::Instance()->actions[SUB_NEXT] = new QAction(QIcon::fromTheme("go-up"), tr("N&ext Subterminal"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(SUB_NEXT, SUB_NEXT_SHORTCUT).toString() );
|
|
||||||
Properties::Instance()->actions[SUB_NEXT]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[SUB_NEXT], SIGNAL(triggered()), consoleTabulator, SLOT(switchNextSubterminal()));
|
|
||||||
menu_Actions->addAction(Properties::Instance()->actions[SUB_NEXT]);
|
|
||||||
addAction(Properties::Instance()->actions[SUB_NEXT]);
|
|
||||||
|
|
||||||
Properties::Instance()->actions[SUB_PREV] = new QAction(QIcon::fromTheme("go-down"), tr("P&revious Subterminal"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(SUB_PREV, SUB_PREV_SHORTCUT).toString() );
|
|
||||||
Properties::Instance()->actions[SUB_PREV]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[SUB_PREV], SIGNAL(triggered()), consoleTabulator, SLOT(switchPrevSubterminal()));
|
|
||||||
menu_Actions->addAction(Properties::Instance()->actions[SUB_PREV]);
|
|
||||||
addAction(Properties::Instance()->actions[SUB_PREV]);
|
|
||||||
|
|
||||||
menu_Actions->addSeparator();
|
|
||||||
|
|
||||||
// Copy and Paste are only added to the table for the sake of bindings at the moment; there is no Edit menu, only a context menu.
|
|
||||||
Properties::Instance()->actions[COPY_SELECTION] = new QAction(QIcon::fromTheme("edit-copy"), tr("Copy &Selection"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(COPY_SELECTION, COPY_SELECTION_SHORTCUT).toString() );
|
|
||||||
Properties::Instance()->actions[COPY_SELECTION]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[COPY_SELECTION], SIGNAL(triggered()), consoleTabulator, SLOT(copySelection()));
|
|
||||||
menu_Edit->addAction(Properties::Instance()->actions[COPY_SELECTION]);
|
|
||||||
addAction(Properties::Instance()->actions[COPY_SELECTION]);
|
|
||||||
|
|
||||||
Properties::Instance()->actions[PASTE_CLIPBOARD] = new QAction(QIcon::fromTheme("edit-paste"), tr("Paste Clip&board"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(PASTE_CLIPBOARD, PASTE_CLIPBOARD_SHORTCUT).toString() );
|
|
||||||
Properties::Instance()->actions[PASTE_CLIPBOARD]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[PASTE_CLIPBOARD], SIGNAL(triggered()), consoleTabulator, SLOT(pasteClipboard()));
|
|
||||||
menu_Edit->addAction(Properties::Instance()->actions[PASTE_CLIPBOARD]);
|
|
||||||
addAction(Properties::Instance()->actions[PASTE_CLIPBOARD]);
|
|
||||||
|
|
||||||
Properties::Instance()->actions[PASTE_SELECTION] = new QAction(QIcon::fromTheme("edit-paste"), tr("Paste S&election"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(PASTE_SELECTION, PASTE_SELECTION_SHORTCUT).toString() );
|
|
||||||
Properties::Instance()->actions[PASTE_SELECTION]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[PASTE_SELECTION], SIGNAL(triggered()), consoleTabulator, SLOT(pasteSelection()));
|
|
||||||
menu_Edit->addAction(Properties::Instance()->actions[PASTE_SELECTION]);
|
|
||||||
addAction(Properties::Instance()->actions[PASTE_SELECTION]);
|
|
||||||
|
|
||||||
Properties::Instance()->actions[ZOOM_IN] = new QAction(QIcon::fromTheme("zoom-in"), tr("Zoom &in"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(ZOOM_IN, ZOOM_IN_SHORTCUT).toString() );
|
|
||||||
Properties::Instance()->actions[ZOOM_IN]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[ZOOM_IN], SIGNAL(triggered()), consoleTabulator, SLOT(zoomIn()));
|
|
||||||
menu_Edit->addAction(Properties::Instance()->actions[ZOOM_IN]);
|
|
||||||
addAction(Properties::Instance()->actions[ZOOM_IN]);
|
|
||||||
|
|
||||||
Properties::Instance()->actions[ZOOM_OUT] = new QAction(QIcon::fromTheme("zoom-out"), tr("Zoom &out"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(ZOOM_OUT, ZOOM_OUT_SHORTCUT).toString() );
|
|
||||||
Properties::Instance()->actions[ZOOM_OUT]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[ZOOM_OUT], SIGNAL(triggered()), consoleTabulator, SLOT(zoomOut()));
|
|
||||||
menu_Edit->addAction(Properties::Instance()->actions[ZOOM_OUT]);
|
|
||||||
addAction(Properties::Instance()->actions[ZOOM_OUT]);
|
|
||||||
|
|
||||||
Properties::Instance()->actions[ZOOM_RESET] = new QAction(QIcon::fromTheme("zoom-original"), tr("Zoom rese&t"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(ZOOM_RESET, ZOOM_RESET_SHORTCUT).toString() );
|
|
||||||
Properties::Instance()->actions[ZOOM_RESET]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[ZOOM_RESET], SIGNAL(triggered()), consoleTabulator, SLOT(zoomReset()));
|
|
||||||
menu_Edit->addAction(Properties::Instance()->actions[ZOOM_RESET]);
|
|
||||||
addAction(Properties::Instance()->actions[ZOOM_RESET]);
|
|
||||||
|
|
||||||
menu_Actions->addSeparator();
|
|
||||||
|
|
||||||
Properties::Instance()->actions[FIND] = new QAction(QIcon::fromTheme("edit-find"), tr("&Find..."), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(FIND, FIND_SHORTCUT).toString() );
|
|
||||||
Properties::Instance()->actions[FIND]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[FIND], SIGNAL(triggered()), this, SLOT(find()));
|
|
||||||
menu_Actions->addAction(Properties::Instance()->actions[FIND]);
|
|
||||||
addAction(Properties::Instance()->actions[FIND]);
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
act = new QAction(this);
|
|
||||||
act->setSeparator(true);
|
|
||||||
|
|
||||||
// TODO/FIXME: unimplemented for now
|
|
||||||
act = new QAction(tr("&Save Session"), this);
|
|
||||||
// do not use sequences for this task - it collides with eg. mc shorcuts
|
|
||||||
// and mainly - it's not used too often
|
|
||||||
//act->setShortcut(QKeySequence::Save);
|
|
||||||
connect(act, SIGNAL(triggered()), consoleTabulator, SLOT(saveSession()));
|
|
||||||
|
|
||||||
act = new QAction(tr("&Load Session"), this);
|
|
||||||
// do not use sequences for this task - it collides with eg. mc shorcuts
|
|
||||||
// and mainly - it's not used too often
|
|
||||||
//act->setShortcut(QKeySequence::Open);
|
|
||||||
connect(act, SIGNAL(triggered()), consoleTabulator, SLOT(loadSession()));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
Properties::Instance()->actions[TOGGLE_MENU] = new QAction(tr("&Toggle Menu"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(TOGGLE_MENU, TOGGLE_MENU_SHORTCUT).toString() );
|
|
||||||
Properties::Instance()->actions[TOGGLE_MENU]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[TOGGLE_MENU], SIGNAL(triggered()), this, SLOT(toggleMenu()));
|
|
||||||
addAction(Properties::Instance()->actions[TOGGLE_MENU]);
|
|
||||||
// tis is correct - add action to main window - not to menu to keep toggle working
|
|
||||||
|
|
||||||
settings.endGroup();
|
|
||||||
|
|
||||||
// apply props
|
|
||||||
propertiesChanged();
|
|
||||||
}
|
|
||||||
void MainWindow::setup_FileMenu_Actions()
|
|
||||||
{
|
|
||||||
QSettings settings;
|
|
||||||
settings.beginGroup("Shortcuts");
|
|
||||||
|
|
||||||
QKeySequence seq;
|
|
||||||
|
|
||||||
Properties::Instance()->actions[ADD_TAB] = new QAction(QIcon::fromTheme("list-add"), tr("&New Tab"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(ADD_TAB, ADD_TAB_SHORTCUT).toString() );
|
|
||||||
Properties::Instance()->actions[ADD_TAB]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[ADD_TAB], SIGNAL(triggered()), this, SLOT(addNewTab()));
|
|
||||||
menu_File->addAction(Properties::Instance()->actions[ADD_TAB]);
|
|
||||||
addAction(Properties::Instance()->actions[ADD_TAB]);
|
|
||||||
|
|
||||||
QMenu *presetsMenu = new QMenu(tr("New Tab From &Preset"), this);
|
|
||||||
presetsMenu->addAction(QIcon(), tr("1 &Terminal"),
|
|
||||||
consoleTabulator, SLOT(addNewTab()));
|
|
||||||
presetsMenu->addAction(QIcon(), tr("2 &Horizontal Terminals"),
|
|
||||||
consoleTabulator, SLOT(preset2Horizontal()));
|
|
||||||
presetsMenu->addAction(QIcon(), tr("2 &Vertical Terminals"),
|
|
||||||
consoleTabulator, SLOT(preset2Vertical()));
|
|
||||||
presetsMenu->addAction(QIcon(), tr("4 Terminal&s"),
|
|
||||||
consoleTabulator, SLOT(preset4Terminals()));
|
|
||||||
menu_File->addMenu(presetsMenu);
|
|
||||||
|
|
||||||
Properties::Instance()->actions[CLOSE_TAB] = new QAction(QIcon::fromTheme("list-remove"), tr("&Close Tab"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(CLOSE_TAB, CLOSE_TAB_SHORTCUT).toString() );
|
|
||||||
Properties::Instance()->actions[CLOSE_TAB]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[CLOSE_TAB], SIGNAL(triggered()), consoleTabulator, SLOT(removeCurrentTab()));
|
|
||||||
menu_File->addAction(Properties::Instance()->actions[CLOSE_TAB]);
|
|
||||||
addAction(Properties::Instance()->actions[CLOSE_TAB]);
|
|
||||||
|
|
||||||
Properties::Instance()->actions[NEW_WINDOW] = new QAction(QIcon::fromTheme("window-new"), tr("&New Window"), this);
|
|
||||||
seq = QKeySequence::fromString( settings.value(NEW_WINDOW, NEW_WINDOW_SHORTCUT).toString() );
|
|
||||||
Properties::Instance()->actions[NEW_WINDOW]->setShortcut(seq);
|
|
||||||
connect(Properties::Instance()->actions[NEW_WINDOW], SIGNAL(triggered()), this, SLOT(newTerminalWindow()));
|
|
||||||
menu_File->addAction(Properties::Instance()->actions[NEW_WINDOW]);
|
|
||||||
addAction(Properties::Instance()->actions[NEW_WINDOW]);
|
|
||||||
|
|
||||||
menu_File->addSeparator();
|
|
||||||
|
|
||||||
Properties::Instance()->actions[PREFERENCES] = actProperties;
|
|
||||||
seq = QKeySequence::fromString( settings.value(PREFERENCES).toString() );
|
|
||||||
Properties::Instance()->actions[PREFERENCES]->setShortcut(seq);
|
|
||||||
connect(actProperties, SIGNAL(triggered()), SLOT(actProperties_triggered()));
|
|
||||||
menu_File->addAction(Properties::Instance()->actions[PREFERENCES]);
|
|
||||||
addAction(Properties::Instance()->actions[PREFERENCES]);
|
|
||||||
|
|
||||||
menu_File->addSeparator();
|
|
||||||
|
|
||||||
Properties::Instance()->actions[QUIT] = actQuit;
|
|
||||||
seq = QKeySequence::fromString( settings.value(QUIT).toString() );
|
|
||||||
Properties::Instance()->actions[QUIT]->setShortcut(seq);
|
|
||||||
connect(actQuit, SIGNAL(triggered()), SLOT(close()));
|
|
||||||
menu_File->addAction(Properties::Instance()->actions[QUIT]);
|
|
||||||
addAction(Properties::Instance()->actions[QUIT]);
|
|
||||||
|
|
||||||
settings.endGroup();
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::setup_ViewMenu_Actions()
|
|
||||||
{
|
|
||||||
QKeySequence seq;
|
|
||||||
QSettings settings;
|
|
||||||
settings.beginGroup("Shortcuts");
|
|
||||||
|
|
||||||
QAction *hideBordersAction = new QAction(tr("&Hide Window Borders"), this);
|
|
||||||
hideBordersAction->setCheckable(true);
|
|
||||||
hideBordersAction->setVisible(!m_dropMode);
|
|
||||||
seq = QKeySequence::fromString( settings.value(HIDE_WINDOW_BORDERS).toString() );
|
|
||||||
hideBordersAction->setShortcut(seq);
|
|
||||||
connect(hideBordersAction, SIGNAL(triggered()), this, SLOT(toggleBorderless()));
|
|
||||||
menu_Window->addAction(hideBordersAction);
|
|
||||||
addAction(hideBordersAction);
|
|
||||||
Properties::Instance()->actions[HIDE_WINDOW_BORDERS] = hideBordersAction;
|
|
||||||
//Properties::Instance()->actions[HIDE_WINDOW_BORDERS]->setObjectName("toggle_Borderless");
|
|
||||||
// TODO/FIXME: it's broken somehow. When I call toggleBorderless() here the non-responsive window appear
|
|
||||||
// Properties::Instance()->actions[HIDE_WINDOW_BORDERS]->setChecked(Properties::Instance()->borderless);
|
|
||||||
// if (Properties::Instance()->borderless)
|
|
||||||
// toggleBorderless();
|
|
||||||
|
|
||||||
QAction *showTabBarAction = new QAction(tr("&Show Tab Bar"), this);
|
|
||||||
//toggleTabbar->setObjectName("toggle_TabBar");
|
|
||||||
showTabBarAction->setCheckable(true);
|
|
||||||
showTabBarAction->setChecked(!Properties::Instance()->tabBarless);
|
|
||||||
seq = QKeySequence::fromString( settings.value(SHOW_TAB_BAR).toString() );
|
|
||||||
showTabBarAction->setShortcut(seq);
|
|
||||||
menu_Window->addAction(showTabBarAction);
|
|
||||||
addAction(showTabBarAction);
|
|
||||||
Properties::Instance()->actions[SHOW_TAB_BAR] = showTabBarAction;
|
|
||||||
toggleTabBar();
|
|
||||||
connect(showTabBarAction, SIGNAL(triggered()), this, SLOT(toggleTabBar()));
|
|
||||||
|
|
||||||
QAction *toggleFullscreen = new QAction(tr("Fullscreen"), this);
|
|
||||||
toggleFullscreen->setCheckable(true);
|
|
||||||
toggleFullscreen->setChecked(false);
|
|
||||||
seq = QKeySequence::fromString(settings.value(FULLSCREEN, FULLSCREEN_SHORTCUT).toString());
|
|
||||||
toggleFullscreen->setShortcut(seq);
|
|
||||||
menu_Window->addAction(toggleFullscreen);
|
|
||||||
addAction(toggleFullscreen);
|
|
||||||
connect(toggleFullscreen, SIGNAL(triggered(bool)), this, SLOT(showFullscreen(bool)));
|
|
||||||
Properties::Instance()->actions[FULLSCREEN] = toggleFullscreen;
|
|
||||||
|
|
||||||
Properties::Instance()->actions[TOGGLE_BOOKMARKS] = m_bookmarksDock->toggleViewAction();
|
|
||||||
seq = QKeySequence::fromString( settings.value(TOGGLE_BOOKMARKS, TOGGLE_BOOKMARKS_SHORTCUT).toString() );
|
|
||||||
Properties::Instance()->actions[TOGGLE_BOOKMARKS]->setShortcut(seq);
|
|
||||||
menu_Window->addAction(Properties::Instance()->actions[TOGGLE_BOOKMARKS]);
|
|
||||||
settings.endGroup();
|
|
||||||
|
|
||||||
menu_Window->addSeparator();
|
|
||||||
|
|
||||||
/* tabs position */
|
|
||||||
tabPosition = new QActionGroup(this);
|
|
||||||
QAction *tabBottom = new QAction(tr("&Bottom"), this);
|
|
||||||
QAction *tabTop = new QAction(tr("&Top"), this);
|
|
||||||
QAction *tabRight = new QAction(tr("&Right"), this);
|
|
||||||
QAction *tabLeft = new QAction(tr("&Left"), this);
|
|
||||||
tabPosition->addAction(tabTop);
|
|
||||||
tabPosition->addAction(tabBottom);
|
|
||||||
tabPosition->addAction(tabLeft);
|
|
||||||
tabPosition->addAction(tabRight);
|
|
||||||
|
|
||||||
for(int i = 0; i < tabPosition->actions().size(); ++i)
|
|
||||||
tabPosition->actions().at(i)->setCheckable(true);
|
|
||||||
|
|
||||||
if( tabPosition->actions().count() > Properties::Instance()->tabsPos )
|
|
||||||
tabPosition->actions().at(Properties::Instance()->tabsPos)->setChecked(true);
|
|
||||||
|
|
||||||
connect(tabPosition, SIGNAL(triggered(QAction *)),
|
|
||||||
consoleTabulator, SLOT(changeTabPosition(QAction *)) );
|
|
||||||
|
|
||||||
tabPosMenu = new QMenu(tr("&Tabs Layout"), menu_Window);
|
|
||||||
tabPosMenu->setObjectName("tabPosMenu");
|
|
||||||
|
|
||||||
for(int i=0; i < tabPosition->actions().size(); ++i) {
|
|
||||||
tabPosMenu->addAction(tabPosition->actions().at(i));
|
|
||||||
}
|
|
||||||
|
|
||||||
connect(menu_Window, SIGNAL(hovered(QAction *)),
|
|
||||||
this, SLOT(updateActionGroup(QAction *)));
|
|
||||||
menu_Window->addMenu(tabPosMenu);
|
|
||||||
/* */
|
|
||||||
|
|
||||||
/* Scrollbar */
|
|
||||||
scrollBarPosition = new QActionGroup(this);
|
|
||||||
QAction *scrollNone = new QAction(tr("&None"), this);
|
|
||||||
QAction *scrollRight = new QAction(tr("&Right"), this);
|
|
||||||
QAction *scrollLeft = new QAction(tr("&Left"), this);
|
|
||||||
|
|
||||||
/* order of insertion is dep. on QTermWidget::ScrollBarPosition enum */
|
|
||||||
scrollBarPosition->addAction(scrollNone);
|
|
||||||
scrollBarPosition->addAction(scrollLeft);
|
|
||||||
scrollBarPosition->addAction(scrollRight);
|
|
||||||
|
|
||||||
for(int i = 0; i < scrollBarPosition->actions().size(); ++i)
|
|
||||||
scrollBarPosition->actions().at(i)->setCheckable(true);
|
|
||||||
|
|
||||||
if( Properties::Instance()->scrollBarPos < scrollBarPosition->actions().size() )
|
|
||||||
scrollBarPosition->actions().at(Properties::Instance()->scrollBarPos)->setChecked(true);
|
|
||||||
|
|
||||||
connect(scrollBarPosition, SIGNAL(triggered(QAction *)),
|
|
||||||
consoleTabulator, SLOT(changeScrollPosition(QAction *)) );
|
|
||||||
|
|
||||||
scrollPosMenu = new QMenu(tr("S&crollbar Layout"), menu_Window);
|
|
||||||
scrollPosMenu->setObjectName("scrollPosMenu");
|
|
||||||
|
|
||||||
for(int i=0; i < scrollBarPosition->actions().size(); ++i) {
|
|
||||||
scrollPosMenu->addAction(scrollBarPosition->actions().at(i));
|
|
||||||
}
|
|
||||||
|
|
||||||
menu_Window->addMenu(scrollPosMenu);
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::on_consoleTabulator_currentChanged(int)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::toggleTabBar()
|
|
||||||
{
|
|
||||||
Properties::Instance()->tabBarless
|
|
||||||
= !Properties::Instance()->actions[SHOW_TAB_BAR]->isChecked();
|
|
||||||
consoleTabulator->showHideTabBar();
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::toggleBorderless()
|
|
||||||
{
|
|
||||||
setWindowFlags(windowFlags() ^ Qt::FramelessWindowHint);
|
|
||||||
show();
|
|
||||||
setWindowState(Qt::WindowActive); /* don't loose focus on the window */
|
|
||||||
Properties::Instance()->borderless
|
|
||||||
= Properties::Instance()->actions[HIDE_WINDOW_BORDERS]->isChecked(); realign();
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::toggleMenu()
|
|
||||||
{
|
|
||||||
m_menuBar->setVisible(!m_menuBar->isVisible());
|
|
||||||
Properties::Instance()->menuVisible = m_menuBar->isVisible();
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::showFullscreen(bool fullscreen)
|
|
||||||
{
|
|
||||||
if(fullscreen)
|
|
||||||
setWindowState(windowState() | Qt::WindowFullScreen);
|
|
||||||
else
|
|
||||||
setWindowState(windowState() & ~Qt::WindowFullScreen);
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::closeEvent(QCloseEvent *ev)
|
|
||||||
{
|
|
||||||
if (!Properties::Instance()->askOnExit
|
|
||||||
|| !consoleTabulator->count())
|
|
||||||
{
|
|
||||||
// #80 - do not save state and geometry in drop mode
|
|
||||||
if (!m_dropMode) {
|
|
||||||
if (Properties::Instance()->savePosOnExit) {
|
|
||||||
Properties::Instance()->mainWindowPosition = pos();
|
|
||||||
}
|
|
||||||
if (Properties::Instance()->saveSizeOnExit) {
|
|
||||||
Properties::Instance()->mainWindowSize = size();
|
|
||||||
}
|
|
||||||
Properties::Instance()->mainWindowState = saveState();
|
|
||||||
}
|
|
||||||
Properties::Instance()->saveSettings();
|
|
||||||
for (int i = consoleTabulator->count(); i > 0; --i) {
|
|
||||||
consoleTabulator->removeTab(i - 1);
|
|
||||||
}
|
|
||||||
ev->accept();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ask user for cancel only when there is at least one terminal active in this window
|
|
||||||
QDialog * dia = new QDialog(this);
|
|
||||||
dia->setObjectName("exitDialog");
|
|
||||||
dia->setWindowTitle(tr("Exit QTerminal"));
|
|
||||||
|
|
||||||
QCheckBox * dontAskCheck = new QCheckBox(tr("Do not ask again"), dia);
|
|
||||||
QDialogButtonBox * buttonBox = new QDialogButtonBox(QDialogButtonBox::Yes | QDialogButtonBox::No, Qt::Horizontal, dia);
|
|
||||||
buttonBox->button(QDialogButtonBox::Yes)->setDefault(true);
|
|
||||||
|
|
||||||
connect(buttonBox, SIGNAL(accepted()), dia, SLOT(accept()));
|
|
||||||
connect(buttonBox, SIGNAL(rejected()), dia, SLOT(reject()));
|
|
||||||
|
|
||||||
QVBoxLayout * lay = new QVBoxLayout();
|
|
||||||
lay->addWidget(new QLabel(tr("Are you sure you want to exit?")));
|
|
||||||
lay->addWidget(dontAskCheck);
|
|
||||||
lay->addWidget(buttonBox);
|
|
||||||
dia->setLayout(lay);
|
|
||||||
|
|
||||||
if (dia->exec() == QDialog::Accepted) {
|
|
||||||
Properties::Instance()->mainWindowPosition = pos();
|
|
||||||
Properties::Instance()->mainWindowSize = size();
|
|
||||||
Properties::Instance()->mainWindowState = saveState();
|
|
||||||
Properties::Instance()->askOnExit = !dontAskCheck->isChecked();
|
|
||||||
Properties::Instance()->saveSettings();
|
|
||||||
for (int i = consoleTabulator->count(); i > 0; --i) {
|
|
||||||
consoleTabulator->removeTab(i - 1);
|
|
||||||
}
|
|
||||||
ev->accept();
|
|
||||||
} else {
|
|
||||||
ev->ignore();
|
|
||||||
}
|
|
||||||
|
|
||||||
dia->deleteLater();
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::actAbout_triggered()
|
|
||||||
{
|
|
||||||
QMessageBox::about(this, QString("QTerminal ") + STR_VERSION, tr("A lightweight multiplatform terminal emulator"));
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::actProperties_triggered()
|
|
||||||
{
|
|
||||||
PropertiesDialog *p = new PropertiesDialog(this);
|
|
||||||
connect(p, SIGNAL(propertiesChanged()), this, SLOT(propertiesChanged()));
|
|
||||||
p->exec();
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::propertiesChanged()
|
|
||||||
{
|
|
||||||
QApplication::setStyle(Properties::Instance()->guiStyle);
|
|
||||||
setWindowOpacity(1.0 - Properties::Instance()->appTransparency/100.0);
|
|
||||||
consoleTabulator->setTabPosition((QTabWidget::TabPosition)Properties::Instance()->tabsPos);
|
|
||||||
consoleTabulator->propertiesChanged();
|
|
||||||
setDropShortcut(Properties::Instance()->dropShortCut);
|
|
||||||
|
|
||||||
m_menuBar->setVisible(Properties::Instance()->menuVisible);
|
|
||||||
|
|
||||||
m_bookmarksDock->setVisible(Properties::Instance()->useBookmarks
|
|
||||||
&& Properties::Instance()->bookmarksVisible);
|
|
||||||
m_bookmarksDock->toggleViewAction()->setVisible(Properties::Instance()->useBookmarks);
|
|
||||||
|
|
||||||
if (Properties::Instance()->useBookmarks)
|
|
||||||
{
|
|
||||||
qobject_cast<BookmarksWidget*>(m_bookmarksDock->widget())->setup();
|
|
||||||
}
|
|
||||||
|
|
||||||
Properties::Instance()->saveSettings();
|
|
||||||
realign();
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::realign()
|
|
||||||
{
|
|
||||||
if (m_dropMode)
|
|
||||||
{
|
|
||||||
QRect desktop = QApplication::desktop()->availableGeometry(this);
|
|
||||||
QRect geometry = QRect(0, 0,
|
|
||||||
desktop.width() * Properties::Instance()->dropWidht / 100,
|
|
||||||
desktop.height() * Properties::Instance()->dropHeight / 100
|
|
||||||
);
|
|
||||||
geometry.moveCenter(desktop.center());
|
|
||||||
// do not use 0 here - we need to calculate with potential panel on top
|
|
||||||
geometry.setTop(desktop.top());
|
|
||||||
|
|
||||||
setGeometry(geometry);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::updateActionGroup(QAction *a)
|
|
||||||
{
|
|
||||||
if (a->parent()->objectName() == tabPosMenu->objectName()) {
|
|
||||||
tabPosition->actions().at(Properties::Instance()->tabsPos)->setChecked(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::showHide()
|
|
||||||
{
|
|
||||||
if (isVisible())
|
|
||||||
hide();
|
|
||||||
else
|
|
||||||
{
|
|
||||||
realign();
|
|
||||||
show();
|
|
||||||
activateWindow();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::setKeepOpen(bool value)
|
|
||||||
{
|
|
||||||
Properties::Instance()->dropKeepOpen = value;
|
|
||||||
if (!m_dropLockButton)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (value)
|
|
||||||
m_dropLockButton->setIcon(QIcon::fromTheme("object-locked"));
|
|
||||||
else
|
|
||||||
m_dropLockButton->setIcon(QIcon::fromTheme("object-unlocked"));
|
|
||||||
|
|
||||||
m_dropLockButton->setChecked(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::find()
|
|
||||||
{
|
|
||||||
// A bit ugly perhaps with 4 levels of indirection...
|
|
||||||
consoleTabulator->terminalHolder()->currentTerminal()->impl()->toggleShowSearchBar();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool MainWindow::event(QEvent *event)
|
|
||||||
{
|
|
||||||
if (event->type() == QEvent::WindowDeactivate)
|
|
||||||
{
|
|
||||||
if (m_dropMode &&
|
|
||||||
!Properties::Instance()->dropKeepOpen &&
|
|
||||||
qApp->activeWindow() == 0
|
|
||||||
)
|
|
||||||
hide();
|
|
||||||
}
|
|
||||||
return QMainWindow::event(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::newTerminalWindow()
|
|
||||||
{
|
|
||||||
MainWindow *w = new MainWindow(m_initWorkDir, m_initShell, false);
|
|
||||||
w->show();
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::bookmarksWidget_callCommand(const QString& cmd)
|
|
||||||
{
|
|
||||||
consoleTabulator->terminalHolder()->currentTerminal()->impl()->sendText(cmd);
|
|
||||||
consoleTabulator->terminalHolder()->currentTerminal()->setFocus();
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::bookmarksDock_visibilityChanged(bool visible)
|
|
||||||
{
|
|
||||||
Properties::Instance()->bookmarksVisible = visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::addNewTab()
|
|
||||||
{
|
|
||||||
if (Properties::Instance()->terminalsPreset == 3)
|
|
||||||
consoleTabulator->preset4Terminals();
|
|
||||||
else if (Properties::Instance()->terminalsPreset == 2)
|
|
||||||
consoleTabulator->preset2Vertical();
|
|
||||||
else if (Properties::Instance()->terminalsPreset == 1)
|
|
||||||
consoleTabulator->preset2Horizontal();
|
|
||||||
else
|
|
||||||
consoleTabulator->addNewTab();
|
|
||||||
}
|
|
||||||
@ -1,90 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
* Copyright (C) 2006 by Vladimir Kuznetsov *
|
|
||||||
* vovanec@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, see <http://www.gnu.org/licenses/>. *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#ifndef MAINWINDOW_H
|
|
||||||
#define MAINWINDOW_H
|
|
||||||
|
|
||||||
#include "ui_qterminal.h"
|
|
||||||
|
|
||||||
#include <QMainWindow>
|
|
||||||
#include "qxtglobalshortcut.h"
|
|
||||||
|
|
||||||
class QToolButton;
|
|
||||||
|
|
||||||
class MainWindow : public QMainWindow , private Ui::mainWindow
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
MainWindow(const QString& work_dir, const QString& command,
|
|
||||||
bool dropMode,
|
|
||||||
QWidget * parent = 0, Qt::WindowFlags f = 0);
|
|
||||||
~MainWindow();
|
|
||||||
|
|
||||||
bool dropMode() { return m_dropMode; }
|
|
||||||
|
|
||||||
protected:
|
|
||||||
bool event(QEvent* event);
|
|
||||||
|
|
||||||
private:
|
|
||||||
QActionGroup *tabPosition, *scrollBarPosition;
|
|
||||||
QMenu *tabPosMenu, *scrollPosMenu;
|
|
||||||
|
|
||||||
QAction *renameSession;
|
|
||||||
|
|
||||||
QString m_initWorkDir;
|
|
||||||
QString m_initShell;
|
|
||||||
|
|
||||||
QDockWidget *m_bookmarksDock;
|
|
||||||
|
|
||||||
void setup_FileMenu_Actions();
|
|
||||||
void setup_ActionsMenu_Actions();
|
|
||||||
void setup_ViewMenu_Actions();
|
|
||||||
|
|
||||||
void closeEvent(QCloseEvent*);
|
|
||||||
|
|
||||||
void enableDropMode();
|
|
||||||
QToolButton *m_dropLockButton;
|
|
||||||
bool m_dropMode;
|
|
||||||
QxtGlobalShortcut m_dropShortcut;
|
|
||||||
void realign();
|
|
||||||
void setDropShortcut(QKeySequence dropShortCut);
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void on_consoleTabulator_currentChanged(int);
|
|
||||||
void propertiesChanged();
|
|
||||||
void actAbout_triggered();
|
|
||||||
void actProperties_triggered();
|
|
||||||
void updateActionGroup(QAction *);
|
|
||||||
|
|
||||||
void toggleBorderless();
|
|
||||||
void toggleTabBar();
|
|
||||||
void toggleMenu();
|
|
||||||
|
|
||||||
void showFullscreen(bool fullscreen);
|
|
||||||
void showHide();
|
|
||||||
void setKeepOpen(bool value);
|
|
||||||
void find();
|
|
||||||
|
|
||||||
void newTerminalWindow();
|
|
||||||
void bookmarksWidget_callCommand(const QString&);
|
|
||||||
void bookmarksDock_visibilityChanged(bool visible);
|
|
||||||
|
|
||||||
void addNewTab();
|
|
||||||
};
|
|
||||||
#endif //MAINWINDOW_H
|
|
||||||
@ -1,286 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
* Copyright (C) 2010 by Petr Vanek *
|
|
||||||
* petr@scribus.info *
|
|
||||||
* *
|
|
||||||
* 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, see <http://www.gnu.org/licenses/>. *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#include <qtermwidget.h>
|
|
||||||
|
|
||||||
#include "properties.h"
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
|
|
||||||
Properties * Properties::m_instance = 0;
|
|
||||||
|
|
||||||
|
|
||||||
Properties * Properties::Instance(const QString& filename)
|
|
||||||
{
|
|
||||||
if (!m_instance)
|
|
||||||
m_instance = new Properties(filename);
|
|
||||||
return m_instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
Properties::Properties(const QString& filename)
|
|
||||||
: filename(filename)
|
|
||||||
{
|
|
||||||
if (filename.isEmpty())
|
|
||||||
m_settings = new QSettings();
|
|
||||||
else
|
|
||||||
m_settings = new QSettings(filename);
|
|
||||||
qDebug("Properties constructor called");
|
|
||||||
}
|
|
||||||
|
|
||||||
Properties::~Properties()
|
|
||||||
{
|
|
||||||
qDebug("Properties destructor called");
|
|
||||||
saveSettings();
|
|
||||||
m_settings->deleteLater();
|
|
||||||
delete m_instance;
|
|
||||||
m_instance = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
QFont Properties::defaultFont()
|
|
||||||
{
|
|
||||||
QFont default_font = QApplication::font();
|
|
||||||
default_font.setFamily(DEFAULT_FONT);
|
|
||||||
default_font.setPointSize(12);
|
|
||||||
default_font.setStyleHint(QFont::TypeWriter);
|
|
||||||
return default_font;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Properties::loadSettings()
|
|
||||||
{
|
|
||||||
guiStyle = m_settings->value("guiStyle", QString()).toString();
|
|
||||||
if (!guiStyle.isNull())
|
|
||||||
QApplication::setStyle(guiStyle);
|
|
||||||
|
|
||||||
colorScheme = m_settings->value("colorScheme", "Linux").toString();
|
|
||||||
|
|
||||||
highlightCurrentTerminal = m_settings->value("highlightCurrentTerminal", true).toBool();
|
|
||||||
|
|
||||||
font = qvariant_cast<QFont>(m_settings->value("font", defaultFont()));
|
|
||||||
|
|
||||||
m_settings->beginGroup("Shortcuts");
|
|
||||||
QStringList keys = m_settings->childKeys();
|
|
||||||
foreach( QString key, keys )
|
|
||||||
{
|
|
||||||
QKeySequence sequence = QKeySequence( m_settings->value( key ).toString() );
|
|
||||||
if( Properties::Instance()->actions.contains( key ) )
|
|
||||||
Properties::Instance()->actions[ key ]->setShortcut( sequence );
|
|
||||||
}
|
|
||||||
m_settings->endGroup();
|
|
||||||
|
|
||||||
mainWindowSize = m_settings->value("MainWindow/size").toSize();
|
|
||||||
mainWindowPosition = m_settings->value("MainWindow/pos").toPoint();
|
|
||||||
mainWindowState = m_settings->value("MainWindow/state").toByteArray();
|
|
||||||
|
|
||||||
historyLimited = m_settings->value("HistoryLimited", true).toBool();
|
|
||||||
historyLimitedTo = m_settings->value("HistoryLimitedTo", 1000).toUInt();
|
|
||||||
|
|
||||||
emulation = m_settings->value("emulation", "default").toString();
|
|
||||||
|
|
||||||
// sessions
|
|
||||||
int size = m_settings->beginReadArray("Sessions");
|
|
||||||
for (int i = 0; i < size; ++i)
|
|
||||||
{
|
|
||||||
m_settings->setArrayIndex(i);
|
|
||||||
QString name(m_settings->value("name").toString());
|
|
||||||
if (name.isEmpty())
|
|
||||||
continue;
|
|
||||||
sessions[name] = m_settings->value("state").toByteArray();
|
|
||||||
}
|
|
||||||
m_settings->endArray();
|
|
||||||
|
|
||||||
appTransparency = m_settings->value("MainWindow/ApplicationTransparency", 0).toInt();
|
|
||||||
termTransparency = m_settings->value("TerminalTransparency", 0).toInt();
|
|
||||||
|
|
||||||
/* default to Right. see qtermwidget.h */
|
|
||||||
scrollBarPos = m_settings->value("ScrollbarPosition", 2).toInt();
|
|
||||||
/* default to North. I'd prefer South but North is standard (they say) */
|
|
||||||
tabsPos = m_settings->value("TabsPosition", 0).toInt();
|
|
||||||
hideTabBarWithOneTab = m_settings->value("HideTabBarWithOneTab", false).toBool();
|
|
||||||
m_motionAfterPaste = m_settings->value("MotionAfterPaste", 0).toInt();
|
|
||||||
|
|
||||||
/* toggles */
|
|
||||||
borderless = m_settings->value("Borderless", false).toBool();
|
|
||||||
tabBarless = m_settings->value("TabBarless", false).toBool();
|
|
||||||
menuVisible = m_settings->value("MenuVisible", true).toBool();
|
|
||||||
askOnExit = m_settings->value("AskOnExit", true).toBool();
|
|
||||||
saveSizeOnExit = m_settings->value("SaveSizeOnExit", true).toBool();
|
|
||||||
savePosOnExit = m_settings->value("SavePosOnExit", true).toBool();
|
|
||||||
useCWD = m_settings->value("UseCWD", false).toBool();
|
|
||||||
|
|
||||||
// bookmarks
|
|
||||||
useBookmarks = m_settings->value("UseBookmarks", false).toBool();
|
|
||||||
bookmarksVisible = m_settings->value("BookmarksVisible", true).toBool();
|
|
||||||
bookmarksFile = m_settings->value("BookmarksFile", QFileInfo(m_settings->fileName()).canonicalPath()+"/qterminal_bookmarks.xml").toString();
|
|
||||||
|
|
||||||
terminalsPreset = m_settings->value("TerminalsPreset", 0).toInt();
|
|
||||||
|
|
||||||
m_settings->beginGroup("DropMode");
|
|
||||||
dropShortCut = QKeySequence(m_settings->value("ShortCut", "F12").toString());
|
|
||||||
dropKeepOpen = m_settings->value("KeepOpen", false).toBool();
|
|
||||||
dropShowOnStart = m_settings->value("ShowOnStart", true).toBool();
|
|
||||||
dropWidht = m_settings->value("Width", 70).toInt();
|
|
||||||
dropHeight = m_settings->value("Height", 45).toInt();
|
|
||||||
m_settings->endGroup();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Properties::saveSettings()
|
|
||||||
{
|
|
||||||
m_settings->setValue("guiStyle", guiStyle);
|
|
||||||
m_settings->setValue("colorScheme", colorScheme);
|
|
||||||
m_settings->setValue("highlightCurrentTerminal", highlightCurrentTerminal);
|
|
||||||
m_settings->setValue("font", font);
|
|
||||||
|
|
||||||
m_settings->beginGroup("Shortcuts");
|
|
||||||
QMapIterator< QString, QAction * > it(actions);
|
|
||||||
while( it.hasNext() )
|
|
||||||
{
|
|
||||||
it.next();
|
|
||||||
QKeySequence shortcut = it.value()->shortcut();
|
|
||||||
m_settings->setValue( it.key(), shortcut.toString() );
|
|
||||||
}
|
|
||||||
m_settings->endGroup();
|
|
||||||
|
|
||||||
m_settings->setValue("MainWindow/size", mainWindowSize);
|
|
||||||
m_settings->setValue("MainWindow/pos", mainWindowPosition);
|
|
||||||
m_settings->setValue("MainWindow/state", mainWindowState);
|
|
||||||
|
|
||||||
m_settings->setValue("HistoryLimited", historyLimited);
|
|
||||||
m_settings->setValue("HistoryLimitedTo", historyLimitedTo);
|
|
||||||
|
|
||||||
m_settings->setValue("emulation", emulation);
|
|
||||||
|
|
||||||
// sessions
|
|
||||||
m_settings->beginWriteArray("Sessions");
|
|
||||||
int i = 0;
|
|
||||||
Sessions::iterator sit = sessions.begin();
|
|
||||||
while (sit != sessions.end())
|
|
||||||
{
|
|
||||||
m_settings->setArrayIndex(i);
|
|
||||||
m_settings->setValue("name", sit.key());
|
|
||||||
m_settings->setValue("state", sit.value());
|
|
||||||
++sit;
|
|
||||||
++i;
|
|
||||||
}
|
|
||||||
m_settings->endArray();
|
|
||||||
|
|
||||||
m_settings->setValue("MainWindow/ApplicationTransparency", appTransparency);
|
|
||||||
m_settings->setValue("TerminalTransparency", termTransparency);
|
|
||||||
m_settings->setValue("ScrollbarPosition", scrollBarPos);
|
|
||||||
m_settings->setValue("TabsPosition", tabsPos);
|
|
||||||
m_settings->setValue("HideTabBarWithOneTab", hideTabBarWithOneTab);
|
|
||||||
m_settings->setValue("MotionAfterPaste", m_motionAfterPaste);
|
|
||||||
m_settings->setValue("Borderless", borderless);
|
|
||||||
m_settings->setValue("TabBarless", tabBarless);
|
|
||||||
m_settings->setValue("MenuVisible", menuVisible);
|
|
||||||
m_settings->setValue("AskOnExit", askOnExit);
|
|
||||||
m_settings->setValue("SavePosOnExit", savePosOnExit);
|
|
||||||
m_settings->setValue("SaveSizeOnExit", saveSizeOnExit);
|
|
||||||
m_settings->setValue("UseCWD", useCWD);
|
|
||||||
|
|
||||||
// bookmarks
|
|
||||||
m_settings->setValue("UseBookmarks", useBookmarks);
|
|
||||||
m_settings->setValue("BookmarksVisible", bookmarksVisible);
|
|
||||||
m_settings->setValue("BookmarksFile", bookmarksFile);
|
|
||||||
|
|
||||||
m_settings->setValue("TerminalsPreset", terminalsPreset);
|
|
||||||
|
|
||||||
m_settings->beginGroup("DropMode");
|
|
||||||
m_settings->setValue("ShortCut", dropShortCut.toString());
|
|
||||||
m_settings->setValue("KeepOpen", dropKeepOpen);
|
|
||||||
m_settings->setValue("ShowOnStart", dropShowOnStart);
|
|
||||||
m_settings->setValue("Width", dropWidht);
|
|
||||||
m_settings->setValue("Height", dropHeight);
|
|
||||||
m_settings->endGroup();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void Properties::migrate_settings()
|
|
||||||
{
|
|
||||||
// Deal with rearrangements of settings.
|
|
||||||
// If this method becomes unbearably huge we should look at the config-update
|
|
||||||
// system used by kde and razor.
|
|
||||||
QSettings settings;
|
|
||||||
QString lastVersion = settings.value("version", "0.0.0").toString();
|
|
||||||
QString currentVersion = STR_VERSION;
|
|
||||||
if (currentVersion < lastVersion)
|
|
||||||
{
|
|
||||||
qDebug() << "Warning: Configuration file was written by a newer version "
|
|
||||||
<< "of QTerminal. Some settings might be incompatible";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (lastVersion < "0.4.0")
|
|
||||||
{
|
|
||||||
// ===== Paste Selection -> Paste Clipboard =====
|
|
||||||
settings.beginGroup("Shortcuts");
|
|
||||||
if(!settings.contains(PASTE_CLIPBOARD))
|
|
||||||
{
|
|
||||||
QString value = settings.value("Paste Selection", PASTE_CLIPBOARD_SHORTCUT).toString();
|
|
||||||
settings.setValue(PASTE_CLIPBOARD, value);
|
|
||||||
}
|
|
||||||
settings.remove("Paste Selection");
|
|
||||||
settings.endGroup();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (lastVersion <= "0.6.0")
|
|
||||||
{
|
|
||||||
// ===== AlwaysShowTabs -> HideTabBarWithOneTab =====
|
|
||||||
if(!settings.contains("HideTabBarWithOneTab"))
|
|
||||||
{
|
|
||||||
QString hideValue = settings.value("AlwaysShowTabs", false).toString();
|
|
||||||
settings.setValue("HideTabBarWithOneTab", hideValue);
|
|
||||||
}
|
|
||||||
settings.remove("AlwaysShowTabs");
|
|
||||||
|
|
||||||
// ===== appOpacity -> ApplicationTransparency =====
|
|
||||||
//
|
|
||||||
// Note: In 0.6.0 the opacity values had been erroneously
|
|
||||||
// restricted to [0,99] instead of [1,100]. We fix this here by
|
|
||||||
// setting the opacity to 100 if it was 99 and to 1 if it was 0.
|
|
||||||
//
|
|
||||||
if(!settings.contains("MainWindow/ApplicationTransparency"))
|
|
||||||
{
|
|
||||||
int appOpacityValue = settings.value("MainWindow/appOpacity", 100).toInt();
|
|
||||||
appOpacityValue = appOpacityValue == 99 ? 100 : appOpacityValue;
|
|
||||||
appOpacityValue = appOpacityValue == 0 ? 1 : appOpacityValue;
|
|
||||||
settings.setValue("MainWindow/ApplicationTransparency", 100 - appOpacityValue);
|
|
||||||
}
|
|
||||||
settings.remove("MainWindow/appOpacity");
|
|
||||||
|
|
||||||
// ===== termOpacity -> TerminalTransparency =====
|
|
||||||
if(!settings.contains("TerminalTransparency"))
|
|
||||||
{
|
|
||||||
int termOpacityValue = settings.value("termOpacity", 100).toInt();
|
|
||||||
termOpacityValue = termOpacityValue == 99 ? 100 : termOpacityValue;
|
|
||||||
settings.setValue("TerminalTransparency", 100 - termOpacityValue);
|
|
||||||
}
|
|
||||||
settings.remove("termOpacity");
|
|
||||||
// geometry -> size, pos
|
|
||||||
if (!settings.contains("MainWindow/size"))
|
|
||||||
{
|
|
||||||
QWidget geom;
|
|
||||||
geom.restoreGeometry(settings.value("MainWindow/geometry").toByteArray());
|
|
||||||
settings.setValue("MainWindow/size", geom.size());
|
|
||||||
settings.setValue("MainWindow/pos", geom.pos());
|
|
||||||
settings.remove("MainWindow/geometry");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (currentVersion > lastVersion)
|
|
||||||
settings.setValue("version", currentVersion);
|
|
||||||
}
|
|
||||||
|
|
||||||
111
src/properties.h
@ -1,111 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
* Copyright (C) 2010 by Petr Vanek *
|
|
||||||
* petr@scribus.info *
|
|
||||||
* *
|
|
||||||
* 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, see <http://www.gnu.org/licenses/>. *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#ifndef PROPERTIES_H
|
|
||||||
#define PROPERTIES_H
|
|
||||||
|
|
||||||
#include <QApplication>
|
|
||||||
#include <QtCore>
|
|
||||||
#include <QFont>
|
|
||||||
#include <QAction>
|
|
||||||
|
|
||||||
typedef QString Session;
|
|
||||||
|
|
||||||
typedef QMap<QString,Session> Sessions;
|
|
||||||
|
|
||||||
typedef QMap<QString,QString> ShortcutMap;
|
|
||||||
|
|
||||||
|
|
||||||
class Properties
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
static Properties *Instance(const QString& filename = QString());
|
|
||||||
|
|
||||||
QFont defaultFont();
|
|
||||||
void saveSettings();
|
|
||||||
void loadSettings();
|
|
||||||
void migrate_settings();
|
|
||||||
|
|
||||||
QSize mainWindowSize;
|
|
||||||
QPoint mainWindowPosition;
|
|
||||||
QByteArray mainWindowState;
|
|
||||||
//ShortcutMap shortcuts;
|
|
||||||
QString shell;
|
|
||||||
QFont font;
|
|
||||||
QString colorScheme;
|
|
||||||
QString guiStyle;
|
|
||||||
bool highlightCurrentTerminal;
|
|
||||||
|
|
||||||
bool historyLimited;
|
|
||||||
unsigned historyLimitedTo;
|
|
||||||
|
|
||||||
QString emulation;
|
|
||||||
|
|
||||||
Sessions sessions;
|
|
||||||
|
|
||||||
int appTransparency;
|
|
||||||
int termTransparency;
|
|
||||||
|
|
||||||
int scrollBarPos;
|
|
||||||
int tabsPos;
|
|
||||||
bool hideTabBarWithOneTab;
|
|
||||||
int m_motionAfterPaste;
|
|
||||||
|
|
||||||
bool borderless;
|
|
||||||
bool tabBarless;
|
|
||||||
bool menuVisible;
|
|
||||||
|
|
||||||
bool askOnExit;
|
|
||||||
|
|
||||||
bool saveSizeOnExit;
|
|
||||||
bool savePosOnExit;
|
|
||||||
|
|
||||||
bool useCWD;
|
|
||||||
|
|
||||||
bool useBookmarks;
|
|
||||||
bool bookmarksVisible;
|
|
||||||
QString bookmarksFile;
|
|
||||||
|
|
||||||
int terminalsPreset;
|
|
||||||
|
|
||||||
QKeySequence dropShortCut;
|
|
||||||
bool dropKeepOpen;
|
|
||||||
bool dropShowOnStart;
|
|
||||||
int dropWidht;
|
|
||||||
int dropHeight;
|
|
||||||
|
|
||||||
QMap< QString, QAction * > actions;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
// Singleton handling
|
|
||||||
static Properties *m_instance;
|
|
||||||
QString filename;
|
|
||||||
|
|
||||||
explicit Properties(const QString& filename);
|
|
||||||
Properties(const Properties &) {};
|
|
||||||
~Properties();
|
|
||||||
|
|
||||||
QSettings *m_settings;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@ -1,358 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
* Copyright (C) 2010 by Petr Vanek *
|
|
||||||
* petr@scribus.info *
|
|
||||||
* *
|
|
||||||
* 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, see <http://www.gnu.org/licenses/>. *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#include <qtermwidget.h>
|
|
||||||
|
|
||||||
#include <QDebug>
|
|
||||||
#include <QStyleFactory>
|
|
||||||
#include <QFileDialog>
|
|
||||||
|
|
||||||
#include "propertiesdialog.h"
|
|
||||||
#include "properties.h"
|
|
||||||
#include "fontdialog.h"
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
|
|
||||||
PropertiesDialog::PropertiesDialog(QWidget *parent)
|
|
||||||
: QDialog(parent)
|
|
||||||
{
|
|
||||||
setupUi(this);
|
|
||||||
|
|
||||||
connect(buttonBox->button(QDialogButtonBox::Apply), SIGNAL(clicked()),
|
|
||||||
this, SLOT(apply()));
|
|
||||||
connect(changeFontButton, SIGNAL(clicked()),
|
|
||||||
this, SLOT(changeFontButton_clicked()));
|
|
||||||
|
|
||||||
QStringList emulations = QTermWidget::availableKeyBindings();
|
|
||||||
QStringList colorSchemes = QTermWidget::availableColorSchemes();
|
|
||||||
|
|
||||||
listWidget->setCurrentRow(0);
|
|
||||||
listWidget->setSizeAdjustPolicy(QAbstractScrollArea::AdjustToContentsOnFirstShow);
|
|
||||||
|
|
||||||
colorSchemaCombo->addItems(colorSchemes);
|
|
||||||
int csix = colorSchemaCombo->findText(Properties::Instance()->colorScheme);
|
|
||||||
if (csix != -1)
|
|
||||||
colorSchemaCombo->setCurrentIndex(csix);
|
|
||||||
|
|
||||||
emulationComboBox->addItems(emulations);
|
|
||||||
int eix = emulationComboBox->findText(Properties::Instance()->emulation);
|
|
||||||
emulationComboBox->setCurrentIndex(eix != -1 ? eix : 0 );
|
|
||||||
|
|
||||||
/* shortcuts */
|
|
||||||
setupShortcuts();
|
|
||||||
|
|
||||||
/* scrollbar position */
|
|
||||||
QStringList scrollBarPosList;
|
|
||||||
scrollBarPosList << tr("No scrollbar") << tr("Left") << tr("Right");
|
|
||||||
scrollBarPos_comboBox->addItems(scrollBarPosList);
|
|
||||||
scrollBarPos_comboBox->setCurrentIndex(Properties::Instance()->scrollBarPos);
|
|
||||||
|
|
||||||
/* tabs position */
|
|
||||||
QStringList tabsPosList;
|
|
||||||
tabsPosList << tr("Top") << tr("Bottom") << tr("Left") << tr("Right");
|
|
||||||
tabsPos_comboBox->addItems(tabsPosList);
|
|
||||||
tabsPos_comboBox->setCurrentIndex(Properties::Instance()->tabsPos);
|
|
||||||
|
|
||||||
hideTabBarCheckBox->setChecked(Properties::Instance()->hideTabBarWithOneTab);
|
|
||||||
|
|
||||||
// show main menu bar
|
|
||||||
showMenuCheckBox->setChecked(Properties::Instance()->menuVisible);
|
|
||||||
|
|
||||||
/* actions by motion after paste */
|
|
||||||
|
|
||||||
QStringList motionAfter;
|
|
||||||
motionAfter << tr("No move") << tr("Move start") << tr("Move end");
|
|
||||||
motionAfterPasting_comboBox->addItems(motionAfter);
|
|
||||||
motionAfterPasting_comboBox->setCurrentIndex(Properties::Instance()->m_motionAfterPaste);
|
|
||||||
|
|
||||||
// Setting windows style actions
|
|
||||||
styleComboBox->addItem(tr("System Default"));
|
|
||||||
styleComboBox->addItems(QStyleFactory::keys());
|
|
||||||
|
|
||||||
int ix = styleComboBox->findText(Properties::Instance()->guiStyle);
|
|
||||||
if (ix != -1)
|
|
||||||
styleComboBox->setCurrentIndex(ix);
|
|
||||||
|
|
||||||
setFontSample(Properties::Instance()->font);
|
|
||||||
|
|
||||||
appTransparencyBox->setValue(Properties::Instance()->appTransparency);
|
|
||||||
|
|
||||||
termTransparencyBox->setValue(Properties::Instance()->termTransparency);
|
|
||||||
|
|
||||||
highlightCurrentCheckBox->setChecked(Properties::Instance()->highlightCurrentTerminal);
|
|
||||||
|
|
||||||
askOnExitCheckBox->setChecked(Properties::Instance()->askOnExit);
|
|
||||||
|
|
||||||
savePosOnExitCheckBox->setChecked(Properties::Instance()->savePosOnExit);
|
|
||||||
saveSizeOnExitCheckBox->setChecked(Properties::Instance()->saveSizeOnExit);
|
|
||||||
|
|
||||||
useCwdCheckBox->setChecked(Properties::Instance()->useCWD);
|
|
||||||
|
|
||||||
historyLimited->setChecked(Properties::Instance()->historyLimited);
|
|
||||||
historyUnlimited->setChecked(!Properties::Instance()->historyLimited);
|
|
||||||
historyLimitedTo->setValue(Properties::Instance()->historyLimitedTo);
|
|
||||||
|
|
||||||
dropShowOnStartCheckBox->setChecked(Properties::Instance()->dropShowOnStart);
|
|
||||||
dropHeightSpinBox->setValue(Properties::Instance()->dropHeight);
|
|
||||||
dropWidthSpinBox->setValue(Properties::Instance()->dropWidht);
|
|
||||||
dropShortCutEdit->setText(Properties::Instance()->dropShortCut.toString());
|
|
||||||
|
|
||||||
useBookmarksCheckBox->setChecked(Properties::Instance()->useBookmarks);
|
|
||||||
bookmarksLineEdit->setText(Properties::Instance()->bookmarksFile);
|
|
||||||
openBookmarksFile(Properties::Instance()->bookmarksFile);
|
|
||||||
connect(bookmarksButton, SIGNAL(clicked()),
|
|
||||||
this, SLOT(bookmarksButton_clicked()));
|
|
||||||
|
|
||||||
terminalPresetComboBox->setCurrentIndex(Properties::Instance()->terminalsPreset);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
PropertiesDialog::~PropertiesDialog()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void PropertiesDialog::accept()
|
|
||||||
{
|
|
||||||
apply();
|
|
||||||
QDialog::accept();
|
|
||||||
}
|
|
||||||
|
|
||||||
void PropertiesDialog::apply()
|
|
||||||
{
|
|
||||||
Properties::Instance()->colorScheme = colorSchemaCombo->currentText();
|
|
||||||
Properties::Instance()->font = fontSampleLabel->font();//fontComboBox->currentFont();
|
|
||||||
Properties::Instance()->guiStyle = (styleComboBox->currentText() == tr("System Default")) ?
|
|
||||||
QString() : styleComboBox->currentText();
|
|
||||||
|
|
||||||
Properties::Instance()->emulation = emulationComboBox->currentText();
|
|
||||||
|
|
||||||
/* do not allow to go above 99 or we lose transparency option */
|
|
||||||
(appTransparencyBox->value() >= 100) ?
|
|
||||||
Properties::Instance()->appTransparency = 99
|
|
||||||
:
|
|
||||||
Properties::Instance()->appTransparency = appTransparencyBox->value();
|
|
||||||
|
|
||||||
Properties::Instance()->termTransparency = termTransparencyBox->value();
|
|
||||||
Properties::Instance()->highlightCurrentTerminal = highlightCurrentCheckBox->isChecked();
|
|
||||||
|
|
||||||
Properties::Instance()->askOnExit = askOnExitCheckBox->isChecked();
|
|
||||||
|
|
||||||
Properties::Instance()->savePosOnExit = savePosOnExitCheckBox->isChecked();
|
|
||||||
Properties::Instance()->saveSizeOnExit = saveSizeOnExitCheckBox->isChecked();
|
|
||||||
|
|
||||||
Properties::Instance()->useCWD = useCwdCheckBox->isChecked();
|
|
||||||
|
|
||||||
Properties::Instance()->scrollBarPos = scrollBarPos_comboBox->currentIndex();
|
|
||||||
Properties::Instance()->tabsPos = tabsPos_comboBox->currentIndex();
|
|
||||||
Properties::Instance()->hideTabBarWithOneTab = hideTabBarCheckBox->isChecked();
|
|
||||||
Properties::Instance()->menuVisible = showMenuCheckBox->isChecked();
|
|
||||||
Properties::Instance()->m_motionAfterPaste = motionAfterPasting_comboBox->currentIndex();
|
|
||||||
|
|
||||||
Properties::Instance()->historyLimited = historyLimited->isChecked();
|
|
||||||
Properties::Instance()->historyLimitedTo = historyLimitedTo->value();
|
|
||||||
|
|
||||||
saveShortcuts();
|
|
||||||
|
|
||||||
Properties::Instance()->saveSettings();
|
|
||||||
|
|
||||||
Properties::Instance()->dropShowOnStart = dropShowOnStartCheckBox->isChecked();
|
|
||||||
Properties::Instance()->dropHeight = dropHeightSpinBox->value();
|
|
||||||
Properties::Instance()->dropWidht = dropWidthSpinBox->value();
|
|
||||||
Properties::Instance()->dropShortCut = QKeySequence(dropShortCutEdit->text());
|
|
||||||
|
|
||||||
Properties::Instance()->useBookmarks = useBookmarksCheckBox->isChecked();
|
|
||||||
Properties::Instance()->bookmarksFile = bookmarksLineEdit->text();
|
|
||||||
saveBookmarksFile(Properties::Instance()->bookmarksFile);
|
|
||||||
|
|
||||||
Properties::Instance()->terminalsPreset = terminalPresetComboBox->currentIndex();
|
|
||||||
|
|
||||||
emit propertiesChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
void PropertiesDialog::setFontSample(const QFont & f)
|
|
||||||
{
|
|
||||||
fontSampleLabel->setFont(f);
|
|
||||||
QString sample("%1 %2 pt");
|
|
||||||
fontSampleLabel->setText(sample.arg(f.family()).arg(f.pointSize()));
|
|
||||||
}
|
|
||||||
|
|
||||||
void PropertiesDialog::changeFontButton_clicked()
|
|
||||||
{
|
|
||||||
FontDialog dia(fontSampleLabel->font());
|
|
||||||
if (!dia.exec())
|
|
||||||
return;
|
|
||||||
QFont f = dia.getFont();
|
|
||||||
if (QFontInfo(f).fixedPitch())
|
|
||||||
setFontSample(f);
|
|
||||||
}
|
|
||||||
|
|
||||||
void PropertiesDialog::saveShortcuts()
|
|
||||||
{
|
|
||||||
QList< QString > shortcutKeys = Properties::Instance()->actions.keys();
|
|
||||||
int shortcutCount = shortcutKeys.count();
|
|
||||||
|
|
||||||
shortcutsWidget->setRowCount( shortcutCount );
|
|
||||||
|
|
||||||
for( int x=0; x < shortcutCount; x++ )
|
|
||||||
{
|
|
||||||
QString keyValue = shortcutKeys.at(x);
|
|
||||||
QAction *keyAction = Properties::Instance()->actions[keyValue];
|
|
||||||
|
|
||||||
QTableWidgetItem *item = shortcutsWidget->item(x, 1);
|
|
||||||
QKeySequence sequence = QKeySequence(item->text());
|
|
||||||
QString sequenceString = sequence.toString();
|
|
||||||
|
|
||||||
keyAction->setShortcut(sequenceString);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void PropertiesDialog::setupShortcuts()
|
|
||||||
{
|
|
||||||
QList< QString > shortcutKeys = Properties::Instance()->actions.keys();
|
|
||||||
int shortcutCount = shortcutKeys.count();
|
|
||||||
|
|
||||||
shortcutsWidget->setRowCount( shortcutCount );
|
|
||||||
|
|
||||||
for( int x=0; x < shortcutCount; x++ )
|
|
||||||
{
|
|
||||||
QString keyValue = shortcutKeys.at(x);
|
|
||||||
QAction *keyAction = Properties::Instance()->actions[keyValue];
|
|
||||||
|
|
||||||
QTableWidgetItem *itemName = new QTableWidgetItem( tr(keyValue.toStdString().c_str()) );
|
|
||||||
QTableWidgetItem *itemShortcut = new QTableWidgetItem( keyAction->shortcut().toString() );
|
|
||||||
|
|
||||||
itemName->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled );
|
|
||||||
|
|
||||||
shortcutsWidget->setItem(x, 0, itemName);
|
|
||||||
shortcutsWidget->setItem(x, 1, itemShortcut);
|
|
||||||
}
|
|
||||||
|
|
||||||
shortcutsWidget->resizeColumnsToContents();
|
|
||||||
/*
|
|
||||||
connect(shortcutsWidget, SIGNAL(currentChanged(int, int)),
|
|
||||||
this, SLOT(recordAction(int, int)));
|
|
||||||
connect(shortcutsWidget, SIGNAL(valueChanged(int, int)),
|
|
||||||
this, SLOT(validateAction(int, int)));
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
void PropertiesDialog::recordAction(int row, int column)
|
|
||||||
{
|
|
||||||
oldAccelText = shortcutsWidget->item(row, column)->text();
|
|
||||||
}
|
|
||||||
|
|
||||||
void PropertiesDialog::validateAction(int row, int column)
|
|
||||||
{
|
|
||||||
QTableWidgetItem *item = shortcutsWidget->item(row, column);
|
|
||||||
QString accelText = QKeySequence(item->text()).toString();
|
|
||||||
|
|
||||||
if (accelText.isEmpty() && !item->text().isEmpty())
|
|
||||||
item->setText(oldAccelText);
|
|
||||||
else
|
|
||||||
item->setText(accelText);
|
|
||||||
}
|
|
||||||
|
|
||||||
void PropertiesDialog::bookmarksButton_clicked()
|
|
||||||
{
|
|
||||||
QFileDialog dia(this, tr("Open or create bookmarks file"));
|
|
||||||
dia.setConfirmOverwrite(false);
|
|
||||||
dia.setFileMode(QFileDialog::AnyFile);
|
|
||||||
if (!dia.exec())
|
|
||||||
return;
|
|
||||||
|
|
||||||
QString fname = dia.selectedFiles().count() ? dia.selectedFiles().at(0) : QString();
|
|
||||||
if (fname.isNull())
|
|
||||||
return;
|
|
||||||
|
|
||||||
bookmarksLineEdit->setText(fname);
|
|
||||||
openBookmarksFile(bookmarksLineEdit->text());
|
|
||||||
}
|
|
||||||
|
|
||||||
void PropertiesDialog::openBookmarksFile(const QString &fname)
|
|
||||||
{
|
|
||||||
QFile f(fname);
|
|
||||||
QString content;
|
|
||||||
if (!f.open(QFile::ReadOnly))
|
|
||||||
content = "<qterminal>\n <group name\"group1\">\n <command name=\"cmd1\" value=\"cd $HOME\"/>\n </group>\n</qterminal>";
|
|
||||||
else
|
|
||||||
content = f.readAll();
|
|
||||||
|
|
||||||
bookmarkPlainEdit->setPlainText(content);
|
|
||||||
bookmarkPlainEdit->document()->setModified(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
void PropertiesDialog::saveBookmarksFile(const QString &fname)
|
|
||||||
{
|
|
||||||
if (!bookmarkPlainEdit->document()->isModified())
|
|
||||||
return;
|
|
||||||
|
|
||||||
QFile f(fname);
|
|
||||||
if (!f.open(QFile::WriteOnly|QFile::Truncate))
|
|
||||||
qDebug() << "Cannot write to file" << f.fileName();
|
|
||||||
else
|
|
||||||
f.write(bookmarkPlainEdit->toPlainText().toUtf8());
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
void PropertiesDialog::setupShortcuts()
|
|
||||||
{
|
|
||||||
QList< QString > shortcutKeys = Properties::Instance()->shortcuts.keys();
|
|
||||||
int shortcutCount = shortcutKeys.count();
|
|
||||||
|
|
||||||
shortcutsWidget->setRowCount( shortcutCount );
|
|
||||||
|
|
||||||
for( int x=0; x < shortcutCount; x++ )
|
|
||||||
{
|
|
||||||
QString keyValue = shortcutKeys.at(x);
|
|
||||||
|
|
||||||
QLabel *lblShortcut = new QLabel( keyValue, this );
|
|
||||||
QPushButton *btnLaunch = new QPushButton( Properties::Instance()->shortcuts.value( keyValue ), this );
|
|
||||||
|
|
||||||
btnLaunch->setObjectName(keyValue);
|
|
||||||
connect( btnLaunch, SIGNAL(clicked()), this, SLOT(shortcutPrompt()) );
|
|
||||||
|
|
||||||
shortcutsWidget->setCellWidget( x, 0, lblShortcut );
|
|
||||||
shortcutsWidget->setCellWidget( x, 1, btnLaunch );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void PropertiesDialog::shortcutPrompt()
|
|
||||||
{
|
|
||||||
QObject *objectSender = sender();
|
|
||||||
|
|
||||||
if( !objectSender )
|
|
||||||
return;
|
|
||||||
|
|
||||||
QString name = objectSender->objectName();
|
|
||||||
qDebug() << "shortcutPrompt(" << name << ")";
|
|
||||||
|
|
||||||
DialogShortcut *dlgShortcut = new DialogShortcut(this);
|
|
||||||
dlgShortcut->setTitle( tr("Select a key sequence for %1").arg(name) );
|
|
||||||
|
|
||||||
QString sequenceString = Properties::Instance()->shortcuts[name];
|
|
||||||
dlgShortcut->setKey(sequenceString);
|
|
||||||
|
|
||||||
int result = dlgShortcut->exec();
|
|
||||||
if( result == QDialog::Accepted )
|
|
||||||
{
|
|
||||||
sequenceString = dlgShortcut->getKey();
|
|
||||||
Properties::Instance()->shortcuts[name] = sequenceString;
|
|
||||||
Properties::Instance()->saveSettings();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
* Copyright (C) 2010 by Petr Vanek *
|
|
||||||
* petr@scribus.info *
|
|
||||||
* *
|
|
||||||
* 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, see <http://www.gnu.org/licenses/>. *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#ifndef PROPERTIESDIALOG_H
|
|
||||||
#define PROPERTIESDIALOG_H
|
|
||||||
|
|
||||||
#include "ui_propertiesdialog.h"
|
|
||||||
|
|
||||||
class PropertiesDialog : public QDialog, Ui::PropertiesDialog
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
QString oldAccelText; // Placeholder when editing shortcut
|
|
||||||
|
|
||||||
public:
|
|
||||||
PropertiesDialog(QWidget *parent=NULL);
|
|
||||||
~PropertiesDialog();
|
|
||||||
|
|
||||||
signals:
|
|
||||||
void propertiesChanged();
|
|
||||||
|
|
||||||
private:
|
|
||||||
void setFontSample(const QFont & f);
|
|
||||||
void openBookmarksFile(const QString &fname);
|
|
||||||
void saveBookmarksFile(const QString &fname);
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void apply();
|
|
||||||
void accept();
|
|
||||||
|
|
||||||
void changeFontButton_clicked();
|
|
||||||
void bookmarksButton_clicked();
|
|
||||||
|
|
||||||
protected:
|
|
||||||
void setupShortcuts();
|
|
||||||
void saveShortcuts();
|
|
||||||
void recordAction(int row, int column);
|
|
||||||
void validateAction(int row, int column);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@ -1,422 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
* Copyright (C) 2006 by Vladimir Kuznetsov *
|
|
||||||
* vovanec@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, see <http://www.gnu.org/licenses/>. *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#include <QTabBar>
|
|
||||||
#include <QInputDialog>
|
|
||||||
#include <QMouseEvent>
|
|
||||||
#include <QMenu>
|
|
||||||
|
|
||||||
#include "termwidgetholder.h"
|
|
||||||
#include "tabwidget.h"
|
|
||||||
#include "config.h"
|
|
||||||
#include "properties.h"
|
|
||||||
|
|
||||||
|
|
||||||
#define TAB_INDEX_PROPERTY "tab_index"
|
|
||||||
|
|
||||||
|
|
||||||
TabWidget::TabWidget(QWidget* parent) : QTabWidget(parent), tabNumerator(0)
|
|
||||||
{
|
|
||||||
setFocusPolicy(Qt::NoFocus);
|
|
||||||
|
|
||||||
/* On Mac OS X this will look similar to
|
|
||||||
* the tabs in Safari or Leopard's Terminal.app .
|
|
||||||
* I love this!
|
|
||||||
*/
|
|
||||||
setDocumentMode(true);
|
|
||||||
|
|
||||||
tabBar()->setUsesScrollButtons(true);
|
|
||||||
|
|
||||||
setTabsClosable(true);
|
|
||||||
setMovable(true);
|
|
||||||
setUsesScrollButtons(true);
|
|
||||||
|
|
||||||
tabBar()->installEventFilter(this);
|
|
||||||
|
|
||||||
connect(this, SIGNAL(tabCloseRequested(int)), this, SLOT(removeTab(int)));
|
|
||||||
connect(tabBar(), SIGNAL(tabMoved(int,int)), this, SLOT(updateTabIndices()));
|
|
||||||
connect(this, SIGNAL(tabRenameRequested(int)), this, SLOT(renameSession(int)));
|
|
||||||
}
|
|
||||||
|
|
||||||
TermWidgetHolder * TabWidget::terminalHolder()
|
|
||||||
{
|
|
||||||
return reinterpret_cast<TermWidgetHolder*>(widget(currentIndex()));
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::setWorkDirectory(const QString& dir)
|
|
||||||
{
|
|
||||||
this->work_dir = dir;
|
|
||||||
}
|
|
||||||
|
|
||||||
int TabWidget::addNewTab(const QString & shell_program)
|
|
||||||
{
|
|
||||||
tabNumerator++;
|
|
||||||
QString label = QString(tr("Shell No. %1")).arg(tabNumerator);
|
|
||||||
|
|
||||||
TermWidgetHolder *ch = terminalHolder();
|
|
||||||
QString cwd(work_dir);
|
|
||||||
if (Properties::Instance()->useCWD && ch)
|
|
||||||
{
|
|
||||||
cwd = ch->currentTerminal()->impl()->workingDirectory();
|
|
||||||
if (cwd.isEmpty())
|
|
||||||
cwd = work_dir;
|
|
||||||
}
|
|
||||||
|
|
||||||
TermWidgetHolder *console = new TermWidgetHolder(cwd, shell_program, this);
|
|
||||||
connect(console, SIGNAL(finished()), SLOT(removeFinished()));
|
|
||||||
connect(console, SIGNAL(lastTerminalClosed()), this, SLOT(removeFinished()));
|
|
||||||
|
|
||||||
int index = addTab(console, label);
|
|
||||||
updateTabIndices();
|
|
||||||
setCurrentIndex(index);
|
|
||||||
console->setInitialFocus();
|
|
||||||
|
|
||||||
showHideTabBar();
|
|
||||||
|
|
||||||
return index;
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::switchNextSubterminal()
|
|
||||||
{
|
|
||||||
terminalHolder()->switchNextSubterminal();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::switchPrevSubterminal()
|
|
||||||
{
|
|
||||||
terminalHolder()->switchPrevSubterminal();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::splitHorizontally()
|
|
||||||
{
|
|
||||||
terminalHolder()->splitHorizontal(terminalHolder()->currentTerminal());
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::splitVertically()
|
|
||||||
{
|
|
||||||
terminalHolder()->splitVertical(terminalHolder()->currentTerminal());
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::splitCollapse()
|
|
||||||
{
|
|
||||||
terminalHolder()->splitCollapse(terminalHolder()->currentTerminal());
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::copySelection()
|
|
||||||
{
|
|
||||||
terminalHolder()->currentTerminal()->impl()->copyClipboard();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::pasteClipboard()
|
|
||||||
{
|
|
||||||
terminalHolder()->currentTerminal()->impl()->pasteClipboard();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::pasteSelection()
|
|
||||||
{
|
|
||||||
terminalHolder()->currentTerminal()->impl()->pasteSelection();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::zoomIn()
|
|
||||||
{
|
|
||||||
terminalHolder()->currentTerminal()->impl()->zoomIn();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::zoomOut()
|
|
||||||
{
|
|
||||||
terminalHolder()->currentTerminal()->impl()->zoomOut();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::zoomReset()
|
|
||||||
{
|
|
||||||
terminalHolder()->currentTerminal()->impl()->zoomReset();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::updateTabIndices()
|
|
||||||
{
|
|
||||||
for(int i = 0; i < count(); i++)
|
|
||||||
widget(i)->setProperty(TAB_INDEX_PROPERTY, i);
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::renameSession(int index)
|
|
||||||
{
|
|
||||||
bool ok = false;
|
|
||||||
QString text = QInputDialog::getText(this, tr("Tab name"),
|
|
||||||
tr("New tab name:"), QLineEdit::Normal,
|
|
||||||
QString(), &ok);
|
|
||||||
if(ok && !text.isEmpty())
|
|
||||||
{
|
|
||||||
setTabText(index, text);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::renameTabsAfterRemove()
|
|
||||||
{
|
|
||||||
// it breaks custom names - it replaces original/custom title with shell no #
|
|
||||||
#if 0
|
|
||||||
for(int i = 0; i < count(); i++) {
|
|
||||||
setTabText(i, QString(tr("Shell No. %1")).arg(i+1));
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::contextMenuEvent ( QContextMenuEvent * event )
|
|
||||||
{
|
|
||||||
QMenu menu(this);
|
|
||||||
|
|
||||||
QAction *close = menu.addAction(QIcon::fromTheme("document-close"), tr("Close session"));
|
|
||||||
QAction *rename = menu.addAction(tr("Rename session"));
|
|
||||||
rename->setShortcut(tr(RENAME_SESSION_SHORTCUT));
|
|
||||||
|
|
||||||
int tabIndex = tabBar()->tabAt(event->pos());
|
|
||||||
QAction *action = menu.exec(event->globalPos());
|
|
||||||
if (action == close) {
|
|
||||||
emit tabCloseRequested(tabIndex);
|
|
||||||
} else if (action == rename) {
|
|
||||||
emit tabRenameRequested(tabIndex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TabWidget::eventFilter(QObject *obj, QEvent *event)
|
|
||||||
{
|
|
||||||
if (event->type() == QEvent::MouseButtonDblClick)
|
|
||||||
{
|
|
||||||
QMouseEvent *e = reinterpret_cast<QMouseEvent*>(event);
|
|
||||||
// if user doubleclicks on tab button - rename it. If user
|
|
||||||
// clicks on free space - open new tab
|
|
||||||
int index = tabBar()->tabAt(e->pos());
|
|
||||||
if (index == -1)
|
|
||||||
addNewTab();
|
|
||||||
else
|
|
||||||
renameSession(index);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return QTabWidget::eventFilter(obj, event);
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::removeFinished()
|
|
||||||
{
|
|
||||||
QObject* term = sender();
|
|
||||||
QVariant prop = term->property(TAB_INDEX_PROPERTY);
|
|
||||||
if(prop.isValid() && prop.canConvert(QVariant::Int))
|
|
||||||
{
|
|
||||||
int index = prop.toInt();
|
|
||||||
removeTab(index);
|
|
||||||
// if (count() == 0)
|
|
||||||
// emit closeTabNotification();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::removeTab(int index)
|
|
||||||
{
|
|
||||||
setUpdatesEnabled(false);
|
|
||||||
|
|
||||||
QWidget * w = widget(index);
|
|
||||||
QTabWidget::removeTab(index);
|
|
||||||
w->deleteLater();
|
|
||||||
|
|
||||||
updateTabIndices();
|
|
||||||
int current = currentIndex();
|
|
||||||
if (current >= 0 )
|
|
||||||
{
|
|
||||||
qobject_cast<TermWidgetHolder*>(widget(current))->setInitialFocus();
|
|
||||||
}
|
|
||||||
// do not decrease it as renaming is disabled in renameTabsAfterRemove
|
|
||||||
// tabNumerator--;
|
|
||||||
setUpdatesEnabled(true);
|
|
||||||
|
|
||||||
if (count() == 0)
|
|
||||||
emit closeTabNotification();
|
|
||||||
|
|
||||||
renameTabsAfterRemove();
|
|
||||||
showHideTabBar();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::removeCurrentTab()
|
|
||||||
{
|
|
||||||
// question disabled due user requests. Yes I agree it was anoying.
|
|
||||||
// if (QMessageBox::question(this,
|
|
||||||
// tr("Close current session"),
|
|
||||||
// tr("Are you sure you want to close current sesstion?"),
|
|
||||||
// QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes)
|
|
||||||
// {
|
|
||||||
if (count() > 1) {
|
|
||||||
removeTab(currentIndex());
|
|
||||||
} else {
|
|
||||||
emit closeTabNotification();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int TabWidget::switchToRight()
|
|
||||||
{
|
|
||||||
int next_pos = currentIndex() + 1;
|
|
||||||
if (next_pos < count())
|
|
||||||
setCurrentIndex(next_pos);
|
|
||||||
else
|
|
||||||
setCurrentIndex(0);
|
|
||||||
return currentIndex();
|
|
||||||
}
|
|
||||||
|
|
||||||
int TabWidget::switchToLeft()
|
|
||||||
{
|
|
||||||
int previous_pos = currentIndex() - 1;
|
|
||||||
if (previous_pos < 0)
|
|
||||||
setCurrentIndex(count() - 1);
|
|
||||||
else
|
|
||||||
setCurrentIndex(previous_pos);
|
|
||||||
return currentIndex();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void TabWidget::move(Direction dir)
|
|
||||||
{
|
|
||||||
if(count() > 1)
|
|
||||||
{
|
|
||||||
int index = currentIndex();
|
|
||||||
QWidget* child = widget(index);
|
|
||||||
QString label = tabText(index);
|
|
||||||
QString toolTip = tabToolTip(index);
|
|
||||||
QIcon icon = tabIcon(index);
|
|
||||||
|
|
||||||
int newIndex = 0;
|
|
||||||
if(dir == Left)
|
|
||||||
if(index == 0)
|
|
||||||
newIndex = count() -1;
|
|
||||||
else
|
|
||||||
newIndex = index - 1;
|
|
||||||
else
|
|
||||||
if(index == count() - 1)
|
|
||||||
newIndex = 0;
|
|
||||||
else
|
|
||||||
newIndex = index + 1;
|
|
||||||
|
|
||||||
setUpdatesEnabled(false);
|
|
||||||
QTabWidget::removeTab(index);
|
|
||||||
newIndex = insertTab(newIndex, child, label);
|
|
||||||
setTabToolTip(newIndex, toolTip);
|
|
||||||
setTabIcon(newIndex, icon);
|
|
||||||
setUpdatesEnabled(true);
|
|
||||||
setCurrentIndex(newIndex);
|
|
||||||
child->setFocus();
|
|
||||||
updateTabIndices();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::moveLeft()
|
|
||||||
{
|
|
||||||
move(Left);
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::moveRight()
|
|
||||||
{
|
|
||||||
move(Right);
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::changeScrollPosition(QAction *triggered)
|
|
||||||
{
|
|
||||||
QActionGroup *scrollPosition = static_cast<QActionGroup *>(sender());
|
|
||||||
if(!scrollPosition)
|
|
||||||
qFatal("scrollPosition is NULL");
|
|
||||||
|
|
||||||
|
|
||||||
Properties::Instance()->scrollBarPos =
|
|
||||||
scrollPosition->actions().indexOf(triggered);
|
|
||||||
|
|
||||||
Properties::Instance()->saveSettings();
|
|
||||||
propertiesChanged();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::changeTabPosition(QAction *triggered)
|
|
||||||
{
|
|
||||||
QActionGroup *tabPosition = static_cast<QActionGroup *>(sender());
|
|
||||||
if(!tabPosition)
|
|
||||||
qFatal("tabPosition is NULL");
|
|
||||||
|
|
||||||
Properties *prop = Properties::Instance();
|
|
||||||
/* order is dictated from mainwindow.cpp */
|
|
||||||
QTabWidget::TabPosition position = (QTabWidget::TabPosition)tabPosition->actions().indexOf(triggered);
|
|
||||||
setTabPosition(position);
|
|
||||||
prop->tabsPos = position;
|
|
||||||
prop->saveSettings();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::propertiesChanged()
|
|
||||||
{
|
|
||||||
for (int i = 0; i < count(); ++i)
|
|
||||||
{
|
|
||||||
TermWidgetHolder *console = static_cast<TermWidgetHolder*>(widget(i));
|
|
||||||
console->propertiesChanged();
|
|
||||||
}
|
|
||||||
showHideTabBar();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::clearActiveTerminal()
|
|
||||||
{
|
|
||||||
reinterpret_cast<TermWidgetHolder*>(widget(currentIndex()))->clearActiveTerminal();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::saveSession()
|
|
||||||
{
|
|
||||||
int ix = currentIndex();
|
|
||||||
reinterpret_cast<TermWidgetHolder*>(widget(ix))->saveSession(tabText(ix));
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::loadSession()
|
|
||||||
{
|
|
||||||
reinterpret_cast<TermWidgetHolder*>(widget(currentIndex()))->loadSession();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::preset2Horizontal()
|
|
||||||
{
|
|
||||||
int ix = TabWidget::addNewTab();
|
|
||||||
TermWidgetHolder* term = reinterpret_cast<TermWidgetHolder*>(widget(ix));
|
|
||||||
term->splitHorizontal(term->currentTerminal());
|
|
||||||
// switch to the 1st terminal
|
|
||||||
term->switchNextSubterminal();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::preset2Vertical()
|
|
||||||
{
|
|
||||||
int ix = TabWidget::addNewTab();
|
|
||||||
TermWidgetHolder* term = reinterpret_cast<TermWidgetHolder*>(widget(ix));
|
|
||||||
term->splitVertical(term->currentTerminal());
|
|
||||||
// switch to the 1st terminal
|
|
||||||
term->switchNextSubterminal();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::preset4Terminals()
|
|
||||||
{
|
|
||||||
int ix = TabWidget::addNewTab();
|
|
||||||
TermWidgetHolder* term = reinterpret_cast<TermWidgetHolder*>(widget(ix));
|
|
||||||
term->splitVertical(term->currentTerminal());
|
|
||||||
term->splitHorizontal(term->currentTerminal());
|
|
||||||
term->switchNextSubterminal();
|
|
||||||
term->switchNextSubterminal();
|
|
||||||
term->splitHorizontal(term->currentTerminal());
|
|
||||||
// switch to the 1st terminal
|
|
||||||
term->switchNextSubterminal();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabWidget::showHideTabBar()
|
|
||||||
{
|
|
||||||
if (Properties::Instance()->tabBarless)
|
|
||||||
tabBar()->setVisible(false);
|
|
||||||
else
|
|
||||||
tabBar()->setVisible(!Properties::Instance()->hideTabBarWithOneTab || count() > 1);
|
|
||||||
}
|
|
||||||
104
src/tabwidget.h
@ -1,104 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
* Copyright (C) 2006 by Vladimir Kuznetsov *
|
|
||||||
* vovanec@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, see <http://www.gnu.org/licenses/>. *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#ifndef TAB_WIDGET
|
|
||||||
#define TAB_WIDGET
|
|
||||||
|
|
||||||
#include <QTabWidget>
|
|
||||||
#include <QMap>
|
|
||||||
|
|
||||||
#include "properties.h"
|
|
||||||
|
|
||||||
class TermWidgetHolder;
|
|
||||||
class QAction;
|
|
||||||
class QActionGroup;
|
|
||||||
|
|
||||||
|
|
||||||
class TabWidget : public QTabWidget
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
public:
|
|
||||||
TabWidget(QWidget* parent = 0);
|
|
||||||
|
|
||||||
TermWidgetHolder * terminalHolder();
|
|
||||||
|
|
||||||
void showHideTabBar();
|
|
||||||
|
|
||||||
public slots:
|
|
||||||
int addNewTab(const QString& shell_program = QString());
|
|
||||||
void removeTab(int);
|
|
||||||
void removeCurrentTab();
|
|
||||||
int switchToRight();
|
|
||||||
int switchToLeft();
|
|
||||||
void removeFinished();
|
|
||||||
void moveLeft();
|
|
||||||
void moveRight();
|
|
||||||
void renameSession(int);
|
|
||||||
void setWorkDirectory(const QString&);
|
|
||||||
|
|
||||||
void switchNextSubterminal();
|
|
||||||
void switchPrevSubterminal();
|
|
||||||
void splitHorizontally();
|
|
||||||
void splitVertically();
|
|
||||||
void splitCollapse();
|
|
||||||
|
|
||||||
void copySelection();
|
|
||||||
void pasteClipboard();
|
|
||||||
void pasteSelection();
|
|
||||||
void zoomIn();
|
|
||||||
void zoomOut();
|
|
||||||
void zoomReset();
|
|
||||||
|
|
||||||
void changeTabPosition(QAction *);
|
|
||||||
void changeScrollPosition(QAction *);
|
|
||||||
void propertiesChanged();
|
|
||||||
|
|
||||||
void clearActiveTerminal();
|
|
||||||
|
|
||||||
void saveSession();
|
|
||||||
void loadSession();
|
|
||||||
|
|
||||||
void preset2Horizontal();
|
|
||||||
void preset2Vertical();
|
|
||||||
void preset4Terminals();
|
|
||||||
|
|
||||||
signals:
|
|
||||||
void closeTabNotification();
|
|
||||||
void tabRenameRequested(int);
|
|
||||||
|
|
||||||
protected:
|
|
||||||
enum Direction{Left = 1, Right};
|
|
||||||
void contextMenuEvent(QContextMenuEvent * event);
|
|
||||||
void move(Direction);
|
|
||||||
/*! Event filter for TabWidget's QTabBar. It's installed on tabBar()
|
|
||||||
in the constructor.
|
|
||||||
It's purpose is to handle doubleclicks on QTabBar for session
|
|
||||||
renaming or new tab opening
|
|
||||||
*/
|
|
||||||
bool eventFilter(QObject *obj, QEvent *event);
|
|
||||||
protected slots:
|
|
||||||
void updateTabIndices();
|
|
||||||
|
|
||||||
private:
|
|
||||||
int tabNumerator;
|
|
||||||
QString work_dir;
|
|
||||||
/* re-order naming of the tabs then removeCurrentTab() */
|
|
||||||
void renameTabsAfterRemove();
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@ -1,213 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
* Copyright (C) 2010 by Petr Vanek *
|
|
||||||
* petr@scribus.info *
|
|
||||||
* *
|
|
||||||
* 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, see <http://www.gnu.org/licenses/>. *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#include <QMenu>
|
|
||||||
#include <QVBoxLayout>
|
|
||||||
#include <QPainter>
|
|
||||||
#include <QDesktopServices>
|
|
||||||
|
|
||||||
#include "termwidget.h"
|
|
||||||
#include "config.h"
|
|
||||||
#include "properties.h"
|
|
||||||
|
|
||||||
static int TermWidgetCount = 0;
|
|
||||||
|
|
||||||
|
|
||||||
TermWidgetImpl::TermWidgetImpl(const QString & wdir, const QString & shell, QWidget * parent)
|
|
||||||
: QTermWidget(0, parent)
|
|
||||||
{
|
|
||||||
TermWidgetCount++;
|
|
||||||
QString name("TermWidget_%1");
|
|
||||||
setObjectName(name.arg(TermWidgetCount));
|
|
||||||
|
|
||||||
setFlowControlEnabled(FLOW_CONTROL_ENABLED);
|
|
||||||
setFlowControlWarningEnabled(FLOW_CONTROL_WARNING_ENABLED);
|
|
||||||
|
|
||||||
propertiesChanged();
|
|
||||||
|
|
||||||
setHistorySize(5000);
|
|
||||||
|
|
||||||
if (!wdir.isNull())
|
|
||||||
setWorkingDirectory(wdir);
|
|
||||||
|
|
||||||
if (shell.isNull())
|
|
||||||
{
|
|
||||||
if (!Properties::Instance()->shell.isNull())
|
|
||||||
setShellProgram(Properties::Instance()->shell);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
qDebug() << "Settings custom shell program:" << shell;
|
|
||||||
QStringList parts = shell.split(QRegExp("\\s+"), QString::SkipEmptyParts);
|
|
||||||
qDebug() << parts;
|
|
||||||
setShellProgram(parts.at(0));
|
|
||||||
parts.removeAt(0);
|
|
||||||
if (parts.count())
|
|
||||||
setArgs(parts);
|
|
||||||
}
|
|
||||||
|
|
||||||
setMotionAfterPasting(Properties::Instance()->m_motionAfterPaste);
|
|
||||||
|
|
||||||
setContextMenuPolicy(Qt::CustomContextMenu);
|
|
||||||
connect(this, SIGNAL(customContextMenuRequested(const QPoint &)),
|
|
||||||
this, SLOT(customContextMenuCall(const QPoint &)));
|
|
||||||
|
|
||||||
connect(this, SIGNAL(urlActivated(QUrl)), this, SLOT(activateUrl(const QUrl&)));
|
|
||||||
|
|
||||||
startShellProgram();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetImpl::propertiesChanged()
|
|
||||||
{
|
|
||||||
setColorScheme(Properties::Instance()->colorScheme);
|
|
||||||
setTerminalFont(Properties::Instance()->font);
|
|
||||||
setMotionAfterPasting(Properties::Instance()->m_motionAfterPaste);
|
|
||||||
|
|
||||||
if (Properties::Instance()->historyLimited)
|
|
||||||
{
|
|
||||||
setHistorySize(Properties::Instance()->historyLimitedTo);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Unlimited history
|
|
||||||
setHistorySize(-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
qDebug() << "TermWidgetImpl::propertiesChanged" << this << "emulation:" << Properties::Instance()->emulation;
|
|
||||||
setKeyBindings(Properties::Instance()->emulation);
|
|
||||||
setTerminalOpacity(1.0 - Properties::Instance()->termTransparency/100.0);
|
|
||||||
|
|
||||||
/* be consequent with qtermwidget.h here */
|
|
||||||
switch(Properties::Instance()->scrollBarPos) {
|
|
||||||
case 0:
|
|
||||||
setScrollBarPosition(QTermWidget::NoScrollBar);
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
setScrollBarPosition(QTermWidget::ScrollBarLeft);
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
default:
|
|
||||||
setScrollBarPosition(QTermWidget::ScrollBarRight);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
update();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetImpl::customContextMenuCall(const QPoint & pos)
|
|
||||||
{
|
|
||||||
QMenu menu;
|
|
||||||
menu.addAction(Properties::Instance()->actions[COPY_SELECTION]);
|
|
||||||
menu.addAction(Properties::Instance()->actions[PASTE_CLIPBOARD]);
|
|
||||||
menu.addAction(Properties::Instance()->actions[PASTE_SELECTION]);
|
|
||||||
menu.addAction(Properties::Instance()->actions[ZOOM_IN]);
|
|
||||||
menu.addAction(Properties::Instance()->actions[ZOOM_OUT]);
|
|
||||||
menu.addAction(Properties::Instance()->actions[ZOOM_RESET]);
|
|
||||||
menu.addSeparator();
|
|
||||||
menu.addAction(Properties::Instance()->actions[CLEAR_TERMINAL]);
|
|
||||||
menu.addAction(Properties::Instance()->actions[SPLIT_HORIZONTAL]);
|
|
||||||
menu.addAction(Properties::Instance()->actions[SPLIT_VERTICAL]);
|
|
||||||
#warning TODO/FIXME: disable the action when there is only one terminal
|
|
||||||
menu.addAction(Properties::Instance()->actions[SUB_COLLAPSE]);
|
|
||||||
menu.addSeparator();
|
|
||||||
menu.addAction(Properties::Instance()->actions[TOGGLE_MENU]);
|
|
||||||
menu.addAction(Properties::Instance()->actions[PREFERENCES]);
|
|
||||||
menu.exec(mapToGlobal(pos));
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetImpl::zoomIn()
|
|
||||||
{
|
|
||||||
emit QTermWidget::zoomIn();
|
|
||||||
// note: do not save zoom here due the #74 Zoom reset option resets font back to Monospace
|
|
||||||
// Properties::Instance()->font = getTerminalFont();
|
|
||||||
// Properties::Instance()->saveSettings();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetImpl::zoomOut()
|
|
||||||
{
|
|
||||||
emit QTermWidget::zoomOut();
|
|
||||||
// note: do not save zoom here due the #74 Zoom reset option resets font back to Monospace
|
|
||||||
// Properties::Instance()->font = getTerminalFont();
|
|
||||||
// Properties::Instance()->saveSettings();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetImpl::zoomReset()
|
|
||||||
{
|
|
||||||
// note: do not save zoom here due the #74 Zoom reset option resets font back to Monospace
|
|
||||||
// Properties::Instance()->font = Properties::Instance()->font;
|
|
||||||
setTerminalFont(Properties::Instance()->font);
|
|
||||||
// Properties::Instance()->saveSettings();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetImpl::activateUrl(const QUrl & url) {
|
|
||||||
if (QApplication::keyboardModifiers() & Qt::ControlModifier) {
|
|
||||||
QDesktopServices::openUrl(url);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TermWidget::TermWidget(const QString & wdir, const QString & shell, QWidget * parent)
|
|
||||||
: QWidget(parent)
|
|
||||||
{
|
|
||||||
m_border = palette().color(QPalette::Window);
|
|
||||||
m_term = new TermWidgetImpl(wdir, shell, this);
|
|
||||||
setFocusProxy(m_term);
|
|
||||||
|
|
||||||
m_layout = new QVBoxLayout;
|
|
||||||
setLayout(m_layout);
|
|
||||||
|
|
||||||
m_layout->addWidget(m_term);
|
|
||||||
|
|
||||||
propertiesChanged();
|
|
||||||
|
|
||||||
connect(m_term, SIGNAL(finished()), this, SIGNAL(finished()));
|
|
||||||
connect(m_term, SIGNAL(termGetFocus()), this, SLOT(term_termGetFocus()));
|
|
||||||
connect(m_term, SIGNAL(termLostFocus()), this, SLOT(term_termLostFocus()));
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidget::propertiesChanged()
|
|
||||||
{
|
|
||||||
if (Properties::Instance()->highlightCurrentTerminal)
|
|
||||||
m_layout->setContentsMargins(2, 2, 2, 2);
|
|
||||||
else
|
|
||||||
m_layout->setContentsMargins(0, 0, 0, 0);
|
|
||||||
|
|
||||||
m_term->propertiesChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidget::term_termGetFocus()
|
|
||||||
{
|
|
||||||
m_border = palette().color(QPalette::Highlight);
|
|
||||||
emit termGetFocus(this);
|
|
||||||
update();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidget::term_termLostFocus()
|
|
||||||
{
|
|
||||||
m_border = palette().color(QPalette::Window);
|
|
||||||
update();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidget::paintEvent (QPaintEvent *)
|
|
||||||
{
|
|
||||||
QPainter p(this);
|
|
||||||
QPen pen(m_border);
|
|
||||||
pen.setWidth(30);
|
|
||||||
pen.setBrush(m_border);
|
|
||||||
p.setPen(pen);
|
|
||||||
p.drawRect(0, 0, width()-1, height()-1);
|
|
||||||
}
|
|
||||||
@ -1,89 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
* Copyright (C) 2010 by Petr Vanek *
|
|
||||||
* petr@scribus.info *
|
|
||||||
* *
|
|
||||||
* 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, see <http://www.gnu.org/licenses/>. *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#ifndef TERMWIDGET_H
|
|
||||||
#define TERMWIDGET_H
|
|
||||||
|
|
||||||
#include <qtermwidget.h>
|
|
||||||
|
|
||||||
#include <QAction>
|
|
||||||
|
|
||||||
|
|
||||||
class TermWidgetImpl : public QTermWidget
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
// QMap< QString, QAction * > actionMap;
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
TermWidgetImpl(const QString & wdir, const QString & shell=QString(), QWidget * parent=0);
|
|
||||||
void propertiesChanged();
|
|
||||||
|
|
||||||
signals:
|
|
||||||
void renameSession();
|
|
||||||
void removeCurrentSession();
|
|
||||||
|
|
||||||
public slots:
|
|
||||||
void zoomIn();
|
|
||||||
void zoomOut();
|
|
||||||
void zoomReset();
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void customContextMenuCall(const QPoint & pos);
|
|
||||||
void activateUrl(const QUrl& url);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
class TermWidget : public QWidget
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
TermWidgetImpl * m_term;
|
|
||||||
QVBoxLayout * m_layout;
|
|
||||||
QColor m_border;
|
|
||||||
|
|
||||||
public:
|
|
||||||
TermWidget(const QString & wdir, const QString & shell=QString(), QWidget * parent=0);
|
|
||||||
|
|
||||||
void propertiesChanged();
|
|
||||||
QStringList availableKeyBindings() { return m_term->availableKeyBindings(); }
|
|
||||||
|
|
||||||
TermWidgetImpl * impl() { return m_term; }
|
|
||||||
|
|
||||||
signals:
|
|
||||||
void finished();
|
|
||||||
void renameSession();
|
|
||||||
void removeCurrentSession();
|
|
||||||
void splitHorizontal(TermWidget * self);
|
|
||||||
void splitVertical(TermWidget * self);
|
|
||||||
void splitCollapse(TermWidget * self);
|
|
||||||
void termGetFocus(TermWidget * self);
|
|
||||||
|
|
||||||
public slots:
|
|
||||||
|
|
||||||
protected:
|
|
||||||
void paintEvent (QPaintEvent * event);
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void term_termGetFocus();
|
|
||||||
void term_termLostFocus();
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@ -1,301 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
* Copyright (C) 2010 by Petr Vanek *
|
|
||||||
* petr@scribus.info *
|
|
||||||
* *
|
|
||||||
* 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, see <http://www.gnu.org/licenses/>. *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#include <QGridLayout>
|
|
||||||
#include <QSplitter>
|
|
||||||
#include <QInputDialog>
|
|
||||||
|
|
||||||
#include "termwidgetholder.h"
|
|
||||||
#include "termwidget.h"
|
|
||||||
#include "properties.h"
|
|
||||||
#include <assert.h>
|
|
||||||
|
|
||||||
|
|
||||||
TermWidgetHolder::TermWidgetHolder(const QString & wdir, const QString & shell, QWidget * parent)
|
|
||||||
: QWidget(parent),
|
|
||||||
m_wdir(wdir),
|
|
||||||
m_shell(shell),
|
|
||||||
m_currentTerm(0)
|
|
||||||
{
|
|
||||||
setFocusPolicy(Qt::NoFocus);
|
|
||||||
QGridLayout * lay = new QGridLayout(this);
|
|
||||||
lay->setSpacing(0);
|
|
||||||
lay->setContentsMargins(0, 0, 0, 0);
|
|
||||||
|
|
||||||
QSplitter *s = new QSplitter(this);
|
|
||||||
s->setFocusPolicy(Qt::NoFocus);
|
|
||||||
TermWidget *w = newTerm();
|
|
||||||
s->addWidget(w);
|
|
||||||
lay->addWidget(s);
|
|
||||||
|
|
||||||
setLayout(lay);
|
|
||||||
}
|
|
||||||
|
|
||||||
TermWidgetHolder::~TermWidgetHolder()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetHolder::setInitialFocus()
|
|
||||||
{
|
|
||||||
QList<TermWidget*> list = findChildren<TermWidget*>();
|
|
||||||
TermWidget * w = list.count() == 0 ? 0 : list.at(0);
|
|
||||||
if (w)
|
|
||||||
w->setFocus(Qt::OtherFocusReason);
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetHolder::loadSession()
|
|
||||||
{
|
|
||||||
bool ok;
|
|
||||||
QString name = QInputDialog::getItem(this, tr("Load Session"),
|
|
||||||
tr("List of saved sessions:"),
|
|
||||||
Properties::Instance()->sessions.keys(),
|
|
||||||
0, false, &ok);
|
|
||||||
if (!ok || name.isEmpty())
|
|
||||||
return;
|
|
||||||
#if 0
|
|
||||||
foreach (QWidget * w, findChildren<QWidget*>())
|
|
||||||
{
|
|
||||||
if (w)
|
|
||||||
{
|
|
||||||
delete w;
|
|
||||||
w = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
qDebug() << "load" << name << QString(Properties::Instance()->sessions[name]);
|
|
||||||
QStringList splitters = QString(Properties::Instance()->sessions[name]).split("|", QString::SkipEmptyParts);
|
|
||||||
foreach (QString splitter, splitters)
|
|
||||||
{
|
|
||||||
QStringList components = splitter.split(",");
|
|
||||||
qDebug() << "comp" << components;
|
|
||||||
// orientation
|
|
||||||
Qt::Orientation orientation;
|
|
||||||
if (components.size() > 0)
|
|
||||||
orientation = components.takeAt(0).toInt();
|
|
||||||
// sizes
|
|
||||||
QList<int> sizes;
|
|
||||||
QList<TermWidget*> widgets;
|
|
||||||
foreach (QString s, components)
|
|
||||||
{
|
|
||||||
sizes << s.toInt();
|
|
||||||
widgets << newTerm();
|
|
||||||
}
|
|
||||||
// new terms
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetHolder::saveSession(const QString & name)
|
|
||||||
{
|
|
||||||
Session dump;
|
|
||||||
QString num("%1");
|
|
||||||
foreach(QSplitter *w, findChildren<QSplitter*>())
|
|
||||||
{
|
|
||||||
dump += '|' + num.arg(w->orientation());
|
|
||||||
foreach (int i, w->sizes())
|
|
||||||
dump += ',' + num.arg(i);
|
|
||||||
}
|
|
||||||
Properties::Instance()->sessions[name] = dump;
|
|
||||||
qDebug() << "dump" << dump;
|
|
||||||
}
|
|
||||||
|
|
||||||
TermWidget* TermWidgetHolder::currentTerminal()
|
|
||||||
{
|
|
||||||
return m_currentTerm;
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetHolder::setWDir(const QString & wdir)
|
|
||||||
{
|
|
||||||
m_wdir = wdir;
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetHolder::switchNextSubterminal()
|
|
||||||
{
|
|
||||||
// TODO/FIXME: merge switchPrevSubterminal with switchNextSubterminal
|
|
||||||
QList<TermWidget*> l = findChildren<TermWidget*>();
|
|
||||||
int ix = -1;
|
|
||||||
foreach (TermWidget * w, l)
|
|
||||||
{
|
|
||||||
++ix;
|
|
||||||
if (w->impl()->hasFocus())
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ix < l.count()-1)
|
|
||||||
{
|
|
||||||
l.at(ix+1)->impl()->setFocus(Qt::OtherFocusReason);
|
|
||||||
}
|
|
||||||
else if (ix == l.count()-1)
|
|
||||||
{
|
|
||||||
l.at(0)->impl()->setFocus(Qt::OtherFocusReason);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetHolder::switchPrevSubterminal()
|
|
||||||
{
|
|
||||||
// TODO/FIXME: merge switchPrevSubterminal with switchNextSubterminal
|
|
||||||
QList<TermWidget*> l = findChildren<TermWidget*>();
|
|
||||||
int ix = -1;
|
|
||||||
foreach (TermWidget * w, l)
|
|
||||||
{
|
|
||||||
++ix;
|
|
||||||
if (w->impl()->hasFocus())
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ix > 0)
|
|
||||||
{
|
|
||||||
l.at(ix-1)->impl()->setFocus(Qt::OtherFocusReason);
|
|
||||||
}
|
|
||||||
else if (ix == 0)
|
|
||||||
{
|
|
||||||
l.at(l.count()-1)->impl()->setFocus(Qt::OtherFocusReason);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetHolder::clearActiveTerminal()
|
|
||||||
{
|
|
||||||
currentTerminal()->impl()->clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetHolder::propertiesChanged()
|
|
||||||
{
|
|
||||||
foreach(TermWidget *w, findChildren<TermWidget*>())
|
|
||||||
w->propertiesChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetHolder::splitHorizontal(TermWidget * term)
|
|
||||||
{
|
|
||||||
split(term, Qt::Vertical);
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetHolder::splitVertical(TermWidget * term)
|
|
||||||
{
|
|
||||||
split(term, Qt::Horizontal);
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetHolder::splitCollapse(TermWidget * term)
|
|
||||||
{
|
|
||||||
QSplitter * parent = qobject_cast<QSplitter*>(term->parent());
|
|
||||||
assert(parent);
|
|
||||||
term->setParent(0);
|
|
||||||
delete term;
|
|
||||||
|
|
||||||
int cnt = parent->findChildren<TermWidget*>().count();
|
|
||||||
if (cnt == 0)
|
|
||||||
{
|
|
||||||
parent->setParent(0);
|
|
||||||
delete parent;
|
|
||||||
}
|
|
||||||
|
|
||||||
QList<TermWidget*> tlist = findChildren<TermWidget *>();
|
|
||||||
int localCnt = tlist.count();
|
|
||||||
|
|
||||||
if (localCnt > 0)
|
|
||||||
{
|
|
||||||
tlist.at(0)->setFocus(Qt::OtherFocusReason);
|
|
||||||
update();
|
|
||||||
if (parent)
|
|
||||||
parent->update();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
emit finished();
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetHolder::split(TermWidget *term, Qt::Orientation orientation)
|
|
||||||
{
|
|
||||||
QSplitter *parent = qobject_cast<QSplitter *>(term->parent());
|
|
||||||
assert(parent);
|
|
||||||
|
|
||||||
int ix = parent->indexOf(term);
|
|
||||||
QList<int> parentSizes = parent->sizes();
|
|
||||||
|
|
||||||
QList<int> sizes;
|
|
||||||
sizes << 1 << 1;
|
|
||||||
|
|
||||||
QSplitter *s = new QSplitter(orientation, this);
|
|
||||||
s->setFocusPolicy(Qt::NoFocus);
|
|
||||||
s->insertWidget(0, term);
|
|
||||||
|
|
||||||
// wdir settings
|
|
||||||
QString wd(m_wdir);
|
|
||||||
if (Properties::Instance()->useCWD)
|
|
||||||
{
|
|
||||||
wd = term->impl()->workingDirectory();
|
|
||||||
if (wd.isEmpty())
|
|
||||||
wd = m_wdir;
|
|
||||||
}
|
|
||||||
|
|
||||||
TermWidget * w = newTerm(wd);
|
|
||||||
s->insertWidget(1, w);
|
|
||||||
s->setSizes(sizes);
|
|
||||||
|
|
||||||
parent->insertWidget(ix, s);
|
|
||||||
parent->setSizes(parentSizes);
|
|
||||||
|
|
||||||
w->setFocus(Qt::OtherFocusReason);
|
|
||||||
}
|
|
||||||
|
|
||||||
TermWidget *TermWidgetHolder::newTerm(const QString & wdir, const QString & shell)
|
|
||||||
{
|
|
||||||
QString wd(wdir);
|
|
||||||
if (wd.isEmpty())
|
|
||||||
wd = m_wdir;
|
|
||||||
|
|
||||||
QString sh(shell);
|
|
||||||
if (shell.isEmpty())
|
|
||||||
sh = m_shell;
|
|
||||||
|
|
||||||
TermWidget *w = new TermWidget(wd, sh, this);
|
|
||||||
// proxy signals
|
|
||||||
connect(w, SIGNAL(renameSession()), this, SIGNAL(renameSession()));
|
|
||||||
connect(w, SIGNAL(removeCurrentSession()), this, SIGNAL(lastTerminalClosed()));
|
|
||||||
connect(w, SIGNAL(finished()), this, SLOT(handle_finished()));
|
|
||||||
// consume signals
|
|
||||||
|
|
||||||
connect(w, SIGNAL(splitHorizontal(TermWidget *)),
|
|
||||||
this, SLOT(splitHorizontal(TermWidget *)));
|
|
||||||
connect(w, SIGNAL(splitVertical(TermWidget *)),
|
|
||||||
this, SLOT(splitVertical(TermWidget *)));
|
|
||||||
connect(w, SIGNAL(splitCollapse(TermWidget *)),
|
|
||||||
this, SLOT(splitCollapse(TermWidget *)));
|
|
||||||
connect(w, SIGNAL(termGetFocus(TermWidget *)),
|
|
||||||
this, SLOT(setCurrentTerminal(TermWidget *)));
|
|
||||||
|
|
||||||
return w;
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetHolder::setCurrentTerminal(TermWidget* term)
|
|
||||||
{
|
|
||||||
m_currentTerm = term;
|
|
||||||
}
|
|
||||||
|
|
||||||
void TermWidgetHolder::handle_finished()
|
|
||||||
{
|
|
||||||
TermWidget * w = qobject_cast<TermWidget*>(sender());
|
|
||||||
if (!w)
|
|
||||||
{
|
|
||||||
qDebug() << "TermWidgetHolder::handle_finished: Unknown object to handle" << w;
|
|
||||||
assert(0);
|
|
||||||
}
|
|
||||||
splitCollapse(w);
|
|
||||||
}
|
|
||||||
@ -1,82 +0,0 @@
|
|||||||
/***************************************************************************
|
|
||||||
* Copyright (C) 2010 by Petr Vanek *
|
|
||||||
* petr@scribus.info *
|
|
||||||
* *
|
|
||||||
* 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, see <http://www.gnu.org/licenses/>. *
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#ifndef TERMWIDGETHOLDER_H
|
|
||||||
#define TERMWIDGETHOLDER_H
|
|
||||||
|
|
||||||
#include <QWidget>
|
|
||||||
#include "termwidget.h"
|
|
||||||
class QSplitter;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*! \brief TermWidget group/session manager.
|
|
||||||
|
|
||||||
This widget (one per TabWidget tab) is a "proxy" widget beetween TabWidget and
|
|
||||||
unspecified count of TermWidgets. Basically it should look like a single TermWidget
|
|
||||||
for TabWidget - with its signals and slots.
|
|
||||||
|
|
||||||
Splitting and collapsing of TermWidgets is done here.
|
|
||||||
*/
|
|
||||||
class TermWidgetHolder : public QWidget
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
TermWidgetHolder(const QString & wdir, const QString & shell=QString(), QWidget * parent=0);
|
|
||||||
~TermWidgetHolder();
|
|
||||||
|
|
||||||
void propertiesChanged();
|
|
||||||
void setInitialFocus();
|
|
||||||
|
|
||||||
void loadSession();
|
|
||||||
void saveSession(const QString & name);
|
|
||||||
void zoomIn(uint step);
|
|
||||||
void zoomOut(uint step);
|
|
||||||
|
|
||||||
TermWidget* currentTerminal();
|
|
||||||
|
|
||||||
public slots:
|
|
||||||
void splitHorizontal(TermWidget * term);
|
|
||||||
void splitVertical(TermWidget * term);
|
|
||||||
void splitCollapse(TermWidget * term);
|
|
||||||
void setWDir(const QString & wdir);
|
|
||||||
void switchNextSubterminal();
|
|
||||||
void switchPrevSubterminal();
|
|
||||||
void clearActiveTerminal();
|
|
||||||
|
|
||||||
signals:
|
|
||||||
void finished();
|
|
||||||
void lastTerminalClosed();
|
|
||||||
void renameSession();
|
|
||||||
|
|
||||||
private:
|
|
||||||
QString m_wdir;
|
|
||||||
QString m_shell;
|
|
||||||
TermWidget * m_currentTerm;
|
|
||||||
|
|
||||||
void split(TermWidget * term, Qt::Orientation orientation);
|
|
||||||
TermWidget * newTerm(const QString & wdir=QString(), const QString & shell=QString());
|
|
||||||
|
|
||||||
private slots:
|
|
||||||
void setCurrentTerminal(TermWidget* term);
|
|
||||||
void handle_finished();
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
233
src/third-party/qxtglobal.h
vendored
@ -1,233 +0,0 @@
|
|||||||
|
|
||||||
/****************************************************************************
|
|
||||||
** Copyright (c) 2006 - 2011, the LibQxt project.
|
|
||||||
** See the Qxt AUTHORS file for a list of authors and copyright holders.
|
|
||||||
** All rights reserved.
|
|
||||||
**
|
|
||||||
** Redistribution and use in source and binary forms, with or without
|
|
||||||
** modification, are permitted provided that the following conditions are met:
|
|
||||||
** * Redistributions of source code must retain the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer.
|
|
||||||
** * Redistributions in binary form must reproduce the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer in the
|
|
||||||
** documentation and/or other materials provided with the distribution.
|
|
||||||
** * Neither the name of the LibQxt project nor the
|
|
||||||
** names of its contributors may be used to endorse or promote products
|
|
||||||
** derived from this software without specific prior written permission.
|
|
||||||
**
|
|
||||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
** DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
|
||||||
** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
**
|
|
||||||
** <http://libqxt.org> <foundation@libqxt.org>
|
|
||||||
*****************************************************************************/
|
|
||||||
|
|
||||||
#ifndef QXTGLOBAL_H
|
|
||||||
#define QXTGLOBAL_H
|
|
||||||
|
|
||||||
#include <QtGlobal>
|
|
||||||
|
|
||||||
#define QXT_VERSION 0x000700
|
|
||||||
#define QXT_VERSION_STR "0.7.0"
|
|
||||||
|
|
||||||
//--------------------------global macros------------------------------
|
|
||||||
|
|
||||||
#ifndef QXT_NO_MACROS
|
|
||||||
|
|
||||||
#ifndef _countof
|
|
||||||
#define _countof(x) (sizeof(x)/sizeof(*x))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // QXT_NO_MACROS
|
|
||||||
|
|
||||||
//--------------------------export macros------------------------------
|
|
||||||
|
|
||||||
#define QXT_DLLEXPORT DO_NOT_USE_THIS_ANYMORE
|
|
||||||
|
|
||||||
#if !defined(QXT_STATIC) && !defined(QXT_DOXYGEN_RUN)
|
|
||||||
# if defined(BUILD_QXT_CORE)
|
|
||||||
# define QXT_CORE_EXPORT Q_DECL_EXPORT
|
|
||||||
# else
|
|
||||||
# define QXT_CORE_EXPORT Q_DECL_IMPORT
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define QXT_CORE_EXPORT
|
|
||||||
#endif // BUILD_QXT_CORE
|
|
||||||
|
|
||||||
#if !defined(QXT_STATIC) && !defined(QXT_DOXYGEN_RUN)
|
|
||||||
# if defined(BUILD_QXT_GUI)
|
|
||||||
# define QXT_GUI_EXPORT Q_DECL_EXPORT
|
|
||||||
# else
|
|
||||||
# define QXT_GUI_EXPORT Q_DECL_IMPORT
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define QXT_GUI_EXPORT
|
|
||||||
#endif // BUILD_QXT_GUI
|
|
||||||
|
|
||||||
#if !defined(QXT_STATIC) && !defined(QXT_DOXYGEN_RUN)
|
|
||||||
# if defined(BUILD_QXT_NETWORK)
|
|
||||||
# define QXT_NETWORK_EXPORT Q_DECL_EXPORT
|
|
||||||
# else
|
|
||||||
# define QXT_NETWORK_EXPORT Q_DECL_IMPORT
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define QXT_NETWORK_EXPORT
|
|
||||||
#endif // BUILD_QXT_NETWORK
|
|
||||||
|
|
||||||
#if !defined(QXT_STATIC) && !defined(QXT_DOXYGEN_RUN)
|
|
||||||
# if defined(BUILD_QXT_SQL)
|
|
||||||
# define QXT_SQL_EXPORT Q_DECL_EXPORT
|
|
||||||
# else
|
|
||||||
# define QXT_SQL_EXPORT Q_DECL_IMPORT
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define QXT_SQL_EXPORT
|
|
||||||
#endif // BUILD_QXT_SQL
|
|
||||||
|
|
||||||
#if !defined(QXT_STATIC) && !defined(QXT_DOXYGEN_RUN)
|
|
||||||
# if defined(BUILD_QXT_WEB)
|
|
||||||
# define QXT_WEB_EXPORT Q_DECL_EXPORT
|
|
||||||
# else
|
|
||||||
# define QXT_WEB_EXPORT Q_DECL_IMPORT
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define QXT_WEB_EXPORT
|
|
||||||
#endif // BUILD_QXT_WEB
|
|
||||||
|
|
||||||
#if !defined(QXT_STATIC) && !defined(QXT_DOXYGEN_RUN)
|
|
||||||
# if defined(BUILD_QXT_BERKELEY)
|
|
||||||
# define QXT_BERKELEY_EXPORT Q_DECL_EXPORT
|
|
||||||
# else
|
|
||||||
# define QXT_BERKELEY_EXPORT Q_DECL_IMPORT
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define QXT_BERKELEY_EXPORT
|
|
||||||
#endif // BUILD_QXT_BERKELEY
|
|
||||||
|
|
||||||
#if !defined(QXT_STATIC) && !defined(QXT_DOXYGEN_RUN)
|
|
||||||
# if defined(BUILD_QXT_ZEROCONF)
|
|
||||||
# define QXT_ZEROCONF_EXPORT Q_DECL_EXPORT
|
|
||||||
# else
|
|
||||||
# define QXT_ZEROCONF_EXPORT Q_DECL_IMPORT
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define QXT_ZEROCONF_EXPORT
|
|
||||||
#endif // QXT_ZEROCONF_EXPORT
|
|
||||||
|
|
||||||
#if defined(BUILD_QXT_CORE) || defined(BUILD_QXT_GUI) || defined(BUILD_QXT_SQL) || defined(BUILD_QXT_NETWORK) || defined(BUILD_QXT_WEB) || defined(BUILD_QXT_BERKELEY) || defined(BUILD_QXT_ZEROCONF)
|
|
||||||
# define BUILD_QXT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
QXT_CORE_EXPORT const char* qxtVersion();
|
|
||||||
|
|
||||||
#ifndef QT_BEGIN_NAMESPACE
|
|
||||||
#define QT_BEGIN_NAMESPACE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef QT_END_NAMESPACE
|
|
||||||
#define QT_END_NAMESPACE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef QT_FORWARD_DECLARE_CLASS
|
|
||||||
#define QT_FORWARD_DECLARE_CLASS(Class) class Class;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
** This file is derived from code bearing the following notice:
|
|
||||||
** The sole author of this file, Adam Higerd, has explicitly disclaimed all
|
|
||||||
** copyright interest and protection for the content within. This file has
|
|
||||||
** been placed in the public domain according to United States copyright
|
|
||||||
** statute and case law. In jurisdictions where this public domain dedication
|
|
||||||
** is not legally recognized, anyone who receives a copy of this file is
|
|
||||||
** permitted to use, modify, duplicate, and redistribute this file, in whole
|
|
||||||
** or in part, with no restrictions or conditions. In these jurisdictions,
|
|
||||||
** this file shall be copyright (C) 2006-2008 by Adam Higerd.
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#define QXT_DECLARE_PRIVATE(PUB) friend class PUB##Private; QxtPrivateInterface<PUB, PUB##Private> qxt_d;
|
|
||||||
#define QXT_DECLARE_PUBLIC(PUB) friend class PUB;
|
|
||||||
#define QXT_INIT_PRIVATE(PUB) qxt_d.setPublic(this);
|
|
||||||
#define QXT_D(PUB) PUB##Private& d = qxt_d()
|
|
||||||
#define QXT_P(PUB) PUB& p = qxt_p()
|
|
||||||
|
|
||||||
template <typename PUB>
|
|
||||||
class QxtPrivate
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
virtual ~QxtPrivate()
|
|
||||||
{}
|
|
||||||
inline void QXT_setPublic(PUB* pub)
|
|
||||||
{
|
|
||||||
qxt_p_ptr = pub;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
|
||||||
inline PUB& qxt_p()
|
|
||||||
{
|
|
||||||
return *qxt_p_ptr;
|
|
||||||
}
|
|
||||||
inline const PUB& qxt_p() const
|
|
||||||
{
|
|
||||||
return *qxt_p_ptr;
|
|
||||||
}
|
|
||||||
inline PUB* qxt_ptr()
|
|
||||||
{
|
|
||||||
return qxt_p_ptr;
|
|
||||||
}
|
|
||||||
inline const PUB* qxt_ptr() const
|
|
||||||
{
|
|
||||||
return qxt_p_ptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
PUB* qxt_p_ptr;
|
|
||||||
};
|
|
||||||
|
|
||||||
template <typename PUB, typename PVT>
|
|
||||||
class QxtPrivateInterface
|
|
||||||
{
|
|
||||||
friend class QxtPrivate<PUB>;
|
|
||||||
public:
|
|
||||||
QxtPrivateInterface()
|
|
||||||
{
|
|
||||||
pvt = new PVT;
|
|
||||||
}
|
|
||||||
~QxtPrivateInterface()
|
|
||||||
{
|
|
||||||
delete pvt;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline void setPublic(PUB* pub)
|
|
||||||
{
|
|
||||||
pvt->QXT_setPublic(pub);
|
|
||||||
}
|
|
||||||
inline PVT& operator()()
|
|
||||||
{
|
|
||||||
return *static_cast<PVT*>(pvt);
|
|
||||||
}
|
|
||||||
inline const PVT& operator()() const
|
|
||||||
{
|
|
||||||
return *static_cast<PVT*>(pvt);
|
|
||||||
}
|
|
||||||
inline PVT * operator->()
|
|
||||||
{
|
|
||||||
return static_cast<PVT*>(pvt);
|
|
||||||
}
|
|
||||||
inline const PVT * operator->() const
|
|
||||||
{
|
|
||||||
return static_cast<PVT*>(pvt);
|
|
||||||
}
|
|
||||||
private:
|
|
||||||
QxtPrivateInterface(const QxtPrivateInterface&) { }
|
|
||||||
QxtPrivateInterface& operator=(const QxtPrivateInterface&) { }
|
|
||||||
QxtPrivate<PUB>* pvt;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // QXT_GLOBAL
|
|
||||||
212
src/third-party/qxtglobalshortcut.cpp
vendored
@ -1,212 +0,0 @@
|
|||||||
#include "qxtglobalshortcut.h"
|
|
||||||
/****************************************************************************
|
|
||||||
** Copyright (c) 2006 - 2011, the LibQxt project.
|
|
||||||
** See the Qxt AUTHORS file for a list of authors and copyright holders.
|
|
||||||
** All rights reserved.
|
|
||||||
**
|
|
||||||
** Redistribution and use in source and binary forms, with or without
|
|
||||||
** modification, are permitted provided that the following conditions are met:
|
|
||||||
** * Redistributions of source code must retain the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer.
|
|
||||||
** * Redistributions in binary form must reproduce the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer in the
|
|
||||||
** documentation and/or other materials provided with the distribution.
|
|
||||||
** * Neither the name of the LibQxt project nor the
|
|
||||||
** names of its contributors may be used to endorse or promote products
|
|
||||||
** derived from this software without specific prior written permission.
|
|
||||||
**
|
|
||||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
** DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
|
||||||
** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
**
|
|
||||||
** <http://libqxt.org> <foundation@libqxt.org>
|
|
||||||
*****************************************************************************/
|
|
||||||
|
|
||||||
#include "qxtglobalshortcut_p.h"
|
|
||||||
#include <QAbstractEventDispatcher>
|
|
||||||
#include <QtDebug>
|
|
||||||
|
|
||||||
#ifndef Q_OS_MAC
|
|
||||||
int QxtGlobalShortcutPrivate::ref = 0;
|
|
||||||
#endif
|
|
||||||
QHash<QPair<quint32, quint32>, QxtGlobalShortcut*> QxtGlobalShortcutPrivate::shortcuts;
|
|
||||||
|
|
||||||
QxtGlobalShortcutPrivate::QxtGlobalShortcutPrivate() : enabled(true), key(Qt::Key(0)), mods(Qt::NoModifier)
|
|
||||||
{
|
|
||||||
#ifndef Q_OS_MAC
|
|
||||||
if (ref == 0) {
|
|
||||||
QAbstractEventDispatcher::instance()->installNativeEventFilter(this);
|
|
||||||
}
|
|
||||||
++ref;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
QxtGlobalShortcutPrivate::~QxtGlobalShortcutPrivate()
|
|
||||||
{
|
|
||||||
#ifndef Q_OS_MAC
|
|
||||||
--ref;
|
|
||||||
if (ref == 0) {
|
|
||||||
QAbstractEventDispatcher *ed = QAbstractEventDispatcher::instance();
|
|
||||||
if (ed != 0) {
|
|
||||||
ed->removeNativeEventFilter(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
bool QxtGlobalShortcutPrivate::setShortcut(const QKeySequence& shortcut)
|
|
||||||
{
|
|
||||||
Qt::KeyboardModifiers allMods = Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier | Qt::MetaModifier;
|
|
||||||
key = shortcut.isEmpty() ? Qt::Key(0) : Qt::Key((shortcut[0] ^ allMods) & shortcut[0]);
|
|
||||||
mods = shortcut.isEmpty() ? Qt::KeyboardModifiers(0) : Qt::KeyboardModifiers(shortcut[0] & allMods);
|
|
||||||
const quint32 nativeKey = nativeKeycode(key);
|
|
||||||
const quint32 nativeMods = nativeModifiers(mods);
|
|
||||||
const bool res = registerShortcut(nativeKey, nativeMods);
|
|
||||||
if (res)
|
|
||||||
shortcuts.insert(qMakePair(nativeKey, nativeMods), &qxt_p());
|
|
||||||
else
|
|
||||||
qWarning() << "QxtGlobalShortcut failed to register:" << QKeySequence(key + mods).toString();
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool QxtGlobalShortcutPrivate::unsetShortcut()
|
|
||||||
{
|
|
||||||
bool res = false;
|
|
||||||
const quint32 nativeKey = nativeKeycode(key);
|
|
||||||
const quint32 nativeMods = nativeModifiers(mods);
|
|
||||||
if (shortcuts.value(qMakePair(nativeKey, nativeMods)) == &qxt_p())
|
|
||||||
res = unregisterShortcut(nativeKey, nativeMods);
|
|
||||||
if (res)
|
|
||||||
shortcuts.remove(qMakePair(nativeKey, nativeMods));
|
|
||||||
else
|
|
||||||
qWarning() << "QxtGlobalShortcut failed to unregister:" << QKeySequence(key + mods).toString();
|
|
||||||
key = Qt::Key(0);
|
|
||||||
mods = Qt::KeyboardModifiers(0);
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
void QxtGlobalShortcutPrivate::activateShortcut(quint32 nativeKey, quint32 nativeMods)
|
|
||||||
{
|
|
||||||
QxtGlobalShortcut* shortcut = shortcuts.value(qMakePair(nativeKey, nativeMods));
|
|
||||||
if (shortcut && shortcut->isEnabled())
|
|
||||||
emit shortcut->activated();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\class QxtGlobalShortcut
|
|
||||||
\inmodule QxtWidgets
|
|
||||||
\brief The QxtGlobalShortcut class provides a global shortcut aka "hotkey".
|
|
||||||
|
|
||||||
A global shortcut triggers even if the application is not active. This
|
|
||||||
makes it easy to implement applications that react to certain shortcuts
|
|
||||||
still if some other application is active or if the application is for
|
|
||||||
example minimized to the system tray.
|
|
||||||
|
|
||||||
Example usage:
|
|
||||||
\code
|
|
||||||
QxtGlobalShortcut* shortcut = new QxtGlobalShortcut(window);
|
|
||||||
connect(shortcut, SIGNAL(activated()), window, SLOT(toggleVisibility()));
|
|
||||||
shortcut->setShortcut(QKeySequence("Ctrl+Shift+F12"));
|
|
||||||
\endcode
|
|
||||||
|
|
||||||
\bold {Note:} Since Qxt 0.6 QxtGlobalShortcut no more requires QxtApplication.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\fn QxtGlobalShortcut::activated()
|
|
||||||
|
|
||||||
This signal is emitted when the user types the shortcut's key sequence.
|
|
||||||
|
|
||||||
\sa shortcut
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
Constructs a new QxtGlobalShortcut with \a parent.
|
|
||||||
*/
|
|
||||||
QxtGlobalShortcut::QxtGlobalShortcut(QObject* parent)
|
|
||||||
: QObject(parent)
|
|
||||||
{
|
|
||||||
QXT_INIT_PRIVATE(QxtGlobalShortcut);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
Constructs a new QxtGlobalShortcut with \a shortcut and \a parent.
|
|
||||||
*/
|
|
||||||
QxtGlobalShortcut::QxtGlobalShortcut(const QKeySequence& shortcut, QObject* parent)
|
|
||||||
: QObject(parent)
|
|
||||||
{
|
|
||||||
QXT_INIT_PRIVATE(QxtGlobalShortcut);
|
|
||||||
setShortcut(shortcut);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
Destructs the QxtGlobalShortcut.
|
|
||||||
*/
|
|
||||||
QxtGlobalShortcut::~QxtGlobalShortcut()
|
|
||||||
{
|
|
||||||
if (qxt_d().key != 0)
|
|
||||||
qxt_d().unsetShortcut();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\property QxtGlobalShortcut::shortcut
|
|
||||||
\brief the shortcut key sequence
|
|
||||||
|
|
||||||
\bold {Note:} Notice that corresponding key press and release events are not
|
|
||||||
delivered for registered global shortcuts even if they are disabled.
|
|
||||||
Also, comma separated key sequences are not supported.
|
|
||||||
Only the first part is used:
|
|
||||||
|
|
||||||
\code
|
|
||||||
qxtShortcut->setShortcut(QKeySequence("Ctrl+Alt+A,Ctrl+Alt+B"));
|
|
||||||
Q_ASSERT(qxtShortcut->shortcut() == QKeySequence("Ctrl+Alt+A"));
|
|
||||||
\endcode
|
|
||||||
*/
|
|
||||||
QKeySequence QxtGlobalShortcut::shortcut() const
|
|
||||||
{
|
|
||||||
return QKeySequence(qxt_d().key | qxt_d().mods);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool QxtGlobalShortcut::setShortcut(const QKeySequence& shortcut)
|
|
||||||
{
|
|
||||||
if (qxt_d().key != 0)
|
|
||||||
qxt_d().unsetShortcut();
|
|
||||||
return qxt_d().setShortcut(shortcut);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\property QxtGlobalShortcut::enabled
|
|
||||||
\brief whether the shortcut is enabled
|
|
||||||
|
|
||||||
A disabled shortcut does not get activated.
|
|
||||||
|
|
||||||
The default value is \c true.
|
|
||||||
|
|
||||||
\sa setDisabled()
|
|
||||||
*/
|
|
||||||
bool QxtGlobalShortcut::isEnabled() const
|
|
||||||
{
|
|
||||||
return qxt_d().enabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
void QxtGlobalShortcut::setEnabled(bool enabled)
|
|
||||||
{
|
|
||||||
qxt_d().enabled = enabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
Sets the shortcut \a disabled.
|
|
||||||
|
|
||||||
\sa enabled
|
|
||||||
*/
|
|
||||||
void QxtGlobalShortcut::setDisabled(bool disabled)
|
|
||||||
{
|
|
||||||
qxt_d().enabled = !disabled;
|
|
||||||
}
|
|
||||||
64
src/third-party/qxtglobalshortcut.h
vendored
@ -1,64 +0,0 @@
|
|||||||
#ifndef QXTGLOBALSHORTCUT_H
|
|
||||||
/****************************************************************************
|
|
||||||
** Copyright (c) 2006 - 2011, the LibQxt project.
|
|
||||||
** See the Qxt AUTHORS file for a list of authors and copyright holders.
|
|
||||||
** All rights reserved.
|
|
||||||
**
|
|
||||||
** Redistribution and use in source and binary forms, with or without
|
|
||||||
** modification, are permitted provided that the following conditions are met:
|
|
||||||
** * Redistributions of source code must retain the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer.
|
|
||||||
** * Redistributions in binary form must reproduce the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer in the
|
|
||||||
** documentation and/or other materials provided with the distribution.
|
|
||||||
** * Neither the name of the LibQxt project nor the
|
|
||||||
** names of its contributors may be used to endorse or promote products
|
|
||||||
** derived from this software without specific prior written permission.
|
|
||||||
**
|
|
||||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
** DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
|
||||||
** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
**
|
|
||||||
** <http://libqxt.org> <foundation@libqxt.org>
|
|
||||||
*****************************************************************************/
|
|
||||||
|
|
||||||
#define QXTGLOBALSHORTCUT_H
|
|
||||||
|
|
||||||
#include "qxtglobal.h"
|
|
||||||
#include <QObject>
|
|
||||||
#include <QKeySequence>
|
|
||||||
class QxtGlobalShortcutPrivate;
|
|
||||||
|
|
||||||
class QXT_GUI_EXPORT QxtGlobalShortcut : public QObject
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
QXT_DECLARE_PRIVATE(QxtGlobalShortcut)
|
|
||||||
Q_PROPERTY(bool enabled READ isEnabled WRITE setEnabled)
|
|
||||||
Q_PROPERTY(QKeySequence shortcut READ shortcut WRITE setShortcut)
|
|
||||||
|
|
||||||
public:
|
|
||||||
explicit QxtGlobalShortcut(QObject* parent = 0);
|
|
||||||
explicit QxtGlobalShortcut(const QKeySequence& shortcut, QObject* parent = 0);
|
|
||||||
virtual ~QxtGlobalShortcut();
|
|
||||||
|
|
||||||
QKeySequence shortcut() const;
|
|
||||||
bool setShortcut(const QKeySequence& shortcut);
|
|
||||||
|
|
||||||
bool isEnabled() const;
|
|
||||||
|
|
||||||
public Q_SLOTS:
|
|
||||||
void setEnabled(bool enabled = true);
|
|
||||||
void setDisabled(bool disabled = true);
|
|
||||||
|
|
||||||
Q_SIGNALS:
|
|
||||||
void activated();
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // QXTGLOBALSHORTCUT_H
|
|
||||||
258
src/third-party/qxtglobalshortcut_mac.cpp
vendored
@ -1,258 +0,0 @@
|
|||||||
#include <Carbon/Carbon.h>
|
|
||||||
/****************************************************************************
|
|
||||||
** Copyright (c) 2006 - 2011, the LibQxt project.
|
|
||||||
** See the Qxt AUTHORS file for a list of authors and copyright holders.
|
|
||||||
** All rights reserved.
|
|
||||||
**
|
|
||||||
** Redistribution and use in source and binary forms, with or without
|
|
||||||
** modification, are permitted provided that the following conditions are met:
|
|
||||||
** * Redistributions of source code must retain the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer.
|
|
||||||
** * Redistributions in binary form must reproduce the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer in the
|
|
||||||
** documentation and/or other materials provided with the distribution.
|
|
||||||
** * Neither the name of the LibQxt project nor the
|
|
||||||
** names of its contributors may be used to endorse or promote products
|
|
||||||
** derived from this software without specific prior written permission.
|
|
||||||
**
|
|
||||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
** DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
|
||||||
** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
**
|
|
||||||
** <http://libqxt.org> <foundation@libqxt.org>
|
|
||||||
*****************************************************************************/
|
|
||||||
|
|
||||||
#include "qxtglobalshortcut_p.h"
|
|
||||||
#include <QMap>
|
|
||||||
#include <QHash>
|
|
||||||
#include <QtDebug>
|
|
||||||
#include <QApplication>
|
|
||||||
|
|
||||||
typedef QPair<uint, uint> Identifier;
|
|
||||||
static QMap<quint32, EventHotKeyRef> keyRefs;
|
|
||||||
static QHash<Identifier, quint32> keyIDs;
|
|
||||||
static quint32 hotKeySerial = 0;
|
|
||||||
static bool qxt_mac_handler_installed = false;
|
|
||||||
|
|
||||||
OSStatus qxt_mac_handle_hot_key(EventHandlerCallRef nextHandler, EventRef event, void* data)
|
|
||||||
{
|
|
||||||
Q_UNUSED(nextHandler);
|
|
||||||
Q_UNUSED(data);
|
|
||||||
if (GetEventClass(event) == kEventClassKeyboard && GetEventKind(event) == kEventHotKeyPressed)
|
|
||||||
{
|
|
||||||
EventHotKeyID keyID;
|
|
||||||
GetEventParameter(event, kEventParamDirectObject, typeEventHotKeyID, NULL, sizeof(keyID), NULL, &keyID);
|
|
||||||
Identifier id = keyIDs.key(keyID.id);
|
|
||||||
QxtGlobalShortcutPrivate::activateShortcut(id.second, id.first);
|
|
||||||
}
|
|
||||||
return noErr;
|
|
||||||
}
|
|
||||||
|
|
||||||
quint32 QxtGlobalShortcutPrivate::nativeModifiers(Qt::KeyboardModifiers modifiers)
|
|
||||||
{
|
|
||||||
quint32 native = 0;
|
|
||||||
if (modifiers & Qt::ShiftModifier)
|
|
||||||
native |= shiftKey;
|
|
||||||
if (modifiers & Qt::ControlModifier)
|
|
||||||
native |= cmdKey;
|
|
||||||
if (modifiers & Qt::AltModifier)
|
|
||||||
native |= optionKey;
|
|
||||||
if (modifiers & Qt::MetaModifier)
|
|
||||||
native |= controlKey;
|
|
||||||
if (modifiers & Qt::KeypadModifier)
|
|
||||||
native |= kEventKeyModifierNumLockMask;
|
|
||||||
return native;
|
|
||||||
}
|
|
||||||
|
|
||||||
quint32 QxtGlobalShortcutPrivate::nativeKeycode(Qt::Key key)
|
|
||||||
{
|
|
||||||
UTF16Char ch;
|
|
||||||
// Constants found in NSEvent.h from AppKit.framework
|
|
||||||
switch (key)
|
|
||||||
{
|
|
||||||
case Qt::Key_Return:
|
|
||||||
return kVK_Return;
|
|
||||||
case Qt::Key_Enter:
|
|
||||||
return kVK_ANSI_KeypadEnter;
|
|
||||||
case Qt::Key_Tab:
|
|
||||||
return kVK_Tab;
|
|
||||||
case Qt::Key_Space:
|
|
||||||
return kVK_Space;
|
|
||||||
case Qt::Key_Backspace:
|
|
||||||
return kVK_Delete;
|
|
||||||
case Qt::Key_Control:
|
|
||||||
return kVK_Command;
|
|
||||||
case Qt::Key_Shift:
|
|
||||||
return kVK_Shift;
|
|
||||||
case Qt::Key_CapsLock:
|
|
||||||
return kVK_CapsLock;
|
|
||||||
case Qt::Key_Option:
|
|
||||||
return kVK_Option;
|
|
||||||
case Qt::Key_Meta:
|
|
||||||
return kVK_Control;
|
|
||||||
case Qt::Key_F17:
|
|
||||||
return kVK_F17;
|
|
||||||
case Qt::Key_VolumeUp:
|
|
||||||
return kVK_VolumeUp;
|
|
||||||
case Qt::Key_VolumeDown:
|
|
||||||
return kVK_VolumeDown;
|
|
||||||
case Qt::Key_F18:
|
|
||||||
return kVK_F18;
|
|
||||||
case Qt::Key_F19:
|
|
||||||
return kVK_F19;
|
|
||||||
case Qt::Key_F20:
|
|
||||||
return kVK_F20;
|
|
||||||
case Qt::Key_F5:
|
|
||||||
return kVK_F5;
|
|
||||||
case Qt::Key_F6:
|
|
||||||
return kVK_F6;
|
|
||||||
case Qt::Key_F7:
|
|
||||||
return kVK_F7;
|
|
||||||
case Qt::Key_F3:
|
|
||||||
return kVK_F3;
|
|
||||||
case Qt::Key_F8:
|
|
||||||
return kVK_F8;
|
|
||||||
case Qt::Key_F9:
|
|
||||||
return kVK_F9;
|
|
||||||
case Qt::Key_F11:
|
|
||||||
return kVK_F11;
|
|
||||||
case Qt::Key_F13:
|
|
||||||
return kVK_F13;
|
|
||||||
case Qt::Key_F16:
|
|
||||||
return kVK_F16;
|
|
||||||
case Qt::Key_F14:
|
|
||||||
return kVK_F14;
|
|
||||||
case Qt::Key_F10:
|
|
||||||
return kVK_F10;
|
|
||||||
case Qt::Key_F12:
|
|
||||||
return kVK_F12;
|
|
||||||
case Qt::Key_F15:
|
|
||||||
return kVK_F15;
|
|
||||||
case Qt::Key_Help:
|
|
||||||
return kVK_Help;
|
|
||||||
case Qt::Key_Home:
|
|
||||||
return kVK_Home;
|
|
||||||
case Qt::Key_PageUp:
|
|
||||||
return kVK_PageUp;
|
|
||||||
case Qt::Key_Delete:
|
|
||||||
return kVK_ForwardDelete;
|
|
||||||
case Qt::Key_F4:
|
|
||||||
return kVK_F4;
|
|
||||||
case Qt::Key_End:
|
|
||||||
return kVK_End;
|
|
||||||
case Qt::Key_F2:
|
|
||||||
return kVK_F2;
|
|
||||||
case Qt::Key_PageDown:
|
|
||||||
return kVK_PageDown;
|
|
||||||
case Qt::Key_F1:
|
|
||||||
return kVK_F1;
|
|
||||||
case Qt::Key_Left:
|
|
||||||
return kVK_LeftArrow;
|
|
||||||
case Qt::Key_Right:
|
|
||||||
return kVK_RightArrow;
|
|
||||||
case Qt::Key_Down:
|
|
||||||
return kVK_DownArrow;
|
|
||||||
case Qt::Key_Up:
|
|
||||||
return kVK_UpArrow;
|
|
||||||
default:
|
|
||||||
;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (key == Qt::Key_Escape) ch = 27;
|
|
||||||
else if (key == Qt::Key_Return) ch = 13;
|
|
||||||
else if (key == Qt::Key_Enter) ch = 3;
|
|
||||||
else if (key == Qt::Key_Tab) ch = 9;
|
|
||||||
else ch = key;
|
|
||||||
|
|
||||||
CFDataRef currentLayoutData;
|
|
||||||
TISInputSourceRef currentKeyboard = TISCopyCurrentKeyboardInputSource();
|
|
||||||
|
|
||||||
if (currentKeyboard == NULL)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
currentLayoutData = (CFDataRef)TISGetInputSourceProperty(currentKeyboard, kTISPropertyUnicodeKeyLayoutData);
|
|
||||||
CFRelease(currentKeyboard);
|
|
||||||
if (currentLayoutData == NULL)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
UCKeyboardLayout* header = (UCKeyboardLayout*)CFDataGetBytePtr(currentLayoutData);
|
|
||||||
UCKeyboardTypeHeader* table = header->keyboardTypeList;
|
|
||||||
|
|
||||||
uint8_t *data = (uint8_t*)header;
|
|
||||||
// God, would a little documentation for this shit kill you...
|
|
||||||
for (quint32 i=0; i < header->keyboardTypeCount; i++)
|
|
||||||
{
|
|
||||||
UCKeyStateRecordsIndex* stateRec = 0;
|
|
||||||
if (table[i].keyStateRecordsIndexOffset != 0)
|
|
||||||
{
|
|
||||||
stateRec = reinterpret_cast<UCKeyStateRecordsIndex*>(data + table[i].keyStateRecordsIndexOffset);
|
|
||||||
if (stateRec->keyStateRecordsIndexFormat != kUCKeyStateRecordsIndexFormat) stateRec = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
UCKeyToCharTableIndex* charTable = reinterpret_cast<UCKeyToCharTableIndex*>(data + table[i].keyToCharTableIndexOffset);
|
|
||||||
if (charTable->keyToCharTableIndexFormat != kUCKeyToCharTableIndexFormat) continue;
|
|
||||||
|
|
||||||
for (quint32 j=0; j < charTable->keyToCharTableCount; j++)
|
|
||||||
{
|
|
||||||
UCKeyOutput* keyToChar = reinterpret_cast<UCKeyOutput*>(data + charTable->keyToCharTableOffsets[j]);
|
|
||||||
for (quint32 k=0; k < charTable->keyToCharTableSize; k++)
|
|
||||||
{
|
|
||||||
if (keyToChar[k] & kUCKeyOutputTestForIndexMask)
|
|
||||||
{
|
|
||||||
long idx = keyToChar[k] & kUCKeyOutputGetIndexMask;
|
|
||||||
if (stateRec && idx < stateRec->keyStateRecordCount)
|
|
||||||
{
|
|
||||||
UCKeyStateRecord* rec = reinterpret_cast<UCKeyStateRecord*>(data + stateRec->keyStateRecordOffsets[idx]);
|
|
||||||
if (rec->stateZeroCharData == ch) return k;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (!(keyToChar[k] & kUCKeyOutputSequenceIndexMask) && keyToChar[k] < 0xFFFE)
|
|
||||||
{
|
|
||||||
if (keyToChar[k] == ch) return k;
|
|
||||||
}
|
|
||||||
} // for k
|
|
||||||
} // for j
|
|
||||||
} // for i
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool QxtGlobalShortcutPrivate::registerShortcut(quint32 nativeKey, quint32 nativeMods)
|
|
||||||
{
|
|
||||||
if (!qxt_mac_handler_installed)
|
|
||||||
{
|
|
||||||
EventTypeSpec t;
|
|
||||||
t.eventClass = kEventClassKeyboard;
|
|
||||||
t.eventKind = kEventHotKeyPressed;
|
|
||||||
InstallApplicationEventHandler(&qxt_mac_handle_hot_key, 1, &t, NULL, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
EventHotKeyID keyID;
|
|
||||||
keyID.signature = 'cute';
|
|
||||||
keyID.id = ++hotKeySerial;
|
|
||||||
|
|
||||||
EventHotKeyRef ref = 0;
|
|
||||||
bool rv = !RegisterEventHotKey(nativeKey, nativeMods, keyID, GetApplicationEventTarget(), 0, &ref);
|
|
||||||
if (rv)
|
|
||||||
{
|
|
||||||
keyIDs.insert(Identifier(nativeMods, nativeKey), keyID.id);
|
|
||||||
keyRefs.insert(keyID.id, ref);
|
|
||||||
}
|
|
||||||
return rv;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool QxtGlobalShortcutPrivate::unregisterShortcut(quint32 nativeKey, quint32 nativeMods)
|
|
||||||
{
|
|
||||||
Identifier id(nativeMods, nativeKey);
|
|
||||||
if (!keyIDs.contains(id)) return false;
|
|
||||||
|
|
||||||
EventHotKeyRef ref = keyRefs.take(keyIDs[id]);
|
|
||||||
keyIDs.remove(id);
|
|
||||||
return !UnregisterEventHotKey(ref);
|
|
||||||
}
|
|
||||||
76
src/third-party/qxtglobalshortcut_p.h
vendored
@ -1,76 +0,0 @@
|
|||||||
#ifndef QXTGLOBALSHORTCUT_P_H
|
|
||||||
/****************************************************************************
|
|
||||||
** Copyright (c) 2006 - 2011, the LibQxt project.
|
|
||||||
** See the Qxt AUTHORS file for a list of authors and copyright holders.
|
|
||||||
** All rights reserved.
|
|
||||||
**
|
|
||||||
** Redistribution and use in source and binary forms, with or without
|
|
||||||
** modification, are permitted provided that the following conditions are met:
|
|
||||||
** * Redistributions of source code must retain the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer.
|
|
||||||
** * Redistributions in binary form must reproduce the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer in the
|
|
||||||
** documentation and/or other materials provided with the distribution.
|
|
||||||
** * Neither the name of the LibQxt project nor the
|
|
||||||
** names of its contributors may be used to endorse or promote products
|
|
||||||
** derived from this software without specific prior written permission.
|
|
||||||
**
|
|
||||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
** DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
|
||||||
** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
**
|
|
||||||
** <http://libqxt.org> <foundation@libqxt.org>
|
|
||||||
*****************************************************************************/
|
|
||||||
|
|
||||||
#define QXTGLOBALSHORTCUT_P_H
|
|
||||||
|
|
||||||
#include "qxtglobalshortcut.h"
|
|
||||||
#include <QAbstractEventDispatcher>
|
|
||||||
#include <QAbstractNativeEventFilter>
|
|
||||||
#include <QKeySequence>
|
|
||||||
#include <QHash>
|
|
||||||
|
|
||||||
|
|
||||||
class QxtGlobalShortcutPrivate : public QxtPrivate<QxtGlobalShortcut>
|
|
||||||
#if !defined(Q_OS_MAC)
|
|
||||||
,public QAbstractNativeEventFilter
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
QXT_DECLARE_PUBLIC(QxtGlobalShortcut)
|
|
||||||
QxtGlobalShortcutPrivate();
|
|
||||||
~QxtGlobalShortcutPrivate();
|
|
||||||
|
|
||||||
bool enabled;
|
|
||||||
Qt::Key key;
|
|
||||||
Qt::KeyboardModifiers mods;
|
|
||||||
|
|
||||||
bool setShortcut(const QKeySequence& shortcut);
|
|
||||||
bool unsetShortcut();
|
|
||||||
|
|
||||||
static bool error;
|
|
||||||
#ifndef Q_OS_MAC
|
|
||||||
static int ref;
|
|
||||||
virtual bool nativeEventFilter(const QByteArray & eventType, void * message, long * result);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void activateShortcut(quint32 nativeKey, quint32 nativeMods);
|
|
||||||
|
|
||||||
private:
|
|
||||||
static quint32 nativeKeycode(Qt::Key keycode);
|
|
||||||
static quint32 nativeModifiers(Qt::KeyboardModifiers modifiers);
|
|
||||||
|
|
||||||
static bool registerShortcut(quint32 nativeKey, quint32 nativeMods);
|
|
||||||
static bool unregisterShortcut(quint32 nativeKey, quint32 nativeMods);
|
|
||||||
|
|
||||||
static QHash<QPair<quint32, quint32>, QxtGlobalShortcut*> shortcuts;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // QXTGLOBALSHORTCUT_P_H
|
|
||||||
243
src/third-party/qxtglobalshortcut_win.cpp
vendored
@ -1,243 +0,0 @@
|
|||||||
#include "qxtglobalshortcut_p.h"
|
|
||||||
/****************************************************************************
|
|
||||||
** Copyright (c) 2006 - 2011, the LibQxt project.
|
|
||||||
** See the Qxt AUTHORS file for a list of authors and copyright holders.
|
|
||||||
** All rights reserved.
|
|
||||||
**
|
|
||||||
** Redistribution and use in source and binary forms, with or without
|
|
||||||
** modification, are permitted provided that the following conditions are met:
|
|
||||||
** * Redistributions of source code must retain the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer.
|
|
||||||
** * Redistributions in binary form must reproduce the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer in the
|
|
||||||
** documentation and/or other materials provided with the distribution.
|
|
||||||
** * Neither the name of the LibQxt project nor the
|
|
||||||
** names of its contributors may be used to endorse or promote products
|
|
||||||
** derived from this software without specific prior written permission.
|
|
||||||
**
|
|
||||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
** DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
|
||||||
** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
**
|
|
||||||
** <http://libqxt.org> <foundation@libqxt.org>
|
|
||||||
*****************************************************************************/
|
|
||||||
|
|
||||||
#include <qt_windows.h>
|
|
||||||
|
|
||||||
|
|
||||||
bool QxtGlobalShortcutPrivate::nativeEventFilter(const QByteArray & eventType,
|
|
||||||
void * message, long * result)
|
|
||||||
{
|
|
||||||
Q_UNUSED(eventType);
|
|
||||||
Q_UNUSED(result);
|
|
||||||
MSG* msg = static_cast<MSG*>(message);
|
|
||||||
if (msg->message == WM_HOTKEY)
|
|
||||||
{
|
|
||||||
const quint32 keycode = HIWORD(msg->lParam);
|
|
||||||
const quint32 modifiers = LOWORD(msg->lParam);
|
|
||||||
activateShortcut(keycode, modifiers);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
quint32 QxtGlobalShortcutPrivate::nativeModifiers(Qt::KeyboardModifiers modifiers)
|
|
||||||
{
|
|
||||||
// MOD_ALT, MOD_CONTROL, (MOD_KEYUP), MOD_SHIFT, MOD_WIN
|
|
||||||
quint32 native = 0;
|
|
||||||
if (modifiers & Qt::ShiftModifier)
|
|
||||||
native |= MOD_SHIFT;
|
|
||||||
if (modifiers & Qt::ControlModifier)
|
|
||||||
native |= MOD_CONTROL;
|
|
||||||
if (modifiers & Qt::AltModifier)
|
|
||||||
native |= MOD_ALT;
|
|
||||||
if (modifiers & Qt::MetaModifier)
|
|
||||||
native |= MOD_WIN;
|
|
||||||
// TODO: resolve these?
|
|
||||||
//if (modifiers & Qt::KeypadModifier)
|
|
||||||
//if (modifiers & Qt::GroupSwitchModifier)
|
|
||||||
return native;
|
|
||||||
}
|
|
||||||
|
|
||||||
quint32 QxtGlobalShortcutPrivate::nativeKeycode(Qt::Key key)
|
|
||||||
{
|
|
||||||
switch (key)
|
|
||||||
{
|
|
||||||
case Qt::Key_Escape:
|
|
||||||
return VK_ESCAPE;
|
|
||||||
case Qt::Key_Tab:
|
|
||||||
case Qt::Key_Backtab:
|
|
||||||
return VK_TAB;
|
|
||||||
case Qt::Key_Backspace:
|
|
||||||
return VK_BACK;
|
|
||||||
case Qt::Key_Return:
|
|
||||||
case Qt::Key_Enter:
|
|
||||||
return VK_RETURN;
|
|
||||||
case Qt::Key_Insert:
|
|
||||||
return VK_INSERT;
|
|
||||||
case Qt::Key_Delete:
|
|
||||||
return VK_DELETE;
|
|
||||||
case Qt::Key_Pause:
|
|
||||||
return VK_PAUSE;
|
|
||||||
case Qt::Key_Print:
|
|
||||||
return VK_PRINT;
|
|
||||||
case Qt::Key_Clear:
|
|
||||||
return VK_CLEAR;
|
|
||||||
case Qt::Key_Home:
|
|
||||||
return VK_HOME;
|
|
||||||
case Qt::Key_End:
|
|
||||||
return VK_END;
|
|
||||||
case Qt::Key_Left:
|
|
||||||
return VK_LEFT;
|
|
||||||
case Qt::Key_Up:
|
|
||||||
return VK_UP;
|
|
||||||
case Qt::Key_Right:
|
|
||||||
return VK_RIGHT;
|
|
||||||
case Qt::Key_Down:
|
|
||||||
return VK_DOWN;
|
|
||||||
case Qt::Key_PageUp:
|
|
||||||
return VK_PRIOR;
|
|
||||||
case Qt::Key_PageDown:
|
|
||||||
return VK_NEXT;
|
|
||||||
case Qt::Key_F1:
|
|
||||||
return VK_F1;
|
|
||||||
case Qt::Key_F2:
|
|
||||||
return VK_F2;
|
|
||||||
case Qt::Key_F3:
|
|
||||||
return VK_F3;
|
|
||||||
case Qt::Key_F4:
|
|
||||||
return VK_F4;
|
|
||||||
case Qt::Key_F5:
|
|
||||||
return VK_F5;
|
|
||||||
case Qt::Key_F6:
|
|
||||||
return VK_F6;
|
|
||||||
case Qt::Key_F7:
|
|
||||||
return VK_F7;
|
|
||||||
case Qt::Key_F8:
|
|
||||||
return VK_F8;
|
|
||||||
case Qt::Key_F9:
|
|
||||||
return VK_F9;
|
|
||||||
case Qt::Key_F10:
|
|
||||||
return VK_F10;
|
|
||||||
case Qt::Key_F11:
|
|
||||||
return VK_F11;
|
|
||||||
case Qt::Key_F12:
|
|
||||||
return VK_F12;
|
|
||||||
case Qt::Key_F13:
|
|
||||||
return VK_F13;
|
|
||||||
case Qt::Key_F14:
|
|
||||||
return VK_F14;
|
|
||||||
case Qt::Key_F15:
|
|
||||||
return VK_F15;
|
|
||||||
case Qt::Key_F16:
|
|
||||||
return VK_F16;
|
|
||||||
case Qt::Key_F17:
|
|
||||||
return VK_F17;
|
|
||||||
case Qt::Key_F18:
|
|
||||||
return VK_F18;
|
|
||||||
case Qt::Key_F19:
|
|
||||||
return VK_F19;
|
|
||||||
case Qt::Key_F20:
|
|
||||||
return VK_F20;
|
|
||||||
case Qt::Key_F21:
|
|
||||||
return VK_F21;
|
|
||||||
case Qt::Key_F22:
|
|
||||||
return VK_F22;
|
|
||||||
case Qt::Key_F23:
|
|
||||||
return VK_F23;
|
|
||||||
case Qt::Key_F24:
|
|
||||||
return VK_F24;
|
|
||||||
case Qt::Key_Space:
|
|
||||||
return VK_SPACE;
|
|
||||||
case Qt::Key_Asterisk:
|
|
||||||
return VK_MULTIPLY;
|
|
||||||
case Qt::Key_Plus:
|
|
||||||
return VK_ADD;
|
|
||||||
case Qt::Key_Comma:
|
|
||||||
return VK_SEPARATOR;
|
|
||||||
case Qt::Key_Minus:
|
|
||||||
return VK_SUBTRACT;
|
|
||||||
case Qt::Key_Slash:
|
|
||||||
return VK_DIVIDE;
|
|
||||||
case Qt::Key_MediaNext:
|
|
||||||
return VK_MEDIA_NEXT_TRACK;
|
|
||||||
case Qt::Key_MediaPrevious:
|
|
||||||
return VK_MEDIA_PREV_TRACK;
|
|
||||||
case Qt::Key_MediaPlay:
|
|
||||||
return VK_MEDIA_PLAY_PAUSE;
|
|
||||||
case Qt::Key_MediaStop:
|
|
||||||
return VK_MEDIA_STOP;
|
|
||||||
// couldn't find those in VK_*
|
|
||||||
//case Qt::Key_MediaLast:
|
|
||||||
//case Qt::Key_MediaRecord:
|
|
||||||
case Qt::Key_VolumeDown:
|
|
||||||
return VK_VOLUME_DOWN;
|
|
||||||
case Qt::Key_VolumeUp:
|
|
||||||
return VK_VOLUME_UP;
|
|
||||||
case Qt::Key_VolumeMute:
|
|
||||||
return VK_VOLUME_MUTE;
|
|
||||||
|
|
||||||
// numbers
|
|
||||||
case Qt::Key_0:
|
|
||||||
case Qt::Key_1:
|
|
||||||
case Qt::Key_2:
|
|
||||||
case Qt::Key_3:
|
|
||||||
case Qt::Key_4:
|
|
||||||
case Qt::Key_5:
|
|
||||||
case Qt::Key_6:
|
|
||||||
case Qt::Key_7:
|
|
||||||
case Qt::Key_8:
|
|
||||||
case Qt::Key_9:
|
|
||||||
return key;
|
|
||||||
|
|
||||||
// letters
|
|
||||||
case Qt::Key_A:
|
|
||||||
case Qt::Key_B:
|
|
||||||
case Qt::Key_C:
|
|
||||||
case Qt::Key_D:
|
|
||||||
case Qt::Key_E:
|
|
||||||
case Qt::Key_F:
|
|
||||||
case Qt::Key_G:
|
|
||||||
case Qt::Key_H:
|
|
||||||
case Qt::Key_I:
|
|
||||||
case Qt::Key_J:
|
|
||||||
case Qt::Key_K:
|
|
||||||
case Qt::Key_L:
|
|
||||||
case Qt::Key_M:
|
|
||||||
case Qt::Key_N:
|
|
||||||
case Qt::Key_O:
|
|
||||||
case Qt::Key_P:
|
|
||||||
case Qt::Key_Q:
|
|
||||||
case Qt::Key_R:
|
|
||||||
case Qt::Key_S:
|
|
||||||
case Qt::Key_T:
|
|
||||||
case Qt::Key_U:
|
|
||||||
case Qt::Key_V:
|
|
||||||
case Qt::Key_W:
|
|
||||||
case Qt::Key_X:
|
|
||||||
case Qt::Key_Y:
|
|
||||||
case Qt::Key_Z:
|
|
||||||
return key;
|
|
||||||
|
|
||||||
default:
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool QxtGlobalShortcutPrivate::registerShortcut(quint32 nativeKey, quint32 nativeMods)
|
|
||||||
{
|
|
||||||
return RegisterHotKey(0, nativeMods ^ nativeKey, nativeMods, nativeKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool QxtGlobalShortcutPrivate::unregisterShortcut(quint32 nativeKey, quint32 nativeMods)
|
|
||||||
{
|
|
||||||
return UnregisterHotKey(0, nativeMods ^ nativeKey);
|
|
||||||
}
|
|
||||||
224
src/third-party/qxtglobalshortcut_x11.cpp
vendored
@ -1,224 +0,0 @@
|
|||||||
#include "qxtglobalshortcut_p.h"
|
|
||||||
/****************************************************************************
|
|
||||||
** Copyright (c) 2006 - 2011, the LibQxt project.
|
|
||||||
** See the Qxt AUTHORS file for a list of authors and copyright holders.
|
|
||||||
** All rights reserved.
|
|
||||||
**
|
|
||||||
** Redistribution and use in source and binary forms, with or without
|
|
||||||
** modification, are permitted provided that the following conditions are met:
|
|
||||||
** * Redistributions of source code must retain the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer.
|
|
||||||
** * Redistributions in binary form must reproduce the above copyright
|
|
||||||
** notice, this list of conditions and the following disclaimer in the
|
|
||||||
** documentation and/or other materials provided with the distribution.
|
|
||||||
** * Neither the name of the LibQxt project nor the
|
|
||||||
** names of its contributors may be used to endorse or promote products
|
|
||||||
** derived from this software without specific prior written permission.
|
|
||||||
**
|
|
||||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
** DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
|
||||||
** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
**
|
|
||||||
** <http://libqxt.org> <foundation@libqxt.org>
|
|
||||||
*****************************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
*
|
|
||||||
* Note: This file is a modified version for QTerminal!
|
|
||||||
*
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#include <QVector>
|
|
||||||
#include <QtX11Extras/QX11Info>
|
|
||||||
|
|
||||||
#include <xcb/xcb.h>
|
|
||||||
#include <X11/Xlib.h>
|
|
||||||
|
|
||||||
namespace {
|
|
||||||
|
|
||||||
const QVector<quint32> maskModifiers = QVector<quint32>()
|
|
||||||
<< 0 << Mod2Mask << LockMask << (Mod2Mask | LockMask);
|
|
||||||
|
|
||||||
typedef int (*X11ErrorHandler)(Display *display, XErrorEvent *event);
|
|
||||||
|
|
||||||
class QxtX11ErrorHandler {
|
|
||||||
public:
|
|
||||||
static bool error;
|
|
||||||
|
|
||||||
static int qxtX11ErrorHandler(Display *display, XErrorEvent *event)
|
|
||||||
{
|
|
||||||
Q_UNUSED(display);
|
|
||||||
switch (event->error_code)
|
|
||||||
{
|
|
||||||
case BadAccess:
|
|
||||||
case BadValue:
|
|
||||||
case BadWindow:
|
|
||||||
if (event->request_code == 33 /* X_GrabKey */ ||
|
|
||||||
event->request_code == 34 /* X_UngrabKey */)
|
|
||||||
{
|
|
||||||
error = true;
|
|
||||||
//TODO:
|
|
||||||
//char errstr[256];
|
|
||||||
//XGetErrorText(dpy, err->error_code, errstr, 256);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
QxtX11ErrorHandler()
|
|
||||||
{
|
|
||||||
error = false;
|
|
||||||
m_previousErrorHandler = XSetErrorHandler(qxtX11ErrorHandler);
|
|
||||||
}
|
|
||||||
|
|
||||||
~QxtX11ErrorHandler()
|
|
||||||
{
|
|
||||||
XSetErrorHandler(m_previousErrorHandler);
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
X11ErrorHandler m_previousErrorHandler;
|
|
||||||
};
|
|
||||||
|
|
||||||
bool QxtX11ErrorHandler::error = false;
|
|
||||||
|
|
||||||
class QxtX11Data {
|
|
||||||
public:
|
|
||||||
QxtX11Data()
|
|
||||||
{
|
|
||||||
m_display = QX11Info::display();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool isValid()
|
|
||||||
{
|
|
||||||
return m_display != 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
Display *display()
|
|
||||||
{
|
|
||||||
Q_ASSERT(isValid());
|
|
||||||
return m_display;
|
|
||||||
}
|
|
||||||
|
|
||||||
Window rootWindow()
|
|
||||||
{
|
|
||||||
return DefaultRootWindow(display());
|
|
||||||
}
|
|
||||||
|
|
||||||
bool grabKey(quint32 keycode, quint32 modifiers, Window window)
|
|
||||||
{
|
|
||||||
QxtX11ErrorHandler errorHandler;
|
|
||||||
|
|
||||||
for (int i = 0; !errorHandler.error && i < maskModifiers.size(); ++i) {
|
|
||||||
XGrabKey(display(), keycode, modifiers | maskModifiers[i], window, True,
|
|
||||||
GrabModeAsync, GrabModeAsync);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (errorHandler.error) {
|
|
||||||
ungrabKey(keycode, modifiers, window);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ungrabKey(quint32 keycode, quint32 modifiers, Window window)
|
|
||||||
{
|
|
||||||
QxtX11ErrorHandler errorHandler;
|
|
||||||
|
|
||||||
foreach (quint32 maskMods, maskModifiers) {
|
|
||||||
XUngrabKey(display(), keycode, modifiers | maskMods, window);
|
|
||||||
}
|
|
||||||
|
|
||||||
return !errorHandler.error;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
Display *m_display;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
bool QxtGlobalShortcutPrivate::nativeEventFilter(const QByteArray & eventType,
|
|
||||||
void *message, long *result)
|
|
||||||
{
|
|
||||||
Q_UNUSED(result);
|
|
||||||
|
|
||||||
xcb_key_press_event_t *kev = 0;
|
|
||||||
if (eventType == "xcb_generic_event_t") {
|
|
||||||
xcb_generic_event_t *ev = static_cast<xcb_generic_event_t *>(message);
|
|
||||||
if ((ev->response_type & 127) == XCB_KEY_PRESS)
|
|
||||||
kev = static_cast<xcb_key_press_event_t *>(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (kev != 0) {
|
|
||||||
unsigned int keycode = kev->detail;
|
|
||||||
unsigned int keystate = 0;
|
|
||||||
if(kev->state & XCB_MOD_MASK_1)
|
|
||||||
keystate |= Mod1Mask;
|
|
||||||
if(kev->state & XCB_MOD_MASK_CONTROL)
|
|
||||||
keystate |= ControlMask;
|
|
||||||
if(kev->state & XCB_MOD_MASK_4)
|
|
||||||
keystate |= Mod4Mask;
|
|
||||||
if(kev->state & XCB_MOD_MASK_SHIFT)
|
|
||||||
keystate |= ShiftMask;
|
|
||||||
activateShortcut(keycode,
|
|
||||||
// Mod1Mask == Alt, Mod4Mask == Meta
|
|
||||||
keystate & (ShiftMask | ControlMask | Mod1Mask | Mod4Mask));
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
quint32 QxtGlobalShortcutPrivate::nativeModifiers(Qt::KeyboardModifiers modifiers)
|
|
||||||
{
|
|
||||||
// ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask, Mod4Mask, and Mod5Mask
|
|
||||||
quint32 native = 0;
|
|
||||||
if (modifiers & Qt::ShiftModifier)
|
|
||||||
native |= ShiftMask;
|
|
||||||
if (modifiers & Qt::ControlModifier)
|
|
||||||
native |= ControlMask;
|
|
||||||
if (modifiers & Qt::AltModifier)
|
|
||||||
native |= Mod1Mask;
|
|
||||||
if (modifiers & Qt::MetaModifier)
|
|
||||||
native |= Mod4Mask;
|
|
||||||
|
|
||||||
// TODO: resolve these?
|
|
||||||
//if (modifiers & Qt::MetaModifier)
|
|
||||||
//if (modifiers & Qt::KeypadModifier)
|
|
||||||
//if (modifiers & Qt::GroupSwitchModifier)
|
|
||||||
return native;
|
|
||||||
}
|
|
||||||
|
|
||||||
quint32 QxtGlobalShortcutPrivate::nativeKeycode(Qt::Key key)
|
|
||||||
{
|
|
||||||
QxtX11Data x11;
|
|
||||||
if (!x11.isValid())
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
KeySym keysym = XStringToKeysym(QKeySequence(key).toString().toLatin1().data());
|
|
||||||
if (keysym == NoSymbol)
|
|
||||||
keysym = static_cast<ushort>(key);
|
|
||||||
|
|
||||||
return XKeysymToKeycode(x11.display(), keysym);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool QxtGlobalShortcutPrivate::registerShortcut(quint32 nativeKey, quint32 nativeMods)
|
|
||||||
{
|
|
||||||
QxtX11Data x11;
|
|
||||||
return x11.isValid() && x11.grabKey(nativeKey, nativeMods, x11.rootWindow());
|
|
||||||
}
|
|
||||||
|
|
||||||
bool QxtGlobalShortcutPrivate::unregisterShortcut(quint32 nativeKey, quint32 nativeMods)
|
|
||||||
{
|
|
||||||
QxtX11Data x11;
|
|
||||||
return x11.isValid() && x11.ungrabKey(nativeKey, nativeMods, x11.rootWindow());
|
|
||||||
}
|
|
||||||
@ -1,609 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE TS>
|
|
||||||
<TS version="2.1" language="cs_CZ">
|
|
||||||
<context>
|
|
||||||
<name>BookmarksWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/bookmarkswidget.ui" line="32"/>
|
|
||||||
<source>Filter:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>FontDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="14"/>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="73"/>
|
|
||||||
<source>Select Terminal Font</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="32"/>
|
|
||||||
<source>Font:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="42"/>
|
|
||||||
<source>Size:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="59"/>
|
|
||||||
<source>Preview</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>MainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="310"/>
|
|
||||||
<source>Close Tab</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="191"/>
|
|
||||||
<source>Split Terminal Horizontally</source>
|
|
||||||
<translation type="unfinished">Rozdělit Terminál Horizontálně</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="197"/>
|
|
||||||
<source>Split Terminal Vertically</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="203"/>
|
|
||||||
<source>Collapse Subterminal</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="209"/>
|
|
||||||
<source>Next Subterminal</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="215"/>
|
|
||||||
<source>Previous Subterminal</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="165"/>
|
|
||||||
<source>Next Tab</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="53"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="91"/>
|
|
||||||
<source>Rename Session</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="146"/>
|
|
||||||
<source>Press "%1" to see the terminal.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="157"/>
|
|
||||||
<source>Clear Current Tab</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="171"/>
|
|
||||||
<source>Previous Tab</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="177"/>
|
|
||||||
<source>Move Tab Left</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="183"/>
|
|
||||||
<source>Move Tab Right</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="224"/>
|
|
||||||
<source>Copy Selection</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="230"/>
|
|
||||||
<source>Paste Clipboard</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="236"/>
|
|
||||||
<source>Paste Selection</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="242"/>
|
|
||||||
<source>Zoom in</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="248"/>
|
|
||||||
<source>Zoom out</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="254"/>
|
|
||||||
<source>Zoom reset</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="262"/>
|
|
||||||
<source>Find...</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="273"/>
|
|
||||||
<source>Save Session</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="279"/>
|
|
||||||
<source>Load Session</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="286"/>
|
|
||||||
<source>Toggle Menu</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="304"/>
|
|
||||||
<source>New Tab</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="316"/>
|
|
||||||
<source>New Window</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="339"/>
|
|
||||||
<source>Hide Window Borders</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="350"/>
|
|
||||||
<source>Show Tab Bar</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="370"/>
|
|
||||||
<source>Bottom</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="371"/>
|
|
||||||
<source>Top</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="372"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="403"/>
|
|
||||||
<source>Right</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="373"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="404"/>
|
|
||||||
<source>Left</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="388"/>
|
|
||||||
<source>Tabs Layout</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="402"/>
|
|
||||||
<source>None</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="420"/>
|
|
||||||
<source>Scrollbar Layout</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="474"/>
|
|
||||||
<source>Exit QTerminal</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="476"/>
|
|
||||||
<source>Do not ask again</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="483"/>
|
|
||||||
<source>Are you sure you want to exit?</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="503"/>
|
|
||||||
<source>A lightweight multiplatform terminal emulator</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>PropertiesDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="14"/>
|
|
||||||
<source>QTerminal Properties</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="49"/>
|
|
||||||
<source>Terminal Font</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="54"/>
|
|
||||||
<source>Look and Feel</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="59"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="314"/>
|
|
||||||
<source>History</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="64"/>
|
|
||||||
<source>Emulation</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="69"/>
|
|
||||||
<source>Shortcuts</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="74"/>
|
|
||||||
<source>DropDown</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="79"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="97"/>
|
|
||||||
<source>Font</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="129"/>
|
|
||||||
<source>&Set Font...</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="152"/>
|
|
||||||
<source>Note: only fixed width font are allowed to be used in terminal</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="169"/>
|
|
||||||
<source>Action after paste clipboard</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="176"/>
|
|
||||||
<source>Color Scheme:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="209"/>
|
|
||||||
<source>GUI Style:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="252"/>
|
|
||||||
<source>Scrollbar Position:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="445"/>
|
|
||||||
<source>Show on start</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="452"/>
|
|
||||||
<source>Size</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="460"/>
|
|
||||||
<source>Height %:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="470"/>
|
|
||||||
<source>Width %:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="487"/>
|
|
||||||
<source>Shortcut:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="516"/>
|
|
||||||
<source>Edit File Content</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="538"/>
|
|
||||||
<source>Use Bookmarks</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="547"/>
|
|
||||||
<source>Bookmark FIle:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="557"/>
|
|
||||||
<source>Find...</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="566"/>
|
|
||||||
<source>You can specify your own bookmarks file location. It allows easy bookmark sharing with tools like OwnCloud or Dropbox.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="202"/>
|
|
||||||
<source>Tabs Position:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="259"/>
|
|
||||||
<source>&Application Transparency:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="216"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="236"/>
|
|
||||||
<source> %</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="229"/>
|
|
||||||
<source>Terminal Transparency:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="272"/>
|
|
||||||
<source>&Highlight Current Terminal With Border</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="279"/>
|
|
||||||
<source>Ask for Window Closing Confirmation</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="289"/>
|
|
||||||
<source>Open New Sub-Terminals in Current Working Dir</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="296"/>
|
|
||||||
<source>Show Main Menu</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="303"/>
|
|
||||||
<source>Always Show Tabs</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="320"/>
|
|
||||||
<source>Limited to: </source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="340"/>
|
|
||||||
<source>Unlimited</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="367"/>
|
|
||||||
<source>Emulation Type</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="376"/>
|
|
||||||
<source>Select emulation behaviour. It does not mean that for example "linux" has to be used only on Linux OS. Feel free to use it on Mac too etc.<p>Default is the failback type with minimal feature set.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="428"/>
|
|
||||||
<source>Shortcut</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="433"/>
|
|
||||||
<source>Key</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="42"/>
|
|
||||||
<source>No scrollbar</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="42"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Left</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="42"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Right</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Top</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Bottom</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="60"/>
|
|
||||||
<source>No move</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="60"/>
|
|
||||||
<source>Move start</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="60"/>
|
|
||||||
<source>Move end</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="65"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="117"/>
|
|
||||||
<source>System Default</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="245"/>
|
|
||||||
<source>Open or create bookmarks file</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>QObject</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="97"/>
|
|
||||||
<source>Local Bookmarks</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="190"/>
|
|
||||||
<source>Synchronized Bookmarks</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TabWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="69"/>
|
|
||||||
<location filename="../tabwidget.cpp" line="174"/>
|
|
||||||
<source>Shell No. %1</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="160"/>
|
|
||||||
<source>Tab name</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="161"/>
|
|
||||||
<source>New tab name:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="183"/>
|
|
||||||
<source>Close session</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="185"/>
|
|
||||||
<source>Rename session</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TermWidgetHolder</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="46"/>
|
|
||||||
<source>Load Session</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="47"/>
|
|
||||||
<source>List of saved sessions:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TermWidgetImpl</name>
|
|
||||||
<message>
|
|
||||||
<source>Split Terminal Horizontally</source>
|
|
||||||
<translation type="obsolete">Rozdělit Terminál Horizontálně</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>mainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="14"/>
|
|
||||||
<source>MainWindow</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="68"/>
|
|
||||||
<source>File</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="76"/>
|
|
||||||
<source>Actions</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="81"/>
|
|
||||||
<source>Help</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="88"/>
|
|
||||||
<source>View</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="93"/>
|
|
||||||
<source>Edit</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="125"/>
|
|
||||||
<source>&Quit</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="107"/>
|
|
||||||
<source>About...</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="112"/>
|
|
||||||
<source>About Qt...</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="117"/>
|
|
||||||
<source>&Preferences...</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
</TS>
|
|
||||||
@ -1,658 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE TS>
|
|
||||||
<TS version="2.1" language="de">
|
|
||||||
<context>
|
|
||||||
<name>BookmarksWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/bookmarkswidget.ui" line="32"/>
|
|
||||||
<source>Filter:</source>
|
|
||||||
<translation>Filter:</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>FontDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="14"/>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="73"/>
|
|
||||||
<source>Select Terminal Font</source>
|
|
||||||
<translation>Terminal-Schriftart wählen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="32"/>
|
|
||||||
<source>Font:</source>
|
|
||||||
<translation>Schriftart:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="42"/>
|
|
||||||
<source>Size:</source>
|
|
||||||
<translation>Größe:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="59"/>
|
|
||||||
<source>Preview</source>
|
|
||||||
<translation>Vorschau</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>MainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="53"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation>Lesezeichen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="98"/>
|
|
||||||
<source>Rename Session</source>
|
|
||||||
<translation>Sitzung umbenennen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="131"/>
|
|
||||||
<source>Press "%1" to see the terminal.</source>
|
|
||||||
<translation>"%1" tippen, um das Terminal zu sehen.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="142"/>
|
|
||||||
<source>&Clear Current Tab</source>
|
|
||||||
<translation>&Aktuellen Reiter leeren</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="151"/>
|
|
||||||
<source>&Next Tab</source>
|
|
||||||
<translation>&Nächster Reiter</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="158"/>
|
|
||||||
<source>&Previous Tab</source>
|
|
||||||
<translation>&Voriger Reiter</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="165"/>
|
|
||||||
<source>Move Tab &Left</source>
|
|
||||||
<translation>Reiter nach &links verschieben</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="172"/>
|
|
||||||
<source>Move Tab &Right</source>
|
|
||||||
<translation>Reiter nach &rechts verschieben</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="181"/>
|
|
||||||
<source>Split Terminal &Horizontally</source>
|
|
||||||
<translation>Terminal &horizontal teilen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="188"/>
|
|
||||||
<source>Split Terminal &Vertically</source>
|
|
||||||
<translation>Terminal &vertikal teilen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="195"/>
|
|
||||||
<source>&Collapse Subterminal</source>
|
|
||||||
<translation>&Unterterminal schließen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="202"/>
|
|
||||||
<source>N&ext Subterminal</source>
|
|
||||||
<translation>Nächst&es Unterterminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="209"/>
|
|
||||||
<source>P&revious Subterminal</source>
|
|
||||||
<translation>Vo&riges Unterterminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="219"/>
|
|
||||||
<source>Copy &Selection</source>
|
|
||||||
<translation>Textau&swahl kopieren</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="226"/>
|
|
||||||
<source>Paste Clip&board</source>
|
|
||||||
<translation>Zwischena&blage einfügen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="233"/>
|
|
||||||
<source>Paste S&election</source>
|
|
||||||
<translation>Textauswahl &einfügen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="240"/>
|
|
||||||
<source>Zoom &in</source>
|
|
||||||
<translation>Ver&größern</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="247"/>
|
|
||||||
<source>Zoom &out</source>
|
|
||||||
<translation>Ver&kleinern</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="254"/>
|
|
||||||
<source>Zoom rese&t</source>
|
|
||||||
<translation>Zurückse&tzen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="263"/>
|
|
||||||
<source>&Find...</source>
|
|
||||||
<translation>&Suchen...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="275"/>
|
|
||||||
<source>&Save Session</source>
|
|
||||||
<translation>&Sitzung speichern</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="281"/>
|
|
||||||
<source>&Load Session</source>
|
|
||||||
<translation>Sitzung &laden</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="288"/>
|
|
||||||
<source>&Toggle Menu</source>
|
|
||||||
<translation>&Menü ein-/ausblenden</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="307"/>
|
|
||||||
<source>&New Tab</source>
|
|
||||||
<translation>Neuer Rei&ter</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="314"/>
|
|
||||||
<source>New Tab From &Preset</source>
|
|
||||||
<translation>Neuer Reiter von Vor&lage</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="315"/>
|
|
||||||
<source>1 &Terminal</source>
|
|
||||||
<translation>1 &Terminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="317"/>
|
|
||||||
<source>2 &Horizontal Terminals</source>
|
|
||||||
<translation>2 &horizontale Terminals</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="319"/>
|
|
||||||
<source>2 &Vertical Terminals</source>
|
|
||||||
<translation>2 &vertikale Terminals</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="321"/>
|
|
||||||
<source>4 Terminal&s</source>
|
|
||||||
<translation>4 Terminal&s</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="325"/>
|
|
||||||
<source>&Close Tab</source>
|
|
||||||
<translation>&Reiter schließen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="332"/>
|
|
||||||
<source>&New Window</source>
|
|
||||||
<translation>&Neues Fenster</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="366"/>
|
|
||||||
<source>&Hide Window Borders</source>
|
|
||||||
<translation>Fensterra&hmen ausblenden</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="381"/>
|
|
||||||
<source>&Show Tab Bar</source>
|
|
||||||
<translation>Reiterlei&ste anzeigen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="393"/>
|
|
||||||
<source>Fullscreen</source>
|
|
||||||
<translation>Vollbild</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="413"/>
|
|
||||||
<source>&Bottom</source>
|
|
||||||
<translation>&Unten</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="414"/>
|
|
||||||
<source>&Top</source>
|
|
||||||
<translation>&Oben</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="415"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="446"/>
|
|
||||||
<source>&Right</source>
|
|
||||||
<translation>&Rechts</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="416"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="447"/>
|
|
||||||
<source>&Left</source>
|
|
||||||
<translation>&Links</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="431"/>
|
|
||||||
<source>&Tabs Layout</source>
|
|
||||||
<translation>&Anzeige Reiterleiste</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="445"/>
|
|
||||||
<source>&None</source>
|
|
||||||
<translation>&Keine</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="463"/>
|
|
||||||
<source>S&crollbar Layout</source>
|
|
||||||
<translation>&Anzeige Bildlaufleiste</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="530"/>
|
|
||||||
<source>Exit QTerminal</source>
|
|
||||||
<translation>QTerminal beenden</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="532"/>
|
|
||||||
<source>Do not ask again</source>
|
|
||||||
<translation>Nicht erneut nachfragen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="539"/>
|
|
||||||
<source>Are you sure you want to exit?</source>
|
|
||||||
<translation>Soll QTerminal wirklich beendet werden?</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="560"/>
|
|
||||||
<source>A lightweight multiplatform terminal emulator</source>
|
|
||||||
<translation>Ein schlanker plattformunabhängiger Terminalemulator</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>PropertiesDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="319"/>
|
|
||||||
<source>Emulation</source>
|
|
||||||
<translation>Emulation</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="62"/>
|
|
||||||
<source>Shortcuts</source>
|
|
||||||
<translation>Tastenkürzel</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="14"/>
|
|
||||||
<source>Terminal settings</source>
|
|
||||||
<translation>Terminaleinstellungen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="52"/>
|
|
||||||
<source>Appearance</source>
|
|
||||||
<translation>Erscheinungsbild</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="57"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="344"/>
|
|
||||||
<source>Behavior</source>
|
|
||||||
<translation>Verhalten</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="67"/>
|
|
||||||
<source>Dropdown</source>
|
|
||||||
<translation>Aufklappen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="90"/>
|
|
||||||
<source>Color scheme</source>
|
|
||||||
<translation>Farbschema</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="100"/>
|
|
||||||
<source>Widget style</source>
|
|
||||||
<translation>Stil der Bedienelemente</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="110"/>
|
|
||||||
<source>Scrollbar position</source>
|
|
||||||
<translation>Position der Bildlaufleiste</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="120"/>
|
|
||||||
<source>Tabs position</source>
|
|
||||||
<translation>Position der Reiter</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="130"/>
|
|
||||||
<source>Show the menu bar</source>
|
|
||||||
<translation>Menüleiste anzeigen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="144"/>
|
|
||||||
<source>Show a border around the current terminal</source>
|
|
||||||
<translation>Aktuelles Terminal einrahmen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="151"/>
|
|
||||||
<source>Application transparency</source>
|
|
||||||
<translation>Transparenz der Anwendung</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="161"/>
|
|
||||||
<source>Terminal transparency</source>
|
|
||||||
<translation>Transparenz des Terminals</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="184"/>
|
|
||||||
<source>Start with preset:</source>
|
|
||||||
<translation>Start mit Vorlage:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="208"/>
|
|
||||||
<source>None (single terminal)</source>
|
|
||||||
<translation>Keine (ein Terminal)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="213"/>
|
|
||||||
<source>2 terminals horizontally</source>
|
|
||||||
<translation>2 horizontale Terminals</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="218"/>
|
|
||||||
<source>2 terminals vertically</source>
|
|
||||||
<translation>2 vertikale Terminals</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="223"/>
|
|
||||||
<source>4 terminals</source>
|
|
||||||
<translation>4 Terminals</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="259"/>
|
|
||||||
<source>Font</source>
|
|
||||||
<translation>Schriftart</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="328"/>
|
|
||||||
<source><html><head/><body><p>Which behavior to emulate. Note that this does not have to match your operating system.</p><p>The <span style=" font-weight:600;">default</span> emulation is a fallback with a minimal featureset.</p></body></html></source>
|
|
||||||
<translation><html><head/><body><p>Verhalten des Emulators wählen. Hinweis: Emulationsarten können auch unter anderen Systemen genutzt werden (z.B. "linux" unter OS X).</p><p>Die Standardemulation ist <span style=" font-weight:600;">default</span> mit minimalem Funktionsumfang.</p></body></html></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="350"/>
|
|
||||||
<source>Action after paste</source>
|
|
||||||
<translation>Aktion nach Einfügen aus der Zwischenablage</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="383"/>
|
|
||||||
<source>Open new terminals in current working directory</source>
|
|
||||||
<translation>Neues Terminal im aktuellen Verzeichnis öffnen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="390"/>
|
|
||||||
<source>Save Size when closing</source>
|
|
||||||
<translation>Beim Beenden Größe speichern</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="397"/>
|
|
||||||
<source>Save Position when closing</source>
|
|
||||||
<translation>Beim Beenden Position speichern</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="404"/>
|
|
||||||
<source>Ask for confirmation when closing</source>
|
|
||||||
<translation>Beim Schließen eines Fensters nachfragen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="414"/>
|
|
||||||
<source>Unlimited history</source>
|
|
||||||
<translation>Uneingeschränkte Historie</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="421"/>
|
|
||||||
<source>History size (in lines)</source>
|
|
||||||
<translation>Historie (Zeilen)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="489"/>
|
|
||||||
<source>Height</source>
|
|
||||||
<translation>Höhe</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="496"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="510"/>
|
|
||||||
<source>%</source>
|
|
||||||
<translation>%</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="503"/>
|
|
||||||
<source>Width</source>
|
|
||||||
<translation>Breite</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="553"/>
|
|
||||||
<source>Edit bookmark file contents</source>
|
|
||||||
<translation>Lesezeichendatei bearbeiten</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="575"/>
|
|
||||||
<source>Enable bookmarks</source>
|
|
||||||
<translation>Lesezeichen verwenden</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="584"/>
|
|
||||||
<source>Bookmark file</source>
|
|
||||||
<translation>Lesezeichendatei</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="168"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="191"/>
|
|
||||||
<source> %</source>
|
|
||||||
<translation>%</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="454"/>
|
|
||||||
<source>Shortcut</source>
|
|
||||||
<translation>Tastenkürzel</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="459"/>
|
|
||||||
<source>Key</source>
|
|
||||||
<translation>Taste</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="72"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation>Lesezeichen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="137"/>
|
|
||||||
<source>Hide tab bar with only one tab</source>
|
|
||||||
<translation>Reiterleiste bei nur einem Reiter verbergen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="292"/>
|
|
||||||
<source>&Change...</source>
|
|
||||||
<translation>&Ändern...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="471"/>
|
|
||||||
<source>Show on start</source>
|
|
||||||
<translation>Beim Start anzeigen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="478"/>
|
|
||||||
<source>Size</source>
|
|
||||||
<translation>Größe</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="524"/>
|
|
||||||
<source>Shortcut:</source>
|
|
||||||
<translation>Tastenkürzel:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="594"/>
|
|
||||||
<source>Find...</source>
|
|
||||||
<translation>Suchen...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="603"/>
|
|
||||||
<source>You can specify your own bookmarks file location. It allows easy bookmark sharing with tools like OwnCloud or Dropbox.</source>
|
|
||||||
<translation>Sie können eine Datei für eigene Lesezeichen angeben. Das erlaubt einfachen Austausch mit Werkzeugen wie OwnCloud oder DropBox.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="61"/>
|
|
||||||
<source>No scrollbar</source>
|
|
||||||
<translation>Keine Bildlaufleiste</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="61"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="67"/>
|
|
||||||
<source>Left</source>
|
|
||||||
<translation>Links</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="61"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="67"/>
|
|
||||||
<source>Right</source>
|
|
||||||
<translation>Rechts</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="67"/>
|
|
||||||
<source>Top</source>
|
|
||||||
<translation>Oben</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="67"/>
|
|
||||||
<source>Bottom</source>
|
|
||||||
<translation>Unten</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="79"/>
|
|
||||||
<source>No move</source>
|
|
||||||
<translation>Nicht bewegen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="79"/>
|
|
||||||
<source>Move start</source>
|
|
||||||
<translation>An den Anfang bewegen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="79"/>
|
|
||||||
<source>Move end</source>
|
|
||||||
<translation>An das Ende bewegen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="84"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="139"/>
|
|
||||||
<source>System Default</source>
|
|
||||||
<translation>Systemstandard</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="272"/>
|
|
||||||
<source>Open or create bookmarks file</source>
|
|
||||||
<translation>Lesezeichendatei öffnen oder erstellen</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>QObject</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="110"/>
|
|
||||||
<source>Local Bookmarks</source>
|
|
||||||
<translation>Lokale Lesezeichen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="167"/>
|
|
||||||
<source>Synchronized Bookmarks</source>
|
|
||||||
<translation>Synchronisierte Lesezeichen</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TabWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="68"/>
|
|
||||||
<location filename="../tabwidget.cpp" line="173"/>
|
|
||||||
<source>Shell No. %1</source>
|
|
||||||
<translation>Shell Nr. %1</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="159"/>
|
|
||||||
<source>Tab name</source>
|
|
||||||
<translation>Reiterbezeichnung</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="160"/>
|
|
||||||
<source>New tab name:</source>
|
|
||||||
<translation>Neue Reiterbezeichnung:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="182"/>
|
|
||||||
<source>Close session</source>
|
|
||||||
<translation>Sitzung schließen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="184"/>
|
|
||||||
<source>Rename session</source>
|
|
||||||
<translation>Sitzung umbenennen</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TermWidgetHolder</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="64"/>
|
|
||||||
<source>Load Session</source>
|
|
||||||
<translation>Sitzung laden</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="65"/>
|
|
||||||
<source>List of saved sessions:</source>
|
|
||||||
<translation>Liste der gespeicherten Sitzungen:</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>mainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="68"/>
|
|
||||||
<source>&File</source>
|
|
||||||
<translation>&Datei</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="76"/>
|
|
||||||
<source>&Actions</source>
|
|
||||||
<translation>&Aktionen</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="81"/>
|
|
||||||
<source>&Help</source>
|
|
||||||
<translation>&Hilfe</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="88"/>
|
|
||||||
<source>&View</source>
|
|
||||||
<translation>&Ansicht</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="93"/>
|
|
||||||
<source>&Edit</source>
|
|
||||||
<translation>&Bearbeiten</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="109"/>
|
|
||||||
<source>&About...</source>
|
|
||||||
<translation>Ü&ber...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="114"/>
|
|
||||||
<source>About &Qt...</source>
|
|
||||||
<translation>Über &Qt...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="119"/>
|
|
||||||
<source>&Preferences...</source>
|
|
||||||
<translation>&Einstellungen...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="14"/>
|
|
||||||
<source>MainWindow</source>
|
|
||||||
<translation>Hauptfenster</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="129"/>
|
|
||||||
<source>&Quit</source>
|
|
||||||
<translation>&Beenden</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
</TS>
|
|
||||||
@ -1,657 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE TS>
|
|
||||||
<TS version="2.1" language="es_ES">
|
|
||||||
<context>
|
|
||||||
<name>BookmarksWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/bookmarkswidget.ui" line="32"/>
|
|
||||||
<source>Filter:</source>
|
|
||||||
<translation>Filtro:</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>FontDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="14"/>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="73"/>
|
|
||||||
<source>Select Terminal Font</source>
|
|
||||||
<translation>Selecciona fuente del terminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="32"/>
|
|
||||||
<source>Font:</source>
|
|
||||||
<translation>Fuente:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="42"/>
|
|
||||||
<source>Size:</source>
|
|
||||||
<translation>Tamaño:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="59"/>
|
|
||||||
<source>Preview</source>
|
|
||||||
<translation>Vista Previa</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>MainWindow</name>
|
|
||||||
<message>
|
|
||||||
<source>Add Tab</source>
|
|
||||||
<translation type="obsolete">Añadir Pestaña</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="310"/>
|
|
||||||
<source>Close Tab</source>
|
|
||||||
<translation>Cerrar Pestaña</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="191"/>
|
|
||||||
<source>Split Terminal Horizontally</source>
|
|
||||||
<translation>Dividir terminal horizontalmente </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="197"/>
|
|
||||||
<source>Split Terminal Vertically</source>
|
|
||||||
<translation>Dividir terminal verticalmente </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="203"/>
|
|
||||||
<source>Collapse Subterminal</source>
|
|
||||||
<translation>Colapsar subterminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="209"/>
|
|
||||||
<source>Next Subterminal</source>
|
|
||||||
<translation>Subterminal siguiente</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="215"/>
|
|
||||||
<source>Previous Subterminal</source>
|
|
||||||
<translation>Subterminal previa</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="165"/>
|
|
||||||
<source>Next Tab</source>
|
|
||||||
<translation>Pestaña siguiente</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="53"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation>Marcadores</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="91"/>
|
|
||||||
<source>Rename Session</source>
|
|
||||||
<translation>Renombrar Session</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="146"/>
|
|
||||||
<source>Press "%1" to see the terminal.</source>
|
|
||||||
<translation>Presiona "%1" para ver la terminal.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="157"/>
|
|
||||||
<source>Clear Current Tab</source>
|
|
||||||
<translation>Limpiar pestaña actual</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="171"/>
|
|
||||||
<source>Previous Tab</source>
|
|
||||||
<translation>Pestaña previa</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="177"/>
|
|
||||||
<source>Move Tab Left</source>
|
|
||||||
<translation>Mover pestaña a izquierda</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="183"/>
|
|
||||||
<source>Move Tab Right</source>
|
|
||||||
<translation>Mover pestaña a derecha</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="224"/>
|
|
||||||
<source>Copy Selection</source>
|
|
||||||
<translation>Copiar selección</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="230"/>
|
|
||||||
<source>Paste Clipboard</source>
|
|
||||||
<translation>Pegar desde portapapeles</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="236"/>
|
|
||||||
<source>Paste Selection</source>
|
|
||||||
<translation>Pegar selección</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="242"/>
|
|
||||||
<source>Zoom in</source>
|
|
||||||
<translation>Acercar</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="248"/>
|
|
||||||
<source>Zoom out</source>
|
|
||||||
<translation>Alejar</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="254"/>
|
|
||||||
<source>Zoom reset</source>
|
|
||||||
<translation>Reestablecer zoom</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="262"/>
|
|
||||||
<source>Find...</source>
|
|
||||||
<translation>Buscar...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="273"/>
|
|
||||||
<source>Save Session</source>
|
|
||||||
<translation>Guardar session</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="279"/>
|
|
||||||
<source>Load Session</source>
|
|
||||||
<translation>Cargar session</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="286"/>
|
|
||||||
<source>Toggle Menu</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="304"/>
|
|
||||||
<source>New Tab</source>
|
|
||||||
<translation>Nueva Pestaña</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="316"/>
|
|
||||||
<source>New Window</source>
|
|
||||||
<translation>Nueva Ventana</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="339"/>
|
|
||||||
<source>Hide Window Borders</source>
|
|
||||||
<translation>Ocultar bordes de ventana</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="350"/>
|
|
||||||
<source>Show Tab Bar</source>
|
|
||||||
<translation>Mostrar barra de pestañas</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="370"/>
|
|
||||||
<source>Bottom</source>
|
|
||||||
<translation>Abajo</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="371"/>
|
|
||||||
<source>Top</source>
|
|
||||||
<translation>Arriba</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="372"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="403"/>
|
|
||||||
<source>Right</source>
|
|
||||||
<translation>Derecha</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="373"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="404"/>
|
|
||||||
<source>Left</source>
|
|
||||||
<translation>Izquierda</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="388"/>
|
|
||||||
<source>Tabs Layout</source>
|
|
||||||
<translation>Layout Pestañas</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="402"/>
|
|
||||||
<source>None</source>
|
|
||||||
<translation>Ninguno</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="420"/>
|
|
||||||
<source>Scrollbar Layout</source>
|
|
||||||
<translation>Layout barra de desplazamiento</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="474"/>
|
|
||||||
<source>Exit QTerminal</source>
|
|
||||||
<translation>Salir de QTerminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="476"/>
|
|
||||||
<source>Do not ask again</source>
|
|
||||||
<translation>No volver a preguntar</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="483"/>
|
|
||||||
<source>Are you sure you want to exit?</source>
|
|
||||||
<translation>¿Estás seguro que quieres salir?</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="503"/>
|
|
||||||
<source>A lightweight multiplatform terminal emulator</source>
|
|
||||||
<translation>Un emulador de terminal liviano multiplataforma </translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>PropertiesDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="14"/>
|
|
||||||
<source>QTerminal Properties</source>
|
|
||||||
<translation>Propiedades de QTerminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="49"/>
|
|
||||||
<source>Terminal Font</source>
|
|
||||||
<translation>Fuente de terminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="54"/>
|
|
||||||
<source>Look and Feel</source>
|
|
||||||
<translation>Apariencia</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="59"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="314"/>
|
|
||||||
<source>History</source>
|
|
||||||
<translation>Historia</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="64"/>
|
|
||||||
<source>Emulation</source>
|
|
||||||
<translation>Emulación</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="69"/>
|
|
||||||
<source>Shortcuts</source>
|
|
||||||
<translation>Atajos</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="74"/>
|
|
||||||
<source>DropDown</source>
|
|
||||||
<translation>Desplegar</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="79"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation>Marcadores</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="97"/>
|
|
||||||
<source>Font</source>
|
|
||||||
<translation>Fuente</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="129"/>
|
|
||||||
<source>&Set Font...</source>
|
|
||||||
<translation>&Definir fuente...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="152"/>
|
|
||||||
<source>Note: only fixed width font are allowed to be used in terminal</source>
|
|
||||||
<translation>Nota: sólo está permitido usar fuentes de tamaño fijo en la terminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="169"/>
|
|
||||||
<source>Action after paste clipboard</source>
|
|
||||||
<translation>Acción después de pegar portapapeles</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="176"/>
|
|
||||||
<source>Color Scheme:</source>
|
|
||||||
<translation>Esquema de color:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="209"/>
|
|
||||||
<source>GUI Style:</source>
|
|
||||||
<translation>Estilo de GUI:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="252"/>
|
|
||||||
<source>Scrollbar Position:</source>
|
|
||||||
<translation>Posición de barra de dezplazamiento:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="303"/>
|
|
||||||
<source>Always Show Tabs</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="445"/>
|
|
||||||
<source>Show on start</source>
|
|
||||||
<translation>Mostrar al inicio</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="452"/>
|
|
||||||
<source>Size</source>
|
|
||||||
<translation>Tamaño</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="460"/>
|
|
||||||
<source>Height %:</source>
|
|
||||||
<translation>Altura %:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="470"/>
|
|
||||||
<source>Width %:</source>
|
|
||||||
<translation>Ancho %:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="487"/>
|
|
||||||
<source>Shortcut:</source>
|
|
||||||
<translation>Atajo:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="516"/>
|
|
||||||
<source>Edit File Content</source>
|
|
||||||
<translation>Editar contenido de archivo</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="538"/>
|
|
||||||
<source>Use Bookmarks</source>
|
|
||||||
<translation>Usar marcadores</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="547"/>
|
|
||||||
<source>Bookmark FIle:</source>
|
|
||||||
<translation>Archivo de marcadores:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="557"/>
|
|
||||||
<source>Find...</source>
|
|
||||||
<translation>Buscar...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="566"/>
|
|
||||||
<source>You can specify your own bookmarks file location. It allows easy bookmark sharing with tools like OwnCloud or Dropbox.</source>
|
|
||||||
<translation>Puedes especificar tu propia locación de archivo de marcadores. Permite facilmente compartir marcadores con herramientas como OwnCloud o Dropbox.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="202"/>
|
|
||||||
<source>Tabs Position:</source>
|
|
||||||
<translation>Posición de pestaña:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="259"/>
|
|
||||||
<source>&Application Transparency:</source>
|
|
||||||
<translation>&Transparencia de aplicación:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="216"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="236"/>
|
|
||||||
<source> %</source>
|
|
||||||
<translation> %</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="229"/>
|
|
||||||
<source>Terminal Transparency:</source>
|
|
||||||
<translation>Transparencia de la terminal:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="272"/>
|
|
||||||
<source>&Highlight Current Terminal With Border</source>
|
|
||||||
<translation>&Resaltar la terminal actual con borde</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="279"/>
|
|
||||||
<source>Ask for Window Closing Confirmation</source>
|
|
||||||
<translation>Preguntar por confirmación de cierre de ventana</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="289"/>
|
|
||||||
<source>Open New Sub-Terminals in Current Working Dir</source>
|
|
||||||
<translation>Abrir nueva subterminal en la actual dirección de trabajo</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="296"/>
|
|
||||||
<source>Show Main Menu</source>
|
|
||||||
<translation>Mostrar menu principal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="320"/>
|
|
||||||
<source>Limited to: </source>
|
|
||||||
<translation>Limitada: </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="340"/>
|
|
||||||
<source>Unlimited</source>
|
|
||||||
<translation>Ilimitada</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="367"/>
|
|
||||||
<source>Emulation Type</source>
|
|
||||||
<translation>Tipo de emulación</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="376"/>
|
|
||||||
<source>Select emulation behaviour. It does not mean that for example "linux" has to be used only on Linux OS. Feel free to use it on Mac too etc.<p>Default is the failback type with minimal feature set.</source>
|
|
||||||
<translation>Seleccionar comportamiento de emulación. No significa que, por ejemplo, «linux» puede ser usada sólo en Linux SO. Sentite libre de usar esta en Mac, etc.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="428"/>
|
|
||||||
<source>Shortcut</source>
|
|
||||||
<translation>Acción</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="433"/>
|
|
||||||
<source>Key</source>
|
|
||||||
<translation>Acceso rápido</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="42"/>
|
|
||||||
<source>No scrollbar</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="42"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Left</source>
|
|
||||||
<translation type="unfinished">Izquierda</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="42"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Right</source>
|
|
||||||
<translation type="unfinished">Derecha</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Top</source>
|
|
||||||
<translation type="unfinished">Arriba</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Bottom</source>
|
|
||||||
<translation type="unfinished">Abajo</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="60"/>
|
|
||||||
<source>No move</source>
|
|
||||||
<translation type="unfinished">No mover</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="60"/>
|
|
||||||
<source>Move start</source>
|
|
||||||
<translation type="unfinished">Mover al inicio</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="60"/>
|
|
||||||
<source>Move end</source>
|
|
||||||
<translation type="unfinished">Mover al final</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="65"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="117"/>
|
|
||||||
<source>System Default</source>
|
|
||||||
<translation>Por defecto del sistema</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="245"/>
|
|
||||||
<source>Open or create bookmarks file</source>
|
|
||||||
<translation>Abrir o crear archivo de marcadores</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Select Terminal Font</source>
|
|
||||||
<translation type="obsolete">Seleccionar fuente de la terminal</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>QObject</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="97"/>
|
|
||||||
<source>Local Bookmarks</source>
|
|
||||||
<translation>Marcadores locales</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="190"/>
|
|
||||||
<source>Synchronized Bookmarks</source>
|
|
||||||
<translation>Marcadores sincronizados</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TabWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="69"/>
|
|
||||||
<location filename="../tabwidget.cpp" line="174"/>
|
|
||||||
<source>Shell No. %1</source>
|
|
||||||
<translation>Shell N° %1</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="160"/>
|
|
||||||
<source>Tab name</source>
|
|
||||||
<translation>Nombre de pestaña</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="161"/>
|
|
||||||
<source>New tab name:</source>
|
|
||||||
<translation>Nuevo nombre de pestaña:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="183"/>
|
|
||||||
<source>Close session</source>
|
|
||||||
<translation>Cerrar session</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="185"/>
|
|
||||||
<source>Rename session</source>
|
|
||||||
<translation>Renombrar session</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TermWidgetHolder</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="46"/>
|
|
||||||
<source>Load Session</source>
|
|
||||||
<translation>Cargar session</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="47"/>
|
|
||||||
<source>List of saved sessions:</source>
|
|
||||||
<translation>Lista de sessiones guardadas:</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TermWidgetImpl</name>
|
|
||||||
<message>
|
|
||||||
<source>Copy Selection</source>
|
|
||||||
<translation type="obsolete">Copiar selección</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Paste Clipboard</source>
|
|
||||||
<translation type="obsolete">Pegar desde portapapeles</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Paste Selection</source>
|
|
||||||
<translation type="obsolete">Pegar selección</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Zoom in</source>
|
|
||||||
<translation type="obsolete">Acercar</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Zoom out</source>
|
|
||||||
<translation type="obsolete">Alejar</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Zoom reset</source>
|
|
||||||
<translation type="obsolete">Reestablecer zoom</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Split Terminal Horizontally</source>
|
|
||||||
<translation type="obsolete">Dividir terminal horizontalmente </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Split Terminal Vertically</source>
|
|
||||||
<translation type="obsolete">Dividir terminal verticalmente </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Collapse Subterminal</source>
|
|
||||||
<translation type="obsolete">Colapsar subterminal</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>mainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="14"/>
|
|
||||||
<source>MainWindow</source>
|
|
||||||
<translation>Ventana principal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="68"/>
|
|
||||||
<source>File</source>
|
|
||||||
<translation>Archivo</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="76"/>
|
|
||||||
<source>Actions</source>
|
|
||||||
<translation>Acciones</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="81"/>
|
|
||||||
<source>Help</source>
|
|
||||||
<translation>Ayuda</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="88"/>
|
|
||||||
<source>View</source>
|
|
||||||
<translation>Vista</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="93"/>
|
|
||||||
<source>Edit</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="125"/>
|
|
||||||
<source>&Quit</source>
|
|
||||||
<translation>&Salir</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>&Window</source>
|
|
||||||
<translation type="obsolete">&Ventana</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="107"/>
|
|
||||||
<source>About...</source>
|
|
||||||
<translation>Acerca de...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="112"/>
|
|
||||||
<source>About Qt...</source>
|
|
||||||
<translation>Acerca de QT...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="117"/>
|
|
||||||
<source>&Preferences...</source>
|
|
||||||
<translation>&Preferencias...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>&Quit...</source>
|
|
||||||
<translation type="obsolete">&Salir...</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
</TS>
|
|
||||||
@ -1,649 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE TS>
|
|
||||||
<TS version="2.1" language="et_EE">
|
|
||||||
<context>
|
|
||||||
<name>BookmarksWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/bookmarkswidget.ui" line="32"/>
|
|
||||||
<source>Filter:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>FontDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="14"/>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="73"/>
|
|
||||||
<source>Select Terminal Font</source>
|
|
||||||
<translation type="unfinished">Vali terminali font</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="32"/>
|
|
||||||
<source>Font:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="42"/>
|
|
||||||
<source>Size:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="59"/>
|
|
||||||
<source>Preview</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>MainWindow</name>
|
|
||||||
<message>
|
|
||||||
<source>Add Tab</source>
|
|
||||||
<translation type="obsolete">Lisa kaart</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="310"/>
|
|
||||||
<source>Close Tab</source>
|
|
||||||
<translation>Sulge kaart</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="191"/>
|
|
||||||
<source>Split Terminal Horizontally</source>
|
|
||||||
<translation>Poolita terminal horisontaalselt</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="197"/>
|
|
||||||
<source>Split Terminal Vertically</source>
|
|
||||||
<translation>Poolita terminal vertikaalselt</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="203"/>
|
|
||||||
<source>Collapse Subterminal</source>
|
|
||||||
<translation>Ahenda alamterminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="209"/>
|
|
||||||
<source>Next Subterminal</source>
|
|
||||||
<translation>Järgmine alamterminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="215"/>
|
|
||||||
<source>Previous Subterminal</source>
|
|
||||||
<translation>Eelmine alamterminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="165"/>
|
|
||||||
<source>Next Tab</source>
|
|
||||||
<translation>Järgmine kaart</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="53"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="91"/>
|
|
||||||
<source>Rename Session</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="146"/>
|
|
||||||
<source>Press "%1" to see the terminal.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="157"/>
|
|
||||||
<source>Clear Current Tab</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="171"/>
|
|
||||||
<source>Previous Tab</source>
|
|
||||||
<translation>Eelmine kaart</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="177"/>
|
|
||||||
<source>Move Tab Left</source>
|
|
||||||
<translation>Liiguta kaart vasakule</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="183"/>
|
|
||||||
<source>Move Tab Right</source>
|
|
||||||
<translation>Liiguta kaart paremale</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="224"/>
|
|
||||||
<source>Copy Selection</source>
|
|
||||||
<translation>Kopeeri valik</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="230"/>
|
|
||||||
<source>Paste Clipboard</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="236"/>
|
|
||||||
<source>Paste Selection</source>
|
|
||||||
<translation>Aseta valik</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="242"/>
|
|
||||||
<source>Zoom in</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="248"/>
|
|
||||||
<source>Zoom out</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="254"/>
|
|
||||||
<source>Zoom reset</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="262"/>
|
|
||||||
<source>Find...</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="273"/>
|
|
||||||
<source>Save Session</source>
|
|
||||||
<translation>Salvesta seanss</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="279"/>
|
|
||||||
<source>Load Session</source>
|
|
||||||
<translation>Lae seanss</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="286"/>
|
|
||||||
<source>Toggle Menu</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="304"/>
|
|
||||||
<source>New Tab</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="316"/>
|
|
||||||
<source>New Window</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="339"/>
|
|
||||||
<source>Hide Window Borders</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="350"/>
|
|
||||||
<source>Show Tab Bar</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Toggle Borderless</source>
|
|
||||||
<translation type="obsolete">Lülita ääristeta režiimile</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Toggle TabBar</source>
|
|
||||||
<translation type="obsolete">Lülita kaardiriba</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="370"/>
|
|
||||||
<source>Bottom</source>
|
|
||||||
<translation>All</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="371"/>
|
|
||||||
<source>Top</source>
|
|
||||||
<translation>Ülal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="372"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="403"/>
|
|
||||||
<source>Right</source>
|
|
||||||
<translation>Paremal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="373"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="404"/>
|
|
||||||
<source>Left</source>
|
|
||||||
<translation>Vasakul</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="388"/>
|
|
||||||
<source>Tabs Layout</source>
|
|
||||||
<translation>Kaartide paigutus</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="402"/>
|
|
||||||
<source>None</source>
|
|
||||||
<translation>Puudub</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="420"/>
|
|
||||||
<source>Scrollbar Layout</source>
|
|
||||||
<translation>Kerimisriba paigutus</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="474"/>
|
|
||||||
<source>Exit QTerminal</source>
|
|
||||||
<translation>Lõpeta Qterminali töö</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="476"/>
|
|
||||||
<source>Do not ask again</source>
|
|
||||||
<translation>Ära küsi uuesti</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="483"/>
|
|
||||||
<source>Are you sure you want to exit?</source>
|
|
||||||
<translation>Soovid sa tõesti väljuda?</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="503"/>
|
|
||||||
<source>A lightweight multiplatform terminal emulator</source>
|
|
||||||
<translation>Ressursisäästlik multiplatvormne terminaliemulaator</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>PropertiesDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="14"/>
|
|
||||||
<source>QTerminal Properties</source>
|
|
||||||
<translation>QTerminali omadused</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="49"/>
|
|
||||||
<source>Terminal Font</source>
|
|
||||||
<translation>Terminali font</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="54"/>
|
|
||||||
<source>Look and Feel</source>
|
|
||||||
<translation>Tööilme</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="59"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="314"/>
|
|
||||||
<source>History</source>
|
|
||||||
<translation>Ajalugu</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="64"/>
|
|
||||||
<source>Emulation</source>
|
|
||||||
<translation>Emuleering</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="69"/>
|
|
||||||
<source>Shortcuts</source>
|
|
||||||
<translation>Otseteed</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="74"/>
|
|
||||||
<source>DropDown</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="79"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="97"/>
|
|
||||||
<source>Font</source>
|
|
||||||
<translation>Font</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="129"/>
|
|
||||||
<source>&Set Font...</source>
|
|
||||||
<translation>&Määra font...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="152"/>
|
|
||||||
<source>Note: only fixed width font are allowed to be used in terminal</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="169"/>
|
|
||||||
<source>Action after paste clipboard</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="176"/>
|
|
||||||
<source>Color Scheme:</source>
|
|
||||||
<translation>Värviskeem:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="209"/>
|
|
||||||
<source>GUI Style:</source>
|
|
||||||
<translation>GUI stiil:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="252"/>
|
|
||||||
<source>Scrollbar Position:</source>
|
|
||||||
<translation>Kerimisriba asukoht:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="445"/>
|
|
||||||
<source>Show on start</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="452"/>
|
|
||||||
<source>Size</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="460"/>
|
|
||||||
<source>Height %:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="470"/>
|
|
||||||
<source>Width %:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="487"/>
|
|
||||||
<source>Shortcut:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="516"/>
|
|
||||||
<source>Edit File Content</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="538"/>
|
|
||||||
<source>Use Bookmarks</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="547"/>
|
|
||||||
<source>Bookmark FIle:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="557"/>
|
|
||||||
<source>Find...</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="566"/>
|
|
||||||
<source>You can specify your own bookmarks file location. It allows easy bookmark sharing with tools like OwnCloud or Dropbox.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="202"/>
|
|
||||||
<source>Tabs Position:</source>
|
|
||||||
<translation>Kaartide asukoht:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="259"/>
|
|
||||||
<source>&Application Transparency:</source>
|
|
||||||
<translation>&Rakenduse läbipaistvus:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="216"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="236"/>
|
|
||||||
<source> %</source>
|
|
||||||
<translation> %</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="229"/>
|
|
||||||
<source>Terminal Transparency:</source>
|
|
||||||
<translation>Terminali läbipaistvus:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="272"/>
|
|
||||||
<source>&Highlight Current Terminal With Border</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="279"/>
|
|
||||||
<source>Ask for Window Closing Confirmation</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="289"/>
|
|
||||||
<source>Open New Sub-Terminals in Current Working Dir</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="296"/>
|
|
||||||
<source>Show Main Menu</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="303"/>
|
|
||||||
<source>Always Show Tabs</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="320"/>
|
|
||||||
<source>Limited to: </source>
|
|
||||||
<translation>Piiratud kuni: </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="340"/>
|
|
||||||
<source>Unlimited</source>
|
|
||||||
<translation>Piiramatu</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="367"/>
|
|
||||||
<source>Emulation Type</source>
|
|
||||||
<translation>Emuleeringu tüüp</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="376"/>
|
|
||||||
<source>Select emulation behaviour. It does not mean that for example "linux" has to be used only on Linux OS. Feel free to use it on Mac too etc.<p>Default is the failback type with minimal feature set.</source>
|
|
||||||
<translation>Vali emuleeringu käitumine. See ei tähenda, et näiteks "linux" tohib olla kasutusel vaid Linux OS puhul. Kasuta seda vabalt ka Mac'l jne.<p>Vaikimisi varuvariant on minimaalsete võimalustega.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="428"/>
|
|
||||||
<source>Shortcut</source>
|
|
||||||
<translation>Otsetee</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="433"/>
|
|
||||||
<source>Key</source>
|
|
||||||
<translation>Klahv</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="42"/>
|
|
||||||
<source>No scrollbar</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="42"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Left</source>
|
|
||||||
<translation type="unfinished">Vasakul</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="42"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Right</source>
|
|
||||||
<translation type="unfinished">Paremal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Top</source>
|
|
||||||
<translation type="unfinished">Ülal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Bottom</source>
|
|
||||||
<translation type="unfinished">All</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="60"/>
|
|
||||||
<source>No move</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="60"/>
|
|
||||||
<source>Move start</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="60"/>
|
|
||||||
<source>Move end</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="65"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="117"/>
|
|
||||||
<source>System Default</source>
|
|
||||||
<translation>Süsteemne vaikeväärtus</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="245"/>
|
|
||||||
<source>Open or create bookmarks file</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Select Terminal Font</source>
|
|
||||||
<translation type="obsolete">Vali terminali font</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>QObject</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="97"/>
|
|
||||||
<source>Local Bookmarks</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="190"/>
|
|
||||||
<source>Synchronized Bookmarks</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TabWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="69"/>
|
|
||||||
<location filename="../tabwidget.cpp" line="174"/>
|
|
||||||
<source>Shell No. %1</source>
|
|
||||||
<translation>Shell No. %1</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="160"/>
|
|
||||||
<source>Tab name</source>
|
|
||||||
<translation>Kaardi nimi</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="161"/>
|
|
||||||
<source>New tab name:</source>
|
|
||||||
<translation>Kaardi uus nimi:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="183"/>
|
|
||||||
<source>Close session</source>
|
|
||||||
<translation>Sulge seanss</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="185"/>
|
|
||||||
<source>Rename session</source>
|
|
||||||
<translation>Nimeta seanss ümber</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TermWidgetHolder</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="46"/>
|
|
||||||
<source>Load Session</source>
|
|
||||||
<translation>Lae seanss</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="47"/>
|
|
||||||
<source>List of saved sessions:</source>
|
|
||||||
<translation>Salvestatud seansside nimekiri:</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TermWidgetImpl</name>
|
|
||||||
<message>
|
|
||||||
<source>Copy Selection</source>
|
|
||||||
<translation type="obsolete">Kopeeri valik</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Paste Selection</source>
|
|
||||||
<translation type="obsolete">Aseta valik</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Split Terminal Horizontally</source>
|
|
||||||
<translation type="obsolete">Poolita terminal horisontaalselt</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Split Terminal Vertically</source>
|
|
||||||
<translation type="obsolete">Poolita terminal vertikaalselt</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Collapse Subterminal</source>
|
|
||||||
<translation type="obsolete">Ahenda alamterminal</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>mainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="14"/>
|
|
||||||
<source>MainWindow</source>
|
|
||||||
<translation>PeaAken</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="68"/>
|
|
||||||
<source>File</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="76"/>
|
|
||||||
<source>Actions</source>
|
|
||||||
<translation>Tegevused</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="81"/>
|
|
||||||
<source>Help</source>
|
|
||||||
<translation>Abi</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="88"/>
|
|
||||||
<source>View</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="93"/>
|
|
||||||
<source>Edit</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="125"/>
|
|
||||||
<source>&Quit</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>&Window</source>
|
|
||||||
<translation type="obsolete">&Aken</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="107"/>
|
|
||||||
<source>About...</source>
|
|
||||||
<translation>QTerminali info...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="112"/>
|
|
||||||
<source>About Qt...</source>
|
|
||||||
<translation>Qt info...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="117"/>
|
|
||||||
<source>&Preferences...</source>
|
|
||||||
<translation>&Seadistused...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>&Quit...</source>
|
|
||||||
<translation type="obsolete">&Välju...</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
</TS>
|
|
||||||
@ -1,643 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE TS>
|
|
||||||
<TS version="2.1" language="hu_HU">
|
|
||||||
<context>
|
|
||||||
<name>BookmarksWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/bookmarkswidget.ui" line="32"/>
|
|
||||||
<source>Filter:</source>
|
|
||||||
<translation>Szűrő:</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>FontDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="14"/>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="73"/>
|
|
||||||
<source>Select Terminal Font</source>
|
|
||||||
<translation>Terminál-betűválasztás</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="32"/>
|
|
||||||
<source>Font:</source>
|
|
||||||
<translation>Betű:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="42"/>
|
|
||||||
<source>Size:</source>
|
|
||||||
<translation>Méret:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="59"/>
|
|
||||||
<source>Preview</source>
|
|
||||||
<translation>Előkép</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>MainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="319"/>
|
|
||||||
<source>Close Tab</source>
|
|
||||||
<translation>Lap bezárás</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="175"/>
|
|
||||||
<source>Split Terminal Horizontally</source>
|
|
||||||
<translation>Terminál vízszintes felosztás</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="182"/>
|
|
||||||
<source>Split Terminal Vertically</source>
|
|
||||||
<translation>Terminál függélyes felosztás</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="189"/>
|
|
||||||
<source>Collapse Subterminal</source>
|
|
||||||
<translation>Alterminál bezárás</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="196"/>
|
|
||||||
<source>Next Subterminal</source>
|
|
||||||
<translation>Következő alterminál</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="203"/>
|
|
||||||
<source>Previous Subterminal</source>
|
|
||||||
<translation>Előző alterminál</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="145"/>
|
|
||||||
<source>Next Tab</source>
|
|
||||||
<translation>Következő lap</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="152"/>
|
|
||||||
<source>Previous Tab</source>
|
|
||||||
<translation>Előző lap</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="159"/>
|
|
||||||
<source>Move Tab Left</source>
|
|
||||||
<translation>Lap balra</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="166"/>
|
|
||||||
<source>Move Tab Right</source>
|
|
||||||
<translation>Lap jobbra</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="213"/>
|
|
||||||
<source>Copy Selection</source>
|
|
||||||
<translation>Másolás</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="227"/>
|
|
||||||
<source>Paste Selection</source>
|
|
||||||
<translation>Beillesztés</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="269"/>
|
|
||||||
<source>Save Session</source>
|
|
||||||
<translation>Helyzet mentés</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="275"/>
|
|
||||||
<source>Load Session</source>
|
|
||||||
<translation>Helyzet betöltés</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="308"/>
|
|
||||||
<source>New Tab From Preset</source>
|
|
||||||
<translation>Új lap beállítása</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="309"/>
|
|
||||||
<source>1 Terminal</source>
|
|
||||||
<translation>1 terminál</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="311"/>
|
|
||||||
<source>2 Horizontal Terminals</source>
|
|
||||||
<translation>2 vízszintes terminál</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="313"/>
|
|
||||||
<source>2 Vertical Terminals</source>
|
|
||||||
<translation>2 függőleges terminál</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="315"/>
|
|
||||||
<source>4 Terminals</source>
|
|
||||||
<translation>4 terminál</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="395"/>
|
|
||||||
<source>Bottom</source>
|
|
||||||
<translation>Alul</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="396"/>
|
|
||||||
<source>Top</source>
|
|
||||||
<translation>Felül</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="397"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="428"/>
|
|
||||||
<source>Right</source>
|
|
||||||
<translation>Jobbra</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="398"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="429"/>
|
|
||||||
<source>Left</source>
|
|
||||||
<translation>Balra</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="413"/>
|
|
||||||
<source>Tabs Layout</source>
|
|
||||||
<translation>Lapfül</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="427"/>
|
|
||||||
<source>None</source>
|
|
||||||
<translation>Nincs</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="445"/>
|
|
||||||
<source>Scrollbar Layout</source>
|
|
||||||
<translation>Gördítősáv</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="500"/>
|
|
||||||
<source>Exit QTerminal</source>
|
|
||||||
<translation>QTerminal befejezése</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="502"/>
|
|
||||||
<source>Do not ask again</source>
|
|
||||||
<translation>Többé nem kérdez</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="509"/>
|
|
||||||
<source>Are you sure you want to exit?</source>
|
|
||||||
<translation>Biztosan kilép?</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="529"/>
|
|
||||||
<source>A lightweight multiplatform terminal emulator</source>
|
|
||||||
<translation>Könnyed általános terminál emulátor</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="53"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation>Könyvjelzők</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="92"/>
|
|
||||||
<source>Rename Session</source>
|
|
||||||
<translation>Helyzet átnevezés</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="125"/>
|
|
||||||
<source>Press "%1" to see the terminal.</source>
|
|
||||||
<translation>Billentyűzzön "%1"-t, hogy lássa a terminált.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="136"/>
|
|
||||||
<source>Clear Current Tab</source>
|
|
||||||
<translation>Aktuális lap törlése</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="220"/>
|
|
||||||
<source>Paste Clipboard</source>
|
|
||||||
<translation>Vágólapról beillesztés</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="234"/>
|
|
||||||
<source>Zoom in</source>
|
|
||||||
<translation>Nagyít</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="241"/>
|
|
||||||
<source>Zoom out</source>
|
|
||||||
<translation>Kicsinyít</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="248"/>
|
|
||||||
<source>Zoom reset</source>
|
|
||||||
<translation>Visszaállít</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="257"/>
|
|
||||||
<source>Find...</source>
|
|
||||||
<translation>Keres...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="282"/>
|
|
||||||
<source>Toggle Menu</source>
|
|
||||||
<translation>Menü ki/be</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="301"/>
|
|
||||||
<source>New Tab</source>
|
|
||||||
<translation>Új lap</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="326"/>
|
|
||||||
<source>New Window</source>
|
|
||||||
<translation>Új ablak</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="360"/>
|
|
||||||
<source>Hide Window Borders</source>
|
|
||||||
<translation>Ablakkeret ki</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="374"/>
|
|
||||||
<source>Show Tab Bar</source>
|
|
||||||
<translation>Fülsáv látszik</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>PropertiesDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="316"/>
|
|
||||||
<source>Emulation</source>
|
|
||||||
<translation>Emuláció</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="62"/>
|
|
||||||
<source>Shortcuts</source>
|
|
||||||
<translation>Gyorsbillentyűk</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="14"/>
|
|
||||||
<source>Terminal settings</source>
|
|
||||||
<translation>Terminál beállítások</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="52"/>
|
|
||||||
<source>Appearance</source>
|
|
||||||
<translation>Megjelenés</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="57"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="341"/>
|
|
||||||
<source>Behavior</source>
|
|
||||||
<translation>Viselkedés</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="67"/>
|
|
||||||
<source>Dropdown</source>
|
|
||||||
<translation>Felgördítés</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="90"/>
|
|
||||||
<source>Color scheme</source>
|
|
||||||
<translation>Színséma</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="100"/>
|
|
||||||
<source>Widget style</source>
|
|
||||||
<translation>Elemstílus</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="110"/>
|
|
||||||
<source>Scrollbar position</source>
|
|
||||||
<translation>Gördítősáv helyzete</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="120"/>
|
|
||||||
<source>Tabs position</source>
|
|
||||||
<translation>Lapfülek helyzete</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="130"/>
|
|
||||||
<source>Show the menu bar</source>
|
|
||||||
<translation>Menüsáv</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="144"/>
|
|
||||||
<source>Show a border around the current terminal</source>
|
|
||||||
<translation>Aktuális terminál bekeretezése</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="151"/>
|
|
||||||
<source>Application transparency</source>
|
|
||||||
<translation>Alkalmazás áttetszősége</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="161"/>
|
|
||||||
<source>Terminal transparency</source>
|
|
||||||
<translation>Terminál áttetszősége</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="184"/>
|
|
||||||
<source>Start with preset:</source>
|
|
||||||
<translation>Új terminál indulási beállítás:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="205"/>
|
|
||||||
<source>None (single terminal)</source>
|
|
||||||
<translation>Nincs (1 terminál)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="210"/>
|
|
||||||
<source>2 terminals horizontally</source>
|
|
||||||
<translation>2 vízszintes terminál</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="215"/>
|
|
||||||
<source>2 terminals vertically</source>
|
|
||||||
<translation>2 függőleges terminál</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="220"/>
|
|
||||||
<source>4 terminals</source>
|
|
||||||
<translation>4 terminál</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="256"/>
|
|
||||||
<source>Font</source>
|
|
||||||
<translation>Betűtípus</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="325"/>
|
|
||||||
<source><html><head/><body><p>Which behavior to emulate. Note that this does not have to match your operating system.</p><p>The <span style=" font-weight:600;">default</span> emulation is a fallback with a minimal featureset.</p></body></html></source>
|
|
||||||
<translation><html><head/><body><p>Az emulátor viselkedésének kiválasztása, mivel egyes emulátorok más rendszerek alatt is használatosak.</p><p>Az alapemuláció az <span style=" font-weight:600;">alapértelmezett</span> a legkevesebb lehetőséggel.</p></body></html></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="347"/>
|
|
||||||
<source>Action after paste</source>
|
|
||||||
<translation>Beillesztés utáni teendő</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="380"/>
|
|
||||||
<source>Open new terminals in current working directory</source>
|
|
||||||
<translation>Új terminál a munkakönyvtárban nyílik</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="387"/>
|
|
||||||
<source>Ask for confirmation when closing</source>
|
|
||||||
<translation>Ablakbecsukáskor megerősítés kérés</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="397"/>
|
|
||||||
<source>Unlimited history</source>
|
|
||||||
<translation>Korlátlan naplózás</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="404"/>
|
|
||||||
<source>History size (in lines)</source>
|
|
||||||
<translation>Naplóméret (sorok)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="472"/>
|
|
||||||
<source>Height</source>
|
|
||||||
<translation>Magasság</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="479"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="493"/>
|
|
||||||
<source>%</source>
|
|
||||||
<translation>%</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="486"/>
|
|
||||||
<source>Width</source>
|
|
||||||
<translation>Szélesség</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="536"/>
|
|
||||||
<source>Edit bookmark file contents</source>
|
|
||||||
<translation>Könyvjelzőfájl szerkesztés</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="558"/>
|
|
||||||
<source>Enable bookmarks</source>
|
|
||||||
<translation>Könyvjelzőhasználat</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="567"/>
|
|
||||||
<source>Bookmark file</source>
|
|
||||||
<translation>Könyvjelzőfájl</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="168"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="191"/>
|
|
||||||
<source> %</source>
|
|
||||||
<translation>%</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="437"/>
|
|
||||||
<source>Shortcut</source>
|
|
||||||
<translation>Gyorsbillentyű</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="442"/>
|
|
||||||
<source>Key</source>
|
|
||||||
<translation>Billentyű</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="72"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation>Könyvjelzők</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="137"/>
|
|
||||||
<source>Hide tab bar with only one tab</source>
|
|
||||||
<translation>Egy lapnál nincs lapfülsáv</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="289"/>
|
|
||||||
<source>&Change...</source>
|
|
||||||
<translation>&Változtat...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="454"/>
|
|
||||||
<source>Show on start</source>
|
|
||||||
<translation>Induláskor látszik</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="461"/>
|
|
||||||
<source>Size</source>
|
|
||||||
<translation>Méret</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="507"/>
|
|
||||||
<source>Shortcut:</source>
|
|
||||||
<translation>Gyorsbillentyű:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="577"/>
|
|
||||||
<source>Find...</source>
|
|
||||||
<translation>Keres...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="586"/>
|
|
||||||
<source>You can specify your own bookmarks file location. It allows easy bookmark sharing with tools like OwnCloud or Dropbox.</source>
|
|
||||||
<translation>Saját könyvjelzőfájl adható meg, ezáltal más eszözök is könnyedén használhatók, mint például az OwnCloud vagy a DropBox.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="45"/>
|
|
||||||
<source>No scrollbar</source>
|
|
||||||
<translation>Nincs gördítősáv</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="45"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Left</source>
|
|
||||||
<translation>Balra</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="45"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Right</source>
|
|
||||||
<translation>Jobbra</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Top</source>
|
|
||||||
<translation>Felül</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Bottom</source>
|
|
||||||
<translation>Alul</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="63"/>
|
|
||||||
<source>No move</source>
|
|
||||||
<translation>Áll</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="63"/>
|
|
||||||
<source>Move start</source>
|
|
||||||
<translation>Kezdetre</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="63"/>
|
|
||||||
<source>Move end</source>
|
|
||||||
<translation>Végére</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="68"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="122"/>
|
|
||||||
<source>System Default</source>
|
|
||||||
<translation>Rendszer alapértelmezett.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="252"/>
|
|
||||||
<source>Open or create bookmarks file</source>
|
|
||||||
<translation>Könyvjelzőfájl nyitás</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>QObject</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="97"/>
|
|
||||||
<source>Local Bookmarks</source>
|
|
||||||
<translation>Helyi könyvjelzők</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="187"/>
|
|
||||||
<source>Synchronized Bookmarks</source>
|
|
||||||
<translation>Szinkronizált könyvjelzők</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TabWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="69"/>
|
|
||||||
<location filename="../tabwidget.cpp" line="174"/>
|
|
||||||
<source>Shell No. %1</source>
|
|
||||||
<translation>Héj Nr. %1</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="160"/>
|
|
||||||
<source>Tab name</source>
|
|
||||||
<translation>Lapnév</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="161"/>
|
|
||||||
<source>New tab name:</source>
|
|
||||||
<translation>Új lapnév:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="183"/>
|
|
||||||
<source>Close session</source>
|
|
||||||
<translation>Menet bezárása</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="185"/>
|
|
||||||
<source>Rename session</source>
|
|
||||||
<translation>Menet átnevezése</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TermWidgetHolder</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="46"/>
|
|
||||||
<source>Load Session</source>
|
|
||||||
<translation>Munkamenet betöltés</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="47"/>
|
|
||||||
<source>List of saved sessions:</source>
|
|
||||||
<translation>Tárolt munkamenet lista:</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>mainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="76"/>
|
|
||||||
<source>Actions</source>
|
|
||||||
<translation>Művelet</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="81"/>
|
|
||||||
<source>Help</source>
|
|
||||||
<translation>Segítség</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="93"/>
|
|
||||||
<source>Edit</source>
|
|
||||||
<translation>Szerkeszt</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="107"/>
|
|
||||||
<source>About...</source>
|
|
||||||
<translation>Névjegy...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="112"/>
|
|
||||||
<source>About Qt...</source>
|
|
||||||
<translation>A Qt-ról...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="117"/>
|
|
||||||
<source>&Preferences...</source>
|
|
||||||
<translation>&Beállítások...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="14"/>
|
|
||||||
<source>MainWindow</source>
|
|
||||||
<translation>Főablak</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="68"/>
|
|
||||||
<source>File</source>
|
|
||||||
<translation>Fájl</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="88"/>
|
|
||||||
<source>View</source>
|
|
||||||
<translation>Nézet</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="125"/>
|
|
||||||
<source>&Quit</source>
|
|
||||||
<translation>&Kilép</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
</TS>
|
|
||||||
@ -1,645 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE TS>
|
|
||||||
<TS version="2.1" language="it_IT">
|
|
||||||
<context>
|
|
||||||
<name>BookmarksWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/bookmarkswidget.ui" line="32"/>
|
|
||||||
<source>Filter:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>FontDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="14"/>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="73"/>
|
|
||||||
<source>Select Terminal Font</source>
|
|
||||||
<translation type="unfinished">Seleziona Carattere Terminale</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="32"/>
|
|
||||||
<source>Font:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="42"/>
|
|
||||||
<source>Size:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="59"/>
|
|
||||||
<source>Preview</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>MainWindow</name>
|
|
||||||
<message>
|
|
||||||
<source>Add Tab</source>
|
|
||||||
<translation type="obsolete">Aggiungi Tab</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="310"/>
|
|
||||||
<source>Close Tab</source>
|
|
||||||
<translation>Chiudi Tab</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="191"/>
|
|
||||||
<source>Split Terminal Horizontally</source>
|
|
||||||
<translation>Dividi Terminale Orizzontalmente</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="197"/>
|
|
||||||
<source>Split Terminal Vertically</source>
|
|
||||||
<translation>Dividi Terminale Verticalmente</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="203"/>
|
|
||||||
<source>Collapse Subterminal</source>
|
|
||||||
<translation>Collassa Sottoterminale</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="209"/>
|
|
||||||
<source>Next Subterminal</source>
|
|
||||||
<translation>Sottoterminale Successivo</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="215"/>
|
|
||||||
<source>Previous Subterminal</source>
|
|
||||||
<translation>Sottoterminale Precedente</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="165"/>
|
|
||||||
<source>Next Tab</source>
|
|
||||||
<translation>Tab Successivo</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="53"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="91"/>
|
|
||||||
<source>Rename Session</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="146"/>
|
|
||||||
<source>Press "%1" to see the terminal.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="157"/>
|
|
||||||
<source>Clear Current Tab</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="171"/>
|
|
||||||
<source>Previous Tab</source>
|
|
||||||
<translation>Tab Precedente</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="177"/>
|
|
||||||
<source>Move Tab Left</source>
|
|
||||||
<translation>Sposta Tab a Sinistra</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="183"/>
|
|
||||||
<source>Move Tab Right</source>
|
|
||||||
<translation>Sposta Tab a Destra</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="224"/>
|
|
||||||
<source>Copy Selection</source>
|
|
||||||
<translation>Copia Selezione</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="230"/>
|
|
||||||
<source>Paste Clipboard</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="236"/>
|
|
||||||
<source>Paste Selection</source>
|
|
||||||
<translation>Incolla Selezione</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="242"/>
|
|
||||||
<source>Zoom in</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="248"/>
|
|
||||||
<source>Zoom out</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="254"/>
|
|
||||||
<source>Zoom reset</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="262"/>
|
|
||||||
<source>Find...</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="273"/>
|
|
||||||
<source>Save Session</source>
|
|
||||||
<translation>Salva Sessione</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="279"/>
|
|
||||||
<source>Load Session</source>
|
|
||||||
<translation>Carica Sessione</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="286"/>
|
|
||||||
<source>Toggle Menu</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="304"/>
|
|
||||||
<source>New Tab</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="316"/>
|
|
||||||
<source>New Window</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="339"/>
|
|
||||||
<source>Hide Window Borders</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="350"/>
|
|
||||||
<source>Show Tab Bar</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Toggle Borderless</source>
|
|
||||||
<translation type="obsolete">Toggle Senzabordi</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="370"/>
|
|
||||||
<source>Bottom</source>
|
|
||||||
<translation>Basso</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="371"/>
|
|
||||||
<source>Top</source>
|
|
||||||
<translation>Alto</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="372"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="403"/>
|
|
||||||
<source>Right</source>
|
|
||||||
<translation>Destra</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="373"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="404"/>
|
|
||||||
<source>Left</source>
|
|
||||||
<translation>Sinistra</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="388"/>
|
|
||||||
<source>Tabs Layout</source>
|
|
||||||
<translation>Layout Tabs</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="402"/>
|
|
||||||
<source>None</source>
|
|
||||||
<translation>Nessuno</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="420"/>
|
|
||||||
<source>Scrollbar Layout</source>
|
|
||||||
<translation>Layout Barra di scorrimento</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="474"/>
|
|
||||||
<source>Exit QTerminal</source>
|
|
||||||
<translation>Esci da QTerminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="476"/>
|
|
||||||
<source>Do not ask again</source>
|
|
||||||
<translation>Non chiedermelo più</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="483"/>
|
|
||||||
<source>Are you sure you want to exit?</source>
|
|
||||||
<translation>Sei sicuro di voler uscire?</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="503"/>
|
|
||||||
<source>A lightweight multiplatform terminal emulator</source>
|
|
||||||
<translation>Un emulatore di terminale multipiattaforma e leggero</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>PropertiesDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="14"/>
|
|
||||||
<source>QTerminal Properties</source>
|
|
||||||
<translation>Proprietà QTerminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="49"/>
|
|
||||||
<source>Terminal Font</source>
|
|
||||||
<translation>Caratteri Terminale</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="54"/>
|
|
||||||
<source>Look and Feel</source>
|
|
||||||
<translation>Aspetto</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="59"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="314"/>
|
|
||||||
<source>History</source>
|
|
||||||
<translation>Storia</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="64"/>
|
|
||||||
<source>Emulation</source>
|
|
||||||
<translation>Emulazione</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="69"/>
|
|
||||||
<source>Shortcuts</source>
|
|
||||||
<translation>Scorciatoie</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="74"/>
|
|
||||||
<source>DropDown</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="79"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="97"/>
|
|
||||||
<source>Font</source>
|
|
||||||
<translation>Caratteri</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="129"/>
|
|
||||||
<source>&Set Font...</source>
|
|
||||||
<translation>&Imposta carattere...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="152"/>
|
|
||||||
<source>Note: only fixed width font are allowed to be used in terminal</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="169"/>
|
|
||||||
<source>Action after paste clipboard</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="176"/>
|
|
||||||
<source>Color Scheme:</source>
|
|
||||||
<translation>Schema Colore:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="209"/>
|
|
||||||
<source>GUI Style:</source>
|
|
||||||
<translation>Stile GUI:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="252"/>
|
|
||||||
<source>Scrollbar Position:</source>
|
|
||||||
<translation>Posizione Barra di Scorrimento:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="445"/>
|
|
||||||
<source>Show on start</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="452"/>
|
|
||||||
<source>Size</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="460"/>
|
|
||||||
<source>Height %:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="470"/>
|
|
||||||
<source>Width %:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="487"/>
|
|
||||||
<source>Shortcut:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="516"/>
|
|
||||||
<source>Edit File Content</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="538"/>
|
|
||||||
<source>Use Bookmarks</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="547"/>
|
|
||||||
<source>Bookmark FIle:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="557"/>
|
|
||||||
<source>Find...</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="566"/>
|
|
||||||
<source>You can specify your own bookmarks file location. It allows easy bookmark sharing with tools like OwnCloud or Dropbox.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="202"/>
|
|
||||||
<source>Tabs Position:</source>
|
|
||||||
<translation>Posizione Tabs:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="259"/>
|
|
||||||
<source>&Application Transparency:</source>
|
|
||||||
<translation>&Trasparenza Applicazione:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="216"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="236"/>
|
|
||||||
<source> %</source>
|
|
||||||
<translation>%</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="229"/>
|
|
||||||
<source>Terminal Transparency:</source>
|
|
||||||
<translation>Trasparenza Terminale:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="272"/>
|
|
||||||
<source>&Highlight Current Terminal With Border</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="279"/>
|
|
||||||
<source>Ask for Window Closing Confirmation</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="289"/>
|
|
||||||
<source>Open New Sub-Terminals in Current Working Dir</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="296"/>
|
|
||||||
<source>Show Main Menu</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="303"/>
|
|
||||||
<source>Always Show Tabs</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="320"/>
|
|
||||||
<source>Limited to: </source>
|
|
||||||
<translation>Limitato a:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="340"/>
|
|
||||||
<source>Unlimited</source>
|
|
||||||
<translation>Illimitato</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="367"/>
|
|
||||||
<source>Emulation Type</source>
|
|
||||||
<translation>Tipo Emulazione</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="376"/>
|
|
||||||
<source>Select emulation behaviour. It does not mean that for example "linux" has to be used only on Linux OS. Feel free to use it on Mac too etc.<p>Default is the failback type with minimal feature set.</source>
|
|
||||||
<translation>Seleziona comportamento emulazione. Non significa che per esempio "linux" deve essere utilizzato solo su SO Linux. Sentiti libero di usarlo anche su Mac ecc.<p>L'impostazione di base è quella più sicura con un set minimo di proprietà.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="428"/>
|
|
||||||
<source>Shortcut</source>
|
|
||||||
<translation>Scorciatoia</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="433"/>
|
|
||||||
<source>Key</source>
|
|
||||||
<translation>Chiave</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="42"/>
|
|
||||||
<source>No scrollbar</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="42"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Left</source>
|
|
||||||
<translation type="unfinished">Sinistra</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="42"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Right</source>
|
|
||||||
<translation type="unfinished">Destra</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Top</source>
|
|
||||||
<translation type="unfinished">Alto</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Bottom</source>
|
|
||||||
<translation type="unfinished">Basso</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="60"/>
|
|
||||||
<source>No move</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="60"/>
|
|
||||||
<source>Move start</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="60"/>
|
|
||||||
<source>Move end</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="65"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="117"/>
|
|
||||||
<source>System Default</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="245"/>
|
|
||||||
<source>Open or create bookmarks file</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Select Terminal Font</source>
|
|
||||||
<translation type="obsolete">Seleziona Carattere Terminale</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>QObject</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="97"/>
|
|
||||||
<source>Local Bookmarks</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="190"/>
|
|
||||||
<source>Synchronized Bookmarks</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TabWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="69"/>
|
|
||||||
<location filename="../tabwidget.cpp" line="174"/>
|
|
||||||
<source>Shell No. %1</source>
|
|
||||||
<translation>Shell N° %1</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="160"/>
|
|
||||||
<source>Tab name</source>
|
|
||||||
<translation>Nome tab</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="161"/>
|
|
||||||
<source>New tab name:</source>
|
|
||||||
<translation>Nuovo nome tab:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="183"/>
|
|
||||||
<source>Close session</source>
|
|
||||||
<translation>Chiudi sessione</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="185"/>
|
|
||||||
<source>Rename session</source>
|
|
||||||
<translation>Rinomina sessione</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TermWidgetHolder</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="46"/>
|
|
||||||
<source>Load Session</source>
|
|
||||||
<translation>Carica Sessione</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="47"/>
|
|
||||||
<source>List of saved sessions:</source>
|
|
||||||
<translation>Lista delle sessioni salvate:</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TermWidgetImpl</name>
|
|
||||||
<message>
|
|
||||||
<source>Copy Selection</source>
|
|
||||||
<translation type="obsolete">Copia Selezione</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Paste Selection</source>
|
|
||||||
<translation type="obsolete">Incolla Selezione</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Split Terminal Horizontally</source>
|
|
||||||
<translation type="obsolete">Dividi Terminale Orizzontalmente</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Split Terminal Vertically</source>
|
|
||||||
<translation type="obsolete">Dividi Terminale Verticalmente</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Collapse Subterminal</source>
|
|
||||||
<translation type="obsolete">Collassa Sottoterminale</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>mainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="14"/>
|
|
||||||
<source>MainWindow</source>
|
|
||||||
<translation></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="68"/>
|
|
||||||
<source>File</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="76"/>
|
|
||||||
<source>Actions</source>
|
|
||||||
<translation>Azioni</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="81"/>
|
|
||||||
<source>Help</source>
|
|
||||||
<translation>Aiuto</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="88"/>
|
|
||||||
<source>View</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="93"/>
|
|
||||||
<source>Edit</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="125"/>
|
|
||||||
<source>&Quit</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>&Window</source>
|
|
||||||
<translation type="obsolete">&Finestra</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="107"/>
|
|
||||||
<source>About...</source>
|
|
||||||
<translation></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="112"/>
|
|
||||||
<source>About Qt...</source>
|
|
||||||
<translation></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="117"/>
|
|
||||||
<source>&Preferences...</source>
|
|
||||||
<translation>&Preferenze...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>&Quit...</source>
|
|
||||||
<translation type="obsolete">&Chiudi...</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
</TS>
|
|
||||||
@ -1,658 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE TS>
|
|
||||||
<TS version="2.1" language="ja">
|
|
||||||
<context>
|
|
||||||
<name>BookmarksWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/bookmarkswidget.ui" line="32"/>
|
|
||||||
<source>Filter:</source>
|
|
||||||
<translation>フィルタ:</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>FontDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="14"/>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="73"/>
|
|
||||||
<source>Select Terminal Font</source>
|
|
||||||
<translation>ターミナルフォントの選択</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="32"/>
|
|
||||||
<source>Font:</source>
|
|
||||||
<translation>フォント:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="42"/>
|
|
||||||
<source>Size:</source>
|
|
||||||
<translation>サイズ:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="59"/>
|
|
||||||
<source>Preview</source>
|
|
||||||
<translation>プレビュー</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>MainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="324"/>
|
|
||||||
<source>&Close Tab</source>
|
|
||||||
<translation>タブを閉じる(&C)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
|
||||||
<source>Split Terminal &Horizontally</source>
|
|
||||||
<translation>ターミナルの上下分割(&H)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="187"/>
|
|
||||||
<source>Split Terminal &Vertically</source>
|
|
||||||
<translation>ターミナルの左右分割(&V)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="194"/>
|
|
||||||
<source>&Collapse Subterminal</source>
|
|
||||||
<translation>サブターミナルを折りたたむ(&C)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="201"/>
|
|
||||||
<source>N&ext Subterminal</source>
|
|
||||||
<translation>次のサブターミナル(&E)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="208"/>
|
|
||||||
<source>P&revious Subterminal</source>
|
|
||||||
<translation>前のサブターミナル(&R)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="150"/>
|
|
||||||
<source>&Next Tab</source>
|
|
||||||
<translation>次のタブ(&N)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="157"/>
|
|
||||||
<source>&Previous Tab</source>
|
|
||||||
<translation>前のタブ(&P)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="164"/>
|
|
||||||
<source>Move Tab &Left</source>
|
|
||||||
<translation>タブを左へ移動(&L)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="171"/>
|
|
||||||
<source>Move Tab &Right</source>
|
|
||||||
<translation>タブを右へ移動(&R)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="218"/>
|
|
||||||
<source>Copy &Selection</source>
|
|
||||||
<translation>選択部分をコピー(&S)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="232"/>
|
|
||||||
<source>Paste S&election</source>
|
|
||||||
<translation>選択部分を貼り付け(&E)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="274"/>
|
|
||||||
<source>&Save Session</source>
|
|
||||||
<translation>セッションを保存(&S)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="280"/>
|
|
||||||
<source>&Load Session</source>
|
|
||||||
<translation>セッションを読出(&L)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="313"/>
|
|
||||||
<source>New Tab From &Preset</source>
|
|
||||||
<translation>新規タブをプリセットで開く(&P)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="314"/>
|
|
||||||
<source>1 &Terminal</source>
|
|
||||||
<translation>画面分割なし(&T)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="316"/>
|
|
||||||
<source>2 &Horizontal Terminals</source>
|
|
||||||
<translation>上下2分割(&H)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="318"/>
|
|
||||||
<source>2 &Vertical Terminals</source>
|
|
||||||
<translation>左右2分割(&V)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="320"/>
|
|
||||||
<source>4 Terminal&s</source>
|
|
||||||
<translation>4分割(&S)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="412"/>
|
|
||||||
<source>&Bottom</source>
|
|
||||||
<translation>下(&B)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="413"/>
|
|
||||||
<source>&Top</source>
|
|
||||||
<translation>上(&T)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="414"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="445"/>
|
|
||||||
<source>&Right</source>
|
|
||||||
<translation>右(&R)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="415"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="446"/>
|
|
||||||
<source>&Left</source>
|
|
||||||
<translation>左(&L)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="430"/>
|
|
||||||
<source>&Tabs Layout</source>
|
|
||||||
<translation>タブの位置(&T)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="444"/>
|
|
||||||
<source>&None</source>
|
|
||||||
<translation>なし(&N)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="462"/>
|
|
||||||
<source>S&crollbar Layout</source>
|
|
||||||
<translation>スクロールバーの位置(&C)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="529"/>
|
|
||||||
<source>Exit QTerminal</source>
|
|
||||||
<translation>QTerminal終了</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="531"/>
|
|
||||||
<source>Do not ask again</source>
|
|
||||||
<translation>次から確認しない</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="538"/>
|
|
||||||
<source>Are you sure you want to exit?</source>
|
|
||||||
<translation>終了してもよろしいですか?</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="559"/>
|
|
||||||
<source>A lightweight multiplatform terminal emulator</source>
|
|
||||||
<translation>軽量マルチプラットフォーム ターミナルエミュレータ</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="53"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation>ブックマーク</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="97"/>
|
|
||||||
<source>Rename Session</source>
|
|
||||||
<translation>タブ名の変更</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="130"/>
|
|
||||||
<source>Press "%1" to see the terminal.</source>
|
|
||||||
<translation>"%1"を押すとそのターミナルを見ることができます</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="141"/>
|
|
||||||
<source>&Clear Current Tab</source>
|
|
||||||
<translation>現在のタブをクリア(&C)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="225"/>
|
|
||||||
<source>Paste Clip&board</source>
|
|
||||||
<translation>クリップボードの貼り付け(&B)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="239"/>
|
|
||||||
<source>Zoom &in</source>
|
|
||||||
<translation>ズームイン(&I)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="246"/>
|
|
||||||
<source>Zoom &out</source>
|
|
||||||
<translation>ズームアウト(&O)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="253"/>
|
|
||||||
<source>Zoom rese&t</source>
|
|
||||||
<translation>ズームリセット(&T)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="262"/>
|
|
||||||
<source>&Find...</source>
|
|
||||||
<translation>検索(&F)...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="287"/>
|
|
||||||
<source>&Toggle Menu</source>
|
|
||||||
<translation>メニューの表示/非表示(&T)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="306"/>
|
|
||||||
<source>&New Tab</source>
|
|
||||||
<translation>新規タブ(&N)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="331"/>
|
|
||||||
<source>&New Window</source>
|
|
||||||
<translation>新規ウィンドウ(&N)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="365"/>
|
|
||||||
<source>&Hide Window Borders</source>
|
|
||||||
<translation>ウィンドウ枠を隠す(&H)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="380"/>
|
|
||||||
<source>&Show Tab Bar</source>
|
|
||||||
<translation>タブを表示(&S)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="392"/>
|
|
||||||
<source>Fullscreen</source>
|
|
||||||
<translation>フルスクリーン</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>PropertiesDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="319"/>
|
|
||||||
<source>Emulation</source>
|
|
||||||
<translation>エミュレーション</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="62"/>
|
|
||||||
<source>Shortcuts</source>
|
|
||||||
<translation>ショートカット</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="14"/>
|
|
||||||
<source>Terminal settings</source>
|
|
||||||
<translation>ターミナルの設定</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="52"/>
|
|
||||||
<source>Appearance</source>
|
|
||||||
<translation>外観</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="57"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="344"/>
|
|
||||||
<source>Behavior</source>
|
|
||||||
<translation>挙動</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="67"/>
|
|
||||||
<source>Dropdown</source>
|
|
||||||
<translation>ドロップダウン</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="90"/>
|
|
||||||
<source>Color scheme</source>
|
|
||||||
<translation>配色</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="100"/>
|
|
||||||
<source>Widget style</source>
|
|
||||||
<translation>ウィジェットのスタイル</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="110"/>
|
|
||||||
<source>Scrollbar position</source>
|
|
||||||
<translation>スクロールバーの位置</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="120"/>
|
|
||||||
<source>Tabs position</source>
|
|
||||||
<translation>タブの位置</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="130"/>
|
|
||||||
<source>Show the menu bar</source>
|
|
||||||
<translation>メニューバーの表示</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="144"/>
|
|
||||||
<source>Show a border around the current terminal</source>
|
|
||||||
<translation>カレントターミナルの境界を表示</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="151"/>
|
|
||||||
<source>Application transparency</source>
|
|
||||||
<translation>アプリケーションの透過</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="161"/>
|
|
||||||
<source>Terminal transparency</source>
|
|
||||||
<translation>ターミナルの透過</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="184"/>
|
|
||||||
<source>Start with preset:</source>
|
|
||||||
<translation>プリセットでスタート</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="208"/>
|
|
||||||
<source>None (single terminal)</source>
|
|
||||||
<translation>画面分割なし</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="212"/>
|
|
||||||
<source>2 terminals horizontally</source>
|
|
||||||
<translation>上下2分割</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="217"/>
|
|
||||||
<source>2 terminals vertically</source>
|
|
||||||
<translation>左右2分割</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="223"/>
|
|
||||||
<source>4 terminals</source>
|
|
||||||
<translation>4分割</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="259"/>
|
|
||||||
<source>Font</source>
|
|
||||||
<translation>フォント</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="328"/>
|
|
||||||
<source><html><head/><body><p>Which behavior to emulate. Note that this does not have to match your operating system.</p><p>The <span style=" font-weight:600;">default</span> emulation is a fallback with a minimal featureset.</p></body></html></source>
|
|
||||||
<translation><html><head/><body><p>エミュレータの挙動の選択。注意して頂きたいのは、この選択はオペレーティングシステムと適合する必要はありません。</p><p> <span style=" font-weight:600;">default</span>エミュレーションは最小の機能にフォールバックしたものです。</p></body></html></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="350"/>
|
|
||||||
<source>Action after paste</source>
|
|
||||||
<translation>貼り付け後の挙動</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="383"/>
|
|
||||||
<source>Open new terminals in current working directory</source>
|
|
||||||
<translation>カレントディレクトリに新しいターミナルを開く</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="390"/>
|
|
||||||
<source>Save Size when closing</source>
|
|
||||||
<translation>閉じるときにサイズを保存する</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="397"/>
|
|
||||||
<source>Save Position when closing</source>
|
|
||||||
<translation>閉じるときに位置を保存する</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="404"/>
|
|
||||||
<source>Ask for confirmation when closing</source>
|
|
||||||
<translation>閉じるときに確認する</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="414"/>
|
|
||||||
<source>Unlimited history</source>
|
|
||||||
<translation>履歴を制限しない</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="421"/>
|
|
||||||
<source>History size (in lines)</source>
|
|
||||||
<translation>履歴 (行数)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="472"/>
|
|
||||||
<source>Height</source>
|
|
||||||
<translation>高さ</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="479"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="493"/>
|
|
||||||
<source>%</source>
|
|
||||||
<translation>%</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="486"/>
|
|
||||||
<source>Width</source>
|
|
||||||
<translation>幅</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="536"/>
|
|
||||||
<source>Edit bookmark file contents</source>
|
|
||||||
<translation>ブックマークの内容を編集する</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="558"/>
|
|
||||||
<source>Enable bookmarks</source>
|
|
||||||
<translation>ブックマークを利用可能にする</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="567"/>
|
|
||||||
<source>Bookmark file</source>
|
|
||||||
<translation>ブックマークファイル</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="168"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="191"/>
|
|
||||||
<source> %</source>
|
|
||||||
<translation>%</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="437"/>
|
|
||||||
<source>Shortcut</source>
|
|
||||||
<translation>ショートカット</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="442"/>
|
|
||||||
<source>Key</source>
|
|
||||||
<translation>キー割当</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="72"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation>ブックマーク</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="137"/>
|
|
||||||
<source>Hide tab bar with only one tab</source>
|
|
||||||
<translation>1つのタブしか使用していない場合、タブバーを隠す</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="289"/>
|
|
||||||
<source>&Change...</source>
|
|
||||||
<translation>変更(&C)...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="454"/>
|
|
||||||
<source>Show on start</source>
|
|
||||||
<translation>起動時に表示します</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="461"/>
|
|
||||||
<source>Size</source>
|
|
||||||
<translation>サイズ</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="507"/>
|
|
||||||
<source>Shortcut:</source>
|
|
||||||
<translation>ショートカット:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="577"/>
|
|
||||||
<source>Find...</source>
|
|
||||||
<translation>検索...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="586"/>
|
|
||||||
<source>You can specify your own bookmarks file location. It allows easy bookmark sharing with tools like OwnCloud or Dropbox.</source>
|
|
||||||
<translation>ブックマークファイルの場所を指定することができます。OwnCloudやDropboxのようなツールとブックマークを共有することが容易にできます。</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="45"/>
|
|
||||||
<source>No scrollbar</source>
|
|
||||||
<translation>スクロールバーなし</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="45"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Left</source>
|
|
||||||
<translation>左</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="45"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Right</source>
|
|
||||||
<translation>右</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Top</source>
|
|
||||||
<translation>上</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Bottom</source>
|
|
||||||
<translation>下</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="63"/>
|
|
||||||
<source>No move</source>
|
|
||||||
<translation type="unfinished">無動作</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="63"/>
|
|
||||||
<source>Move start</source>
|
|
||||||
<translation type="unfinished">動作開始</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="63"/>
|
|
||||||
<source>Move end</source>
|
|
||||||
<translation type="unfinished">動作終了</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="68"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="122"/>
|
|
||||||
<source>System Default</source>
|
|
||||||
<translation>システムの既定</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="252"/>
|
|
||||||
<source>Open or create bookmarks file</source>
|
|
||||||
<translation>ブックマークファイルを開く、または新規作成</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>QObject</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="97"/>
|
|
||||||
<source>Local Bookmarks</source>
|
|
||||||
<translation>ローカルブックマーク</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="187"/>
|
|
||||||
<source>Synchronized Bookmarks</source>
|
|
||||||
<translation>ブックマークの同期</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TabWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="70"/>
|
|
||||||
<location filename="../tabwidget.cpp" line="175"/>
|
|
||||||
<source>Shell No. %1</source>
|
|
||||||
<translation>Shell No. %1</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="160"/>
|
|
||||||
<source>Tab name</source>
|
|
||||||
<translation>タブの名前</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="161"/>
|
|
||||||
<source>New tab name:</source>
|
|
||||||
<translation>タブの新しい名前:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="183"/>
|
|
||||||
<source>Close session</source>
|
|
||||||
<translation>タブを閉じる</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="185"/>
|
|
||||||
<source>Rename session</source>
|
|
||||||
<translation>タブ名の変更</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TermWidgetHolder</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="46"/>
|
|
||||||
<source>Load Session</source>
|
|
||||||
<translation>セッションの読込</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="47"/>
|
|
||||||
<source>List of saved sessions:</source>
|
|
||||||
<translation>保存されたセッションリスト:</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>mainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="76"/>
|
|
||||||
<source>&Actions</source>
|
|
||||||
<translation>操作(&A)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="81"/>
|
|
||||||
<source>&Help</source>
|
|
||||||
<translation>ヘルプ(&H)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="93"/>
|
|
||||||
<source>&Edit</source>
|
|
||||||
<translation>編集(&E)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="109"/>
|
|
||||||
<source>&About...</source>
|
|
||||||
<translation>QTerminalについて(&A)...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="114"/>
|
|
||||||
<source>About &Qt...</source>
|
|
||||||
<translation>Qtについて(&Q)...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="119"/>
|
|
||||||
<source>&Preferences...</source>
|
|
||||||
<translation>設定(&P)...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="14"/>
|
|
||||||
<source>MainWindow</source>
|
|
||||||
<translation></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="68"/>
|
|
||||||
<source>&File</source>
|
|
||||||
<translation>ファイル(&F)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="88"/>
|
|
||||||
<source>&View</source>
|
|
||||||
<translation>表示(&V)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="129"/>
|
|
||||||
<source>&Quit</source>
|
|
||||||
<translation>終了(&Q)</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
</TS>
|
|
||||||
@ -1,643 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE TS>
|
|
||||||
<TS version="2.0" language="pt">
|
|
||||||
<context>
|
|
||||||
<name>BookmarksWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/bookmarkswidget.ui" line="32"/>
|
|
||||||
<source>Filter:</source>
|
|
||||||
<translation>Filtrar:</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>FontDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="14"/>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="73"/>
|
|
||||||
<source>Select Terminal Font</source>
|
|
||||||
<translation>Escolha o tipo de letra</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="32"/>
|
|
||||||
<source>Font:</source>
|
|
||||||
<translation>Tipo de letra:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="42"/>
|
|
||||||
<source>Size:</source>
|
|
||||||
<translation>Tamanho:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="59"/>
|
|
||||||
<source>Preview</source>
|
|
||||||
<translation>Pré-visualização</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>MainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="322"/>
|
|
||||||
<source>Close Tab</source>
|
|
||||||
<translation>Fechar separador</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="192"/>
|
|
||||||
<source>Split Terminal Horizontally</source>
|
|
||||||
<translation>Separar na horizontal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="198"/>
|
|
||||||
<source>Split Terminal Vertically</source>
|
|
||||||
<translation>Separar na vertical</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="204"/>
|
|
||||||
<source>Collapse Subterminal</source>
|
|
||||||
<translation>Recolher subterminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="210"/>
|
|
||||||
<source>Next Subterminal</source>
|
|
||||||
<translation>Próximo subterminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="216"/>
|
|
||||||
<source>Previous Subterminal</source>
|
|
||||||
<translation>Subterminal anterior</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="166"/>
|
|
||||||
<source>Next Tab</source>
|
|
||||||
<translation>Novo separador</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="53"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation>Marcadores</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="92"/>
|
|
||||||
<source>Rename Session</source>
|
|
||||||
<translation>Renomear sessão</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="147"/>
|
|
||||||
<source>Press "%1" to see the terminal.</source>
|
|
||||||
<translation>Prima %1 para ver o terminal.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="158"/>
|
|
||||||
<source>Clear Current Tab</source>
|
|
||||||
<translation>Fechar separador atual</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="172"/>
|
|
||||||
<source>Previous Tab</source>
|
|
||||||
<translation>Separador anterior</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="178"/>
|
|
||||||
<source>Move Tab Left</source>
|
|
||||||
<translation>Mover separador para a esquerda</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="184"/>
|
|
||||||
<source>Move Tab Right</source>
|
|
||||||
<translation>Mover separador para a direita</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="225"/>
|
|
||||||
<source>Copy Selection</source>
|
|
||||||
<translation>Copiar seleção</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="231"/>
|
|
||||||
<source>Paste Clipboard</source>
|
|
||||||
<translation>Colar da área de transferência</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="237"/>
|
|
||||||
<source>Paste Selection</source>
|
|
||||||
<translation>Colar da seleção</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="243"/>
|
|
||||||
<source>Zoom in</source>
|
|
||||||
<translation>Ampliar</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="249"/>
|
|
||||||
<source>Zoom out</source>
|
|
||||||
<translation>Reduzir</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="255"/>
|
|
||||||
<source>Zoom reset</source>
|
|
||||||
<translation>Repor ampliação</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="263"/>
|
|
||||||
<source>Find...</source>
|
|
||||||
<translation>Localizar...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="274"/>
|
|
||||||
<source>Save Session</source>
|
|
||||||
<translation>Guardar sessão</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="280"/>
|
|
||||||
<source>Load Session</source>
|
|
||||||
<translation>Carregar sessão</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="287"/>
|
|
||||||
<source>Toggle Menu</source>
|
|
||||||
<translation>Alternar menu</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="305"/>
|
|
||||||
<source>New Tab</source>
|
|
||||||
<translation>Novo separador</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="311"/>
|
|
||||||
<source>New Tab From Preset</source>
|
|
||||||
<translation>Novo separador de pré-ajuste</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="312"/>
|
|
||||||
<source>1 Terminal</source>
|
|
||||||
<translation>1 terminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="314"/>
|
|
||||||
<source>2 Horizontal Terminals</source>
|
|
||||||
<translation>2 terminais horizontais</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="316"/>
|
|
||||||
<source>2 Vertical Terminals</source>
|
|
||||||
<translation>2 terminais verticais</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="318"/>
|
|
||||||
<source>4 Terminals</source>
|
|
||||||
<translation>4 terminais</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="328"/>
|
|
||||||
<source>New Window</source>
|
|
||||||
<translation>Nova janela</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="351"/>
|
|
||||||
<source>Hide Window Borders</source>
|
|
||||||
<translation>Ocultar contornos da janela</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="362"/>
|
|
||||||
<source>Show Tab Bar</source>
|
|
||||||
<translation>Mostrar barra de separadores</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="382"/>
|
|
||||||
<source>Bottom</source>
|
|
||||||
<translation>Baixo</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="383"/>
|
|
||||||
<source>Top</source>
|
|
||||||
<translation>Cima</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="384"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="415"/>
|
|
||||||
<source>Right</source>
|
|
||||||
<translation>Direita</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="385"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="416"/>
|
|
||||||
<source>Left</source>
|
|
||||||
<translation>Esquerda</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="400"/>
|
|
||||||
<source>Tabs Layout</source>
|
|
||||||
<translation>Posição dos separadores</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="414"/>
|
|
||||||
<source>None</source>
|
|
||||||
<translation>Nenhum</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="432"/>
|
|
||||||
<source>Scrollbar Layout</source>
|
|
||||||
<translation>Posição da barra de deslocação</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="486"/>
|
|
||||||
<source>Exit QTerminal</source>
|
|
||||||
<translation>Sair do QTerminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="488"/>
|
|
||||||
<source>Do not ask again</source>
|
|
||||||
<translation>Não perguntar novamente</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="495"/>
|
|
||||||
<source>Are you sure you want to exit?</source>
|
|
||||||
<translation>Tem a certeza de que deseja sair?</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="515"/>
|
|
||||||
<source>A lightweight multiplatform terminal emulator</source>
|
|
||||||
<translation>Um emulador de terminal multiplataforma</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>PropertiesDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="300"/>
|
|
||||||
<source>Emulation</source>
|
|
||||||
<translation>Emulação</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="62"/>
|
|
||||||
<source>Shortcuts</source>
|
|
||||||
<translation>Atalhos</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="14"/>
|
|
||||||
<source>Terminal settings</source>
|
|
||||||
<translation>Definições do terminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="52"/>
|
|
||||||
<source>Appearance</source>
|
|
||||||
<translation>Aparência</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="57"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="325"/>
|
|
||||||
<source>Behavior</source>
|
|
||||||
<translation>Comportamento</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="67"/>
|
|
||||||
<source>Dropdown</source>
|
|
||||||
<translation>Suspenso</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="72"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation>Marcadores</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="90"/>
|
|
||||||
<source>Color scheme</source>
|
|
||||||
<translation>Esquema de cores</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="100"/>
|
|
||||||
<source>Widget style</source>
|
|
||||||
<translation>Estilo do widget</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="110"/>
|
|
||||||
<source>Scrollbar position</source>
|
|
||||||
<translation>Posição da barra de deslocação</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="120"/>
|
|
||||||
<source>Tabs position</source>
|
|
||||||
<translation>Posição dos separadores</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="130"/>
|
|
||||||
<source>Show the menu bar</source>
|
|
||||||
<translation>Mostrar barra de menu</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="137"/>
|
|
||||||
<source>Always show the tab bar</source>
|
|
||||||
<translation>Mostrar sempre a barra de separadores</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="144"/>
|
|
||||||
<source>Show a border around the current terminal</source>
|
|
||||||
<translation>Mostrar contornos do terminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="151"/>
|
|
||||||
<source>Application transparency</source>
|
|
||||||
<translation>Transparência da aplicação</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="177"/>
|
|
||||||
<source>Terminal transparency</source>
|
|
||||||
<translation>Transparência do terminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="197"/>
|
|
||||||
<source>Start with preset:</source>
|
|
||||||
<translation>Iniciar com pré-ajuste:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="205"/>
|
|
||||||
<source>None (single terminal)</source>
|
|
||||||
<translation>Não (um terminal)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="210"/>
|
|
||||||
<source>2 terminals horizontally</source>
|
|
||||||
<translation>2 terminais horizontais</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="215"/>
|
|
||||||
<source>2 terminals vertically</source>
|
|
||||||
<translation>2 terminais verticais</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="220"/>
|
|
||||||
<source>4 terminals</source>
|
|
||||||
<translation>4 terminais</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="241"/>
|
|
||||||
<source>Font</source>
|
|
||||||
<translation>Tipo de letra</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="273"/>
|
|
||||||
<source>&Set Font...</source>
|
|
||||||
<translation>&Definir tipo de letra...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="309"/>
|
|
||||||
<source><html><head/><body><p>Which behavior to emulate. Note that this does not have to match your operating system.</p><p>The <span style=" font-weight:600;">default</span> emulation is a fallback with a minimal featureset.</p></body></html></source>
|
|
||||||
<translation><html><head/><body><p>O comportamento a emular. Tenha em atenção que esta opção não tem que ser igual à do sistema operativo.</p><p>A emulação <span style=" font-weight:600;">pré-definida</span> possui um conjunto mínimo de funcionalidades.</p></body></html></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="331"/>
|
|
||||||
<source>Action after paste</source>
|
|
||||||
<translation>Ação depois de colar</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="364"/>
|
|
||||||
<source>Open new terminals in current working directory</source>
|
|
||||||
<translation>Abrir novos terminais no diretório de trabalho atual</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="371"/>
|
|
||||||
<source>Ask for confirmation when closing</source>
|
|
||||||
<translation>Confirmar antes de fechar</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="381"/>
|
|
||||||
<source>Unlimited history</source>
|
|
||||||
<translation>Histórico ilimitado</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="388"/>
|
|
||||||
<source>History size (in lines)</source>
|
|
||||||
<translation>Limitar histórico (linhas)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="456"/>
|
|
||||||
<source>Height</source>
|
|
||||||
<translation>Altura</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="463"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="477"/>
|
|
||||||
<source>%</source>
|
|
||||||
<translation>%</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="470"/>
|
|
||||||
<source>Width</source>
|
|
||||||
<translation>Largura</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="520"/>
|
|
||||||
<source>Edit bookmark file contents</source>
|
|
||||||
<translation>Editar conteúdo do ficheiro de marcadores</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="542"/>
|
|
||||||
<source>Enable bookmarks</source>
|
|
||||||
<translation>Ativar marcadores</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="551"/>
|
|
||||||
<source>Bookmark file</source>
|
|
||||||
<translation>Ficheiro de marcadores</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="438"/>
|
|
||||||
<source>Show on start</source>
|
|
||||||
<translation>Mostrar ao iniciar</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="445"/>
|
|
||||||
<source>Size</source>
|
|
||||||
<translation>Tamanho</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="491"/>
|
|
||||||
<source>Shortcut:</source>
|
|
||||||
<translation>Atalho:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="561"/>
|
|
||||||
<source>Find...</source>
|
|
||||||
<translation>Localizar...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="570"/>
|
|
||||||
<source>You can specify your own bookmarks file location. It allows easy bookmark sharing with tools like OwnCloud or Dropbox.</source>
|
|
||||||
<translation>Pode especificar a localização do ficheiro de marcadores. Permite a partilha de marcadores através do Own Cloud, Dropbox e mais serviços.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="161"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="184"/>
|
|
||||||
<source> %</source>
|
|
||||||
<translation> %</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="421"/>
|
|
||||||
<source>Shortcut</source>
|
|
||||||
<translation>Atalho</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="426"/>
|
|
||||||
<source>Key</source>
|
|
||||||
<translation>Tecla</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="45"/>
|
|
||||||
<source>No scrollbar</source>
|
|
||||||
<translation>Sem barra de deslocação</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="45"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Left</source>
|
|
||||||
<translation>Esquerda</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="45"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Right</source>
|
|
||||||
<translation>Direita</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Top</source>
|
|
||||||
<translation>Cima</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Bottom</source>
|
|
||||||
<translation>Baixo</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="63"/>
|
|
||||||
<source>No move</source>
|
|
||||||
<translation>Não mover</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="63"/>
|
|
||||||
<source>Move start</source>
|
|
||||||
<translation>Mover para o inicio</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="63"/>
|
|
||||||
<source>Move end</source>
|
|
||||||
<translation>Mover para o fim</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="68"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="122"/>
|
|
||||||
<source>System Default</source>
|
|
||||||
<translation>Predefinições</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="252"/>
|
|
||||||
<source>Open or create bookmarks file</source>
|
|
||||||
<translation>Abrir ou criar um ficheiro de marcadores</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>QObject</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="97"/>
|
|
||||||
<source>Local Bookmarks</source>
|
|
||||||
<translation>Marcadores locais</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="190"/>
|
|
||||||
<source>Synchronized Bookmarks</source>
|
|
||||||
<translation>Marcadores sincronizados</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TabWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="69"/>
|
|
||||||
<location filename="../tabwidget.cpp" line="174"/>
|
|
||||||
<source>Shell No. %1</source>
|
|
||||||
<translation>Consola n.º %1</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="160"/>
|
|
||||||
<source>Tab name</source>
|
|
||||||
<translation>Nome do separador</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="161"/>
|
|
||||||
<source>New tab name:</source>
|
|
||||||
<translation>Nome do novo separador:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="183"/>
|
|
||||||
<source>Close session</source>
|
|
||||||
<translation>Fechar sessão</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="185"/>
|
|
||||||
<source>Rename session</source>
|
|
||||||
<translation>Renomear sessão</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TermWidgetHolder</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="46"/>
|
|
||||||
<source>Load Session</source>
|
|
||||||
<translation>Carregar sessão</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="47"/>
|
|
||||||
<source>List of saved sessions:</source>
|
|
||||||
<translation>Lista de sessões guardadas:</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>mainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="14"/>
|
|
||||||
<source>MainWindow</source>
|
|
||||||
<translation>Janela principal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="68"/>
|
|
||||||
<source>File</source>
|
|
||||||
<translation>Ficheiro</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="76"/>
|
|
||||||
<source>Actions</source>
|
|
||||||
<translation>Ações</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="81"/>
|
|
||||||
<source>Help</source>
|
|
||||||
<translation>Ajuda</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="88"/>
|
|
||||||
<source>View</source>
|
|
||||||
<translation>Ver</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="93"/>
|
|
||||||
<source>Edit</source>
|
|
||||||
<translation>Editar</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="125"/>
|
|
||||||
<source>&Quit</source>
|
|
||||||
<translation>&Sair</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="107"/>
|
|
||||||
<source>About...</source>
|
|
||||||
<translation>Sobre...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="112"/>
|
|
||||||
<source>About Qt...</source>
|
|
||||||
<translation>Sobre Qt...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="117"/>
|
|
||||||
<source>&Preferences...</source>
|
|
||||||
<translation>&Preferências...</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
</TS>
|
|
||||||
@ -1,658 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE TS>
|
|
||||||
<TS version="2.1" language="ru_RU">
|
|
||||||
<context>
|
|
||||||
<name>BookmarksWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/bookmarkswidget.ui" line="32"/>
|
|
||||||
<source>Filter:</source>
|
|
||||||
<translation>Фильтр:</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>FontDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="14"/>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="73"/>
|
|
||||||
<source>Select Terminal Font</source>
|
|
||||||
<translation>Выберите шрифт терминала</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="32"/>
|
|
||||||
<source>Font:</source>
|
|
||||||
<translation>Шрифт:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="42"/>
|
|
||||||
<source>Size:</source>
|
|
||||||
<translation>Кегль:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="59"/>
|
|
||||||
<source>Preview</source>
|
|
||||||
<translation>Предпросмотр</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>MainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="53"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation>Закладки</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="97"/>
|
|
||||||
<source>Rename Session</source>
|
|
||||||
<translation>Переименовать сессию</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="130"/>
|
|
||||||
<source>Press "%1" to see the terminal.</source>
|
|
||||||
<translation>Нажмите "%1" чтобы увидеть терминал.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="141"/>
|
|
||||||
<source>&Clear Current Tab</source>
|
|
||||||
<translation>&Очистить текущую вкладку</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="150"/>
|
|
||||||
<source>&Next Tab</source>
|
|
||||||
<translation>&Следующая вкладка</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="157"/>
|
|
||||||
<source>&Previous Tab</source>
|
|
||||||
<translation>&Предыдущая вкладка</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="164"/>
|
|
||||||
<source>Move Tab &Left</source>
|
|
||||||
<translation>Сдвинуть вкладку в&лево</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="171"/>
|
|
||||||
<source>Move Tab &Right</source>
|
|
||||||
<translation>Сдвинуть вкладку в&право</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
|
||||||
<source>Split Terminal &Horizontally</source>
|
|
||||||
<translation>Разделить терминал по &горизонтали</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="187"/>
|
|
||||||
<source>Split Terminal &Vertically</source>
|
|
||||||
<translation>Разделить терминал по &вертикали</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="194"/>
|
|
||||||
<source>&Collapse Subterminal</source>
|
|
||||||
<translation>&Закрыть подтерминал</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="201"/>
|
|
||||||
<source>N&ext Subterminal</source>
|
|
||||||
<translation>С&ледующий подтерминал</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="208"/>
|
|
||||||
<source>P&revious Subterminal</source>
|
|
||||||
<translation>П&редыдущий подтерминал</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="218"/>
|
|
||||||
<source>Copy &Selection</source>
|
|
||||||
<translation>Скопировать &выделенное</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="225"/>
|
|
||||||
<source>Paste Clip&board</source>
|
|
||||||
<translation>Вставить из буф&ера</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="232"/>
|
|
||||||
<source>Paste S&election</source>
|
|
||||||
<translation>Вставить в&ыделенное</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="239"/>
|
|
||||||
<source>Zoom &in</source>
|
|
||||||
<translation>&Увеличить</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="246"/>
|
|
||||||
<source>Zoom &out</source>
|
|
||||||
<translation>&Уменьшить</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="253"/>
|
|
||||||
<source>Zoom rese&t</source>
|
|
||||||
<translation>&Сбросить увеличение</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="262"/>
|
|
||||||
<source>&Find...</source>
|
|
||||||
<translation>&Найти...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="274"/>
|
|
||||||
<source>&Save Session</source>
|
|
||||||
<translation>&Сохранить сеанс</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="280"/>
|
|
||||||
<source>&Load Session</source>
|
|
||||||
<translation>&Загрузить сеанс</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="287"/>
|
|
||||||
<source>&Toggle Menu</source>
|
|
||||||
<translation>&Показать строку меню</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="306"/>
|
|
||||||
<source>&New Tab</source>
|
|
||||||
<translation>&Новая вкладка</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="313"/>
|
|
||||||
<source>New Tab From &Preset</source>
|
|
||||||
<translation>Новая вкладка из &шаблонов</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="314"/>
|
|
||||||
<source>1 &Terminal</source>
|
|
||||||
<translation>1 &терминал</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="316"/>
|
|
||||||
<source>2 &Horizontal Terminals</source>
|
|
||||||
<translation>2 &горизонтальных терминала</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="318"/>
|
|
||||||
<source>2 &Vertical Terminals</source>
|
|
||||||
<translation>2 &вертикальных терминала</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="320"/>
|
|
||||||
<source>4 Terminal&s</source>
|
|
||||||
<translation>4 терминал&а</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="324"/>
|
|
||||||
<source>&Close Tab</source>
|
|
||||||
<translation>&Закрыть вкладку</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="331"/>
|
|
||||||
<source>&New Window</source>
|
|
||||||
<translation>&Новое окно</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="365"/>
|
|
||||||
<source>&Hide Window Borders</source>
|
|
||||||
<translation>&Спрятать рамку окна</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="380"/>
|
|
||||||
<source>&Show Tab Bar</source>
|
|
||||||
<translation>&Показать панель вкладок</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="392"/>
|
|
||||||
<source>Fullscreen</source>
|
|
||||||
<translation>Во весь экран</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="412"/>
|
|
||||||
<source>&Bottom</source>
|
|
||||||
<translation>&Снизу</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="413"/>
|
|
||||||
<source>&Top</source>
|
|
||||||
<translation>&Сверху</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="414"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="445"/>
|
|
||||||
<source>&Right</source>
|
|
||||||
<translation>&Справа</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="415"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="446"/>
|
|
||||||
<source>&Left</source>
|
|
||||||
<translation>&Слева</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="430"/>
|
|
||||||
<source>&Tabs Layout</source>
|
|
||||||
<translation>Расположение &вкладок</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="444"/>
|
|
||||||
<source>&None</source>
|
|
||||||
<translation>&Убрать</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="462"/>
|
|
||||||
<source>S&crollbar Layout</source>
|
|
||||||
<translation>Расположение по&лосы прокрутки</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="529"/>
|
|
||||||
<source>Exit QTerminal</source>
|
|
||||||
<translation>Выйти из QTerminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="531"/>
|
|
||||||
<source>Do not ask again</source>
|
|
||||||
<translation>Не спрашивать снова</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="538"/>
|
|
||||||
<source>Are you sure you want to exit?</source>
|
|
||||||
<translation>Вы уверены, что хотите выйти?</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="559"/>
|
|
||||||
<source>A lightweight multiplatform terminal emulator</source>
|
|
||||||
<translation>Лёгкий мультиплатформенный эмулятор терминала</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>PropertiesDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="319"/>
|
|
||||||
<source>Emulation</source>
|
|
||||||
<translation>Эмуляция</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="62"/>
|
|
||||||
<source>Shortcuts</source>
|
|
||||||
<translation>Сочетания клавиш</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="14"/>
|
|
||||||
<source>Terminal settings</source>
|
|
||||||
<translation>Настройки терминала</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="52"/>
|
|
||||||
<source>Appearance</source>
|
|
||||||
<translation>Внешний вид</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="57"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="344"/>
|
|
||||||
<source>Behavior</source>
|
|
||||||
<translation>Поведение</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="67"/>
|
|
||||||
<source>Dropdown</source>
|
|
||||||
<translation>Выпадающий терминал</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="72"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation>Закладки</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="90"/>
|
|
||||||
<source>Color scheme</source>
|
|
||||||
<translation>Цветовая схема</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="100"/>
|
|
||||||
<source>Widget style</source>
|
|
||||||
<translation>Графический стиль</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="110"/>
|
|
||||||
<source>Scrollbar position</source>
|
|
||||||
<translation>Расположение полосы прокрутки</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="120"/>
|
|
||||||
<source>Tabs position</source>
|
|
||||||
<translation>Расположение вкладок</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="130"/>
|
|
||||||
<source>Show the menu bar</source>
|
|
||||||
<translation>Показывать панель меню</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="144"/>
|
|
||||||
<source>Show a border around the current terminal</source>
|
|
||||||
<translation>Показывать границу вокруг текущего терминала</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="151"/>
|
|
||||||
<source>Application transparency</source>
|
|
||||||
<translation>Прозрачность приложения</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="161"/>
|
|
||||||
<source>Terminal transparency</source>
|
|
||||||
<translation>Прозрачность терминала</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="184"/>
|
|
||||||
<source>Start with preset:</source>
|
|
||||||
<translation>Начинать с предустановкой:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="208"/>
|
|
||||||
<source>None (single terminal)</source>
|
|
||||||
<translation>Нет (один терминал)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="213"/>
|
|
||||||
<source>2 terminals horizontally</source>
|
|
||||||
<translation>2 горизонтальных терминала</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="218"/>
|
|
||||||
<source>2 terminals vertically</source>
|
|
||||||
<translation>2 вертикальных терминала</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="223"/>
|
|
||||||
<source>4 terminals</source>
|
|
||||||
<translation>4 терминала</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="259"/>
|
|
||||||
<source>Font</source>
|
|
||||||
<translation>Шрифт</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="328"/>
|
|
||||||
<source><html><head/><body><p>Which behavior to emulate. Note that this does not have to match your operating system.</p><p>The <span style=" font-weight:600;">default</span> emulation is a fallback with a minimal featureset.</p></body></html></source>
|
|
||||||
<translation><html><head/><body><p>Какое поведение эмулировать. Обратите внимание, что это не обязательно должно соответствовать вашей операционной системе.</p><p>Эмуляция <span style=" font-weight:600;">по умолчанию</span> - это запасной режим с минимальным набором функций.</p></body></html></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="350"/>
|
|
||||||
<source>Action after paste</source>
|
|
||||||
<translation>Действие после вставки</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="383"/>
|
|
||||||
<source>Open new terminals in current working directory</source>
|
|
||||||
<translation>Открывать новые терминалы в текущем рабочем каталоге</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="390"/>
|
|
||||||
<source>Save Size when closing</source>
|
|
||||||
<translation>Запоминать размер при закрытии</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="397"/>
|
|
||||||
<source>Save Position when closing</source>
|
|
||||||
<translation>Запоминать расположение при закрытии</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="404"/>
|
|
||||||
<source>Ask for confirmation when closing</source>
|
|
||||||
<translation>Запрашивать подтверждение при закрытии</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="414"/>
|
|
||||||
<source>Unlimited history</source>
|
|
||||||
<translation>Неограниченная история</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="421"/>
|
|
||||||
<source>History size (in lines)</source>
|
|
||||||
<translation>Размер истории (в строках)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="489"/>
|
|
||||||
<source>Height</source>
|
|
||||||
<translation>Высота</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="496"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="510"/>
|
|
||||||
<source>%</source>
|
|
||||||
<translation></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="503"/>
|
|
||||||
<source>Width</source>
|
|
||||||
<translation>Ширина</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="553"/>
|
|
||||||
<source>Edit bookmark file contents</source>
|
|
||||||
<translation>Изменить содержимое файла закладок</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="575"/>
|
|
||||||
<source>Enable bookmarks</source>
|
|
||||||
<translation>Включить закладки</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="584"/>
|
|
||||||
<source>Bookmark file</source>
|
|
||||||
<translation>Файл закладок</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="471"/>
|
|
||||||
<source>Show on start</source>
|
|
||||||
<translation>Показать при запуске</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="137"/>
|
|
||||||
<source>Hide tab bar with only one tab</source>
|
|
||||||
<translation>Прятать панель вкладок только с одной вкладкой</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="292"/>
|
|
||||||
<source>&Change...</source>
|
|
||||||
<translation>&Изменить...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="478"/>
|
|
||||||
<source>Size</source>
|
|
||||||
<translation>Размер</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="524"/>
|
|
||||||
<source>Shortcut:</source>
|
|
||||||
<translation>Сочетание клавиш:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="594"/>
|
|
||||||
<source>Find...</source>
|
|
||||||
<translation>Найти...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="603"/>
|
|
||||||
<source>You can specify your own bookmarks file location. It allows easy bookmark sharing with tools like OwnCloud or Dropbox.</source>
|
|
||||||
<translation>Вы можете выбрать ваше собственное место для хранения закладок. Это позволит легко делиться закладками с помощью таких инструментов как OwnCloud или Dropbox.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="168"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="191"/>
|
|
||||||
<source> %</source>
|
|
||||||
<translation> %</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="454"/>
|
|
||||||
<source>Shortcut</source>
|
|
||||||
<translation>Сочетание клавиш</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="459"/>
|
|
||||||
<source>Key</source>
|
|
||||||
<translation>Клавиши</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="45"/>
|
|
||||||
<source>No scrollbar</source>
|
|
||||||
<translation>Без полосы прокрутки</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="45"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Left</source>
|
|
||||||
<translation>Слева</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="45"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Right</source>
|
|
||||||
<translation>Справа</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Top</source>
|
|
||||||
<translation>Сверху</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Bottom</source>
|
|
||||||
<translation>Снизу</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="63"/>
|
|
||||||
<source>No move</source>
|
|
||||||
<translation>Не двигаться</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="63"/>
|
|
||||||
<source>Move start</source>
|
|
||||||
<translation>Переместиться в начало</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="63"/>
|
|
||||||
<source>Move end</source>
|
|
||||||
<translation>Переместиться в конец</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="68"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="123"/>
|
|
||||||
<source>System Default</source>
|
|
||||||
<translation>Системный</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="256"/>
|
|
||||||
<source>Open or create bookmarks file</source>
|
|
||||||
<translation>Открыть или создать файл закладок</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>QObject</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="97"/>
|
|
||||||
<source>Local Bookmarks</source>
|
|
||||||
<translation>Локальные закладки</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="187"/>
|
|
||||||
<source>Synchronized Bookmarks</source>
|
|
||||||
<translation>Синхронизированные закладки</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TabWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="70"/>
|
|
||||||
<location filename="../tabwidget.cpp" line="175"/>
|
|
||||||
<source>Shell No. %1</source>
|
|
||||||
<translation>Оболочка № %1</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="161"/>
|
|
||||||
<source>Tab name</source>
|
|
||||||
<translation>Имя вкладки</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="162"/>
|
|
||||||
<source>New tab name:</source>
|
|
||||||
<translation>Имя новой вкладки:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="184"/>
|
|
||||||
<source>Close session</source>
|
|
||||||
<translation>Закрыть сессию</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="186"/>
|
|
||||||
<source>Rename session</source>
|
|
||||||
<translation>Переименовать сессию</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TermWidgetHolder</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="46"/>
|
|
||||||
<source>Load Session</source>
|
|
||||||
<translation>Загрузить сессию</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="47"/>
|
|
||||||
<source>List of saved sessions:</source>
|
|
||||||
<translation>Список сохранённых сессий:</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>mainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="14"/>
|
|
||||||
<source>MainWindow</source>
|
|
||||||
<translation>Главное окно</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="68"/>
|
|
||||||
<source>&File</source>
|
|
||||||
<translation>&Файл</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="76"/>
|
|
||||||
<source>&Actions</source>
|
|
||||||
<translation>&Действия</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="81"/>
|
|
||||||
<source>&Help</source>
|
|
||||||
<translation>&Справка</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="88"/>
|
|
||||||
<source>&View</source>
|
|
||||||
<translation>&Вид</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="93"/>
|
|
||||||
<source>&Edit</source>
|
|
||||||
<translation>&Правка</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="109"/>
|
|
||||||
<source>&About...</source>
|
|
||||||
<translation>О &программе...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="114"/>
|
|
||||||
<source>About &Qt...</source>
|
|
||||||
<translation>О &Qt...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="129"/>
|
|
||||||
<source>&Quit</source>
|
|
||||||
<translation>&Выход</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="119"/>
|
|
||||||
<source>&Preferences...</source>
|
|
||||||
<translation>&Настройки...</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
</TS>
|
|
||||||
@ -1,609 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE TS>
|
|
||||||
<TS version="2.1" language="tr_TR">
|
|
||||||
<context>
|
|
||||||
<name>BookmarksWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/bookmarkswidget.ui" line="32"/>
|
|
||||||
<source>Filter:</source>
|
|
||||||
<translation>Süzgeç:</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>FontDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="14"/>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="73"/>
|
|
||||||
<source>Select Terminal Font</source>
|
|
||||||
<translation>Terminal yazıtipini seç</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="32"/>
|
|
||||||
<source>Font:</source>
|
|
||||||
<translation>Yazıtipi:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="42"/>
|
|
||||||
<source>Size:</source>
|
|
||||||
<translation>Boyut:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="59"/>
|
|
||||||
<source>Preview</source>
|
|
||||||
<translation>Önizle</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>MainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="310"/>
|
|
||||||
<source>Close Tab</source>
|
|
||||||
<translation>Sekmeyi Kapat</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="191"/>
|
|
||||||
<source>Split Terminal Horizontally</source>
|
|
||||||
<translation>Terminali Yatay Olarak Böl</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="197"/>
|
|
||||||
<source>Split Terminal Vertically</source>
|
|
||||||
<translation>Terminali Dikey Olarak Böl</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="203"/>
|
|
||||||
<source>Collapse Subterminal</source>
|
|
||||||
<translation>Altterminali Kapat</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="209"/>
|
|
||||||
<source>Next Subterminal</source>
|
|
||||||
<translation>Sonraki Altterminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="215"/>
|
|
||||||
<source>Previous Subterminal</source>
|
|
||||||
<translation>Önceki Altterminal</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="165"/>
|
|
||||||
<source>Next Tab</source>
|
|
||||||
<translation>Sonraki Sekme</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="53"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation>Yer İmleri</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="91"/>
|
|
||||||
<source>Rename Session</source>
|
|
||||||
<translation>Oturumu Yeniden Adlandır</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="146"/>
|
|
||||||
<source>Press "%1" to see the terminal.</source>
|
|
||||||
<translation>Terminali görmek için "%1" e basın.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="157"/>
|
|
||||||
<source>Clear Current Tab</source>
|
|
||||||
<translation>Mevcut sekmeyi temizle</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="171"/>
|
|
||||||
<source>Previous Tab</source>
|
|
||||||
<translation>Önceki Sekme</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="177"/>
|
|
||||||
<source>Move Tab Left</source>
|
|
||||||
<translation>Sekmeyi Sola Taşı</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="183"/>
|
|
||||||
<source>Move Tab Right</source>
|
|
||||||
<translation>Sekmeyi Sağa Taşı</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="224"/>
|
|
||||||
<source>Copy Selection</source>
|
|
||||||
<translation>Seçimi Kopyala</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="230"/>
|
|
||||||
<source>Paste Clipboard</source>
|
|
||||||
<translation>Panoyu Yapıştır</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="236"/>
|
|
||||||
<source>Paste Selection</source>
|
|
||||||
<translation>Seçimi Yapıştır</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="242"/>
|
|
||||||
<source>Zoom in</source>
|
|
||||||
<translation type="unfinished">Büyüt</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="248"/>
|
|
||||||
<source>Zoom out</source>
|
|
||||||
<translation type="unfinished">Küçült</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="254"/>
|
|
||||||
<source>Zoom reset</source>
|
|
||||||
<translation>Sıfırla</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="262"/>
|
|
||||||
<source>Find...</source>
|
|
||||||
<translation>Bul...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="273"/>
|
|
||||||
<source>Save Session</source>
|
|
||||||
<translation>Oturumu Kaydet</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="279"/>
|
|
||||||
<source>Load Session</source>
|
|
||||||
<translation>Oturum Yükle</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="286"/>
|
|
||||||
<source>Toggle Menu</source>
|
|
||||||
<translation>Menüyü Değiştir</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="304"/>
|
|
||||||
<source>New Tab</source>
|
|
||||||
<translation>Yeni Sekme</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="316"/>
|
|
||||||
<source>New Window</source>
|
|
||||||
<translation>Yeni Pencere</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="339"/>
|
|
||||||
<source>Hide Window Borders</source>
|
|
||||||
<translation>Pencere Kenarlıklarını Gizle</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="350"/>
|
|
||||||
<source>Show Tab Bar</source>
|
|
||||||
<translation>Sekme Çubuğunu Göster</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="370"/>
|
|
||||||
<source>Bottom</source>
|
|
||||||
<translation>En Aşağı</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="371"/>
|
|
||||||
<source>Top</source>
|
|
||||||
<translation>En Yukarı</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="372"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="403"/>
|
|
||||||
<source>Right</source>
|
|
||||||
<translation>Sağ</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="373"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="404"/>
|
|
||||||
<source>Left</source>
|
|
||||||
<translation>Sol</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="388"/>
|
|
||||||
<source>Tabs Layout</source>
|
|
||||||
<translation>Sekme Düzeni</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="402"/>
|
|
||||||
<source>None</source>
|
|
||||||
<translation>Hiç</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="420"/>
|
|
||||||
<source>Scrollbar Layout</source>
|
|
||||||
<translation>Kaydırma Çubuğu Düzeni</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="474"/>
|
|
||||||
<source>Exit QTerminal</source>
|
|
||||||
<translation>QTerminalden Çık</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="476"/>
|
|
||||||
<source>Do not ask again</source>
|
|
||||||
<translation>Tekrar Sorma</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="483"/>
|
|
||||||
<source>Are you sure you want to exit?</source>
|
|
||||||
<translation>Çıkmak istediğinizden emin misiniz?</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="503"/>
|
|
||||||
<source>A lightweight multiplatform terminal emulator</source>
|
|
||||||
<translation>Hafif bir çok platformlu terminal öykünücüsü</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>PropertiesDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="14"/>
|
|
||||||
<source>QTerminal Properties</source>
|
|
||||||
<translation>Qterminal özellikleri</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="49"/>
|
|
||||||
<source>Terminal Font</source>
|
|
||||||
<translation>Terminal Yazıtipi</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="54"/>
|
|
||||||
<source>Look and Feel</source>
|
|
||||||
<translation>Görünüm</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="59"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="314"/>
|
|
||||||
<source>History</source>
|
|
||||||
<translation>Geçmiş</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="64"/>
|
|
||||||
<source>Emulation</source>
|
|
||||||
<translation>Öykünme</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="69"/>
|
|
||||||
<source>Shortcuts</source>
|
|
||||||
<translation>Kısayollar</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="74"/>
|
|
||||||
<source>DropDown</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="79"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation>Yer İmleri</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="97"/>
|
|
||||||
<source>Font</source>
|
|
||||||
<translation>Yazıtipi</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="129"/>
|
|
||||||
<source>&Set Font...</source>
|
|
||||||
<translation>Yazıtipini Ay&arla...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="152"/>
|
|
||||||
<source>Note: only fixed width font are allowed to be used in terminal</source>
|
|
||||||
<translation>Not: Sadece sabit genişlikteki yazıtiplerinin terminalde kullanılmasına müsade edilmiştir</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="169"/>
|
|
||||||
<source>Action after paste clipboard</source>
|
|
||||||
<translation>Panoyu yapıştırdıktan sonraki eylem</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="176"/>
|
|
||||||
<source>Color Scheme:</source>
|
|
||||||
<translation>Renk Şeması:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="209"/>
|
|
||||||
<source>GUI Style:</source>
|
|
||||||
<translation>GUI Biçemi:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="252"/>
|
|
||||||
<source>Scrollbar Position:</source>
|
|
||||||
<translation>Kaydırma Çubuğu Konumu:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="445"/>
|
|
||||||
<source>Show on start</source>
|
|
||||||
<translation>Başlangıçta göster</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="452"/>
|
|
||||||
<source>Size</source>
|
|
||||||
<translation>Boyut</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="460"/>
|
|
||||||
<source>Height %:</source>
|
|
||||||
<translation>Yükseklik %:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="470"/>
|
|
||||||
<source>Width %:</source>
|
|
||||||
<translation>Genişlik %:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="487"/>
|
|
||||||
<source>Shortcut:</source>
|
|
||||||
<translation>Kısayol:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="516"/>
|
|
||||||
<source>Edit File Content</source>
|
|
||||||
<translation>Dosya İçeriğini Düzenle</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="538"/>
|
|
||||||
<source>Use Bookmarks</source>
|
|
||||||
<translation>Yerimleri Kullan</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="547"/>
|
|
||||||
<source>Bookmark FIle:</source>
|
|
||||||
<translation>Yerimi Dosyası:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="557"/>
|
|
||||||
<source>Find...</source>
|
|
||||||
<translation>Bul...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="566"/>
|
|
||||||
<source>You can specify your own bookmarks file location. It allows easy bookmark sharing with tools like OwnCloud or Dropbox.</source>
|
|
||||||
<translation>Kendi yerimleri dosya yolunuzu berlirleyebilirsiniz. OwnCloud veya Dropbox gibi araçlarla yerimlerinizi paylaşmayı kolaylaştırır.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="202"/>
|
|
||||||
<source>Tabs Position:</source>
|
|
||||||
<translation>Sekmelerin Konumu:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="259"/>
|
|
||||||
<source>&Application Transparency:</source>
|
|
||||||
<translation>&Uygulama Saydamlığı:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="216"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="236"/>
|
|
||||||
<source> %</source>
|
|
||||||
<translation> %</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="229"/>
|
|
||||||
<source>Terminal Transparency:</source>
|
|
||||||
<translation>Terminal Saydamlığı:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="272"/>
|
|
||||||
<source>&Highlight Current Terminal With Border</source>
|
|
||||||
<translation>Mevcut Terminali Kenarlık ile Vurgula</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="279"/>
|
|
||||||
<source>Ask for Window Closing Confirmation</source>
|
|
||||||
<translation>Pencere Kapatma İçin Onay Sor</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="289"/>
|
|
||||||
<source>Open New Sub-Terminals in Current Working Dir</source>
|
|
||||||
<translation>Mecut Çalışma Dizininde Yeni Bir Altterminal Aç</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="296"/>
|
|
||||||
<source>Show Main Menu</source>
|
|
||||||
<translation>Ana Menüyü Göster</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="303"/>
|
|
||||||
<source>Always Show Tabs</source>
|
|
||||||
<translation>Sekmeleri Daima Göster</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="320"/>
|
|
||||||
<source>Limited to: </source>
|
|
||||||
<translation>Sınırla:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="340"/>
|
|
||||||
<source>Unlimited</source>
|
|
||||||
<translation>Sınırsız</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="367"/>
|
|
||||||
<source>Emulation Type</source>
|
|
||||||
<translation>Öykünme Türü</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="376"/>
|
|
||||||
<source>Select emulation behaviour. It does not mean that for example "linux" has to be used only on Linux OS. Feel free to use it on Mac too etc.<p>Default is the failback type with minimal feature set.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="428"/>
|
|
||||||
<source>Shortcut</source>
|
|
||||||
<translation>Kısayol</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="433"/>
|
|
||||||
<source>Key</source>
|
|
||||||
<translation>Anahtar</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="42"/>
|
|
||||||
<source>No scrollbar</source>
|
|
||||||
<translation>Kaydırma çubuğu yok</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="42"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Left</source>
|
|
||||||
<translation>Sol</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="42"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Right</source>
|
|
||||||
<translation>Sağ</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Top</source>
|
|
||||||
<translation>En Yukarı</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="48"/>
|
|
||||||
<source>Bottom</source>
|
|
||||||
<translation>En Aşağı</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="60"/>
|
|
||||||
<source>No move</source>
|
|
||||||
<translation>Taşıma yok</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="60"/>
|
|
||||||
<source>Move start</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="60"/>
|
|
||||||
<source>Move end</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="65"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="117"/>
|
|
||||||
<source>System Default</source>
|
|
||||||
<translation>Sistem Varsayılanı</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="245"/>
|
|
||||||
<source>Open or create bookmarks file</source>
|
|
||||||
<translation>Yerimleri dosyası aç ya da oluştur</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>QObject</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="97"/>
|
|
||||||
<source>Local Bookmarks</source>
|
|
||||||
<translation>Yerel Yerimleri</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="190"/>
|
|
||||||
<source>Synchronized Bookmarks</source>
|
|
||||||
<translation>Yerimlerini Eşitle</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TabWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="69"/>
|
|
||||||
<location filename="../tabwidget.cpp" line="174"/>
|
|
||||||
<source>Shell No. %1</source>
|
|
||||||
<translation>Kabuk No. %1</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="160"/>
|
|
||||||
<source>Tab name</source>
|
|
||||||
<translation>Sekme adı</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="161"/>
|
|
||||||
<source>New tab name:</source>
|
|
||||||
<translation>Yeni sekme adı:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="183"/>
|
|
||||||
<source>Close session</source>
|
|
||||||
<translation>Oturumu kapat</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="185"/>
|
|
||||||
<source>Rename session</source>
|
|
||||||
<translation>Oturumu yeniden adlandır</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TermWidgetHolder</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="46"/>
|
|
||||||
<source>Load Session</source>
|
|
||||||
<translation>Oturum Yükle</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="47"/>
|
|
||||||
<source>List of saved sessions:</source>
|
|
||||||
<translation>Kaydedilmiş oturum listesi:</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TermWidgetImpl</name>
|
|
||||||
<message>
|
|
||||||
<source>Split Terminal Horizontally</source>
|
|
||||||
<translation type="obsolete">Rozdělit Terminál Horizontálně</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>mainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="14"/>
|
|
||||||
<source>MainWindow</source>
|
|
||||||
<translation>Ana Pencere</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="68"/>
|
|
||||||
<source>File</source>
|
|
||||||
<translation>Dosya</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="76"/>
|
|
||||||
<source>Actions</source>
|
|
||||||
<translation>Eylemler</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="81"/>
|
|
||||||
<source>Help</source>
|
|
||||||
<translation>Yardım</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="88"/>
|
|
||||||
<source>View</source>
|
|
||||||
<translation>Görünüm</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="93"/>
|
|
||||||
<source>Edit</source>
|
|
||||||
<translation>Düzenle</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="125"/>
|
|
||||||
<source>&Quit</source>
|
|
||||||
<translation>&Çık</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="107"/>
|
|
||||||
<source>About...</source>
|
|
||||||
<translation>Hakkında...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="112"/>
|
|
||||||
<source>About Qt...</source>
|
|
||||||
<translation>Qt Hakkında...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="117"/>
|
|
||||||
<source>&Preferences...</source>
|
|
||||||
<translation>&Tercihler...</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
</TS>
|
|
||||||
@ -1,658 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE TS>
|
|
||||||
<TS version="2.1" language="zh_CN">
|
|
||||||
<context>
|
|
||||||
<name>BookmarksWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/bookmarkswidget.ui" line="32"/>
|
|
||||||
<source>Filter:</source>
|
|
||||||
<translation>过滤:</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>FontDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="14"/>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="73"/>
|
|
||||||
<source>Select Terminal Font</source>
|
|
||||||
<translation>选择终端字体</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="32"/>
|
|
||||||
<source>Font:</source>
|
|
||||||
<translation>字体:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="42"/>
|
|
||||||
<source>Size:</source>
|
|
||||||
<translation>字体大小:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/fontdialog.ui" line="59"/>
|
|
||||||
<source>Preview</source>
|
|
||||||
<translation>预览</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>MainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="324"/>
|
|
||||||
<source>&Close Tab</source>
|
|
||||||
<translation>关闭标签页(&C)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="180"/>
|
|
||||||
<source>Split Terminal &Horizontally</source>
|
|
||||||
<translation>水平布局终端(&H)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="187"/>
|
|
||||||
<source>Split Terminal &Vertically</source>
|
|
||||||
<translation>垂直布局终端(&V)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="194"/>
|
|
||||||
<source>&Collapse Subterminal</source>
|
|
||||||
<translation>折叠布局终端(&C)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="201"/>
|
|
||||||
<source>N&ext Subterminal</source>
|
|
||||||
<translation>弹出终端(&E)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="208"/>
|
|
||||||
<source>P&revious Subterminal</source>
|
|
||||||
<translation>上个终端(&R)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="150"/>
|
|
||||||
<source>&Next Tab</source>
|
|
||||||
<translation>下个标签页(&N)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="157"/>
|
|
||||||
<source>&Previous Tab</source>
|
|
||||||
<translation>最前终端页(&P)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="164"/>
|
|
||||||
<source>Move Tab &Left</source>
|
|
||||||
<translation>往左边移动标签页(&L)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="171"/>
|
|
||||||
<source>Move Tab &Right</source>
|
|
||||||
<translation>往右边移动标签页(&R)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="218"/>
|
|
||||||
<source>Copy &Selection</source>
|
|
||||||
<translation>复制选区(&S)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="232"/>
|
|
||||||
<source>Paste S&election</source>
|
|
||||||
<translation>粘贴选区(&E)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="274"/>
|
|
||||||
<source>&Save Session</source>
|
|
||||||
<translation>保存会话(&S)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="280"/>
|
|
||||||
<source>&Load Session</source>
|
|
||||||
<translation>载入会话(&L)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="313"/>
|
|
||||||
<source>New Tab From &Preset</source>
|
|
||||||
<translation>新标签窗口く(&P)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="314"/>
|
|
||||||
<source>1 &Terminal</source>
|
|
||||||
<translation>单个终端窗口(&T)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="316"/>
|
|
||||||
<source>2 &Horizontal Terminals</source>
|
|
||||||
<translation>水平分割为2(&H)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="318"/>
|
|
||||||
<source>2 &Vertical Terminals</source>
|
|
||||||
<translation>垂直分割为2(&V)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="320"/>
|
|
||||||
<source>4 Terminal&s</source>
|
|
||||||
<translation>分割4块(&S)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="412"/>
|
|
||||||
<source>&Bottom</source>
|
|
||||||
<translation>下(&B)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="413"/>
|
|
||||||
<source>&Top</source>
|
|
||||||
<translation>上(&T)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="414"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="445"/>
|
|
||||||
<source>&Right</source>
|
|
||||||
<translation>右(&R)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="415"/>
|
|
||||||
<location filename="../mainwindow.cpp" line="446"/>
|
|
||||||
<source>&Left</source>
|
|
||||||
<translation>左(&L)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="430"/>
|
|
||||||
<source>&Tabs Layout</source>
|
|
||||||
<translation>标签位置(&T)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="444"/>
|
|
||||||
<source>&None</source>
|
|
||||||
<translation>空(&N)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="462"/>
|
|
||||||
<source>S&crollbar Layout</source>
|
|
||||||
<translation>滚动条位置(&C)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="529"/>
|
|
||||||
<source>Exit QTerminal</source>
|
|
||||||
<translation>退出程序</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="531"/>
|
|
||||||
<source>Do not ask again</source>
|
|
||||||
<translation>不要再次问我</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="538"/>
|
|
||||||
<source>Are you sure you want to exit?</source>
|
|
||||||
<translation>您真的要关闭本程序吗?</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="559"/>
|
|
||||||
<source>A lightweight multiplatform terminal emulator</source>
|
|
||||||
<translation>轻量级多平台支持的终端模拟器</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="53"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation>书签</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="97"/>
|
|
||||||
<source>Rename Session</source>
|
|
||||||
<translation>重命名会话</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="130"/>
|
|
||||||
<source>Press "%1" to see the terminal.</source>
|
|
||||||
<translation>按下"%1"显示该终端</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="141"/>
|
|
||||||
<source>&Clear Current Tab</source>
|
|
||||||
<translation>清理当前标签(&C)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="225"/>
|
|
||||||
<source>Paste Clip&board</source>
|
|
||||||
<translation>粘贴剪切板内容(&B)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="239"/>
|
|
||||||
<source>Zoom &in</source>
|
|
||||||
<translation>缩小(&I)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="246"/>
|
|
||||||
<source>Zoom &out</source>
|
|
||||||
<translation>放大(&O)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="253"/>
|
|
||||||
<source>Zoom rese&t</source>
|
|
||||||
<translation>重置大小(&T)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="262"/>
|
|
||||||
<source>&Find...</source>
|
|
||||||
<translation>搜索(&F)...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="287"/>
|
|
||||||
<source>&Toggle Menu</source>
|
|
||||||
<translation>下拉菜单(&T)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="306"/>
|
|
||||||
<source>&New Tab</source>
|
|
||||||
<translation>新建标签页(&N)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="331"/>
|
|
||||||
<source>&New Window</source>
|
|
||||||
<translation>新建窗口(&N)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="365"/>
|
|
||||||
<source>&Hide Window Borders</source>
|
|
||||||
<translation>隐藏窗口边框(&H)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="380"/>
|
|
||||||
<source>&Show Tab Bar</source>
|
|
||||||
<translation>显示标签栏(&S)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../mainwindow.cpp" line="392"/>
|
|
||||||
<source>Fullscreen</source>
|
|
||||||
<translation>全屏显示</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>PropertiesDialog</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="319"/>
|
|
||||||
<source>Emulation</source>
|
|
||||||
<translation>模拟器</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="62"/>
|
|
||||||
<source>Shortcuts</source>
|
|
||||||
<translation>快捷键</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="14"/>
|
|
||||||
<source>Terminal settings</source>
|
|
||||||
<translation>终端设置</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="52"/>
|
|
||||||
<source>Appearance</source>
|
|
||||||
<translation>界面设置</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="57"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="344"/>
|
|
||||||
<source>Behavior</source>
|
|
||||||
<translation>行为</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="67"/>
|
|
||||||
<source>Dropdown</source>
|
|
||||||
<translation>下拉菜单</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="90"/>
|
|
||||||
<source>Color scheme</source>
|
|
||||||
<translation>终端颜色</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="100"/>
|
|
||||||
<source>Widget style</source>
|
|
||||||
<translation>控件样式</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="110"/>
|
|
||||||
<source>Scrollbar position</source>
|
|
||||||
<translation>滚动栏位置</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="120"/>
|
|
||||||
<source>Tabs position</source>
|
|
||||||
<translation>标签页位置</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="130"/>
|
|
||||||
<source>Show the menu bar</source>
|
|
||||||
<translation>显示菜单栏</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="144"/>
|
|
||||||
<source>Show a border around the current terminal</source>
|
|
||||||
<translation type="unfinished">显示当前终端周围的边框</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="151"/>
|
|
||||||
<source>Application transparency</source>
|
|
||||||
<translation>透明设置</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="161"/>
|
|
||||||
<source>Terminal transparency</source>
|
|
||||||
<translation>终端透明度</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="184"/>
|
|
||||||
<source>Start with preset:</source>
|
|
||||||
<translation type="unfinished">默认配置</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="208"/>
|
|
||||||
<source>None (single terminal)</source>
|
|
||||||
<translation>为空或者单终端模式</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="212"/>
|
|
||||||
<source>2 terminals horizontally</source>
|
|
||||||
<translation>水平分割为2块</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="217"/>
|
|
||||||
<source>2 terminals vertically</source>
|
|
||||||
<translation>垂直分割为2块</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="223"/>
|
|
||||||
<source>4 terminals</source>
|
|
||||||
<translation>4分割为4块</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="259"/>
|
|
||||||
<source>Font</source>
|
|
||||||
<translation>字体</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="328"/>
|
|
||||||
<source><html><head/><body><p>Which behavior to emulate. Note that this does not have to match your operating system.</p><p>The <span style=" font-weight:600;">default</span> emulation is a fallback with a minimal featureset.</p></body></html></source>
|
|
||||||
<translation type="unfinished"><html><head/><body><p>终端行为: 注意! 它可能不适合您的操作系统. </p><p> <span style=" font-weight:600;">default</span>模拟器可能回退到一个最基础的功能模式。</p></body></html></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="350"/>
|
|
||||||
<source>Action after paste</source>
|
|
||||||
<translation type="unfinished">粘贴之后的动作</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="383"/>
|
|
||||||
<source>Open new terminals in current working directory</source>
|
|
||||||
<translation type="unfinished">在当前工作路径打开新的终端</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="390"/>
|
|
||||||
<source>Save Size when closing</source>
|
|
||||||
<translation type="unfinished">关闭时保存窗口尺寸</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="397"/>
|
|
||||||
<source>Save Position when closing</source>
|
|
||||||
<translation type="unfinished">关闭时保存窗口位置</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="404"/>
|
|
||||||
<source>Ask for confirmation when closing</source>
|
|
||||||
<translation type="unfinished">关闭窗口需要确认</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="414"/>
|
|
||||||
<source>Unlimited history</source>
|
|
||||||
<translation type="unfinished">不限制历史记录条数</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="421"/>
|
|
||||||
<source>History size (in lines)</source>
|
|
||||||
<translation>历史记录大小 (行数)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="472"/>
|
|
||||||
<source>Height</source>
|
|
||||||
<translation>高度</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="479"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="493"/>
|
|
||||||
<source>%</source>
|
|
||||||
<translation>%</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="486"/>
|
|
||||||
<source>Width</source>
|
|
||||||
<translation type="unfinished">宽度</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="536"/>
|
|
||||||
<source>Edit bookmark file contents</source>
|
|
||||||
<translation>编辑书签文件内容</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="558"/>
|
|
||||||
<source>Enable bookmarks</source>
|
|
||||||
<translation type="unfinished">启用书签功能</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="567"/>
|
|
||||||
<source>Bookmark file</source>
|
|
||||||
<translation>书签文件</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="168"/>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="191"/>
|
|
||||||
<source> %</source>
|
|
||||||
<translation>%</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="437"/>
|
|
||||||
<source>Shortcut</source>
|
|
||||||
<translation>快捷键</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="442"/>
|
|
||||||
<source>Key</source>
|
|
||||||
<translation>按键</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="72"/>
|
|
||||||
<source>Bookmarks</source>
|
|
||||||
<translation>书签</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="137"/>
|
|
||||||
<source>Hide tab bar with only one tab</source>
|
|
||||||
<translation type="unfinished">标签栏只显示一个页面</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="289"/>
|
|
||||||
<source>&Change...</source>
|
|
||||||
<translation type="unfinished">修改设置(&C)...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="454"/>
|
|
||||||
<source>Show on start</source>
|
|
||||||
<translation>启动时显示</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="461"/>
|
|
||||||
<source>Size</source>
|
|
||||||
<translation>尺寸</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="507"/>
|
|
||||||
<source>Shortcut:</source>
|
|
||||||
<translation>快捷键:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="577"/>
|
|
||||||
<source>Find...</source>
|
|
||||||
<translation>搜索...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/propertiesdialog.ui" line="586"/>
|
|
||||||
<source>You can specify your own bookmarks file location. It allows easy bookmark sharing with tools like OwnCloud or Dropbox.</source>
|
|
||||||
<translation type="unfinished">您可以指定书签保存位置, 它可以很容易通过私有云或者Dropbox分享。</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="45"/>
|
|
||||||
<source>No scrollbar</source>
|
|
||||||
<translation>无滚动栏</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="45"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Left</source>
|
|
||||||
<translation>左</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="45"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Right</source>
|
|
||||||
<translation>右</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Top</source>
|
|
||||||
<translation>上</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="51"/>
|
|
||||||
<source>Bottom</source>
|
|
||||||
<translation>下</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="63"/>
|
|
||||||
<source>No move</source>
|
|
||||||
<translation>无动作</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="63"/>
|
|
||||||
<source>Move start</source>
|
|
||||||
<translation>开始移动</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="63"/>
|
|
||||||
<source>Move end</source>
|
|
||||||
<translation>移动完成</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="68"/>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="122"/>
|
|
||||||
<source>System Default</source>
|
|
||||||
<translation>系统默认</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../propertiesdialog.cpp" line="252"/>
|
|
||||||
<source>Open or create bookmarks file</source>
|
|
||||||
<translation>打开或者创建书签文件</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>QObject</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="97"/>
|
|
||||||
<source>Local Bookmarks</source>
|
|
||||||
<translation>本地书签</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../bookmarkswidget.cpp" line="187"/>
|
|
||||||
<source>Synchronized Bookmarks</source>
|
|
||||||
<translation>书签同步</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TabWidget</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="70"/>
|
|
||||||
<location filename="../tabwidget.cpp" line="175"/>
|
|
||||||
<source>Shell No. %1</source>
|
|
||||||
<translation>Shell No. %1</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="160"/>
|
|
||||||
<source>Tab name</source>
|
|
||||||
<translation>标签名</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="161"/>
|
|
||||||
<source>New tab name:</source>
|
|
||||||
<translation>新的标签名:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="183"/>
|
|
||||||
<source>Close session</source>
|
|
||||||
<translation>关闭会话</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../tabwidget.cpp" line="185"/>
|
|
||||||
<source>Rename session</source>
|
|
||||||
<translation>重命名会话</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>TermWidgetHolder</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="46"/>
|
|
||||||
<source>Load Session</source>
|
|
||||||
<translation>载入会话</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../termwidgetholder.cpp" line="47"/>
|
|
||||||
<source>List of saved sessions:</source>
|
|
||||||
<translation>列出保存的会话:</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
|
||||||
<name>mainWindow</name>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="76"/>
|
|
||||||
<source>&Actions</source>
|
|
||||||
<translation>动作(&A)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="81"/>
|
|
||||||
<source>&Help</source>
|
|
||||||
<translation>帮助(&H)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="93"/>
|
|
||||||
<source>&Edit</source>
|
|
||||||
<translation>编辑(&E)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="109"/>
|
|
||||||
<source>&About...</source>
|
|
||||||
<translation>关于本程序(&A)...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="114"/>
|
|
||||||
<source>About &Qt...</source>
|
|
||||||
<translation>关于Qt(&Q)...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="119"/>
|
|
||||||
<source>&Preferences...</source>
|
|
||||||
<translation type="unfinished">参数配置(&P)...</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="14"/>
|
|
||||||
<source>MainWindow</source>
|
|
||||||
<translation></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="68"/>
|
|
||||||
<source>&File</source>
|
|
||||||
<translation>文件(&F)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="88"/>
|
|
||||||
<source>&View</source>
|
|
||||||
<translation>查看(&V)</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../forms/qterminal.ui" line="129"/>
|
|
||||||
<source>&Quit</source>
|
|
||||||
<translation>退出(&Q)</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
</TS>
|
|
||||||