From 54bcaddab775c0ad2507fa95bb25e4c9d277ffe5 Mon Sep 17 00:00:00 2001 From: Denis Rouzaud Date: Sun, 14 Oct 2018 19:30:40 -0800 Subject: [PATCH 001/162] fix local variable will be copied despite being returned by name (#221) * fix local variable will be copied despite being returned by name error when building with clang 7 * Fix error return-std-move std::move should not be used here because it prevents RVO (copy elision) and it's considered an anti-pattern. To fix the original warning the returned type must match the declared return type or copy elision will not be possible (and the warning will be triggered). * Update ColorScheme.cpp --- lib/ColorScheme.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ColorScheme.cpp b/lib/ColorScheme.cpp index ecf4a61..c9cc851 100644 --- a/lib/ColorScheme.cpp +++ b/lib/ColorScheme.cpp @@ -722,7 +722,7 @@ bool ColorSchemeManager::loadColorScheme(const QString& filePath) } QList ColorSchemeManager::listKDE3ColorSchemes() { - QStringList ret; + QList ret; for (const QString &scheme_dir : get_color_schemes_dirs()) { const QString dname(scheme_dir); @@ -742,7 +742,7 @@ QList ColorSchemeManager::listKDE3ColorSchemes() } QList ColorSchemeManager::listColorSchemes() { - QStringList ret; + QList ret; for (const QString &scheme_dir : get_color_schemes_dirs()) { const QString dname(scheme_dir); From b17add8fc0be0b351cd5c995e5ce52081e2a43c0 Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Mon, 15 Oct 2018 18:59:09 +0200 Subject: [PATCH 002/162] Clarify the licenses used in qtermwidget and added the missed root licenses Removed pyqt/test.py - we really don't want a single GPL3 file in fixes #223 --- COPYING-CMAKE-SCRIPTS | 1 + LICENSE.BSD-3-clause | 26 +++ LICENSE.LGPL2+ | 481 ++++++++++++++++++++++++++++++++++++++++++ README.md | 39 +++- pyqt/test.py | 34 --- 5 files changed, 546 insertions(+), 35 deletions(-) create mode 120000 COPYING-CMAKE-SCRIPTS create mode 100644 LICENSE.BSD-3-clause create mode 100644 LICENSE.LGPL2+ delete mode 100755 pyqt/test.py diff --git a/COPYING-CMAKE-SCRIPTS b/COPYING-CMAKE-SCRIPTS new file mode 120000 index 0000000..37e4ca8 --- /dev/null +++ b/COPYING-CMAKE-SCRIPTS @@ -0,0 +1 @@ +LICENSE.BSD-3-clause \ No newline at end of file diff --git a/LICENSE.BSD-3-clause b/LICENSE.BSD-3-clause new file mode 100644 index 0000000..c7a0aa4 --- /dev/null +++ b/LICENSE.BSD-3-clause @@ -0,0 +1,26 @@ +Copyright (c) The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. 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. +3. Neither the name of the University 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 REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. diff --git a/LICENSE.LGPL2+ b/LICENSE.LGPL2+ new file mode 100644 index 0000000..5bc8fb2 --- /dev/null +++ b/LICENSE.LGPL2+ @@ -0,0 +1,481 @@ + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 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. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, 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 library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, 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 companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the 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. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/README.md b/README.md index 003636d..95e8174 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,44 @@ The main goal of this project is to provide a unicode-enabled, embeddable Qt wid It is compatible with BSD, Linux and OS X. -This project is licensed under the terms of the [GPLv2](https://www.gnu.org/licenses/gpl-2.0.en.html) or any later version. See the LICENSE file for the full text of the license. +This project is licensed under the terms of the [GPLv2](https://www.gnu.org/licenses/gpl-2.0.en.html) or any later version. See the LICENSE file for the full text of the license. Some files are published under compatible licenses: +``` +Files: example/main.cpp + lib/TerminalCharacterDecoder.cpp + lib/TerminalCharacterDecoder.h + lib/kprocess.cpp + lib/kprocess.h + lib/kpty.cpp + lib/kpty.h + lib/kpty_p.h + lib/kptydevice.cpp + lib/kptydevice.h + lib/kptyprocess.cpp + lib/kptyprocess.h + lib/qtermwidget.cpp + lib/qtermwidget.h +Copyright: Author Adriaan de Groot + 2010, KDE e.V + 2002-2007, Oswald Buddenhagen + 2006-2008, Robert Knight + 2002, Waldo Bastian + 2008, e_k +License: LGPL-2+ + +Files: pyqt/cmake/* +Copyright: 2012, Luca Beltrame + 2012, Rolf Eike Beer + 2007-2014, Simon Edwards +License: BSD-3-clause + +Files: cmake/FindUtf8Proc.cmake +Copyright: 2009-2011, Kitware, Inc + 2009-2011, Philip Lowman +License: BSD-3-clause + +Files: pyqt/cmake/PythonCompile.py +License: public-domain +``` ## Installation diff --git a/pyqt/test.py b/pyqt/test.py deleted file mode 100755 index 8d82f20..0000000 --- a/pyqt/test.py +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -# PyQt4 bindings for th QTermWidget project. -# -# Copyright (C) 2009 Piotr "Riklaunim" Maliński , -# Alexander Slesarev -# -# 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 3 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 . - -import sys, signal -from PyQt5 import QtCore,QtWidgets - -import QTermWidget - -signal.signal(signal.SIGINT, signal.SIG_DFL) -a = QtWidgets.QApplication(sys.argv) - -w = QTermWidget.QTermWidget() -w.finished.connect(a.quit) -w.show() - -a.exec_() \ No newline at end of file From 6fb3b06575bf160dd365e57db1ae54112c10be34 Mon Sep 17 00:00:00 2001 From: Einar Mostad Date: Wed, 24 Oct 2018 19:02:16 +0000 Subject: [PATCH 003/162] =?UTF-8?q?Added=20translation=20using=20Weblate?= =?UTF-8?q?=20(Norwegian=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/translations/qtermwidget_nb_NO.ts | 125 ++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 lib/translations/qtermwidget_nb_NO.ts diff --git a/lib/translations/qtermwidget_nb_NO.ts b/lib/translations/qtermwidget_nb_NO.ts new file mode 100644 index 0000000..28eff28 --- /dev/null +++ b/lib/translations/qtermwidget_nb_NO.ts @@ -0,0 +1,125 @@ + + + + + Konsole::TerminalDisplay + + + Size: XXX x XXX + + + + + Size: %1 x %2 + + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> + + + + + Konsole::Vt102Emulation + + + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. + + + + + QObject + + + + Un-named Color Scheme + + + + + Accessible Color Scheme + + + + + Open Link + + + + + Copy Link Address + + + + + Send Email To... + + + + + Copy Email Address + + + + + QTermWidget + + + Color Scheme Error + + + + + Cannot load color scheme: %1 + + + + + SearchBar + + + Match case + + + + + Regular expression + + + + + Highlight all matches + + + + + SearchBar + + + + + X + + + + + Find: + + + + + < + + + + + > + + + + + ... + + + + From 13fe22aac44eed68ce7a300c116698322399da00 Mon Sep 17 00:00:00 2001 From: Tsu Jan Date: Mon, 29 Oct 2018 21:37:33 +0330 Subject: [PATCH 004/162] Correct deleting of HotSpot list items Fixes https://github.com/lxqt/qterminal/issues/504 --- lib/Filter.cpp | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/lib/Filter.cpp b/lib/Filter.cpp index 3ed2aff..50c1d24 100644 --- a/lib/Filter.cpp +++ b/lib/Filter.cpp @@ -188,18 +188,12 @@ _buffer(0) Filter::~Filter() { - QListIterator iter(_hotspotList); - while (iter.hasNext()) - { - delete iter.next(); - } + qDeleteAll(_hotspotList); + _hotspotList.clear(); } void Filter::reset() { - QListIterator iter(_hotspotList); - while (iter.hasNext()) - { - HotSpot* currentHotSpot = iter.next(); + for (HotSpot* const currentHotSpot : qAsConst(_hotspotList)) { if (currentHotSpot->hasAnotherParent()) { continue; } From eb0b95ee94e936fbb37b567a96ab0638e294ce3b Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Thu, 1 Nov 2018 01:42:03 +0100 Subject: [PATCH 005/162] Bump minor version to 14 Nice big bump to prevent conflicts with translations that are former built from lxqt-l10n and have version 0.13.x --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 653e973..53cf09d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,7 +18,7 @@ option(QTERMWIDGET_BUILD_PYTHON_BINDING "Build python binding" OFF) # just change version for releases set(QTERMWIDGET_VERSION_MAJOR "0") -set(QTERMWIDGET_VERSION_MINOR "9") +set(QTERMWIDGET_VERSION_MINOR "14") set(QTERMWIDGET_VERSION_PATCH "0") set(QTERMWIDGET_VERSION "${QTERMWIDGET_VERSION_MAJOR}.${QTERMWIDGET_VERSION_MINOR}.${QTERMWIDGET_VERSION_PATCH}") From 1bb95711bb727897a3b43a43c2f0bada5775d2c9 Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Sun, 14 Oct 2018 22:11:44 +0200 Subject: [PATCH 006/162] Set cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) Removed CMAKE_BUILD_TYPE --- CMakeLists.txt | 12 ++++++------ lib/translations/CMakeLists.txt | 2 -- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 53cf09d..7f6c679 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,9 @@ -cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR) - +cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) +# CMP0000: Call the cmake_minimum_required() command at the beginning of the top-level +# CMakeLists.txt file even before calling the project() command. +# The cmake_minimum_required(VERSION) command implicitly invokes the cmake_policy(VERSION) +# command to specify that the current project code is written for the given range of CMake +# versions. project(qtermwidget) include(GNUInstallDirs) @@ -26,10 +30,6 @@ set(QTERMWIDGET_VERSION "${QTERMWIDGET_VERSION_MAJOR}.${QTERMWIDGET_VERSION_MINO # additional cmake files set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake") -if(NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE Release) -endif() - set(CMAKE_INCLUDE_CURRENT_DIR ON) find_package(Qt5Widgets "${REQUIRED_QT_VERSION}" REQUIRED) diff --git a/lib/translations/CMakeLists.txt b/lib/translations/CMakeLists.txt index ce40923..84bb691 100644 --- a/lib/translations/CMakeLists.txt +++ b/lib/translations/CMakeLists.txt @@ -1,5 +1,3 @@ -cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR) - project(qtermwidget) build_component("." "${CMAKE_INSTALL_FULL_DATADIR}/qtermwidget/translations") From 29a5181bc432b22f4a51466ad844ee54c6a2c9bb Mon Sep 17 00:00:00 2001 From: "Miguel A. Bouzada" Date: Sun, 18 Nov 2018 17:45:03 +0000 Subject: [PATCH 007/162] Added translation using Weblate (Galician) --- lib/translations/qtermwidget_gl.ts | 125 +++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 lib/translations/qtermwidget_gl.ts diff --git a/lib/translations/qtermwidget_gl.ts b/lib/translations/qtermwidget_gl.ts new file mode 100644 index 0000000..2ae43f2 --- /dev/null +++ b/lib/translations/qtermwidget_gl.ts @@ -0,0 +1,125 @@ + + + + + Konsole::TerminalDisplay + + + Size: XXX x XXX + + + + + Size: %1 x %2 + + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> + + + + + Konsole::Vt102Emulation + + + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. + + + + + QObject + + + + Un-named Color Scheme + + + + + Accessible Color Scheme + + + + + Open Link + + + + + Copy Link Address + + + + + Send Email To... + + + + + Copy Email Address + + + + + QTermWidget + + + Color Scheme Error + + + + + Cannot load color scheme: %1 + + + + + SearchBar + + + Match case + + + + + Regular expression + + + + + Highlight all matches + + + + + SearchBar + + + + + X + + + + + Find: + + + + + < + + + + + > + + + + + ... + + + + From 1cffced5a2900cb2dae9539ebed7ca8d2d516218 Mon Sep 17 00:00:00 2001 From: "Miguel A. Bouzada" Date: Sun, 18 Nov 2018 18:01:44 +0000 Subject: [PATCH 008/162] Translated using Weblate (Galician) Currently translated at 100.0% (21 of 21 strings) Translation: LXQt/QTermWidget Translate-URL: https://weblate.lxqt.org/projects/lxqt/qtermwidget/gl/ --- lib/translations/qtermwidget_gl.ts | 34 +++++++++++++++--------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/lib/translations/qtermwidget_gl.ts b/lib/translations/qtermwidget_gl.ts index 2ae43f2..4ffe56a 100644 --- a/lib/translations/qtermwidget_gl.ts +++ b/lib/translations/qtermwidget_gl.ts @@ -6,17 +6,17 @@ Size: XXX x XXX - + Tamaño: XXX x XXX Size: %1 x %2 - + Tamaño: %1 x %2 <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> - + <qt>A saída foi <a href="http://en.wikipedia.org/wiki/Flow_control">suspendida</a> ao premer Ctrl+S. Prema <b>Ctrl+Q</b> para continuar.</qt> @@ -24,7 +24,7 @@ No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. - + Non hai dispoñíbel ningún tradutor de teclado. Non está dispoñíbel a información necesaria para converter pulsacións de tecla en caracteres para envialos o terminal. @@ -33,32 +33,32 @@ Un-named Color Scheme - + Esquema de cor sen nome Accessible Color Scheme - + Esquema de cor accesíbel Open Link - + Abrir a ligazón Copy Link Address - + Copiar o enderezo da ligazón Send Email To... - + Enviar correo a... Copy Email Address - + Copiar o enderezo de correo @@ -66,12 +66,12 @@ Color Scheme Error - + Produciuse un erro no esquema de cor Cannot load color scheme: %1 - + Non é posíbel cargar o esquema de cor: %1 @@ -79,22 +79,22 @@ Match case - + Distinguir maiúsculas de minúsculas Regular expression - + Expresión regular Highlight all matches - + Resaltar todas as coincidencias SearchBar - + Barra de buscas @@ -104,7 +104,7 @@ Find: - + Atopar: From daa6dd3541b227338f287da07ac412e93d4b20da Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Sat, 24 Nov 2018 13:46:28 +0100 Subject: [PATCH 009/162] Provide minimum versions --- CMakeLists.txt | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7f6c679..0da5bdb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,13 +12,12 @@ include(CMakePackageConfigHelpers) include(CheckFunctionExists) include(CheckIncludeFile) -set(REQUIRED_QT_VERSION "5.7.1") -set(LXQTBT_MINIMUM_VERSION "0.5.0") - option(UPDATE_TRANSLATIONS "Update source translation translations/*.ts files" OFF) option(BUILD_EXAMPLE "Build example application. Default OFF." OFF) option(QTERMWIDGET_USE_UTEMPTER "Uses the libutempter library. Mainly for FreeBSD" OFF) option(QTERMWIDGET_BUILD_PYTHON_BINDING "Build python binding" OFF) +option(USE_UTF8PROC "Use libutf8proc for better Unicode support. Default OFF" OFF) + # just change version for releases set(QTERMWIDGET_VERSION_MAJOR "0") @@ -29,13 +28,20 @@ set(QTERMWIDGET_VERSION "${QTERMWIDGET_VERSION_MAJOR}.${QTERMWIDGET_VERSION_MINO # additional cmake files set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake") - set(CMAKE_INCLUDE_CURRENT_DIR ON) -find_package(Qt5Widgets "${REQUIRED_QT_VERSION}" REQUIRED) -find_package(Qt5LinguistTools "${REQUIRED_QT_VERSION}" REQUIRED) +# Minimum Versions +set(QT_MINIMUM_VERSION "5.7.1") +set(LXQTBT_MINIMUM_VERSION "0.6.0") + +find_package(Qt5Widgets "${QT_MINIMUM_VERSION}" REQUIRED) +find_package(Qt5LinguistTools "${QT_MINIMUM_VERSION}" REQUIRED) find_package(lxqt-build-tools ${LXQTBT_MINIMUM_VERSION} REQUIRED) +if(USE_UTF8PROC) + find_package(Utf8Proc REQUIRED) +endif() + include(LXQtPreventInSourceBuilds) include(LXQtTranslateTs) include(LXQtCompilerSettings NO_POLICY_SCOPE) @@ -43,11 +49,6 @@ include(LXQtCreatePkgConfigFile) set(QTERMWIDGET_LIBRARY_NAME qtermwidget5) -option(USE_UTF8PROC "Use libutf8proc for better Unicode support. Default OFF" OFF) - -if(USE_UTF8PROC) - find_package(Utf8Proc REQUIRED) -endif() # main library From c1e94c94df9049bab01a58e953b08ba806a522ca Mon Sep 17 00:00:00 2001 From: Shlyak Pavel Date: Thu, 6 Dec 2018 01:44:15 +0300 Subject: [PATCH 010/162] Remove unnecessary checks --- lib/qtermwidget.cpp | 31 ------------------------------- 1 file changed, 31 deletions(-) diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index a5b796d..edf4232 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -221,15 +221,11 @@ QSize QTermWidget::sizeHint() const void QTermWidget::setTerminalSizeHint(bool on) { - if (!m_impl->m_terminalDisplay) - return; m_impl->m_terminalDisplay->setTerminalSizeHint(on); } bool QTermWidget::terminalSizeHint() { - if (!m_impl->m_terminalDisplay) - return true; return m_impl->m_terminalDisplay->terminalSizeHint(); } @@ -352,31 +348,21 @@ QTermWidget::~QTermWidget() void QTermWidget::setTerminalFont(const QFont &font) { - if (!m_impl->m_terminalDisplay) - return; m_impl->m_terminalDisplay->setVTFont(font); } QFont QTermWidget::getTerminalFont() { - if (!m_impl->m_terminalDisplay) - return QFont(); return m_impl->m_terminalDisplay->getVTFont(); } void QTermWidget::setTerminalOpacity(qreal level) { - if (!m_impl->m_terminalDisplay) - return; - m_impl->m_terminalDisplay->setOpacity(level); } void QTermWidget::setTerminalBackgroundImage(QString backgroundImage) { - if (!m_impl->m_terminalDisplay) - return; - m_impl->m_terminalDisplay->setBackgroundImage(backgroundImage); } @@ -487,8 +473,6 @@ void QTermWidget::addCustomColorSchemeDir(const QString& custom_dir) void QTermWidget::setSize(const QSize &size) { - if (!m_impl->m_terminalDisplay) - return; m_impl->m_terminalDisplay->setSize(size.width(), size.height()); } @@ -502,15 +486,11 @@ void QTermWidget::setHistorySize(int lines) void QTermWidget::setScrollBarPosition(ScrollBarPosition pos) { - if (!m_impl->m_terminalDisplay) - return; m_impl->m_terminalDisplay->setScrollBarPosition(pos); } void QTermWidget::scrollToEnd() { - if (!m_impl->m_terminalDisplay) - return; m_impl->m_terminalDisplay->scrollToEnd(); } @@ -553,9 +533,6 @@ void QTermWidget::pasteSelection() void QTermWidget::setZoom(int step) { - if (!m_impl->m_terminalDisplay) - return; - QFont font = m_impl->m_terminalDisplay->getVTFont(); font.setPointSize(font.pointSize() + step); @@ -706,29 +683,21 @@ int QTermWidget::getPtySlaveFd() const void QTermWidget::setKeyboardCursorShape(KeyboardCursorShape shape) { - if (!m_impl->m_terminalDisplay) - return; m_impl->m_terminalDisplay->setKeyboardCursorShape(shape); } void QTermWidget::setBlinkingCursor(bool blink) { - if (!m_impl->m_terminalDisplay) - return; m_impl->m_terminalDisplay->setBlinkingCursor(blink); } void QTermWidget::setBidiEnabled(bool enabled) { - if (!m_impl->m_terminalDisplay) - return; m_impl->m_terminalDisplay->setBidiEnabled(enabled); } bool QTermWidget::isBidiEnabled() { - if (!m_impl->m_terminalDisplay) - return false; // Default value return m_impl->m_terminalDisplay->isBidiEnabled(); } From fa2b2b34377c2fc26b78e1f8ed220986cddc4baf Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Mon, 10 Dec 2018 22:31:40 +0100 Subject: [PATCH 011/162] translation update --- lib/translations/qtermwidget.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_ca.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_cs.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_cy.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_da.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_de.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_el.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_es.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_fr.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_gl.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_he.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_hu.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_ja.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_lt.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_nb_NO.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_pl.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_pt.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_tr.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_zh_CN.ts | 26 +++++++++++++------------- lib/translations/qtermwidget_zh_TW.ts | 26 +++++++++++++------------- 20 files changed, 260 insertions(+), 260 deletions(-) diff --git a/lib/translations/qtermwidget.ts b/lib/translations/qtermwidget.ts index c099dcb..95eb3e5 100644 --- a/lib/translations/qtermwidget.ts +++ b/lib/translations/qtermwidget.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX - + Size: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. @@ -41,22 +41,22 @@ - + Open Link - + Copy Link Address - + Send Email To... - + Copy Email Address @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error - + Cannot load color scheme: %1 @@ -77,17 +77,17 @@ SearchBar - + Match case - + Regular expression - + Highlight all matches diff --git a/lib/translations/qtermwidget_ca.ts b/lib/translations/qtermwidget_ca.ts index 573719b..a3bfcbf 100644 --- a/lib/translations/qtermwidget_ca.ts +++ b/lib/translations/qtermwidget_ca.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Mida: XXX x XXX - + Size: %1 x %2 Mida: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>La sortida ha estat <a href="http://en.wikipedia.org/wiki/Flow_control">suspesa</a> en prémer Ctrl+S. Premeu <b>Ctrl+Q</b> per reprendre-la.</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. No hi ha disponible cap traductor de teclat. No es disposa de la informació necessària per convertir la pressió de les tecles a caràcters al terminal. @@ -41,22 +41,22 @@ Esquema de color accessible - + Open Link Obre l'enllaç - + Copy Link Address Copia l'adreça de l'enllaç - + Send Email To... Envia un correu electrònic a... - + Copy Email Address Copia l'adreça de correu electrònic @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Error de l'esquema de color - + Cannot load color scheme: %1 No es pot carregar l'esquema de color: %1 @@ -77,17 +77,17 @@ SearchBar - + Match case Coincidència - + Regular expression Expressió regular - + Highlight all matches Ressalta totes les coincidències diff --git a/lib/translations/qtermwidget_cs.ts b/lib/translations/qtermwidget_cs.ts index d420ba4..652015f 100644 --- a/lib/translations/qtermwidget_cs.ts +++ b/lib/translations/qtermwidget_cs.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Velikost: XXX x XXX - + Size: %1 x %2 Velikost: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Výstup byl <a href="http://en.wikipedia.org/wiki/Flow_control">pozastaven</a> stisknutím Ctrl+S. Znovu ho spustíte stisknutím <b>Ctrl+Q</b>.</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Není k dispozici žádný překladač klávesnice. Chybí informace pro převod kódů stisknutých kláves na znaky posílané na terminál. @@ -41,22 +41,22 @@ Barevné schéma pro zrakově hendikepované uživatele - + Open Link Otevřít odkaz - + Copy Link Address Zkopírovat adresu odkazu - + Send Email To... Poslat e-mail na… - + Copy Email Address Zkopírovat e-mailovou adresu @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Chyba barevného schématu - + Cannot load color scheme: %1 Nedaří se načíst barevné schéma: %1 @@ -77,17 +77,17 @@ SearchBar - + Match case Rozlišovat malá/VELKÁ písmena - + Regular expression Regulární výraz - + Highlight all matches Zvýraznit všechny shody diff --git a/lib/translations/qtermwidget_cy.ts b/lib/translations/qtermwidget_cy.ts index 1562523..9e28ec8 100644 --- a/lib/translations/qtermwidget_cy.ts +++ b/lib/translations/qtermwidget_cy.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX - + Size: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. @@ -41,22 +41,22 @@ - + Open Link - + Copy Link Address - + Send Email To... - + Copy Email Address @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error - + Cannot load color scheme: %1 @@ -77,17 +77,17 @@ SearchBar - + Match case - + Regular expression - + Highlight all matches diff --git a/lib/translations/qtermwidget_da.ts b/lib/translations/qtermwidget_da.ts index aa1736f..8913a07 100644 --- a/lib/translations/qtermwidget_da.ts +++ b/lib/translations/qtermwidget_da.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Størrelse: XXX x XXX - + Size: %1 x %2 Størrelse: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Output er blevet <a href="http://en.wikipedia.org/wiki/Flow_control">suspenderet</a> ved tryk på Ctrl+S. Tryk på <b>Ctrl+Q</b> for at genoptage.</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Ingen tastaturoversætter tilgængelig. Informationen, som er nødvendig for at konvertere tastetryk til tegn, som sendes til terminalen, mangler. @@ -41,22 +41,22 @@ Tilgængeligt farveskema - + Open Link Åbn link - + Copy Link Address Kopiér linkadresse - + Send Email To... Send e-mail til... - + Copy Email Address Kopiér e-mailadresse @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Fejl ved farveskema - + Cannot load color scheme: %1 Kan ikke indlæse farveskema: %1 @@ -77,17 +77,17 @@ SearchBar - + Match case Der skelnes mellem store og små bogstaver - + Regular expression Regulært udtryk - + Highlight all matches Fremhæv alle match diff --git a/lib/translations/qtermwidget_de.ts b/lib/translations/qtermwidget_de.ts index c78f39c..b861186 100644 --- a/lib/translations/qtermwidget_de.ts +++ b/lib/translations/qtermwidget_de.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Größe: XXX x XXX - + Size: %1 x %2 Größe: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Ausgabe wurde <a href="http://en.wikipedia.org/wiki/Flow_control">ausgesetzt</a> beim Drücken von Strg+S. Drücke <b>Strg+Q</b> um fortzufahren.</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Kein Tastaturinterpretierer verfügbar. Die benötigte Information, um Tastenbefehle in Zeichen umzuwandeln und anschließenfd zum Terminal zu schicken, fehlt. @@ -41,22 +41,22 @@ Zugängliches Farbschema - + Open Link Öffne Link - + Copy Link Address Kopiere Verknüpfungsadresse - + Send Email To... Sende Email an... - + Copy Email Address Kopiere Emailadresse @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Farbschemafehler - + Cannot load color scheme: %1 Kann Farbschema nicht laden: %1 @@ -77,17 +77,17 @@ SearchBar - + Match case Groß- / Kleinschreibung berücksichtigen - + Regular expression Regulärer Ausdruck - + Highlight all matches Markiere alle Treffer diff --git a/lib/translations/qtermwidget_el.ts b/lib/translations/qtermwidget_el.ts index 756a0cd..42798fb 100644 --- a/lib/translations/qtermwidget_el.ts +++ b/lib/translations/qtermwidget_el.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Μέγεθος: XXX x XXX - + Size: %1 x %2 Μέγεθος: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Η έξοδος έχει <a href="http://en.wikipedia.org/wiki/Flow_control">ανασταλεί</a> με τον συνδυασμό πλήκτρων Ctrl+S. Πιέστε <b>Ctrl+Q</b> για επαναφορά.</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Δεν υπάρχει κάποιος μεταφραστής πληκτρολογίου διαθέσιμος. Η απαιτούμενη πληροφορία για την μετατροπή των πατημάτων πλήκτρων σε χαρακτήρες στο τερματικό λείπει. @@ -41,22 +41,22 @@ Προσπελάσιμος χρωματικός σχηματισμός - + Open Link Άνοιγμα του δεσμού - + Copy Link Address Αντιγραφή διεύθυνσης του δεσμού - + Send Email To... Αποστολή ηλ. αλληλογραφίας προς... - + Copy Email Address Αντιγραφή της ηλ. διεύθυνσης @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Σφάλμα του χρωματικού συνδυασμού - + Cannot load color scheme: %1 Αδύνατη η φόρτωση του χρωματικού συνδυασμού: %1 @@ -77,17 +77,17 @@ SearchBar - + Match case Ταίριασμα πεζών/κεφαλαίων - + Regular expression Κανονική έκφραση - + Highlight all matches Τονισμός όλων των ταιριαστών diff --git a/lib/translations/qtermwidget_es.ts b/lib/translations/qtermwidget_es.ts index 0777122..5b079c5 100644 --- a/lib/translations/qtermwidget_es.ts +++ b/lib/translations/qtermwidget_es.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Tamaño: XXX x XXX - + Size: %1 x %2 Tamaño: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>La salida ha sido <a href="http://en.wikipedia.org/wiki/Flow_control">suspendida</a> al pulsar Ctrl+S. Pulse <b>Ctrl+Q</b> para reanudarla.</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. No hay traductor de teclado disponible. La información necesaria para convertir pulsaciones de tecla en caracteres para enviarlos a la terminal está ausente. @@ -41,22 +41,22 @@ Esquema de color accesible - + Open Link Abrir el enlace - + Copy Link Address Copiar la dirección del enlace - + Send Email To... Enviar correo a... - + Copy Email Address Copiar la dirección de correo @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Error del esquema de color - + Cannot load color scheme: %1 No se puede cargar el esquema de color: %1 @@ -77,17 +77,17 @@ SearchBar - + Match case Distinguir mayúsculas de minúsculas - + Regular expression Expresión regular - + Highlight all matches Resaltar todas las coincidencias diff --git a/lib/translations/qtermwidget_fr.ts b/lib/translations/qtermwidget_fr.ts index e69c667..3d146cb 100644 --- a/lib/translations/qtermwidget_fr.ts +++ b/lib/translations/qtermwidget_fr.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Taille : XXX x XXX - + Size: %1 x %2 Taille : %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>La sortie a été <a href="http://en.wikipedia.org/wiki/Flow_control">suspendue</a> en pressant Ctrl+S. Pressez <b>Ctrl+Q</b> pour reprendre.</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Aucun traducteur disponible. L'information nécessaire à la conversion des touches pressées en caractères à envoyer au terminal est absente. @@ -41,22 +41,22 @@ Schéma des couleur accessible - + Open Link Ouvrir le lien - + Copy Link Address Copier l'adresse du lien - + Send Email To... Envoyer un courriel à ... - + Copy Email Address Copier l'adresse du courriel @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Erreur du schéma des couleurs - + Cannot load color scheme: %1 Impossible de charger le schéma de couleurs : %1 @@ -107,17 +107,17 @@ ... - + Match case Sensible à la casse - + Regular expression Expression régulière - + Highlight all matches Surbrillance de toutes les concordances diff --git a/lib/translations/qtermwidget_gl.ts b/lib/translations/qtermwidget_gl.ts index 4ffe56a..1a5a97b 100644 --- a/lib/translations/qtermwidget_gl.ts +++ b/lib/translations/qtermwidget_gl.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Tamaño: XXX x XXX - + Size: %1 x %2 Tamaño: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>A saída foi <a href="http://en.wikipedia.org/wiki/Flow_control">suspendida</a> ao premer Ctrl+S. Prema <b>Ctrl+Q</b> para continuar.</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Non hai dispoñíbel ningún tradutor de teclado. Non está dispoñíbel a información necesaria para converter pulsacións de tecla en caracteres para envialos o terminal. @@ -41,22 +41,22 @@ Esquema de cor accesíbel - + Open Link Abrir a ligazón - + Copy Link Address Copiar o enderezo da ligazón - + Send Email To... Enviar correo a... - + Copy Email Address Copiar o enderezo de correo @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Produciuse un erro no esquema de cor - + Cannot load color scheme: %1 Non é posíbel cargar o esquema de cor: %1 @@ -77,17 +77,17 @@ SearchBar - + Match case Distinguir maiúsculas de minúsculas - + Regular expression Expresión regular - + Highlight all matches Resaltar todas as coincidencias diff --git a/lib/translations/qtermwidget_he.ts b/lib/translations/qtermwidget_he.ts index 87d5406..7fe336f 100644 --- a/lib/translations/qtermwidget_he.ts +++ b/lib/translations/qtermwidget_he.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX גודל: XXX × XXX - + Size: %1 x %2 גודל: %1 × %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>הפלט <a href="http://en.wikipedia.org/wiki/Flow_control">הושהה</a> בלחיצה על Ctrl+S. יש ללחוץ על <b>Ctrl+Q</b> כדי להמשיך.</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. אין מתרגם מקלדת זמין. המידע שנדרש לצורך המרת לחיצות מקשים לתווים לשליחה למסוף חסר. @@ -41,22 +41,22 @@ ערכת צבעים נגישה - + Open Link פתיחת קישור - + Copy Link Address העתקת כתובת קישור - + Send Email To... שליחת דוא״ל אל… - + Copy Email Address העתקת כתובת דוא״ל @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error שגיאת ערכת צבעים - + Cannot load color scheme: %1 לא ניתן לטעון ערכת צבעים: %1 @@ -77,17 +77,17 @@ SearchBar - + Match case התאמת רישיות - + Regular expression ביטוי רגולרי - + Highlight all matches הדגשת כל המופעים diff --git a/lib/translations/qtermwidget_hu.ts b/lib/translations/qtermwidget_hu.ts index cb706d9..2c2b428 100644 --- a/lib/translations/qtermwidget_hu.ts +++ b/lib/translations/qtermwidget_hu.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Méret: XXX x XXX - + Size: %1 x %2 Méret: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>A kimenet <a href="http://en.wikipedia.org/wiki/Flow_control">el van nyomva</a> a Ctrl+S megnyomásával. Nyomj <b>Ctrl+Q -t</b> a visszatéréshez.</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Nincs billentyűzet átalakító. Hiányzik az információ, ami a billentyű lenyomásnak a terminálhoz küldendő karakterekké alakításához szükséges. @@ -41,22 +41,22 @@ Elérhető színséma - + Open Link Link megnyitás - + Copy Link Address Link cím másolás - + Send Email To... Email küldés ... - + Copy Email Address Email cím másolás @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Színséma hiba - + Cannot load color scheme: %1 A %1 színséma elérhetetlen @@ -77,17 +77,17 @@ SearchBar - + Match case Nagybetű érzékeny - + Regular expression Szaabályos kifejezés - + Highlight all matches Találatok kiemelése diff --git a/lib/translations/qtermwidget_ja.ts b/lib/translations/qtermwidget_ja.ts index aed78d2..6739b8b 100644 --- a/lib/translations/qtermwidget_ja.ts +++ b/lib/translations/qtermwidget_ja.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX - + Size: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. @@ -41,22 +41,22 @@ アクセス可能なカラースキーム - + Open Link リンクを開く - + Copy Link Address リンクのアドレスをコピー - + Send Email To... メールを送信... - + Copy Email Address メールアドレスをコピー @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error カラースキームのエラー - + Cannot load color scheme: %1 カラースキームをロードすることができません: %1 @@ -77,17 +77,17 @@ SearchBar - + Match case - + Regular expression 正規表現 - + Highlight all matches 一致するものをハイライト diff --git a/lib/translations/qtermwidget_lt.ts b/lib/translations/qtermwidget_lt.ts index e6d0eeb..f1cb4cd 100644 --- a/lib/translations/qtermwidget_lt.ts +++ b/lib/translations/qtermwidget_lt.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Dydis: XXX x XXX - + Size: %1 x %2 Dydis: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Išvestis buvo <a href="http://en.wikipedia.org/wiki/Flow_control">pristabdyta,</a> paspaudžiant Ctrl(Vald)+S. Paspauskite <b>Ctrl(Vald)+Q</b>, norėdami pratęsti.</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Nėra prieinamas joks klaviatūros vertėjas. Informacijos, kurios reikia, norint konvertuoti klavišų paspaudimus į simbolius ir siųsti į terminalą, nėra. @@ -41,22 +41,22 @@ Pasiekiamas spalvų rinkinys - + Open Link Atverti nuorodą - + Copy Link Address Kopijuoti nuorodos adresą - + Send Email To... Siųsti el. paštą... - + Copy Email Address Kopijuoti el. pašto adresą @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Spalvų rinkinio klaida - + Cannot load color scheme: %1 Nepavyksta įkelti spalvų rinkinio: %1 @@ -77,17 +77,17 @@ SearchBar - + Match case Skirti raidžių dydį - + Regular expression Reguliarusis reiškinys - + Highlight all matches Paryškinti visus atitikmenis diff --git a/lib/translations/qtermwidget_nb_NO.ts b/lib/translations/qtermwidget_nb_NO.ts index 28eff28..7c12406 100644 --- a/lib/translations/qtermwidget_nb_NO.ts +++ b/lib/translations/qtermwidget_nb_NO.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX - + Size: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. @@ -41,22 +41,22 @@ - + Open Link - + Copy Link Address - + Send Email To... - + Copy Email Address @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error - + Cannot load color scheme: %1 @@ -77,17 +77,17 @@ SearchBar - + Match case - + Regular expression - + Highlight all matches diff --git a/lib/translations/qtermwidget_pl.ts b/lib/translations/qtermwidget_pl.ts index dc23dc3..83ac266 100644 --- a/lib/translations/qtermwidget_pl.ts +++ b/lib/translations/qtermwidget_pl.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Rozmiar: XXX x XXX - + Size: %1 x %2 Rozmiar: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Wyjście zostało <a href="http://en.wikipedia.org/wiki/Flow_control">wstrzymane</a> skrótem Ctrl+S. Wciśnij <b>Ctrl+Q</b> aby wznowić.</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Brak sterownika klawiatury. Nie wiadomo jak przełożyć wciśniecia przycisków na znaki wysyłane do terminalu. @@ -41,22 +41,22 @@ Paleta o zwiększonej przystępności - + Open Link Przejdź pod adres - + Copy Link Address Kopiuj adres łącza - + Send Email To... Wyślij e-mail do… - + Copy Email Address Kopiuj adres e-mail @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Błąd w palecie - + Cannot load color scheme: %1 Nie można wczytać palety: %1 @@ -77,17 +77,17 @@ SearchBar - + Match case Rozróżniaj wielkość liter - + Regular expression Wyrażenie regularne - + Highlight all matches Podświetl wszystkie dopasowania diff --git a/lib/translations/qtermwidget_pt.ts b/lib/translations/qtermwidget_pt.ts index bf29a92..1e4527a 100644 --- a/lib/translations/qtermwidget_pt.ts +++ b/lib/translations/qtermwidget_pt.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Tamanho: XXX x XXX - + Size: %1 x %2 Tamanho: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>O resultado foi <a href="http://en.wikipedia.org/wiki/Flow_control">suspenso</a> através de Ctrl+S. Prima <b>Ctrl+Q</b> para continuar.</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Não há tradutores de teclado disponíveis. A informação necessária para converter os toques das teclas em caracteres enviados ao terminal não existem. @@ -41,22 +41,22 @@ Esquema de cores acessível - + Open Link Abrir ligação - + Copy Link Address Copiar endereço da ligação - + Send Email To... Enviar e-mail para... - + Copy Email Address Copiar endereço de e-mail @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Erro no esquema de cores - + Cannot load color scheme: %1 Incapaz de carregar o esquema: %1 @@ -77,17 +77,17 @@ SearchBar - + Match case Diferenciar maiúsculas/minúsculas - + Regular expression Expressão regular - + Highlight all matches Realçar todas as ocorrências diff --git a/lib/translations/qtermwidget_tr.ts b/lib/translations/qtermwidget_tr.ts index be6546a..03699a6 100644 --- a/lib/translations/qtermwidget_tr.ts +++ b/lib/translations/qtermwidget_tr.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Boyut: XXX x XXX - + Size: %1 x %2 Boyut: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Çıktı <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> Ctrl+S basınız. <b>Ctrl+Q</b> bas devam etmek için.</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Hiçbir klavye çevirici yok. Tuş takımlarını terminale göndermek için karakterlere dönüştürmek için gereken bilgi eksik. @@ -41,22 +41,22 @@ Erişilebilir Renk Şeması - + Open Link Bağlantıyı Aç - + Copy Link Address Bağlantı adresini kopyala - + Send Email To... Eposta gönder... - + Copy Email Address Eposta adresini kopyala @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Renk Şema Hatası - + Cannot load color scheme: %1 Renk şeması yüklenemedi @@ -77,17 +77,17 @@ SearchBar - + Match case Tam eşleştir - + Regular expression Düzenli ifade - + Highlight all matches Tüm eşleşenleri vurgula diff --git a/lib/translations/qtermwidget_zh_CN.ts b/lib/translations/qtermwidget_zh_CN.ts index acbd5b1..8d2295e 100644 --- a/lib/translations/qtermwidget_zh_CN.ts +++ b/lib/translations/qtermwidget_zh_CN.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX 大小: XXX x XXX - + Size: %1 x %2 大小: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>输出已被 Ctrl+S <a href="http://en.wikipedia.org/wiki/Flow_control">暂停</a>。按 <b>Ctrl+Q</b> 复原。</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. 没有可用的键码转换表。找不到需要把按键转换至符号以传送至终端的信息。 @@ -41,22 +41,22 @@ 可用配色 - + Open Link 打开链接 - + Copy Link Address 复制链接地址 - + Send Email To... 发送邮件至... - + Copy Email Address 复制邮件地址 @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error 配色错误 - + Cannot load color scheme: %1 无法加载配色: %1 @@ -77,17 +77,17 @@ SearchBar - + Match case 匹配大小写 - + Regular expression 正则表达式 - + Highlight all matches 高亮所有匹配项 diff --git a/lib/translations/qtermwidget_zh_TW.ts b/lib/translations/qtermwidget_zh_TW.ts index 6750d13..74d5753 100644 --- a/lib/translations/qtermwidget_zh_TW.ts +++ b/lib/translations/qtermwidget_zh_TW.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX 大小:XXX x XXX - + Size: %1 x %2 大小:%1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>輸出已被Ctrl+S<a href="http://en.wikipedia.org/wiki/Flow_control">暫停</a>。按<b>Ctrl+Q</b>復原。</qt> @@ -22,7 +22,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. 沒有可用的鍵碼轉換表。用來將按鍵轉換成終端機字元的資訊遺失。 @@ -41,22 +41,22 @@ 可用的配色 - + Open Link 開啟連結 - + Copy Link Address 複製網址 - + Send Email To... 傳送郵件給… - + Copy Email Address 複製信箱地址 @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error 配色錯誤 - + Cannot load color scheme: %1 無法載入配色:%1 @@ -77,17 +77,17 @@ SearchBar - + Match case 符合大小寫 - + Regular expression 正規表示式 - + Highlight all matches 標亮所有相符的項目 From 77f700c5fbafef74db4b093f39fccfe2a694d86a Mon Sep 17 00:00:00 2001 From: Einar Mostad Date: Tue, 18 Dec 2018 12:02:10 +0000 Subject: [PATCH 012/162] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (21 of 21 strings) Translation: LXQt/QTermWidget Translate-URL: https://weblate.lxqt.org/projects/lxqt/qtermwidget/nb_NO/ --- lib/translations/qtermwidget_nb_NO.ts | 34 +++++++++++++-------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/lib/translations/qtermwidget_nb_NO.ts b/lib/translations/qtermwidget_nb_NO.ts index 7c12406..224e8b6 100644 --- a/lib/translations/qtermwidget_nb_NO.ts +++ b/lib/translations/qtermwidget_nb_NO.ts @@ -6,17 +6,17 @@ Size: XXX x XXX - + Størrelse: XXX x XXX Size: %1 x %2 - + Størrelse: %1 x %2 <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> - + <qt>Utgangssignalet ble <a href="http://en.wikipedia.org/wiki/Flow_control">stoppet</a> da Ctrl+S ble trykket. Trykk <b>Ctrl+Q</b> for å fortsette.</qt> @@ -24,7 +24,7 @@ No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. - + Ingen tastaturoversetter er tilgjengelig. Informasjonen som trengs for å gjøre tastetrykk om til tegn å sende til terminalen mangler. @@ -33,32 +33,32 @@ Un-named Color Scheme - + Fargemønster uten navn Accessible Color Scheme - + Fargemønster for funksjonshemmede Open Link - + Åpne lenke Copy Link Address - + Kopier lenkeadresse Send Email To... - + Send epost til... Copy Email Address - + Kopier epostadressen @@ -66,12 +66,12 @@ Color Scheme Error - + Feil med fargemønster Cannot load color scheme: %1 - + Kan ikke åpne fargemønster: %1 @@ -79,22 +79,22 @@ Match case - + Bruk STORE og små bokstaver Regular expression - + Bokstavmønstre (regex) Highlight all matches - + Lys opp alle søkeresultat SearchBar - + Søkefelt @@ -104,7 +104,7 @@ Find: - + Finn: From f475050f38497debd1b5ceb6b671089849bd8396 Mon Sep 17 00:00:00 2001 From: Ettore Atalan Date: Mon, 31 Dec 2018 20:15:21 +0000 Subject: [PATCH 013/162] Translated using Weblate (German) Currently translated at 100.0% (21 of 21 strings) Translation: LXQt/QTermWidget Translate-URL: https://weblate.lxqt.org/projects/lxqt/qtermwidget/de/ --- lib/translations/qtermwidget_de.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/translations/qtermwidget_de.ts b/lib/translations/qtermwidget_de.ts index b861186..471ad4f 100644 --- a/lib/translations/qtermwidget_de.ts +++ b/lib/translations/qtermwidget_de.ts @@ -43,22 +43,22 @@ Open Link - Öffne Link + Link öffnen Copy Link Address - Kopiere Verknüpfungsadresse + Linkadresse kopieren Send Email To... - Sende Email an... + E-Mail senden an... Copy Email Address - Kopiere Emailadresse + E-Mail-Adresse kopieren @@ -79,7 +79,7 @@ Match case - Groß- / Kleinschreibung berücksichtigen + Groß-/Kleinschreibung beachten @@ -89,7 +89,7 @@ Highlight all matches - Markiere alle Treffer + Alle Treffer hervorheben From b09e1d488266a706f26694f3916a742e33acde29 Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Sat, 12 Jan 2019 12:27:34 +0800 Subject: [PATCH 014/162] Revert "Rework on memory management of filter-related objects" This reverts commit 0154e036c702b82ebe4b12bed30085247451362c. --- lib/Filter.cpp | 35 ++++++----------------------------- lib/Filter.h | 9 +++------ lib/TerminalDisplay.cpp | 4 ++-- lib/TerminalDisplay.h | 2 +- lib/qtermwidget.cpp | 4 ++-- lib/qtermwidget.h | 2 +- 6 files changed, 15 insertions(+), 41 deletions(-) diff --git a/lib/Filter.cpp b/lib/Filter.cpp index 50c1d24..0cc5933 100644 --- a/lib/Filter.cpp +++ b/lib/Filter.cpp @@ -22,7 +22,6 @@ // System #include -#include // Qt #include @@ -193,12 +192,7 @@ Filter::~Filter() } void Filter::reset() { - for (HotSpot* const currentHotSpot : qAsConst(_hotspotList)) { - if (currentHotSpot->hasAnotherParent()) { - continue; - } - delete currentHotSpot; - } + qDeleteAll(_hotspotList); _hotspots.clear(); _hotspotList.clear(); } @@ -285,18 +279,15 @@ Filter::HotSpot* Filter::hotSpotAt(int line , int column) const } Filter::HotSpot::HotSpot(int startLine , int startColumn , int endLine , int endColumn) - : _hasAnotherParent(false) - , _startLine(startLine) + : _startLine(startLine) , _startColumn(startColumn) , _endLine(endLine) , _endColumn(endColumn) , _type(NotSpecified) { } -QList Filter::HotSpot::actions(QWidget* parent) +QList Filter::HotSpot::actions() { - Q_UNUSED(parent); - return QList(); } int Filter::HotSpot::startLine() const @@ -508,28 +499,14 @@ FilterObject* UrlFilter::HotSpot::getUrlObject() const return _urlObject; } -class UrlAction : public QAction { -public: - UrlAction(QWidget* parent, std::shared_ptr hotspotPtr) - : QAction(parent) - , _hotspotPtr(hotspotPtr) - { - } - -private: - std::shared_ptr _hotspotPtr; -}; - -QList UrlFilter::HotSpot::actions(QWidget* parent) +QList UrlFilter::HotSpot::actions() { - this->_hasAnotherParent = true; QList list; const UrlType kind = urlType(); - std::shared_ptr hotspotPtr(this); - UrlAction* openAction = new UrlAction(parent, hotspotPtr); - UrlAction* copyAction = new UrlAction(parent, hotspotPtr); + QAction* openAction = new QAction(_urlObject); + QAction* copyAction = new QAction(_urlObject);; Q_ASSERT( kind == StandardUrl || kind == Email ); diff --git a/lib/Filter.h b/lib/Filter.h index bb411ef..9692b91 100644 --- a/lib/Filter.h +++ b/lib/Filter.h @@ -115,22 +115,19 @@ public: * Returns a list of actions associated with the hotspot which can be used in a * menu or toolbar */ - virtual QList actions(QWidget* parent); - - bool hasAnotherParent() const { return _hasAnotherParent; } + virtual QList actions(); protected: /** Sets the type of a hotspot. This should only be set once */ void setType(Type type); - bool _hasAnotherParent; - private: int _startLine; int _startColumn; int _endLine; int _endColumn; Type _type; + }; /** Constructs a new filter. */ @@ -259,7 +256,7 @@ public: FilterObject* getUrlObject() const; - virtual QList actions(QWidget* parent); + virtual QList actions(); /** * Open a web browser at the current URL. The url itself can be determined using diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index f17f017..35f6b4b 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -1962,14 +1962,14 @@ void TerminalDisplay::mousePressEvent(QMouseEvent* ev) } } -QList TerminalDisplay::filterActions(const QPoint& position, QWidget* parent) +QList TerminalDisplay::filterActions(const QPoint& position) { int charLine, charColumn; getCharacterPosition(position,charLine,charColumn); Filter::HotSpot* spot = _filterChain->hotSpotAt(charLine,charColumn); - return spot ? spot->actions(parent) : QList(); + return spot ? spot->actions() : QList(); } void TerminalDisplay::mouseMoveEvent(QMouseEvent* ev) diff --git a/lib/TerminalDisplay.h b/lib/TerminalDisplay.h index adf446a..9978d0f 100644 --- a/lib/TerminalDisplay.h +++ b/lib/TerminalDisplay.h @@ -158,7 +158,7 @@ public: * Returns a list of menu actions created by the filters for the content * at the given @p position. */ - QList filterActions(const QPoint& position, QWidget* parent); + QList filterActions(const QPoint& position); /** Returns true if the cursor is set to blink or false otherwise. */ bool blinkingCursor() { return _hasBlinkingCursor; } diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index edf4232..5c3e56f 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -671,9 +671,9 @@ Filter::HotSpot* QTermWidget::getHotSpotAt(int row, int column) const return m_impl->m_terminalDisplay->filterChain()->hotSpotAt(row, column); } -QList QTermWidget::filterActions(const QPoint& position, QWidget* parent) +QList QTermWidget::filterActions(const QPoint& position) { - return m_impl->m_terminalDisplay->filterActions(position, parent); + return m_impl->m_terminalDisplay->filterActions(position); } int QTermWidget::getPtySlaveFd() const diff --git a/lib/qtermwidget.h b/lib/qtermwidget.h index 03b017b..a43249d 100644 --- a/lib/qtermwidget.h +++ b/lib/qtermwidget.h @@ -186,7 +186,7 @@ public: /* * Proxy for TerminalDisplay::filterActions * */ - QList filterActions(const QPoint& position, QWidget* parent); + QList filterActions(const QPoint& position); /** * Returns a pty slave file descriptor. From 3da204b68d868cee242deb0e2bb75939c684bcde Mon Sep 17 00:00:00 2001 From: Pavel Shlyak Date: Sat, 5 Jan 2019 18:47:17 +0400 Subject: [PATCH 015/162] Cleanup KeyboardTranslator.cpp The value is assigned twice. Seems to be unnecessary :) --- lib/KeyboardTranslator.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/KeyboardTranslator.cpp b/lib/KeyboardTranslator.cpp index a051a49..7382e15 100644 --- a/lib/KeyboardTranslator.cpp +++ b/lib/KeyboardTranslator.cpp @@ -71,7 +71,6 @@ void KeyboardTranslatorManager::findTranslators() filters << QLatin1String("*.keytab"); dir.setNameFilters(filters); QStringList list = dir.entryList(filters); - list = dir.entryList(filters); // QStringList list = KGlobal::dirs()->findAllResources("data", // "konsole/*.keytab", // KStandardDirs::NoDuplicates); From 2730ab589e155f14984cf89b7a36110ff7498ded Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Wed, 28 Nov 2018 20:36:09 +0100 Subject: [PATCH 016/162] Changelog for 0.14.0 --- CHANGELOG | 47 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 41 insertions(+), 6 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index ae1c154..8d6ca56 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,39 @@ +qtermwidget-0.14.0 / 2019-01-25 +=============================== + + * Bumped version to 0.14.0 + The big bump was needed to prevent conflicts with translations + that were former built out of lxqt-l10n and have version 0.13.0 + * Clarify the licenses used in qtermwidget and added the missed root licenses + * Implementation fixes: + - kpty: use openpty() on mac + - kpty: make it work on OpenBSD + - kptyprocess: ensure .bash_history is correctly written out + - kb-layouts: Make Backspace behaves the same as xterm + - tools: Drop the ability to bundle kb-layouts and colorschemes + - SearchBar: Fix visual glitches in search-bar + - TerminalDisplay: Fixed link mouseover after recent changes + - TerminalDisplay: Redraw cursor after cursor type changed + - Vt102Emulation: Fix handling of ST (String Terminator) for OSC (Operating System Commands) + - qterminal: Correct deleting of HotSpot list items + - qterminal: Removed unnecessary checks + - ColorScheme: Fixed local variable will be copied despite being returned by name + - ColorScheme: Fixed error return-std-move + - Removed unnecessary checks + - Suppressed compilation warnings + - Don't use automatic string conversions + - Marked some functions const + - Implemented terminal margins + * Improved cmake scripting + - Set cmake_minimum_required to 3.1.0 + - Removed locale compile definitons + - Removed QUIET from find_package + * Moved translations from lxqt-l10n back to qtermwidget + - Removed obsolete translation fuctionality + - Added translation promo in README.md + * Translation updates + qtermwidget-0.9.0 / 2018-05-21 ============================== @@ -31,7 +66,7 @@ qtermwidget-0.9.0 / 2018-05-21 * Check if utempter.h header exists (mainly for FreeBSD) * Need lxqt-build-tools 0.4.0 -0.8.0 / 2017-10-21 +qtermwidget-0.8.0 / 2017-10-21 ================== * Release 0.8.0: Update changelog @@ -77,7 +112,7 @@ qtermwidget-0.9.0 / 2018-05-21 * Exposes receivedData signal to users of QTermWidget * Exposes sessions autoClose property to QTermWidget -0.7.1 / 2016-12-21 +qtermwidget-0.7.1 / 2016-12-21 ================== * Release 0.7.1: Update changelog @@ -94,7 +129,7 @@ qtermwidget-0.9.0 / 2018-05-21 * Fix size of the array passed to memset() (#79) * Remove cpack (#93) -0.7.0 / 2016-09-24 +qtermwidget-0.7.0 / 2016-09-24 ================== * Release 0.7.0: Add changelog @@ -160,7 +195,7 @@ qtermwidget-0.9.0 / 2018-05-21 * Change mouseMarks only when needed. This might be useful if an application wants to be notified of the event. * Prevents deleting the last line when resizing. -0.6.0 / 2014-10-21 +qtermwidget-0.6.0 / 2014-10-21 ================== * Release 0.6.0 @@ -174,7 +209,7 @@ qtermwidget-0.9.0 / 2018-05-21 * fixed qterminal #71 qt5 version ignoring page up / down * Fixed a typo in CMakeLists.txt. -0.5.1 / 2014-07-14 +qtermwidget-0.5.1 / 2014-07-14 ================== * fixed 'make dist'; version bump @@ -208,7 +243,7 @@ qtermwidget-0.9.0 / 2018-05-21 * fix #2 update various documentations for debian packaging * fix #10 Update FSF address -0.4.0 / 2013-04-16 +qtermwidget-0.4.0 / 2013-04-16 ================== * readme updated From 4d11b7bdefc4c98938ce41cb4dbe094a209ed660 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ayhan=20YAL=C3=87INSOY=20PhD=2E=20=28Dr=2E=29?= Date: Sat, 26 Jan 2019 19:51:59 +0000 Subject: [PATCH 017/162] Translated using Weblate (Turkish) Currently translated at 100,0% (21 of 21 strings) Translation: LXQt/QTermWidget Translate-URL: https://weblate.lxqt.org/projects/lxqt/qtermwidget/tr/ --- lib/translations/qtermwidget_tr.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/translations/qtermwidget_tr.ts b/lib/translations/qtermwidget_tr.ts index 03699a6..0dd265d 100644 --- a/lib/translations/qtermwidget_tr.ts +++ b/lib/translations/qtermwidget_tr.ts @@ -94,32 +94,32 @@ SearchBar - + Arama Çubuğu X - + X Find: - + Bul: < - + < > - + > ... - + ... From edf61c9877bcd2c1d4e9e917211cd78d5de917a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ayhan=20YAL=C3=87INSOY=20PhD=2E=20=28Dr=2E=29?= Date: Sat, 26 Jan 2019 19:53:16 +0000 Subject: [PATCH 018/162] Translated using Weblate (Turkish) Currently translated at 100.0% (21 of 21 strings) Translation: LXQt/QTermWidget Translate-URL: https://weblate.lxqt.org/projects/lxqt/qtermwidget/tr/ --- lib/translations/qtermwidget_tr.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/translations/qtermwidget_tr.ts b/lib/translations/qtermwidget_tr.ts index 0dd265d..2da39d7 100644 --- a/lib/translations/qtermwidget_tr.ts +++ b/lib/translations/qtermwidget_tr.ts @@ -24,7 +24,7 @@ No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. - Hiçbir klavye çevirici yok. Tuş takımlarını terminale göndermek için karakterlere dönüştürmek için gereken bilgi eksik. + Hiçbir klavye çevirici yok. Tuş vuruşlarını karaktere dönüştürüp terminale göndermek için gereken bilgi eksik. @@ -33,7 +33,7 @@ Un-named Color Scheme - İsimsiz renk şeması + İsimsiz Renk Şeması @@ -48,17 +48,17 @@ Copy Link Address - Bağlantı adresini kopyala + Bağlantı Adresini Kopyala Send Email To... - Eposta gönder... + E-posta gönder... Copy Email Address - Eposta adresini kopyala + E-posta Adresini Kopyala @@ -71,7 +71,7 @@ Cannot load color scheme: %1 - Renk şeması yüklenemedi + Renk şeması yüklenemedi: %1 From d59fabcfdd19eba74299eed51449439d31cae44d Mon Sep 17 00:00:00 2001 From: eltonfabricio10 Date: Mon, 28 Jan 2019 00:59:54 +0000 Subject: [PATCH 019/162] Translated using Weblate (Portuguese) Currently translated at 100.0% (21 of 21 strings) Translation: LXQt/QTermWidget Translate-URL: https://weblate.lxqt.org/projects/lxqt/qtermwidget/pt/ --- lib/translations/qtermwidget_pt.ts | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/translations/qtermwidget_pt.ts b/lib/translations/qtermwidget_pt.ts index 1e4527a..b4478e2 100644 --- a/lib/translations/qtermwidget_pt.ts +++ b/lib/translations/qtermwidget_pt.ts @@ -16,7 +16,7 @@ <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> - <qt>O resultado foi <a href="http://en.wikipedia.org/wiki/Flow_control">suspenso</a> através de Ctrl+S. Prima <b>Ctrl+Q</b> para continuar.</qt> + <qt>A saída foi <a href="http://en.wikipedia.org/wiki/Flow_control"> suspensa</a> pressionando Ctrl+S. Pressione<b>Ctrl+Q</b> para continuar.</qt> @@ -24,7 +24,7 @@ No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. - Não há tradutores de teclado disponíveis. A informação necessária para converter os toques das teclas em caracteres enviados ao terminal não existem. + Nenhum tradutor de teclado disponível. As informações necessárias para converter as teclas pressionadas em caracteres para enviar para o terminal estão faltando. @@ -33,32 +33,32 @@ Un-named Color Scheme - Esquema de cores sem nome + Esquema de Cores sem nome Accessible Color Scheme - Esquema de cores acessível + Esquema de Cores Acessível Open Link - Abrir ligação + Abrir Link Copy Link Address - Copiar endereço da ligação + Copiar Endereço do Link Send Email To... - Enviar e-mail para... + Enviar E-mail Para... Copy Email Address - Copiar endereço de e-mail + Copiar Endereço de E-mail @@ -66,12 +66,12 @@ Color Scheme Error - Erro no esquema de cores + Erro no Esquema de Cores Cannot load color scheme: %1 - Incapaz de carregar o esquema: %1 + Não é possível carregar o esquema de cores: %1 @@ -94,7 +94,7 @@ SearchBar - Barra de pesquisa + Barra de Pesquisa From 5a9a575d042a2f9befa090420b7eb85c52a725ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Marques?= Date: Fri, 22 Feb 2019 13:25:27 +0000 Subject: [PATCH 020/162] Translated using Weblate (Portuguese) Currently translated at 100.0% (21 of 21 strings) Translation: LXQt/QTermWidget Translate-URL: https://weblate.lxqt.org/projects/lxqt/qtermwidget/pt/ --- lib/translations/qtermwidget_pt.ts | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/translations/qtermwidget_pt.ts b/lib/translations/qtermwidget_pt.ts index b4478e2..e2c5f58 100644 --- a/lib/translations/qtermwidget_pt.ts +++ b/lib/translations/qtermwidget_pt.ts @@ -16,7 +16,7 @@ <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> - <qt>A saída foi <a href="http://en.wikipedia.org/wiki/Flow_control"> suspensa</a> pressionando Ctrl+S. Pressione<b>Ctrl+Q</b> para continuar.</qt> + <qt>A saída foi <a href="http://en.wikipedia.org/wiki/Flow_control"> suspendida</a> com Ctrl+S. Prima <b>Ctrl+Q</b> para continuar.</qt> @@ -24,7 +24,7 @@ No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. - Nenhum tradutor de teclado disponível. As informações necessárias para converter as teclas pressionadas em caracteres para enviar para o terminal estão faltando. + Não há um tradutor de teclado disponível. A informação necessária para converter a pressão da tecla nos caracteres a enviar ao terminal não existe. @@ -33,32 +33,32 @@ Un-named Color Scheme - Esquema de Cores sem nome + Esquema de cores sem nome Accessible Color Scheme - Esquema de Cores Acessível + Esquema de cores acessível Open Link - Abrir Link + Abrir ligação Copy Link Address - Copiar Endereço do Link + Copiar endereço da ligação Send Email To... - Enviar E-mail Para... + Enviar e-mail para... Copy Email Address - Copiar Endereço de E-mail + Copiar endereço de e-mail @@ -66,12 +66,12 @@ Color Scheme Error - Erro no Esquema de Cores + Erro no esquema de cores Cannot load color scheme: %1 - Não é possível carregar o esquema de cores: %1 + Não foi possível carregar o esquema de cores: %1 @@ -94,7 +94,7 @@ SearchBar - Barra de Pesquisa + Barra de pesquisa From 456e3568092d2d111c61e414cb20743f24c9388c Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Mon, 25 Feb 2019 22:50:32 +0100 Subject: [PATCH 021/162] Point release qtermwidget 0.14.1 * Bumped version to 0.14.1 * Only translations are changed. --- CHANGELOG | 5 +++++ CMakeLists.txt | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 8d6ca56..3185646 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,8 @@ +qtermwidget-0.14.1 / 2019-02-25 +=============================== + + * Bumped version to 0.14.1 + * Only translations was changed. qtermwidget-0.14.0 / 2019-01-25 =============================== diff --git a/CMakeLists.txt b/CMakeLists.txt index 0da5bdb..4509d68 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,7 +22,7 @@ option(USE_UTF8PROC "Use libutf8proc for better Unicode support. Default OFF" OF # just change version for releases set(QTERMWIDGET_VERSION_MAJOR "0") set(QTERMWIDGET_VERSION_MINOR "14") -set(QTERMWIDGET_VERSION_PATCH "0") +set(QTERMWIDGET_VERSION_PATCH "1") set(QTERMWIDGET_VERSION "${QTERMWIDGET_VERSION_MAJOR}.${QTERMWIDGET_VERSION_MINOR}.${QTERMWIDGET_VERSION_PATCH}") From 35464957c6eef0cc61dbfbadc2bf80bc8351e8a0 Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Tue, 5 Mar 2019 06:23:05 -0500 Subject: [PATCH 022/162] Replace Q_WS_MAC with Q_OS_MACOS for Qt 5 compatibility The Q_WS_MAC Window Server macro is no longer defined in Qt 5: https://doc.qt.io/qt-5/macos-issues.html#compile-time-flags. --- example/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/main.cpp b/example/main.cpp index 07851ed..a27e9ec 100644 --- a/example/main.cpp +++ b/example/main.cpp @@ -41,7 +41,7 @@ int main(int argc, char *argv[]) mainWindow->setMenuBar(menuBar); QFont font = QApplication::font(); -#ifdef Q_WS_MAC +#ifdef Q_OS_MACOS font.setFamily("Monaco"); #elif defined(Q_WS_QWS) font.setFamily("fixed"); From 0086b184bfc750ff9ee318d06339e71b83ae12e1 Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Tue, 5 Mar 2019 05:55:35 -0500 Subject: [PATCH 023/162] KPty: Don't conditionalize chownpty existence on HAVE_OPENPTY This fixes the build on Mac, which is the only place where HAVE_OPENPTY is actually defined. --- lib/kpty.cpp | 2 -- lib/kpty_p.h | 2 -- 2 files changed, 4 deletions(-) diff --git a/lib/kpty.cpp b/lib/kpty.cpp index 542bde3..b42bf95 100644 --- a/lib/kpty.cpp +++ b/lib/kpty.cpp @@ -174,14 +174,12 @@ KPtyPrivate::~KPtyPrivate() { } -#ifndef HAVE_OPENPTY bool KPtyPrivate::chownpty(bool) { // return !QProcess::execute(KStandardDirs::findExe("kgrantpty"), // QStringList() << (grant?"--grant":"--revoke") << QString::number(masterFd)); return true; } -#endif ///////////////////////////// // public member functions // diff --git a/lib/kpty_p.h b/lib/kpty_p.h index 4f865b8..28ed2a5 100644 --- a/lib/kpty_p.h +++ b/lib/kpty_p.h @@ -35,9 +35,7 @@ public: KPtyPrivate(KPty* parent); virtual ~KPtyPrivate(); -#ifndef HAVE_OPENPTY bool chownpty(bool grant); -#endif int masterFd; int slaveFd; From 3bc88706d5ea0eda22e338878969379f3e49be92 Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Tue, 5 Mar 2019 06:26:30 -0500 Subject: [PATCH 024/162] example: Fix "Find" menu item name --- example/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/main.cpp b/example/main.cpp index a27e9ec..176644c 100644 --- a/example/main.cpp +++ b/example/main.cpp @@ -36,7 +36,7 @@ int main(int argc, char *argv[]) QMenuBar *menuBar = new QMenuBar(mainWindow); QMenu *actionsMenu = new QMenu("Actions", menuBar); menuBar->addMenu(actionsMenu); - actionsMenu->addAction("Find..", console, SLOT(toggleShowSearchBar()), QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_F)); + actionsMenu->addAction("Find...", console, SLOT(toggleShowSearchBar()), QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_F)); actionsMenu->addAction("About Qt", &app, SLOT(aboutQt())); mainWindow->setMenuBar(menuBar); From 3ee4927bad291c91942e4c0bf97f6ea21183ad8c Mon Sep 17 00:00:00 2001 From: roxfr Date: Tue, 26 Feb 2019 19:56:35 +0000 Subject: [PATCH 025/162] Translated using Weblate (French) Currently translated at 100.0% (21 of 21 strings) Translation: LXQt/QTermWidget Translate-URL: https://weblate.lxqt.org/projects/lxqt/qtermwidget/fr/ --- lib/translations/qtermwidget_fr.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/translations/qtermwidget_fr.ts b/lib/translations/qtermwidget_fr.ts index 3d146cb..9b46782 100644 --- a/lib/translations/qtermwidget_fr.ts +++ b/lib/translations/qtermwidget_fr.ts @@ -16,7 +16,7 @@ <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> - <qt>La sortie a été <a href="http://en.wikipedia.org/wiki/Flow_control">suspendue</a> en pressant Ctrl+S. Pressez <b>Ctrl+Q</b> pour reprendre.</qt> + <qt>La sortie a été <a href="http://en.wikipedia.org/wiki/Flow_control">suspendue</a> en pressant Ctrl+S. Presser <b>Ctrl+Q</b> pour reprendre.</qt> @@ -24,7 +24,7 @@ No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. - Aucun traducteur disponible. L'information nécessaire à la conversion des touches pressées en caractères à envoyer au terminal est absente. + Aucun traducteur de clavier disponible. Les informations nécessaires pour convertir les touches utilisées en caractères à envoyer au terminal sont manquantes. @@ -33,12 +33,12 @@ Un-named Color Scheme - Schéma des couleurs non nommé + Jeu de couleurs non nommé Accessible Color Scheme - Schéma des couleur accessible + Schéma de couleur accessible @@ -53,7 +53,7 @@ Send Email To... - Envoyer un courriel à ... + Envoyer un courriel à... From e292763e6d23fd92ac30cad9ac107709b8c47c71 Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Tue, 5 Mar 2019 08:00:07 -0500 Subject: [PATCH 026/162] cmake: set CMAKE_BUILD_WITH_INSTALL_NAME_DIR ON This fixes a dylib linkage issue in client programs on macOS. --- CMakeLists.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4509d68..57a8c7d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,6 +47,13 @@ include(LXQtTranslateTs) include(LXQtCompilerSettings NO_POLICY_SCOPE) include(LXQtCreatePkgConfigFile) +if(APPLE) + if(CMAKE_VERSION VERSION_GREATER 3.9) + cmake_policy(SET CMP0068 NEW) + set(CMAKE_BUILD_WITH_INSTALL_NAME_DIR ON) + endif() +endif() + set(QTERMWIDGET_LIBRARY_NAME qtermwidget5) From fa4a1bad42fc6282b72e17d2bbcab305975b42a0 Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Sat, 9 Mar 2019 19:04:32 -0500 Subject: [PATCH 027/162] Fix default font on macOS Qt does not support fontconfig on macOS, so we need to work around it and provide a "real" font family name for the default font. Otherwise, "Monospace" will be unrecognized and it will fall back to a variable-width font. --- lib/qtermwidget.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index 5c3e56f..4a5172a 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -33,6 +33,12 @@ #include "SearchBar.h" #include "qtermwidget.h" +#ifdef Q_OS_MACOS +// Qt does not support fontconfig on macOS, so we need to use a "real" font name. +#define DEFAULT_FONT_FAMILY "Menlo" +#else +#define DEFAULT_FONT_FAMILY "Monospace" +#endif #define STEP_ZOOM 1 @@ -321,7 +327,7 @@ void QTermWidget::init(int startnow) // m_impl->m_terminalDisplay->setSize(80, 40); QFont font = QApplication::font(); - font.setFamily(QLatin1String("Monospace")); + font.setFamily(QLatin1String(DEFAULT_FONT_FAMILY)); font.setPointSize(10); font.setStyleHint(QFont::TypeWriter); setTerminalFont(font); From 7718f36cd6c48703922c7a0d7ec1333cc43159f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Thu, 7 Mar 2019 21:08:37 +0000 Subject: [PATCH 028/162] pyqt: Fixes deprecation warning (CMP0002) There is no need to set CMP0002 to OLD, anymore. It can be safely removed. Closes https://github.com/lxqt/qtermwidget/issues/177 --- pyqt/CMakeLists.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/pyqt/CMakeLists.txt b/pyqt/CMakeLists.txt index 3ebaf5e..5e0bab5 100644 --- a/pyqt/CMakeLists.txt +++ b/pyqt/CMakeLists.txt @@ -1,7 +1,5 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) -# Match what's used in the main macros -cmake_policy(SET CMP0002 OLD) find_package(PythonLibrary) include(PythonMacros) From 9ee754ad0f24a37167283f60f8f36926d8b3686d Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Sat, 9 Mar 2019 16:53:12 +0800 Subject: [PATCH 029/162] Fix the PyQt5 binding with Qt 5.11+ Inspired by https://phabricator.kde.org/D15091 --- pyqt/CMakeLists.txt | 2 ++ pyqt/cmake/FindPyQt5.cmake | 1 + 2 files changed, 3 insertions(+) diff --git a/pyqt/CMakeLists.txt b/pyqt/CMakeLists.txt index 5e0bab5..08b1e25 100644 --- a/pyqt/CMakeLists.txt +++ b/pyqt/CMakeLists.txt @@ -38,6 +38,8 @@ else (PYTHON_VERSION_MAJOR GREATER 2) endif() endif () +set(SIP_EXTRA_OPTIONS ${SIP_EXTRA_OPTIONS} ${PYQT5_SIP_FLAGS}) + include_directories( "${SIP_INCLUDE_DIR}" ) diff --git a/pyqt/cmake/FindPyQt5.cmake b/pyqt/cmake/FindPyQt5.cmake index b4a52e1..c1bd504 100644 --- a/pyqt/cmake/FindPyQt5.cmake +++ b/pyqt/cmake/FindPyQt5.cmake @@ -36,6 +36,7 @@ ELSE(EXISTS PYQT5_VERSION) STRING(REGEX REPLACE ".*\npyqt_version_tag:([^\n]+).*$" "\\1" PYQT5_VERSION_TAG ${pyqt5_config}) STRING(REGEX REPLACE ".*\npyqt_sip_dir:([^\n]+).*$" "\\1" PYQT5_SIP_DIR ${pyqt5_config}) STRING(REGEX REPLACE ".*\npyqt_sip_flags:([^\n]+).*$" "\\1" PYQT5_SIP_FLAGS ${pyqt5_config}) + SEPARATE_ARGUMENTS(PYQT5_SIP_FLAGS) SET(PYQT5_FOUND TRUE) ENDIF(pyqt5_config) From 5ce909cbc2ab9729c0638cf8d8aacb6b49f72b44 Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Tue, 12 Mar 2019 18:19:25 -0400 Subject: [PATCH 030/162] Swap Qt::ControlModifier and Qt::MetaModifier on Mac This is because their meaning is different there. See https://doc.qt.io/qt-5/qt.html#KeyboardModifier-enum --- lib/KeyboardTranslator.cpp | 12 ++++++++++++ lib/KeyboardTranslator.h | 7 +++++-- lib/Vt102Emulation.cpp | 4 ++-- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/lib/KeyboardTranslator.cpp b/lib/KeyboardTranslator.cpp index 7382e15..9d66aa2 100644 --- a/lib/KeyboardTranslator.cpp +++ b/lib/KeyboardTranslator.cpp @@ -50,6 +50,13 @@ const QByteArray KeyboardTranslatorManager::defaultTranslatorText( "key Tab : \"\\t\"" ); +#ifdef Q_OS_MAC +// On Mac, Qt::ControlModifier means Cmd, and MetaModifier means Ctrl +const Qt::KeyboardModifier KeyboardTranslator::CTRL_MOD = Qt::MetaModifier; +#else +const Qt::KeyboardModifier KeyboardTranslator::CTRL_MOD = Qt::ControlModifier; +#endif + KeyboardTranslatorManager::KeyboardTranslatorManager() : _haveLoadedAll(false) { @@ -613,6 +620,11 @@ bool KeyboardTranslator::Entry::matches(int keyCode , Qt::KeyboardModifiers modifiers, States testState) const { +#ifdef Q_OS_MAC + // On Mac, arrow keys are considered part of keypad. Ignore that. + modifiers &= ~Qt::KeypadModifier; +#endif + if ( _keyCode != keyCode ) return false; diff --git a/lib/KeyboardTranslator.h b/lib/KeyboardTranslator.h index a9614e4..ac2fe99 100644 --- a/lib/KeyboardTranslator.h +++ b/lib/KeyboardTranslator.h @@ -314,6 +314,9 @@ public: /** Returns a list of all entries in the translator. */ QList entries() const; + /** The modifier code for the actual Ctrl key on this OS. */ + static const Qt::KeyboardModifier CTRL_MOD; + private: QMultiHash _entries; // entries in this keyboard translation, @@ -558,8 +561,8 @@ inline QByteArray KeyboardTranslator::Entry::text(bool expandWildCards,Qt::Keybo { int modifierValue = 1; modifierValue += oneOrZero(modifiers & Qt::ShiftModifier); - modifierValue += oneOrZero(modifiers & Qt::AltModifier) << 1; - modifierValue += oneOrZero(modifiers & Qt::ControlModifier) << 2; + modifierValue += oneOrZero(modifiers & Qt::AltModifier) << 1; + modifierValue += oneOrZero(modifiers & KeyboardTranslator::CTRL_MOD) << 2; for (int i=0;i<_text.length();i++) { diff --git a/lib/Vt102Emulation.cpp b/lib/Vt102Emulation.cpp index 6472659..cf677c2 100644 --- a/lib/Vt102Emulation.cpp +++ b/lib/Vt102Emulation.cpp @@ -1025,7 +1025,7 @@ void Vt102Emulation::sendKeyEvent( QKeyEvent* event ) states |= KeyboardTranslator::ApplicationKeypadState; // check flow control state - if (modifiers & Qt::ControlModifier) + if (modifiers & KeyboardTranslator::CTRL_MOD) { switch (event->key()) { case Qt::Key_S: @@ -1080,7 +1080,7 @@ void Vt102Emulation::sendKeyEvent( QKeyEvent* event ) { textToSend += _codec->fromUnicode(QString::fromUtf8(entry.text(true,modifiers))); } - else if((modifiers & Qt::ControlModifier) && event->key() >= 0x40 && event->key() < 0x5f) { + else if((modifiers & KeyboardTranslator::CTRL_MOD) && event->key() >= 0x40 && event->key() < 0x5f) { textToSend += (event->key() & 0x1f); } else if(event->key() == Qt::Key_Tab) { From ea7596a7a41d12f7aeac2a932388813cf36a2792 Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Fri, 22 Mar 2019 23:29:02 +0100 Subject: [PATCH 031/162] Reworded github issue template --- .github/ISSUE_TEMPLATE.md | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 701426e..77d8c83 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,34 +1,42 @@ - - + + + + + + + ##### Expected Behavior - + ##### Current Behavior - - + + + ##### Possible Solution - - + + ##### Steps to Reproduce (for bugs) - - + + 1. 2. 3. 4. ##### Context - - + + + ##### System Information - + + * Distribution & Version: * Kernel: * Qt Version: -* liblxqt Version: +* lxqt-build-tools Version: * Package version: From 8f1b40b55f34202cf80764cf1d56a185c9dad389 Mon Sep 17 00:00:00 2001 From: Davi Lopes Date: Sat, 6 Apr 2019 12:38:51 +0000 Subject: [PATCH 032/162] Added translation using Weblate (Portuguese (Brazil)) --- lib/translations/qtermwidget_pt_BR.ts | 125 ++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 lib/translations/qtermwidget_pt_BR.ts diff --git a/lib/translations/qtermwidget_pt_BR.ts b/lib/translations/qtermwidget_pt_BR.ts new file mode 100644 index 0000000..941d205 --- /dev/null +++ b/lib/translations/qtermwidget_pt_BR.ts @@ -0,0 +1,125 @@ + + + + + Konsole::TerminalDisplay + + + Size: XXX x XXX + + + + + Size: %1 x %2 + + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> + + + + + Konsole::Vt102Emulation + + + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. + + + + + QObject + + + + Un-named Color Scheme + + + + + Accessible Color Scheme + + + + + Open Link + + + + + Copy Link Address + + + + + Send Email To... + + + + + Copy Email Address + + + + + QTermWidget + + + Color Scheme Error + + + + + Cannot load color scheme: %1 + + + + + SearchBar + + + Match case + + + + + Regular expression + + + + + Highlight all matches + + + + + SearchBar + + + + + X + + + + + Find: + + + + + < + + + + + > + + + + + ... + + + + From 1e634114a3e740910492b8b3dee592d08eb8d48a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Wed, 10 Apr 2019 17:51:28 +0100 Subject: [PATCH 033/162] Port towards C++11 override --- lib/Emulation.h | 2 +- lib/Filter.h | 16 ++--- lib/History.h | 106 ++++++++++++++++----------------- lib/HistorySearch.h | 2 +- lib/Pty.h | 4 +- lib/ScreenWindow.h | 2 +- lib/SearchBar.h | 4 +- lib/Session.h | 4 +- lib/TerminalCharacterDecoder.h | 16 ++--- lib/TerminalDisplay.h | 44 +++++++------- lib/Vt102Emulation.h | 22 +++---- lib/kprocess.h | 2 +- lib/kptydevice.h | 26 ++++---- lib/kptyprocess.h | 4 +- lib/qtermwidget.h | 6 +- 15 files changed, 130 insertions(+), 130 deletions(-) diff --git a/lib/Emulation.h b/lib/Emulation.h index 6faa7c3..9fa179c 100644 --- a/lib/Emulation.h +++ b/lib/Emulation.h @@ -148,7 +148,7 @@ public: /** Constructs a new terminal emulation */ Emulation(); - ~Emulation(); + ~Emulation() override; /** * Creates a new window onto the output from this emulation. The contents diff --git a/lib/Filter.h b/lib/Filter.h index 9692b91..8566a51 100644 --- a/lib/Filter.h +++ b/lib/Filter.h @@ -132,7 +132,7 @@ public: /** Constructs a new filter. */ Filter(); - virtual ~Filter(); + ~Filter() override; /** Causes the filter to process the block of text currently in its internal buffer */ virtual void process() = 0; @@ -194,7 +194,7 @@ public: { public: HotSpot(int startLine, int startColumn, int endLine , int endColumn); - virtual void activate(const QString& action = QString()); + void activate(const QString& action = QString()) override; /** Sets the captured texts associated with this hotspot */ void setCapturedTexts(const QStringList& texts); @@ -223,7 +223,7 @@ public: * If regexp matches the empty string, then process() will return immediately * without finding results. */ - virtual void process(); + void process() override; protected: /** @@ -252,17 +252,17 @@ public: { public: HotSpot(int startLine,int startColumn,int endLine,int endColumn); - virtual ~HotSpot(); + ~HotSpot() override; FilterObject* getUrlObject() const; - virtual QList actions(); + QList actions() override; /** * Open a web browser at the current URL. The url itself can be determined using * the capturedTexts() method. */ - virtual void activate(const QString& action = QString()); + void activate(const QString& action = QString()) override; private: enum UrlType @@ -279,7 +279,7 @@ public: UrlFilter(); protected: - virtual RegExpFilter::HotSpot* newHotSpot(int,int,int,int); + RegExpFilter::HotSpot* newHotSpot(int,int,int,int) override; private: @@ -362,7 +362,7 @@ class TerminalImageFilterChain : public FilterChain { public: TerminalImageFilterChain(); - virtual ~TerminalImageFilterChain(); + ~TerminalImageFilterChain() override; /** * Set the current terminal image to @p image. diff --git a/lib/History.h b/lib/History.h index d921a86..16469d0 100644 --- a/lib/History.h +++ b/lib/History.h @@ -139,15 +139,15 @@ class HistoryScrollFile : public HistoryScroll { public: HistoryScrollFile(const QString &logFileName); - virtual ~HistoryScrollFile(); + ~HistoryScrollFile() override; - virtual int getLines(); - virtual int getLineLen(int lineno); - virtual void getCells(int lineno, int colno, int count, Character res[]); - virtual bool isWrappedLine(int lineno); + int getLines() override; + int getLineLen(int lineno) override; + void getCells(int lineno, int colno, int count, Character res[]) override; + bool isWrappedLine(int lineno) override; - virtual void addCells(const Character a[], int count); - virtual void addLine(bool previousWrapped=false); + void addCells(const Character a[], int count) override; + void addLine(bool previousWrapped=false) override; private: int startOfLine(int lineno); @@ -168,16 +168,16 @@ public: typedef QVector HistoryLine; HistoryScrollBuffer(unsigned int maxNbLines = 1000); - virtual ~HistoryScrollBuffer(); + ~HistoryScrollBuffer() override; - virtual int getLines(); - virtual int getLineLen(int lineno); - virtual void getCells(int lineno, int colno, int count, Character res[]); - virtual bool isWrappedLine(int lineno); + int getLines() override; + int getLineLen(int lineno) override; + void getCells(int lineno, int colno, int count, Character res[]) override; + bool isWrappedLine(int lineno) override; - virtual void addCells(const Character a[], int count); - virtual void addCellsVector(const QVector& cells); - virtual void addLine(bool previousWrapped=false); + void addCells(const Character a[], int count) override; + void addCellsVector(const QVector& cells) override; + void addLine(bool previousWrapped=false) override; void setMaxNbLines(unsigned int nbLines); unsigned int maxNbLines() const { return _maxLineCount; } @@ -223,17 +223,17 @@ class HistoryScrollNone : public HistoryScroll { public: HistoryScrollNone(); - virtual ~HistoryScrollNone(); + ~HistoryScrollNone() override; - virtual bool hasScroll(); + bool hasScroll() override; - virtual int getLines(); - virtual int getLineLen(int lineno); - virtual void getCells(int lineno, int colno, int count, Character res[]); - virtual bool isWrappedLine(int lineno); + int getLines() override; + int getLineLen(int lineno) override; + void getCells(int lineno, int colno, int count, Character res[]) override; + bool isWrappedLine(int lineno) override; - virtual void addCells(const Character a[], int count); - virtual void addLine(bool previousWrapped=false); + void addCells(const Character a[], int count) override; + void addLine(bool previousWrapped=false) override; }; ////////////////////////////////////////////////////////////////////// @@ -243,15 +243,15 @@ class HistoryScrollBlockArray : public HistoryScroll { public: HistoryScrollBlockArray(size_t size); - virtual ~HistoryScrollBlockArray(); + ~HistoryScrollBlockArray() override; - virtual int getLines(); - virtual int getLineLen(int lineno); - virtual void getCells(int lineno, int colno, int count, Character res[]); - virtual bool isWrappedLine(int lineno); + int getLines() override; + int getLineLen(int lineno) override; + void getCells(int lineno, int colno, int count, Character res[]) override; + bool isWrappedLine(int lineno) override; - virtual void addCells(const Character a[], int count); - virtual void addLine(bool previousWrapped=false); + void addCells(const Character a[], int count) override; + void addLine(bool previousWrapped=false) override; protected: BlockArray m_blockArray; @@ -363,16 +363,16 @@ class CompactHistoryScroll : public HistoryScroll public: CompactHistoryScroll(unsigned int maxNbLines = 1000); - virtual ~CompactHistoryScroll(); + ~CompactHistoryScroll() override; - virtual int getLines(); - virtual int getLineLen(int lineno); - virtual void getCells(int lineno, int colno, int count, Character res[]); - virtual bool isWrappedLine(int lineno); + int getLines() override; + int getLineLen(int lineno) override; + void getCells(int lineno, int colno, int count, Character res[]) override; + bool isWrappedLine(int lineno) override; - virtual void addCells(const Character a[], int count); - virtual void addCellsVector(const TextLine& cells); - virtual void addLine(bool previousWrapped=false); + void addCells(const Character a[], int count) override; + void addCellsVector(const TextLine& cells) override; + void addLine(bool previousWrapped=false) override; void setMaxNbLines(unsigned int nbLines); unsigned int maxNbLines() const { return _maxLineCount; } @@ -418,10 +418,10 @@ class HistoryTypeNone : public HistoryType public: HistoryTypeNone(); - virtual bool isEnabled() const; - virtual int maximumLineCount() const; + bool isEnabled() const override; + int maximumLineCount() const override; - virtual HistoryScroll* scroll(HistoryScroll *) const; + HistoryScroll* scroll(HistoryScroll *) const override; }; class HistoryTypeBlockArray : public HistoryType @@ -429,10 +429,10 @@ class HistoryTypeBlockArray : public HistoryType public: HistoryTypeBlockArray(size_t size); - virtual bool isEnabled() const; - virtual int maximumLineCount() const; + bool isEnabled() const override; + int maximumLineCount() const override; - virtual HistoryScroll* scroll(HistoryScroll *) const; + HistoryScroll* scroll(HistoryScroll *) const override; protected: size_t m_size; @@ -444,11 +444,11 @@ class HistoryTypeFile : public HistoryType public: HistoryTypeFile(const QString& fileName=QString()); - virtual bool isEnabled() const; + bool isEnabled() const override; virtual const QString& getFileName() const; - virtual int maximumLineCount() const; + int maximumLineCount() const override; - virtual HistoryScroll* scroll(HistoryScroll *) const; + HistoryScroll* scroll(HistoryScroll *) const override; protected: QString m_fileName; @@ -462,10 +462,10 @@ class HistoryTypeBuffer : public HistoryType public: HistoryTypeBuffer(unsigned int nbLines); - virtual bool isEnabled() const; - virtual int maximumLineCount() const; + bool isEnabled() const override; + int maximumLineCount() const override; - virtual HistoryScroll* scroll(HistoryScroll *) const; + HistoryScroll* scroll(HistoryScroll *) const override; protected: unsigned int m_nbLines; @@ -476,10 +476,10 @@ class CompactHistoryType : public HistoryType public: CompactHistoryType(unsigned int size); - virtual bool isEnabled() const; - virtual int maximumLineCount() const; + bool isEnabled() const override; + int maximumLineCount() const override; - virtual HistoryScroll* scroll(HistoryScroll *) const; + HistoryScroll* scroll(HistoryScroll *) const override; protected: unsigned int m_nbLines; diff --git a/lib/HistorySearch.h b/lib/HistorySearch.h index e019650..80b35db 100644 --- a/lib/HistorySearch.h +++ b/lib/HistorySearch.h @@ -41,7 +41,7 @@ public: explicit HistorySearch(EmulationPtr emulation, QRegExp regExp, bool forwards, int startColumn, int startLine, QObject* parent); - ~HistorySearch(); + ~HistorySearch() override; void search(); diff --git a/lib/Pty.h b/lib/Pty.h index e5f6ceb..6c96c3e 100644 --- a/lib/Pty.h +++ b/lib/Pty.h @@ -78,7 +78,7 @@ Q_OBJECT */ explicit Pty(int ptyMasterFd, QObject* parent = 0); - ~Pty(); + ~Pty() override; /** * Starts the terminal process. @@ -189,7 +189,7 @@ Q_OBJECT void receivedData(const char* buffer, int length); protected: - void setupChildProcess(); + void setupChildProcess() override; private slots: // called when data is received from the terminal process diff --git a/lib/ScreenWindow.h b/lib/ScreenWindow.h index 87d0840..81d1f97 100644 --- a/lib/ScreenWindow.h +++ b/lib/ScreenWindow.h @@ -65,7 +65,7 @@ public: * between all views on a session. */ ScreenWindow(QObject* parent = 0); - virtual ~ScreenWindow(); + ~ScreenWindow() override; /** Sets the screen which this window looks onto */ void setScreen(Screen* screen); diff --git a/lib/SearchBar.h b/lib/SearchBar.h index 0201173..89d7eb2 100644 --- a/lib/SearchBar.h +++ b/lib/SearchBar.h @@ -28,7 +28,7 @@ class SearchBar : public QWidget { Q_OBJECT public: SearchBar(QWidget* parent = 0); - virtual ~SearchBar(); + ~SearchBar() override; virtual void show(); QString searchText(); bool useRegularExpression(); @@ -45,7 +45,7 @@ signals: void findPrevious(); protected: - virtual void keyReleaseEvent(QKeyEvent* keyEvent); + void keyReleaseEvent(QKeyEvent* keyEvent) override; private slots: void clearBackgroundColor(); diff --git a/lib/Session.h b/lib/Session.h index 9aa8026..ab63b51 100644 --- a/lib/Session.h +++ b/lib/Session.h @@ -72,7 +72,7 @@ public: * variable. */ Session(QObject* parent = 0); - virtual ~Session(); + ~Session() override; /** * Returns true if the session is currently running. This will be true @@ -583,7 +583,7 @@ public: /** Constructs an empty session group. */ SessionGroup(); /** Destroys the session group and removes all connections between master and slave sessions. */ - ~SessionGroup(); + ~SessionGroup() override; /** Adds a session to the group. */ void addSession( Session * session ); diff --git a/lib/TerminalCharacterDecoder.h b/lib/TerminalCharacterDecoder.h index a73e9a1..c49b3d4 100644 --- a/lib/TerminalCharacterDecoder.h +++ b/lib/TerminalCharacterDecoder.h @@ -92,12 +92,12 @@ public: /** Enables recording of character positions at which new lines are added. See linePositions() */ void setRecordLinePositions(bool record); - virtual void begin(QTextStream* output); - virtual void end(); + void begin(QTextStream* output) override; + void end() override; - virtual void decodeLine(const Character* const characters, + void decodeLine(const Character* const characters, int count, - LineProperty properties); + LineProperty properties) override; private: @@ -125,12 +125,12 @@ public: */ void setColorTable( const ColorEntry* table ); - virtual void decodeLine(const Character* const characters, + void decodeLine(const Character* const characters, int count, - LineProperty properties); + LineProperty properties) override; - virtual void begin(QTextStream* output); - virtual void end(); + void begin(QTextStream* output) override; + void end() override; private: void openSpan(std::wstring& text , const QString& style); diff --git a/lib/TerminalDisplay.h b/lib/TerminalDisplay.h index 9978d0f..fb55a58 100644 --- a/lib/TerminalDisplay.h +++ b/lib/TerminalDisplay.h @@ -83,7 +83,7 @@ class KONSOLEPRIVATE_EXPORT TerminalDisplay : public QWidget public: /** Constructs a new terminal display widget with the specified parent. */ TerminalDisplay(QWidget *parent=0); - virtual ~TerminalDisplay(); + ~TerminalDisplay() override; /** Returns the terminal color palette used by the display. */ const ColorEntry* colorTable() const; @@ -266,7 +266,7 @@ public: void setFixedSize(int cols, int lins); // reimplemented - QSize sizeHint() const; + QSize sizeHint() const override; /** * Sets which characters, in addition to letters and numbers, @@ -556,30 +556,30 @@ signals: void usesMouseChanged(); protected: - virtual bool event( QEvent * ); + bool event( QEvent * ) override; - virtual void paintEvent( QPaintEvent * ); + void paintEvent( QPaintEvent * ) override; - virtual void showEvent(QShowEvent*); - virtual void hideEvent(QHideEvent*); - virtual void resizeEvent(QResizeEvent*); + void showEvent(QShowEvent*) override; + void hideEvent(QHideEvent*) override; + void resizeEvent(QResizeEvent*) override; virtual void fontChange(const QFont &font); - virtual void focusInEvent(QFocusEvent* event); - virtual void focusOutEvent(QFocusEvent* event); - virtual void keyPressEvent(QKeyEvent* event); - virtual void mouseDoubleClickEvent(QMouseEvent* ev); - virtual void mousePressEvent( QMouseEvent* ); - virtual void mouseReleaseEvent( QMouseEvent* ); - virtual void mouseMoveEvent( QMouseEvent* ); + void focusInEvent(QFocusEvent* event) override; + void focusOutEvent(QFocusEvent* event) override; + void keyPressEvent(QKeyEvent* event) override; + void mouseDoubleClickEvent(QMouseEvent* ev) override; + void mousePressEvent( QMouseEvent* ) override; + void mouseReleaseEvent( QMouseEvent* ) override; + void mouseMoveEvent( QMouseEvent* ) override; virtual void extendSelection( const QPoint& pos ); - virtual void wheelEvent( QWheelEvent* ); + void wheelEvent( QWheelEvent* ) override; - virtual bool focusNextPrevChild( bool next ); + bool focusNextPrevChild( bool next ) override; // drag and drop - virtual void dragEnterEvent(QDragEnterEvent* event); - virtual void dropEvent(QDropEvent* event); + void dragEnterEvent(QDragEnterEvent* event) override; + void dropEvent(QDropEvent* event) override; void doDrag(); enum DragState { diNone, diPending, diDragging }; @@ -602,8 +602,8 @@ protected: void mouseTripleClickEvent(QMouseEvent* ev); // reimplemented - virtual void inputMethodEvent ( QInputMethodEvent* event ); - virtual QVariant inputMethodQuery( Qt::InputMethodQuery query ) const; + void inputMethodEvent ( QInputMethodEvent* event ) override; + QVariant inputMethodQuery( Qt::InputMethodQuery query ) const override; protected slots: @@ -841,8 +841,8 @@ Q_OBJECT public: AutoScrollHandler(QWidget* parent); protected: - virtual void timerEvent(QTimerEvent* event); - virtual bool eventFilter(QObject* watched,QEvent* event); + void timerEvent(QTimerEvent* event) override; + bool eventFilter(QObject* watched,QEvent* event) override; private: QWidget* widget() const { return static_cast(parent()); } int _timerId; diff --git a/lib/Vt102Emulation.h b/lib/Vt102Emulation.h index 2a10f52..1ffa3a2 100644 --- a/lib/Vt102Emulation.h +++ b/lib/Vt102Emulation.h @@ -82,27 +82,27 @@ Q_OBJECT public: /** Constructs a new emulation */ Vt102Emulation(); - ~Vt102Emulation(); + ~Vt102Emulation() override; // reimplemented from Emulation - virtual void clearEntireScreen(); - virtual void reset(); - virtual char eraseChar() const; + void clearEntireScreen() override; + void reset() override; + char eraseChar() const override; public slots: // reimplemented from Emulation - virtual void sendString(const char*,int length = -1); - virtual void sendText(const QString& text); - virtual void sendKeyEvent(QKeyEvent*); - virtual void sendMouseEvent(int buttons, int column, int line, int eventType); + void sendString(const char*,int length = -1) override; + void sendText(const QString& text) override; + void sendKeyEvent(QKeyEvent*) override; + void sendMouseEvent(int buttons, int column, int line, int eventType) override; virtual void focusLost(); virtual void focusGained(); protected: // reimplemented from Emulation - virtual void setMode(int mode); - virtual void resetMode(int mode); - virtual void receiveChar(wchar_t cc); + void setMode(int mode) override; + void resetMode(int mode) override; + void receiveChar(wchar_t cc) override; private slots: //causes changeTitle() to be emitted for each (int,QString) pair in pendingTitleUpdates diff --git a/lib/kprocess.h b/lib/kprocess.h index ec90721..386f870 100644 --- a/lib/kprocess.h +++ b/lib/kprocess.h @@ -82,7 +82,7 @@ public: /** * Destructor */ - virtual ~KProcess(); + ~KProcess() override; /** * Set how to handle the output channels of the child process. diff --git a/lib/kptydevice.h b/lib/kptydevice.h index c398646..8b23bce 100644 --- a/lib/kptydevice.h +++ b/lib/kptydevice.h @@ -63,14 +63,14 @@ public: * If the pty is still open, it will be closed. Note, however, that * an utmp registration is @em not undone. */ - virtual ~KPtyDevice(); + ~KPtyDevice() override; /** * Create a pty master/slave pair. * * @return true if a pty pair was successfully opened */ - virtual bool open(OpenMode mode = ReadWrite | Unbuffered); + bool open(OpenMode mode = ReadWrite | Unbuffered) override; /** * Open using an existing pty master. The ownership of the fd @@ -90,7 +90,7 @@ public: /** * Close the pty master/slave pair. */ - virtual void close(); + void close() override; /** * Sets whether the KPtyDevice monitors the pty for incoming data. @@ -119,30 +119,30 @@ public: /** * @return always true */ - virtual bool isSequential() const; + bool isSequential() const override; /** * @reimp */ - bool canReadLine() const; + bool canReadLine() const override; /** * @reimp */ - bool atEnd() const; + bool atEnd() const override; /** * @reimp */ - qint64 bytesAvailable() const; + qint64 bytesAvailable() const override; /** * @reimp */ - qint64 bytesToWrite() const; + qint64 bytesToWrite() const override; - bool waitForBytesWritten(int msecs = -1); - bool waitForReadyRead(int msecs = -1); + bool waitForBytesWritten(int msecs = -1) override; + bool waitForReadyRead(int msecs = -1) override; Q_SIGNALS: @@ -154,9 +154,9 @@ Q_SIGNALS: void readEof(); protected: - virtual qint64 readData(char *data, qint64 maxSize); - virtual qint64 readLineData(char *data, qint64 maxSize); - virtual qint64 writeData(const char *data, qint64 maxSize); + qint64 readData(char *data, qint64 maxSize) override; + qint64 readLineData(char *data, qint64 maxSize) override; + qint64 writeData(const char *data, qint64 maxSize) override; private: Q_PRIVATE_SLOT(d_func(), bool _k_canRead()) diff --git a/lib/kptyprocess.h b/lib/kptyprocess.h index 1270c47..9172062 100644 --- a/lib/kptyprocess.h +++ b/lib/kptyprocess.h @@ -88,7 +88,7 @@ public: /** * Destructor */ - virtual ~KPtyProcess(); + ~KPtyProcess() override; /** * Set to which channels the PTY should be assigned. @@ -144,7 +144,7 @@ protected: /** * @reimp */ - virtual void setupChildProcess(); + void setupChildProcess() override; private: Q_PRIVATE_SLOT(d_func(), void _k_onStateChanged(QProcess::ProcessState)) diff --git a/lib/qtermwidget.h b/lib/qtermwidget.h index a43249d..142cb4a 100644 --- a/lib/qtermwidget.h +++ b/lib/qtermwidget.h @@ -55,10 +55,10 @@ public: // A dummy constructor for Qt Designer. startnow is 1 by default QTermWidget(QWidget *parent = 0); - virtual ~QTermWidget(); + ~QTermWidget() override; //Initial size - QSize sizeHint() const; + QSize sizeHint() const override; // expose TerminalDisplay::TerminalSizeHint, setTerminalSizeHint void setTerminalSizeHint(bool on); @@ -288,7 +288,7 @@ public slots: void toggleShowSearchBar(); protected: - virtual void resizeEvent(QResizeEvent *); + void resizeEvent(QResizeEvent *) override; protected slots: void sessionFinished(); From b8906f6b0c5162ca967755ebf14ea09a3d86dbc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Wed, 10 Apr 2019 18:13:08 +0100 Subject: [PATCH 034/162] Port towards C++11 nullptr --- lib/BlockArray.cpp | 14 +++++++------- lib/ColorScheme.cpp | 20 ++++++++++---------- lib/Emulation.cpp | 12 ++++++------ lib/Filter.cpp | 14 +++++++------- lib/History.cpp | 20 ++++++++++---------- lib/History.h | 2 +- lib/KeyboardTranslator.cpp | 6 +++--- lib/Pty.cpp | 4 ++-- lib/Pty.h | 4 ++-- lib/Screen.cpp | 2 +- lib/ScreenWindow.cpp | 4 ++-- lib/ScreenWindow.h | 2 +- lib/SearchBar.h | 2 +- lib/Session.cpp | 14 +++++++------- lib/Session.h | 2 +- lib/TerminalCharacterDecoder.cpp | 8 ++++---- lib/TerminalDisplay.cpp | 16 ++++++++-------- lib/TerminalDisplay.h | 2 +- lib/Vt102Emulation.cpp | 4 ++-- lib/kprocess.h | 2 +- lib/kpty.cpp | 4 ++-- lib/kpty.h | 2 +- lib/kptydevice.cpp | 6 +++--- lib/kptydevice.h | 4 ++-- lib/kptyprocess.h | 4 ++-- lib/qtermwidget.cpp | 4 ++-- lib/qtermwidget.h | 4 ++-- 27 files changed, 91 insertions(+), 91 deletions(-) diff --git a/lib/BlockArray.cpp b/lib/BlockArray.cpp index e4ccf8d..3ffd83f 100644 --- a/lib/BlockArray.cpp +++ b/lib/BlockArray.cpp @@ -41,9 +41,9 @@ BlockArray::BlockArray() : size(0), current(size_t(-1)), index(size_t(-1)), - lastmap(0), + lastmap(nullptr), lastmap_index(size_t(-1)), - lastblock(0), ion(-1), + lastblock(nullptr), ion(-1), length(0) { // lastmap_index = index = current = size_t(-1); @@ -138,7 +138,7 @@ const Block * BlockArray::at(size_t i) if (i > index) { qDebug() << "BlockArray::at() i > index\n"; - return 0; + return nullptr; } // if (index - i >= length) { @@ -151,11 +151,11 @@ const Block * BlockArray::at(size_t i) Q_ASSERT(j < size); unmap(); - Block * block = (Block *)mmap(0, blocksize, PROT_READ, MAP_PRIVATE, ion, j * blocksize); + Block * block = (Block *)mmap(nullptr, blocksize, PROT_READ, MAP_PRIVATE, ion, j * blocksize); if (block == (Block *)-1) { perror("mmap"); - return 0; + return nullptr; } lastmap = block; @@ -172,7 +172,7 @@ void BlockArray::unmap() perror("munmap"); } } - lastmap = 0; + lastmap = nullptr; lastmap_index = size_t(-1); } @@ -193,7 +193,7 @@ bool BlockArray::setHistorySize(size_t newsize) if (!newsize) { delete lastblock; - lastblock = 0; + lastblock = nullptr; if (ion >= 0) { close(ion); } diff --git a/lib/ColorScheme.cpp b/lib/ColorScheme.cpp index c9cc851..4ed61e1 100644 --- a/lib/ColorScheme.cpp +++ b/lib/ColorScheme.cpp @@ -122,25 +122,25 @@ const char* const ColorScheme::translatedColorNames[TABLE_COLORS] = ColorScheme::ColorScheme() { - _table = 0; - _randomTable = 0; + _table = nullptr; + _randomTable = nullptr; _opacity = 1.0; } ColorScheme::ColorScheme(const ColorScheme& other) : _opacity(other._opacity) - ,_table(0) - ,_randomTable(0) + ,_table(nullptr) + ,_randomTable(nullptr) { setName(other.name()); setDescription(other.description()); - if ( other._table != 0 ) + if ( other._table != nullptr ) { for ( int i = 0 ; i < TABLE_COLORS ; i++ ) setColorTableEntry(i,other._table[i]); } - if ( other._randomTable != 0 ) + if ( other._randomTable != nullptr ) { for ( int i = 0 ; i < TABLE_COLORS ; i++ ) { @@ -185,7 +185,7 @@ ColorEntry ColorScheme::colorEntry(int index , uint randomSeed) const ColorEntry entry = colorTable()[index]; if ( randomSeed != 0 && - _randomTable != 0 && + _randomTable != nullptr && !_randomTable[index].isNull() ) { const RandomizationRange& range = _randomTable[index]; @@ -213,7 +213,7 @@ void ColorScheme::getColorTable(ColorEntry* table , uint randomSeed) const } bool ColorScheme::randomizedBackgroundColor() const { - return _randomTable == 0 ? false : !_randomTable[1].isNull(); + return _randomTable == nullptr ? false : !_randomTable[1].isNull(); } void ColorScheme::setRandomizedBackgroundColor(bool randomize) { @@ -238,7 +238,7 @@ void ColorScheme::setRandomizationRange( int index , quint16 hue , quint8 satura Q_ASSERT( hue <= MAX_HUE ); Q_ASSERT( index >= 0 && index < TABLE_COLORS ); - if ( _randomTable == 0 ) + if ( _randomTable == nullptr ) _randomTable = new RandomizationRange[TABLE_COLORS]; _randomTable[index].hue = hue; @@ -821,7 +821,7 @@ const ColorScheme* ColorSchemeManager::findColorScheme(const QString& name) qDebug() << "Could not find color scheme - " << name; - return 0; + return nullptr; } } Q_GLOBAL_STATIC(ColorSchemeManager, theColorSchemeManager) diff --git a/lib/Emulation.cpp b/lib/Emulation.cpp index a5cfc71..bd75af3 100644 --- a/lib/Emulation.cpp +++ b/lib/Emulation.cpp @@ -51,10 +51,10 @@ using namespace Konsole; Emulation::Emulation() : - _currentScreen(0), - _codec(0), - _decoder(0), - _keyTranslator(0), + _currentScreen(nullptr), + _codec(nullptr), + _decoder(nullptr), + _keyTranslator(nullptr), _usesMouse(false), _bracketedPasteMode(false) { @@ -398,7 +398,7 @@ bool ExtendedCharTable::extendedCharMatch(ushort hash , ushort* unicodePoints , // compare given length with stored sequence length ( given as the first ushort in the // stored buffer ) - if ( entry == 0 || entry[0] != length ) + if ( entry == nullptr || entry[0] != length ) return false; // if the lengths match, each character must be checked. the stored buffer starts at // entry[1] @@ -458,7 +458,7 @@ ushort* ExtendedCharTable::lookupExtendedChar(ushort hash , ushort& length) cons else { length = 0; - return 0; + return nullptr; } } diff --git a/lib/Filter.cpp b/lib/Filter.cpp index 0cc5933..f219292 100644 --- a/lib/Filter.cpp +++ b/lib/Filter.cpp @@ -98,13 +98,13 @@ Filter::HotSpot* FilterChain::hotSpotAt(int line , int column) const { Filter* filter = iter.next(); Filter::HotSpot* spot = filter->hotSpotAt(line,column); - if ( spot != 0 ) + if ( spot != nullptr ) { return spot; } } - return 0; + return nullptr; } QList FilterChain::hotSpots() const @@ -121,8 +121,8 @@ QList FilterChain::hotSpots() const //QList FilterChain::hotSpotsAtLine(int line) const; TerminalImageFilterChain::TerminalImageFilterChain() -: _buffer(0) -, _linePositions(0) +: _buffer(nullptr) +, _linePositions(nullptr) { } @@ -180,8 +180,8 @@ void TerminalImageFilterChain::setImage(const Character* const image , int lines } Filter::Filter() : -_linePositions(0), -_buffer(0) +_linePositions(nullptr), +_buffer(nullptr) { } @@ -275,7 +275,7 @@ Filter::HotSpot* Filter::hotSpotAt(int line , int column) const return spot; } - return 0; + return nullptr; } Filter::HotSpot::HotSpot(int startLine , int startColumn , int endLine , int endColumn) diff --git a/lib/History.cpp b/lib/History.cpp index b297b0e..9cbf498 100644 --- a/lib/History.cpp +++ b/lib/History.cpp @@ -89,7 +89,7 @@ FIXME: There is noticeable decrease in speed, also. Perhaps, HistoryFile::HistoryFile() : ion(-1), length(0), - fileMap(0) + fileMap(nullptr) { if (tmpFile.open()) { @@ -109,15 +109,15 @@ HistoryFile::~HistoryFile() //to avoid this. void HistoryFile::map() { - Q_ASSERT( fileMap == 0 ); + Q_ASSERT( fileMap == nullptr ); - fileMap = (char*)mmap( 0 , length , PROT_READ , MAP_PRIVATE , ion , 0 ); + fileMap = (char*)mmap( nullptr , length , PROT_READ , MAP_PRIVATE , ion , 0 ); //if mmap'ing fails, fall back to the read-lseek combination if ( fileMap == MAP_FAILED ) { readWriteBalance = 0; - fileMap = 0; + fileMap = nullptr; //qDebug() << __FILE__ << __LINE__ << ": mmap'ing history failed. errno = " << errno; } } @@ -127,12 +127,12 @@ void HistoryFile::unmap() int result = munmap( fileMap , length ); Q_ASSERT( result == 0 ); Q_UNUSED( result ); - fileMap = 0; + fileMap = nullptr; } bool HistoryFile::isMapped() const { - return (fileMap != 0); + return (fileMap != nullptr); } void HistoryFile::add(const unsigned char* bytes, int len) @@ -537,7 +537,7 @@ void* CompactHistoryBlock::allocate ( size_t length ) { Q_ASSERT ( length > 0 ); if ( tail-blockStart+length > blockLength ) - return NULL; + return nullptr; void* block = tail; tail += length; @@ -628,9 +628,9 @@ CompactHistoryLine::CompactHistoryLine ( const TextLine& line, CompactHistoryBlo //kDebug() << "number of different formats in string: " << formatLength; formatArray = (CharacterFormat*) blockList.allocate(sizeof(CharacterFormat)*formatLength); - Q_ASSERT (formatArray!=NULL); + Q_ASSERT (formatArray!=nullptr); text = (quint16*) blockList.allocate(sizeof(quint16)*line.size()); - Q_ASSERT (text!=NULL); + Q_ASSERT (text!=nullptr); length=line.size(); wrapped=false; @@ -923,7 +923,7 @@ HistoryScroll* HistoryTypeFile::scroll(HistoryScroll *old) const HistoryScroll *newScroll = new HistoryScrollFile(m_fileName); Character line[LINE_SIZE]; - int lines = (old != 0) ? old->getLines() : 0; + int lines = (old != nullptr) ? old->getLines() : 0; for(int i = 0; i < lines; i++) { int size = old->getLineLen(i); diff --git a/lib/History.h b/lib/History.h index 16469d0..59da314 100644 --- a/lib/History.h +++ b/lib/History.h @@ -293,7 +293,7 @@ public: CompactHistoryBlock(){ blockLength = 4096*64; // 256kb - head = (quint8*) mmap(0, blockLength, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0); + head = (quint8*) mmap(nullptr, blockLength, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0); //head = (quint8*) malloc(blockLength); Q_ASSERT(head != MAP_FAILED); tail = blockStart = head; diff --git a/lib/KeyboardTranslator.cpp b/lib/KeyboardTranslator.cpp index 9d66aa2..32d5287 100644 --- a/lib/KeyboardTranslator.cpp +++ b/lib/KeyboardTranslator.cpp @@ -109,7 +109,7 @@ const KeyboardTranslator* KeyboardTranslatorManager::findTranslator(const QStrin KeyboardTranslator* translator = loadTranslator(name); - if ( translator != 0 ) + if ( translator != nullptr ) _translators[name] = translator; else if ( !name.isEmpty() ) qDebug() << "Unable to load translator" << name; @@ -155,7 +155,7 @@ KeyboardTranslator* KeyboardTranslatorManager::loadTranslator(const QString& nam QFile source(path); if (name.isEmpty() || !source.open(QIODevice::ReadOnly | QIODevice::Text)) - return 0; + return nullptr; return loadTranslator(&source,name); } @@ -192,7 +192,7 @@ KeyboardTranslator* KeyboardTranslatorManager::loadTranslator(QIODevice* source, else { delete translator; - return 0; + return nullptr; } } diff --git a/lib/Pty.cpp b/lib/Pty.cpp index 87484be..714101f 100644 --- a/lib/Pty.cpp +++ b/lib/Pty.cpp @@ -331,8 +331,8 @@ void Pty::setupChildProcess() action.sa_handler = SIG_DFL; action.sa_flags = 0; for (int signal=1;signal < NSIG; signal++) { - sigaction(signal,&action,0L); + sigaction(signal,&action,nullptr); sigaddset(&sigset, signal); } - sigprocmask(SIG_UNBLOCK, &sigset, NULL); + sigprocmask(SIG_UNBLOCK, &sigset, nullptr); } diff --git a/lib/Pty.h b/lib/Pty.h index 6c96c3e..f427a53 100644 --- a/lib/Pty.h +++ b/lib/Pty.h @@ -70,13 +70,13 @@ Q_OBJECT * To start the terminal process, call the run() method with the * name of the program to start and appropriate arguments. */ - explicit Pty(QObject* parent = 0); + explicit Pty(QObject* parent = nullptr); /** * Construct a process using an open pty master. * See KPtyProcess::KPtyProcess() */ - explicit Pty(int ptyMasterFd, QObject* parent = 0); + explicit Pty(int ptyMasterFd, QObject* parent = nullptr); ~Pty() override; diff --git a/lib/Screen.cpp b/lib/Screen.cpp index ea635e5..cb88fd3 100644 --- a/lib/Screen.cpp +++ b/lib/Screen.cpp @@ -1359,7 +1359,7 @@ void Screen::setScroll(const HistoryType& t , bool copyPreviousScroll) else { HistoryScroll* oldScroll = history; - history = t.scroll(0); + history = t.scroll(nullptr); delete oldScroll; } } diff --git a/lib/ScreenWindow.cpp b/lib/ScreenWindow.cpp index 640465f..22e9b08 100644 --- a/lib/ScreenWindow.cpp +++ b/lib/ScreenWindow.cpp @@ -30,7 +30,7 @@ using namespace Konsole; ScreenWindow::ScreenWindow(QObject* parent) : QObject(parent) - , _windowBuffer(0) + , _windowBuffer(nullptr) , _windowBufferSize(0) , _bufferNeedsUpdate(true) , _windowLines(1) @@ -59,7 +59,7 @@ Character* ScreenWindow::getImage() { // reallocate internal buffer if the window size has changed int size = windowLines() * windowColumns(); - if (_windowBuffer == 0 || _windowBufferSize != size) + if (_windowBuffer == nullptr || _windowBufferSize != size) { delete[] _windowBuffer; _windowBufferSize = size; diff --git a/lib/ScreenWindow.h b/lib/ScreenWindow.h index 81d1f97..79613d7 100644 --- a/lib/ScreenWindow.h +++ b/lib/ScreenWindow.h @@ -64,7 +64,7 @@ public: * to notify the window when the associated screen has changed and synchronize selection updates * between all views on a session. */ - ScreenWindow(QObject* parent = 0); + ScreenWindow(QObject* parent = nullptr); ~ScreenWindow() override; /** Sets the screen which this window looks onto */ diff --git a/lib/SearchBar.h b/lib/SearchBar.h index 89d7eb2..0f4299b 100644 --- a/lib/SearchBar.h +++ b/lib/SearchBar.h @@ -27,7 +27,7 @@ class SearchBar : public QWidget { Q_OBJECT public: - SearchBar(QWidget* parent = 0); + SearchBar(QWidget* parent = nullptr); ~SearchBar() override; virtual void show(); QString searchText(); diff --git a/lib/Session.cpp b/lib/Session.cpp index 0182f9f..4146459 100644 --- a/lib/Session.cpp +++ b/lib/Session.cpp @@ -50,8 +50,8 @@ int Session::lastSessionId = 0; Session::Session(QObject* parent) : QObject(parent), - _shellProcess(0) - , _emulation(0) + _shellProcess(nullptr) + , _emulation(nullptr) , _monitorActivity(false) , _monitorSilence(false) , _notifiedActivity(false) @@ -172,7 +172,7 @@ void Session::addView(TerminalDisplay * widget) _views.append(widget); - if ( _emulation != 0 ) { + if ( _emulation != nullptr ) { // connect emulation - view signals and slots connect( widget , SIGNAL(keyPressedSignal(QKeyEvent *)) , _emulation , SLOT(sendKeyEvent(QKeyEvent *)) ); @@ -220,19 +220,19 @@ void Session::removeView(TerminalDisplay * widget) { _views.removeAll(widget); - disconnect(widget,0,this,0); + disconnect(widget,nullptr,this,nullptr); - if ( _emulation != 0 ) { + if ( _emulation != nullptr ) { // disconnect // - key presses signals from widget // - mouse activity signals from widget // - string sending signals from widget // // ... and any other signals connected in addView() - disconnect( widget, 0, _emulation, 0); + disconnect( widget, nullptr, _emulation, nullptr); // disconnect state change signals emitted by emulation - disconnect( _emulation , 0 , widget , 0); + disconnect( _emulation , nullptr , widget , nullptr); } // close the session automatically when the last view is removed diff --git a/lib/Session.h b/lib/Session.h index ab63b51..992b9f5 100644 --- a/lib/Session.h +++ b/lib/Session.h @@ -71,7 +71,7 @@ public: * falls back to using the program specified in the SHELL environment * variable. */ - Session(QObject* parent = 0); + Session(QObject* parent = nullptr); ~Session() override; /** diff --git a/lib/TerminalCharacterDecoder.cpp b/lib/TerminalCharacterDecoder.cpp index 579dedf..92e8293 100644 --- a/lib/TerminalCharacterDecoder.cpp +++ b/lib/TerminalCharacterDecoder.cpp @@ -33,7 +33,7 @@ using namespace Konsole; PlainTextDecoder::PlainTextDecoder() - : _output(0) + : _output(nullptr) , _includeTrailingWhitespace(true) , _recordLinePositions(false) { @@ -55,7 +55,7 @@ void PlainTextDecoder::begin(QTextStream* output) } void PlainTextDecoder::end() { - _output = 0; + _output = nullptr; } void PlainTextDecoder::setRecordLinePositions(bool record) @@ -109,7 +109,7 @@ void PlainTextDecoder::decodeLine(const Character* const characters, int count, } HTMLDecoder::HTMLDecoder() : - _output(0) + _output(nullptr) ,_colorTable(base_color_table) ,_innerSpanOpen(false) ,_lastRendition(DEFAULT_RENDITION) @@ -139,7 +139,7 @@ void HTMLDecoder::end() *_output << QString::fromStdWString(text); - _output = 0; + _output = nullptr; } diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index 35f6b4b..b666a28 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -128,7 +128,7 @@ void TerminalDisplay::setScreenWindow(ScreenWindow* window) // disconnect existing screen window if any if ( _screenWindow ) { - disconnect( _screenWindow , 0 , this , 0 ); + disconnect( _screenWindow , nullptr , this , nullptr ); } _screenWindow = window; @@ -312,9 +312,9 @@ void TerminalDisplay::setFont(const QFont &) TerminalDisplay::TerminalDisplay(QWidget *parent) :QWidget(parent) -,_screenWindow(0) +,_screenWindow(nullptr) ,_allowBell(true) -,_gridLayout(0) +,_gridLayout(nullptr) ,_fontHeight(1) ,_fontWidth(1) ,_fontAscent(1) @@ -325,7 +325,7 @@ TerminalDisplay::TerminalDisplay(QWidget *parent) ,_usedColumns(1) ,_contentHeight(1) ,_contentWidth(1) -,_image(0) +,_image(nullptr) ,_randomSeed(0) ,_resizing(false) ,_terminalSizeHint(false) @@ -349,10 +349,10 @@ TerminalDisplay::TerminalDisplay(QWidget *parent) ,_tripleClickMode(SelectWholeLine) ,_isFixedSize(false) ,_possibleTripleClick(false) -,_resizeWidget(0) -,_resizeTimer(0) +,_resizeWidget(nullptr) +,_resizeTimer(nullptr) ,_flowControlWarningEnabled(false) -,_outputSuspendedLabel(0) +,_outputSuspendedLabel(nullptr) ,_lineSpacing(0) ,_colorsInverted(false) ,_blendColor(qRgba(0,0,0,0xff)) @@ -941,7 +941,7 @@ void TerminalDisplay::scrollImage(int lines , const QRect& screenWindowRegion) // return if there is nothing to do if ( lines == 0 - || _image == 0 + || _image == nullptr || !region.isValid() || (region.top() + abs(lines)) >= region.bottom() || this->_lines <= region.height() ) return; diff --git a/lib/TerminalDisplay.h b/lib/TerminalDisplay.h index fb55a58..5105382 100644 --- a/lib/TerminalDisplay.h +++ b/lib/TerminalDisplay.h @@ -82,7 +82,7 @@ class KONSOLEPRIVATE_EXPORT TerminalDisplay : public QWidget public: /** Constructs a new terminal display widget with the specified parent. */ - TerminalDisplay(QWidget *parent=0); + TerminalDisplay(QWidget *parent=nullptr); ~TerminalDisplay() override; /** Returns the terminal color palette used by the display. */ diff --git a/lib/Vt102Emulation.cpp b/lib/Vt102Emulation.cpp index cf677c2..622550e 100644 --- a/lib/Vt102Emulation.cpp +++ b/lib/Vt102Emulation.cpp @@ -1341,8 +1341,8 @@ char Vt102Emulation::eraseChar() const { KeyboardTranslator::Entry entry = _keyTranslator->findEntry( Qt::Key_Backspace, - 0, - 0); + nullptr, + nullptr); if ( entry.text().count() > 0 ) return entry.text().at(0); else diff --git a/lib/kprocess.h b/lib/kprocess.h index 386f870..9fbfb4e 100644 --- a/lib/kprocess.h +++ b/lib/kprocess.h @@ -77,7 +77,7 @@ public: /** * Constructor */ - explicit KProcess(QObject *parent = 0); + explicit KProcess(QObject *parent = nullptr); /** * Destructor diff --git a/lib/kpty.cpp b/lib/kpty.cpp index b42bf95..2b70dd2 100644 --- a/lib/kpty.cpp +++ b/lib/kpty.cpp @@ -544,7 +544,7 @@ void KPty::login(const char * user, const char * remotehost) # ifdef HAVE_UTMPX gettimeofday(&l_struct.ut_tv, 0); # else - l_struct.ut_time = time(0); + l_struct.ut_time = time(nullptr); # endif # ifdef HAVE_LOGIN @@ -646,7 +646,7 @@ void KPty::logout() } endutxent(); # else - ut->ut_time = time(0); + ut->ut_time = time(nullptr); pututline(ut); } endutent(); diff --git a/lib/kpty.h b/lib/kpty.h index ab34f6e..6415512 100644 --- a/lib/kpty.h +++ b/lib/kpty.h @@ -95,7 +95,7 @@ public: * of the client. For local logins from inside an X session it should * be the name of the X display. Otherwise it should be empty. */ - void login(const char * user = 0, const char * remotehost = 0); + void login(const char * user = nullptr, const char * remotehost = nullptr); /** * Removes the utmp entry for this tty. diff --git a/lib/kptydevice.cpp b/lib/kptydevice.cpp index 90b4a58..983d4ea 100644 --- a/lib/kptydevice.cpp +++ b/lib/kptydevice.cpp @@ -74,7 +74,7 @@ static void qt_ignore_sigpipe() struct sigaction noaction; memset(&noaction, 0, sizeof(noaction)); noaction.sa_handler = SIG_IGN; - sigaction(SIGPIPE, &noaction, 0); + sigaction(SIGPIPE, &noaction, nullptr); } } @@ -211,7 +211,7 @@ bool KPtyDevicePrivate::doWait(int msecs, bool reading) struct timeval tv, *tvp; if (msecs < 0) - tvp = 0; + tvp = nullptr; else { tv.tv_sec = msecs / 1000; tv.tv_usec = (msecs % 1000) * 1000; @@ -243,7 +243,7 @@ bool KPtyDevicePrivate::doWait(int msecs, bool reading) } #endif - switch (select(q->masterFd() + 1, &rfds, &wfds, 0, tvp)) { + switch (select(q->masterFd() + 1, &rfds, &wfds, nullptr, tvp)) { case -1: if (errno == EINTR) break; diff --git a/lib/kptydevice.h b/lib/kptydevice.h index 8b23bce..a379af1 100644 --- a/lib/kptydevice.h +++ b/lib/kptydevice.h @@ -55,7 +55,7 @@ public: /** * Constructor */ - KPtyDevice(QObject *parent = 0); + KPtyDevice(QObject *parent = nullptr); /** * Destructor: @@ -339,7 +339,7 @@ struct KPtyDevicePrivate : public KPtyPrivate { KPtyDevicePrivate(KPty* parent) : KPtyPrivate(parent), emittedReadyRead(false), emittedBytesWritten(false), - readNotifier(0), writeNotifier(0) + readNotifier(nullptr), writeNotifier(nullptr) { } diff --git a/lib/kptyprocess.h b/lib/kptyprocess.h index 9172062..0d3a04a 100644 --- a/lib/kptyprocess.h +++ b/lib/kptyprocess.h @@ -74,7 +74,7 @@ public: /** * Constructor */ - explicit KPtyProcess(QObject *parent = 0); + explicit KPtyProcess(QObject *parent = nullptr); /** * Construct a process using an open pty master. @@ -83,7 +83,7 @@ public: * The process does not take ownership of the descriptor; * it will not be automatically closed at any point. */ - KPtyProcess(int ptyMasterFd, QObject *parent = 0); + KPtyProcess(int ptyMasterFd, QObject *parent = nullptr); /** * Destructor diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index 4a5172a..165b431 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -50,7 +50,7 @@ void *createTermWidget(int startnow, void *parent) } struct TermWidgetImpl { - TermWidgetImpl(QWidget* parent = 0); + TermWidgetImpl(QWidget* parent = nullptr); TerminalDisplay *m_terminalDisplay; Session *m_session; @@ -425,7 +425,7 @@ void QTermWidget::setTextCodec(QTextCodec *codec) void QTermWidget::setColorScheme(const QString& origName) { - const ColorScheme *cs = 0; + const ColorScheme *cs = nullptr; const bool isFile = QFile::exists(origName); const QString& name = isFile ? diff --git a/lib/qtermwidget.h b/lib/qtermwidget.h index 142cb4a..ea0e828 100644 --- a/lib/qtermwidget.h +++ b/lib/qtermwidget.h @@ -51,9 +51,9 @@ public: //Creation of widget QTermWidget(int startnow, // 1 = start shell programm immediatelly - QWidget * parent = 0); + QWidget * parent = nullptr); // A dummy constructor for Qt Designer. startnow is 1 by default - QTermWidget(QWidget *parent = 0); + QTermWidget(QWidget *parent = nullptr); ~QTermWidget() override; From 2110583a3907e44d119129c6b8a9af03ad849af9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Wed, 10 Apr 2019 22:28:21 +0100 Subject: [PATCH 035/162] Port towards C++ headers --- lib/BlockArray.cpp | 2 +- lib/Emulation.cpp | 4 ++-- lib/Emulation.h | 2 +- lib/History.cpp | 6 +++--- lib/KeyboardTranslator.cpp | 4 ++-- lib/Pty.cpp | 4 ++-- lib/Screen.cpp | 8 ++++---- lib/Session.cpp | 2 +- lib/Vt102Emulation.cpp | 2 +- lib/Vt102Emulation.h | 2 +- lib/kprocess.cpp | 2 +- lib/kpty.cpp | 10 +++++----- lib/kptydevice.cpp | 4 ++-- lib/kptyprocess.cpp | 4 ++-- lib/kptyprocess.h | 2 +- 15 files changed, 29 insertions(+), 29 deletions(-) diff --git a/lib/BlockArray.cpp b/lib/BlockArray.cpp index 3ffd83f..45b4346 100644 --- a/lib/BlockArray.cpp +++ b/lib/BlockArray.cpp @@ -30,7 +30,7 @@ #include #include #include -#include +#include using namespace Konsole; diff --git a/lib/Emulation.cpp b/lib/Emulation.cpp index bd75af3..4e8b1a3 100644 --- a/lib/Emulation.cpp +++ b/lib/Emulation.cpp @@ -23,8 +23,8 @@ #include "Emulation.h" // System -#include -#include +#include +#include #include #include diff --git a/lib/Emulation.h b/lib/Emulation.h index 9fa179c..cc0c668 100644 --- a/lib/Emulation.h +++ b/lib/Emulation.h @@ -24,7 +24,7 @@ #define EMULATION_H // System -#include +#include // Qt #include diff --git a/lib/History.cpp b/lib/History.cpp index 9cbf498..33b72e7 100644 --- a/lib/History.cpp +++ b/lib/History.cpp @@ -23,12 +23,12 @@ // System #include -#include -#include +#include +#include #include #include #include -#include +#include #include diff --git a/lib/KeyboardTranslator.cpp b/lib/KeyboardTranslator.cpp index 32d5287..ebc2084 100644 --- a/lib/KeyboardTranslator.cpp +++ b/lib/KeyboardTranslator.cpp @@ -23,8 +23,8 @@ #include "KeyboardTranslator.h" // System -#include -#include +#include +#include // Qt #include diff --git a/lib/Pty.cpp b/lib/Pty.cpp index 714101f..e3cc62f 100644 --- a/lib/Pty.cpp +++ b/lib/Pty.cpp @@ -33,9 +33,9 @@ #include #include #include -#include +#include #include -#include +#include // Qt #include diff --git a/lib/Screen.cpp b/lib/Screen.cpp index cb88fd3..d07bb4f 100644 --- a/lib/Screen.cpp +++ b/lib/Screen.cpp @@ -24,11 +24,11 @@ #include "Screen.h" // Standard -#include -#include +#include +#include #include -#include -#include +#include +#include // Qt #include diff --git a/lib/Session.cpp b/lib/Session.cpp index 4146459..71a3b87 100644 --- a/lib/Session.cpp +++ b/lib/Session.cpp @@ -26,7 +26,7 @@ #include "Session.h" // Standard -#include +#include // Qt #include diff --git a/lib/Vt102Emulation.cpp b/lib/Vt102Emulation.cpp index 622550e..13d7ded 100644 --- a/lib/Vt102Emulation.cpp +++ b/lib/Vt102Emulation.cpp @@ -38,7 +38,7 @@ #endif // Standard -#include +#include #include // Qt diff --git a/lib/Vt102Emulation.h b/lib/Vt102Emulation.h index 1ffa3a2..99c98e2 100644 --- a/lib/Vt102Emulation.h +++ b/lib/Vt102Emulation.h @@ -24,7 +24,7 @@ #define VT102EMULATION_H // Standard Library -#include +#include // Qt #include diff --git a/lib/kprocess.cpp b/lib/kprocess.cpp index 73264a6..e9c3b46 100644 --- a/lib/kprocess.cpp +++ b/lib/kprocess.cpp @@ -35,7 +35,7 @@ # include #else # include -# include +# include #endif #ifndef Q_OS_WIN diff --git a/lib/kpty.cpp b/lib/kpty.cpp index 2b70dd2..f7386d1 100644 --- a/lib/kpty.cpp +++ b/lib/kpty.cpp @@ -70,12 +70,12 @@ #include #include -#include +#include #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include diff --git a/lib/kptydevice.cpp b/lib/kptydevice.cpp index 983d4ea..2c505e9 100644 --- a/lib/kptydevice.cpp +++ b/lib/kptydevice.cpp @@ -35,8 +35,8 @@ #include #include -#include -#include +#include +#include #include #include #include diff --git a/lib/kptyprocess.cpp b/lib/kptyprocess.cpp index ec8df33..b61fd53 100644 --- a/lib/kptyprocess.cpp +++ b/lib/kptyprocess.cpp @@ -32,9 +32,9 @@ #include "kprocess.h" #include "kptydevice.h" -#include +#include #include -#include +#include #include KPtyProcess::KPtyProcess(QObject *parent) : diff --git a/lib/kptyprocess.h b/lib/kptyprocess.h index 0d3a04a..ae1166e 100644 --- a/lib/kptyprocess.h +++ b/lib/kptyprocess.h @@ -33,7 +33,7 @@ #include "kprocess.h" #include "kptydevice.h" -#include +#include class KPtyDevice; From 5e44880a70e92510f003c2c58de852da1aa8718b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Wed, 10 Apr 2019 22:37:54 +0100 Subject: [PATCH 036/162] Port to C++ bool literals --- lib/ColorScheme.cpp | 40 ++++++++++++++++++++-------------------- lib/TerminalDisplay.cpp | 20 ++++++++++---------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/lib/ColorScheme.cpp b/lib/ColorScheme.cpp index 4ed61e1..aebb638 100644 --- a/lib/ColorScheme.cpp +++ b/lib/ColorScheme.cpp @@ -48,27 +48,27 @@ const ColorEntry ColorScheme::defaultTable[TABLE_COLORS] = // gamma correction for the dim colors to compensate for bright X screens. // It contains the 8 ansiterm/xterm colors in 2 intensities. { - ColorEntry( QColor(0x00,0x00,0x00), 0), ColorEntry( -QColor(0xFF,0xFF,0xFF), 1), // Dfore, Dback - ColorEntry( QColor(0x00,0x00,0x00), 0), ColorEntry( -QColor(0xB2,0x18,0x18), 0), // Black, Red - ColorEntry( QColor(0x18,0xB2,0x18), 0), ColorEntry( -QColor(0xB2,0x68,0x18), 0), // Green, Yellow - ColorEntry( QColor(0x18,0x18,0xB2), 0), ColorEntry( -QColor(0xB2,0x18,0xB2), 0), // Blue, Magenta - ColorEntry( QColor(0x18,0xB2,0xB2), 0), ColorEntry( -QColor(0xB2,0xB2,0xB2), 0), // Cyan, White + ColorEntry( QColor(0x00,0x00,0x00), false), ColorEntry( +QColor(0xFF,0xFF,0xFF), true), // Dfore, Dback + ColorEntry( QColor(0x00,0x00,0x00), false), ColorEntry( +QColor(0xB2,0x18,0x18), false), // Black, Red + ColorEntry( QColor(0x18,0xB2,0x18), false), ColorEntry( +QColor(0xB2,0x68,0x18), false), // Green, Yellow + ColorEntry( QColor(0x18,0x18,0xB2), false), ColorEntry( +QColor(0xB2,0x18,0xB2), false), // Blue, Magenta + ColorEntry( QColor(0x18,0xB2,0xB2), false), ColorEntry( +QColor(0xB2,0xB2,0xB2), false), // Cyan, White // intensive - ColorEntry( QColor(0x00,0x00,0x00), 0), ColorEntry( -QColor(0xFF,0xFF,0xFF), 1), - ColorEntry( QColor(0x68,0x68,0x68), 0), ColorEntry( -QColor(0xFF,0x54,0x54), 0), - ColorEntry( QColor(0x54,0xFF,0x54), 0), ColorEntry( -QColor(0xFF,0xFF,0x54), 0), - ColorEntry( QColor(0x54,0x54,0xFF), 0), ColorEntry( -QColor(0xFF,0x54,0xFF), 0), - ColorEntry( QColor(0x54,0xFF,0xFF), 0), ColorEntry( -QColor(0xFF,0xFF,0xFF), 0) + ColorEntry( QColor(0x00,0x00,0x00), false), ColorEntry( +QColor(0xFF,0xFF,0xFF), true), + ColorEntry( QColor(0x68,0x68,0x68), false), ColorEntry( +QColor(0xFF,0x54,0x54), false), + ColorEntry( QColor(0x54,0xFF,0x54), false), ColorEntry( +QColor(0xFF,0xFF,0x54), false), + ColorEntry( QColor(0x54,0x54,0xFF), false), ColorEntry( +QColor(0xFF,0x54,0xFF), false), + ColorEntry( QColor(0x54,0xFF,0xFF), false), ColorEntry( +QColor(0xFF,0xFF,0xFF), false) }; const char* const ColorScheme::colorNames[TABLE_COLORS] = diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index b666a28..fe22508 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -82,17 +82,17 @@ const ColorEntry Konsole::base_color_table[TABLE_COLORS] = { // Fixme: could add faint colors here, also. // normal - ColorEntry(QColor(0x00,0x00,0x00), 0), ColorEntry( QColor(0xB2,0xB2,0xB2), 1), // Dfore, Dback - ColorEntry(QColor(0x00,0x00,0x00), 0), ColorEntry( QColor(0xB2,0x18,0x18), 0), // Black, Red - ColorEntry(QColor(0x18,0xB2,0x18), 0), ColorEntry( QColor(0xB2,0x68,0x18), 0), // Green, Yellow - ColorEntry(QColor(0x18,0x18,0xB2), 0), ColorEntry( QColor(0xB2,0x18,0xB2), 0), // Blue, Magenta - ColorEntry(QColor(0x18,0xB2,0xB2), 0), ColorEntry( QColor(0xB2,0xB2,0xB2), 0), // Cyan, White + ColorEntry(QColor(0x00,0x00,0x00), false), ColorEntry( QColor(0xB2,0xB2,0xB2), true), // Dfore, Dback + ColorEntry(QColor(0x00,0x00,0x00), false), ColorEntry( QColor(0xB2,0x18,0x18), false), // Black, Red + ColorEntry(QColor(0x18,0xB2,0x18), false), ColorEntry( QColor(0xB2,0x68,0x18), false), // Green, Yellow + ColorEntry(QColor(0x18,0x18,0xB2), false), ColorEntry( QColor(0xB2,0x18,0xB2), false), // Blue, Magenta + ColorEntry(QColor(0x18,0xB2,0xB2), false), ColorEntry( QColor(0xB2,0xB2,0xB2), false), // Cyan, White // intensiv - ColorEntry(QColor(0x00,0x00,0x00), 0), ColorEntry( QColor(0xFF,0xFF,0xFF), 1), - ColorEntry(QColor(0x68,0x68,0x68), 0), ColorEntry( QColor(0xFF,0x54,0x54), 0), - ColorEntry(QColor(0x54,0xFF,0x54), 0), ColorEntry( QColor(0xFF,0xFF,0x54), 0), - ColorEntry(QColor(0x54,0x54,0xFF), 0), ColorEntry( QColor(0xFF,0x54,0xFF), 0), - ColorEntry(QColor(0x54,0xFF,0xFF), 0), ColorEntry( QColor(0xFF,0xFF,0xFF), 0) + ColorEntry(QColor(0x00,0x00,0x00), false), ColorEntry( QColor(0xFF,0xFF,0xFF), true), + ColorEntry(QColor(0x68,0x68,0x68), false), ColorEntry( QColor(0xFF,0x54,0x54), false), + ColorEntry(QColor(0x54,0xFF,0x54), false), ColorEntry( QColor(0xFF,0xFF,0x54), false), + ColorEntry(QColor(0x54,0x54,0xFF), false), ColorEntry( QColor(0xFF,0x54,0xFF), false), + ColorEntry(QColor(0x54,0xFF,0xFF), false), ColorEntry( QColor(0xFF,0xFF,0xFF), false) }; // scroll increment used when dragging selection at top/bottom of window. From b87de8976774dcbd2919d3ddf63feee39db9e373 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Thu, 11 Apr 2019 12:46:23 +0100 Subject: [PATCH 037/162] Use braced initializer list in returns Replaces explicit calls to the constructor in a return with a braced initializer list. --- lib/CharacterColor.h | 2 +- lib/Emulation.cpp | 2 +- lib/Pty.cpp | 2 +- lib/ScreenWindow.cpp | 2 +- lib/TerminalDisplay.cpp | 8 ++++---- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/CharacterColor.h b/lib/CharacterColor.h index a5a5e67..737feea 100644 --- a/lib/CharacterColor.h +++ b/lib/CharacterColor.h @@ -278,7 +278,7 @@ inline QColor CharacterColor::color(const ColorEntry* base) const case COLOR_SPACE_DEFAULT: return base[_u+0+(_v?BASE_COLORS:0)].color; case COLOR_SPACE_SYSTEM: return base[_u+2+(_v?BASE_COLORS:0)].color; case COLOR_SPACE_256: return color256(_u,base); - case COLOR_SPACE_RGB: return QColor(_u,_v,_w); + case COLOR_SPACE_RGB: return {_u,_v,_w}; case COLOR_SPACE_UNDEFINED: return QColor(); } diff --git a/lib/Emulation.cpp b/lib/Emulation.cpp index 4e8b1a3..10efe44 100644 --- a/lib/Emulation.cpp +++ b/lib/Emulation.cpp @@ -380,7 +380,7 @@ void Emulation::setImageSize(int lines, int columns) QSize Emulation::imageSize() const { - return QSize(_currentScreen->getColumns(), _currentScreen->getLines()); + return {_currentScreen->getColumns(), _currentScreen->getLines()}; } ushort ExtendedCharTable::extendedCharHash(ushort* unicodePoints , ushort length) const diff --git a/lib/Pty.cpp b/lib/Pty.cpp index e3cc62f..724527c 100644 --- a/lib/Pty.cpp +++ b/lib/Pty.cpp @@ -56,7 +56,7 @@ void Pty::setWindowSize(int lines, int cols) } QSize Pty::windowSize() const { - return QSize(_windowColumns,_windowLines); + return {_windowColumns,_windowLines}; } void Pty::setFlowControlEnabled(bool enable) diff --git a/lib/ScreenWindow.cpp b/lib/ScreenWindow.cpp index 22e9b08..d1ccfd9 100644 --- a/lib/ScreenWindow.cpp +++ b/lib/ScreenWindow.cpp @@ -259,7 +259,7 @@ QRect ScreenWindow::scrollRegion() const if ( atEndOfOutput() && equalToScreenSize ) return _screen->lastScrolledRegion(); else - return QRect(0,0,windowColumns(),windowLines()); + return {0,0,windowColumns(),windowLines()}; } void ScreenWindow::notifyOutputChanged() diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index fe22508..1cc0fad 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -1390,7 +1390,7 @@ QPoint TerminalDisplay::cursorPosition() const if (_screenWindow) return _screenWindow->cursorPosition(); else - return QPoint(0,0); + return {0,0}; } QRect TerminalDisplay::preeditRect() const @@ -1398,7 +1398,7 @@ QRect TerminalDisplay::preeditRect() const const int preeditLength = string_width(_inputMethodData.preeditString); if ( preeditLength == 0 ) - return QRect(); + return {}; return QRect(_leftMargin + _fontWidth*cursorPosition().x(), _topMargin + _fontHeight*cursorPosition().y(), @@ -1560,10 +1560,10 @@ QRect TerminalDisplay::calculateTextArea(int topLeftX, int topLeftY, int startCo int left = _fixedFont ? _fontWidth * startColumn : textWidth(0, startColumn, line); int top = _fontHeight * line; int width = _fixedFont ? _fontWidth * length : textWidth(startColumn, length, line); - return QRect(_leftMargin + topLeftX + left, + return {_leftMargin + topLeftX + left, _topMargin + topLeftY + top, width, - _fontHeight); + _fontHeight}; } void TerminalDisplay::drawContents(QPainter &paint, const QRect &rect) From fcf0ebc49874088e0635f3445be3ba5aa26ff179 Mon Sep 17 00:00:00 2001 From: Zang MingJie Date: Wed, 3 Apr 2019 16:45:55 +0800 Subject: [PATCH 038/162] Fix TerminalDisplay::getCharacterPosition memory access violation Fix: lxqt/qtermwidget#266 --- lib/TerminalDisplay.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index 1cc0fad..13419ed 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -2346,26 +2346,24 @@ void TerminalDisplay::mouseReleaseEvent(QMouseEvent* ev) void TerminalDisplay::getCharacterPosition(const QPoint& widgetPoint,int& line,int& column) const { line = (widgetPoint.y()-contentsRect().top()-_topMargin) / _fontHeight; + if (line < 0) + line = 0; + if (line >= _usedLines) + line = _usedLines - 1; + int x = widgetPoint.x() + _fontWidth / 2 - contentsRect().left() - _leftMargin; if ( _fixedFont ) - column = (widgetPoint.x() + _fontWidth/2 -contentsRect().left()-_leftMargin) / _fontWidth; + column = x / _fontWidth; else { - int x = contentsRect().left() + widgetPoint.x() - _fontWidth/2; column = 0; - - while(x > textWidth(0, column, line)) + while(column + 1 < _usedColumns && x > textWidth(0, column + 1, line)) column++; } - if ( line < 0 ) - line = 0; if ( column < 0 ) column = 0; - if ( line >= _usedLines ) - line = _usedLines-1; - // the column value returned can be equal to _usedColumns, which // is the position just after the last character displayed in a line. // From 6947f7fc31c4da2f70fc3114c9b989a54088f881 Mon Sep 17 00:00:00 2001 From: eltonfabricio10 Date: Wed, 17 Apr 2019 20:02:01 +0000 Subject: [PATCH 039/162] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (21 of 21 strings) Translation: LXQt/QTermWidget Translate-URL: https://weblate.lxqt.org/projects/lxqt/qtermwidget/pt_BR/ --- lib/translations/qtermwidget_pt_BR.ts | 42 +++++++++++++-------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/lib/translations/qtermwidget_pt_BR.ts b/lib/translations/qtermwidget_pt_BR.ts index 941d205..3a60a49 100644 --- a/lib/translations/qtermwidget_pt_BR.ts +++ b/lib/translations/qtermwidget_pt_BR.ts @@ -6,17 +6,17 @@ Size: XXX x XXX - + Tamanho: XXX x XXX Size: %1 x %2 - + Tamanho: %1 x %2 <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> - + <qt>A saída foi <a href="http://en.wikipedia.org/wiki/Flow_control">suspensa</a> pressionando Ctrl+S. Precione <b>Ctrl+Q</b> para continuar.</qt> @@ -24,7 +24,7 @@ No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. - + Nenhum tradutor de teclado disponível. A informação necessária para converter a tecla pressionada em caracteres para enviar para o terminal está faltando. @@ -33,32 +33,32 @@ Un-named Color Scheme - + Esquema de cor sem nome Accessible Color Scheme - + Esquema de cor acessível Open Link - + Abrir Link Copy Link Address - + Copiar Endereço do Link Send Email To... - + Enviar E-mail Para... Copy Email Address - + Copiar Endereço de E-mail @@ -66,12 +66,12 @@ Color Scheme Error - + Erro no esquema de cor Cannot load color scheme: %1 - + Não foi possível carregar o esquema de cor: %1 @@ -79,47 +79,47 @@ Match case - + Caso de compatibilidade Regular expression - + Expressão Regular Highlight all matches - + Destacar todas as correspondências SearchBar - + Barra de Pesquisa X - + X Find: - + Encontrar: < - + < > - + > ... - + ... From ab49998a39ecd596bf44fa47dd7803e6896b128c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Tue, 16 Apr 2019 15:09:56 +0100 Subject: [PATCH 040/162] Use class instead of struct TermWidgetImpl fits a Implementation class use. --- lib/qtermwidget.cpp | 4 +++- lib/qtermwidget.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index 165b431..e1ee4b3 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -49,7 +49,9 @@ void *createTermWidget(int startnow, void *parent) return (void*) new QTermWidget(startnow, (QWidget*)parent); } -struct TermWidgetImpl { +class TermWidgetImpl { + +public: TermWidgetImpl(QWidget* parent = nullptr); TerminalDisplay *m_terminalDisplay; diff --git a/lib/qtermwidget.h b/lib/qtermwidget.h index ea0e828..e9447df 100644 --- a/lib/qtermwidget.h +++ b/lib/qtermwidget.h @@ -27,7 +27,7 @@ #include "qtermwidget_export.h" class QVBoxLayout; -struct TermWidgetImpl; +class TermWidgetImpl; class SearchBar; class QUrl; From 06dee362a57c70b68da160f19c0a5eefed2bec63 Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Sat, 13 Apr 2019 01:32:58 +0800 Subject: [PATCH 041/162] Initial Travis CI setup --- .ci/build.sh | 6 ++++++ .travis.yml | 25 +++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 .ci/build.sh create mode 100644 .travis.yml diff --git a/.ci/build.sh b/.ci/build.sh new file mode 100644 index 0000000..883b7af --- /dev/null +++ b/.ci/build.sh @@ -0,0 +1,6 @@ +set -ex + +mkdir build +cd build +cmake -DBUILD_EXAMPLE=ON -DQTERMWIDGET_BUILD_PYTHON_BINDING=ON .. +make diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..d102974 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,25 @@ +language: cpp + +sudo: required + +services: + - docker + +script: + - "curl -s https://raw.githubusercontent.com/mikkeloscar/arch-travis/master/arch-travis.sh | bash" + +arch: + repos: + - archlinuxcn=https://cdn.repo.archlinuxcn.org/$arch + packages: + # See *depends in https://github.com/archlinuxcn/repo/blob/master/archlinuxcn/qtermwidget-git/PKGBUILD + - git + - cmake + - lxqt-build-tools-git + - qt5-tools + - python-pyqt5 + - python-sip + - sip + # Using the -nostatx variant as Travis builders come with older kernels + - qt5-base-nostatx + script: bash ./.ci/build.sh From 3467ff6482c441598ebcfa2f9a4f52bc12949620 Mon Sep 17 00:00:00 2001 From: Tsu Jan Date: Mon, 13 May 2019 02:08:37 +0430 Subject: [PATCH 042/162] Completed the support for transient scrollbars Transient scrollbars don't take space but that wasn't considered in a small part of the code. This patch completes https://github.com/lxqt/qtermwidget/commit/2b7c2b38edd69613f5c1ec67958c18f438d27e4f I encountered a small problem during a big compilation (qt), made and applied the patch and, by chance, had another big compilation (qtcreator) afterward. The test was successful, as expected. --- lib/TerminalDisplay.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index 13419ed..8b6ce83 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -960,8 +960,10 @@ void TerminalDisplay::scrollImage(int lines , const QRect& screenWindowRegion) // Set the QT_FLUSH_PAINT environment variable to '1' before starting the // application to monitor repainting. // - int scrollBarWidth = _scrollBar->isHidden() ? 0 : _scrollBar->width(); - const int SCROLLBAR_CONTENT_GAP = 1; + int scrollBarWidth = _scrollBar->isHidden() ? 0 : + _scrollBar->style()->styleHint(QStyle::SH_ScrollBar_Transient, nullptr, _scrollBar) ? + 0 : _scrollBar->width(); + const int SCROLLBAR_CONTENT_GAP = scrollBarWidth == 0 ? 0 : 1; QRect scrollRect; if ( _scrollbarLocation == QTermWidget::ScrollBarLeft ) { From 5637ea1e5e67ad93f5b1eb66d690910ab658e446 Mon Sep 17 00:00:00 2001 From: Anders Bakken Date: Mon, 25 Mar 2019 21:59:33 -0700 Subject: [PATCH 043/162] Add QTermWidget::saveHistory This enables an application to implement the functionality of easily opening the entire history as a file in your favorite editor. --- lib/qtermwidget.cpp | 8 ++++++++ lib/qtermwidget.h | 1 + 2 files changed, 9 insertions(+) diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index e1ee4b3..ccabfd1 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -751,3 +751,11 @@ int QTermWidget::getMargin() const { return m_impl->m_terminalDisplay->margin(); } + +void QTermWidget::saveHistory(QIODevice *device) +{ + QTextStream stream(device); + PlainTextDecoder decoder; + decoder.begin(&stream); + m_impl->m_session->emulation()->writeToStream(&decoder, 0, m_impl->m_session->emulation()->lineCount()); +} diff --git a/lib/qtermwidget.h b/lib/qtermwidget.h index e9447df..1a8d3a3 100644 --- a/lib/qtermwidget.h +++ b/lib/qtermwidget.h @@ -287,6 +287,7 @@ public slots: void toggleShowSearchBar(); + void saveHistory(QIODevice *device); protected: void resizeEvent(QResizeEvent *) override; From c10951b97c94b2e3bc337a65e728e128916df04c Mon Sep 17 00:00:00 2001 From: "Ma. Ito" Date: Fri, 7 Jun 2019 04:17:38 +0000 Subject: [PATCH 044/162] Translated using Weblate (Japanese) Currently translated at 100.0% (21 of 21 strings) Translation: LXQt/QTermWidget Translate-URL: https://weblate.lxqt.org/projects/lxqt/qtermwidget/ja/ --- lib/translations/qtermwidget_ja.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/translations/qtermwidget_ja.ts b/lib/translations/qtermwidget_ja.ts index 6739b8b..4ae20d8 100644 --- a/lib/translations/qtermwidget_ja.ts +++ b/lib/translations/qtermwidget_ja.ts @@ -6,17 +6,17 @@ Size: XXX x XXX - + サイズ: XXX x XXX Size: %1 x %2 - + サイズ: %1 x %2 <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> - + <qt>Ctrl+Sを押して出力を<a href="http://en.wikipedia.org/wiki/Flow_control">中断</a> しました 。再開するには<b>Ctrl+Q</b>を押します。</qt> @@ -24,7 +24,7 @@ No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. - + キーボードトランスレータがありません。押されたキーを文字に変換してターミナルへ送信するために必要な情報がありません。 @@ -79,7 +79,7 @@ Match case - + 大文字と小文字を区別 @@ -109,17 +109,17 @@ < - + < > - + > ... - + ... From 5d99bae37d69bd33f5c9cbcb15862b1409b10f79 Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Tue, 25 Jun 2019 13:28:07 +0800 Subject: [PATCH 045/162] Use vanilla Qt instead of patched one Since Qt 5.12.3 [1], Qt binaries can run on old kernels even if it's compiled with statx support. [1] https://github.com/qt/qtbase/commit/7148dfc67ff20c1c625d203aa47b574b3aaa5db1 --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index d102974..7131f98 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,6 +20,4 @@ arch: - python-pyqt5 - python-sip - sip - # Using the -nostatx variant as Travis builders come with older kernels - - qt5-base-nostatx script: bash ./.ci/build.sh From 2cb98f24b7c7cd0b3096b74f407019e9e9cd9c15 Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Fri, 28 Jun 2019 19:53:35 +0800 Subject: [PATCH 046/162] Don't set the selection clipboard if it's unsupported Or there are warnings on macOS and Wayland. For example, > Data set on unsupported clipboard mode. QMimeData object will be deleted. --- lib/TerminalDisplay.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index 8b6ce83..75ca462 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -2681,7 +2681,10 @@ void TerminalDisplay::bracketText(QString& text) void TerminalDisplay::setSelection(const QString& t) { - QApplication::clipboard()->setText(t, QClipboard::Selection); + if (QApplication::clipboard()->supportsSelection()) + { + QApplication::clipboard()->setText(t, QClipboard::Selection); + } } void TerminalDisplay::copyClipboard() From 1c633498f04487482a009a1cdb19d2b6577ad3e6 Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Fri, 28 Jun 2019 19:55:14 +0800 Subject: [PATCH 047/162] Add copy and paste actions to the example --- example/main.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/example/main.cpp b/example/main.cpp index 176644c..2cde5b5 100644 --- a/example/main.cpp +++ b/example/main.cpp @@ -36,8 +36,13 @@ int main(int argc, char *argv[]) QMenuBar *menuBar = new QMenuBar(mainWindow); QMenu *actionsMenu = new QMenu("Actions", menuBar); menuBar->addMenu(actionsMenu); - actionsMenu->addAction("Find...", console, SLOT(toggleShowSearchBar()), QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_F)); - actionsMenu->addAction("About Qt", &app, SLOT(aboutQt())); + actionsMenu->addAction("Find...", console, &QTermWidget::toggleShowSearchBar, + QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_F)); + actionsMenu->addAction("Copy", console, &QTermWidget::copyClipboard, + QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_C)); + actionsMenu->addAction("Paste", console, &QTermWidget::pasteClipboard, + QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_V)); + actionsMenu->addAction("About Qt", &app, &QApplication::aboutQt); mainWindow->setMenuBar(menuBar); QFont font = QApplication::font(); @@ -75,7 +80,7 @@ int main(int argc, char *argv[]) qDebug() << "* INFO END *********************"; // real startup - QObject::connect(console, SIGNAL(finished()), mainWindow, SLOT(close())); + QObject::connect(console, &QTermWidget::finished, mainWindow, &QMainWindow::close); mainWindow->show(); return app.exec(); From f4a3a6ac3ff67456b6a304d7949b9e191e631ede Mon Sep 17 00:00:00 2001 From: mscdex Date: Sun, 7 Jul 2019 00:18:03 -0400 Subject: [PATCH 048/162] Announce truecolor support via COLORTERM --- lib/Pty.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/Pty.cpp b/lib/Pty.cpp index 724527c..ca0dbd4 100644 --- a/lib/Pty.cpp +++ b/lib/Pty.cpp @@ -173,6 +173,7 @@ int Pty::start(const QString& program, addEnvironmentVariables(environment); setEnv(QLatin1String("WINDOWID"), QString::number(winid)); + setEnv(QLatin1String("COLORTERM"), QLatin1String("truecolor")); // unless the LANGUAGE environment variable has been set explicitly // set it to a null string From 0d9c8cf0b5ca5d1fed2f78d7e9f7661a7c16894c Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Sun, 7 Jul 2019 15:19:23 +0800 Subject: [PATCH 049/162] Colons support in RGB definition With this patch, non-color sequences using colons are also accepted. I consider such sequences undefined behavior, though. Closes https://github.com/lxqt/qterminal/issues/78 --- lib/Vt102Emulation.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Vt102Emulation.cpp b/lib/Vt102Emulation.cpp index 13d7ded..f8ed523 100644 --- a/lib/Vt102Emulation.cpp +++ b/lib/Vt102Emulation.cpp @@ -343,7 +343,7 @@ void Vt102Emulation::receiveChar(wchar_t cc) if (epe( )) { processToken( TY_CSI_PE(cc), 0, 0); resetTokenizer(); return; } if (ees(DIG)) { addDigit(cc-'0'); return; } - if (eec(';')) { addArgument(); return; } + if (eec(';') || eec(':')) { addArgument(); return; } for (int i=0;i<=argc;i++) { if (epp()) From 4ffd19203ac55aa8a35c2c5fd9befc98829fe02e Mon Sep 17 00:00:00 2001 From: Yen Chi Hsuan Date: Sun, 19 Feb 2017 21:43:49 +0800 Subject: [PATCH 050/162] Fix numpad handling and add entries for numpad 5 KP_Clear is mapped from numpad 5 on non-Apple keyboards according to Qt doc [1]. It's mapped from KP_Begin from XKB on X11. Tests: with numlock off, numpad 5 => "\e[OE" Ctrl + numpad 5 => "\e[1;5E" Alt + numpad 5 => "\e[1;3E" Shift + numpad 5 => "5" These results are the same as VTE3 0.56.3. On xterm 346, Shift + numpad 5 generates "\eO2u". However, Qt returns 5 instead of KP_Clear if Shift is hold even with numlock off, so implementing Shift + numpad 5 might be rather complicated. As a side note, shifted keypad sequences can be found in emacs sources [2]. Note that on Wayfire (wlroots-based Wayland compositor), numpad 5 with numlock off generates an event without Qt::KeypadModifier. Further investigation needed. Ref: https://github.com/lxqt/qtermwidget/issues/117 [1] https://doc.qt.io/qt-5/qt.html#Key-enum [2] https://github.com/emacs-mirror/emacs/blame/master/lisp/term/xterm.el --- lib/KeyboardTranslator.cpp | 2 +- lib/kb-layouts/default.keytab | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/KeyboardTranslator.cpp b/lib/KeyboardTranslator.cpp index ebc2084..0e9a0cf 100644 --- a/lib/KeyboardTranslator.cpp +++ b/lib/KeyboardTranslator.cpp @@ -632,7 +632,7 @@ bool KeyboardTranslator::Entry::matches(int keyCode , return false; // if modifiers is non-zero, the 'any modifier' state is implicit - if ( modifiers != 0 ) + if ( (modifiers & ~Qt::KeypadModifier) != 0 ) testState |= AnyModifierState; if ( (testState & _stateMask) != (_state & _stateMask) ) diff --git a/lib/kb-layouts/default.keytab b/lib/kb-layouts/default.keytab index e8eacea..4d18dc1 100644 --- a/lib/kb-layouts/default.keytab +++ b/lib/kb-layouts/default.keytab @@ -114,6 +114,9 @@ key Delete +KeyPad : "\E[3~" key PgUp -Shift+KeyPad : "\E[5~" key PgDown -Shift+KeyPad : "\E[6~" +key Clear -AnyMod+KeyPad+AppKeyPad : "\E[OE" +key Clear +AnyMod+KeyPad+AppKeyPad : "\E[1;*E" + # other grey PC keys key Enter+NewLine : "\r\n" @@ -178,4 +181,3 @@ key PgDown +Shift-AppScreen : scrollPageDown key End +Shift-AppScreen : scrollDownToBottom key ScrollLock : scrollLock - From 64fef7ab3cad490fb51b57f2b13fc2bed8ec921d Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Sat, 18 May 2019 23:14:01 +0800 Subject: [PATCH 051/162] Allow to disable drawing line chars --- lib/TerminalDisplay.cpp | 11 +++++++---- lib/TerminalDisplay.h | 11 +++++++++++ lib/qtermwidget.cpp | 5 +++++ lib/qtermwidget.h | 2 ++ 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index 75ca462..07c3d33 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -194,10 +194,12 @@ void TerminalDisplay::setColorTable(const ColorEntry table[]) QCodec. */ -static inline bool isLineChar(wchar_t c) { return ((c & 0xFF80) == 0x2500);} -static inline bool isLineCharString(const std::wstring& string) -{ - return (string.length() > 0) && (isLineChar(string[0])); +bool TerminalDisplay::isLineChar(wchar_t c) const { + return _drawLineChars && ((c & 0xFF80) == 0x2500); +} + +bool TerminalDisplay::isLineCharString(const std::wstring& string) const { + return (string.length() > 0) && (isLineChar(string[0])); } @@ -361,6 +363,7 @@ TerminalDisplay::TerminalDisplay(QWidget *parent) ,mMotionAfterPasting(NoMoveScreenWindow) ,_leftBaseMargin(1) ,_topBaseMargin(1) +,_drawLineChars(true) { // variables for draw text _drawTextAdditionHeight = 0; diff --git a/lib/TerminalDisplay.h b/lib/TerminalDisplay.h index 5105382..83cd3e7 100644 --- a/lib/TerminalDisplay.h +++ b/lib/TerminalDisplay.h @@ -351,6 +351,12 @@ public: */ static bool antialias() { return _antialiasText; } + /** + * Specify whether line chars should be drawn by ourselves or left to + * underlying font rendering libraries. + */ + void setDrawLineChars(bool drawLineChars) { _drawLineChars = drawLineChars; } + /** * Specifies whether characters with intense colors should be rendered * as bold. Defaults to true. @@ -697,6 +703,9 @@ private: bool handleShortcutOverrideEvent(QKeyEvent* event); + bool isLineChar(wchar_t c) const; + bool isLineCharString(const std::wstring& string) const; + // the window onto the terminal screen which this display // is currently showing. QPointer _screenWindow; @@ -827,6 +836,8 @@ private: int _leftBaseMargin; int _topBaseMargin; + bool _drawLineChars; + public: static void setTransparencyEnabled(bool enable) { diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index ccabfd1..750a608 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -759,3 +759,8 @@ void QTermWidget::saveHistory(QIODevice *device) decoder.begin(&stream); m_impl->m_session->emulation()->writeToStream(&decoder, 0, m_impl->m_session->emulation()->lineCount()); } + +void QTermWidget::setDrawLineChars(bool drawLineChars) +{ + m_impl->m_terminalDisplay->setDrawLineChars(drawLineChars); +} diff --git a/lib/qtermwidget.h b/lib/qtermwidget.h index 1a8d3a3..e4cb42e 100644 --- a/lib/qtermwidget.h +++ b/lib/qtermwidget.h @@ -227,6 +227,8 @@ public: /** Get the empty space outside the terminal */ int getMargin() const; + + void setDrawLineChars(bool drawLineChars); signals: void finished(); void copyAvailable(bool); From 88e57a57fc548c4e9a188cdd37c8d145ce0c84bd Mon Sep 17 00:00:00 2001 From: BlahGeek Date: Sun, 14 Jul 2019 13:03:29 +0800 Subject: [PATCH 052/162] Use QRectF for cursor drawing, fix artifacts in hidpi --- lib/TerminalDisplay.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index 07c3d33..7f1352b 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -754,7 +754,7 @@ void TerminalDisplay::drawCursor(QPainter& painter, const QColor& /*backgroundColor*/, bool& invertCharacterColor) { - QRect cursorRect = rect; + QRectF cursorRect = rect; cursorRect.setHeight(_fontHeight - _lineSpacing - 1); if (!_cursorBlinking) @@ -768,12 +768,12 @@ void TerminalDisplay::drawCursor(QPainter& painter, { // draw the cursor outline, adjusting the area so that // it is draw entirely inside 'rect' - int penWidth = qMax(1,painter.pen().width()); + float penWidth = qMax(1,painter.pen().width()); painter.drawRect(cursorRect.adjusted(penWidth/2, penWidth/2, - - penWidth/2 - penWidth%2, - - penWidth/2 - penWidth%2)); + - penWidth/2, + - penWidth/2)); if ( hasFocus() ) { painter.fillRect(cursorRect, _cursorColor.isValid() ? _cursorColor : foregroundColor); From 0b6b5c8bec16431ca63d65a36ab847cab8319f3b Mon Sep 17 00:00:00 2001 From: "David H. Gutteridge" Date: Tue, 30 Jul 2019 09:06:40 -0400 Subject: [PATCH 053/162] Fix compilation on NetBSD Like OpenBSD, NetBSD has util.h, not libutil.h. --- lib/kpty.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/kpty.cpp b/lib/kpty.cpp index f7386d1..4bf81c5 100644 --- a/lib/kpty.cpp +++ b/lib/kpty.cpp @@ -27,12 +27,12 @@ #include -#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__) +#if defined(__FreeBSD__) || defined(__DragonFly__) #define HAVE_LOGIN #define HAVE_LIBUTIL_H #endif -#if defined(__OpenBSD__) +#if defined(__OpenBSD__) || defined(__NetBSD__) #define HAVE_LOGIN #define HAVE_UTIL_H #endif From e9df29136167e9e7d4f5fdd833c79bf8fa97c301 Mon Sep 17 00:00:00 2001 From: Masamichi Ito Date: Wed, 31 Jul 2019 03:57:32 +0000 Subject: [PATCH 054/162] Translated using Weblate (Japanese) Currently translated at 100.0% (21 of 21 strings) Translation: LXQt/QTermWidget Translate-URL: https://weblate.lxqt.org/projects/lxqt/qtermwidget/ja/ --- lib/translations/qtermwidget_ja.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/translations/qtermwidget_ja.ts b/lib/translations/qtermwidget_ja.ts index 4ae20d8..5530a5b 100644 --- a/lib/translations/qtermwidget_ja.ts +++ b/lib/translations/qtermwidget_ja.ts @@ -16,7 +16,7 @@ <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> - <qt>Ctrl+Sを押して出力を<a href="http://en.wikipedia.org/wiki/Flow_control">中断</a> しました 。再開するには<b>Ctrl+Q</b>を押します。</qt> + <qt>Ctrl+S を押して出力を<a href="http://en.wikipedia.org/wiki/Flow_control">中断</a> しました 。再開するには <b>Ctrl+Q</b> を押します。</qt> @@ -33,12 +33,12 @@ Un-named Color Scheme - 名前のないカラースキーム + 名前のない配色 Accessible Color Scheme - アクセス可能なカラースキーム + アクセス可能な配色 @@ -66,12 +66,12 @@ Color Scheme Error - カラースキームのエラー + 配色のエラー Cannot load color scheme: %1 - カラースキームをロードすることができません: %1 + 配色をロードできません: %1 @@ -89,7 +89,7 @@ Highlight all matches - 一致するものをハイライト + 一致する全ての文字列を強調表示 @@ -104,7 +104,7 @@ Find: - 探す: + 検索する文字列: From b4b11ae71912f796acf96feae04dc05493e2fe34 Mon Sep 17 00:00:00 2001 From: Gary Wang Date: Sat, 3 Aug 2019 12:52:38 +0800 Subject: [PATCH 055/162] feat: add sendKeyEvent() api --- lib/Session.cpp | 5 +++++ lib/Session.h | 2 ++ lib/qtermwidget.cpp | 5 +++++ lib/qtermwidget.h | 3 +++ 4 files changed, 15 insertions(+) diff --git a/lib/Session.cpp b/lib/Session.cpp index 71a3b87..2973faa 100644 --- a/lib/Session.cpp +++ b/lib/Session.cpp @@ -568,6 +568,11 @@ void Session::sendText(const QString & text) const _emulation->sendText(text); } +void Session::sendKeyEvent(QKeyEvent* e) const +{ + _emulation->sendKeyEvent(e); +} + Session::~Session() { delete _emulation; diff --git a/lib/Session.h b/lib/Session.h index 992b9f5..a09a2d2 100644 --- a/lib/Session.h +++ b/lib/Session.h @@ -314,6 +314,8 @@ public: */ void sendText(const QString & text) const; + void sendKeyEvent(QKeyEvent* e) const; + /** * Returns the process id of the terminal process. * This is the id used by the system API to refer to the process. diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index 750a608..ea515ac 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -507,6 +507,11 @@ void QTermWidget::sendText(const QString &text) m_impl->m_session->sendText(text); } +void QTermWidget::sendKeyEvent(QKeyEvent *e) +{ + m_impl->m_session->sendKeyEvent(e); +} + void QTermWidget::resizeEvent(QResizeEvent*) { //qDebug("global window resizing...with %d %d", this->size().width(), this->size().height()); diff --git a/lib/qtermwidget.h b/lib/qtermwidget.h index e4cb42e..80e5609 100644 --- a/lib/qtermwidget.h +++ b/lib/qtermwidget.h @@ -125,6 +125,9 @@ public: // Send some text to terminal void sendText(const QString & text); + // Send key event to terminal + void sendKeyEvent(QKeyEvent* e); + // Sets whether flow control is enabled void setFlowControlEnabled(bool enabled); From 9b12c21246fb085cd51d6cca2464956aa778f2d4 Mon Sep 17 00:00:00 2001 From: Dmitry Matrokhin Date: Sun, 4 Aug 2019 01:13:02 +0300 Subject: [PATCH 056/162] Fix flickering on font change Root cause: When font is changed paintEvent is called and we draw text "Mq" to calculate font height. Then on next paintEvent we draw original content. Since it's done in 2 steps we get flickering. Fix: Do calculating and redrawing in 1 step. --- lib/TerminalDisplay.cpp | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index 7f1352b..79fd16b 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -264,9 +264,7 @@ void TerminalDisplay::calDrawTextAdditionHeight(QPainter& painter) _drawTextAdditionHeight = 0; } - // update the original content - _drawTextTestFlag = false; - update(); + _drawTextTestFlag = false; } void TerminalDisplay::setVTFont(const QFont& f) @@ -1376,18 +1374,16 @@ void TerminalDisplay::paintEvent( QPaintEvent* pe ) { calDrawTextAdditionHeight(paint); } - else + + const auto rects = (pe->region() & contentsRect()).rects(); + for (const QRect &rect : rects) { - const auto rects = (pe->region() & contentsRect()).rects(); - for (const QRect &rect : rects) - { - drawBackground(paint,rect,palette().background().color(), - true /* use opacity setting */); - drawContents(paint, rect); - } - drawInputMethodPreeditString(paint,preeditRect()); - paintFilters(paint); + drawBackground(paint,rect,palette().background().color(), + true /* use opacity setting */); + drawContents(paint, rect); } + drawInputMethodPreeditString(paint,preeditRect()); + paintFilters(paint); } QPoint TerminalDisplay::cursorPosition() const From fc74642060df5e4f2cde459d49b50fc00a64026c Mon Sep 17 00:00:00 2001 From: p-bo Date: Sat, 7 Sep 2019 17:52:44 +0000 Subject: [PATCH 057/162] Translated using Weblate (Czech) Currently translated at 100.0% (21 of 21 strings) Translation: LXQt/QTermWidget Translate-URL: https://weblate.lxqt.org/projects/lxqt/qtermwidget/cs/ --- lib/translations/qtermwidget_cs.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/translations/qtermwidget_cs.ts b/lib/translations/qtermwidget_cs.ts index 652015f..5f1ce2a 100644 --- a/lib/translations/qtermwidget_cs.ts +++ b/lib/translations/qtermwidget_cs.ts @@ -16,7 +16,7 @@ <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> - <qt>Výstup byl <a href="http://en.wikipedia.org/wiki/Flow_control">pozastaven</a> stisknutím Ctrl+S. Znovu ho spustíte stisknutím <b>Ctrl+Q</b>.</qt> + <qt>Výstup byl <a href="http://en.wikipedia.org/wiki/Flow_control">pozastaven</a> stisknutím Ctrl+S. Znovu ho spustíte stisknutím <b>Ctrl+Q</b>.</qt> @@ -24,7 +24,7 @@ No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. - Není k dispozici žádný překladač klávesnice. Chybí informace pro převod kódů stisknutých kláves na znaky posílané na terminál. + Není k dispozici žádný překladač klávesnice. Chybí tak informace pro převod kódů stisknutých kláves na znaky posílané na terminál. @@ -38,7 +38,7 @@ Accessible Color Scheme - Barevné schéma pro zrakově hendikepované uživatele + Barevné schéma pro uživatele se zrakovou vadou @@ -94,7 +94,7 @@ SearchBar - Pruh hledání + Lišta hledání From 29c6d3cc59342519c27ed4c85bc1fcac6366f76c Mon Sep 17 00:00:00 2001 From: Masamichi Ito Date: Sat, 7 Sep 2019 13:23:23 +0000 Subject: [PATCH 058/162] Translated using Weblate (Japanese) Currently translated at 100.0% (21 of 21 strings) Translation: LXQt/QTermWidget Translate-URL: https://weblate.lxqt.org/projects/lxqt/qtermwidget/ja/ --- lib/translations/qtermwidget_ja.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/translations/qtermwidget_ja.ts b/lib/translations/qtermwidget_ja.ts index 5530a5b..d185623 100644 --- a/lib/translations/qtermwidget_ja.ts +++ b/lib/translations/qtermwidget_ja.ts @@ -79,7 +79,7 @@ Match case - 大文字と小文字を区別 + 大文字と小文字の区別 From c67ea4426585a67e93fd66085879d391a3f73546 Mon Sep 17 00:00:00 2001 From: Pavel Shlyak Date: Thu, 22 Aug 2019 02:57:33 +0300 Subject: [PATCH 059/162] Screen.h: boolean modes --- lib/Screen.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Screen.h b/lib/Screen.h index c4baf0e..c2a992a 100644 --- a/lib/Screen.h +++ b/lib/Screen.h @@ -637,8 +637,8 @@ private: int _bottomMargin; // states ---------------- - int currentModes[MODES_SCREEN]; - int savedModes[MODES_SCREEN]; + bool currentModes[MODES_SCREEN]; + bool savedModes[MODES_SCREEN]; // ---------------------------- From 1269679b611925b78e4b34f4fa7a6b50614972b4 Mon Sep 17 00:00:00 2001 From: Pavel Shlyak Date: Thu, 22 Aug 2019 03:03:16 +0300 Subject: [PATCH 060/162] Session.cpp: simplify logical expression --- lib/Session.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/Session.cpp b/lib/Session.cpp index 2973faa..3077a24 100644 --- a/lib/Session.cpp +++ b/lib/Session.cpp @@ -1018,8 +1018,7 @@ void SessionGroup::setMasterStatus(Session * session, bool master) bool wasMaster = _sessions[session]; _sessions[session] = master; - if ((!wasMaster && !master) - || (wasMaster && master)) { + if (wasMaster == master) { return; } From b097f4e0c67e935985db8173866e43926ab9121c Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Sun, 22 Sep 2019 19:54:45 +0200 Subject: [PATCH 061/162] Translation source update --- lib/translations/qtermwidget.ts | 18 +++++++++--------- lib/translations/qtermwidget_ca.ts | 18 +++++++++--------- lib/translations/qtermwidget_cs.ts | 18 +++++++++--------- lib/translations/qtermwidget_cy.ts | 18 +++++++++--------- lib/translations/qtermwidget_da.ts | 18 +++++++++--------- lib/translations/qtermwidget_de.ts | 18 +++++++++--------- lib/translations/qtermwidget_el.ts | 18 +++++++++--------- lib/translations/qtermwidget_es.ts | 18 +++++++++--------- lib/translations/qtermwidget_fr.ts | 18 +++++++++--------- lib/translations/qtermwidget_gl.ts | 18 +++++++++--------- lib/translations/qtermwidget_he.ts | 18 +++++++++--------- lib/translations/qtermwidget_hu.ts | 18 +++++++++--------- lib/translations/qtermwidget_ja.ts | 18 +++++++++--------- lib/translations/qtermwidget_lt.ts | 18 +++++++++--------- lib/translations/qtermwidget_nb_NO.ts | 18 +++++++++--------- lib/translations/qtermwidget_pl.ts | 18 +++++++++--------- lib/translations/qtermwidget_pt.ts | 18 +++++++++--------- lib/translations/qtermwidget_pt_BR.ts | 18 +++++++++--------- lib/translations/qtermwidget_tr.ts | 18 +++++++++--------- lib/translations/qtermwidget_zh_CN.ts | 18 +++++++++--------- lib/translations/qtermwidget_zh_TW.ts | 18 +++++++++--------- 21 files changed, 189 insertions(+), 189 deletions(-) diff --git a/lib/translations/qtermwidget.ts b/lib/translations/qtermwidget.ts index 95eb3e5..09a1c53 100644 --- a/lib/translations/qtermwidget.ts +++ b/lib/translations/qtermwidget.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX - + Size: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> @@ -41,22 +41,22 @@ - + Open Link - + Copy Link Address - + Send Email To... - + Copy Email Address @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error - + Cannot load color scheme: %1 diff --git a/lib/translations/qtermwidget_ca.ts b/lib/translations/qtermwidget_ca.ts index a3bfcbf..9f220ab 100644 --- a/lib/translations/qtermwidget_ca.ts +++ b/lib/translations/qtermwidget_ca.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Mida: XXX x XXX - + Size: %1 x %2 Mida: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>La sortida ha estat <a href="http://en.wikipedia.org/wiki/Flow_control">suspesa</a> en prémer Ctrl+S. Premeu <b>Ctrl+Q</b> per reprendre-la.</qt> @@ -41,22 +41,22 @@ Esquema de color accessible - + Open Link Obre l'enllaç - + Copy Link Address Copia l'adreça de l'enllaç - + Send Email To... Envia un correu electrònic a... - + Copy Email Address Copia l'adreça de correu electrònic @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Error de l'esquema de color - + Cannot load color scheme: %1 No es pot carregar l'esquema de color: %1 diff --git a/lib/translations/qtermwidget_cs.ts b/lib/translations/qtermwidget_cs.ts index 5f1ce2a..96a9fc6 100644 --- a/lib/translations/qtermwidget_cs.ts +++ b/lib/translations/qtermwidget_cs.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Velikost: XXX x XXX - + Size: %1 x %2 Velikost: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Výstup byl <a href="http://en.wikipedia.org/wiki/Flow_control">pozastaven</a> stisknutím Ctrl+S. Znovu ho spustíte stisknutím <b>Ctrl+Q</b>.</qt> @@ -41,22 +41,22 @@ Barevné schéma pro uživatele se zrakovou vadou - + Open Link Otevřít odkaz - + Copy Link Address Zkopírovat adresu odkazu - + Send Email To... Poslat e-mail na… - + Copy Email Address Zkopírovat e-mailovou adresu @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Chyba barevného schématu - + Cannot load color scheme: %1 Nedaří se načíst barevné schéma: %1 diff --git a/lib/translations/qtermwidget_cy.ts b/lib/translations/qtermwidget_cy.ts index 9e28ec8..52eb385 100644 --- a/lib/translations/qtermwidget_cy.ts +++ b/lib/translations/qtermwidget_cy.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX - + Size: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> @@ -41,22 +41,22 @@ - + Open Link - + Copy Link Address - + Send Email To... - + Copy Email Address @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error - + Cannot load color scheme: %1 diff --git a/lib/translations/qtermwidget_da.ts b/lib/translations/qtermwidget_da.ts index 8913a07..ab5888c 100644 --- a/lib/translations/qtermwidget_da.ts +++ b/lib/translations/qtermwidget_da.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Størrelse: XXX x XXX - + Size: %1 x %2 Størrelse: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Output er blevet <a href="http://en.wikipedia.org/wiki/Flow_control">suspenderet</a> ved tryk på Ctrl+S. Tryk på <b>Ctrl+Q</b> for at genoptage.</qt> @@ -41,22 +41,22 @@ Tilgængeligt farveskema - + Open Link Åbn link - + Copy Link Address Kopiér linkadresse - + Send Email To... Send e-mail til... - + Copy Email Address Kopiér e-mailadresse @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Fejl ved farveskema - + Cannot load color scheme: %1 Kan ikke indlæse farveskema: %1 diff --git a/lib/translations/qtermwidget_de.ts b/lib/translations/qtermwidget_de.ts index 471ad4f..596db54 100644 --- a/lib/translations/qtermwidget_de.ts +++ b/lib/translations/qtermwidget_de.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Größe: XXX x XXX - + Size: %1 x %2 Größe: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Ausgabe wurde <a href="http://en.wikipedia.org/wiki/Flow_control">ausgesetzt</a> beim Drücken von Strg+S. Drücke <b>Strg+Q</b> um fortzufahren.</qt> @@ -41,22 +41,22 @@ Zugängliches Farbschema - + Open Link Link öffnen - + Copy Link Address Linkadresse kopieren - + Send Email To... E-Mail senden an... - + Copy Email Address E-Mail-Adresse kopieren @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Farbschemafehler - + Cannot load color scheme: %1 Kann Farbschema nicht laden: %1 diff --git a/lib/translations/qtermwidget_el.ts b/lib/translations/qtermwidget_el.ts index 42798fb..930f16a 100644 --- a/lib/translations/qtermwidget_el.ts +++ b/lib/translations/qtermwidget_el.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Μέγεθος: XXX x XXX - + Size: %1 x %2 Μέγεθος: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Η έξοδος έχει <a href="http://en.wikipedia.org/wiki/Flow_control">ανασταλεί</a> με τον συνδυασμό πλήκτρων Ctrl+S. Πιέστε <b>Ctrl+Q</b> για επαναφορά.</qt> @@ -41,22 +41,22 @@ Προσπελάσιμος χρωματικός σχηματισμός - + Open Link Άνοιγμα του δεσμού - + Copy Link Address Αντιγραφή διεύθυνσης του δεσμού - + Send Email To... Αποστολή ηλ. αλληλογραφίας προς... - + Copy Email Address Αντιγραφή της ηλ. διεύθυνσης @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Σφάλμα του χρωματικού συνδυασμού - + Cannot load color scheme: %1 Αδύνατη η φόρτωση του χρωματικού συνδυασμού: %1 diff --git a/lib/translations/qtermwidget_es.ts b/lib/translations/qtermwidget_es.ts index 5b079c5..ec90e2e 100644 --- a/lib/translations/qtermwidget_es.ts +++ b/lib/translations/qtermwidget_es.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Tamaño: XXX x XXX - + Size: %1 x %2 Tamaño: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>La salida ha sido <a href="http://en.wikipedia.org/wiki/Flow_control">suspendida</a> al pulsar Ctrl+S. Pulse <b>Ctrl+Q</b> para reanudarla.</qt> @@ -41,22 +41,22 @@ Esquema de color accesible - + Open Link Abrir el enlace - + Copy Link Address Copiar la dirección del enlace - + Send Email To... Enviar correo a... - + Copy Email Address Copiar la dirección de correo @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Error del esquema de color - + Cannot load color scheme: %1 No se puede cargar el esquema de color: %1 diff --git a/lib/translations/qtermwidget_fr.ts b/lib/translations/qtermwidget_fr.ts index 9b46782..269f431 100644 --- a/lib/translations/qtermwidget_fr.ts +++ b/lib/translations/qtermwidget_fr.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Taille : XXX x XXX - + Size: %1 x %2 Taille : %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>La sortie a été <a href="http://en.wikipedia.org/wiki/Flow_control">suspendue</a> en pressant Ctrl+S. Presser <b>Ctrl+Q</b> pour reprendre.</qt> @@ -41,22 +41,22 @@ Schéma de couleur accessible - + Open Link Ouvrir le lien - + Copy Link Address Copier l'adresse du lien - + Send Email To... Envoyer un courriel à... - + Copy Email Address Copier l'adresse du courriel @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Erreur du schéma des couleurs - + Cannot load color scheme: %1 Impossible de charger le schéma de couleurs : %1 diff --git a/lib/translations/qtermwidget_gl.ts b/lib/translations/qtermwidget_gl.ts index 1a5a97b..f29e586 100644 --- a/lib/translations/qtermwidget_gl.ts +++ b/lib/translations/qtermwidget_gl.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Tamaño: XXX x XXX - + Size: %1 x %2 Tamaño: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>A saída foi <a href="http://en.wikipedia.org/wiki/Flow_control">suspendida</a> ao premer Ctrl+S. Prema <b>Ctrl+Q</b> para continuar.</qt> @@ -41,22 +41,22 @@ Esquema de cor accesíbel - + Open Link Abrir a ligazón - + Copy Link Address Copiar o enderezo da ligazón - + Send Email To... Enviar correo a... - + Copy Email Address Copiar o enderezo de correo @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Produciuse un erro no esquema de cor - + Cannot load color scheme: %1 Non é posíbel cargar o esquema de cor: %1 diff --git a/lib/translations/qtermwidget_he.ts b/lib/translations/qtermwidget_he.ts index 7fe336f..14c081c 100644 --- a/lib/translations/qtermwidget_he.ts +++ b/lib/translations/qtermwidget_he.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX גודל: XXX × XXX - + Size: %1 x %2 גודל: %1 × %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>הפלט <a href="http://en.wikipedia.org/wiki/Flow_control">הושהה</a> בלחיצה על Ctrl+S. יש ללחוץ על <b>Ctrl+Q</b> כדי להמשיך.</qt> @@ -41,22 +41,22 @@ ערכת צבעים נגישה - + Open Link פתיחת קישור - + Copy Link Address העתקת כתובת קישור - + Send Email To... שליחת דוא״ל אל… - + Copy Email Address העתקת כתובת דוא״ל @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error שגיאת ערכת צבעים - + Cannot load color scheme: %1 לא ניתן לטעון ערכת צבעים: %1 diff --git a/lib/translations/qtermwidget_hu.ts b/lib/translations/qtermwidget_hu.ts index 2c2b428..95932a4 100644 --- a/lib/translations/qtermwidget_hu.ts +++ b/lib/translations/qtermwidget_hu.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Méret: XXX x XXX - + Size: %1 x %2 Méret: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>A kimenet <a href="http://en.wikipedia.org/wiki/Flow_control">el van nyomva</a> a Ctrl+S megnyomásával. Nyomj <b>Ctrl+Q -t</b> a visszatéréshez.</qt> @@ -41,22 +41,22 @@ Elérhető színséma - + Open Link Link megnyitás - + Copy Link Address Link cím másolás - + Send Email To... Email küldés ... - + Copy Email Address Email cím másolás @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Színséma hiba - + Cannot load color scheme: %1 A %1 színséma elérhetetlen diff --git a/lib/translations/qtermwidget_ja.ts b/lib/translations/qtermwidget_ja.ts index d185623..cf4c532 100644 --- a/lib/translations/qtermwidget_ja.ts +++ b/lib/translations/qtermwidget_ja.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX サイズ: XXX x XXX - + Size: %1 x %2 サイズ: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Ctrl+S を押して出力を<a href="http://en.wikipedia.org/wiki/Flow_control">中断</a> しました 。再開するには <b>Ctrl+Q</b> を押します。</qt> @@ -41,22 +41,22 @@ アクセス可能な配色 - + Open Link リンクを開く - + Copy Link Address リンクのアドレスをコピー - + Send Email To... メールを送信... - + Copy Email Address メールアドレスをコピー @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error 配色のエラー - + Cannot load color scheme: %1 配色をロードできません: %1 diff --git a/lib/translations/qtermwidget_lt.ts b/lib/translations/qtermwidget_lt.ts index f1cb4cd..1656912 100644 --- a/lib/translations/qtermwidget_lt.ts +++ b/lib/translations/qtermwidget_lt.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Dydis: XXX x XXX - + Size: %1 x %2 Dydis: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Išvestis buvo <a href="http://en.wikipedia.org/wiki/Flow_control">pristabdyta,</a> paspaudžiant Ctrl(Vald)+S. Paspauskite <b>Ctrl(Vald)+Q</b>, norėdami pratęsti.</qt> @@ -41,22 +41,22 @@ Pasiekiamas spalvų rinkinys - + Open Link Atverti nuorodą - + Copy Link Address Kopijuoti nuorodos adresą - + Send Email To... Siųsti el. paštą... - + Copy Email Address Kopijuoti el. pašto adresą @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Spalvų rinkinio klaida - + Cannot load color scheme: %1 Nepavyksta įkelti spalvų rinkinio: %1 diff --git a/lib/translations/qtermwidget_nb_NO.ts b/lib/translations/qtermwidget_nb_NO.ts index 224e8b6..cea2096 100644 --- a/lib/translations/qtermwidget_nb_NO.ts +++ b/lib/translations/qtermwidget_nb_NO.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Størrelse: XXX x XXX - + Size: %1 x %2 Størrelse: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Utgangssignalet ble <a href="http://en.wikipedia.org/wiki/Flow_control">stoppet</a> da Ctrl+S ble trykket. Trykk <b>Ctrl+Q</b> for å fortsette.</qt> @@ -41,22 +41,22 @@ Fargemønster for funksjonshemmede - + Open Link Åpne lenke - + Copy Link Address Kopier lenkeadresse - + Send Email To... Send epost til... - + Copy Email Address Kopier epostadressen @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Feil med fargemønster - + Cannot load color scheme: %1 Kan ikke åpne fargemønster: %1 diff --git a/lib/translations/qtermwidget_pl.ts b/lib/translations/qtermwidget_pl.ts index 83ac266..6d35ec3 100644 --- a/lib/translations/qtermwidget_pl.ts +++ b/lib/translations/qtermwidget_pl.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Rozmiar: XXX x XXX - + Size: %1 x %2 Rozmiar: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Wyjście zostało <a href="http://en.wikipedia.org/wiki/Flow_control">wstrzymane</a> skrótem Ctrl+S. Wciśnij <b>Ctrl+Q</b> aby wznowić.</qt> @@ -41,22 +41,22 @@ Paleta o zwiększonej przystępności - + Open Link Przejdź pod adres - + Copy Link Address Kopiuj adres łącza - + Send Email To... Wyślij e-mail do… - + Copy Email Address Kopiuj adres e-mail @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Błąd w palecie - + Cannot load color scheme: %1 Nie można wczytać palety: %1 diff --git a/lib/translations/qtermwidget_pt.ts b/lib/translations/qtermwidget_pt.ts index e2c5f58..00c2401 100644 --- a/lib/translations/qtermwidget_pt.ts +++ b/lib/translations/qtermwidget_pt.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Tamanho: XXX x XXX - + Size: %1 x %2 Tamanho: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>A saída foi <a href="http://en.wikipedia.org/wiki/Flow_control"> suspendida</a> com Ctrl+S. Prima <b>Ctrl+Q</b> para continuar.</qt> @@ -41,22 +41,22 @@ Esquema de cores acessível - + Open Link Abrir ligação - + Copy Link Address Copiar endereço da ligação - + Send Email To... Enviar e-mail para... - + Copy Email Address Copiar endereço de e-mail @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Erro no esquema de cores - + Cannot load color scheme: %1 Não foi possível carregar o esquema de cores: %1 diff --git a/lib/translations/qtermwidget_pt_BR.ts b/lib/translations/qtermwidget_pt_BR.ts index 3a60a49..d94d6a0 100644 --- a/lib/translations/qtermwidget_pt_BR.ts +++ b/lib/translations/qtermwidget_pt_BR.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Tamanho: XXX x XXX - + Size: %1 x %2 Tamanho: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>A saída foi <a href="http://en.wikipedia.org/wiki/Flow_control">suspensa</a> pressionando Ctrl+S. Precione <b>Ctrl+Q</b> para continuar.</qt> @@ -41,22 +41,22 @@ Esquema de cor acessível - + Open Link Abrir Link - + Copy Link Address Copiar Endereço do Link - + Send Email To... Enviar E-mail Para... - + Copy Email Address Copiar Endereço de E-mail @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Erro no esquema de cor - + Cannot load color scheme: %1 Não foi possível carregar o esquema de cor: %1 diff --git a/lib/translations/qtermwidget_tr.ts b/lib/translations/qtermwidget_tr.ts index 2da39d7..024fd82 100644 --- a/lib/translations/qtermwidget_tr.ts +++ b/lib/translations/qtermwidget_tr.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Boyut: XXX x XXX - + Size: %1 x %2 Boyut: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Çıktı <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> Ctrl+S basınız. <b>Ctrl+Q</b> bas devam etmek için.</qt> @@ -41,22 +41,22 @@ Erişilebilir Renk Şeması - + Open Link Bağlantıyı Aç - + Copy Link Address Bağlantı Adresini Kopyala - + Send Email To... E-posta gönder... - + Copy Email Address E-posta Adresini Kopyala @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error Renk Şema Hatası - + Cannot load color scheme: %1 Renk şeması yüklenemedi: %1 diff --git a/lib/translations/qtermwidget_zh_CN.ts b/lib/translations/qtermwidget_zh_CN.ts index 8d2295e..eafe45b 100644 --- a/lib/translations/qtermwidget_zh_CN.ts +++ b/lib/translations/qtermwidget_zh_CN.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX 大小: XXX x XXX - + Size: %1 x %2 大小: %1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>输出已被 Ctrl+S <a href="http://en.wikipedia.org/wiki/Flow_control">暂停</a>。按 <b>Ctrl+Q</b> 复原。</qt> @@ -41,22 +41,22 @@ 可用配色 - + Open Link 打开链接 - + Copy Link Address 复制链接地址 - + Send Email To... 发送邮件至... - + Copy Email Address 复制邮件地址 @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error 配色错误 - + Cannot load color scheme: %1 无法加载配色: %1 diff --git a/lib/translations/qtermwidget_zh_TW.ts b/lib/translations/qtermwidget_zh_TW.ts index 74d5753..1a26cd8 100644 --- a/lib/translations/qtermwidget_zh_TW.ts +++ b/lib/translations/qtermwidget_zh_TW.ts @@ -4,17 +4,17 @@ Konsole::TerminalDisplay - + Size: XXX x XXX 大小:XXX x XXX - + Size: %1 x %2 大小:%1 x %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>輸出已被Ctrl+S<a href="http://en.wikipedia.org/wiki/Flow_control">暫停</a>。按<b>Ctrl+Q</b>復原。</qt> @@ -41,22 +41,22 @@ 可用的配色 - + Open Link 開啟連結 - + Copy Link Address 複製網址 - + Send Email To... 傳送郵件給… - + Copy Email Address 複製信箱地址 @@ -64,12 +64,12 @@ QTermWidget - + Color Scheme Error 配色錯誤 - + Cannot load color scheme: %1 無法載入配色:%1 From d89ef6b0c675ecff5b599cf8f63737931df18fe2 Mon Sep 17 00:00:00 2001 From: Einar Mostad Date: Sat, 28 Sep 2019 20:48:46 +0000 Subject: [PATCH 062/162] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (21 of 21 strings) Translation: LXQt/QTermWidget Translate-URL: https://weblate.lxqt.org/projects/lxqt/qtermwidget/nb_NO/ --- lib/translations/qtermwidget_nb_NO.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/translations/qtermwidget_nb_NO.ts b/lib/translations/qtermwidget_nb_NO.ts index cea2096..19b4ab3 100644 --- a/lib/translations/qtermwidget_nb_NO.ts +++ b/lib/translations/qtermwidget_nb_NO.ts @@ -94,7 +94,7 @@ SearchBar - Søkefelt + Søkelinje From a982330d0510d25187fe209211df81513509a1e3 Mon Sep 17 00:00:00 2001 From: Paulo Lieuthier Date: Tue, 8 Oct 2019 13:56:57 -0300 Subject: [PATCH 063/162] Select all text when opening search bar --- lib/SearchBar.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/SearchBar.cpp b/lib/SearchBar.cpp index 7a5e52b..8e04253 100644 --- a/lib/SearchBar.cpp +++ b/lib/SearchBar.cpp @@ -81,6 +81,7 @@ void SearchBar::show() { QWidget::show(); widget.searchTextEdit->setFocus(); + widget.searchTextEdit->selectAll(); } void SearchBar::noMatchFound() From 9cce50054e5f38378dbdc00b417bd369aa449d8e Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Mon, 14 Oct 2019 21:37:39 +0800 Subject: [PATCH 064/162] Fix building of the example --- example/main.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/example/main.cpp b/example/main.cpp index 2cde5b5..779d7bb 100644 --- a/example/main.cpp +++ b/example/main.cpp @@ -28,30 +28,30 @@ int main(int argc, char *argv[]) { QApplication app(argc, argv); - QIcon::setThemeName("oxygen"); + QIcon::setThemeName(QStringLiteral("oxygen")); QMainWindow *mainWindow = new QMainWindow(); QTermWidget *console = new QTermWidget(); QMenuBar *menuBar = new QMenuBar(mainWindow); - QMenu *actionsMenu = new QMenu("Actions", menuBar); + QMenu *actionsMenu = new QMenu(QStringLiteral("Actions"), menuBar); menuBar->addMenu(actionsMenu); - actionsMenu->addAction("Find...", console, &QTermWidget::toggleShowSearchBar, + actionsMenu->addAction(QStringLiteral("Find..."), console, &QTermWidget::toggleShowSearchBar, QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_F)); - actionsMenu->addAction("Copy", console, &QTermWidget::copyClipboard, + actionsMenu->addAction(QStringLiteral("Copy"), console, &QTermWidget::copyClipboard, QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_C)); - actionsMenu->addAction("Paste", console, &QTermWidget::pasteClipboard, + actionsMenu->addAction(QStringLiteral("Paste"), console, &QTermWidget::pasteClipboard, QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_V)); - actionsMenu->addAction("About Qt", &app, &QApplication::aboutQt); + actionsMenu->addAction(QStringLiteral("About Qt"), &app, &QApplication::aboutQt); mainWindow->setMenuBar(menuBar); QFont font = QApplication::font(); #ifdef Q_OS_MACOS - font.setFamily("Monaco"); + font.setFamily(QStringLiteral("Monaco")); #elif defined(Q_WS_QWS) - font.setFamily("fixed"); + font.setFamily(QStringLiteral("fixed")); #else - font.setFamily("Monospace"); + font.setFamily(QStringLiteral("Monospace")); #endif font.setPointSize(12); From fbf23a1b1a1e8e6b7c93cadd24db6f09c29b657c Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Mon, 14 Oct 2019 21:41:55 +0800 Subject: [PATCH 065/162] Fix building on Travis CI 1. Adapted to arch-travis upstream changes [1] 2. Use Bionic (Ubuntu 18.04) on Travis CI Previously, moc calls fail with: standard input:0: Note: No relevant classes found. No output generated. Some relevant discussions suggest that statx functionality is needed [2], which is available with docker 18.04+ and libseccomp 2.3.3+ [3]. Ubuntu 16.04 do have libseccomp 2.4.1 [4]. Maybe Travis CI builders are just not updated. [1] https://github.com/mikkeloscar/arch-travis/issues/65 [2] https://github.com/Martchus/PKGBUILDs/issues/54 [3] https://github.com/moby/moby/pull/36417 [4] https://repology.org/project/libseccomp/versions --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 7131f98..3d5c293 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,13 +2,15 @@ language: cpp sudo: required +dist: bionic + services: - docker script: - "curl -s https://raw.githubusercontent.com/mikkeloscar/arch-travis/master/arch-travis.sh | bash" -arch: +archlinux: repos: - archlinuxcn=https://cdn.repo.archlinuxcn.org/$arch packages: From e9d6b3662428795b50ef1677065c45258feecbad Mon Sep 17 00:00:00 2001 From: Tsu Jan Date: Thu, 17 Oct 2019 18:06:08 +0330 Subject: [PATCH 066/162] Removed some debug outputs Users don't need to seem them. If an info is really important, it should be shown in a message box, IMHO. --- lib/ColorScheme.cpp | 22 +++++++++++----------- lib/qtermwidget.cpp | 10 +++++----- lib/tools.cpp | 4 ++-- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/lib/ColorScheme.cpp b/lib/ColorScheme.cpp index aebb638..d85c52c 100644 --- a/lib/ColorScheme.cpp +++ b/lib/ColorScheme.cpp @@ -594,7 +594,7 @@ ColorSchemeManager::~ColorSchemeManager() } void ColorSchemeManager::loadAllColorSchemes() { - qDebug() << "loadAllColorSchemes"; + //qDebug() << "loadAllColorSchemes"; int failed = 0; QList nativeColorSchemes = listColorSchemes(); @@ -613,8 +613,8 @@ void ColorSchemeManager::loadAllColorSchemes() failed++; } - if ( failed > 0 ) - qDebug() << "failed to load " << failed << " color schemes."; + /*if ( failed > 0 ) + qDebug() << "failed to load " << failed << " color schemes.";*/ _haveLoadedAll = true; } @@ -640,7 +640,7 @@ bool ColorSchemeManager::loadKDE3ColorScheme(const QString& filePath) if (scheme->name().isEmpty()) { - qDebug() << "color scheme name is not valid."; + //qDebug() << "color scheme name is not valid."; delete scheme; return false; } @@ -651,8 +651,8 @@ bool ColorSchemeManager::loadKDE3ColorScheme(const QString& filePath) _colorSchemes.insert(scheme->name(),scheme); else { - qDebug() << "color scheme with name" << scheme->name() << "has already been" << - "found, ignoring."; + /*qDebug() << "color scheme with name" << scheme->name() << "has already been" << + "found, ignoring.";*/ delete scheme; } @@ -701,7 +701,7 @@ bool ColorSchemeManager::loadColorScheme(const QString& filePath) if (scheme->name().isEmpty()) { - qDebug() << "Color scheme in" << filePath << "does not have a valid name and was not loaded."; + //qDebug() << "Color scheme in" << filePath << "does not have a valid name and was not loaded."; delete scheme; return false; } @@ -712,8 +712,8 @@ bool ColorSchemeManager::loadColorScheme(const QString& filePath) } else { - qDebug() << "color scheme with name" << schemeName << "has already been" << - "found, ignoring."; + /*qDebug() << "color scheme with name" << schemeName << "has already been" << + "found, ignoring.";*/ delete scheme; } @@ -777,7 +777,7 @@ bool ColorSchemeManager::deleteColorScheme(const QString& name) } else { - qDebug() << "Failed to remove color scheme -" << path; + //qDebug() << "Failed to remove color scheme -" << path; return false; } } @@ -819,7 +819,7 @@ const ColorScheme* ColorSchemeManager::findColorScheme(const QString& name) return findColorScheme(name); } - qDebug() << "Could not find color scheme - " << name; + //qDebug() << "Could not find color scheme - " << name; return nullptr; } diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index ea515ac..9a9c41d 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -164,8 +164,8 @@ void QTermWidget::search(bool forwards, bool next) m_impl->m_terminalDisplay->screenWindow()->screen()->getSelectionStart(startColumn, startLine); } - qDebug() << "current selection starts at: " << startColumn << startLine; - qDebug() << "current cursor position: " << m_impl->m_terminalDisplay->screenWindow()->cursorPosition(); + //qDebug() << "current selection starts at: " << startColumn << startLine; + //qDebug() << "current cursor position: " << m_impl->m_terminalDisplay->screenWindow()->cursorPosition(); QRegExp regExp(m_searchBar->searchText()); regExp.setPatternSyntax(m_searchBar->useRegularExpression() ? QRegExp::RegExp : QRegExp::FixedString); @@ -183,7 +183,7 @@ void QTermWidget::search(bool forwards, bool next) void QTermWidget::matchFound(int startColumn, int startLine, int endColumn, int endLine) { ScreenWindow* sw = m_impl->m_terminalDisplay->screenWindow(); - qDebug() << "Scroll to" << startLine; + //qDebug() << "Scroll to" << startLine; sw->scrollTo(startLine); sw->setTrackOutput(false); sw->notifyOutputChanged(); @@ -277,10 +277,10 @@ void QTermWidget::init(int startnow) m_translator = new QTranslator(this); for (const QString& dir : dirs) { - qDebug() << "Trying to load translation file from dir" << dir; + //qDebug() << "Trying to load translation file from dir" << dir; if (m_translator->load(QLocale::system(), QLatin1String("qtermwidget"), QLatin1String(QLatin1String("_")), dir)) { qApp->installTranslator(m_translator); - qDebug() << "Translations found in" << dir; + //qDebug() << "Translations found in" << dir; break; } } diff --git a/lib/tools.cpp b/lib/tools.cpp index 055bc30..105b730 100644 --- a/lib/tools.cpp +++ b/lib/tools.cpp @@ -17,7 +17,7 @@ QString get_kb_layout_dir() QString k(QLatin1String(KB_LAYOUT_DIR)); QDir d(k); - qDebug() << "default KB_LAYOUT_DIR: " << k; + //qDebug() << "default KB_LAYOUT_DIR: " << k; if (d.exists()) { @@ -35,7 +35,7 @@ QString get_kb_layout_dir() if (d.exists()) return QCoreApplication::applicationDirPath() + "/../Resources/kb-layouts/"; #endif - qDebug() << "Cannot find KB_LAYOUT_DIR. Default:" << k; + //qDebug() << "Cannot find KB_LAYOUT_DIR. Default:" << k; return QString(); } From 575064f1d15e63b136fe3b2f017cce1495a54f66 Mon Sep 17 00:00:00 2001 From: hmollercl Date: Thu, 24 Oct 2019 13:44:19 +0000 Subject: [PATCH 067/162] Added translation using Weblate (Mapudungun) --- lib/translations/qtermwidget_arn.ts | 125 ++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 lib/translations/qtermwidget_arn.ts diff --git a/lib/translations/qtermwidget_arn.ts b/lib/translations/qtermwidget_arn.ts new file mode 100644 index 0000000..17b4959 --- /dev/null +++ b/lib/translations/qtermwidget_arn.ts @@ -0,0 +1,125 @@ + + + + + Konsole::TerminalDisplay + + + Size: XXX x XXX + + + + + Size: %1 x %2 + + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> + + + + + Konsole::Vt102Emulation + + + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. + + + + + QObject + + + + Un-named Color Scheme + + + + + Accessible Color Scheme + + + + + Open Link + + + + + Copy Link Address + + + + + Send Email To... + + + + + Copy Email Address + + + + + QTermWidget + + + Color Scheme Error + + + + + Cannot load color scheme: %1 + + + + + SearchBar + + + Match case + + + + + Regular expression + + + + + Highlight all matches + + + + + SearchBar + + + + + X + + + + + Find: + + + + + < + + + + + > + + + + + ... + + + + From d4896ed1b626d118cac7586cd6fe5b03599f5433 Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Sun, 10 Nov 2019 01:04:22 +0000 Subject: [PATCH 068/162] Translated using Weblate (German) Currently translated at 100.0% (21 of 21 strings) Translation: LXQt/QTermWidget Translate-URL: https://weblate.lxqt.org/projects/lxqt/qtermwidget/de/ --- lib/translations/qtermwidget_de.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/translations/qtermwidget_de.ts b/lib/translations/qtermwidget_de.ts index 596db54..98a1867 100644 --- a/lib/translations/qtermwidget_de.ts +++ b/lib/translations/qtermwidget_de.ts @@ -16,7 +16,7 @@ <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> - <qt>Ausgabe wurde <a href="http://en.wikipedia.org/wiki/Flow_control">ausgesetzt</a> beim Drücken von Strg+S. Drücke <b>Strg+Q</b> um fortzufahren.</qt> + <qt>Druch drücken von Strg+S wurde die Ausgabe <a href="http://en.wikipedia.org/wiki/Flow_control">unterbrochen</a>. <b>Strg+Q</b> drücken um fortzufahren.</qt> @@ -24,7 +24,7 @@ No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. - Kein Tastaturinterpretierer verfügbar. Die benötigte Information, um Tastenbefehle in Zeichen umzuwandeln und anschließenfd zum Terminal zu schicken, fehlt. + Kein Tastaturinterpreter verfügbar. Die benötigte Information, um Tastenbefehle in Zeichen umzuwandeln und anschließenfd zum Terminal zu senden, fehlt. @@ -33,7 +33,7 @@ Un-named Color Scheme - Unbenanntes Farbschema + Nicht benanntes Farbschema @@ -48,7 +48,7 @@ Copy Link Address - Linkadresse kopieren + Link-Adresse kopieren @@ -66,7 +66,7 @@ Color Scheme Error - Farbschemafehler + Fehler im Farbschema From 17d1e4cb70df91e62bdef708a2475ca04257756f Mon Sep 17 00:00:00 2001 From: Masamichi Ito Date: Thu, 21 Nov 2019 09:39:25 +0000 Subject: [PATCH 069/162] Translated using Weblate (Japanese) Currently translated at 100.0% (21 of 21 strings) Translation: LXQt/QTermWidget Translate-URL: https://weblate.lxqt.org/projects/lxqt/qtermwidget/ja/ --- lib/translations/qtermwidget_ja.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/translations/qtermwidget_ja.ts b/lib/translations/qtermwidget_ja.ts index cf4c532..a75d29d 100644 --- a/lib/translations/qtermwidget_ja.ts +++ b/lib/translations/qtermwidget_ja.ts @@ -104,7 +104,7 @@ Find: - 検索する文字列: + 検索: From 0ad6fbfa8621a2563647a147c5596e0dae96c1f0 Mon Sep 17 00:00:00 2001 From: Vadim Zabermakh Date: Sat, 7 Sep 2019 23:57:21 +0300 Subject: [PATCH 070/162] Macro Q_WS_MAC renamed to Q_OS_MAC. Added QLatin1String in string concatenations on MacOS --- lib/tools.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/tools.cpp b/lib/tools.cpp index 105b730..6ba2168 100644 --- a/lib/tools.cpp +++ b/lib/tools.cpp @@ -30,10 +30,10 @@ QString get_kb_layout_dir() //qDebug() << d.path(); if (d.exists()) return QCoreApplication::applicationDirPath() + QLatin1String("/kb-layouts/"); -#ifdef Q_WS_MAC - d.setPath(QCoreApplication::applicationDirPath() + "/../Resources/kb-layouts/"); +#ifdef Q_OS_MAC + d.setPath(QCoreApplication::applicationDirPath() + QLatin1String("/../Resources/kb-layouts/")); if (d.exists()) - return QCoreApplication::applicationDirPath() + "/../Resources/kb-layouts/"; + return QCoreApplication::applicationDirPath() + QLatin1String("/../Resources/kb-layouts/"); #endif //qDebug() << "Cannot find KB_LAYOUT_DIR. Default:" << k; return QString(); @@ -76,13 +76,13 @@ const QStringList get_color_schemes_dirs() rval.clear(); rval << (QCoreApplication::applicationDirPath() + QLatin1String("/color-schemes/")); } -#ifdef Q_WS_MAC - d.setPath(QCoreApplication::applicationDirPath() + "/../Resources/color-schemes/"); +#ifdef Q_OS_MAC + d.setPath(QCoreApplication::applicationDirPath() + QLatin1String("/../Resources/color-schemes/")); if (d.exists()) { if (!rval.isEmpty()) rval.clear(); - rval << (QCoreApplication::applicationDirPath() + "/../Resources/color-schemes/"); + rval << (QCoreApplication::applicationDirPath() + QLatin1String("/../Resources/color-schemes/")); } #endif for (const QString& custom_dir : const_cast(custom_color_schemes_dirs)) From ccf9e69fd7a681957c310fc694b499658cbdebc3 Mon Sep 17 00:00:00 2001 From: Enol P Date: Sun, 24 Nov 2019 15:39:10 +0000 Subject: [PATCH 071/162] Added translation using Weblate (Asturian) --- lib/translations/qtermwidget_ast.ts | 125 ++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 lib/translations/qtermwidget_ast.ts diff --git a/lib/translations/qtermwidget_ast.ts b/lib/translations/qtermwidget_ast.ts new file mode 100644 index 0000000..5b23f64 --- /dev/null +++ b/lib/translations/qtermwidget_ast.ts @@ -0,0 +1,125 @@ + + + + + Konsole::TerminalDisplay + + + Size: XXX x XXX + + + + + Size: %1 x %2 + + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> + + + + + Konsole::Vt102Emulation + + + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. + + + + + QObject + + + + Un-named Color Scheme + + + + + Accessible Color Scheme + + + + + Open Link + + + + + Copy Link Address + + + + + Send Email To... + + + + + Copy Email Address + + + + + QTermWidget + + + Color Scheme Error + + + + + Cannot load color scheme: %1 + + + + + SearchBar + + + Match case + + + + + Regular expression + + + + + Highlight all matches + + + + + SearchBar + + + + + X + + + + + Find: + + + + + < + + + + + > + + + + + ... + + + + From 2c95b71d65c8346b2696bad031acc70325b73a47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Tue, 3 Dec 2019 21:05:23 +0000 Subject: [PATCH 072/162] Remove (duplicated) string casts definitions Already defined in LXQtCompilerSettings. --- CMakeLists.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 57a8c7d..d341c77 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -204,11 +204,6 @@ target_compile_definitions(${QTERMWIDGET_LIBRARY_NAME} "TRANSLATIONS_DIR=\"${TRANSLATIONS_DIR}\"" "HAVE_POSIX_OPENPT" "HAVE_SYS_TIME_H" - "QT_USE_QSTRINGBUILDER" - "QT_NO_CAST_FROM_ASCII" - "QT_NO_CAST_TO_ASCII" - "QT_NO_URL_CAST_FROM_STRING" - "QT_NO_CAST_FROM_BYTEARRAY" ) From 51bfdd6c0e3f0916d44f9bf88c7bb0345b6467d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Wed, 11 Dec 2019 17:01:04 +0000 Subject: [PATCH 073/162] Remove obsolete qCopy Use std::copy instead. --- lib/History.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/History.cpp b/lib/History.cpp index 33b72e7..73d59d4 100644 --- a/lib/History.cpp +++ b/lib/History.cpp @@ -22,6 +22,7 @@ #include "History.h" // System +#include #include #include #include @@ -313,7 +314,7 @@ void HistoryScrollBuffer::addCellsVector(const QVector& cells) void HistoryScrollBuffer::addCells(const Character a[], int count) { HistoryLine newLine(count); - qCopy(a,a+count,newLine.begin()); + std::copy(a,a+count,newLine.begin()); addCellsVector(newLine); } @@ -729,7 +730,7 @@ void CompactHistoryScroll::addCellsVector ( const TextLine& cells ) void CompactHistoryScroll::addCells ( const Character a[], int count ) { TextLine newLine ( count ); - qCopy ( a,a+count,newLine.begin() ); + std::copy ( a,a+count,newLine.begin() ); addCellsVector ( newLine ); } From 64ef5be97f5c2f6d866e34614270739647979517 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ruiz=20de=20Alegr=C3=ADa?= Date: Mon, 9 Dec 2019 16:01:55 +0100 Subject: [PATCH 074/162] Fix SearchBar light text over white background with dark themes --- lib/SearchBar.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/SearchBar.cpp b/lib/SearchBar.cpp index 8e04253..e195e6a 100644 --- a/lib/SearchBar.cpp +++ b/lib/SearchBar.cpp @@ -113,8 +113,6 @@ void SearchBar::keyReleaseEvent(QKeyEvent* keyEvent) void SearchBar::clearBackgroundColor() { - QPalette p; - p.setColor(QPalette::Base, Qt::white); - widget.searchTextEdit->setPalette(p); + widget.searchTextEdit->setPalette(QWidget::window()->palette()); } From e64beb46211ad3935e9e8a5abb1263a06300c199 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81cs=20Zolt=C3=A1n?= Date: Sat, 11 Jan 2020 21:10:25 +0000 Subject: [PATCH 075/162] Translated using Weblate (Hungarian) Currently translated at 100.0% (21 of 21 strings) Translation: LXQt/QTermWidget Translate-URL: https://weblate.lxqt.org/projects/lxqt/qtermwidget/hu/ --- lib/translations/qtermwidget_hu.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/translations/qtermwidget_hu.ts b/lib/translations/qtermwidget_hu.ts index 95932a4..e7f5fd0 100644 --- a/lib/translations/qtermwidget_hu.ts +++ b/lib/translations/qtermwidget_hu.ts @@ -53,12 +53,12 @@ Send Email To... - Email küldés ... + Email küldése ... Copy Email Address - Email cím másolás + Email cím másolása @@ -84,7 +84,7 @@ Regular expression - Szaabályos kifejezés + Szabályos kifejezés @@ -104,7 +104,7 @@ Find: - Keres: + Keresés: From 887efa8151eab8aabcf1eec0547eba2e8c6e5fe7 Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Sat, 18 Jan 2020 23:04:43 +0800 Subject: [PATCH 076/162] pyqt: also check for sip 5.x path See: https://www.archlinux.org/packages/extra/x86_64/python-pyqt5/files/ --- pyqt/cmake/FindPyQt5.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/pyqt/cmake/FindPyQt5.py b/pyqt/cmake/FindPyQt5.py index 318b9a3..3f0e99c 100644 --- a/pyqt/cmake/FindPyQt5.py +++ b/pyqt/cmake/FindPyQt5.py @@ -5,6 +5,7 @@ import PyQt5.Qt import sys import os.path +import site print("pyqt_version:%06.0x" % PyQt5.Qt.PYQT_VERSION) print("pyqt_version_str:%s" % PyQt5.Qt.PYQT_VERSION_STR) @@ -21,8 +22,18 @@ for item in PyQt5.Qt.PYQT_CONFIGURATION["sip_flags"].split(' '): in_t = False print("pyqt_version_tag:%s" % pyqt_version_tag) -# FIXME This next line is just a little bit too crude. -pyqt_sip_dir = os.path.join(sys.prefix, "share", "sip", "PyQt5") +# FIXME Is there a way to query the path from sip instead of hardcoding it? +candidates = [ + os.path.join(site.getsitepackages()[0], "PyQt5", "bindings"), # sip 5.x + os.path.join(sys.prefix, "share", "sip", "PyQt5"), # sip 4.x +] +try: + pyqt_sip_dir = next( + p for p in candidates + if os.path.exists(os.path.join(p, "QtCore", "QtCoremod.sip")) + ) +except StopIteration: + raise RuntimeError("Cannot find QtCore/QtCoremod.sip from candidates: " + repr(candidates)) print("pyqt_sip_dir:%s" % pyqt_sip_dir) print("pyqt_sip_flags:%s" % PyQt5.Qt.PYQT_CONFIGURATION["sip_flags"]) From ae71042e0d3b352c5cbf34b9ab635aea717de4df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Tue, 14 Jan 2020 19:02:06 +0000 Subject: [PATCH 077/162] Prevent a c++11 range-loop might detach Qt container Just make it const. --- lib/ColorScheme.cpp | 4 ++-- lib/qtermwidget.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/ColorScheme.cpp b/lib/ColorScheme.cpp index d85c52c..2ccb29a 100644 --- a/lib/ColorScheme.cpp +++ b/lib/ColorScheme.cpp @@ -730,7 +730,7 @@ QList ColorSchemeManager::listKDE3ColorSchemes() QStringList filters; filters << QLatin1String("*.schema"); dir.setNameFilters(filters); - QStringList list = dir.entryList(filters); + const QStringList list = dir.entryList(filters); for (const QString &i : list) ret << dname + QLatin1Char('/') + i; } @@ -750,7 +750,7 @@ QList ColorSchemeManager::listColorSchemes() QStringList filters; filters << QLatin1String("*.colorscheme"); dir.setNameFilters(filters); - QStringList list = dir.entryList(filters); + const QStringList list = dir.entryList(filters); for (const QString &i : list) ret << dname + QLatin1Char('/') + i; } diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index 9a9c41d..e88891e 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -276,7 +276,7 @@ void QTermWidget::init(int startnow) m_translator = new QTranslator(this); - for (const QString& dir : dirs) { + for (const QString& dir : qAsConst(dirs)) { //qDebug() << "Trying to load translation file from dir" << dir; if (m_translator->load(QLocale::system(), QLatin1String("qtermwidget"), QLatin1String(QLatin1String("_")), dir)) { qApp->installTranslator(m_translator); From 911ae03ccfd532f8fc242547c8859667f83bae41 Mon Sep 17 00:00:00 2001 From: Alf Gaida Date: Sat, 18 Jan 2020 23:33:11 +0100 Subject: [PATCH 078/162] Updating runtime dependency in README.md We have 5.7.1 as minimum in CMakeLists.txt --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 95e8174..1a373b3 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ License: public-domain ### Compiling sources -The only runtime dependency is qtbase ≥ 5.6. +The only runtime dependency is qtbase ≥ 5.7.1. In order to build CMake ≥ 3.0.2 and [lxqt-build-tools](https://github.com/lxqt/lxqt-build-tools/) >= 0.4.0 are needed as well as Git to pull translations and optionally latest VCS checkouts. Code configuration is handled by CMake. CMake variable `CMAKE_INSTALL_PREFIX` will normally have to be set to `/usr`, depending on the way library paths are dealt with on 64bit systems variables like `CMAKE_INSTALL_LIBDIR` may have to be set as well. From 59ac023f60e337cefe3f618a525337e8f2194f6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Wed, 22 Jan 2020 22:47:49 +0000 Subject: [PATCH 079/162] Drop deprecated QString::sprintf() Made obsolete in Qt5.14. --- lib/Session.cpp | 18 ++++++++---------- lib/kpty.cpp | 4 ++-- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/lib/Session.cpp b/lib/Session.cpp index 3077a24..b7bd03e 100644 --- a/lib/Session.cpp +++ b/lib/Session.cpp @@ -451,10 +451,7 @@ void Session::monitorTimerDone() void Session::activityStateSet(int state) { if (state==NOTIFYBELL) { - QString s; - s.sprintf("Bell in session '%s'",_nameTitle.toUtf8().data()); - - emit bellRequest( s ); + emit bellRequest(tr("Bell in session '%1'").arg(_nameTitle)); } else if (state==NOTIFYACTIVITY) { if (_monitorSilence) { _monitorTimer->start(_silenceSeconds*1000); @@ -598,21 +595,22 @@ void Session::done(int exitStatus) return; } + // message is not being used. But in the original kpty.cpp file + // (https://cgit.kde.org/kpty.git/) it's part of a notification. + // So, we make it translatable, hoping that in the future it will + // be used in some kind of notification. QString message; if (!_wantedClose || exitStatus != 0) { if (_shellProcess->exitStatus() == QProcess::NormalExit) { - message.sprintf("Session '%s' exited with status %d.", - _nameTitle.toUtf8().data(), exitStatus); + message = tr("Session '%1' exited with status %2.").arg(_nameTitle).arg(exitStatus); } else { - message.sprintf("Session '%s' crashed.", - _nameTitle.toUtf8().data()); + message = tr("Session '%1' crashed.").arg(_nameTitle); } } if ( !_wantedClose && _shellProcess->exitStatus() != QProcess::NormalExit ) - message.sprintf("Session '%s' exited unexpectedly.", - _nameTitle.toUtf8().data()); + message = tr("Session '%1' exited unexpectedly.").arg(_nameTitle); else emit finished(); diff --git a/lib/kpty.cpp b/lib/kpty.cpp index 4bf81c5..9efd3dd 100644 --- a/lib/kpty.cpp +++ b/lib/kpty.cpp @@ -279,8 +279,8 @@ bool KPty::open() // Linux device names, FIXME: Trouble on other systems? for (const char * s3 = "pqrstuvwxyzabcde"; *s3; s3++) { for (const char * s4 = "0123456789abcdef"; *s4; s4++) { - ptyName = QString().sprintf("/dev/pty%c%c", *s3, *s4).toUtf8(); - d->ttyName = QString().sprintf("/dev/tty%c%c", *s3, *s4).toUtf8(); + ptyName = QByteArrayLiteral("/dev/pty") + *s3 + *s4; + d->ttyName = QByteArrayLiteral("/dev/tty") + *s3 + *s4; d->masterFd = ::open(ptyName.data(), O_RDWR); if (d->masterFd >= 0) { From ab81290ea79bd466948061216baf52563a4f993b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Thu, 23 Jan 2020 23:19:16 +0000 Subject: [PATCH 080/162] Avoid buffer overflows exploits sprintf() perform unbounded operations. It allows a buffer overflow exploit. --- lib/Vt102Emulation.cpp | 16 ++++++++++++---- lib/kpty.cpp | 8 ++++++-- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/lib/Vt102Emulation.cpp b/lib/Vt102Emulation.cpp index f8ed523..be97f1d 100644 --- a/lib/Vt102Emulation.cpp +++ b/lib/Vt102Emulation.cpp @@ -870,8 +870,12 @@ void Vt102Emulation::sendString(const char* s , int length) void Vt102Emulation::reportCursorPosition() { - char tmp[20]; - sprintf(tmp,"\033[%d;%dR",_currentScreen->getCursorY()+1,_currentScreen->getCursorX()+1); + const size_t sz = 20; + char tmp[sz]; + const size_t r = snprintf(tmp, sz, "\033[%d;%dR",_currentScreen->getCursorY()+1,_currentScreen->getCursorX()+1); + if (sz <= r) { + qWarning("Vt102Emulation::reportCursorPosition: Buffer too small\n"); + } sendString(tmp); } @@ -901,8 +905,12 @@ void Vt102Emulation::reportSecondaryAttributes() void Vt102Emulation::reportTerminalParms(int p) // DECREPTPARM { - char tmp[100]; - sprintf(tmp,"\033[%d;1;1;112;112;1;0x",p); // not really true. + const size_t sz = 100; + char tmp[sz]; + const size_t r = snprintf(tmp, sz, "\033[%d;1;1;112;112;1;0x",p); // not really true. + if (sz <= r) { + qWarning("Vt102Emulation::reportTerminalParms: Buffer too small\n"); + } sendString(tmp); } diff --git a/lib/kpty.cpp b/lib/kpty.cpp index 9efd3dd..c3338f5 100644 --- a/lib/kpty.cpp +++ b/lib/kpty.cpp @@ -393,8 +393,12 @@ bool KPty::open(int fd) # else int ptyno; if (!ioctl(fd, TIOCGPTN, &ptyno)) { - char buf[32]; - sprintf(buf, "/dev/pts/%d", ptyno); + const size_t sz = 32; + char buf[sz]; + const size_t r = snprintf(buf, sz, "/dev/pts/%d", ptyno); + if (sz <= r) { + qWarning("KPty::open: Buffer too small\n"); + } d->ttyName = buf; # endif } else { From 82a919fe208424abc68cd41e903d4df05fa807f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Pawe=C5=82=20Gajc?= Date: Tue, 10 Mar 2020 11:14:37 +0100 Subject: [PATCH 081/162] Fix build with LLVM/clang Fix error: /usr/bin/clang++ -DCOLORSCHEMES_DIR=\"/usr/share/qtermwidget5/color-schemes\" -DHAVE_POSIX_OPENPT -DHAVE_SYS_TIME_H -DHAVE_UPDWTMPX -DKB_LAYOUT_DIR=\"/usr/share/qtermwidget5/kb-layouts\" -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_FOREACH -DQT_NO_URL_CAST_FROM_STRING -DQT_USE_QSTRINGBUILDER -DQT_WIDGETS_LIB -DTRANSLATIONS_DIR=\"/usr/share/qtermwidget5/translations\" -Dqtermwidget5_EXPORTS -I/builddir/build/BUILD/qtermwidget-0.14.1/build -I/builddir/build/BUILD/qtermwidget-0.14.1 -I/builddir/build/BUILD/qtermwidget-0.14.1/lib -I/builddir/build/BUILD/qtermwidget-0.14.1/build/lib -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/./mkspecs/linux-clang -Os -fomit-frame-pointer -g1 -Wstrict-aliasing=2 -pipe -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -m64 -mtune=generic -flto -fno-exceptions -Wall -Wextra -Wchar-subscripts -Wno-long-long -Wpointer-arith -Wundef -Wformat-security -Wnon-virtual-dtor -Woverloaded-virtual -Wpedantic -Wno-gnu-zero-variadic-macro-arguments -Os -fomit-frame-pointer -g1 -Wstrict-aliasing=2 -pipe -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -m64 -mtune=generic -flto -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++14 -o CMakeFiles/qtermwidget5.dir/lib/TerminalCharacterDecoder.cpp.o -c /builddir/build/BUILD/qtermwidget-0.14.1/lib/TerminalCharacterDecoder.cpp make[2]: Leaving directory '/builddir/build/BUILD/qtermwidget-0.14.1/build' BUILDSTDERR: /builddir/build/BUILD/qtermwidget-0.14.1/lib/TerminalCharacterDecoder.cpp:205:18: error: no member named 'iswspace' in namespace 'std'; did you mean 'isspace'? BUILDSTDERR: if (std::iswspace(ch)) BUILDSTDERR: ~~~~~^~~~~~~~ BUILDSTDERR: isspace BUILDSTDERR: /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/10.0.0/../../../../include/c++/10.0.0/cctype:72:11: note: 'isspace' declared here BUILDSTDERR: using ::isspace; BUILDSTDERR: ^ BUILDSTDERR: 1 error generated. BUILDSTDERR: make[2]: *** [CMakeFiles/qtermwidget5.dir/build.make:442: CMakeFiles/qtermwidget5.dir/lib/TerminalCharacterDecoder.cpp.o] Error 1 BUILDSTDERR: make[2]: *** Waiting for unfinished jobs.... --- lib/TerminalCharacterDecoder.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/TerminalCharacterDecoder.cpp b/lib/TerminalCharacterDecoder.cpp index 92e8293..5c127dd 100644 --- a/lib/TerminalCharacterDecoder.cpp +++ b/lib/TerminalCharacterDecoder.cpp @@ -31,6 +31,8 @@ // Konsole #include "konsole_wcwidth.h" +#include + using namespace Konsole; PlainTextDecoder::PlainTextDecoder() : _output(nullptr) From 11c706d3ad7807d5a85ec906f75b9ad2007cd535 Mon Sep 17 00:00:00 2001 From: Paul Galbraith Date: Sun, 15 Mar 2020 22:03:59 -0400 Subject: [PATCH 082/162] rename BlockSize macro to avoid conflict with windows.h (#327) * rename BlockSize macro to avoid conflict with windows.h * refactor LXQT_BlockSize -> QTERMWIDGET_BlockSize * refactor again for all caps QTERMWIDGET_BLOCKSIZE --- lib/BlockArray.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/BlockArray.h b/lib/BlockArray.h index 4fee623..52b531a 100644 --- a/lib/BlockArray.h +++ b/lib/BlockArray.h @@ -27,8 +27,8 @@ //#error Do not use in KDE 2.1 -#define BlockSize (1 << 12) -#define ENTRIES ((BlockSize - sizeof(size_t) ) / sizeof(unsigned char)) +#define QTERMWIDGET_BLOCKSIZE (1 << 12) +#define ENTRIES ((QTERMWIDGET_BLOCKSIZE - sizeof(size_t) ) / sizeof(unsigned char)) namespace Konsole { From 6927304ac99a78491e76635e6f384619a67a1055 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Wed, 1 Apr 2020 19:33:45 +0100 Subject: [PATCH 083/162] Explicitly mark exported classes Replace EXPORT_MACRO_NAME by BASE_NAME. It serves all macros, not only the EXPORT ones. --- CMakeLists.txt | 2 +- lib/Emulation.h | 6 ++---- lib/Filter.h | 13 +++++++------ 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d341c77..9126db3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -209,7 +209,7 @@ target_compile_definitions(${QTERMWIDGET_LIBRARY_NAME} generate_export_header(${QTERMWIDGET_LIBRARY_NAME} EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/lib/qtermwidget_export.h" - EXPORT_MACRO_NAME QTERMWIDGET_EXPORT + BASE_NAME QTERMWIDGET ) target_include_directories(${QTERMWIDGET_LIBRARY_NAME} diff --git a/lib/Emulation.h b/lib/Emulation.h index cc0c668..10aad66 100644 --- a/lib/Emulation.h +++ b/lib/Emulation.h @@ -33,9 +33,7 @@ #include #include -// Konsole -//#include "konsole_export.h" -#define KONSOLEPRIVATE_EXPORT +#include "qtermwidget_export.h" namespace Konsole { @@ -120,7 +118,7 @@ enum * how long the emulation has been active/idle for and also respond to * a 'bell' event in different ways. */ -class KONSOLEPRIVATE_EXPORT Emulation : public QObject +class QTERMWIDGET_EXPORT Emulation : public QObject { Q_OBJECT diff --git a/lib/Filter.h b/lib/Filter.h index 8566a51..5da1242 100644 --- a/lib/Filter.h +++ b/lib/Filter.h @@ -29,6 +29,7 @@ #include // Local +#include "qtermwidget_export.h" namespace Konsole { @@ -54,7 +55,7 @@ class Character; * When processing the text they should create instances of Filter::HotSpot subclasses for sections of interest * and add them to the filter's list of hotspots using addHotSpot() */ -class Filter : public QObject +class QTERMWIDGET_EXPORT Filter : public QObject { public: /** @@ -183,7 +184,7 @@ private: * Subclasses can reimplement newHotSpot() to return custom hotspot types when matches for the regular expression * are found. */ -class RegExpFilter : public Filter +class QTERMWIDGET_EXPORT RegExpFilter : public Filter { public: /** @@ -240,7 +241,7 @@ private: class FilterObject; /** A filter which matches URLs in blocks of text */ -class UrlFilter : public RegExpFilter +class QTERMWIDGET_EXPORT UrlFilter : public RegExpFilter { Q_OBJECT public: @@ -292,7 +293,7 @@ signals: void activated(const QUrl& url, bool fromContextMenu); }; -class FilterObject : public QObject +class QTERMWIDGET_NO_EXPORT FilterObject : public QObject { Q_OBJECT public: @@ -324,7 +325,7 @@ signals: * The hotSpots() and hotSpotsAtLine() method return all of the hotspots in the text and on * a given line respectively. */ -class FilterChain : protected QList +class QTERMWIDGET_EXPORT FilterChain : protected QList { public: virtual ~FilterChain(); @@ -358,7 +359,7 @@ public: }; /** A filter chain which processes character images from terminal displays */ -class TerminalImageFilterChain : public FilterChain +class QTERMWIDGET_NO_EXPORT TerminalImageFilterChain : public FilterChain { public: TerminalImageFilterChain(); From e7feed379f10d936b79b1e262a6bfbec72da781f Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Thu, 2 Apr 2020 11:38:20 +0800 Subject: [PATCH 084/162] Fix QCharRef deprecated behavior (closes #323) Inspired by https://github.com/KDE/konsole/commit/324d78c07fc4fe2cdb2219a9e042a969df73d39c --- lib/Vt102Emulation.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/Vt102Emulation.cpp b/lib/Vt102Emulation.cpp index be97f1d..4754dfd 100644 --- a/lib/Vt102Emulation.cpp +++ b/lib/Vt102Emulation.cpp @@ -413,10 +413,10 @@ void Vt102Emulation::processWindowAttributeChange() return; } - QString newValue; - newValue.reserve(tokenBufferPos-i-2); - for (int j = 0; j < tokenBufferPos-i-2; j++) - newValue[j] = tokenBuffer[i+1+j]; + // copy from the first char after ';', and skipping the ending delimiter + // 0x07 or 0x92. Note that as control characters in OSC text parts are + // ignored, only the second char in ST ("\e\\") is appended to tokenBuffer. + QString newValue = QString::fromWCharArray(tokenBuffer + i + 1, tokenBufferPos-i-2); _pendingTitleUpdates[attributeToChange] = newValue; _titleUpdateTimer->start(20); From 1cd6011fc338bd3a95c8568ee14f6e8554875ff2 Mon Sep 17 00:00:00 2001 From: eltonfabricio10 Date: Thu, 19 Mar 2020 20:34:06 +0000 Subject: [PATCH 085/162] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (21 of 21 strings) Translation: LXQt/QTermWidget Translate-URL: https://weblate.lxqt.org/projects/lxqt/qtermwidget/pt_BR/ --- lib/translations/qtermwidget_pt_BR.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/translations/qtermwidget_pt_BR.ts b/lib/translations/qtermwidget_pt_BR.ts index d94d6a0..730851d 100644 --- a/lib/translations/qtermwidget_pt_BR.ts +++ b/lib/translations/qtermwidget_pt_BR.ts @@ -16,7 +16,7 @@ <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> - <qt>A saída foi <a href="http://en.wikipedia.org/wiki/Flow_control">suspensa</a> pressionando Ctrl+S. Precione <b>Ctrl+Q</b> para continuar.</qt> + <qt>A saída foi <a href="http://en.wikipedia.org/wiki/Flow_control">suspensa</a> pressionando Ctrl+S. Pressione <b>Ctrl+Q</b> para continuar.</qt> From d0a1fd39b9e3f2f65eab41a9416d834d71a6daff Mon Sep 17 00:00:00 2001 From: "David H. Gutteridge" Date: Wed, 22 Apr 2020 21:52:55 -0400 Subject: [PATCH 086/162] Another NetBSD build fix Add a HAVE_OPENPTY definition, and move NetBSD definitions into their own block, for clarity. --- lib/kpty.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/kpty.cpp b/lib/kpty.cpp index c3338f5..650ead8 100644 --- a/lib/kpty.cpp +++ b/lib/kpty.cpp @@ -32,11 +32,17 @@ #define HAVE_LIBUTIL_H #endif -#if defined(__OpenBSD__) || defined(__NetBSD__) +#if defined(__OpenBSD__) #define HAVE_LOGIN #define HAVE_UTIL_H #endif +#if defined(__NetBSD__) +#define HAVE_LOGIN +#define HAVE_UTIL_H +#define HAVE_OPENPTY +#endif + #if defined(__APPLE__) #define HAVE_OPENPTY #define HAVE_UTIL_H From b025013706483daaa073ff3dc7a137f5f04258d5 Mon Sep 17 00:00:00 2001 From: Axel Kittenberger Date: Fri, 24 Apr 2020 03:48:08 +0200 Subject: [PATCH 087/162] version defines (#333) * version defines * version defines * version defines --- CMakeLists.txt | 8 +++++++- lib/qtermwidget.h | 1 + lib/qtermwidget_version.h.in | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 lib/qtermwidget_version.h.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 9126db3..dd4c3df 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -240,7 +240,7 @@ install(EXPORT ) install(FILES - ${HDRS_DISTRIB} "${CMAKE_CURRENT_BINARY_DIR}/lib/qtermwidget_export.h" + ${HDRS_DISTRIB} "${CMAKE_CURRENT_BINARY_DIR}/lib/qtermwidget_export.h" "${CMAKE_CURRENT_BINARY_DIR}/lib/qtermwidget_version.h" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${QTERMWIDGET_LIBRARY_NAME}" COMPONENT Devel ) @@ -277,6 +277,12 @@ configure_file( @ONLY ) +configure_file( + "${PROJECT_SOURCE_DIR}/lib/qtermwidget_version.h.in" + "${CMAKE_BINARY_DIR}/lib/qtermwidget_version.h" + @ONLY +) + install(FILES "${CMAKE_BINARY_DIR}/${QTERMWIDGET_LIBRARY_NAME}-config.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${QTERMWIDGET_LIBRARY_NAME}" diff --git a/lib/qtermwidget.h b/lib/qtermwidget.h index 80e5609..b014a71 100644 --- a/lib/qtermwidget.h +++ b/lib/qtermwidget.h @@ -25,6 +25,7 @@ #include "Emulation.h" #include "Filter.h" #include "qtermwidget_export.h" +#include "qtermwidget_version.h" class QVBoxLayout; class TermWidgetImpl; diff --git a/lib/qtermwidget_version.h.in b/lib/qtermwidget_version.h.in new file mode 100644 index 0000000..00e2a74 --- /dev/null +++ b/lib/qtermwidget_version.h.in @@ -0,0 +1,33 @@ +/* Copyright (C) 2020 Axel Kittenberger (axel.kittenberger@univie.ac.at) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + + +#ifndef _Q_TERM_WIDGET_VERSION +#define _Q_TERM_WIDGET_VERSION + +#include +#define QTERMWIDGET_VERSION_MAJOR @QTERMWIDGET_VERSION_MAJOR@ +#define QTERMWIDGET_VERSION_MINOR @QTERMWIDGET_VERSION_MINOR@ +#define QTERMWIDGET_VERSION_PATCH @QTERMWIDGET_VERSION_PATCH@ +#define QTERMWIDGET_VERSION QT_VERSION_CHECK(\ + QTERMWIDGET_VERSION_MAJOR,\ + QTERMWIDGET_VERSION_MINOR,\ + QTERMWIDGET_VERSION_PATCH) + +#endif + From d0905777507d01c7aec8bad4d0f92271463547bb Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Fri, 24 Apr 2020 09:49:09 +0800 Subject: [PATCH 088/162] Correctly initialize sigsets (closes #334) (#336) --- lib/Pty.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/Pty.cpp b/lib/Pty.cpp index ca0dbd4..821517a 100644 --- a/lib/Pty.cpp +++ b/lib/Pty.cpp @@ -329,6 +329,7 @@ void Pty::setupChildProcess() struct sigaction action; sigset_t sigset; sigemptyset(&action.sa_mask); + sigemptyset(&sigset); action.sa_handler = SIG_DFL; action.sa_flags = 0; for (int signal=1;signal < NSIG; signal++) { From 4ba3e8acfa0ab3f5227ffabaaefd77cd230120f9 Mon Sep 17 00:00:00 2001 From: Tsu Jan Date: Fri, 24 Apr 2020 07:26:18 +0430 Subject: [PATCH 089/162] Pre-release changes --- CHANGELOG | 45 ++++++++++++++++++++++++++++++++++++++++++--- CMakeLists.txt | 8 ++++---- 2 files changed, 46 insertions(+), 7 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 3185646..b949906 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,42 @@ +qtermwidget-0.15.0 / 2020-04-24 +=============================== + + * Bumped version to 0.15.0. + * Replaced Q_WS_MAC with Q_OS_MACOS for Qt5 compatibility. + * KPty: Don't conditionalize chownpty existence on HAVE_OPENPTY. + * cmake: set CMAKE_BUILD_WITH_INSTALL_NAME_DIR ON for macOS. + * Fixed the default font on macOS. + * pyqt: Fixes deprecation warning (CMP0002). + * Fixed the PyQt5 binding with Qt ≥ 5.11. + * Swap Qt's ControlModifier and MetaModifier on macOS. + * C++11 code updates. + * Use braced initializer list in returns. + * Fixed the memory access violation in TerminalDisplay's method `getCharacterPosition`. + * Completed the support for transient scrollbars. + * Added `saveHistory` to QTermWidget. + * Use vanilla Qt instead of patched one. + * Don't set the selection clipboard if it's unsupported. + * Announce truecolor support via COLORTERM. + * Fixed numpad handling and added entries for numpad 5. + * Allow to disable drawing line chars. + * Use QRectF for cursor drawing and fix artifacts in hidpi. + * Fixed compilation on NetBSD. + * Added sendKeyEvent() API. + * Fixed flickering on font change. + * Select all text when opening search bar. + * Removed some debug outputs. + * Removed (duplicated) string casts definitions. + * Removed obsolete qCopy. + * Fix SearchBar light text over white background with dark themes. + * pyqt: also check for sip 5.x path. + * Prevented a c++11 range-loop might detach Qt container. + * Dropped the deprecated QString method `sprintf()`. + * Avoid buffer overflows exploits. + * Fixed build with LLVM/clang. + * Explicitly mark exported classes. + * Fixed QCharRef's deprecated behavior. + * Correctly initialize sigsets. + qtermwidget-0.14.1 / 2019-02-25 =============================== @@ -16,7 +55,7 @@ qtermwidget-0.14.0 / 2019-01-25 - kpty: make it work on OpenBSD - kptyprocess: ensure .bash_history is correctly written out - kb-layouts: Make Backspace behaves the same as xterm - - tools: Drop the ability to bundle kb-layouts and colorschemes + - tools: Drop the ability to bundle kb-layouts and colorschemes - SearchBar: Fix visual glitches in search-bar - TerminalDisplay: Fixed link mouseover after recent changes - TerminalDisplay: Redraw cursor after cursor type changed @@ -24,9 +63,9 @@ qtermwidget-0.14.0 / 2019-01-25 - qterminal: Correct deleting of HotSpot list items - qterminal: Removed unnecessary checks - ColorScheme: Fixed local variable will be copied despite being returned by name - - ColorScheme: Fixed error return-std-move + - ColorScheme: Fixed error return-std-move - Removed unnecessary checks - - Suppressed compilation warnings + - Suppressed compilation warnings - Don't use automatic string conversions - Marked some functions const - Implemented terminal margins diff --git a/CMakeLists.txt b/CMakeLists.txt index dd4c3df..345be80 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,8 +21,8 @@ option(USE_UTF8PROC "Use libutf8proc for better Unicode support. Default OFF" OF # just change version for releases set(QTERMWIDGET_VERSION_MAJOR "0") -set(QTERMWIDGET_VERSION_MINOR "14") -set(QTERMWIDGET_VERSION_PATCH "1") +set(QTERMWIDGET_VERSION_MINOR "15") +set(QTERMWIDGET_VERSION_PATCH "0") set(QTERMWIDGET_VERSION "${QTERMWIDGET_VERSION_MAJOR}.${QTERMWIDGET_VERSION_MINOR}.${QTERMWIDGET_VERSION_PATCH}") @@ -31,8 +31,8 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake") set(CMAKE_INCLUDE_CURRENT_DIR ON) # Minimum Versions -set(QT_MINIMUM_VERSION "5.7.1") -set(LXQTBT_MINIMUM_VERSION "0.6.0") +set(QT_MINIMUM_VERSION "5.10.0") +set(LXQTBT_MINIMUM_VERSION "0.7.0") find_package(Qt5Widgets "${QT_MINIMUM_VERSION}" REQUIRED) find_package(Qt5LinguistTools "${QT_MINIMUM_VERSION}" REQUIRED) From 99619eaeac7c460be93ea78fef194fe853b9e91b Mon Sep 17 00:00:00 2001 From: milotype <43657314+milotype@users.noreply.github.com> Date: Mon, 4 May 2020 21:18:16 +0200 Subject: [PATCH 090/162] Release Croatian translation --- lib/translations/qtermwidget_hr.ts | 125 +++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 lib/translations/qtermwidget_hr.ts diff --git a/lib/translations/qtermwidget_hr.ts b/lib/translations/qtermwidget_hr.ts new file mode 100644 index 0000000..7b5eba8 --- /dev/null +++ b/lib/translations/qtermwidget_hr.ts @@ -0,0 +1,125 @@ + + + + + Konsole::TerminalDisplay + + + Size: XXX x XXX + Veličina: XXX × XXX + + + + Size: %1 x %2 + Veličina: %1 × %2 + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> + <qt>Rezultat je <a href="http://en.wikipedia.org/wiki/Flow_control">obustavljen</a> pritiskom Ctrl+S. Pritisni <b>Ctrl+Q</b> za nastavak.</qt> + + + + Konsole::Vt102Emulation + + + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. + Nema interpretera tipkovnice. Nedostaju podaci za pretvaranje tipki u znakove koji se šalju u terminal. + + + + QObject + + + + Un-named Color Scheme + Neimenovana shema boja + + + + Accessible Color Scheme + Dostupna shema boja + + + + Open Link + Otvori poveznicu + + + + Copy Link Address + Otvori adresu poveznice + + + + Send Email To... + Pošalji e-mail na … + + + + Copy Email Address + Kopiraj e-adresu + + + + QTermWidget + + + Color Scheme Error + Greška u shemi boja + + + + Cannot load color scheme: %1 + Nije moguće učitati shemu boja: %1 + + + + SearchBar + + + Match case + Razlikuj velika/mala slova + + + + Regular expression + Regularni izrazi + + + + Highlight all matches + Istakni sva poklapanja + + + + SearchBar + Traka pretrage + + + + X + X + + + + Find: + Traži: + + + + < + < + + + + > + > + + + + ... + + + + From 106a8966ee1b96817d6f8051a6ebf77f2024c5ba Mon Sep 17 00:00:00 2001 From: Ercan Ersoy Date: Fri, 15 May 2020 11:16:47 +0300 Subject: [PATCH 091/162] Update Turkish translations Signed-off-by: Ercan Ersoy --- lib/translations/qtermwidget_tr.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/translations/qtermwidget_tr.ts b/lib/translations/qtermwidget_tr.ts index 024fd82..59a1ce7 100644 --- a/lib/translations/qtermwidget_tr.ts +++ b/lib/translations/qtermwidget_tr.ts @@ -16,7 +16,7 @@ <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> - <qt>Çıktı <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> Ctrl+S basınız. <b>Ctrl+Q</b> bas devam etmek için.</qt> + <qt>Çıktı, Ctrl+S'ye basılarak <a href="http://en.wikipedia.org/wiki/Flow_control">durduruldu</a>. Sürdürmek için <b>Ctrl+Q</b>'a basınız.</qt> @@ -24,7 +24,7 @@ No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. - Hiçbir klavye çevirici yok. Tuş vuruşlarını karaktere dönüştürüp terminale göndermek için gereken bilgi eksik. + Hiçbir klavye çeviricisi yok. Tuş vuruşlarını karaktere dönüştürüp uçbirime göndermek için gereken bilgi eksik. @@ -33,7 +33,7 @@ Un-named Color Scheme - İsimsiz Renk Şeması + Adsız Renk Şeması @@ -53,7 +53,7 @@ Send Email To... - E-posta gönder... + E-posta Gönder... @@ -66,7 +66,7 @@ Color Scheme Error - Renk Şema Hatası + Renk Şeması Hatası @@ -79,7 +79,7 @@ Match case - Tam eşleştir + Büyük/küçük harf eşleştir From 60836291f6949e731158c7c4695f672cb4d87f7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Tue, 2 Jun 2020 15:53:51 +0000 Subject: [PATCH 092/162] Use qAsConst It's available now and much easier to read. --- lib/Emulation.cpp | 2 +- lib/tools.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Emulation.cpp b/lib/Emulation.cpp index 10efe44..5313c42 100644 --- a/lib/Emulation.cpp +++ b/lib/Emulation.cpp @@ -133,7 +133,7 @@ void Emulation::setScreen(int n) if (_currentScreen != old) { // tell all windows onto this emulation to switch to the newly active screen - for(ScreenWindow* window : const_cast&>(_windows)) + for(ScreenWindow* window : qAsConst(_windows)) window->setScreen(_currentScreen); } } diff --git a/lib/tools.cpp b/lib/tools.cpp index 6ba2168..a24ac86 100644 --- a/lib/tools.cpp +++ b/lib/tools.cpp @@ -85,7 +85,7 @@ const QStringList get_color_schemes_dirs() rval << (QCoreApplication::applicationDirPath() + QLatin1String("/../Resources/color-schemes/")); } #endif - for (const QString& custom_dir : const_cast(custom_color_schemes_dirs)) + for (const QString& custom_dir : qAsConst(custom_color_schemes_dirs)) { d.setPath(custom_dir); if (d.exists()) From f16e4495b472aab5adbff11be2c4e5390ad53507 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Wed, 3 Jun 2020 14:35:34 +0000 Subject: [PATCH 093/162] Don't search application dir for keyboard and scheme data QCoreApplication::applicationDirPath() is the right place to store application data. Exception is MacOs, where it can make sense. --- lib/tools.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/tools.cpp b/lib/tools.cpp index a24ac86..4729e8f 100644 --- a/lib/tools.cpp +++ b/lib/tools.cpp @@ -25,12 +25,13 @@ QString get_kb_layout_dir() return rval; } +#ifdef Q_OS_MAC // subdir in the app location d.setPath(QCoreApplication::applicationDirPath() + QLatin1String("/kb-layouts/")); //qDebug() << d.path(); if (d.exists()) return QCoreApplication::applicationDirPath() + QLatin1String("/kb-layouts/"); -#ifdef Q_OS_MAC + d.setPath(QCoreApplication::applicationDirPath() + QLatin1String("/../Resources/kb-layouts/")); if (d.exists()) return QCoreApplication::applicationDirPath() + QLatin1String("/../Resources/kb-layouts/"); @@ -67,6 +68,7 @@ const QStringList get_color_schemes_dirs() if (d.exists()) rval << k.append(QLatin1Char('/')); +#ifdef Q_OS_MAC // subdir in the app location d.setPath(QCoreApplication::applicationDirPath() + QLatin1String("/color-schemes/")); //qDebug() << d.path(); @@ -76,7 +78,6 @@ const QStringList get_color_schemes_dirs() rval.clear(); rval << (QCoreApplication::applicationDirPath() + QLatin1String("/color-schemes/")); } -#ifdef Q_OS_MAC d.setPath(QCoreApplication::applicationDirPath() + QLatin1String("/../Resources/color-schemes/")); if (d.exists()) { @@ -85,6 +86,7 @@ const QStringList get_color_schemes_dirs() rval << (QCoreApplication::applicationDirPath() + QLatin1String("/../Resources/color-schemes/")); } #endif + for (const QString& custom_dir : qAsConst(custom_color_schemes_dirs)) { d.setPath(custom_dir); From 6f72d9abadd246b8ec27be51c6d478a9bfa39b0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Tue, 9 Jun 2020 12:53:22 +0100 Subject: [PATCH 094/162] Fix calling signal without the emit keyword A signal should always be emitted using emit/Q_EMIT. --- lib/SearchBar.cpp | 4 ++-- lib/Vt102Emulation.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/SearchBar.cpp b/lib/SearchBar.cpp index e195e6a..1f69dcc 100644 --- a/lib/SearchBar.cpp +++ b/lib/SearchBar.cpp @@ -98,11 +98,11 @@ void SearchBar::keyReleaseEvent(QKeyEvent* keyEvent) { if (keyEvent->modifiers() == Qt::ShiftModifier) { - findPrevious(); + Q_EMIT findPrevious(); } else { - findNext(); + Q_EMIT findNext(); } } else if (keyEvent->key() == Qt::Key_Escape) diff --git a/lib/Vt102Emulation.cpp b/lib/Vt102Emulation.cpp index 4754dfd..3a97658 100644 --- a/lib/Vt102Emulation.cpp +++ b/lib/Vt102Emulation.cpp @@ -1104,7 +1104,7 @@ void Vt102Emulation::sendKeyEvent( QKeyEvent* event ) textToSend += _codec->fromUnicode(event->text()); } - sendData( textToSend.constData() , textToSend.length() ); + Q_EMIT sendData( textToSend.constData() , textToSend.length() ); } else { From 9c7bd6879e5f6528e414a92290d97ae69c9298bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Fri, 12 Jun 2020 18:50:39 +0100 Subject: [PATCH 095/162] Drop deprecated QLinkedList Use std::list. Code updated accordingly. --- lib/kptydevice.h | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/lib/kptydevice.h b/lib/kptydevice.h index a379af1..5040400 100644 --- a/lib/kptydevice.h +++ b/lib/kptydevice.h @@ -168,7 +168,7 @@ private: ///////////////////////////////////////////////////// #include -#include +#include #define CHUNKSIZE 4096 @@ -185,14 +185,14 @@ public: buffers.clear(); QByteArray tmp; tmp.resize(CHUNKSIZE); - buffers << tmp; + buffers.push_back(tmp); head = tail = 0; totalSize = 0; } inline bool isEmpty() const { - return buffers.count() == 1 && !tail; + return buffers.size() == 1 && !tail; } inline int size() const @@ -202,13 +202,13 @@ public: inline int readSize() const { - return (buffers.count() == 1 ? tail : buffers.first().size()) - head; + return (buffers.size() == 1 ? tail : buffers.front().size()) - head; } inline const char *readPointer() const { Q_ASSERT(totalSize > 0); - return buffers.first().constData() + head; + return buffers.front().constData() + head; } void free(int bytes) @@ -221,21 +221,21 @@ public: if (bytes < nbs) { head += bytes; - if (head == tail && buffers.count() == 1) { - buffers.first().resize(CHUNKSIZE); + if (head == tail && buffers.size() == 1) { + buffers.front().resize(CHUNKSIZE); head = tail = 0; } break; } bytes -= nbs; - if (buffers.count() == 1) { - buffers.first().resize(CHUNKSIZE); + if (buffers.size() == 1) { + buffers.front().resize(CHUNKSIZE); head = tail = 0; break; } - buffers.removeFirst(); + buffers.pop_front(); head = 0; } } @@ -245,15 +245,15 @@ public: totalSize += bytes; char *ptr; - if (tail + bytes <= buffers.last().size()) { - ptr = buffers.last().data() + tail; + if (tail + bytes <= buffers.back().size()) { + ptr = buffers.back().data() + tail; tail += bytes; } else { - buffers.last().resize(tail); + buffers.back().resize(tail); QByteArray tmp; tmp.resize(qMax(CHUNKSIZE, bytes)); ptr = tmp.data(); - buffers << tmp; + buffers.push_back(tmp); tail = bytes; } return ptr; @@ -278,7 +278,7 @@ public: { int index = 0; int start = head; - QLinkedList::ConstIterator it = buffers.constBegin(); + std::list::const_iterator it = buffers.cbegin(); forever { if (!maxLength) return index; @@ -286,7 +286,7 @@ public: return -1; const QByteArray &buf = *it; ++it; - int len = qMin((it == buffers.end() ? tail : buf.size()) - start, + int len = qMin((it == buffers.cend() ? tail : buf.size()) - start, maxLength); const char *ptr = buf.data() + start; if (const char *rptr = (const char *)memchr(ptr, c, len)) @@ -327,7 +327,7 @@ public: } private: - QLinkedList buffers; + std::list buffers; int head, tail; int totalSize; }; From 91c5c2a48d6f35a5dee4601ff468f4d04d3c12ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Mon, 15 Jun 2020 17:37:05 +0100 Subject: [PATCH 096/162] Don't use 0/nullptr to initialize QFlags It's deprecated. --- lib/Vt102Emulation.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Vt102Emulation.cpp b/lib/Vt102Emulation.cpp index 3a97658..4a84767 100644 --- a/lib/Vt102Emulation.cpp +++ b/lib/Vt102Emulation.cpp @@ -1349,8 +1349,8 @@ char Vt102Emulation::eraseChar() const { KeyboardTranslator::Entry entry = _keyTranslator->findEntry( Qt::Key_Backspace, - nullptr, - nullptr); + Qt::NoModifier, + KeyboardTranslator::NoState); if ( entry.text().count() > 0 ) return entry.text().at(0); else From 8eac739cbc4c6461efee7a8a347b9c8f5e75340b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thore=20B=C3=B6decker?= Date: Mon, 15 Jun 2020 20:59:55 +0200 Subject: [PATCH 097/162] Allow QTermWidget access to TerminalDisplay::setBoldIntense --- lib/qtermwidget.cpp | 5 +++++ lib/qtermwidget.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index e88891e..f7a8455 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -769,3 +769,8 @@ void QTermWidget::setDrawLineChars(bool drawLineChars) { m_impl->m_terminalDisplay->setDrawLineChars(drawLineChars); } + +void QTermWidget::setBoldIntense(bool boldIntense) +{ + m_impl->m_terminalDisplay->setBoldIntense(boldIntense); +} diff --git a/lib/qtermwidget.h b/lib/qtermwidget.h index b014a71..672e745 100644 --- a/lib/qtermwidget.h +++ b/lib/qtermwidget.h @@ -233,6 +233,8 @@ public: int getMargin() const; void setDrawLineChars(bool drawLineChars); + + void setBoldIntense(bool boldIntense); signals: void finished(); void copyAvailable(bool); From b30730b0e499bfbaddc69d692c54f0e6eae0dcf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Mon, 22 Jun 2020 15:31:22 +0100 Subject: [PATCH 098/162] Fix ColorEntry copy operator A copy operator should not return void. --- lib/CharacterColor.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/CharacterColor.h b/lib/CharacterColor.h index 737feea..19b180e 100644 --- a/lib/CharacterColor.h +++ b/lib/CharacterColor.h @@ -81,11 +81,12 @@ public: /** * Sets the color, transparency and boldness of this color to those of @p rhs. */ - void operator=(const ColorEntry& rhs) + ColorEntry& operator=(const ColorEntry& rhs) { color = rhs.color; transparent = rhs.transparent; fontWeight = rhs.fontWeight; + return *this; } /** The color value of this entry for display. */ From f04032e450293d2714f731212f2c99e30842c8e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Mon, 22 Jun 2020 13:31:54 +0100 Subject: [PATCH 099/162] Move initialization to the initialization list When the object of a class is created, the constructors of all member variables are called consecutively in the order the variables are declared, even if we don't explicitly write them to the initialization list. --- lib/ShellCommand.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/ShellCommand.cpp b/lib/ShellCommand.cpp index 5b86537..03afa45 100644 --- a/lib/ShellCommand.cpp +++ b/lib/ShellCommand.cpp @@ -59,9 +59,8 @@ ShellCommand::ShellCommand(const QString & fullCommand) } } ShellCommand::ShellCommand(const QString & command , const QStringList & arguments) + : _arguments(arguments) { - _arguments = arguments; - if ( !_arguments.isEmpty() ) { _arguments[0] = command; } From 96fc2dbd43e65b34c232ecfbe671383c81260848 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Mon, 22 Jun 2020 13:34:13 +0100 Subject: [PATCH 100/162] Initialize member variables It's always good practice. --- lib/History.cpp | 3 ++- lib/ScreenWindow.cpp | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/History.cpp b/lib/History.cpp index 73d59d4..b287290 100644 --- a/lib/History.cpp +++ b/lib/History.cpp @@ -90,7 +90,8 @@ FIXME: There is noticeable decrease in speed, also. Perhaps, HistoryFile::HistoryFile() : ion(-1), length(0), - fileMap(nullptr) + fileMap(nullptr), + readWriteBalance(0) { if (tmpFile.open()) { diff --git a/lib/ScreenWindow.cpp b/lib/ScreenWindow.cpp index d1ccfd9..c1187a6 100644 --- a/lib/ScreenWindow.cpp +++ b/lib/ScreenWindow.cpp @@ -30,6 +30,7 @@ using namespace Konsole; ScreenWindow::ScreenWindow(QObject* parent) : QObject(parent) + , _screen(nullptr) , _windowBuffer(nullptr) , _windowBufferSize(0) , _bufferNeedsUpdate(true) From 2df79b77bfa9a76c2d70fa5faec350d1d0131a37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Fri, 26 Jun 2020 16:17:34 +0100 Subject: [PATCH 101/162] Remove user declared copy assignment The implicit definition of a copy constructor as defaulted is deprecated if the class has a user-declared copy assignment operator or a user-declared destructor. In this case the user-declared copy assignment is equal to the default-generated. Deleting and just use the default generated seems the best option. --- lib/CharacterColor.h | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/lib/CharacterColor.h b/lib/CharacterColor.h index 19b180e..7ad8f5d 100644 --- a/lib/CharacterColor.h +++ b/lib/CharacterColor.h @@ -78,17 +78,6 @@ public: */ ColorEntry() : transparent(false), fontWeight(UseCurrentFormat) {} - /** - * Sets the color, transparency and boldness of this color to those of @p rhs. - */ - ColorEntry& operator=(const ColorEntry& rhs) - { - color = rhs.color; - transparent = rhs.transparent; - fontWeight = rhs.fontWeight; - return *this; - } - /** The color value of this entry for display. */ QColor color; From c797ccf97d3dc07ad60f0f3ea9208d508e835962 Mon Sep 17 00:00:00 2001 From: Yen Chi Hsuan Date: Tue, 29 Aug 2017 23:34:12 +0800 Subject: [PATCH 102/162] Handle keyboard commands properly It was hard-coded in TerminalDisplay.cpp - Shift+Up always results in ScrollLineUpCommand regardless of settings in *.keytab. Now those commands are correctly parsed by KeyboardTranslator. Fixes lxde/qterminal#348 This fix is similar to KDE/konsole@b88dfb402a8ba3afe317e4a0741bf999f84b68bc while I use signals and slots instead of introducing new pointers. That sounds more reliable :) --- CMakeLists.txt | 1 + lib/Emulation.cpp | 4 ++++ lib/Emulation.h | 4 +++- lib/ScreenWindow.cpp | 47 +++++++++++++++++++++++++++++++++++++++++ lib/ScreenWindow.h | 5 +++++ lib/TerminalDisplay.cpp | 45 +-------------------------------------- lib/Vt102Emulation.cpp | 5 ++++- 7 files changed, 65 insertions(+), 46 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 345be80..13009e1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -110,6 +110,7 @@ set(UI set(HDRS_DISTRIB lib/qtermwidget.h lib/Emulation.h + lib/KeyboardTranslator.h lib/Filter.h ) diff --git a/lib/Emulation.cpp b/lib/Emulation.cpp index 5313c42..e599b21 100644 --- a/lib/Emulation.cpp +++ b/lib/Emulation.cpp @@ -109,6 +109,10 @@ ScreenWindow* Emulation::createWindow() connect(this , SIGNAL(outputChanged()), window , SLOT(notifyOutputChanged()) ); + + connect(this, &Emulation::handleCommandFromKeyboard, + window, &ScreenWindow::handleCommandFromKeyboard); + return window; } diff --git a/lib/Emulation.h b/lib/Emulation.h index 10aad66..4bb6a97 100644 --- a/lib/Emulation.h +++ b/lib/Emulation.h @@ -34,11 +34,11 @@ #include #include "qtermwidget_export.h" +#include "KeyboardTranslator.h" namespace Konsole { -class KeyboardTranslator; class HistoryType; class Screen; class ScreenWindow; @@ -442,6 +442,8 @@ signals: */ void cursorChanged(KeyboardCursorShape cursorShape, bool blinkingCursorEnabled); + void handleCommandFromKeyboard(KeyboardTranslator::Command command); + protected: virtual void setMode(int mode) = 0; virtual void resetMode(int mode) = 0; diff --git a/lib/ScreenWindow.cpp b/lib/ScreenWindow.cpp index c1187a6..a6ce7c2 100644 --- a/lib/ScreenWindow.cpp +++ b/lib/ScreenWindow.cpp @@ -292,4 +292,51 @@ void ScreenWindow::notifyOutputChanged() emit outputChanged(); } +void ScreenWindow::handleCommandFromKeyboard(KeyboardTranslator::Command command) +{ + // Keyboard-based navigation + bool update = false; + + // EraseCommand is handled in Vt102Emulation + if ( command & KeyboardTranslator::ScrollPageUpCommand ) + { + scrollBy( ScreenWindow::ScrollPages , -1 ); + update = true; + } + if ( command & KeyboardTranslator::ScrollPageDownCommand ) + { + scrollBy( ScreenWindow::ScrollPages , 1 ); + update = true; + } + if ( command & KeyboardTranslator::ScrollLineUpCommand ) + { + scrollBy( ScreenWindow::ScrollLines , -1 ); + update = true; + } + if ( command & KeyboardTranslator::ScrollLineDownCommand ) + { + scrollBy( ScreenWindow::ScrollLines , 1 ); + update = true; + } + if ( command & KeyboardTranslator::ScrollDownToBottomCommand ) + { + Q_EMIT scrollToEnd(); + update = true; + } + if ( command & KeyboardTranslator::ScrollUpToTopCommand) + { + scrollTo(0); + update = true; + } + // TODO: KeyboardTranslator::ScrollLockCommand + // TODO: KeyboardTranslator::SendCommand + + if ( update ) + { + setTrackOutput( atEndOfOutput() ); + + Q_EMIT outputChanged(); + } +} + //#include "ScreenWindow.moc" diff --git a/lib/ScreenWindow.h b/lib/ScreenWindow.h index 79613d7..3a75c08 100644 --- a/lib/ScreenWindow.h +++ b/lib/ScreenWindow.h @@ -27,6 +27,7 @@ // Konsole #include "Character.h" +#include "KeyboardTranslator.h" namespace Konsole { @@ -223,6 +224,8 @@ public slots: */ void notifyOutputChanged(); + void handleCommandFromKeyboard(KeyboardTranslator::Command command); + signals: /** * Emitted when the contents of the associated terminal screen (see screen()) changes. @@ -239,6 +242,8 @@ signals: /** Emitted when the selection is changed. */ void selectionChanged(); + void scrollToEnd(); + private: int endWindowLine() const; void fillUnusedArea(); diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index 79fd16b..0f6b2cc 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -142,6 +142,7 @@ void TerminalDisplay::setScreenWindow(ScreenWindow* window) connect( _screenWindow , SIGNAL(outputChanged()) , this , SLOT(updateImage()) ); connect( _screenWindow , SIGNAL(outputChanged()) , this , SLOT(updateFilters()) ); connect( _screenWindow , SIGNAL(scrolled(int)) , this , SLOT(updateFilters()) ); + connect( _screenWindow , &ScreenWindow::scrollToEnd , this , &TerminalDisplay::scrollToEnd ); window->setWindowLines(_lines); } } @@ -2736,50 +2737,6 @@ void TerminalDisplay::keyPressEvent( QKeyEvent* event ) { bool emitKeyPressSignal = true; - // Keyboard-based navigation - if ( event->modifiers() == Qt::ShiftModifier ) - { - bool update = true; - - if ( event->key() == Qt::Key_PageUp ) - { - _screenWindow->scrollBy( ScreenWindow::ScrollPages , -1 ); - } - else if ( event->key() == Qt::Key_PageDown ) - { - _screenWindow->scrollBy( ScreenWindow::ScrollPages , 1 ); - } - else if ( event->key() == Qt::Key_Up ) - { - _screenWindow->scrollBy( ScreenWindow::ScrollLines , -1 ); - } - else if ( event->key() == Qt::Key_Down ) - { - _screenWindow->scrollBy( ScreenWindow::ScrollLines , 1 ); - } - else if ( event->key() == Qt::Key_End) - { - scrollToEnd(); - } - else if ( event->key() == Qt::Key_Home) - { - _screenWindow->scrollTo(0); - } - else - update = false; - - if ( update ) - { - _screenWindow->setTrackOutput( _screenWindow->atEndOfOutput() ); - - updateLineProperties(); - updateImage(); - - // do not send key press to terminal - emitKeyPressSignal = false; - } - } - _actSel=0; // Key stroke implies a screen update, so TerminalDisplay won't // know where the current selection is. diff --git a/lib/Vt102Emulation.cpp b/lib/Vt102Emulation.cpp index 4a84767..85febc4 100644 --- a/lib/Vt102Emulation.cpp +++ b/lib/Vt102Emulation.cpp @@ -1079,8 +1079,11 @@ void Vt102Emulation::sendKeyEvent( QKeyEvent* event ) if ( entry.command() != KeyboardTranslator::NoCommand ) { - if (entry.command() & KeyboardTranslator::EraseCommand) + if (entry.command() & KeyboardTranslator::EraseCommand) { textToSend += eraseChar(); + } else { + Q_EMIT handleCommandFromKeyboard(entry.command()); + } // TODO command handling } From dcc22cbedee1af5e529ba0bdb2760161c2014e60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Fri, 14 Aug 2020 19:56:41 +0100 Subject: [PATCH 103/162] Disables the use of copy constructors and assignment operators It should not be copied. --- lib/Screen.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/Screen.h b/lib/Screen.h index c2a992a..0b44de2 100644 --- a/lib/Screen.h +++ b/lib/Screen.h @@ -551,6 +551,8 @@ public: static void fillWithDefaultChar(Character* dest, int count); private: + Screen(const Screen &) = delete; + Screen &operator=(const Screen &) = delete; //copies a line of text from the screen or history into a stream using a //specified character decoder. Returns the number of lines actually copied, From 6d755fcb724ec147227bae866c7353cd5c371e57 Mon Sep 17 00:00:00 2001 From: zoli111 <57037245+zoli111@users.noreply.github.com> Date: Thu, 30 Jul 2020 22:52:42 +0200 Subject: [PATCH 104/162] Updated Hungarian translations --- lib/translations/qtermwidget_hu.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/translations/qtermwidget_hu.ts b/lib/translations/qtermwidget_hu.ts index e7f5fd0..c6fe737 100644 --- a/lib/translations/qtermwidget_hu.ts +++ b/lib/translations/qtermwidget_hu.ts @@ -16,7 +16,7 @@ <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> - <qt>A kimenet <a href="http://en.wikipedia.org/wiki/Flow_control">el van nyomva</a> a Ctrl+S megnyomásával. Nyomj <b>Ctrl+Q -t</b> a visszatéréshez.</qt> + <qt>A kimenet <a href="http://en.wikipedia.org/wiki/Flow_control">fel van függesztve</a> a Ctrl+S megnyomásával. Nyomjon <b>Ctrl+Q-t</b> a folytatáshoz.</qt> @@ -24,7 +24,7 @@ No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. - Nincs billentyűzet átalakító. Hiányzik az információ, ami a billentyű lenyomásnak a terminálhoz küldendő karakterekké alakításához szükséges. + Nincs elérhető billentyűzet-átalakító. Hiányzik az információ, amely a billentyű lenyomások a terminálhoz küldendő karakterekké alakításához szükséges. @@ -43,12 +43,12 @@ Open Link - Link megnyitás + Link megnyitása Copy Link Address - Link cím másolás + Link másolása @@ -71,7 +71,7 @@ Cannot load color scheme: %1 - A %1 színséma elérhetetlen + Nem sikerült betölteni a színsémát. %1 @@ -79,12 +79,12 @@ Match case - Nagybetű érzékeny + Nagybetűérzékeny Regular expression - Szabályos kifejezés + Reguláris kifejezés From 6ab343131a5136ef14c562c784c857cde8f39d83 Mon Sep 17 00:00:00 2001 From: Elad Lahav Date: Sun, 16 Aug 2020 07:37:57 -0400 Subject: [PATCH 105/162] Check for successful ioctl() calls by testing that the call did not return -1. There is no reason for a successful call to return 0. --- lib/kpty.cpp | 8 ++++---- lib/kptydevice.cpp | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/kpty.cpp b/lib/kpty.cpp index 650ead8..7b5bd7e 100644 --- a/lib/kpty.cpp +++ b/lib/kpty.cpp @@ -265,7 +265,7 @@ bool KPty::open() d->ttyName = ptsn; #else int ptyno; - if (!ioctl(d->masterFd, TIOCGPTN, &ptyno)) { + if (ioctl(d->masterFd, TIOCGPTN, &ptyno) != -1) { d->ttyName = QByteArray("/dev/pts/") + QByteArray::number(ptyno); #endif #ifdef HAVE_GRANTPT @@ -296,7 +296,7 @@ bool KPty::open() * and we need to get another one. */ int pgrp_rtn; - if (ioctl(d->masterFd, TIOCGPGRP, &pgrp_rtn) == 0 || errno != EIO) { + if (ioctl(d->masterFd, TIOCGPGRP, &pgrp_rtn) != -1 || errno != EIO) { ::close(d->masterFd); d->masterFd = -1; continue; @@ -398,7 +398,7 @@ bool KPty::open(int fd) d->ttyName = ptsn; # else int ptyno; - if (!ioctl(fd, TIOCGPTN, &ptyno)) { + if (ioctl(fd, TIOCGPTN, &ptyno) != -1) { const size_t sz = 32; char buf[sz]; const size_t r = snprintf(buf, sz, "/dev/pts/%d", ptyno); @@ -690,7 +690,7 @@ bool KPty::setWinSize(int lines, int columns) memset(&winSize, 0, sizeof(winSize)); winSize.ws_row = (unsigned short)lines; winSize.ws_col = (unsigned short)columns; - return ioctl(d->masterFd, TIOCSWINSZ, (char *)&winSize) == 0; + return ioctl(d->masterFd, TIOCSWINSZ, (char *)&winSize) != -1; } bool KPty::setEcho(bool echo) diff --git a/lib/kptydevice.cpp b/lib/kptydevice.cpp index 2c505e9..9af1545 100644 --- a/lib/kptydevice.cpp +++ b/lib/kptydevice.cpp @@ -90,7 +90,7 @@ bool KPtyDevicePrivate::_k_canRead() #else int available; #endif - if (!::ioctl(q->masterFd(), PTY_BYTES_AVAILABLE, (char *) &available)) { + if (::ioctl(q->masterFd(), PTY_BYTES_AVAILABLE, (char *) &available) != -1) { #ifdef Q_OS_SOLARIS // A Pty is a STREAMS module, and those can be activated // with 0 bytes available. This happens either when ^C is From 2047b5d00cda9b594542dfe6698d1e189e48715f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Tue, 18 Aug 2020 12:14:25 +0100 Subject: [PATCH 106/162] Delete copy constructor and assignment operator They should not be used. Using them will make the app crash. --- lib/kpty.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/kpty.h b/lib/kpty.h index 6415512..e9f8fa5 100644 --- a/lib/kpty.h +++ b/lib/kpty.h @@ -50,6 +50,9 @@ public: */ ~KPty(); + KPty(const KPty &) = delete; + KPty &operator=(const KPty &) = delete; + /** * Create a pty master/slave pair. * From 5f818d4f026aea1a7b2f540b3a3ed2f5a0423db8 Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Wed, 30 Sep 2020 20:57:24 +0800 Subject: [PATCH 107/162] Fix building when utempter is enabled (#356) * Fix building when utempter is enabled And test it with CI to make sure it will not break in the future. Looks like libulog.so is provided by FreeBSD and libutempter.so is provided on Linux [1]. Closes https://github.com/lxqt/qtermwidget/issues/351. [1] https://reviews.freebsd.org/D7989?id=20568 * Restore the hint for FreeBSD packagers in the CMake option --- .ci/build.sh | 6 +++++- CMakeLists.txt | 5 +++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.ci/build.sh b/.ci/build.sh index 883b7af..0610c36 100644 --- a/.ci/build.sh +++ b/.ci/build.sh @@ -2,5 +2,9 @@ set -ex mkdir build cd build -cmake -DBUILD_EXAMPLE=ON -DQTERMWIDGET_BUILD_PYTHON_BINDING=ON .. +cmake \ + -DBUILD_EXAMPLE=ON \ + -DQTERMWIDGET_BUILD_PYTHON_BINDING=ON \ + -DQTERMWIDGET_USE_UTEMPTER=ON \ + .. make diff --git a/CMakeLists.txt b/CMakeLists.txt index 345be80..13ef2cf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,7 +14,7 @@ include(CheckIncludeFile) option(UPDATE_TRANSLATIONS "Update source translation translations/*.ts files" OFF) option(BUILD_EXAMPLE "Build example application. Default OFF." OFF) -option(QTERMWIDGET_USE_UTEMPTER "Uses the libutempter library. Mainly for FreeBSD" OFF) +option(QTERMWIDGET_USE_UTEMPTER "Uses libutempter on Linux or libulog on FreeBSD for login records." OFF) option(QTERMWIDGET_BUILD_PYTHON_BINDING "Build python binding" OFF) option(USE_UTF8PROC "Use libutf8proc for better Unicode support. Default OFF" OFF) @@ -172,7 +172,8 @@ if (QTERMWIDGET_USE_UTEMPTER) target_compile_definitions(${QTERMWIDGET_LIBRARY_NAME} PRIVATE "HAVE_UTEMPTER" ) - target_link_libraries(${QTERMWIDGET_LIBRARY_NAME} ulog) + find_library(UTEMPTER_LIB NAMES utempter ulog REQUIRED) + target_link_libraries(${QTERMWIDGET_LIBRARY_NAME} ${UTEMPTER_LIB}) endif() endif() From 5b210080155ab0fffdb64904ffa1c5233396dafa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Mon, 28 Sep 2020 18:45:56 +0100 Subject: [PATCH 108/162] cmake: Fix find_package() developer warning Make Utf8Proc_FOUND match the name of the calling package (Utf8Proc). From CMake warning: This can lead to problems in calling code that expects `find_package` result variables (e.g., `_FOUND`) to follow a certain pattern. --- cmake/FindUtf8Proc.cmake | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cmake/FindUtf8Proc.cmake b/cmake/FindUtf8Proc.cmake index 4081854..8e0d1af 100644 --- a/cmake/FindUtf8Proc.cmake +++ b/cmake/FindUtf8Proc.cmake @@ -47,11 +47,12 @@ find_library( # all listed variables are TRUE include(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS( - UTF8PROC + Utf8Proc + FOUND_VAR Utf8Proc_FOUND REQUIRED_VARS UTF8PROC_LIBRARY UTF8PROC_INCLUDE_DIR ) -if(UTF8PROC_FOUND) +if(Utf8Proc_FOUND) set( UTF8PROC_LIBRARIES ${UTF8PROC_LIBRARY} ) set( UTF8PROC_INCLUDE_DIRS ${UTF8PROC_INCLUDE_DIR} ) endif() From 6ed011820611ce302801bcb87c818054c8b39306 Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Sat, 10 Oct 2020 11:06:59 +0800 Subject: [PATCH 109/162] Translations update from Weblate (#361) * Weblate commits Co-authored-by: Standreas * fixed translation widget link Co-authored-by: Standreas Co-authored-by: Weblate --- README.md | 9 ++- lib/translations/qtermwidget_it.ts | 125 +++++++++++++++++++++++++++++ 2 files changed, 131 insertions(+), 3 deletions(-) create mode 100644 lib/translations/qtermwidget_it.ts diff --git a/README.md b/README.md index 1a373b3..bae9097 100644 --- a/README.md +++ b/README.md @@ -65,8 +65,11 @@ The library is provided by all major Linux distributions like Arch Linux, Debian Just use the distributions' package managers to search for string `qtermwidget`. -### Translation (Weblate) +### Translation - -Translation status +Translations can be done in [LXQt-Weblate](https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/) + + +Translation status + diff --git a/lib/translations/qtermwidget_it.ts b/lib/translations/qtermwidget_it.ts new file mode 100644 index 0000000..df82d2c --- /dev/null +++ b/lib/translations/qtermwidget_it.ts @@ -0,0 +1,125 @@ + + + + + Konsole::TerminalDisplay + + + Size: XXX x XXX + + + + + Size: %1 x %2 + + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> + + + + + Konsole::Vt102Emulation + + + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. + + + + + QObject + + + + Un-named Color Scheme + + + + + Accessible Color Scheme + + + + + Open Link + + + + + Copy Link Address + + + + + Send Email To... + + + + + Copy Email Address + + + + + QTermWidget + + + Color Scheme Error + + + + + Cannot load color scheme: %1 + + + + + SearchBar + + + Match case + + + + + Regular expression + + + + + Highlight all matches + + + + + SearchBar + + + + + X + + + + + Find: + + + + + < + + + + + > + + + + + ... + + + + From 4b32b62df355d4a617ecfcdda7f02bfbb885c07e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Fri, 23 Oct 2020 12:21:53 +0100 Subject: [PATCH 110/162] Use const references where possible Good practice and a minor performance improvement. --- lib/HistorySearch.cpp | 2 +- lib/HistorySearch.h | 2 +- lib/TerminalDisplay.cpp | 2 +- lib/TerminalDisplay.h | 2 +- lib/qtermwidget.cpp | 2 +- lib/qtermwidget.h | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/HistorySearch.cpp b/lib/HistorySearch.cpp index 41c514f..33c6f4e 100644 --- a/lib/HistorySearch.cpp +++ b/lib/HistorySearch.cpp @@ -24,7 +24,7 @@ #include "Emulation.h" #include "HistorySearch.h" -HistorySearch::HistorySearch(EmulationPtr emulation, QRegExp regExp, +HistorySearch::HistorySearch(EmulationPtr emulation, const QRegExp& regExp, bool forwards, int startColumn, int startLine, QObject* parent) : QObject(parent), diff --git a/lib/HistorySearch.h b/lib/HistorySearch.h index 80b35db..ad5ac87 100644 --- a/lib/HistorySearch.h +++ b/lib/HistorySearch.h @@ -38,7 +38,7 @@ class HistorySearch : public QObject Q_OBJECT public: - explicit HistorySearch(EmulationPtr emulation, QRegExp regExp, bool forwards, + explicit HistorySearch(EmulationPtr emulation, const QRegExp& regExp, bool forwards, int startColumn, int startLine, QObject* parent); ~HistorySearch() override; diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index 79fd16b..688afe0 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -711,7 +711,7 @@ void TerminalDisplay::setOpacity(qreal opacity) _blendColor = color.rgba(); } -void TerminalDisplay::setBackgroundImage(QString backgroundImage) +void TerminalDisplay::setBackgroundImage(const QString& backgroundImage) { if (!backgroundImage.isEmpty()) { diff --git a/lib/TerminalDisplay.h b/lib/TerminalDisplay.h index 83cd3e7..9c47c17 100644 --- a/lib/TerminalDisplay.h +++ b/lib/TerminalDisplay.h @@ -104,7 +104,7 @@ public: void setOpacity(qreal opacity); /** Sets the background image of the terminal display. */ - void setBackgroundImage(QString backgroundImage); + void setBackgroundImage(const QString& backgroundImage); /** * Specifies whether the terminal display has a vertical scroll bar, and if so whether it diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index f7a8455..c50472d 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -369,7 +369,7 @@ void QTermWidget::setTerminalOpacity(qreal level) m_impl->m_terminalDisplay->setOpacity(level); } -void QTermWidget::setTerminalBackgroundImage(QString backgroundImage) +void QTermWidget::setTerminalBackgroundImage(const QString& backgroundImage) { m_impl->m_terminalDisplay->setBackgroundImage(backgroundImage); } diff --git a/lib/qtermwidget.h b/lib/qtermwidget.h index 672e745..8bc2f09 100644 --- a/lib/qtermwidget.h +++ b/lib/qtermwidget.h @@ -87,7 +87,7 @@ public: void setTerminalFont(const QFont & font); QFont getTerminalFont(); void setTerminalOpacity(qreal level); - void setTerminalBackgroundImage(QString backgroundImage); + void setTerminalBackgroundImage(const QString& backgroundImage); //environment void setEnvironment(const QStringList & environment); From 0d92118498dce5c6c1c5e573f622ed9a01518876 Mon Sep 17 00:00:00 2001 From: Tsu Jan Date: Sat, 31 Oct 2020 12:21:56 +0330 Subject: [PATCH 111/162] Pre-release changes --- CHANGELOG | 14 ++++++++ CMakeLists.txt | 6 ++-- lib/translations/qtermwidget.ts | 25 +++++++++++++- lib/translations/qtermwidget_arn.ts | 25 +++++++++++++- lib/translations/qtermwidget_ast.ts | 25 +++++++++++++- lib/translations/qtermwidget_ca.ts | 25 +++++++++++++- lib/translations/qtermwidget_cs.ts | 25 +++++++++++++- lib/translations/qtermwidget_cy.ts | 25 +++++++++++++- lib/translations/qtermwidget_da.ts | 25 +++++++++++++- lib/translations/qtermwidget_de.ts | 25 +++++++++++++- lib/translations/qtermwidget_el.ts | 25 +++++++++++++- lib/translations/qtermwidget_es.ts | 25 +++++++++++++- lib/translations/qtermwidget_fr.ts | 25 +++++++++++++- lib/translations/qtermwidget_gl.ts | 25 +++++++++++++- lib/translations/qtermwidget_he.ts | 25 +++++++++++++- lib/translations/qtermwidget_hr.ts | 49 ++++++++++++++++++++------- lib/translations/qtermwidget_hu.ts | 25 +++++++++++++- lib/translations/qtermwidget_it.ts | 25 +++++++++++++- lib/translations/qtermwidget_ja.ts | 25 +++++++++++++- lib/translations/qtermwidget_lt.ts | 25 +++++++++++++- lib/translations/qtermwidget_nb_NO.ts | 25 +++++++++++++- lib/translations/qtermwidget_pl.ts | 25 +++++++++++++- lib/translations/qtermwidget_pt.ts | 25 +++++++++++++- lib/translations/qtermwidget_pt_BR.ts | 25 +++++++++++++- lib/translations/qtermwidget_tr.ts | 25 +++++++++++++- lib/translations/qtermwidget_zh_CN.ts | 25 +++++++++++++- lib/translations/qtermwidget_zh_TW.ts | 25 +++++++++++++- 27 files changed, 629 insertions(+), 40 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index b949906..4e0e018 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,17 @@ +qtermwidget-0.16.0 / 2020-11-01 +=============================== + + * Use qAsConst. + * Don't search application dir for keyboard and scheme data. + * Use Q_EMIT to call signals, instead of the emit keyword. + * Dropped the deprecated class QLinkedList. + * Don't use 0/nullptr to initialize QFlags. + * Fixed ColorEntry copy operator. + * Disabled the use of copy constructors and assignment operators. + * Check for successful ioctl() calls by testing that the call did not return -1. + * Fix find_package() developer warning in cmake. + * Use const references wherever possible + qtermwidget-0.15.0 / 2020-04-24 =============================== diff --git a/CMakeLists.txt b/CMakeLists.txt index 13ef2cf..f4955ac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,7 +21,7 @@ option(USE_UTF8PROC "Use libutf8proc for better Unicode support. Default OFF" OF # just change version for releases set(QTERMWIDGET_VERSION_MAJOR "0") -set(QTERMWIDGET_VERSION_MINOR "15") +set(QTERMWIDGET_VERSION_MINOR "16") set(QTERMWIDGET_VERSION_PATCH "0") set(QTERMWIDGET_VERSION "${QTERMWIDGET_VERSION_MAJOR}.${QTERMWIDGET_VERSION_MINOR}.${QTERMWIDGET_VERSION_PATCH}") @@ -31,8 +31,8 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake") set(CMAKE_INCLUDE_CURRENT_DIR ON) # Minimum Versions -set(QT_MINIMUM_VERSION "5.10.0") -set(LXQTBT_MINIMUM_VERSION "0.7.0") +set(QT_MINIMUM_VERSION "5.12.0") +set(LXQTBT_MINIMUM_VERSION "0.8.0") find_package(Qt5Widgets "${QT_MINIMUM_VERSION}" REQUIRED) find_package(Qt5LinguistTools "${QT_MINIMUM_VERSION}" REQUIRED) diff --git a/lib/translations/qtermwidget.ts b/lib/translations/qtermwidget.ts index 09a1c53..2729b05 100644 --- a/lib/translations/qtermwidget.ts +++ b/lib/translations/qtermwidget.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. diff --git a/lib/translations/qtermwidget_arn.ts b/lib/translations/qtermwidget_arn.ts index 17b4959..badd96f 100644 --- a/lib/translations/qtermwidget_arn.ts +++ b/lib/translations/qtermwidget_arn.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. diff --git a/lib/translations/qtermwidget_ast.ts b/lib/translations/qtermwidget_ast.ts index 5b23f64..a988abb 100644 --- a/lib/translations/qtermwidget_ast.ts +++ b/lib/translations/qtermwidget_ast.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. diff --git a/lib/translations/qtermwidget_ca.ts b/lib/translations/qtermwidget_ca.ts index 9f220ab..20d0520 100644 --- a/lib/translations/qtermwidget_ca.ts +++ b/lib/translations/qtermwidget_ca.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. No hi ha disponible cap traductor de teclat. No es disposa de la informació necessària per convertir la pressió de les tecles a caràcters al terminal. diff --git a/lib/translations/qtermwidget_cs.ts b/lib/translations/qtermwidget_cs.ts index 96a9fc6..5e7900f 100644 --- a/lib/translations/qtermwidget_cs.ts +++ b/lib/translations/qtermwidget_cs.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Není k dispozici žádný překladač klávesnice. Chybí tak informace pro převod kódů stisknutých kláves na znaky posílané na terminál. diff --git a/lib/translations/qtermwidget_cy.ts b/lib/translations/qtermwidget_cy.ts index 52eb385..825e8c4 100644 --- a/lib/translations/qtermwidget_cy.ts +++ b/lib/translations/qtermwidget_cy.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. diff --git a/lib/translations/qtermwidget_da.ts b/lib/translations/qtermwidget_da.ts index ab5888c..abd09c0 100644 --- a/lib/translations/qtermwidget_da.ts +++ b/lib/translations/qtermwidget_da.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Ingen tastaturoversætter tilgængelig. Informationen, som er nødvendig for at konvertere tastetryk til tegn, som sendes til terminalen, mangler. diff --git a/lib/translations/qtermwidget_de.ts b/lib/translations/qtermwidget_de.ts index 98a1867..bdfb883 100644 --- a/lib/translations/qtermwidget_de.ts +++ b/lib/translations/qtermwidget_de.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Kein Tastaturinterpreter verfügbar. Die benötigte Information, um Tastenbefehle in Zeichen umzuwandeln und anschließenfd zum Terminal zu senden, fehlt. diff --git a/lib/translations/qtermwidget_el.ts b/lib/translations/qtermwidget_el.ts index 930f16a..b1cb18b 100644 --- a/lib/translations/qtermwidget_el.ts +++ b/lib/translations/qtermwidget_el.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Δεν υπάρχει κάποιος μεταφραστής πληκτρολογίου διαθέσιμος. Η απαιτούμενη πληροφορία για την μετατροπή των πατημάτων πλήκτρων σε χαρακτήρες στο τερματικό λείπει. diff --git a/lib/translations/qtermwidget_es.ts b/lib/translations/qtermwidget_es.ts index ec90e2e..7957d48 100644 --- a/lib/translations/qtermwidget_es.ts +++ b/lib/translations/qtermwidget_es.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. No hay traductor de teclado disponible. La información necesaria para convertir pulsaciones de tecla en caracteres para enviarlos a la terminal está ausente. diff --git a/lib/translations/qtermwidget_fr.ts b/lib/translations/qtermwidget_fr.ts index 269f431..145e0fd 100644 --- a/lib/translations/qtermwidget_fr.ts +++ b/lib/translations/qtermwidget_fr.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Aucun traducteur de clavier disponible. Les informations nécessaires pour convertir les touches utilisées en caractères à envoyer au terminal sont manquantes. diff --git a/lib/translations/qtermwidget_gl.ts b/lib/translations/qtermwidget_gl.ts index f29e586..2764959 100644 --- a/lib/translations/qtermwidget_gl.ts +++ b/lib/translations/qtermwidget_gl.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Non hai dispoñíbel ningún tradutor de teclado. Non está dispoñíbel a información necesaria para converter pulsacións de tecla en caracteres para envialos o terminal. diff --git a/lib/translations/qtermwidget_he.ts b/lib/translations/qtermwidget_he.ts index 14c081c..6f65ed5 100644 --- a/lib/translations/qtermwidget_he.ts +++ b/lib/translations/qtermwidget_he.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. אין מתרגם מקלדת זמין. המידע שנדרש לצורך המרת לחיצות מקשים לתווים לשליחה למסוף חסר. diff --git a/lib/translations/qtermwidget_hr.ts b/lib/translations/qtermwidget_hr.ts index 7b5eba8..f5cd4c6 100644 --- a/lib/translations/qtermwidget_hr.ts +++ b/lib/translations/qtermwidget_hr.ts @@ -1,20 +1,43 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay - + Size: XXX x XXX Veličina: XXX × XXX - + Size: %1 x %2 Veličina: %1 × %2 - + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Rezultat je <a href="http://en.wikipedia.org/wiki/Flow_control">obustavljen</a> pritiskom Ctrl+S. Pritisni <b>Ctrl+Q</b> za nastavak.</qt> @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Nema interpretera tipkovnice. Nedostaju podaci za pretvaranje tipki u znakove koji se šalju u terminal. @@ -41,22 +64,22 @@ Dostupna shema boja - + Open Link Otvori poveznicu - + Copy Link Address Otvori adresu poveznice - + Send Email To... Pošalji e-mail na … - + Copy Email Address Kopiraj e-adresu @@ -64,12 +87,12 @@ QTermWidget - + Color Scheme Error Greška u shemi boja - + Cannot load color scheme: %1 Nije moguće učitati shemu boja: %1 @@ -77,17 +100,17 @@ SearchBar - + Match case Razlikuj velika/mala slova - + Regular expression Regularni izrazi - + Highlight all matches Istakni sva poklapanja diff --git a/lib/translations/qtermwidget_hu.ts b/lib/translations/qtermwidget_hu.ts index c6fe737..7aa5182 100644 --- a/lib/translations/qtermwidget_hu.ts +++ b/lib/translations/qtermwidget_hu.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Nincs elérhető billentyűzet-átalakító. Hiányzik az információ, amely a billentyű lenyomások a terminálhoz küldendő karakterekké alakításához szükséges. diff --git a/lib/translations/qtermwidget_it.ts b/lib/translations/qtermwidget_it.ts index df82d2c..05ed634 100644 --- a/lib/translations/qtermwidget_it.ts +++ b/lib/translations/qtermwidget_it.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. diff --git a/lib/translations/qtermwidget_ja.ts b/lib/translations/qtermwidget_ja.ts index a75d29d..913d3c3 100644 --- a/lib/translations/qtermwidget_ja.ts +++ b/lib/translations/qtermwidget_ja.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. キーボードトランスレータがありません。押されたキーを文字に変換してターミナルへ送信するために必要な情報がありません。 diff --git a/lib/translations/qtermwidget_lt.ts b/lib/translations/qtermwidget_lt.ts index 1656912..9b416af 100644 --- a/lib/translations/qtermwidget_lt.ts +++ b/lib/translations/qtermwidget_lt.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Nėra prieinamas joks klaviatūros vertėjas. Informacijos, kurios reikia, norint konvertuoti klavišų paspaudimus į simbolius ir siųsti į terminalą, nėra. diff --git a/lib/translations/qtermwidget_nb_NO.ts b/lib/translations/qtermwidget_nb_NO.ts index 19b4ab3..e18f683 100644 --- a/lib/translations/qtermwidget_nb_NO.ts +++ b/lib/translations/qtermwidget_nb_NO.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Ingen tastaturoversetter er tilgjengelig. Informasjonen som trengs for å gjøre tastetrykk om til tegn å sende til terminalen mangler. diff --git a/lib/translations/qtermwidget_pl.ts b/lib/translations/qtermwidget_pl.ts index 6d35ec3..b5351be 100644 --- a/lib/translations/qtermwidget_pl.ts +++ b/lib/translations/qtermwidget_pl.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Brak sterownika klawiatury. Nie wiadomo jak przełożyć wciśniecia przycisków na znaki wysyłane do terminalu. diff --git a/lib/translations/qtermwidget_pt.ts b/lib/translations/qtermwidget_pt.ts index 00c2401..bab0380 100644 --- a/lib/translations/qtermwidget_pt.ts +++ b/lib/translations/qtermwidget_pt.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Não há um tradutor de teclado disponível. A informação necessária para converter a pressão da tecla nos caracteres a enviar ao terminal não existe. diff --git a/lib/translations/qtermwidget_pt_BR.ts b/lib/translations/qtermwidget_pt_BR.ts index 730851d..2ae1de8 100644 --- a/lib/translations/qtermwidget_pt_BR.ts +++ b/lib/translations/qtermwidget_pt_BR.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Nenhum tradutor de teclado disponível. A informação necessária para converter a tecla pressionada em caracteres para enviar para o terminal está faltando. diff --git a/lib/translations/qtermwidget_tr.ts b/lib/translations/qtermwidget_tr.ts index 59a1ce7..d482026 100644 --- a/lib/translations/qtermwidget_tr.ts +++ b/lib/translations/qtermwidget_tr.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Hiçbir klavye çeviricisi yok. Tuş vuruşlarını karaktere dönüştürüp uçbirime göndermek için gereken bilgi eksik. diff --git a/lib/translations/qtermwidget_zh_CN.ts b/lib/translations/qtermwidget_zh_CN.ts index eafe45b..c073bda 100644 --- a/lib/translations/qtermwidget_zh_CN.ts +++ b/lib/translations/qtermwidget_zh_CN.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. 没有可用的键码转换表。找不到需要把按键转换至符号以传送至终端的信息。 diff --git a/lib/translations/qtermwidget_zh_TW.ts b/lib/translations/qtermwidget_zh_TW.ts index 1a26cd8..1631bc6 100644 --- a/lib/translations/qtermwidget_zh_TW.ts +++ b/lib/translations/qtermwidget_zh_TW.ts @@ -1,6 +1,29 @@ + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + Konsole::TerminalDisplay @@ -22,7 +45,7 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. 沒有可用的鍵碼轉換表。用來將按鍵轉換成終端機字元的資訊遺失。 From 477c7d1deef3b5f4d19b5a690eb9c73bff407e10 Mon Sep 17 00:00:00 2001 From: Tsu Jan Date: Sat, 31 Oct 2020 22:47:58 +0330 Subject: [PATCH 112/162] Updated changelog --- CHANGELOG | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 4e0e018..39aab47 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -10,7 +10,8 @@ qtermwidget-0.16.0 / 2020-11-01 * Disabled the use of copy constructors and assignment operators. * Check for successful ioctl() calls by testing that the call did not return -1. * Fix find_package() developer warning in cmake. - * Use const references wherever possible + * Use const references wherever possible. + * Handle keyboard commands properly. qtermwidget-0.15.0 / 2020-04-24 =============================== From 63b146352fbaf3b92f45b44c1e37249724fc129d Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Tue, 3 Nov 2020 16:19:26 +0800 Subject: [PATCH 113/162] Translations update from Weblate (#366) * Weblate commits Co-authored-by: Dimitrios Glentadakis Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/el/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: zoli111 Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/hu/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Masamichi Ito Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/ja/ Translation: LXQt Desktop/qtermwidget Co-authored-by: Dimitrios Glentadakis Co-authored-by: zoli111 Co-authored-by: Masamichi Ito --- lib/translations/qtermwidget_el.ts | 8 ++++---- lib/translations/qtermwidget_hu.ts | 8 ++++---- lib/translations/qtermwidget_ja.ts | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/translations/qtermwidget_el.ts b/lib/translations/qtermwidget_el.ts index b1cb18b..078b72c 100644 --- a/lib/translations/qtermwidget_el.ts +++ b/lib/translations/qtermwidget_el.ts @@ -6,22 +6,22 @@ Bell in session '%1' - + Κουδούνι στην συνεδρία '%1' Session '%1' exited with status %2. - + Η συνεδρία '%1' τερματίστηκε με την κατάσταση %2. Session '%1' crashed. - + Η συνεδρία '%1' κατέρρευσε. Session '%1' exited unexpectedly. - + Η συνεδρία '%1' τερματίστηκε απροσδόκητα. diff --git a/lib/translations/qtermwidget_hu.ts b/lib/translations/qtermwidget_hu.ts index 7aa5182..09e6b5a 100644 --- a/lib/translations/qtermwidget_hu.ts +++ b/lib/translations/qtermwidget_hu.ts @@ -6,22 +6,22 @@ Bell in session '%1' - + Jelzés a '%1' munkamenetben Session '%1' exited with status %2. - + A(z) '%1' munkamenet %2 állapottal lépett ki. Session '%1' crashed. - + A(z) '%1' munkamenet összeomlott. Session '%1' exited unexpectedly. - + A '%1' munkamenet váratlanul kilépett. diff --git a/lib/translations/qtermwidget_ja.ts b/lib/translations/qtermwidget_ja.ts index 913d3c3..3cbebe8 100644 --- a/lib/translations/qtermwidget_ja.ts +++ b/lib/translations/qtermwidget_ja.ts @@ -6,22 +6,22 @@ Bell in session '%1' - + セッション '%1' のベル Session '%1' exited with status %2. - + セッション '%1' はステータス %2 で終了しました。 Session '%1' crashed. - + セッション '%1' がクラッシュしました。 Session '%1' exited unexpectedly. - + セッション '%1' が予期せず終了しました。 From db137b0add3e2793ebe26b56b99854185722b470 Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Mon, 9 Nov 2020 15:16:57 +0800 Subject: [PATCH 114/162] Translations update from Weblate (#368) * Weblate commits Co-authored-by: Pavel Fric Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/cs/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Papoteur Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/fr/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Yaron Shahrabani Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/he/ Translation: LXQt Desktop/qtermwidget Co-authored-by: Pavel Fric Co-authored-by: Papoteur Co-authored-by: Yaron Shahrabani --- lib/translations/qtermwidget_cs.ts | 8 ++++---- lib/translations/qtermwidget_fr.ts | 2 +- lib/translations/qtermwidget_he.ts | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/translations/qtermwidget_cs.ts b/lib/translations/qtermwidget_cs.ts index 5e7900f..de7a9c5 100644 --- a/lib/translations/qtermwidget_cs.ts +++ b/lib/translations/qtermwidget_cs.ts @@ -6,22 +6,22 @@ Bell in session '%1' - + Zvonek v sezení '%1' Session '%1' exited with status %2. - + Sezení '%1' ukončeno se stavem %2. Session '%1' crashed. - + Sezení '%1' spadlo. Session '%1' exited unexpectedly. - + Sezení '%1' neočekávaně ukončeno. diff --git a/lib/translations/qtermwidget_fr.ts b/lib/translations/qtermwidget_fr.ts index 145e0fd..21d597b 100644 --- a/lib/translations/qtermwidget_fr.ts +++ b/lib/translations/qtermwidget_fr.ts @@ -11,7 +11,7 @@ Session '%1' exited with status %2. - + La session '%1' s'est terminée avec le statut %2. diff --git a/lib/translations/qtermwidget_he.ts b/lib/translations/qtermwidget_he.ts index 6f65ed5..3663954 100644 --- a/lib/translations/qtermwidget_he.ts +++ b/lib/translations/qtermwidget_he.ts @@ -6,22 +6,22 @@ Bell in session '%1' - + צלצול בהפעלה ‚%1’ Session '%1' exited with status %2. - + ההפעלה ‚%1’ נסגרה עם הכרזת המצב %2. Session '%1' crashed. - + ההפעלה ‚%1’ קרסה. Session '%1' exited unexpectedly. - + ההפעלה ‚%1’ נסגרה במפתיע. From c46c0bf609170d7ca58304cce88b1929e6c38d4a Mon Sep 17 00:00:00 2001 From: Tsu Jan Date: Sat, 14 Nov 2020 12:14:42 +0330 Subject: [PATCH 115/162] Pre-release changes --- CHANGELOG | 4 ++++ CMakeLists.txt | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 39aab47..1f88da1 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +qtermwidget-0.16.1 / 2020-11-14 +=============================== + * Bumped version to 0.16.1, for a point release of qterminal. + qtermwidget-0.16.0 / 2020-11-01 =============================== diff --git a/CMakeLists.txt b/CMakeLists.txt index 1a01ddd..288424c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,7 +22,7 @@ option(USE_UTF8PROC "Use libutf8proc for better Unicode support. Default OFF" OF # just change version for releases set(QTERMWIDGET_VERSION_MAJOR "0") set(QTERMWIDGET_VERSION_MINOR "16") -set(QTERMWIDGET_VERSION_PATCH "0") +set(QTERMWIDGET_VERSION_PATCH "1") set(QTERMWIDGET_VERSION "${QTERMWIDGET_VERSION_MAJOR}.${QTERMWIDGET_VERSION_MINOR}.${QTERMWIDGET_VERSION_PATCH}") From 039b3311e903aece905f25af46b1fdd685e9af23 Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Fri, 20 Nov 2020 00:49:40 +0800 Subject: [PATCH 116/162] Weblate commits (#370) Co-authored-by: Daniel Fischer Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/de/ Translation: LXQt Desktop/qtermwidget Co-authored-by: Daniel Fischer --- lib/translations/qtermwidget_de.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/translations/qtermwidget_de.ts b/lib/translations/qtermwidget_de.ts index bdfb883..9b013ba 100644 --- a/lib/translations/qtermwidget_de.ts +++ b/lib/translations/qtermwidget_de.ts @@ -11,17 +11,17 @@ Session '%1' exited with status %2. - + Session '%1' wurde mit Status %2 beendet. Session '%1' crashed. - + Session '%1' ist abgestürzt. Session '%1' exited unexpectedly. - + Session '%1' wurde unerwartet beendet. From 86966ccbd0ba189a21a2726133eb2541c16e0447 Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Sat, 21 Nov 2020 14:34:24 +0800 Subject: [PATCH 117/162] Translations update from Weblate (#371) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Weblate commits Co-authored-by: Ettore Atalan Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/de/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Sérgio Marques Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/pt/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Standreas Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/it/ Translation: LXQt Desktop/qtermwidget Co-authored-by: Ettore Atalan Co-authored-by: Sérgio Marques Co-authored-by: Standreas --- lib/translations/qtermwidget_de.ts | 8 ++++---- lib/translations/qtermwidget_it.ts | 8 ++++---- lib/translations/qtermwidget_pt.ts | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/translations/qtermwidget_de.ts b/lib/translations/qtermwidget_de.ts index 9b013ba..9d11070 100644 --- a/lib/translations/qtermwidget_de.ts +++ b/lib/translations/qtermwidget_de.ts @@ -6,22 +6,22 @@ Bell in session '%1' - + Glocke in Sitzung '%1' Session '%1' exited with status %2. - Session '%1' wurde mit Status %2 beendet. + SItzung '%1' wurde mit Status %2 beendet. Session '%1' crashed. - Session '%1' ist abgestürzt. + SItzung '%1' ist abgestürzt. Session '%1' exited unexpectedly. - Session '%1' wurde unerwartet beendet. + Sitzung '%1' wurde unerwartet beendet. diff --git a/lib/translations/qtermwidget_it.ts b/lib/translations/qtermwidget_it.ts index 05ed634..28c8d88 100644 --- a/lib/translations/qtermwidget_it.ts +++ b/lib/translations/qtermwidget_it.ts @@ -107,17 +107,17 @@ Regular expression - + Espressione regolare Highlight all matches - + Evidenzia tutte le corrispondenze SearchBar - + Barra di ricerca @@ -127,7 +127,7 @@ Find: - + Trova: diff --git a/lib/translations/qtermwidget_pt.ts b/lib/translations/qtermwidget_pt.ts index bab0380..45fabd3 100644 --- a/lib/translations/qtermwidget_pt.ts +++ b/lib/translations/qtermwidget_pt.ts @@ -6,22 +6,22 @@ Bell in session '%1' - + Campainha na sessão '%1' Session '%1' exited with status %2. - + A sessão '%1' terminou com o estado %2. Session '%1' crashed. - + A sessão '%1' terminou. Session '%1' exited unexpectedly. - + A sessão '%1' terminou inesperadamente. From 368965a607c76060b099692f41f50815a682d176 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Fri, 23 Oct 2020 18:56:38 +0100 Subject: [PATCH 118/162] Remove KDE3 color scheme code KDE3 was a long time ago. It makes no sense keeping it around. Closes https://github.com/lxqt/lxqt/issues/1854. --- lib/ColorScheme.cpp | 158 +------------------------------------------- lib/ColorScheme.h | 40 ----------- 2 files changed, 2 insertions(+), 196 deletions(-) diff --git a/lib/ColorScheme.cpp b/lib/ColorScheme.cpp index 2ccb29a..f7b9af2 100644 --- a/lib/ColorScheme.cpp +++ b/lib/ColorScheme.cpp @@ -491,94 +491,6 @@ AccessibleColorScheme::AccessibleColorScheme() #endif } -KDE3ColorSchemeReader::KDE3ColorSchemeReader( QIODevice* device ) : - _device(device) -{ -} -ColorScheme* KDE3ColorSchemeReader::read() -{ - Q_ASSERT( _device->openMode() == QIODevice::ReadOnly || - _device->openMode() == QIODevice::ReadWrite ); - - ColorScheme* scheme = new ColorScheme(); - - QRegExp comment(QLatin1String("#.*$")); - while ( !_device->atEnd() ) - { - QString line(QString::fromUtf8(_device->readLine())); - line.remove(comment); - line = line.simplified(); - - if ( line.isEmpty() ) - continue; - - if ( line.startsWith(QLatin1String("color")) ) - { - if (!readColorLine(line,scheme)) - qDebug() << "Failed to read KDE 3 color scheme line" << line; - } - else if ( line.startsWith(QLatin1String("title")) ) - { - if (!readTitleLine(line,scheme)) - qDebug() << "Failed to read KDE 3 color scheme title line" << line; - } - else - { - qDebug() << "KDE 3 color scheme contains an unsupported feature, '" << - line << "'"; - } - } - - return scheme; -} -bool KDE3ColorSchemeReader::readColorLine(const QString& line,ColorScheme* scheme) -{ - QStringList list = line.split(QLatin1Char(' ')); - - if (list.count() != 7) - return false; - if (list.first() != QLatin1String("color")) - return false; - - int index = list[1].toInt(); - int red = list[2].toInt(); - int green = list[3].toInt(); - int blue = list[4].toInt(); - int transparent = list[5].toInt(); - int bold = list[6].toInt(); - - const int MAX_COLOR_VALUE = 255; - - if( (index < 0 || index >= TABLE_COLORS ) - || (red < 0 || red > MAX_COLOR_VALUE ) - || (blue < 0 || blue > MAX_COLOR_VALUE ) - || (green < 0 || green > MAX_COLOR_VALUE ) - || (transparent != 0 && transparent != 1 ) - || (bold != 0 && bold != 1) ) - return false; - - ColorEntry entry; - entry.color = QColor(red,green,blue); - entry.transparent = ( transparent != 0 ); - entry.fontWeight = ( bold != 0 ) ? ColorEntry::Bold : ColorEntry::UseCurrentFormat; - - scheme->setColorTableEntry(index,entry); - return true; -} -bool KDE3ColorSchemeReader::readTitleLine(const QString& line,ColorScheme* scheme) -{ - if( !line.startsWith(QLatin1String("title")) ) - return false; - - int spacePos = line.indexOf(QLatin1Char(' ')); - if( spacePos == -1 ) - return false; - - QString description = line.mid(spacePos+1); - - scheme->setDescription(description); - return true; -} ColorSchemeManager::ColorSchemeManager() : _haveLoadedAll(false) { @@ -605,14 +517,6 @@ void ColorSchemeManager::loadAllColorSchemes() failed++; } - QList kde3ColorSchemes = listKDE3ColorSchemes(); - QListIterator kde3Iter(kde3ColorSchemes); - while ( kde3Iter.hasNext() ) - { - if ( !loadKDE3ColorScheme( kde3Iter.next() ) ) - failed++; - } - /*if ( failed > 0 ) qDebug() << "failed to load " << failed << " color schemes.";*/ @@ -627,37 +531,6 @@ QList ColorSchemeManager::allColorSchemes() return _colorSchemes.values(); } -bool ColorSchemeManager::loadKDE3ColorScheme(const QString& filePath) -{ - QFile file(filePath); - if (!filePath.endsWith(QLatin1String(".schema")) || !file.open(QIODevice::ReadOnly)) - return false; - - KDE3ColorSchemeReader reader(&file); - ColorScheme* scheme = reader.read(); - scheme->setName(QFileInfo(file).baseName()); - file.close(); - - if (scheme->name().isEmpty()) - { - //qDebug() << "color scheme name is not valid."; - delete scheme; - return false; - } - - QFileInfo info(filePath); - - if ( !_colorSchemes.contains(info.baseName()) ) - _colorSchemes.insert(scheme->name(),scheme); - else - { - /*qDebug() << "color scheme with name" << scheme->name() << "has already been" << - "found, ignoring.";*/ - delete scheme; - } - - return true; -} #if 0 void ColorSchemeManager::addColorScheme(ColorScheme* scheme) { @@ -675,10 +548,8 @@ bool ColorSchemeManager::loadCustomColorScheme(const QString& path) { if (path.endsWith(QLatin1String(".colorscheme"))) return loadColorScheme(path); - else if (path.endsWith(QLatin1String(".schema"))) - return loadKDE3ColorScheme(path); - else - return false; + + return false; } void ColorSchemeManager::addCustomColorSchemeDir(const QString& custom_dir) @@ -720,26 +591,6 @@ bool ColorSchemeManager::loadColorScheme(const QString& filePath) return true; } -QList ColorSchemeManager::listKDE3ColorSchemes() -{ - QList ret; - for (const QString &scheme_dir : get_color_schemes_dirs()) - { - const QString dname(scheme_dir); - QDir dir(dname); - QStringList filters; - filters << QLatin1String("*.schema"); - dir.setNameFilters(filters); - const QStringList list = dir.entryList(filters); - for (const QString &i : list) - ret << dname + QLatin1Char('/') + i; - } - return ret; - //return KGlobal::dirs()->findAllResources("data", - // "konsole/*.schema", - // KStandardDirs::NoDuplicates); - // -} QList ColorSchemeManager::listColorSchemes() { QList ret; @@ -813,11 +664,6 @@ const ColorScheme* ColorSchemeManager::findColorScheme(const QString& name) { return findColorScheme(name); } - else - { - if (!path.isEmpty() && loadKDE3ColorScheme(path)) - return findColorScheme(name); - } //qDebug() << "Could not find color scheme - " << name; diff --git a/lib/ColorScheme.h b/lib/ColorScheme.h index f9e619b..416fe25 100644 --- a/lib/ColorScheme.h +++ b/lib/ColorScheme.h @@ -217,41 +217,6 @@ public: AccessibleColorScheme(); }; -/** - * Reads a color scheme stored in the .schema format used in the KDE 3 incarnation - * of Konsole - * - * Only the basic essentials ( title and color palette entries ) are currently - * supported. Additional options such as background image and background - * blend colors are ignored. - */ -class KDE3ColorSchemeReader -{ -public: - /** - * Constructs a new reader which reads from the specified device. - * The device should be open in read-only mode. - */ - KDE3ColorSchemeReader( QIODevice* device ); - - /** - * Reads and parses the contents of the .schema file from the input - * device and returns the ColorScheme defined within it. - * - * Returns a null pointer if an error occurs whilst parsing - * the contents of the file. - */ - ColorScheme* read(); - -private: - // reads a line from the file specifying a colour palette entry - // format is: color [index] [red] [green] [blue] [transparent] [bold] - bool readColorLine(const QString& line , ColorScheme* scheme); - bool readTitleLine(const QString& line , ColorScheme* scheme); - - QIODevice* _device; -}; - /** * Manages the color schemes available for use by terminal displays. * See ColorScheme @@ -338,13 +303,8 @@ public: private: // loads a color scheme from a KDE 4+ .colorscheme file bool loadColorScheme(const QString& path); - // loads a color scheme from a KDE 3 .schema file - bool loadKDE3ColorScheme(const QString& path); // returns a list of paths of color schemes in the KDE 4+ .colorscheme file format QList listColorSchemes(); - // returns a list of paths of color schemes in the .schema file format - // used in KDE 3 - QList listKDE3ColorSchemes(); // loads all of the color schemes void loadAllColorSchemes(); // finds the path of a color scheme From c11e3aa1176c6d3ff2613cd32df0a255966c73fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Mon, 9 Nov 2020 19:19:37 +0000 Subject: [PATCH 119/162] Convert schema files to the new colorscheme format Konsole already did that. So the new files are taken from Konsole. Kudos to the Konsole developers. --- .../BlackOnLightYellow.colorscheme | 94 +++++++++++++++++++ lib/color-schemes/BlackOnLightYellow.schema | 42 --------- lib/color-schemes/BlackOnWhite.colorscheme | 94 +++++++++++++++++++ lib/color-schemes/BlackOnWhite.schema | 42 --------- lib/color-schemes/WhiteOnBlack.colorscheme | 94 +++++++++++++++++++ lib/color-schemes/WhiteOnBlack.schema | 42 --------- 6 files changed, 282 insertions(+), 126 deletions(-) create mode 100644 lib/color-schemes/BlackOnLightYellow.colorscheme delete mode 100644 lib/color-schemes/BlackOnLightYellow.schema create mode 100644 lib/color-schemes/BlackOnWhite.colorscheme delete mode 100644 lib/color-schemes/BlackOnWhite.schema create mode 100644 lib/color-schemes/WhiteOnBlack.colorscheme delete mode 100644 lib/color-schemes/WhiteOnBlack.schema diff --git a/lib/color-schemes/BlackOnLightYellow.colorscheme b/lib/color-schemes/BlackOnLightYellow.colorscheme new file mode 100644 index 0000000..5150ea1 --- /dev/null +++ b/lib/color-schemes/BlackOnLightYellow.colorscheme @@ -0,0 +1,94 @@ +[Background] +Color=255,255,221 + +[BackgroundIntense] +Color=255,255,221 + +[BackgroundFaint] +Color=255,255,221 + +[Color0] +Color=0,0,0 + +[Color0Intense] +Color=104,104,104 + +[Color0Faint] +Color=192,192,192 + +[Color1] +Color=178,24,24 + +[Color1Intense] +Color=255,84,84 + +[Color1Faint] +Color=224,142,142 + +[Color2] +Color=24,178,24 + +[Color2Intense] +Color=84,255,84 + +[Color2Faint] +Color=142,224,142 + +[Color3] +Color=178,104,24 + +[Color3Intense] +Color=255,255,84 + +[Color3Faint] +Color=224,224,142 + +[Color4] +Color=24,24,178 + +[Color4Intense] +Color=84,84,255 + +[Color4Faint] +Color=142,142,224 + +[Color5] +Color=178,24,178 + +[Color5Intense] +Color=255,84,255 + +[Color5Faint] +Color=224,142,224 + +[Color6] +Color=24,178,178 + +[Color6Intense] +Color=84,255,255 + +[Color6Faint] +Color=142,224,224 + +[Color7] +Color=178,178,178 + +[Color7Intense] +Color=255,255,255 + +[Color7Faint] +Color=142,142,142 + +[Foreground] +Color=0,0,0 + +[ForegroundIntense] +Bold=true +Color=0,0,0 + +[ForegroundFaint] +Color=0,0,0 + +[General] +Description=Black on Light Yellow +Opacity=1 diff --git a/lib/color-schemes/BlackOnLightYellow.schema b/lib/color-schemes/BlackOnLightYellow.schema deleted file mode 100644 index 251a696..0000000 --- a/lib/color-schemes/BlackOnLightYellow.schema +++ /dev/null @@ -1,42 +0,0 @@ -# example scheme for konsole - -# the title is to appear in the menu. - -title Black on Light Yellow - -# foreground colors - -# note that the default background color is flagged -# to become transparent when an image is present. - -# slot transparent bold -# | | | -# V V--color--V V V - -color 0 0 0 0 0 0 # regular foreground color (Black) -color 1 255 255 221 1 0 # regular background color (Light Yellow) - -color 2 0 0 0 0 0 # regular color 0 Black -color 3 178 24 24 0 0 # regular color 1 Red -color 4 24 178 24 0 0 # regular color 2 Green -color 5 178 104 24 0 0 # regular color 3 Yellow -color 6 24 24 178 0 0 # regular color 4 Blue -color 7 178 24 178 0 0 # regular color 5 Magenta -color 8 24 178 178 0 0 # regular color 6 Cyan -color 9 178 178 178 0 0 # regular color 7 White - -# intensive colors - -# instead of changing the colors, we've flaged the text to become bold - -color 10 0 0 0 0 1 # intensive foreground color -color 11 255 255 221 1 0 # intensive background color - -color 12 104 104 104 0 0 # intensive color 0 -color 13 255 84 84 0 0 # intensive color 1 -color 14 84 255 84 0 0 # intensive color 2 -color 15 255 255 84 0 0 # intensive color 3 -color 16 84 84 255 0 0 # intensive color 4 -color 17 255 84 255 0 0 # intensive color 5 -color 18 84 255 255 0 0 # intensive color 6 -color 19 255 255 255 0 0 # intensive color 7 diff --git a/lib/color-schemes/BlackOnWhite.colorscheme b/lib/color-schemes/BlackOnWhite.colorscheme new file mode 100644 index 0000000..73cc3c8 --- /dev/null +++ b/lib/color-schemes/BlackOnWhite.colorscheme @@ -0,0 +1,94 @@ +[Background] +Color=255,255,255 + +[BackgroundIntense] +Color=255,255,255 + +[BackgroundFaint] +Color=255,255,255 + +[Color0] +Color=0,0,0 + +[Color0Intense] +Color=104,104,104 + +[Color0Faint] +Color=192,192,192 + +[Color1] +Color=178,24,24 + +[Color1Intense] +Color=255,84,84 + +[Color1Faint] +Color=224,142,142 + +[Color2] +Color=24,178,24 + +[Color2Intense] +Color=84,255,84 + +[Color2Faint] +Color=142,224,142 + +[Color3] +Color=178,104,24 + +[Color3Intense] +Color=255,255,84 + +[Color3Faint] +Color=224,224,142 + +[Color4] +Color=24,24,178 + +[Color4Intense] +Color=84,84,255 + +[Color4Faint] +Color=142,142,224 + +[Color5] +Color=178,24,178 + +[Color5Intense] +Color=255,84,255 + +[Color5Faint] +Color=224,142,224 + +[Color6] +Color=24,178,178 + +[Color6Intense] +Color=84,255,255 + +[Color6Faint] +Color=142,224,224 + +[Color7] +Color=178,178,178 + +[Color7Intense] +Color=255,255,255 + +[Color7Faint] +Color=142,142,142 + +[Foreground] +Color=0,0,0 + +[ForegroundIntense] +Bold=true +Color=0,0,0 + +[ForegroundFaint] +Color=0,0,0 + +[General] +Description=Black on White +Opacity=1 diff --git a/lib/color-schemes/BlackOnWhite.schema b/lib/color-schemes/BlackOnWhite.schema deleted file mode 100644 index 11853e6..0000000 --- a/lib/color-schemes/BlackOnWhite.schema +++ /dev/null @@ -1,42 +0,0 @@ -# example scheme for konsole - -# the title is to appear in the menu. - -title Black on White - -# foreground colors - -# note that the default background color is flagged -# to become transparent when an image is present. - -# slot transparent bold -# | | | -# V V--color--V V V - -color 0 0 0 0 0 0 # regular foreground color (Black) -color 1 255 255 255 1 0 # regular background color (White) - -color 2 0 0 0 0 0 # regular color 0 Black -color 3 178 24 24 0 0 # regular color 1 Red -color 4 24 178 24 0 0 # regular color 2 Green -color 5 178 104 24 0 0 # regular color 3 Yellow -color 6 24 24 178 0 0 # regular color 4 Blue -color 7 178 24 178 0 0 # regular color 5 Magenta -color 8 24 178 178 0 0 # regular color 6 Cyan -color 9 178 178 178 0 0 # regular color 7 White - -# intensive colors - -# instead of changing the colors, we've flaged the text to become bold - -color 10 0 0 0 0 1 # intensive foreground color -color 11 255 255 255 1 0 # intensive background color - -color 12 104 104 104 0 0 # intensive color 0 -color 13 255 84 84 0 0 # intensive color 1 -color 14 84 255 84 0 0 # intensive color 2 -color 15 255 255 84 0 0 # intensive color 3 -color 16 84 84 255 0 0 # intensive color 4 -color 17 255 84 255 0 0 # intensive color 5 -color 18 84 255 255 0 0 # intensive color 6 -color 19 255 255 255 0 0 # intensive color 7 diff --git a/lib/color-schemes/WhiteOnBlack.colorscheme b/lib/color-schemes/WhiteOnBlack.colorscheme new file mode 100644 index 0000000..c3d801d --- /dev/null +++ b/lib/color-schemes/WhiteOnBlack.colorscheme @@ -0,0 +1,94 @@ +[Background] +Color=0,0,0 + +[BackgroundIntense] +Color=0,0,0 + +[BackgroundFaint] +Color=0,0,0 + +[Color0] +Color=0,0,0 + +[Color0Intense] +Color=104,104,104 + +[Color0Faint] +Color=24,24,24 + +[Color1] +Color=178,24,24 + +[Color1Intense] +Color=255,84,84 + +[Color1Faint] +Color=101,0,0 + +[Color2] +Color=24,178,24 + +[Color2Intense] +Color=84,255,84 + +[Color2Faint] +Color=0,101,0 + +[Color3] +Color=178,104,24 + +[Color3Intense] +Color=255,255,84 + +[Color3Faint] +Color=101,74,0 + +[Color4] +Color=24,24,178 + +[Color4Intense] +Color=84,84,255 + +[Color4Faint] +Color=0,0,101 + +[Color5] +Color=178,24,178 + +[Color5Intense] +Color=255,84,255 + +[Color5Faint] +Color=95,5,95 + +[Color6] +Color=24,178,178 + +[Color6Intense] +Color=84,255,255 + +[Color6Faint] +Color=24,178,178 + +[Color7] +Color=178,178,178 + +[Color7Intense] +Color=255,255,255 + +[Color7Faint] +Color=101,101,101 + +[Foreground] +Color=255,255,255 + +[ForegroundIntense] +Bold=true +Color=255,255,255 + +[ForegroundFaint] +Color=255,255,255 + +[General] +Description=White on Black +Opacity=1 diff --git a/lib/color-schemes/WhiteOnBlack.schema b/lib/color-schemes/WhiteOnBlack.schema deleted file mode 100644 index 05c5bc0..0000000 --- a/lib/color-schemes/WhiteOnBlack.schema +++ /dev/null @@ -1,42 +0,0 @@ -# example scheme for konsole - -# the title is to appear in the menu. - -title White on Black - -# foreground colors - -# note that the default background color is flagged -# to become transparent when an image is present. - -# slot transparent bold -# | | | -# V V--color--V V V - -color 0 255 255 255 0 0 # regular foreground color (White) -color 1 0 0 0 1 0 # regular background color (Black) - -color 2 0 0 0 0 0 # regular color 0 Black -color 3 178 24 24 0 0 # regular color 1 Red -color 4 24 178 24 0 0 # regular color 2 Green -color 5 178 104 24 0 0 # regular color 3 Yellow -color 6 24 24 178 0 0 # regular color 4 Blue -color 7 178 24 178 0 0 # regular color 5 Magenta -color 8 24 178 178 0 0 # regular color 6 Cyan -color 9 178 178 178 0 0 # regular color 7 White - -# intensive colors - -# instead of changing the colors, we've flaged the text to become bold - -color 10 255 255 255 0 1 # intensive foreground color -color 11 0 0 0 1 0 # intensive background color - -color 12 104 104 104 0 0 # intensive color 0 -color 13 255 84 84 0 0 # intensive color 1 -color 14 84 255 84 0 0 # intensive color 2 -color 15 255 255 84 0 0 # intensive color 3 -color 16 84 84 255 0 0 # intensive color 4 -color 17 255 84 255 0 0 # intensive color 5 -color 18 84 255 255 0 0 # intensive color 6 -color 19 255 255 255 0 0 # intensive color 7 From f89bcee1359a1dd6a6cc3458f34a13142fa45f5a Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Sat, 28 Nov 2020 10:21:56 +0100 Subject: [PATCH 120/162] Translations update from Weblate (#373) * Weblate commits Co-authored-by: EltonFF Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/pt_BR/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Kaijie Chen Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/zh_Hans/ Translation: LXQt Desktop/qtermwidget Co-authored-by: EltonFF Co-authored-by: Kaijie Chen --- lib/translations/qtermwidget_pt_BR.ts | 8 ++++---- lib/translations/qtermwidget_zh_CN.ts | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/translations/qtermwidget_pt_BR.ts b/lib/translations/qtermwidget_pt_BR.ts index 2ae1de8..b0d531c 100644 --- a/lib/translations/qtermwidget_pt_BR.ts +++ b/lib/translations/qtermwidget_pt_BR.ts @@ -6,22 +6,22 @@ Bell in session '%1' - + Campainha na sessão '%1' Session '%1' exited with status %2. - + A sessão '%1' encerrada com status %2. Session '%1' crashed. - + A sessão '%1' travada. Session '%1' exited unexpectedly. - + A sessão '%1' foi encerrada inesperadamente. diff --git a/lib/translations/qtermwidget_zh_CN.ts b/lib/translations/qtermwidget_zh_CN.ts index c073bda..c42ce86 100644 --- a/lib/translations/qtermwidget_zh_CN.ts +++ b/lib/translations/qtermwidget_zh_CN.ts @@ -6,22 +6,22 @@ Bell in session '%1' - + 在会话中响铃 '%1' Session '%1' exited with status %2. - + 会话'%1' 以状态 %2 退出。 Session '%1' crashed. - + 会话 '%1' 奔溃了。 Session '%1' exited unexpectedly. - + 会话 '%1' 意外退出了。 From c0c8d3597018206b130c2d9183da82bbdf5a0617 Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Mon, 30 Nov 2020 19:52:15 +0100 Subject: [PATCH 121/162] Weblate commits (#374) Co-authored-by: Standreas Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/it/ Translation: LXQt Desktop/qtermwidget Co-authored-by: Standreas --- lib/translations/qtermwidget_it.ts | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/translations/qtermwidget_it.ts b/lib/translations/qtermwidget_it.ts index 28c8d88..82c28d3 100644 --- a/lib/translations/qtermwidget_it.ts +++ b/lib/translations/qtermwidget_it.ts @@ -6,12 +6,12 @@ Bell in session '%1' - + Campanello in sessione '%1' Session '%1' exited with status %2. - + Sessione '%1' terminata con stato %2. @@ -21,7 +21,7 @@ Session '%1' exited unexpectedly. - + Sessione '%1' terminata inaspettatamente. @@ -29,17 +29,17 @@ Size: XXX x XXX - + Dimensione: XXX x XXX Size: %1 x %2 - + Dimensione: %1 x %2 <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> - + <qt>L'output è stato <a href="https://it.wikipedia.org/wiki/Controllo_di_flusso">sospeso</a> premendo Ctrl+S. Premi <b>Ctrl+Q</b> per riprendere.</qt> @@ -47,7 +47,7 @@ No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. - + Nessuno traduttore di tastiera disponibile. L'informazione necessaria per convertire tasti in caratteri da inviare al terminale è mancante. @@ -56,32 +56,32 @@ Un-named Color Scheme - + Schema Colore senza nome Accessible Color Scheme - + Schema Colore Accessibile Open Link - + Apri collegamento Copy Link Address - + Copia indirizzo collegamento Send Email To... - + Invia email a... Copy Email Address - + Copia indirizzo email @@ -94,7 +94,7 @@ Cannot load color scheme: %1 - + Caricamento schema colore %1 non riuscito From 1ba4685144a6d3cb331414d296d4146e05fe3625 Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Mon, 7 Dec 2020 19:53:40 +0100 Subject: [PATCH 122/162] Translations update from Weblate (#375) * Weblate commits Co-authored-by: Saverio Brancaccio Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/it/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Mincho Kondarev Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/bg/ Translation: LXQt Desktop/qtermwidget Co-authored-by: Saverio Brancaccio Co-authored-by: Mincho Kondarev --- lib/translations/qtermwidget_bg.ts | 148 +++++++++++++++++++++++++++++ lib/translations/qtermwidget_it.ts | 8 +- 2 files changed, 152 insertions(+), 4 deletions(-) create mode 100644 lib/translations/qtermwidget_bg.ts diff --git a/lib/translations/qtermwidget_bg.ts b/lib/translations/qtermwidget_bg.ts new file mode 100644 index 0000000..0976704 --- /dev/null +++ b/lib/translations/qtermwidget_bg.ts @@ -0,0 +1,148 @@ + + + + + Konsole::Session + + + Bell in session '%1' + Звънец в сесия '%1' + + + + Session '%1' exited with status %2. + Сесия '%1' завърши със статус %2. + + + + Session '%1' crashed. + Сесия '%1' се срина. + + + + Session '%1' exited unexpectedly. + Сесия '%1' завърши неочаквано. + + + + Konsole::TerminalDisplay + + + Size: XXX x XXX + Размер: XXX x XXX + + + + Size: %1 x %2 + Размер: %1 x %2 + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> + <qt>Предаването на данни <a href="http://en.wikipedia.org/wiki/Flow_control">прекъсна</a> при натискане на Ctrl+S. Натиснете <b>Ctrl+Q</b> за възстановяване.</qt> + + + + Konsole::Vt102Emulation + + + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. + Няма наличен транслатор за клавиатура. Липсва информацията, необходима за преобразуване на клавишите в символи за изпращане до терминала. + + + + QObject + + + + Un-named Color Scheme + Цветна схема без име + + + + Accessible Color Scheme + Достъпна цветна схема + + + + Open Link + Отваряне на Връзка + + + + Copy Link Address + Копиране адреса на връзката + + + + Send Email To... + Изпращане E-Mail на... + + + + Copy Email Address + Копиране E-Mail адреса + + + + QTermWidget + + + Color Scheme Error + Грешка в цветовата схема + + + + Cannot load color scheme: %1 + Цветна схема %1 не може да се зареди + + + + SearchBar + + + Match case + Зачитане на регистъра + + + + Regular expression + Регулярен израз + + + + Highlight all matches + Маркиране всички съвпадения + + + + SearchBar + Лента за търсене + + + + X + X + + + + Find: + Търсене: + + + + < + < + + + + > + > + + + + ... + ... + + + diff --git a/lib/translations/qtermwidget_it.ts b/lib/translations/qtermwidget_it.ts index 82c28d3..b133957 100644 --- a/lib/translations/qtermwidget_it.ts +++ b/lib/translations/qtermwidget_it.ts @@ -16,7 +16,7 @@ Session '%1' crashed. - + Sessione '%1' terminata inaspettatamente. @@ -89,7 +89,7 @@ Color Scheme Error - + Errore su Schema Colori @@ -122,7 +122,7 @@ X - + X @@ -137,7 +137,7 @@ > - + > From 75151677cfca2f46928ed22f2ba1352c6670195b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Tue, 8 Dec 2020 00:55:35 +0000 Subject: [PATCH 123/162] Adapt to use Qt5.15 Qt::SplitBehavior --- lib/qtermwidget.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index c50472d..7254f8b 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -267,7 +267,11 @@ void QTermWidget::init(int startnow) // translations // First check $XDG_DATA_DIRS. This follows the implementation in libqtxdg QString d = QFile::decodeName(qgetenv("XDG_DATA_DIRS")); +#if (QT_VERSION >= QT_VERSION_CHECK(5,15,0)) + QStringList dirs = d.split(QLatin1Char(':'), Qt::SkipEmptyParts); +#else QStringList dirs = d.split(QLatin1Char(':'), QString::SkipEmptyParts); +#endif if (dirs.isEmpty()) { dirs.append(QString::fromLatin1("/usr/local/share")); dirs.append(QString::fromLatin1("/usr/share")); From f9bc351e879fb01863015be05d562620dcda4ebe Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Fri, 11 Dec 2020 10:54:33 +0100 Subject: [PATCH 124/162] Translations update from Weblate (#379) * Weblate commits Co-authored-by: Hugo Carvalho * Weblate commits Co-authored-by: Standreas * Weblate commits Co-authored-by: Mehmet Akif Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/tr/ Translation: LXQt Desktop/qtermwidget Co-authored-by: Hugo Carvalho Co-authored-by: Standreas Co-authored-by: Mehmet Akif --- lib/translations/qtermwidget_tr.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/translations/qtermwidget_tr.ts b/lib/translations/qtermwidget_tr.ts index d482026..104ef26 100644 --- a/lib/translations/qtermwidget_tr.ts +++ b/lib/translations/qtermwidget_tr.ts @@ -6,22 +6,22 @@ Bell in session '%1' - + '%1'. oturumda zil Session '%1' exited with status %2. - + '%1' oturum %2 koduyla kapandı. Session '%1' crashed. - + '%1' oturumu çöktü. Session '%1' exited unexpectedly. - + '%1' oturumu beklenmedik şekilde kapandı. From a3f3c0c7a743d3b11095206613103074984e09d3 Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Sat, 12 Dec 2020 22:15:00 +0100 Subject: [PATCH 125/162] Translations update from Weblate (#382) * Weblate commits Co-authored-by: Hugo Carvalho * Weblate commits Co-authored-by: Standreas * Weblate commits Co-authored-by: Moo Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/lt/ Translation: LXQt Desktop/qtermwidget Co-authored-by: Hugo Carvalho Co-authored-by: Standreas Co-authored-by: Moo --- lib/translations/qtermwidget_lt.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/translations/qtermwidget_lt.ts b/lib/translations/qtermwidget_lt.ts index 9b416af..d3b4960 100644 --- a/lib/translations/qtermwidget_lt.ts +++ b/lib/translations/qtermwidget_lt.ts @@ -6,22 +6,22 @@ Bell in session '%1' - + Skambutis “%1„ seanse Session '%1' exited with status %2. - + Seansas „%1“ išėjo su būsena %2. Session '%1' crashed. - + Seansas „%1“ užstrigo. Session '%1' exited unexpectedly. - + Seansas „%1“ netikėtai išėjo. From 645a0539f49d126138d8ae33a139304509cb0d6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Thu, 10 Dec 2020 15:06:15 +0000 Subject: [PATCH 126/162] Use Qt::endl --- lib/kpty.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/kpty.cpp b/lib/kpty.cpp index 7b5bd7e..f65dc7b 100644 --- a/lib/kpty.cpp +++ b/lib/kpty.cpp @@ -337,7 +337,12 @@ gotpty: !d->chownpty(true)) { qWarning() << "chownpty failed for device " << ptyName << "::" << d->ttyName - << "\nThis means the communication can be eavesdropped." << endl; + << "\nThis means the communication can be eavesdropped." +#if (QT_VERSION >= QT_VERSION_CHECK(5,15,0)) + << Qt::endl; +#else + << endl; +#endif } #if defined (HAVE__GETPTY) || defined (HAVE_GRANTPT) From 62be87604c17f22d2aa1732012048bab93ab13db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Thu, 10 Dec 2020 16:49:53 +0000 Subject: [PATCH 127/162] Use QProcess::processId() KProcess::pid() can be dropped and just use QProcess::processId() --- lib/Session.cpp | 4 ++-- lib/kprocess.cpp | 10 ---------- lib/kprocess.h | 12 ------------ lib/kptyprocess.cpp | 2 +- lib/kptyprocess.h | 2 +- 5 files changed, 4 insertions(+), 26 deletions(-) diff --git a/lib/Session.cpp b/lib/Session.cpp index b7bd03e..98f2bbe 100644 --- a/lib/Session.cpp +++ b/lib/Session.cpp @@ -539,7 +539,7 @@ void Session::refresh() bool Session::sendSignal(int signal) { - int result = ::kill(_shellProcess->pid(),signal); + int result = ::kill(static_cast(_shellProcess->processId()),signal); if ( result == 0 ) { @@ -928,7 +928,7 @@ int Session::foregroundProcessId() const } int Session::processId() const { - return _shellProcess->pid(); + return static_cast(_shellProcess->processId()); } int Session::getPtySlaveFd() const { diff --git a/lib/kprocess.cpp b/lib/kprocess.cpp index e9c3b46..904e1bb 100644 --- a/lib/kprocess.cpp +++ b/lib/kprocess.cpp @@ -400,13 +400,3 @@ int KProcess::startDetached(const QStringList &argv) QString prog = args.takeFirst(); return startDetached(prog, args); } - -int KProcess::pid() const -{ -#ifdef Q_OS_UNIX - return (int) QProcess::pid(); -#else - return QProcess::pid() ? QProcess::pid()->dwProcessId : 0; -#endif -} - diff --git a/lib/kprocess.h b/lib/kprocess.h index 9fbfb4e..ad2f05e 100644 --- a/lib/kprocess.h +++ b/lib/kprocess.h @@ -311,18 +311,6 @@ public: */ static int startDetached(const QStringList &argv); - /** - * Obtain the process' ID as known to the system. - * - * Unlike with QProcess::pid(), this is a real PID also on Windows. - * - * This function can be called only while the process is running. - * It cannot be applied to detached processes. - * - * @return the process ID - */ - int pid() const; - protected: /** * @internal diff --git a/lib/kptyprocess.cpp b/lib/kptyprocess.cpp index b61fd53..5c829fd 100644 --- a/lib/kptyprocess.cpp +++ b/lib/kptyprocess.cpp @@ -77,7 +77,7 @@ KPtyProcess::~KPtyProcess() if (state() != QProcess::NotRunning) { qWarning() << Q_FUNC_INFO << "the terminal process is still running, trying to stop it by SIGHUP"; - ::kill(pid(), SIGHUP); + ::kill(static_cast(processId()), SIGHUP); waitForFinished(300); if (state() != QProcess::NotRunning) qCritical() << Q_FUNC_INFO << "process didn't stop upon SIGHUP and will be SIGKILL-ed"; diff --git a/lib/kptyprocess.h b/lib/kptyprocess.h index ae1166e..3491b35 100644 --- a/lib/kptyprocess.h +++ b/lib/kptyprocess.h @@ -102,7 +102,7 @@ public: bool isRunning() const { bool rval; - (pid() > 0) ? rval= true : rval= false; + (processId() > 0) ? rval= true : rval= false; return rval; } From 4004442215c1359d488921c06a020d6bf8cadf4d Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Thu, 17 Dec 2020 18:33:27 +0100 Subject: [PATCH 128/162] Weblate commits (#386) Co-authored-by: Standreas Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/it/ Translation: LXQt Desktop/qtermwidget Co-authored-by: Standreas --- lib/translations/qtermwidget_it.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/translations/qtermwidget_it.ts b/lib/translations/qtermwidget_it.ts index b133957..a27fc17 100644 --- a/lib/translations/qtermwidget_it.ts +++ b/lib/translations/qtermwidget_it.ts @@ -132,7 +132,7 @@ < - + < @@ -142,7 +142,7 @@ ... - + ... From c424bf0989184f0baefb85b7de04f67a5f1e424f Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Wed, 23 Dec 2020 08:08:22 +0100 Subject: [PATCH 129/162] Translations update from Weblate (#393) * Weblate commits Co-authored-by: scootergrisen Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/da/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: milotype Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/hr/ Translation: LXQt Desktop/qtermwidget Co-authored-by: scootergrisen Co-authored-by: milotype --- lib/translations/qtermwidget_da.ts | 8 ++++---- lib/translations/qtermwidget_hr.ts | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/translations/qtermwidget_da.ts b/lib/translations/qtermwidget_da.ts index abd09c0..dd4f455 100644 --- a/lib/translations/qtermwidget_da.ts +++ b/lib/translations/qtermwidget_da.ts @@ -6,22 +6,22 @@ Bell in session '%1' - + Bell i session '%1' Session '%1' exited with status %2. - + Session '%1' afsluttede med status %2. Session '%1' crashed. - + Session '%1' holdt op med at virke. Session '%1' exited unexpectedly. - + Session '%1' afsluttede uventet. diff --git a/lib/translations/qtermwidget_hr.ts b/lib/translations/qtermwidget_hr.ts index f5cd4c6..6bfe5d2 100644 --- a/lib/translations/qtermwidget_hr.ts +++ b/lib/translations/qtermwidget_hr.ts @@ -6,22 +6,22 @@ Bell in session '%1' - + Zvono u sesiji „%1“ Session '%1' exited with status %2. - + Sesija „%1“ je prekinuta sa stanjem %2. Session '%1' crashed. - + Fatalna greška u sesiji „%1“. Session '%1' exited unexpectedly. - + Sesija „%1“ je nenadano prekinuta. From 7514ebbe1a54be25a8b5d63eb9bc9f71fc637196 Mon Sep 17 00:00:00 2001 From: Tsu Jan Date: Sun, 20 Dec 2020 20:57:26 +0330 Subject: [PATCH 130/162] Added a QTermWidget method to disable bracketed paste mode Will be followed and used by a QTerminal patch. --- lib/TerminalDisplay.cpp | 3 ++- lib/TerminalDisplay.h | 4 ++++ lib/qtermwidget.cpp | 10 ++++++++++ lib/qtermwidget.h | 4 ++++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index ce149bd..f32682a 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -333,6 +333,7 @@ TerminalDisplay::TerminalDisplay(QWidget *parent) ,_terminalSizeStartup(true) ,_bidiEnabled(false) ,_mouseMarks(false) +,_disabledBracketedPasteMode(false) ,_actSel(0) ,_wordSelectionMode(false) ,_lineSelectionMode(false) @@ -2672,7 +2673,7 @@ void TerminalDisplay::emitSelection(bool useXselection,bool appendReturn) void TerminalDisplay::bracketText(QString& text) { - if (bracketedPasteMode()) + if (bracketedPasteMode() && !_disabledBracketedPasteMode) { text.prepend(QLatin1String("\033[200~")); text.append(QLatin1String("\033[201~")); diff --git a/lib/TerminalDisplay.h b/lib/TerminalDisplay.h index 9c47c17..40ce3e0 100644 --- a/lib/TerminalDisplay.h +++ b/lib/TerminalDisplay.h @@ -418,6 +418,9 @@ public: // of the character at that point. void getCharacterPosition(const QPoint& widgetPoint,int& line,int& column) const; + void disableBracketedPasteMode(bool disable) { _disabledBracketedPasteMode = disable; } + bool bracketedPasteModeIsDisabled() const { return _disabledBracketedPasteMode; } + public slots: /** @@ -753,6 +756,7 @@ private: bool _bidiEnabled; bool _mouseMarks; bool _bracketedPasteMode; + bool _disabledBracketedPasteMode; QPoint _iPntSel; // initial selection point QPoint _pntSel; // current selection point diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index 7254f8b..594a44a 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -533,6 +533,16 @@ void QTermWidget::bracketText(QString& text) m_impl->m_terminalDisplay->bracketText(text); } +void QTermWidget::disableBracketedPasteMode(bool disable) +{ + m_impl->m_terminalDisplay->disableBracketedPasteMode(disable); +} + +bool QTermWidget::bracketedPasteModeIsDisabled() const +{ + return m_impl->m_terminalDisplay->bracketedPasteModeIsDisabled(); +} + void QTermWidget::copyClipboard() { m_impl->m_terminalDisplay->copyClipboard(); diff --git a/lib/qtermwidget.h b/lib/qtermwidget.h index 8bc2f09..ec12aac 100644 --- a/lib/qtermwidget.h +++ b/lib/qtermwidget.h @@ -226,6 +226,10 @@ public: /** change and wrap text corresponding to paste mode **/ void bracketText(QString& text); + /** forcefully disable bracketed paste mode **/ + void disableBracketedPasteMode(bool disable); + bool bracketedPasteModeIsDisabled() const; + /** Set the empty space outside the terminal */ void setMargin(int); From 380e8123736920df7aea0f56d3fb22e85efcaa7f Mon Sep 17 00:00:00 2001 From: willbelr Date: Thu, 24 Dec 2020 08:44:23 -0500 Subject: [PATCH 131/162] Added an example for PyQt5 (#389) * added pyqt5 example * fixed example path on build * improved pyqt example * simplified example --- CMakeLists.txt | 2 +- example/README | 1 - examples/README | 1 + .../cpp}/RemoteTerm/README.md | 0 .../cpp}/RemoteTerm/RemoteTerm.pro | 0 {example => examples/cpp}/RemoteTerm/main.cpp | 0 .../cpp}/RemoteTerm/remoteterm.cpp | 0 .../cpp}/RemoteTerm/remoteterm.h | 0 .../cpp}/RemoteTerm/shell-srv.py | 0 {example => examples/cpp}/main.cpp | 0 examples/pyqt/main.py | 22 +++++++++++++++++++ 11 files changed, 24 insertions(+), 2 deletions(-) delete mode 100644 example/README create mode 100644 examples/README rename {example => examples/cpp}/RemoteTerm/README.md (100%) rename {example => examples/cpp}/RemoteTerm/RemoteTerm.pro (100%) rename {example => examples/cpp}/RemoteTerm/main.cpp (100%) rename {example => examples/cpp}/RemoteTerm/remoteterm.cpp (100%) rename {example => examples/cpp}/RemoteTerm/remoteterm.h (100%) rename {example => examples/cpp}/RemoteTerm/shell-srv.py (100%) rename {example => examples/cpp}/main.cpp (100%) create mode 100755 examples/pyqt/main.py diff --git a/CMakeLists.txt b/CMakeLists.txt index 288424c..6e2de3e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -308,7 +308,7 @@ export(TARGETS ${QTERMWIDGET_LIBRARY_NAME} # example application if(BUILD_EXAMPLE) - set(EXAMPLE_SRC example/main.cpp) + set(EXAMPLE_SRC examples/cpp/main.cpp) add_executable(example ${EXAMPLE_SRC}) target_link_libraries(example ${QTERMWIDGET_LIBRARY_NAME}) endif() diff --git a/example/README b/example/README deleted file mode 100644 index 7f1b85d..0000000 --- a/example/README +++ /dev/null @@ -1 +0,0 @@ -here is sample program which uses QTermWidet for displaying a terminal \ No newline at end of file diff --git a/examples/README b/examples/README new file mode 100644 index 0000000..a985b57 --- /dev/null +++ b/examples/README @@ -0,0 +1 @@ +Here are two sample programs which use QTermWidget for displaying a terminal diff --git a/example/RemoteTerm/README.md b/examples/cpp/RemoteTerm/README.md similarity index 100% rename from example/RemoteTerm/README.md rename to examples/cpp/RemoteTerm/README.md diff --git a/example/RemoteTerm/RemoteTerm.pro b/examples/cpp/RemoteTerm/RemoteTerm.pro similarity index 100% rename from example/RemoteTerm/RemoteTerm.pro rename to examples/cpp/RemoteTerm/RemoteTerm.pro diff --git a/example/RemoteTerm/main.cpp b/examples/cpp/RemoteTerm/main.cpp similarity index 100% rename from example/RemoteTerm/main.cpp rename to examples/cpp/RemoteTerm/main.cpp diff --git a/example/RemoteTerm/remoteterm.cpp b/examples/cpp/RemoteTerm/remoteterm.cpp similarity index 100% rename from example/RemoteTerm/remoteterm.cpp rename to examples/cpp/RemoteTerm/remoteterm.cpp diff --git a/example/RemoteTerm/remoteterm.h b/examples/cpp/RemoteTerm/remoteterm.h similarity index 100% rename from example/RemoteTerm/remoteterm.h rename to examples/cpp/RemoteTerm/remoteterm.h diff --git a/example/RemoteTerm/shell-srv.py b/examples/cpp/RemoteTerm/shell-srv.py similarity index 100% rename from example/RemoteTerm/shell-srv.py rename to examples/cpp/RemoteTerm/shell-srv.py diff --git a/example/main.cpp b/examples/cpp/main.cpp similarity index 100% rename from example/main.cpp rename to examples/cpp/main.cpp diff --git a/examples/pyqt/main.py b/examples/pyqt/main.py new file mode 100755 index 0000000..5d5a8ef --- /dev/null +++ b/examples/pyqt/main.py @@ -0,0 +1,22 @@ +#!/usr/bin/python3 +from PyQt5 import QtWidgets +from QTermWidget import QTermWidget + + +class Terminal(QTermWidget): + def __init__(self, process: str, args: list): + super().__init__(0) + self.finished.connect(self.close) + self.setTerminalSizeHint(False) + self.setColorScheme("DarkPastels") + self.setShellProgram(process) + self.setArgs(args) + self.startShellProgram() + self.show() + + +if __name__ == "__main__": + app = QtWidgets.QApplication([]) + args = ["--clean", "--noplugin"] + term = Terminal("vim", args) + app.exec() From 5b1a15bef85af9b5c2e5c64dba201dd09e569c2b Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Fri, 25 Dec 2020 21:11:57 +0800 Subject: [PATCH 132/162] Move to GitHub Actions See https://github.com/lxqt/lxqt/issues/1644#issuecomment-751235417 --- .ci/build.sh | 19 +++++++++++++------ .github/workflows/test.yml | 13 +++++++++++++ .travis.yml | 25 ------------------------- 3 files changed, 26 insertions(+), 31 deletions(-) create mode 100644 .github/workflows/test.yml delete mode 100644 .travis.yml diff --git a/.ci/build.sh b/.ci/build.sh index 0610c36..70c391c 100644 --- a/.ci/build.sh +++ b/.ci/build.sh @@ -1,10 +1,17 @@ set -ex -mkdir build -cd build -cmake \ +cat >> /etc/pacman.conf < Date: Thu, 17 Sep 2020 00:39:03 +0800 Subject: [PATCH 133/162] Improve "Undecodable sequence" warnings Using Qt logging utilities instead of printf so that those warnings can be enabled/disabled. Those warnings are disabled by default. To enable them, use QT_LOGGING_RULES="qtermwidget.debug=true". Also improve the formatting. An example warning: Undecodable sequence: "\u001B[22;0;0t" Closes https://github.com/lxqt/qterminal/issues/640 --- lib/Vt102Emulation.cpp | 21 +++------------------ lib/tools.cpp | 2 ++ lib/tools.h | 3 +++ 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/lib/Vt102Emulation.cpp b/lib/Vt102Emulation.cpp index 85febc4..4489e4c 100644 --- a/lib/Vt102Emulation.cpp +++ b/lib/Vt102Emulation.cpp @@ -22,6 +22,7 @@ // Own #include "Vt102Emulation.h" +#include "tools.h" // XKB //#include @@ -45,6 +46,7 @@ #include #include #include +#include // KDE //#include @@ -1360,28 +1362,11 @@ char Vt102Emulation::eraseChar() const return '\b'; } -// print contents of the scan buffer -static void hexdump(wchar_t* s, int len) -{ int i; - for (i = 0; i < len; i++) - { - if (s[i] == '\\') - printf("\\\\"); - else - if ((s[i]) > 32 && s[i] < 127) - printf("%c",s[i]); - else - printf("\\%04x(hex)",s[i]); - } -} - void Vt102Emulation::reportDecodingError() { if (tokenBufferPos == 0 || ( tokenBufferPos == 1 && (tokenBuffer[0] & 0xff) >= 32) ) return; - printf("Undecodable sequence: "); - hexdump(tokenBuffer,tokenBufferPos); - printf("\n"); + qCDebug(qtermwidgetLogger) << "Undecodable sequence:" << QString::fromWCharArray(tokenBuffer, tokenBufferPos); } //#include "Vt102Emulation.moc" diff --git a/lib/tools.cpp b/lib/tools.cpp index 4729e8f..4291fae 100644 --- a/lib/tools.cpp +++ b/lib/tools.cpp @@ -5,6 +5,8 @@ #include +Q_LOGGING_CATEGORY(qtermwidgetLogger, "qtermwidget", QtWarningMsg) + /*! Helper function to get possible location of layout files. By default the KB_LAYOUT_DIR is used (linux/BSD/macports). But in some cases (apple bundle) there can be more locations). diff --git a/lib/tools.h b/lib/tools.h index 455037e..239689b 100644 --- a/lib/tools.h +++ b/lib/tools.h @@ -3,9 +3,12 @@ #include #include +#include QString get_kb_layout_dir(); void add_custom_color_scheme_dir(const QString& custom_dir); const QStringList get_color_schemes_dirs(); +Q_DECLARE_LOGGING_CATEGORY(qtermwidgetLogger) + #endif From 71f804976045dbebb8de2f5ebd7e2141e16c35e0 Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Mon, 30 Nov 2020 02:11:09 +0800 Subject: [PATCH 134/162] Properly implement the "Action after paste" feature Scroll to end only when data is not from pasting Fixes https://github.com/lxqt/qterminal/issues/43 Fixes https://github.com/lxqt/qterminal/issues/741 --- lib/Emulation.cpp | 4 +++- lib/Emulation.h | 3 ++- lib/Session.cpp | 6 ++--- lib/TerminalDisplay.cpp | 51 +++++++++++++++++------------------------ lib/TerminalDisplay.h | 2 +- lib/Vt102Emulation.cpp | 7 ++++-- lib/Vt102Emulation.h | 2 +- lib/qtermwidget.cpp | 4 ++-- 8 files changed, 38 insertions(+), 41 deletions(-) diff --git a/lib/Emulation.cpp b/lib/Emulation.cpp index e599b21..001d15b 100644 --- a/lib/Emulation.cpp +++ b/lib/Emulation.cpp @@ -112,6 +112,8 @@ ScreenWindow* Emulation::createWindow() connect(this, &Emulation::handleCommandFromKeyboard, window, &ScreenWindow::handleCommandFromKeyboard); + connect(this, &Emulation::outputFromKeypressEvent, + window, &ScreenWindow::scrollToEnd); return window; } @@ -210,7 +212,7 @@ void Emulation::receiveChar(wchar_t c) }; } -void Emulation::sendKeyEvent( QKeyEvent* ev ) +void Emulation::sendKeyEvent(QKeyEvent* ev, bool) { emit stateSet(NOTIFYNORMAL); diff --git a/lib/Emulation.h b/lib/Emulation.h index 4bb6a97..7d2263b 100644 --- a/lib/Emulation.h +++ b/lib/Emulation.h @@ -253,7 +253,7 @@ public slots: * Interprets a key press event and emits the sendData() signal with * the resulting character stream. */ - virtual void sendKeyEvent(QKeyEvent*); + virtual void sendKeyEvent(QKeyEvent*, bool fromPaste); /** * Converts information about a mouse event into an xterm-compatible escape @@ -443,6 +443,7 @@ signals: void cursorChanged(KeyboardCursorShape cursorShape, bool blinkingCursorEnabled); void handleCommandFromKeyboard(KeyboardTranslator::Command command); + void outputFromKeypressEvent(void); protected: virtual void setMode(int mode) = 0; diff --git a/lib/Session.cpp b/lib/Session.cpp index 98f2bbe..faec5e7 100644 --- a/lib/Session.cpp +++ b/lib/Session.cpp @@ -174,8 +174,8 @@ void Session::addView(TerminalDisplay * widget) if ( _emulation != nullptr ) { // connect emulation - view signals and slots - connect( widget , SIGNAL(keyPressedSignal(QKeyEvent *)) , _emulation , - SLOT(sendKeyEvent(QKeyEvent *)) ); + connect( widget , &TerminalDisplay::keyPressedSignal, _emulation , + &Emulation::sendKeyEvent); connect( widget , SIGNAL(mouseSignal(int,int,int,int)) , _emulation , SLOT(sendMouseEvent(int,int,int,int)) ); connect( widget , SIGNAL(sendStringToEmu(const char *)) , _emulation , @@ -567,7 +567,7 @@ void Session::sendText(const QString & text) const void Session::sendKeyEvent(QKeyEvent* e) const { - _emulation->sendKeyEvent(e); + _emulation->sendKeyEvent(e, false); } Session::~Session() diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index f32682a..4e427a8 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -2513,7 +2513,7 @@ void TerminalDisplay::wheelEvent( QWheelEvent* ev ) QKeyEvent keyScrollEvent(QEvent::KeyPress,key,Qt::NoModifier); for (int i=0;iclearSelection(); + + switch(mMotionAfterPasting) + { + case MoveStartScreenWindow: + // Temporarily stop tracking output, or pasting contents triggers + // ScreenWindow::notifyOutputChanged() and the latter scrolls the + // terminal to the last line. It will be re-enabled when needed + // (e.g., scrolling to the last line). + _screenWindow->setTrackOutput(false); + _screenWindow->scrollTo(0); + break; + case MoveEndScreenWindow: + scrollToEnd(); + break; + case NoMoveScreenWindow: + break; + } } } @@ -2736,8 +2753,6 @@ int TerminalDisplay::motionAfterPasting() void TerminalDisplay::keyPressEvent( QKeyEvent* event ) { - bool emitKeyPressSignal = true; - _actSel=0; // Key stroke implies a screen update, so TerminalDisplay won't // know where the current selection is. @@ -2750,31 +2765,7 @@ void TerminalDisplay::keyPressEvent( QKeyEvent* event ) _cursorBlinking = false; } - if ( emitKeyPressSignal ) - { - emit keyPressedSignal(event); - - if(event->modifiers().testFlag(Qt::ShiftModifier) - || event->modifiers().testFlag(Qt::ControlModifier) - || event->modifiers().testFlag(Qt::AltModifier)) - { - switch(mMotionAfterPasting) - { - case MoveStartScreenWindow: - _screenWindow->scrollTo(0); - break; - case MoveEndScreenWindow: - scrollToEnd(); - break; - case NoMoveScreenWindow: - break; - } - } - else - { - scrollToEnd(); - } - } + emit keyPressedSignal(event, false); event->accept(); } @@ -2782,7 +2773,7 @@ void TerminalDisplay::keyPressEvent( QKeyEvent* event ) void TerminalDisplay::inputMethodEvent( QInputMethodEvent* event ) { QKeyEvent keyEvent(QEvent::KeyPress,0,Qt::NoModifier,event->commitString()); - emit keyPressedSignal(&keyEvent); + emit keyPressedSignal(&keyEvent, false); _inputMethodData.preeditString = event->preeditString().toStdWString(); update(preeditRect() | _inputMethodData.previousPreeditRect); diff --git a/lib/TerminalDisplay.h b/lib/TerminalDisplay.h index 40ce3e0..fabf1b1 100644 --- a/lib/TerminalDisplay.h +++ b/lib/TerminalDisplay.h @@ -521,7 +521,7 @@ signals: /** * Emitted when the user presses a key whilst the terminal widget has focus. */ - void keyPressedSignal(QKeyEvent *e); + void keyPressedSignal(QKeyEvent *e, bool fromPaste); /** * A mouse event occurred. diff --git a/lib/Vt102Emulation.cpp b/lib/Vt102Emulation.cpp index 85febc4..be41cc4 100644 --- a/lib/Vt102Emulation.cpp +++ b/lib/Vt102Emulation.cpp @@ -1016,10 +1016,10 @@ void Vt102Emulation::sendText( const QString& text ) 0, Qt::NoModifier, text); - sendKeyEvent(&event); // expose as a big fat keypress event + sendKeyEvent(&event, false); // expose as a big fat keypress event } } -void Vt102Emulation::sendKeyEvent( QKeyEvent* event ) +void Vt102Emulation::sendKeyEvent(QKeyEvent* event, bool fromPaste) { Qt::KeyboardModifiers modifiers = event->modifiers(); KeyboardTranslator::States states = KeyboardTranslator::NoState; @@ -1107,6 +1107,9 @@ void Vt102Emulation::sendKeyEvent( QKeyEvent* event ) textToSend += _codec->fromUnicode(event->text()); } + if (!fromPaste && textToSend.length()) { + Q_EMIT outputFromKeypressEvent(); + } Q_EMIT sendData( textToSend.constData() , textToSend.length() ); } else diff --git a/lib/Vt102Emulation.h b/lib/Vt102Emulation.h index 99c98e2..214e50c 100644 --- a/lib/Vt102Emulation.h +++ b/lib/Vt102Emulation.h @@ -93,7 +93,7 @@ public slots: // reimplemented from Emulation void sendString(const char*,int length = -1) override; void sendText(const QString& text) override; - void sendKeyEvent(QKeyEvent*) override; + void sendKeyEvent(QKeyEvent*, bool fromPaste) override; void sendMouseEvent(int buttons, int column, int line, int eventType) override; virtual void focusLost(); virtual void focusGained(); diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index 594a44a..9d692ea 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -328,8 +328,8 @@ void QTermWidget::init(int startnow) this, SIGNAL(termGetFocus())); connect(m_impl->m_terminalDisplay, SIGNAL(termLostFocus()), this, SIGNAL(termLostFocus())); - connect(m_impl->m_terminalDisplay, SIGNAL(keyPressedSignal(QKeyEvent *)), - this, SIGNAL(termKeyPressed(QKeyEvent *))); + connect(m_impl->m_terminalDisplay, &TerminalDisplay::keyPressedSignal, + [this] (QKeyEvent* e, bool) { Q_EMIT termKeyPressed(e); }); // m_impl->m_terminalDisplay->setSize(80, 40); QFont font = QApplication::font(); From b7b037430c07e404143ae084e2ec6733adb8b11e Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Thu, 3 Dec 2020 01:35:35 +0800 Subject: [PATCH 135/162] Fix execution after paste when Ctrl is hold --- lib/TerminalDisplay.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index 4e427a8..ce1b3d3 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -2658,12 +2658,19 @@ void TerminalDisplay::emitSelection(bool useXselection,bool appendReturn) // Paste Clipboard by simulating keypress events QString text = QApplication::clipboard()->text(useXselection ? QClipboard::Selection : QClipboard::Clipboard); - if(appendReturn) - text.append(QLatin1Char('\r')); if ( ! text.isEmpty() ) { text.replace(QLatin1Char('\n'), QLatin1Char('\r')); bracketText(text); + + // appendReturn is intentionally handled _after_ enclosing texts with brackets as + // that feature is used to allow execution of commands immediately after paste. + // Ref: https://bugs.kde.org/show_bug.cgi?id=16179 + // Ref: https://github.com/KDE/konsole/commit/83d365f2ebfe2e659c1e857a2f5f247c556ab571 + if(appendReturn) { + text.append(QLatin1Char('\r')); + } + QKeyEvent e(QEvent::KeyPress, 0, Qt::NoModifier, text); emit keyPressedSignal(&e, true); // expose as a big fat keypress event From a35bf8db4303605533bdbb3bed993844a6d9452d Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Thu, 3 Dec 2020 02:02:52 +0800 Subject: [PATCH 136/162] Pasting-related features should be in qtermwidget Those were added to qterminal in [1], which makes fixing paste-related issues harder. [1] https://github.com/lxqt/qterminal/pull/309 --- lib/TerminalDisplay.cpp | 39 +++++++++++++++++++++++++++++++++++++++ lib/TerminalDisplay.h | 4 ++++ lib/qtermwidget.cpp | 8 ++++++++ lib/qtermwidget.h | 3 +++ 4 files changed, 54 insertions(+) diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index ce1b3d3..a3a64a6 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -24,6 +24,7 @@ #include "TerminalDisplay.h" // Qt +#include #include #include #include @@ -34,8 +35,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -2660,7 +2663,34 @@ void TerminalDisplay::emitSelection(bool useXselection,bool appendReturn) QClipboard::Clipboard); if ( ! text.isEmpty() ) { + text.replace(QLatin1String("\r\n"), QLatin1String("\n")); text.replace(QLatin1Char('\n'), QLatin1Char('\r')); + + if (_trimPastedTrailingNewlines) { + text.replace(QRegularExpression(QStringLiteral("\\r+$")), QString()); + } + + if (_confirmMultilinePaste && text.contains(QLatin1Char('\r'))) { + QMessageBox confirmation(this); + confirmation.setWindowTitle(tr("Paste multiline text")); + confirmation.setText(tr("Are you sure you want to paste this text?")); + confirmation.setDetailedText(text); + confirmation.setStandardButtons(QMessageBox::Yes | QMessageBox::No); + // Click "Show details..." to show those by default + const auto buttons = confirmation.buttons(); + for( QAbstractButton * btn : buttons ) { + if (confirmation.buttonRole(btn) == QMessageBox::ActionRole && btn->text() == QMessageBox::tr("Show Details...")) { + Q_EMIT btn->clicked(); + break; + } + } + confirmation.setDefaultButton(QMessageBox::Yes); + confirmation.exec(); + if (confirmation.standardButton(confirmation.clickedButton()) != QMessageBox::Yes) { + return; + } + } + bracketText(text); // appendReturn is intentionally handled _after_ enclosing texts with brackets as @@ -2732,6 +2762,15 @@ void TerminalDisplay::pasteSelection() emitSelection(true,false); } + +void TerminalDisplay::setConfirmMultilinePaste(bool confirmMultilinePaste) { + _confirmMultilinePaste = confirmMultilinePaste; +} + +void TerminalDisplay::setTrimPastedTrailingNewlines(bool trimPastedTrailingNewlines) { + _trimPastedTrailingNewlines = trimPastedTrailingNewlines; +} + /* ------------------------------------------------------------------------- */ /* */ /* Keyboard */ diff --git a/lib/TerminalDisplay.h b/lib/TerminalDisplay.h index fabf1b1..ca4382d 100644 --- a/lib/TerminalDisplay.h +++ b/lib/TerminalDisplay.h @@ -413,6 +413,8 @@ public: void setMotionAfterPasting(MotionAfterPasting action); int motionAfterPasting(); + void setConfirmMultilinePaste(bool confirmMultilinePaste); + void setTrimPastedTrailingNewlines(bool trimPastedTrailingNewlines); // maps a point on the widget to the position ( ie. line and column ) // of the character at that point. @@ -824,6 +826,8 @@ private: MotionAfterPasting mMotionAfterPasting; + bool _confirmMultilinePaste; + bool _trimPastedTrailingNewlines; struct InputMethodData { diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index 9d692ea..9fa600a 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -788,3 +788,11 @@ void QTermWidget::setBoldIntense(bool boldIntense) { m_impl->m_terminalDisplay->setBoldIntense(boldIntense); } + +void QTermWidget::setConfirmMultilinePaste(bool confirmMultilinePaste) { + m_impl->m_terminalDisplay->setConfirmMultilinePaste(confirmMultilinePaste); +} + +void QTermWidget::setTrimPastedTrailingNewlines(bool trimPastedTrailingNewlines) { + m_impl->m_terminalDisplay->setTrimPastedTrailingNewlines(trimPastedTrailingNewlines); +} diff --git a/lib/qtermwidget.h b/lib/qtermwidget.h index ec12aac..b63787c 100644 --- a/lib/qtermwidget.h +++ b/lib/qtermwidget.h @@ -239,6 +239,9 @@ public: void setDrawLineChars(bool drawLineChars); void setBoldIntense(bool boldIntense); + + void setConfirmMultilinePaste(bool confirmMultilinePaste); + void setTrimPastedTrailingNewlines(bool trimPastedTrailingNewlines); signals: void finished(); void copyAvailable(bool); From 3750f054561d7e317b06dbe5bcbf95277f8cc83d Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Sat, 9 Jan 2021 01:48:43 +0800 Subject: [PATCH 137/162] Fix building after some PyQt changes in Arch Linux See: https://github.com/archlinux/svntogit-community/commit/22706b6db6247d8a657332daa9c6bde62faa0d7a --- .ci/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/build.sh b/.ci/build.sh index 70c391c..d9d62b8 100644 --- a/.ci/build.sh +++ b/.ci/build.sh @@ -8,7 +8,7 @@ EOF pacman -Syu --noconfirm # See *depends in https://github.com/archlinuxcn/repo/blob/master/archlinuxcn/qtermwidget-git/PKGBUILD -pacman -S --noconfirm --needed git cmake lxqt-build-tools-git qt5-tools python-pyqt5 python-sip sip +pacman -S --noconfirm --needed git cmake lxqt-build-tools-git qt5-tools python-pyqt5 python-sip4 sip4 cmake -B build -S . \ -DBUILD_EXAMPLE=ON \ From 98afca4d517bd568fe95d181dd9003a7aec9cace Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Sat, 9 Jan 2021 17:21:29 +0100 Subject: [PATCH 138/162] Weblate commits (#399) Co-authored-by: Moo Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/lt/ Translation: LXQt Desktop/qtermwidget Co-authored-by: Moo --- lib/translations/qtermwidget_lt.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/translations/qtermwidget_lt.ts b/lib/translations/qtermwidget_lt.ts index d3b4960..e737282 100644 --- a/lib/translations/qtermwidget_lt.ts +++ b/lib/translations/qtermwidget_lt.ts @@ -39,7 +39,7 @@ <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> - <qt>Išvestis buvo <a href="http://en.wikipedia.org/wiki/Flow_control">pristabdyta,</a> paspaudžiant Ctrl(Vald)+S. Paspauskite <b>Ctrl(Vald)+Q</b>, norėdami pratęsti.</qt> + <qt>Išvestis buvo <a href="http://en.wikipedia.org/wiki/Flow_control">pristabdyta,</a> paspaudžiant Ctrl+S. Paspauskite <b>Ctrl+Q</b>, norėdami pratęsti.</qt> From 4b8bf5eb6d648bd120f59354324363bc6b9fe1ca Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Tue, 19 Jan 2021 18:50:46 +0100 Subject: [PATCH 139/162] Translations update from Weblate (#400) * Weblate commits Co-authored-by: Stefonarch Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/it/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Baptiste Huchon Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/fr/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Golubev Alexander Co-authored-by: Stefonarch Co-authored-by: Baptiste Huchon Co-authored-by: Golubev Alexander --- lib/translations/qtermwidget_fr.ts | 6 +- lib/translations/qtermwidget_it.ts | 2 +- lib/translations/qtermwidget_ru.ts | 148 +++++++++++++++++++++++++++++ 3 files changed, 152 insertions(+), 4 deletions(-) create mode 100644 lib/translations/qtermwidget_ru.ts diff --git a/lib/translations/qtermwidget_fr.ts b/lib/translations/qtermwidget_fr.ts index 21d597b..40c4a7b 100644 --- a/lib/translations/qtermwidget_fr.ts +++ b/lib/translations/qtermwidget_fr.ts @@ -6,7 +6,7 @@ Bell in session '%1' - + Sonnerie dans la session '%1' @@ -16,12 +16,12 @@ Session '%1' crashed. - + La session '%1' a planté. Session '%1' exited unexpectedly. - + La session '%1' s'est fermée de manière inattendue. diff --git a/lib/translations/qtermwidget_it.ts b/lib/translations/qtermwidget_it.ts index a27fc17..4dd45a0 100644 --- a/lib/translations/qtermwidget_it.ts +++ b/lib/translations/qtermwidget_it.ts @@ -102,7 +102,7 @@ Match case - + Rispetta maiuscolo/minuscolo diff --git a/lib/translations/qtermwidget_ru.ts b/lib/translations/qtermwidget_ru.ts new file mode 100644 index 0000000..530fa8c --- /dev/null +++ b/lib/translations/qtermwidget_ru.ts @@ -0,0 +1,148 @@ + + + + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + + + Konsole::TerminalDisplay + + + Size: XXX x XXX + + + + + Size: %1 x %2 + + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> + + + + + Konsole::Vt102Emulation + + + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. + + + + + QObject + + + + Un-named Color Scheme + + + + + Accessible Color Scheme + + + + + Open Link + + + + + Copy Link Address + + + + + Send Email To... + + + + + Copy Email Address + + + + + QTermWidget + + + Color Scheme Error + + + + + Cannot load color scheme: %1 + + + + + SearchBar + + + Match case + + + + + Regular expression + + + + + Highlight all matches + + + + + SearchBar + + + + + X + + + + + Find: + + + + + < + + + + + > + + + + + ... + + + + From 4a6903459260788ee21a6da9ec3e5da8ff5a6bc0 Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Thu, 21 Jan 2021 10:28:22 +0100 Subject: [PATCH 140/162] Weblate commits (#401) Co-authored-by: Golubev Alexander Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/ru/ Translation: LXQt Desktop/qtermwidget Co-authored-by: Golubev Alexander --- lib/translations/qtermwidget_ru.ts | 50 +++++++++++++++--------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/lib/translations/qtermwidget_ru.ts b/lib/translations/qtermwidget_ru.ts index 530fa8c..7d5ad3f 100644 --- a/lib/translations/qtermwidget_ru.ts +++ b/lib/translations/qtermwidget_ru.ts @@ -6,22 +6,22 @@ Bell in session '%1' - + Звуковой сигнал в сессии '%1' Session '%1' exited with status %2. - + Сессия '%1' завершилась со статусом %2. Session '%1' crashed. - + Сессия '%1' упала. Session '%1' exited unexpectedly. - + Сессия ’%1’ завершилась неожиданно. @@ -29,17 +29,17 @@ Size: XXX x XXX - + Размер: XXX x XXX Size: %1 x %2 - + Размер: %1 x %2 <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> - + <qt>Вывод был <a href="https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B0">приостановлен</a> нажатием Ctrl+S. Нажмите <b>Ctrl+Q</b> для продолжения.</qt> @@ -47,7 +47,7 @@ No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. - + Нет доступных трансляторов клавиатуры. Информация, необходимая, чтобы преобразовать нажатия клавиш в символы, которые будут отправлены на терминал, не найдена. @@ -56,32 +56,32 @@ Un-named Color Scheme - + Безымянная цветовая схема Accessible Color Scheme - + Упрощённая цветовая схема Open Link - + Открыть ссылку Copy Link Address - + Скопировать адрес ссылки Send Email To... - + Отправить e-mail на... Copy Email Address - + Скопировать e-mail адрес @@ -89,12 +89,12 @@ Color Scheme Error - + Ошибка цветовой схемы Cannot load color scheme: %1 - + Не удалось загрузить цветовую схему: %1 @@ -102,47 +102,47 @@ Match case - + С учётом регистра Regular expression - + Регулярное выражение Highlight all matches - + Подсвечивать все совпадения SearchBar - + ПанельПоиска X - + X Find: - + Найти: < - + < > - + > ... - + ... From 853338bf9d7f7a20ada313ac5ddee851b42e9ff4 Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Tue, 2 Feb 2021 07:34:19 +0100 Subject: [PATCH 141/162] Weblate commits (#403) Co-authored-by: Ailuros Amatus Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/es/ Translation: LXQt Desktop/qtermwidget Co-authored-by: Ailuros Amatus --- lib/translations/qtermwidget_es.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/translations/qtermwidget_es.ts b/lib/translations/qtermwidget_es.ts index 7957d48..f562060 100644 --- a/lib/translations/qtermwidget_es.ts +++ b/lib/translations/qtermwidget_es.ts @@ -6,22 +6,22 @@ Bell in session '%1' - + Campana en sesión '%1' Session '%1' exited with status %2. - + Sesión '%1' ha terminado con estado %2. Session '%1' crashed. - + La sesión '%1' falló. Session '%1' exited unexpectedly. - + La sesión '%1' se cerró inesperadamente. From d2d1ba0d4d933072aa217feedb6a318c8818b9a9 Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Wed, 10 Feb 2021 23:20:53 +0800 Subject: [PATCH 142/162] Workaround an issue with glibc 2.33 on old Docker engines The same as https://github.com/lxqt/lxqt-panel/pull/1562 --- .ci/build.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.ci/build.sh b/.ci/build.sh index d9d62b8..753e4be 100644 --- a/.ci/build.sh +++ b/.ci/build.sh @@ -6,6 +6,12 @@ Server = https://repo.archlinuxcn.org/\$arch SigLevel = Never EOF +# Work-around the issue with glibc 2.33 on old Docker engines +# Extract files directly as pacman is also affected by the issue +patched_glibc=glibc-linux4-2.33-4-x86_64.pkg.tar.zst +curl -LO https://repo.archlinuxcn.org/x86_64/$patched_glibc +bsdtar -C / -xvf $patched_glibc + pacman -Syu --noconfirm # See *depends in https://github.com/archlinuxcn/repo/blob/master/archlinuxcn/qtermwidget-git/PKGBUILD pacman -S --noconfirm --needed git cmake lxqt-build-tools-git qt5-tools python-pyqt5 python-sip4 sip4 From af7856ceb98bd5cbd2e6ff71a7f68f6562ca357c Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Wed, 17 Feb 2021 23:19:21 +0800 Subject: [PATCH 143/162] Use shared CI scripts --- .ci/build.sh | 13 +------------ .github/workflows/test.yml | 5 +++++ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/.ci/build.sh b/.ci/build.sh index 753e4be..9ac41eb 100644 --- a/.ci/build.sh +++ b/.ci/build.sh @@ -1,18 +1,7 @@ set -ex -cat >> /etc/pacman.conf < Date: Sat, 27 Feb 2021 05:38:40 -0700 Subject: [PATCH 144/162] Better Grammar. (#407) Should be essentially the same in substance, just made it slightly easier to read. --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index bae9097..90746a3 100644 --- a/README.md +++ b/README.md @@ -53,15 +53,18 @@ License: public-domain ### Compiling sources The only runtime dependency is qtbase ≥ 5.7.1. -In order to build CMake ≥ 3.0.2 and [lxqt-build-tools](https://github.com/lxqt/lxqt-build-tools/) >= 0.4.0 are needed as well as Git to pull translations and optionally latest VCS checkouts. +Build dependencies are as follows: +- CMake ≥ 3.0.2 serves as the build system and therefore needs to be present to compile. +- [lxqt-build-tools](https://github.com/lxqt/lxqt-build-tools/) >= 0.4.0 is also needed for compilation. +- Git is needed to pull translations and optionally pull latest VCS checkouts. -Code configuration is handled by CMake. CMake variable `CMAKE_INSTALL_PREFIX` will normally have to be set to `/usr`, depending on the way library paths are dealt with on 64bit systems variables like `CMAKE_INSTALL_LIBDIR` may have to be set as well. +Code configuration is handled by CMake. CMake variable `CMAKE_INSTALL_PREFIX` will normally have to be set to `/usr`, depending on the way library paths are dealt with on 64bit systems. Variables like `CMAKE_INSTALL_LIBDIR` may have to be set as well. -To build run `make`, to install `make install` which accepts variable `DESTDIR` as usual. +To build, run `make`. To install, run `make install` which accepts variable `DESTDIR` as usual. ### Binary packages -The library is provided by all major Linux distributions like Arch Linux, Debian, Fedora and openSUSE. +The library is provided by all major Linux distributions. This includes Arch Linux, Debian, Fedora, openSUSE and all of their children, given they use the same package repositories. Just use the distributions' package managers to search for string `qtermwidget`. From 54044133cea87cb514dfb947f5cc980f22e0b060 Mon Sep 17 00:00:00 2001 From: tsujan Date: Sun, 28 Feb 2021 20:55:54 +0330 Subject: [PATCH 145/162] Added modes for background image (#385) * Added modes for background image They are "None", "Stretch", "Zoom", "Fit" and "Center". Some problems are fixed in the code for the following purposes: 1. The background image isn't limited to translucent terminals. 2. The background color isn't blended with the background image. Blending is not only ugly but unneeded. Instead, the user can use translucent images as the background. 3. Image scaling is smooth and antialiasing. A patch for QTerminal will follow this to use it. * Just added some curly brackets --- lib/TerminalDisplay.cpp | 112 +++++++++++++++++++++++++++++++--------- lib/TerminalDisplay.h | 13 ++++- lib/qtermwidget.cpp | 5 ++ lib/qtermwidget.h | 1 + 4 files changed, 107 insertions(+), 24 deletions(-) diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index a3a64a6..e321a54 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -360,7 +360,8 @@ TerminalDisplay::TerminalDisplay(QWidget *parent) ,_outputSuspendedLabel(nullptr) ,_lineSpacing(0) ,_colorsInverted(false) -,_blendColor(qRgba(0,0,0,0xff)) +,_opacity(static_cast(1)) +,_backgroundMode(None) ,_filterChain(new TerminalImageFilterChain()) ,_cursorShape(Emulation::KeyboardCursorShape::BlockCursor) ,mMotionAfterPasting(NoMoveScreenWindow) @@ -699,21 +700,7 @@ QColor TerminalDisplay::keyboardCursorColor() const void TerminalDisplay::setOpacity(qreal opacity) { - QColor color(_blendColor); - color.setAlphaF(opacity); - - // enable automatic background filling to prevent the display - // flickering if there is no transparency - /*if ( color.alpha() == 255 ) - { - setAutoFillBackground(true); - } - else - { - setAutoFillBackground(false); - }*/ - - _blendColor = color.rgba(); + _opacity = qBound(static_cast(0), opacity, static_cast(1)); } void TerminalDisplay::setBackgroundImage(const QString& backgroundImage) @@ -730,16 +717,21 @@ void TerminalDisplay::setBackgroundImage(const QString& backgroundImage) } } +void TerminalDisplay::setBackgroundMode(BackgroundMode mode) +{ + _backgroundMode = mode; +} + void TerminalDisplay::drawBackground(QPainter& painter, const QRect& rect, const QColor& backgroundColor, bool useOpacitySetting ) { // The whole widget rectangle is filled by the background color from // the color scheme set in setColorTable(), while the scrollbar is // left to the widget style for a consistent look. - if ( HAVE_TRANSPARENCY && qAlpha(_blendColor) < 0xff && useOpacitySetting ) + if ( useOpacitySetting ) { if (_backgroundImage.isNull()) { QColor color(backgroundColor); - color.setAlpha(qAlpha(_blendColor)); + color.setAlphaF(_opacity); painter.save(); painter.setCompositionMode(QPainter::CompositionMode_Source); @@ -1366,13 +1358,87 @@ void TerminalDisplay::focusInEvent(QFocusEvent*) void TerminalDisplay::paintEvent( QPaintEvent* pe ) { QPainter paint(this); + QRect cr = contentsRect(); - if ( !_backgroundImage.isNull() && qAlpha(_blendColor) < 0xff ) + if ( !_backgroundImage.isNull() ) { - paint.drawPixmap(0, 0, _backgroundImage); QColor background = _colorTable[DEFAULT_BACK_COLOR].color; - background.setAlpha(qAlpha(_blendColor)); - paint.fillRect(contentsRect(), background); + if (_opacity < static_cast(1)) + { + background.setAlphaF(_opacity); + paint.save(); + paint.setCompositionMode(QPainter::CompositionMode_Source); + paint.fillRect(cr, background); + paint.restore(); + } + else + { + paint.fillRect(cr, background); + } + + paint.save(); + paint.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform); + + if (_backgroundMode == Stretch) + { // scale the image without keeping its proportions to fill the screen + paint.drawPixmap(cr, _backgroundImage, _backgroundImage.rect()); + } + else if (_backgroundMode == Zoom) + { // zoom in/out the image to fit it + QRect r = _backgroundImage.rect(); + qreal wRatio = static_cast(cr.width()) / r.width(); + qreal hRatio = static_cast(cr.height()) / r.height(); + if (wRatio > hRatio) + { + r.setWidth(qRound(r.width() * hRatio)); + r.setHeight(cr.height()); + } + else + { + r.setHeight(qRound(r.height() * wRatio)); + r.setWidth(cr.width()); + } + r.moveCenter(cr.center()); + paint.drawPixmap(r, _backgroundImage, _backgroundImage.rect()); + } + else if (_backgroundMode == Fit) + { // if the image is bigger than the terminal, zoom it out to fit it + QRect r = _backgroundImage.rect(); + qreal wRatio = static_cast(cr.width()) / r.width(); + qreal hRatio = static_cast(cr.height()) / r.height(); + if (r.width() > cr.width()) + { + if (wRatio <= hRatio) + { + r.setHeight(qRound(r.height() * wRatio)); + r.setWidth(cr.width()); + } + else + { + r.setWidth(qRound(r.width() * hRatio)); + r.setHeight(cr.height()); + } + } + else if (r.height() > cr.height()) + { + r.setWidth(qRound(r.width() * hRatio)); + r.setHeight(cr.height()); + } + r.moveCenter(cr.center()); + paint.drawPixmap(r, _backgroundImage, _backgroundImage.rect()); + } + else if (_backgroundMode == Center) + { // center the image without scaling/zooming + QRect r = _backgroundImage.rect(); + r.moveCenter(cr.center()); + paint.drawPixmap(r.topLeft(), _backgroundImage); + } + else //if (_backgroundMode == None) + { + paint.drawPixmap(0, 0, _backgroundImage); + } + + paint.restore(); } if(_drawTextTestFlag) @@ -1380,7 +1446,7 @@ void TerminalDisplay::paintEvent( QPaintEvent* pe ) calDrawTextAdditionHeight(paint); } - const auto rects = (pe->region() & contentsRect()).rects(); + const auto rects = (pe->region() & cr).rects(); for (const QRect &rect : rects) { drawBackground(paint,rect,palette().background().color(), diff --git a/lib/TerminalDisplay.h b/lib/TerminalDisplay.h index ca4382d..3f6972b 100644 --- a/lib/TerminalDisplay.h +++ b/lib/TerminalDisplay.h @@ -62,6 +62,13 @@ namespace Konsole MoveEndScreenWindow = 2 }; + enum BackgroundMode { + None, + Stretch, + Zoom, + Fit, + Center + }; extern unsigned short vt100_graphics[32]; @@ -106,6 +113,9 @@ public: /** Sets the background image of the terminal display. */ void setBackgroundImage(const QString& backgroundImage); + /** Sets the background image mode of the terminal display. */ + void setBackgroundMode(BackgroundMode mode); + /** * Specifies whether the terminal display has a vertical scroll bar, and if so whether it * is shown on the left or right side of the display. @@ -809,9 +819,10 @@ private: QSize _size; - QRgb _blendColor; + qreal _opacity; QPixmap _backgroundImage; + BackgroundMode _backgroundMode; // list of filters currently applied to the display. used for links and // search highlight diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index 9fa600a..521b841 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -378,6 +378,11 @@ void QTermWidget::setTerminalBackgroundImage(const QString& backgroundImage) m_impl->m_terminalDisplay->setBackgroundImage(backgroundImage); } +void QTermWidget::setTerminalBackgroundMode(int mode) +{ + m_impl->m_terminalDisplay->setBackgroundMode((Konsole::BackgroundMode)mode); +} + void QTermWidget::setShellProgram(const QString &progname) { if (!m_impl->m_session) diff --git a/lib/qtermwidget.h b/lib/qtermwidget.h index b63787c..7644196 100644 --- a/lib/qtermwidget.h +++ b/lib/qtermwidget.h @@ -88,6 +88,7 @@ public: QFont getTerminalFont(); void setTerminalOpacity(qreal level); void setTerminalBackgroundImage(const QString& backgroundImage); + void setTerminalBackgroundMode(int mode); //environment void setEnvironment(const QStringList & environment); From 3d40f29c010600c150c355214d2edface1c4fab2 Mon Sep 17 00:00:00 2001 From: stefonarch Date: Sun, 28 Feb 2021 19:49:25 +0100 Subject: [PATCH 146/162] updated *.ts files --- lib/translations/qtermwidget.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_arn.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_ast.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_bg.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_ca.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_cs.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_cy.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_da.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_de.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_el.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_es.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_fr.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_gl.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_he.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_hr.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_hu.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_it.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_ja.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_lt.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_nb_NO.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_pl.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_pt.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_pt_BR.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_ru.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_tr.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_zh_CN.ts | 30 +++++++++++++++++++++------ lib/translations/qtermwidget_zh_TW.ts | 30 +++++++++++++++++++++------ 27 files changed, 648 insertions(+), 162 deletions(-) diff --git a/lib/translations/qtermwidget.ts b/lib/translations/qtermwidget.ts index 2729b05..51a6366 100644 --- a/lib/translations/qtermwidget.ts +++ b/lib/translations/qtermwidget.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX - + Size: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error - + Cannot load color scheme: %1 diff --git a/lib/translations/qtermwidget_arn.ts b/lib/translations/qtermwidget_arn.ts index badd96f..bd6929e 100644 --- a/lib/translations/qtermwidget_arn.ts +++ b/lib/translations/qtermwidget_arn.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX - + Size: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error - + Cannot load color scheme: %1 diff --git a/lib/translations/qtermwidget_ast.ts b/lib/translations/qtermwidget_ast.ts index a988abb..65b4a9e 100644 --- a/lib/translations/qtermwidget_ast.ts +++ b/lib/translations/qtermwidget_ast.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX - + Size: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error - + Cannot load color scheme: %1 diff --git a/lib/translations/qtermwidget_bg.ts b/lib/translations/qtermwidget_bg.ts index 0976704..d0ed7c1 100644 --- a/lib/translations/qtermwidget_bg.ts +++ b/lib/translations/qtermwidget_bg.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Размер: XXX x XXX - + Size: %1 x %2 Размер: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Предаването на данни <a href="http://en.wikipedia.org/wiki/Flow_control">прекъсна</a> при натискане на Ctrl+S. Натиснете <b>Ctrl+Q</b> за възстановяване.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Няма наличен транслатор за клавиатура. Липсва информацията, необходима за преобразуване на клавишите в символи за изпращане до терминала. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Грешка в цветовата схема - + Cannot load color scheme: %1 Цветна схема %1 не може да се зареди diff --git a/lib/translations/qtermwidget_ca.ts b/lib/translations/qtermwidget_ca.ts index 20d0520..30d12e4 100644 --- a/lib/translations/qtermwidget_ca.ts +++ b/lib/translations/qtermwidget_ca.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Mida: XXX x XXX - + Size: %1 x %2 Mida: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>La sortida ha estat <a href="http://en.wikipedia.org/wiki/Flow_control">suspesa</a> en prémer Ctrl+S. Premeu <b>Ctrl+Q</b> per reprendre-la.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. No hi ha disponible cap traductor de teclat. No es disposa de la informació necessària per convertir la pressió de les tecles a caràcters al terminal. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Error de l'esquema de color - + Cannot load color scheme: %1 No es pot carregar l'esquema de color: %1 diff --git a/lib/translations/qtermwidget_cs.ts b/lib/translations/qtermwidget_cs.ts index de7a9c5..e06df83 100644 --- a/lib/translations/qtermwidget_cs.ts +++ b/lib/translations/qtermwidget_cs.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Velikost: XXX x XXX - + Size: %1 x %2 Velikost: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Výstup byl <a href="http://en.wikipedia.org/wiki/Flow_control">pozastaven</a> stisknutím Ctrl+S. Znovu ho spustíte stisknutím <b>Ctrl+Q</b>.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Není k dispozici žádný překladač klávesnice. Chybí tak informace pro převod kódů stisknutých kláves na znaky posílané na terminál. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Chyba barevného schématu - + Cannot load color scheme: %1 Nedaří se načíst barevné schéma: %1 diff --git a/lib/translations/qtermwidget_cy.ts b/lib/translations/qtermwidget_cy.ts index 825e8c4..05f0b9e 100644 --- a/lib/translations/qtermwidget_cy.ts +++ b/lib/translations/qtermwidget_cy.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX - + Size: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error - + Cannot load color scheme: %1 diff --git a/lib/translations/qtermwidget_da.ts b/lib/translations/qtermwidget_da.ts index dd4f455..6eefdc1 100644 --- a/lib/translations/qtermwidget_da.ts +++ b/lib/translations/qtermwidget_da.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Størrelse: XXX x XXX - + Size: %1 x %2 Størrelse: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Output er blevet <a href="http://en.wikipedia.org/wiki/Flow_control">suspenderet</a> ved tryk på Ctrl+S. Tryk på <b>Ctrl+Q</b> for at genoptage.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Ingen tastaturoversætter tilgængelig. Informationen, som er nødvendig for at konvertere tastetryk til tegn, som sendes til terminalen, mangler. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Fejl ved farveskema - + Cannot load color scheme: %1 Kan ikke indlæse farveskema: %1 diff --git a/lib/translations/qtermwidget_de.ts b/lib/translations/qtermwidget_de.ts index 9d11070..f824c11 100644 --- a/lib/translations/qtermwidget_de.ts +++ b/lib/translations/qtermwidget_de.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Größe: XXX x XXX - + Size: %1 x %2 Größe: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Druch drücken von Strg+S wurde die Ausgabe <a href="http://en.wikipedia.org/wiki/Flow_control">unterbrochen</a>. <b>Strg+Q</b> drücken um fortzufahren.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Kein Tastaturinterpreter verfügbar. Die benötigte Information, um Tastenbefehle in Zeichen umzuwandeln und anschließenfd zum Terminal zu senden, fehlt. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Fehler im Farbschema - + Cannot load color scheme: %1 Kann Farbschema nicht laden: %1 diff --git a/lib/translations/qtermwidget_el.ts b/lib/translations/qtermwidget_el.ts index 078b72c..8bab6a9 100644 --- a/lib/translations/qtermwidget_el.ts +++ b/lib/translations/qtermwidget_el.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Μέγεθος: XXX x XXX - + Size: %1 x %2 Μέγεθος: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Η έξοδος έχει <a href="http://en.wikipedia.org/wiki/Flow_control">ανασταλεί</a> με τον συνδυασμό πλήκτρων Ctrl+S. Πιέστε <b>Ctrl+Q</b> για επαναφορά.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Δεν υπάρχει κάποιος μεταφραστής πληκτρολογίου διαθέσιμος. Η απαιτούμενη πληροφορία για την μετατροπή των πατημάτων πλήκτρων σε χαρακτήρες στο τερματικό λείπει. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Σφάλμα του χρωματικού συνδυασμού - + Cannot load color scheme: %1 Αδύνατη η φόρτωση του χρωματικού συνδυασμού: %1 diff --git a/lib/translations/qtermwidget_es.ts b/lib/translations/qtermwidget_es.ts index f562060..e9d27bb 100644 --- a/lib/translations/qtermwidget_es.ts +++ b/lib/translations/qtermwidget_es.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Tamaño: XXX x XXX - + Size: %1 x %2 Tamaño: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>La salida ha sido <a href="http://en.wikipedia.org/wiki/Flow_control">suspendida</a> al pulsar Ctrl+S. Pulse <b>Ctrl+Q</b> para reanudarla.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. No hay traductor de teclado disponible. La información necesaria para convertir pulsaciones de tecla en caracteres para enviarlos a la terminal está ausente. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Error del esquema de color - + Cannot load color scheme: %1 No se puede cargar el esquema de color: %1 diff --git a/lib/translations/qtermwidget_fr.ts b/lib/translations/qtermwidget_fr.ts index 40c4a7b..e253086 100644 --- a/lib/translations/qtermwidget_fr.ts +++ b/lib/translations/qtermwidget_fr.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Taille : XXX x XXX - + Size: %1 x %2 Taille : %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>La sortie a été <a href="http://en.wikipedia.org/wiki/Flow_control">suspendue</a> en pressant Ctrl+S. Presser <b>Ctrl+Q</b> pour reprendre.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Aucun traducteur de clavier disponible. Les informations nécessaires pour convertir les touches utilisées en caractères à envoyer au terminal sont manquantes. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Erreur du schéma des couleurs - + Cannot load color scheme: %1 Impossible de charger le schéma de couleurs : %1 diff --git a/lib/translations/qtermwidget_gl.ts b/lib/translations/qtermwidget_gl.ts index 2764959..28b51fd 100644 --- a/lib/translations/qtermwidget_gl.ts +++ b/lib/translations/qtermwidget_gl.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Tamaño: XXX x XXX - + Size: %1 x %2 Tamaño: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>A saída foi <a href="http://en.wikipedia.org/wiki/Flow_control">suspendida</a> ao premer Ctrl+S. Prema <b>Ctrl+Q</b> para continuar.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Non hai dispoñíbel ningún tradutor de teclado. Non está dispoñíbel a información necesaria para converter pulsacións de tecla en caracteres para envialos o terminal. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Produciuse un erro no esquema de cor - + Cannot load color scheme: %1 Non é posíbel cargar o esquema de cor: %1 diff --git a/lib/translations/qtermwidget_he.ts b/lib/translations/qtermwidget_he.ts index 3663954..cc6f4ab 100644 --- a/lib/translations/qtermwidget_he.ts +++ b/lib/translations/qtermwidget_he.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX גודל: XXX × XXX - + Size: %1 x %2 גודל: %1 × %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>הפלט <a href="http://en.wikipedia.org/wiki/Flow_control">הושהה</a> בלחיצה על Ctrl+S. יש ללחוץ על <b>Ctrl+Q</b> כדי להמשיך.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. אין מתרגם מקלדת זמין. המידע שנדרש לצורך המרת לחיצות מקשים לתווים לשליחה למסוף חסר. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error שגיאת ערכת צבעים - + Cannot load color scheme: %1 לא ניתן לטעון ערכת צבעים: %1 diff --git a/lib/translations/qtermwidget_hr.ts b/lib/translations/qtermwidget_hr.ts index 6bfe5d2..db56101 100644 --- a/lib/translations/qtermwidget_hr.ts +++ b/lib/translations/qtermwidget_hr.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Veličina: XXX × XXX - + Size: %1 x %2 Veličina: %1 × %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Rezultat je <a href="http://en.wikipedia.org/wiki/Flow_control">obustavljen</a> pritiskom Ctrl+S. Pritisni <b>Ctrl+Q</b> za nastavak.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Nema interpretera tipkovnice. Nedostaju podaci za pretvaranje tipki u znakove koji se šalju u terminal. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Greška u shemi boja - + Cannot load color scheme: %1 Nije moguće učitati shemu boja: %1 diff --git a/lib/translations/qtermwidget_hu.ts b/lib/translations/qtermwidget_hu.ts index 09e6b5a..27718cb 100644 --- a/lib/translations/qtermwidget_hu.ts +++ b/lib/translations/qtermwidget_hu.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Méret: XXX x XXX - + Size: %1 x %2 Méret: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>A kimenet <a href="http://en.wikipedia.org/wiki/Flow_control">fel van függesztve</a> a Ctrl+S megnyomásával. Nyomjon <b>Ctrl+Q-t</b> a folytatáshoz.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Nincs elérhető billentyűzet-átalakító. Hiányzik az információ, amely a billentyű lenyomások a terminálhoz küldendő karakterekké alakításához szükséges. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Színséma hiba - + Cannot load color scheme: %1 Nem sikerült betölteni a színsémát. %1 diff --git a/lib/translations/qtermwidget_it.ts b/lib/translations/qtermwidget_it.ts index 4dd45a0..7ff7be3 100644 --- a/lib/translations/qtermwidget_it.ts +++ b/lib/translations/qtermwidget_it.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Dimensione: XXX x XXX - + Size: %1 x %2 Dimensione: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>L'output è stato <a href="https://it.wikipedia.org/wiki/Controllo_di_flusso">sospeso</a> premendo Ctrl+S. Premi <b>Ctrl+Q</b> per riprendere.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Nessuno traduttore di tastiera disponibile. L'informazione necessaria per convertire tasti in caratteri da inviare al terminale è mancante. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Errore su Schema Colori - + Cannot load color scheme: %1 Caricamento schema colore %1 non riuscito diff --git a/lib/translations/qtermwidget_ja.ts b/lib/translations/qtermwidget_ja.ts index 3cbebe8..fbd72b7 100644 --- a/lib/translations/qtermwidget_ja.ts +++ b/lib/translations/qtermwidget_ja.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX サイズ: XXX x XXX - + Size: %1 x %2 サイズ: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Ctrl+S を押して出力を<a href="http://en.wikipedia.org/wiki/Flow_control">中断</a> しました 。再開するには <b>Ctrl+Q</b> を押します。</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. キーボードトランスレータがありません。押されたキーを文字に変換してターミナルへ送信するために必要な情報がありません。 + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error 配色のエラー - + Cannot load color scheme: %1 配色をロードできません: %1 diff --git a/lib/translations/qtermwidget_lt.ts b/lib/translations/qtermwidget_lt.ts index e737282..5bca2a1 100644 --- a/lib/translations/qtermwidget_lt.ts +++ b/lib/translations/qtermwidget_lt.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Dydis: XXX x XXX - + Size: %1 x %2 Dydis: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Išvestis buvo <a href="http://en.wikipedia.org/wiki/Flow_control">pristabdyta,</a> paspaudžiant Ctrl+S. Paspauskite <b>Ctrl+Q</b>, norėdami pratęsti.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Nėra prieinamas joks klaviatūros vertėjas. Informacijos, kurios reikia, norint konvertuoti klavišų paspaudimus į simbolius ir siųsti į terminalą, nėra. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Spalvų rinkinio klaida - + Cannot load color scheme: %1 Nepavyksta įkelti spalvų rinkinio: %1 diff --git a/lib/translations/qtermwidget_nb_NO.ts b/lib/translations/qtermwidget_nb_NO.ts index e18f683..1e79bc8 100644 --- a/lib/translations/qtermwidget_nb_NO.ts +++ b/lib/translations/qtermwidget_nb_NO.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Størrelse: XXX x XXX - + Size: %1 x %2 Størrelse: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Utgangssignalet ble <a href="http://en.wikipedia.org/wiki/Flow_control">stoppet</a> da Ctrl+S ble trykket. Trykk <b>Ctrl+Q</b> for å fortsette.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Ingen tastaturoversetter er tilgjengelig. Informasjonen som trengs for å gjøre tastetrykk om til tegn å sende til terminalen mangler. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Feil med fargemønster - + Cannot load color scheme: %1 Kan ikke åpne fargemønster: %1 diff --git a/lib/translations/qtermwidget_pl.ts b/lib/translations/qtermwidget_pl.ts index b5351be..24a570c 100644 --- a/lib/translations/qtermwidget_pl.ts +++ b/lib/translations/qtermwidget_pl.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Rozmiar: XXX x XXX - + Size: %1 x %2 Rozmiar: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Wyjście zostało <a href="http://en.wikipedia.org/wiki/Flow_control">wstrzymane</a> skrótem Ctrl+S. Wciśnij <b>Ctrl+Q</b> aby wznowić.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Brak sterownika klawiatury. Nie wiadomo jak przełożyć wciśniecia przycisków na znaki wysyłane do terminalu. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Błąd w palecie - + Cannot load color scheme: %1 Nie można wczytać palety: %1 diff --git a/lib/translations/qtermwidget_pt.ts b/lib/translations/qtermwidget_pt.ts index 45fabd3..64103e5 100644 --- a/lib/translations/qtermwidget_pt.ts +++ b/lib/translations/qtermwidget_pt.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Tamanho: XXX x XXX - + Size: %1 x %2 Tamanho: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>A saída foi <a href="http://en.wikipedia.org/wiki/Flow_control"> suspendida</a> com Ctrl+S. Prima <b>Ctrl+Q</b> para continuar.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Não há um tradutor de teclado disponível. A informação necessária para converter a pressão da tecla nos caracteres a enviar ao terminal não existe. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Erro no esquema de cores - + Cannot load color scheme: %1 Não foi possível carregar o esquema de cores: %1 diff --git a/lib/translations/qtermwidget_pt_BR.ts b/lib/translations/qtermwidget_pt_BR.ts index b0d531c..ed32d37 100644 --- a/lib/translations/qtermwidget_pt_BR.ts +++ b/lib/translations/qtermwidget_pt_BR.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Tamanho: XXX x XXX - + Size: %1 x %2 Tamanho: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>A saída foi <a href="http://en.wikipedia.org/wiki/Flow_control">suspensa</a> pressionando Ctrl+S. Pressione <b>Ctrl+Q</b> para continuar.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Nenhum tradutor de teclado disponível. A informação necessária para converter a tecla pressionada em caracteres para enviar para o terminal está faltando. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Erro no esquema de cor - + Cannot load color scheme: %1 Não foi possível carregar o esquema de cor: %1 diff --git a/lib/translations/qtermwidget_ru.ts b/lib/translations/qtermwidget_ru.ts index 7d5ad3f..b28eab8 100644 --- a/lib/translations/qtermwidget_ru.ts +++ b/lib/translations/qtermwidget_ru.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Размер: XXX x XXX - + Size: %1 x %2 Размер: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Вывод был <a href="https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B0">приостановлен</a> нажатием Ctrl+S. Нажмите <b>Ctrl+Q</b> для продолжения.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Нет доступных трансляторов клавиатуры. Информация, необходимая, чтобы преобразовать нажатия клавиш в символы, которые будут отправлены на терминал, не найдена. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Ошибка цветовой схемы - + Cannot load color scheme: %1 Не удалось загрузить цветовую схему: %1 diff --git a/lib/translations/qtermwidget_tr.ts b/lib/translations/qtermwidget_tr.ts index 104ef26..24d8f2e 100644 --- a/lib/translations/qtermwidget_tr.ts +++ b/lib/translations/qtermwidget_tr.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX Boyut: XXX x XXX - + Size: %1 x %2 Boyut: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>Çıktı, Ctrl+S'ye basılarak <a href="http://en.wikipedia.org/wiki/Flow_control">durduruldu</a>. Sürdürmek için <b>Ctrl+Q</b>'a basınız.</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. Hiçbir klavye çeviricisi yok. Tuş vuruşlarını karaktere dönüştürüp uçbirime göndermek için gereken bilgi eksik. + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error Renk Şeması Hatası - + Cannot load color scheme: %1 Renk şeması yüklenemedi: %1 diff --git a/lib/translations/qtermwidget_zh_CN.ts b/lib/translations/qtermwidget_zh_CN.ts index c42ce86..e278d5b 100644 --- a/lib/translations/qtermwidget_zh_CN.ts +++ b/lib/translations/qtermwidget_zh_CN.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX 大小: XXX x XXX - + Size: %1 x %2 大小: %1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>输出已被 Ctrl+S <a href="http://en.wikipedia.org/wiki/Flow_control">暂停</a>。按 <b>Ctrl+Q</b> 复原。</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. 没有可用的键码转换表。找不到需要把按键转换至符号以传送至终端的信息。 + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error 配色错误 - + Cannot load color scheme: %1 无法加载配色: %1 diff --git a/lib/translations/qtermwidget_zh_TW.ts b/lib/translations/qtermwidget_zh_TW.ts index 1631bc6..231ee19 100644 --- a/lib/translations/qtermwidget_zh_TW.ts +++ b/lib/translations/qtermwidget_zh_TW.ts @@ -27,17 +27,27 @@ Konsole::TerminalDisplay - + Size: XXX x XXX 大小:XXX x XXX - + Size: %1 x %2 大小:%1 x %2 - + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> <qt>輸出已被Ctrl+S<a href="http://en.wikipedia.org/wiki/Flow_control">暫停</a>。按<b>Ctrl+Q</b>復原。</qt> @@ -45,11 +55,19 @@ Konsole::Vt102Emulation - + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. 沒有可用的鍵碼轉換表。用來將按鍵轉換成終端機字元的資訊遺失。 + + QMessageBox + + + Show Details... + + + QObject @@ -87,12 +105,12 @@ QTermWidget - + Color Scheme Error 配色錯誤 - + Cannot load color scheme: %1 無法載入配色:%1 From eca0b46d682fb19130b13ef1c0f275acb272f56c Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Thu, 4 Mar 2021 13:19:29 +0100 Subject: [PATCH 147/162] Translations update from Weblate (#411) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Weblate commits Co-authored-by: Dimitrios Glentadakis Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/el/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Baptiste Huchon Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/fr/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Masamichi Ito Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/ja/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Allan Nordhøy Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/nb_NO/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Standreas Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/it/ Translation: LXQt Desktop/qtermwidget Co-authored-by: Dimitrios Glentadakis Co-authored-by: Baptiste Huchon Co-authored-by: Masamichi Ito Co-authored-by: Allan Nordhøy Co-authored-by: Standreas --- lib/translations/qtermwidget_el.ts | 6 +++--- lib/translations/qtermwidget_fr.ts | 6 +++--- lib/translations/qtermwidget_it.ts | 6 +++--- lib/translations/qtermwidget_ja.ts | 6 +++--- lib/translations/qtermwidget_nb_NO.ts | 14 +++++++------- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lib/translations/qtermwidget_el.ts b/lib/translations/qtermwidget_el.ts index 8bab6a9..34dddeb 100644 --- a/lib/translations/qtermwidget_el.ts +++ b/lib/translations/qtermwidget_el.ts @@ -39,12 +39,12 @@ Paste multiline text - + Επικόλληση κειμένου πολλαπλών γραμμών Are you sure you want to paste this text? - + Επιθυμείτε σίγουρα την επικόλληση του κειμένου; @@ -65,7 +65,7 @@ Show Details... - + Εμφάνιση λεπτομερειών... diff --git a/lib/translations/qtermwidget_fr.ts b/lib/translations/qtermwidget_fr.ts index e253086..aee5376 100644 --- a/lib/translations/qtermwidget_fr.ts +++ b/lib/translations/qtermwidget_fr.ts @@ -39,12 +39,12 @@ Paste multiline text - + Coller des textes multiligne Are you sure you want to paste this text? - + Êtes vous sûr de vouloir coller ce texte ? @@ -65,7 +65,7 @@ Show Details... - + Voir les détails... diff --git a/lib/translations/qtermwidget_it.ts b/lib/translations/qtermwidget_it.ts index 7ff7be3..2f9f0ae 100644 --- a/lib/translations/qtermwidget_it.ts +++ b/lib/translations/qtermwidget_it.ts @@ -39,12 +39,12 @@ Paste multiline text - + Incolla testo multi-righe Are you sure you want to paste this text? - + Si è sicuro di voler incollare questo testo? @@ -65,7 +65,7 @@ Show Details... - + Mostra dettagli... diff --git a/lib/translations/qtermwidget_ja.ts b/lib/translations/qtermwidget_ja.ts index fbd72b7..1ad73ea 100644 --- a/lib/translations/qtermwidget_ja.ts +++ b/lib/translations/qtermwidget_ja.ts @@ -39,12 +39,12 @@ Paste multiline text - + 複数行テキストの貼り付け Are you sure you want to paste this text? - + このテキストを貼り付けますか? @@ -65,7 +65,7 @@ Show Details... - + 詳細の表示... diff --git a/lib/translations/qtermwidget_nb_NO.ts b/lib/translations/qtermwidget_nb_NO.ts index 1e79bc8..8ef7fa9 100644 --- a/lib/translations/qtermwidget_nb_NO.ts +++ b/lib/translations/qtermwidget_nb_NO.ts @@ -6,22 +6,22 @@ Bell in session '%1' - + Klokke i økt «%1» Session '%1' exited with status %2. - + Økt «%1» avsluttet med status %2. Session '%1' crashed. - + Økt «%1» krasjet. Session '%1' exited unexpectedly. - + Økt «%1» avsluttet uventet. @@ -39,12 +39,12 @@ Paste multiline text - + Lim inn flerlinjerstekst Are you sure you want to paste this text? - + Er du sikker på at du vil lime inn denne teksten? @@ -65,7 +65,7 @@ Show Details... - + Vis detaljer … From 6385572051eeee715bb007f097138956d6f476d7 Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Sun, 7 Mar 2021 10:04:03 +0100 Subject: [PATCH 148/162] Translations update from Weblate (#412) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Weblate commits Co-authored-by: helabasa * Weblate commits Co-authored-by: Allan Nordhøy Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/nb_NO/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Yaron Shahrabani Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/he/ Translation: LXQt Desktop/qtermwidget Co-authored-by: helabasa Co-authored-by: Allan Nordhøy Co-authored-by: Yaron Shahrabani --- lib/translations/qtermwidget_he.ts | 6 +- lib/translations/qtermwidget_nb_NO.ts | 2 +- lib/translations/qtermwidget_si.ts | 166 ++++++++++++++++++++++++++ 3 files changed, 170 insertions(+), 4 deletions(-) create mode 100644 lib/translations/qtermwidget_si.ts diff --git a/lib/translations/qtermwidget_he.ts b/lib/translations/qtermwidget_he.ts index cc6f4ab..d10bd54 100644 --- a/lib/translations/qtermwidget_he.ts +++ b/lib/translations/qtermwidget_he.ts @@ -39,12 +39,12 @@ Paste multiline text - + הדבקת מקבץ שורות Are you sure you want to paste this text? - + להדביק את הטקסט הזה? @@ -65,7 +65,7 @@ Show Details... - + להציג פרטים… diff --git a/lib/translations/qtermwidget_nb_NO.ts b/lib/translations/qtermwidget_nb_NO.ts index 8ef7fa9..aa42d5e 100644 --- a/lib/translations/qtermwidget_nb_NO.ts +++ b/lib/translations/qtermwidget_nb_NO.ts @@ -57,7 +57,7 @@ No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. - Ingen tastaturoversetter er tilgjengelig. Informasjonen som trengs for å gjøre tastetrykk om til tegn å sende til terminalen mangler. + Ingen tastaturoversetter er tilgjengelig. Nødvendig info for å gjøre om tastetrykk til tegn å sende terminalen mangler. diff --git a/lib/translations/qtermwidget_si.ts b/lib/translations/qtermwidget_si.ts new file mode 100644 index 0000000..9f43597 --- /dev/null +++ b/lib/translations/qtermwidget_si.ts @@ -0,0 +1,166 @@ + + + + + Konsole::Session + + + Bell in session '%1' + + + + + Session '%1' exited with status %2. + + + + + Session '%1' crashed. + + + + + Session '%1' exited unexpectedly. + + + + + Konsole::TerminalDisplay + + + Size: XXX x XXX + + + + + Size: %1 x %2 + + + + + Paste multiline text + + + + + Are you sure you want to paste this text? + + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> + + + + + Konsole::Vt102Emulation + + + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. + + + + + QMessageBox + + + Show Details... + + + + + QObject + + + + Un-named Color Scheme + + + + + Accessible Color Scheme + + + + + Open Link + + + + + Copy Link Address + + + + + Send Email To... + + + + + Copy Email Address + + + + + QTermWidget + + + Color Scheme Error + + + + + Cannot load color scheme: %1 + + + + + SearchBar + + + Match case + + + + + Regular expression + + + + + Highlight all matches + + + + + SearchBar + + + + + X + + + + + Find: + + + + + < + + + + + > + + + + + ... + + + + From fe2dc5f2bdd62b8e343649b40c8e5e2c59a38b63 Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Wed, 10 Mar 2021 15:15:53 +0100 Subject: [PATCH 149/162] Translations update from Weblate (#414) * Weblate commits Co-authored-by: Hugo Carvalho Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/pt/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Daniel Araujo Domingues Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/pt_BR/ Translation: LXQt Desktop/qtermwidget Co-authored-by: Hugo Carvalho Co-authored-by: Daniel Araujo Domingues --- lib/translations/qtermwidget_pt.ts | 6 +++--- lib/translations/qtermwidget_pt_BR.ts | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/translations/qtermwidget_pt.ts b/lib/translations/qtermwidget_pt.ts index 64103e5..04383ec 100644 --- a/lib/translations/qtermwidget_pt.ts +++ b/lib/translations/qtermwidget_pt.ts @@ -39,12 +39,12 @@ Paste multiline text - + Colar texto com várias linhas Are you sure you want to paste this text? - + Tem a certeza que deseja colar este texto? @@ -65,7 +65,7 @@ Show Details... - + Mostrar detalhes... diff --git a/lib/translations/qtermwidget_pt_BR.ts b/lib/translations/qtermwidget_pt_BR.ts index ed32d37..2a78b56 100644 --- a/lib/translations/qtermwidget_pt_BR.ts +++ b/lib/translations/qtermwidget_pt_BR.ts @@ -39,12 +39,12 @@ Paste multiline text - + Cole texto multilinha Are you sure you want to paste this text? - + Tem certeza que deseja colar este texto? @@ -65,7 +65,7 @@ Show Details... - + Mostrar Detalhes... From 85dd00952f5e5f3473792aacc56c4a527f22a69e Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Sat, 13 Mar 2021 07:31:10 +0100 Subject: [PATCH 150/162] Weblate commits (#415) Co-authored-by: KaiserBarbarossa Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/de/ Translation: LXQt Desktop/qtermwidget Co-authored-by: KaiserBarbarossa --- lib/translations/qtermwidget_de.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/translations/qtermwidget_de.ts b/lib/translations/qtermwidget_de.ts index f824c11..1e68827 100644 --- a/lib/translations/qtermwidget_de.ts +++ b/lib/translations/qtermwidget_de.ts @@ -65,7 +65,7 @@ Show Details... - + Details... @@ -74,7 +74,7 @@ Un-named Color Scheme - Nicht benanntes Farbschema + Unbenanntes Farbschema From 059d832086facb19035a07d975ea4fd05d36b1ec Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Sun, 14 Mar 2021 16:55:19 +0800 Subject: [PATCH 151/162] Update docs (#410) * Update docs * Minimal Qt version is bumped in https://github.com/lxqt/lxqt/issues/1844 * Minimal CMake version is bumped in https://github.com/lxqt/qtermwidget/pull/230 * Closes #402 - confusion around lxqt-build-tools version and PyQt builds * Address comments --- CHANGELOG | 5 +++++ README.md | 10 ++++++---- docs/configuration.md | 20 ++++++++++++++++++++ 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 docs/configuration.md diff --git a/CHANGELOG b/CHANGELOG index 1f88da1..368abf6 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,8 @@ +qtermwidget-0.17.0 / unreleased +=============================== + * Drop support for KDE3 color scheme formats. (#367) + * Added modes for background image. How background images are drawn is changed and manual reconfiguration is needed. See docs/configuration.md for more details. (#385) + qtermwidget-0.16.1 / 2020-11-14 =============================== * Bumped version to 0.16.1, for a point release of qterminal. diff --git a/README.md b/README.md index 90746a3..d09e977 100644 --- a/README.md +++ b/README.md @@ -52,16 +52,18 @@ License: public-domain ### Compiling sources -The only runtime dependency is qtbase ≥ 5.7.1. +The only runtime dependency is qtbase ≥ 5.12.0. Build dependencies are as follows: -- CMake ≥ 3.0.2 serves as the build system and therefore needs to be present to compile. -- [lxqt-build-tools](https://github.com/lxqt/lxqt-build-tools/) >= 0.4.0 is also needed for compilation. -- Git is needed to pull translations and optionally pull latest VCS checkouts. +- CMake ≥ 3.1.0 serves as the build system and therefore needs to be present to compile. +- The latest [lxqt-build-tools](https://github.com/lxqt/lxqt-build-tools/) is also needed for compilation. +- Git is needed to optionally pull latest VCS checkouts. Code configuration is handled by CMake. CMake variable `CMAKE_INSTALL_PREFIX` will normally have to be set to `/usr`, depending on the way library paths are dealt with on 64bit systems. Variables like `CMAKE_INSTALL_LIBDIR` may have to be set as well. To build, run `make`. To install, run `make install` which accepts variable `DESTDIR` as usual. +To build PyQt bindings, specify an additional CMake option `QTERMWIDGET_BUILD_PYTHON_BINDING=ON` when building this library. + ### Binary packages The library is provided by all major Linux distributions. This includes Arch Linux, Debian, Fedora, openSUSE and all of their children, given they use the same package repositories. diff --git a/docs/configuration.md b/docs/configuration.md new file mode 100644 index 0000000..33fb676 --- /dev/null +++ b/docs/configuration.md @@ -0,0 +1,20 @@ +# Migration for background images + +How the background image is drawn has been changed since version 0.17. +Intuitively, the background image is now drawn above the background color instead of below it. +Technically, the background image is no longer blended with the background color. + +Any background image can be used but, of course, it should be chosen so that the terminal text can be easily read on it. +Since an image may not be totally dark or light, you might want to use a translucent image as the background. +As a result, the background image is mixed with the background color to improve readability. +Opaque images can also be converted to translucent ones with a few steps. + +A common usage is an effect similiar to previous qtermwidget versions or other terminal emulators. +To achieve that, you can convert the background image to a translucent one with the transparency level matching the original terminal transparency. +For example, if the original terminal transparency of qtermwidget was 25% (or 75% in some other terminal emulators), a converted image with transparency 25% will work as usual. +The conversion can be done via ImageMagick, GraphicsMagick, GIMP or Krita. +Here is an example command using ImageMagick: + + $ convert original_image.jpg -matte -channel A +level 0,25% +channel translucent_image.png + +You may also want to change the terminal transparency to 0% if you do not want to see another window or the desktop below the terminal. From a078ec1bce2f84d90945a49adcc4366c9d23aef2 Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Sun, 21 Mar 2021 12:09:50 +0100 Subject: [PATCH 152/162] Translations update from Weblate (#416) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Weblate commits Co-authored-by: Hasan Yıldız Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/tr/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Yitin <924068818@qq.com> Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/zh_CN/ Translation: LXQt Desktop/qtermwidget Co-authored-by: Hasan Yıldız Co-authored-by: Yitin <924068818@qq.com> --- lib/translations/qtermwidget_tr.ts | 6 +++--- lib/translations/qtermwidget_zh_CN.ts | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/translations/qtermwidget_tr.ts b/lib/translations/qtermwidget_tr.ts index 24d8f2e..3e2ec67 100644 --- a/lib/translations/qtermwidget_tr.ts +++ b/lib/translations/qtermwidget_tr.ts @@ -39,12 +39,12 @@ Paste multiline text - + Çok satırlı metni yapıştır Are you sure you want to paste this text? - + Bu metni yapıştırmak istediğinizden emin misiniz? @@ -65,7 +65,7 @@ Show Details... - + Detayları göster... diff --git a/lib/translations/qtermwidget_zh_CN.ts b/lib/translations/qtermwidget_zh_CN.ts index e278d5b..a2ddeb3 100644 --- a/lib/translations/qtermwidget_zh_CN.ts +++ b/lib/translations/qtermwidget_zh_CN.ts @@ -39,12 +39,12 @@ Paste multiline text - + 粘帖多行文本 Are you sure you want to paste this text? - + 确定你想要粘贴此文本? @@ -65,7 +65,7 @@ Show Details... - + 显示详情... From d682d30716d4e39373eb13c7f33c5027e697ba14 Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Sun, 28 Mar 2021 09:07:08 +0200 Subject: [PATCH 153/162] Translations update from Weblate (#419) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Weblate commits Co-authored-by: Masamichi Ito Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/ja/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Priit Jõerüüt Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/et/ Translation: LXQt Desktop/qtermwidget Co-authored-by: Masamichi Ito Co-authored-by: Priit Jõerüüt --- lib/translations/qtermwidget_et.ts | 166 +++++++++++++++++++++++++++++ lib/translations/qtermwidget_ja.ts | 2 +- 2 files changed, 167 insertions(+), 1 deletion(-) create mode 100644 lib/translations/qtermwidget_et.ts diff --git a/lib/translations/qtermwidget_et.ts b/lib/translations/qtermwidget_et.ts new file mode 100644 index 0000000..e905351 --- /dev/null +++ b/lib/translations/qtermwidget_et.ts @@ -0,0 +1,166 @@ + + + + + Konsole::Session + + + Bell in session '%1' + Signaal sessioonis „%1“ + + + + Session '%1' exited with status %2. + Sessioon „%1“ lõpetas töö olekuga %2. + + + + Session '%1' crashed. + Sessioon „%1“ jooksis kokku. + + + + Session '%1' exited unexpectedly. + Sessioon „%1“ lõpetas ootamatult töö. + + + + Konsole::TerminalDisplay + + + Size: XXX x XXX + Suurus: XXX x XXX + + + + Size: %1 x %2 + Suurus: %1 x %2 + + + + Paste multiline text + Aseta mitmerealine tekst + + + + Are you sure you want to paste this text? + Kas sa oled kindel, et soovid asetada seda teksti? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> + <qt>Vajutades Ctrl+S jääb väljundi kuvamine <a href="http://en.wikipedia.org/wiki/Flow_control">pausile</a>. Jätkamiseks vajuta <b>Ctrl+Q</b>.</qt> + + + + Konsole::Vt102Emulation + + + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. + Klaviatuurisisendi tõlgendaja pole saadaval. Hetkel ei leidu teavet kuidas muuta klahvivajutused terminali saadetavateks tähemärkideks. + + + + QMessageBox + + + Show Details... + Näita üksikasju... + + + + QObject + + + + Un-named Color Scheme + Nimeta värvikombinatsioon + + + + Accessible Color Scheme + Hõlpsalt kasutatav värvikombinatsioon + + + + Open Link + Ava link + + + + Copy Link Address + Kopeeri lingi aadress + + + + Send Email To... + Saada e-kiri aadressile... + + + + Copy Email Address + Kopeeri e-posti aadress + + + + QTermWidget + + + Color Scheme Error + Värvikombinatsiooni viga + + + + Cannot load color scheme: %1 + Värvikombinatsiooni laadimine ei õnnestu: %1 + + + + SearchBar + + + Match case + Tõstutundlik + + + + Regular expression + Regulaaravaldis + + + + Highlight all matches + Tõsta kõik vasted esile + + + + SearchBar + Otsinguriba + + + + X + X + + + + Find: + Otsi: + + + + < + < + + + + > + > + + + + ... + ... + + + diff --git a/lib/translations/qtermwidget_ja.ts b/lib/translations/qtermwidget_ja.ts index 1ad73ea..21f57a0 100644 --- a/lib/translations/qtermwidget_ja.ts +++ b/lib/translations/qtermwidget_ja.ts @@ -57,7 +57,7 @@ No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. - キーボードトランスレータがありません。押されたキーを文字に変換してターミナルへ送信するために必要な情報がありません。 + キーボードトランスレーターがありません。押されたキーを文字に変換してターミナルへ送信するために必要な情報がありません。 From 215fd43b0c1d2f013d9207a13f5d4a627fa12565 Mon Sep 17 00:00:00 2001 From: tsujan Date: Sun, 11 Apr 2021 14:14:51 +0430 Subject: [PATCH 154/162] Pre-release changes (#420) Please don't merge non-translation PRs before 0.17.0 is released! --- CHANGELOG | 13 ++++++++++--- CMakeLists.txt | 6 +++--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 368abf6..a19409b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,7 +1,14 @@ -qtermwidget-0.17.0 / unreleased +qtermwidget-0.17.0 / 2021-04-15 =============================== - * Drop support for KDE3 color scheme formats. (#367) - * Added modes for background image. How background images are drawn is changed and manual reconfiguration is needed. See docs/configuration.md for more details. (#385) + * Drop support for KDE3 color scheme formats. + * Some code cleanup and modernization. + * Added a method to disable bracketed paste mode. + * Added an example for PyQt5. + * Improve "Undecodable sequence" warnings. + * Properly implement the "Action after paste" feature. + * Fix execution after paste when Ctrl is hold. + * Workaround an issue with glibc 2.33 on old Docker engines. + * Added modes for background image. How background images are drawn is changed and manual reconfiguration is needed. See docs/configuration.md for more details. qtermwidget-0.16.1 / 2020-11-14 =============================== diff --git a/CMakeLists.txt b/CMakeLists.txt index 6e2de3e..2bd0135 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,8 +21,8 @@ option(USE_UTF8PROC "Use libutf8proc for better Unicode support. Default OFF" OF # just change version for releases set(QTERMWIDGET_VERSION_MAJOR "0") -set(QTERMWIDGET_VERSION_MINOR "16") -set(QTERMWIDGET_VERSION_PATCH "1") +set(QTERMWIDGET_VERSION_MINOR "17") +set(QTERMWIDGET_VERSION_PATCH "0") set(QTERMWIDGET_VERSION "${QTERMWIDGET_VERSION_MAJOR}.${QTERMWIDGET_VERSION_MINOR}.${QTERMWIDGET_VERSION_PATCH}") @@ -32,7 +32,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) # Minimum Versions set(QT_MINIMUM_VERSION "5.12.0") -set(LXQTBT_MINIMUM_VERSION "0.8.0") +set(LXQTBT_MINIMUM_VERSION "0.9.0") find_package(Qt5Widgets "${QT_MINIMUM_VERSION}" REQUIRED) find_package(Qt5LinguistTools "${QT_MINIMUM_VERSION}" REQUIRED) From 9881fee203e9550dc159733555d0b16359651247 Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Fri, 16 Apr 2021 20:23:43 +0200 Subject: [PATCH 155/162] Translations update from Weblate (#421) * Weblate commits Co-authored-by: Roman Volak Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/de/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Pavel Fric Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/cs/ Translation: LXQt Desktop/qtermwidget Co-authored-by: Roman Volak Co-authored-by: Pavel Fric --- lib/translations/qtermwidget_cs.ts | 6 +++--- lib/translations/qtermwidget_de.ts | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/translations/qtermwidget_cs.ts b/lib/translations/qtermwidget_cs.ts index e06df83..ea63fd9 100644 --- a/lib/translations/qtermwidget_cs.ts +++ b/lib/translations/qtermwidget_cs.ts @@ -39,12 +39,12 @@ Paste multiline text - + Vložit víceřádkový text Are you sure you want to paste this text? - + Opravdu chcete vložit tento text? @@ -65,7 +65,7 @@ Show Details... - + Ukázat podrobnosti... diff --git a/lib/translations/qtermwidget_de.ts b/lib/translations/qtermwidget_de.ts index 1e68827..daf13e0 100644 --- a/lib/translations/qtermwidget_de.ts +++ b/lib/translations/qtermwidget_de.ts @@ -39,12 +39,12 @@ Paste multiline text - + mehrzeiligen Text einfügen Are you sure you want to paste this text? - + Sie wollen diesen Text einfügen? From 86cb8acc303f047040fb8fc09f5149ff176d4d93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Tue, 27 Apr 2021 21:05:07 +0100 Subject: [PATCH 156/162] Bump minimum required Qt version to 5.15 Part of https://github.com/lxqt/lxqt/discussions/1974. --- CMakeLists.txt | 2 +- lib/kpty.cpp | 4 ---- lib/qtermwidget.cpp | 4 ---- 3 files changed, 1 insertion(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2bd0135..bbaa192 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,7 +31,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake") set(CMAKE_INCLUDE_CURRENT_DIR ON) # Minimum Versions -set(QT_MINIMUM_VERSION "5.12.0") +set(QT_MINIMUM_VERSION "5.15.0") set(LXQTBT_MINIMUM_VERSION "0.9.0") find_package(Qt5Widgets "${QT_MINIMUM_VERSION}" REQUIRED) diff --git a/lib/kpty.cpp b/lib/kpty.cpp index f65dc7b..21dc745 100644 --- a/lib/kpty.cpp +++ b/lib/kpty.cpp @@ -338,11 +338,7 @@ gotpty: qWarning() << "chownpty failed for device " << ptyName << "::" << d->ttyName << "\nThis means the communication can be eavesdropped." -#if (QT_VERSION >= QT_VERSION_CHECK(5,15,0)) << Qt::endl; -#else - << endl; -#endif } #if defined (HAVE__GETPTY) || defined (HAVE_GRANTPT) diff --git a/lib/qtermwidget.cpp b/lib/qtermwidget.cpp index 521b841..e5c58a5 100644 --- a/lib/qtermwidget.cpp +++ b/lib/qtermwidget.cpp @@ -267,11 +267,7 @@ void QTermWidget::init(int startnow) // translations // First check $XDG_DATA_DIRS. This follows the implementation in libqtxdg QString d = QFile::decodeName(qgetenv("XDG_DATA_DIRS")); -#if (QT_VERSION >= QT_VERSION_CHECK(5,15,0)) QStringList dirs = d.split(QLatin1Char(':'), Qt::SkipEmptyParts); -#else - QStringList dirs = d.split(QLatin1Char(':'), QString::SkipEmptyParts); -#endif if (dirs.isEmpty()) { dirs.append(QString::fromLatin1("/usr/local/share")); dirs.append(QString::fromLatin1("/usr/share")); From 9a8158acc81c5959e731b50c8e20f1e0110d978b Mon Sep 17 00:00:00 2001 From: Tsu Jan Date: Sun, 2 May 2021 10:06:05 +0430 Subject: [PATCH 157/162] Fixed crashes under (Plasma) Wayland on opening tab and splitting With this check, I can't make QTerminal crash by splitting or opening new tabs under Plasma Wayland. Fixes https://github.com/lxqt/qterminal/issues/806 and fixes https://github.com/lxqt/qterminal/issues/820 --- lib/TerminalCharacterDecoder.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/TerminalCharacterDecoder.cpp b/lib/TerminalCharacterDecoder.cpp index 5c127dd..aa13b41 100644 --- a/lib/TerminalCharacterDecoder.cpp +++ b/lib/TerminalCharacterDecoder.cpp @@ -79,6 +79,16 @@ void PlainTextDecoder::decodeLine(const Character* const characters, int count, _linePositions << pos; } + // check the real length + for (int i = 0 ; i < count ; i++) + { + if (characters + i == nullptr) + { + count = i; + break; + } + } + //TODO should we ignore or respect the LINE_WRAPPED line property? //note: we build up a QString and send it to the text stream rather writing into the text From f4794343e3c00012ccd5994afe51cecbbba5e05b Mon Sep 17 00:00:00 2001 From: LXQtBot <72348767+LXQtBot@users.noreply.github.com> Date: Sun, 2 May 2021 20:11:52 +0200 Subject: [PATCH 158/162] Translations update from Weblate (#422) * Weblate commits Co-authored-by: psimacek Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/cs/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: Heimen Stoffels Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/nl/ Translation: LXQt Desktop/qtermwidget * Weblate commits Co-authored-by: scootergrisen Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/da/ Translation: LXQt Desktop/qtermwidget Co-authored-by: psimacek Co-authored-by: Heimen Stoffels Co-authored-by: scootergrisen --- lib/translations/qtermwidget_cs.ts | 2 +- lib/translations/qtermwidget_da.ts | 6 +- lib/translations/qtermwidget_nl.ts | 166 +++++++++++++++++++++++++++++ 3 files changed, 170 insertions(+), 4 deletions(-) create mode 100644 lib/translations/qtermwidget_nl.ts diff --git a/lib/translations/qtermwidget_cs.ts b/lib/translations/qtermwidget_cs.ts index ea63fd9..0d7c3f9 100644 --- a/lib/translations/qtermwidget_cs.ts +++ b/lib/translations/qtermwidget_cs.ts @@ -65,7 +65,7 @@ Show Details... - Ukázat podrobnosti... + Zobrazit detaily... diff --git a/lib/translations/qtermwidget_da.ts b/lib/translations/qtermwidget_da.ts index 6eefdc1..e425e0d 100644 --- a/lib/translations/qtermwidget_da.ts +++ b/lib/translations/qtermwidget_da.ts @@ -39,12 +39,12 @@ Paste multiline text - + Indsæt multilinjetekst Are you sure you want to paste this text? - + Er du sikker på, at du vil indsætte teksten? @@ -65,7 +65,7 @@ Show Details... - + Vis detaljer ... diff --git a/lib/translations/qtermwidget_nl.ts b/lib/translations/qtermwidget_nl.ts new file mode 100644 index 0000000..8dccc54 --- /dev/null +++ b/lib/translations/qtermwidget_nl.ts @@ -0,0 +1,166 @@ + + + + + Konsole::Session + + + Bell in session '%1' + Bel in sessie ‘%1’ + + + + Session '%1' exited with status %2. + Sessie ‘%1’ is afgesloten met status ‘%2’. + + + + Session '%1' crashed. + Sessie ‘%1’ is gecrasht. + + + + Session '%1' exited unexpectedly. + Sessie ‘%1’ is onverwachts afgebroken. + + + + Konsole::TerminalDisplay + + + Size: XXX x XXX + Grootte: XXX x XXX + + + + Size: %1 x %2 + Grootte: %1x%2 + + + + Paste multiline text + Meerregelige tekst plakken + + + + Are you sure you want to paste this text? + Weet u zeker dat u deze tekst wilt plakken? + + + + <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> + <qt>Door op Ctrl+S te drukken is de uitvoer <a href="http://en.wikipedia.org/wiki/Flow_control">onderbroken</a>. Druk op <b>Ctrl+Q</b> om te hervatten.</qt> + + + + Konsole::Vt102Emulation + + + No keyboard translator available. The information needed to convert key presses into characters to send to the terminal is missing. + Er is geen toetsaanslagomzetting beschikbaar, waardoor toetsaanslagen niet kunnen worden omgezet in tekens. + + + + QMessageBox + + + Show Details... + Details tonen… + + + + QObject + + + + Un-named Color Scheme + Naamloos kleurenschema + + + + Accessible Color Scheme + Toegankelijk kleurenschema + + + + Open Link + Link openen + + + + Copy Link Address + Linkadres kopiëren + + + + Send Email To... + E-mail versturen naar… + + + + Copy Email Address + E-mailadres kopiëren + + + + QTermWidget + + + Color Scheme Error + Kleurenschemafout + + + + Cannot load color scheme: %1 + Het kleurenschema kan niet worden geladen: %1 + + + + SearchBar + + + Match case + Hoofdlettergevoelig + + + + Regular expression + Reguliere uitdrukking + + + + Highlight all matches + Alle overeenkomsten markeren + + + + SearchBar + Zoekbalk + + + + X + X + + + + Find: + Zoeken: + + + + < + < + + + + > + > + + + + ... + + + + From c150ad68dd7b85a7fc9cb784b0f49e4eb93f1a4d Mon Sep 17 00:00:00 2001 From: Pavel Fric Date: Wed, 5 May 2021 09:07:18 +0200 Subject: [PATCH 159/162] Weblate commits Co-authored-by: Pavel Fric Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/cs/ Translation: LXQt Desktop/qtermwidget --- lib/translations/qtermwidget_cs.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/translations/qtermwidget_cs.ts b/lib/translations/qtermwidget_cs.ts index 0d7c3f9..d2978e9 100644 --- a/lib/translations/qtermwidget_cs.ts +++ b/lib/translations/qtermwidget_cs.ts @@ -65,7 +65,7 @@ Show Details... - Zobrazit detaily... + Zobrazit podrobnosti... From 6093d29ea7ec012f78add1b0e182a379a3542ebb Mon Sep 17 00:00:00 2001 From: Adolfo Jayme Barrientos Date: Wed, 5 May 2021 09:07:18 +0200 Subject: [PATCH 160/162] Weblate commits Co-authored-by: Adolfo Jayme Barrientos Translate-URL: https://translate.lxqt-project.org/projects/lxqt-desktop/qtermwidget/es/ Translation: LXQt Desktop/qtermwidget --- lib/translations/qtermwidget_es.ts | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/lib/translations/qtermwidget_es.ts b/lib/translations/qtermwidget_es.ts index e9d27bb..133bc37 100644 --- a/lib/translations/qtermwidget_es.ts +++ b/lib/translations/qtermwidget_es.ts @@ -6,22 +6,22 @@ Bell in session '%1' - Campana en sesión '%1' + Campana en sesión «%1» Session '%1' exited with status %2. - Sesión '%1' ha terminado con estado %2. + La sesión «%1» ha terminado con el estado %2. Session '%1' crashed. - La sesión '%1' falló. + Cesó el funcionamiento de la sesión «%1». Session '%1' exited unexpectedly. - La sesión '%1' se cerró inesperadamente. + La sesión «%1» ha terminado inesperadamente. @@ -29,27 +29,27 @@ Size: XXX x XXX - Tamaño: XXX x XXX + Tamaño: XXX × XXX Size: %1 x %2 - Tamaño: %1 x %2 + Tamaño: %1 × %2 Paste multiline text - + Pegar texto multirrenglón Are you sure you want to paste this text? - + ¿Confirma que quiere pegar este texto? <qt>Output has been <a href="http://en.wikipedia.org/wiki/Flow_control">suspended</a> by pressing Ctrl+S. Press <b>Ctrl+Q</b> to resume.</qt> - <qt>La salida ha sido <a href="http://en.wikipedia.org/wiki/Flow_control">suspendida</a> al pulsar Ctrl+S. Pulse <b>Ctrl+Q</b> para reanudarla.</qt> + <qt>La salida se ha <a href="http://en.wikipedia.org/wiki/Flow_control">suspendido</a> al presionar Ctrl+S. Presione <b>Ctrl+Q</b> para reanudarla.</qt> @@ -65,7 +65,7 @@ Show Details... - + Mostrar detalles… @@ -74,12 +74,12 @@ Un-named Color Scheme - Esquema de color sin nombre + Combinación de colores sin nombre Accessible Color Scheme - Esquema de color accesible + Combinación de colores accesible @@ -107,12 +107,12 @@ Color Scheme Error - Error del esquema de color + Error de la combinación de colores Cannot load color scheme: %1 - No se puede cargar el esquema de color: %1 + No se puede cargar la combinación de colores: %1 @@ -120,7 +120,7 @@ Match case - Distinguir mayúsculas de minúsculas + Distinguir mayúsculas y minúsculas From 4b43c8fa7789cd2d0ea85a39b1504e4290b4c9d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Thu, 4 Mar 2021 19:44:08 +0000 Subject: [PATCH 161/162] Use empty() to check for container emptiness It improves readability. --- lib/History.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/History.cpp b/lib/History.cpp index b287290..71a7095 100644 --- a/lib/History.cpp +++ b/lib/History.cpp @@ -612,7 +612,7 @@ CompactHistoryLine::CompactHistoryLine ( const TextLine& line, CompactHistoryBlo { length=line.size(); - if (line.size() > 0) { + if (!line.empty()) { formatLength=1; int k=1; From 4dd62f8a87f1504c7dc2fe8df85a218863d214f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=ADs=20Pereira?= Date: Thu, 4 Mar 2021 19:47:56 +0000 Subject: [PATCH 162/162] Make some member functions const --- lib/History.cpp | 2 +- lib/History.h | 2 +- lib/KeyboardTranslator.cpp | 2 +- lib/KeyboardTranslator.h | 2 +- lib/Session.cpp | 6 +++--- lib/Session.h | 6 +++--- lib/TerminalDisplay.cpp | 4 ++-- lib/TerminalDisplay.h | 4 ++-- 8 files changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/History.cpp b/lib/History.cpp index 71a7095..ec3536b 100644 --- a/lib/History.cpp +++ b/lib/History.cpp @@ -401,7 +401,7 @@ void HistoryScrollBuffer::setMaxNbLines(unsigned int lineCount) dynamic_cast(m_histType)->m_nbLines = lineCount; } -int HistoryScrollBuffer::bufferIndex(int lineNumber) +int HistoryScrollBuffer::bufferIndex(int lineNumber) const { Q_ASSERT( lineNumber >= 0 ); Q_ASSERT( lineNumber < _maxLineCount ); diff --git a/lib/History.h b/lib/History.h index 59da314..eb8c9e1 100644 --- a/lib/History.h +++ b/lib/History.h @@ -184,7 +184,7 @@ public: private: - int bufferIndex(int lineNumber); + int bufferIndex(int lineNumber) const; HistoryLine* _historyBuffer; QBitArray _wrappedLine; diff --git a/lib/KeyboardTranslator.cpp b/lib/KeyboardTranslator.cpp index 0e9a0cf..c37ec48 100644 --- a/lib/KeyboardTranslator.cpp +++ b/lib/KeyboardTranslator.cpp @@ -475,7 +475,7 @@ QString KeyboardTranslatorReader::description() const { return _description; } -bool KeyboardTranslatorReader::hasNextEntry() +bool KeyboardTranslatorReader::hasNextEntry() const { return _hasNext; } diff --git a/lib/KeyboardTranslator.h b/lib/KeyboardTranslator.h index ac2fe99..4ca6b86 100644 --- a/lib/KeyboardTranslator.h +++ b/lib/KeyboardTranslator.h @@ -369,7 +369,7 @@ public: QString description() const; /** Returns true if there is another entry in the source stream */ - bool hasNextEntry(); + bool hasNextEntry() const; /** Returns the next entry found in the source stream */ KeyboardTranslator::Entry nextEntry(); diff --git a/lib/Session.cpp b/lib/Session.cpp index faec5e7..4891e4e 100644 --- a/lib/Session.cpp +++ b/lib/Session.cpp @@ -143,7 +143,7 @@ bool Session::isRunning() const return _shellProcess->state() == QProcess::Running; } -void Session::setCodec(QTextCodec * codec) +void Session::setCodec(QTextCodec * codec) const { emulation()->setCodec(codec); } @@ -1034,7 +1034,7 @@ void SessionGroup::setMasterStatus(Session * session, bool master) } } -void SessionGroup::connectPair(Session * master , Session * other) +void SessionGroup::connectPair(Session * master , Session * other) const { // qDebug() << k_funcinfo; @@ -1045,7 +1045,7 @@ void SessionGroup::connectPair(Session * master , Session * other) SLOT(sendString(const char *,int)) ); } } -void SessionGroup::disconnectPair(Session * master , Session * other) +void SessionGroup::disconnectPair(Session * master , Session * other) const { // qDebug() << k_funcinfo; diff --git a/lib/Session.h b/lib/Session.h index a09a2d2..b2a4d6a 100644 --- a/lib/Session.h +++ b/lib/Session.h @@ -340,7 +340,7 @@ public: void setSize(const QSize & size); /** Sets the text codec used by this session's terminal emulation. */ - void setCodec(QTextCodec * codec); + void setCodec(QTextCodec * codec) const; /** * Sets whether the session has a dark background or not. The session @@ -633,8 +633,8 @@ public: int masterMode() const; private: - void connectPair(Session * master , Session * other); - void disconnectPair(Session * master , Session * other); + void connectPair(Session * master , Session * other) const; + void disconnectPair(Session * master , Session * other) const; void connectAll(bool connect); QList masters() const; diff --git a/lib/TerminalDisplay.cpp b/lib/TerminalDisplay.cpp index e321a54..3f8edaa 100644 --- a/lib/TerminalDisplay.cpp +++ b/lib/TerminalDisplay.cpp @@ -649,7 +649,7 @@ static void drawOtherChar(QPainter& paint, int x, int y, int w, int h, uchar cod } void TerminalDisplay::drawLineCharString( QPainter& painter, int x, int y, const std::wstring& str, - const Character* attributes) + const Character* attributes) const { const QPen& currentPen = painter.pen(); @@ -2791,7 +2791,7 @@ void TerminalDisplay::emitSelection(bool useXselection,bool appendReturn) } } -void TerminalDisplay::bracketText(QString& text) +void TerminalDisplay::bracketText(QString& text) const { if (bracketedPasteMode() && !_disabledBracketedPasteMode) { diff --git a/lib/TerminalDisplay.h b/lib/TerminalDisplay.h index 3f6972b..9450c93 100644 --- a/lib/TerminalDisplay.h +++ b/lib/TerminalDisplay.h @@ -206,7 +206,7 @@ public: void emitSelection(bool useXselection,bool appendReturn); /** change and wrap text corresponding to paste mode **/ - void bracketText(QString& text); + void bracketText(QString& text) const; /** * Sets the shape of the keyboard cursor. This is the cursor drawn @@ -672,7 +672,7 @@ private: const Character* style, bool invertCharacterColor); // draws a string of line graphics void drawLineCharString(QPainter& painter, int x, int y, - const std::wstring& str, const Character* attributes); + const std::wstring& str, const Character* attributes) const; // draws the preedit string for input methods void drawInputMethodPreeditString(QPainter& painter , const QRect& rect);