├── 3rdparty └── qtermwidget │ ├── lib │ ├── grp.h │ ├── utmp.h │ ├── termios.h │ ├── DefaultTranslatorText.h │ ├── translations │ │ └── CMakeLists.txt │ ├── tools.h │ ├── kb-layouts │ │ ├── kb-layouts.qrc │ │ ├── historic │ │ │ ├── x11r5.keytab │ │ │ └── vt100.keytab │ │ ├── README │ │ └── solaris.keytab │ ├── konsole_wcwidth.h │ ├── color-schemes │ │ ├── Ubuntu.colorscheme │ │ ├── Tango.colorscheme │ │ ├── Solarized.colorscheme │ │ ├── SolarizedLight.colorscheme │ │ ├── BreezeModified.colorscheme │ │ ├── Linux.colorscheme │ │ ├── color-schemes.qrc │ │ ├── BlackOnWhite.schema │ │ ├── WhiteOnBlack.schema │ │ ├── historic │ │ │ ├── GreenOnBlack.schema │ │ │ ├── Transparent_darkbg.schema │ │ │ ├── BlackOnLightColor.schema │ │ │ ├── DarkPicture.schema │ │ │ ├── LightPicture.schema │ │ │ ├── syscolor.schema │ │ │ ├── vim.schema │ │ │ ├── README.default.Schema │ │ │ ├── Linux.schema │ │ │ ├── Example.Schema │ │ │ ├── GreenTint.schema │ │ │ ├── Transparent.schema │ │ │ ├── XTerm.schema │ │ │ ├── GreenTint_MC.schema │ │ │ ├── Transparent_MC.schema │ │ │ └── Transparent_lightbg.schema │ │ ├── BlackOnLightYellow.schema │ │ ├── GreenOnBlack.colorscheme │ │ ├── DarkPastels.colorscheme │ │ └── BlackOnRandomLight.colorscheme │ ├── kpty_p.h │ ├── LineFont.h │ ├── SearchBar.h │ ├── HistorySearch.h │ ├── mman.h │ ├── SearchBar.ui │ ├── kptyprocess.cpp │ ├── ShellCommand.h │ ├── ColorTables.h │ ├── Pty.cpp │ ├── tools.cpp │ ├── BlockArray.h │ └── SearchBar.cpp │ ├── pyqt │ ├── __init__.py │ ├── cmake │ │ ├── PythonCompile.py │ │ ├── FindSIP.py │ │ ├── FindPyQt5.py │ │ ├── COPYING-CMAKE-SCRIPTS │ │ ├── FindPyQt5.cmake │ │ ├── FindSIP.cmake │ │ ├── FindPythonLibrary.cmake │ │ └── PythonMacros.cmake │ ├── test.py │ ├── CMakeLists.txt │ └── sip │ │ └── qtermwidget.sip │ ├── example │ ├── README │ ├── RemoteTerm │ │ ├── remoteterm.h │ │ ├── README.md │ │ ├── main.cpp │ │ ├── shell-srv.py │ │ ├── remoteterm.cpp │ │ └── RemoteTerm.pro │ └── main.cpp │ ├── AUTHORS │ ├── cmake │ ├── qtermwidget5-config.cmake.in │ ├── cmake_uninstall.cmake.in │ └── FindUtf8Proc.cmake │ ├── README.md │ └── qtermwidget.spec ├── src ├── qlibssh.h ├── startup.cpp ├── qsshterm_common.h ├── qsshtabterm.h ├── qssh_utils.h ├── qsiteconfig.h └── qsshterm_sftp.h ├── icon ├── edit.ico ├── grey.ico ├── new.ico ├── red.ico ├── site.ico ├── delete.ico ├── folder.ico ├── green.ico ├── qsshterm.ico ├── structure.ico └── new-folder.ico ├── kb-layouts ├── kb-layouts.qrc ├── historic │ ├── x11r5.keytab │ └── vt100.keytab ├── README ├── solaris.keytab └── linux.keytab ├── config └── sites.xml ├── color-schemes ├── Ubuntu.colorscheme ├── Tango.colorscheme ├── Solarized.colorscheme ├── SolarizedLight.colorscheme ├── BreezeModified.colorscheme ├── Linux.colorscheme ├── color-schemes.qrc ├── BlackOnWhite.schema ├── WhiteOnBlack.schema ├── historic │ ├── GreenOnBlack.schema │ ├── Transparent_darkbg.schema │ ├── BlackOnLightColor.schema │ ├── DarkPicture.schema │ ├── LightPicture.schema │ ├── syscolor.schema │ ├── vim.schema │ ├── README.default.Schema │ ├── Linux.schema │ ├── Example.Schema │ ├── GreenTint.schema │ ├── Transparent.schema │ ├── XTerm.schema │ ├── GreenTint_MC.schema │ ├── Transparent_MC.schema │ └── Transparent_lightbg.schema ├── BlackOnLightYellow.schema ├── GreenOnBlack.colorscheme ├── DarkPastels.colorscheme └── BlackOnRandomLight.colorscheme ├── README.md └── qsshterm.pro /3rdparty/qtermwidget/lib/grp.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/utmp.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/termios.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/pyqt/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/qlibssh.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | -------------------------------------------------------------------------------- /icon/edit.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/softengineer/qsshterm/HEAD/icon/edit.ico -------------------------------------------------------------------------------- /icon/grey.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/softengineer/qsshterm/HEAD/icon/grey.ico -------------------------------------------------------------------------------- /icon/new.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/softengineer/qsshterm/HEAD/icon/new.ico -------------------------------------------------------------------------------- /icon/red.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/softengineer/qsshterm/HEAD/icon/red.ico -------------------------------------------------------------------------------- /icon/site.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/softengineer/qsshterm/HEAD/icon/site.ico -------------------------------------------------------------------------------- /icon/delete.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/softengineer/qsshterm/HEAD/icon/delete.ico -------------------------------------------------------------------------------- /icon/folder.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/softengineer/qsshterm/HEAD/icon/folder.ico -------------------------------------------------------------------------------- /icon/green.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/softengineer/qsshterm/HEAD/icon/green.ico -------------------------------------------------------------------------------- /icon/qsshterm.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/softengineer/qsshterm/HEAD/icon/qsshterm.ico -------------------------------------------------------------------------------- /icon/structure.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/softengineer/qsshterm/HEAD/icon/structure.ico -------------------------------------------------------------------------------- /icon/new-folder.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/softengineer/qsshterm/HEAD/icon/new-folder.ico -------------------------------------------------------------------------------- /3rdparty/qtermwidget/example/README: -------------------------------------------------------------------------------- 1 | here is sample program which uses QTermWidet for displaying a terminal -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/DefaultTranslatorText.h: -------------------------------------------------------------------------------- 1 | "keyboard \"Fallback Key Translator\"\n" 2 | "key Tab : \"\\t\" \0" 3 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/pyqt/cmake/PythonCompile.py: -------------------------------------------------------------------------------- 1 | # By Simon Edwards 2 | # This file is in the public domain. 3 | import py_compile, sys 4 | sys.exit(py_compile.main()) 5 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/translations/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR) 2 | 3 | project(qtermwidget) 4 | 5 | build_component("." "${CMAKE_INSTALL_FULL_DATADIR}/qtermwidget/translations") 6 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/tools.h: -------------------------------------------------------------------------------- 1 | #ifndef TOOLS_H 2 | #define TOOLS_H 3 | 4 | #include 5 | #include 6 | 7 | QString get_kb_layout_dir(); 8 | void add_custom_color_scheme_dir(const QString& custom_dir); 9 | const QStringList get_color_schemes_dirs(); 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/example/RemoteTerm/remoteterm.h: -------------------------------------------------------------------------------- 1 | #ifndef WIDGET_H 2 | #define WIDGET_H 3 | 4 | #include "qtermwidget5/qtermwidget.h" 5 | 6 | class QTcpSocket; 7 | 8 | class RemoteTerm : public QTermWidget 9 | { 10 | Q_OBJECT 11 | public: 12 | RemoteTerm(const QString &ipaddr, quint16 port, QWidget *parent = 0); 13 | public slots: 14 | void atError(); 15 | private: 16 | QTcpSocket *socket; 17 | }; 18 | 19 | #endif // WIDGET_H 20 | -------------------------------------------------------------------------------- /kb-layouts/kb-layouts.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | linux.keytab 4 | solaris.keytab 5 | macbook.keytab 6 | default.keytab 7 | vt420pc.keytab 8 | historic/x11r5.keytab 9 | historic/vt100.keytab 10 | 11 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/example/RemoteTerm/README.md: -------------------------------------------------------------------------------- 1 | A simple example showing how to use QTermWidget to control and display a remote terminal. 2 | 3 | To run this example, you should: 4 | 1. Build client-side program. In my PC, I use 'apt-get' to install the QTermWidget library. 5 | 2. Start the shell-srv.py with specific paramenters.This will expose a shell via socket. 6 | 3. Start the client-side program from commandline with specific paramenters. 7 | 8 | Now you will get your own remote terminal work with QTermWidget. -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/kb-layouts/kb-layouts.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | linux.keytab 4 | solaris.keytab 5 | macbook.keytab 6 | default.keytab 7 | vt420pc.keytab 8 | historic/x11r5.keytab 9 | historic/vt100.keytab 10 | 11 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/AUTHORS: -------------------------------------------------------------------------------- 1 | Originally forked from Konsole by 2 | 3 | Revived by Petr Vanek 4 | 5 | Contributors: 6 | 7 | Adam Treat 8 | Chris Mueller 9 | Christian Surlykke 10 | Daniel O'Neill 11 | Francisco Ballina 12 | Georg Rudoy <0xd34df00d@gmail.com> 13 | Jerome Leclanche 14 | Petr Vanek 15 | @kulti 16 | -------------------------------------------------------------------------------- /src/startup.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "qsshtabterm.h" 3 | 4 | int main(int argc, char *argv[]) 5 | { 6 | QApplication a(argc, argv); 7 | QIcon icon("./icon/qsshterm.ico"); 8 | qsshTabTerm *window = new qsshTabTerm(); 9 | QRect rect = QApplication::desktop()->screen()->rect(); 10 | int width = rect.width(); 11 | int height = rect.height(); 12 | window->setWindowIcon(icon); 13 | window->resize(1024, 768); 14 | //window->move(rect.center() - window->rect().center()); 15 | window->show(); 16 | return a.exec(); 17 | } -------------------------------------------------------------------------------- /config/sites.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | ubuntu 7 | xxx 8 | 9 | 10 | 11 | 12 | 13 | 14 | admin 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/konsole_wcwidth.h: -------------------------------------------------------------------------------- 1 | /* $XFree86: xc/programs/xterm/wcwidth.h,v 1.2 2001/06/18 19:09:27 dickey Exp $ */ 2 | 3 | /* Markus Kuhn -- 2001-01-12 -- public domain */ 4 | /* Adaptions for KDE by Waldo Bastian */ 5 | /* 6 | Rewritten for QT4 by e_k 7 | */ 8 | 9 | 10 | #ifndef _KONSOLE_WCWIDTH_H_ 11 | #define _KONSOLE_WCWIDTH_H_ 12 | 13 | // Standard 14 | #include 15 | 16 | int konsole_wcwidth(wchar_t ucs); 17 | 18 | int string_width( const std::wstring & wstr ); 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/pyqt/cmake/FindSIP.py: -------------------------------------------------------------------------------- 1 | # FindSIP.py 2 | # 3 | # Copyright (c) 2007, Simon Edwards 4 | # Redistribution and use is allowed according to the terms of the BSD license. 5 | # For details see the accompanying COPYING-CMAKE-SCRIPTS file. 6 | 7 | import sys 8 | import sipconfig 9 | 10 | sipcfg = sipconfig.Configuration() 11 | print("sip_version:%06.0x" % sipcfg.sip_version) 12 | print("sip_version_str:%s" % sipcfg.sip_version_str) 13 | print("sip_bin:%s" % sipcfg.sip_bin) 14 | print("default_sip_dir:%s" % sipcfg.default_sip_dir) 15 | print("sip_inc_dir:%s" % sipcfg.sip_inc_dir) 16 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/example/RemoteTerm/main.cpp: -------------------------------------------------------------------------------- 1 | #include "remoteterm.h" 2 | #include 3 | #include 4 | 5 | int main(int argc, char *argv[]) 6 | { 7 | QApplication a(argc, argv); 8 | if(a.arguments().size() != 3){ 9 | qDebug() << "Example(client-side) for remote terminal of QTermWidget."; 10 | qDebug() << QString("Usage: %1 ipaddr port").arg(a.arguments()[0]); 11 | return 1; 12 | } 13 | QString ipaddr = a.arguments().at(1); 14 | quint16 port = a.arguments().at(2).toUShort(); 15 | RemoteTerm w(ipaddr,port); 16 | w.show(); 17 | 18 | return a.exec(); 19 | } 20 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/cmake/qtermwidget5-config.cmake.in: -------------------------------------------------------------------------------- 1 | # - Find the QTermWidget include and library 2 | # 3 | # Typical usage: 4 | # find_package(QTermWidget5 REQUIRED) 5 | # 6 | # add_executable(foo main.cpp) 7 | # target_link_libraries(foo qtermwidget5) 8 | 9 | @PACKAGE_INIT@ 10 | 11 | if (CMAKE_VERSION VERSION_LESS 3.0.2) 12 | message(FATAL_ERROR \"qtermwidget requires at least CMake version 3.0.2\") 13 | endif() 14 | 15 | if (NOT TARGET @QTERMWIDGET_LIBRARY_NAME@) 16 | if (POLICY CMP0024) 17 | cmake_policy(SET CMP0024 NEW) 18 | endif() 19 | include("${CMAKE_CURRENT_LIST_DIR}/@QTERMWIDGET_LIBRARY_NAME@-targets.cmake") 20 | endif() 21 | -------------------------------------------------------------------------------- /src/qsshterm_common.h: -------------------------------------------------------------------------------- 1 | #ifndef SSHTERM_COMMON_H 2 | #define SSHTERM_COMMON_H 3 | 4 | struct SiteInfo { 5 | QString sitename; 6 | QString hostname; 7 | QString username; 8 | QString password; 9 | QString privateKeyPath; 10 | 11 | int port; 12 | bool transferX11; 13 | 14 | SiteInfo() : sitename(QString()), 15 | hostname(QString()), 16 | username(QString()), 17 | password(QString()), 18 | privateKeyPath(QString()), 19 | port(-1), 20 | transferX11(false) { 21 | 22 | } 23 | }; 24 | 25 | Q_DECLARE_METATYPE(SiteInfo); 26 | 27 | 28 | enum SSHTermState 29 | { 30 | DISCONNECT, 31 | IDLE , 32 | BUSY 33 | }; 34 | 35 | Q_ENUMS(SSHTermState); 36 | 37 | 38 | struct TreeNode { 39 | bool isFolder; 40 | SiteInfo siteInfo; 41 | 42 | TreeNode(): isFolder(true) { 43 | } 44 | }; 45 | 46 | Q_DECLARE_METATYPE(TreeNode); 47 | 48 | #endif -------------------------------------------------------------------------------- /3rdparty/qtermwidget/pyqt/cmake/FindPyQt5.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014, Simon Edwards 2 | # Redistribution and use is allowed according to the terms of the BSD license. 3 | # For details see the accompanying COPYING-CMAKE-SCRIPTS file. 4 | 5 | import PyQt5.Qt 6 | import sys 7 | import os.path 8 | 9 | print("pyqt_version:%06.0x" % PyQt5.Qt.PYQT_VERSION) 10 | print("pyqt_version_str:%s" % PyQt5.Qt.PYQT_VERSION_STR) 11 | 12 | pyqt_version_tag = "" 13 | in_t = False 14 | for item in PyQt5.Qt.PYQT_CONFIGURATION["sip_flags"].split(' '): 15 | if item=="-t": 16 | in_t = True 17 | elif in_t: 18 | if item.startswith("Qt_5"): 19 | pyqt_version_tag = item 20 | else: 21 | in_t = False 22 | print("pyqt_version_tag:%s" % pyqt_version_tag) 23 | 24 | # FIXME This next line is just a little bit too crude. 25 | pyqt_sip_dir = os.path.join(sys.prefix, "share", "sip", "PyQt5") 26 | print("pyqt_sip_dir:%s" % pyqt_sip_dir) 27 | 28 | print("pyqt_sip_flags:%s" % PyQt5.Qt.PYQT_CONFIGURATION["sip_flags"]) 29 | -------------------------------------------------------------------------------- /color-schemes/Ubuntu.colorscheme: -------------------------------------------------------------------------------- 1 | [General] 2 | Description=Ubuntu 3 | Opacity=1 4 | Wallpaper= 5 | 6 | [Background] 7 | Color=48,10,36 8 | MaxRandomHue=0 9 | MaxRandomSaturation=0 10 | MaxRandomValue=0 11 | 12 | [BackgroundIntense] 13 | Color=48,10,36 14 | 15 | [Color0] 16 | Color=46,52,54 17 | 18 | [Color0Intense] 19 | Color=85,87,83 20 | 21 | [Color1] 22 | Color=204,0,0 23 | 24 | [Color1Intense] 25 | Color=239,41,41 26 | 27 | [Color2] 28 | Color=78,154,6 29 | 30 | [Color2Intense] 31 | Color=138,226,52 32 | 33 | [Color3] 34 | Color=196,160,0 35 | 36 | [Color3Intense] 37 | Color=252,233,79 38 | 39 | [Color4] 40 | Color=52,101,164 41 | 42 | [Color4Intense] 43 | Color=114,159,207 44 | 45 | [Color5] 46 | Color=117,80,123 47 | 48 | [Color5Intense] 49 | Color=173,127,168 50 | 51 | [Color6] 52 | Color=6,152,154 53 | 54 | [Color6Intense] 55 | Color=52,226,226 56 | 57 | [Color7] 58 | Color=211,215,207 59 | 60 | [Color7Intense] 61 | Color=238,238,236 62 | 63 | [Foreground] 64 | Color=238,238,236 65 | 66 | [ForegroundIntense] 67 | Color=238,238,236 -------------------------------------------------------------------------------- /3rdparty/qtermwidget/example/RemoteTerm/shell-srv.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import sys 4 | import os 5 | import socket 6 | import pty 7 | 8 | def usage(program): 9 | print "Example(server-side) for remote terminal of QTermWidget." 10 | print "Usage: %s ipaddr port" %program 11 | 12 | 13 | def main(): 14 | if len(sys.argv) != 3: 15 | usage(sys.argv[0]) 16 | sys.exit(1) 17 | s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 18 | try: 19 | s.bind((sys.argv[1], int(sys.argv[2]))) 20 | s.listen(0) 21 | print "[+]Start Server." 22 | except Exception as e: 23 | print "[-]Error Happened: %s" %e.message 24 | sys.exit(2) 25 | 26 | while True: 27 | c = s.accept() 28 | os.dup2(c[0].fileno(), 0) 29 | os.dup2(c[0].fileno(), 1) 30 | os.dup2(c[0].fileno(), 2) 31 | 32 | # It's important to use pty to spawn the shell. 33 | pty.spawn("/bin/sh") 34 | c[0].close() 35 | 36 | if __name__ == "__main__": 37 | main() 38 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/Ubuntu.colorscheme: -------------------------------------------------------------------------------- 1 | [General] 2 | Description=Ubuntu 3 | Opacity=1 4 | Wallpaper= 5 | 6 | [Background] 7 | Color=48,10,36 8 | MaxRandomHue=0 9 | MaxRandomSaturation=0 10 | MaxRandomValue=0 11 | 12 | [BackgroundIntense] 13 | Color=48,10,36 14 | 15 | [Color0] 16 | Color=46,52,54 17 | 18 | [Color0Intense] 19 | Color=85,87,83 20 | 21 | [Color1] 22 | Color=204,0,0 23 | 24 | [Color1Intense] 25 | Color=239,41,41 26 | 27 | [Color2] 28 | Color=78,154,6 29 | 30 | [Color2Intense] 31 | Color=138,226,52 32 | 33 | [Color3] 34 | Color=196,160,0 35 | 36 | [Color3Intense] 37 | Color=252,233,79 38 | 39 | [Color4] 40 | Color=52,101,164 41 | 42 | [Color4Intense] 43 | Color=114,159,207 44 | 45 | [Color5] 46 | Color=117,80,123 47 | 48 | [Color5Intense] 49 | Color=173,127,168 50 | 51 | [Color6] 52 | Color=6,152,154 53 | 54 | [Color6Intense] 55 | Color=52,226,226 56 | 57 | [Color7] 58 | Color=211,215,207 59 | 60 | [Color7Intense] 61 | Color=238,238,236 62 | 63 | [Foreground] 64 | Color=238,238,236 65 | 66 | [ForegroundIntense] 67 | Color=238,238,236 -------------------------------------------------------------------------------- /color-schemes/Tango.colorscheme: -------------------------------------------------------------------------------- 1 | [General] 2 | Description=Tango 3 | 4 | [Background] 5 | Color=0,0,0 6 | 7 | [BackgroundIntense] 8 | Color=104,104,104 9 | 10 | [Foreground] 11 | ;Color=211,215,207 12 | Color=255,255,255 13 | 14 | [ForegroundIntense] 15 | Color=255,255,255 16 | 17 | ; black 18 | [Color0] 19 | Color=0,0,0 20 | 21 | [Color0Intense] 22 | Color=85,87,83 23 | 24 | ; red 25 | [Color1] 26 | Color=204,0,0 27 | 28 | [Color1Intense] 29 | Color=239,41,41 30 | 31 | ; green 32 | [Color2] 33 | Color=78,154,6 34 | 35 | [Color2Intense] 36 | Color=138,226,52 37 | 38 | ; yellow 39 | [Color3] 40 | Color=196,160,0 41 | 42 | [Color3Intense] 43 | Color=252,233,79 44 | 45 | ; blue 46 | [Color4] 47 | Color=52,101,164 48 | 49 | [Color4Intense] 50 | Color=114,159,207 51 | 52 | ; magenta 53 | [Color5] 54 | Color=117,80,123 55 | 56 | [Color5Intense] 57 | Color=173,127,168 58 | 59 | ; aqua 60 | [Color6] 61 | Color=6,152,154 62 | 63 | [Color6Intense] 64 | Color=52,226,226 65 | 66 | ; grey 67 | [Color7] 68 | Color=211,215,207 69 | 70 | [Color7Intense] 71 | Color=238,238,236 72 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/Tango.colorscheme: -------------------------------------------------------------------------------- 1 | [General] 2 | Description=Tango 3 | 4 | [Background] 5 | Color=0,0,0 6 | 7 | [BackgroundIntense] 8 | Color=104,104,104 9 | 10 | [Foreground] 11 | ;Color=211,215,207 12 | Color=255,255,255 13 | 14 | [ForegroundIntense] 15 | Color=255,255,255 16 | 17 | ; black 18 | [Color0] 19 | Color=0,0,0 20 | 21 | [Color0Intense] 22 | Color=85,87,83 23 | 24 | ; red 25 | [Color1] 26 | Color=204,0,0 27 | 28 | [Color1Intense] 29 | Color=239,41,41 30 | 31 | ; green 32 | [Color2] 33 | Color=78,154,6 34 | 35 | [Color2Intense] 36 | Color=138,226,52 37 | 38 | ; yellow 39 | [Color3] 40 | Color=196,160,0 41 | 42 | [Color3Intense] 43 | Color=252,233,79 44 | 45 | ; blue 46 | [Color4] 47 | Color=52,101,164 48 | 49 | [Color4Intense] 50 | Color=114,159,207 51 | 52 | ; magenta 53 | [Color5] 54 | Color=117,80,123 55 | 56 | [Color5Intense] 57 | Color=173,127,168 58 | 59 | ; aqua 60 | [Color6] 61 | Color=6,152,154 62 | 63 | [Color6Intense] 64 | Color=52,226,226 65 | 66 | ; grey 67 | [Color7] 68 | Color=211,215,207 69 | 70 | [Color7Intense] 71 | Color=238,238,236 72 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/cmake/cmake_uninstall.cmake.in: -------------------------------------------------------------------------------- 1 | IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") 2 | MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") 3 | ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") 4 | 5 | # this works on Linux, but not on mac. 6 | #FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) 7 | #STRING(REGEX REPLACE "\n" ";" files "${files}") 8 | #FOREACH(file ${files}) 9 | # MESSAGE(STATUS "Uninstalling \"${file}\"") 10 | # IF(NOT EXISTS "${file}") 11 | # MESSAGE(FATAL_ERROR "File \"${file}\" does not exists.") 12 | # ENDIF(NOT EXISTS "${file}") 13 | # EXEC_PROGRAM("@CMAKE_COMMAND@" ARGS "-E remove \"${file}\"" 14 | # OUTPUT_VARIABLE rm_out 15 | # RETURN_VARIABLE rm_retval) 16 | # IF("${rm_retval}" GREATER 0) 17 | # MESSAGE(FATAL_ERROR "Problem when removing \"${file}\"") 18 | # ENDIF("${rm_retval}" GREATER 0) 19 | #ENDFOREACH(file) 20 | 21 | EXEC_PROGRAM("xargs rm < @CMAKE_BINARY_DIR@/install_manifest.txt" 22 | OUTPUT_VARIABLE rm_out 23 | RETURN_VARIABLE rm_ret) 24 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/example/RemoteTerm/remoteterm.cpp: -------------------------------------------------------------------------------- 1 | #include "remoteterm.h" 2 | #include 3 | #include 4 | #include 5 | 6 | RemoteTerm::RemoteTerm(const QString &ipaddr, quint16 port, QWidget *parent) 7 | : QTermWidget(0,parent) 8 | { 9 | socket = new QTcpSocket(this); 10 | 11 | // Write what we input to remote terminal via socket 12 | connect(this, &RemoteTerm::sendData,[this](const char *data, int size){ 13 | this->socket->write(data, size); 14 | }); 15 | 16 | // Read anything from remote terminal via socket and show it on widget. 17 | connect(socket,&QTcpSocket::readyRead,[this](){ 18 | QByteArray data = socket->readAll(); 19 | //write(this->getPtySlaveFd(), data.data(), data.size()); 20 | this->receivedRemoteData(data); 21 | }); 22 | connect(socket, SIGNAL(error(QAbstractSocket::SocketError)),this,SLOT(atError())); 23 | 24 | // Here we start an empty pty. 25 | this->startTerminalTeletype(); 26 | 27 | socket->connectToHost(ipaddr, port); 28 | } 29 | 30 | void RemoteTerm::atError() 31 | { 32 | qDebug() << socket->errorString(); 33 | } 34 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # qsshterm 2 | Qt based cross platform SSH tab terminal 3 | 4 | - support VT100 like terminal 5 | - support multiple tab for each session 6 | - support SFTP for ssh session (developing) 7 | - tree session management 8 | 9 | The ssh tab termnial aims at working in Windows, Linux and Mac. This project is not standalone, it is based on other two opensource projects 10 | 1. [qtermwidget](https://github.com/lxqt/qtermwidget) - vt100 emulator 11 | Notice: please use qtermwidget to compile in 3rdparty directory since original one doesn't support Windows platform. 12 | 2. [libssh](https://www.libssh.org/) - the ssh library to support ssh protocol. 13 | 14 | The project is aimed to provide qt based GUI to offer easy way to access SSH server like putty or securecrt. 15 | 16 | current version only works on Linux, Windows (I haven't tested it on Mac) 17 | 18 | Installation and compile: 19 | 20 | In Linux : 21 | 1. Install qt5, openssh 22 | 2. compile and install qtermwidget and libssh in linux 23 | 3. qmake qsshterm.pro 24 | 4. make 25 | 26 | In Windows: 27 | 1. Install qt5 with mingw32 28 | 2. Install openssl 29 | 3. Install CMake 30 | 4. Compile qtermwidget and libssh 31 | 5. in qssshterm directory, mingw32-make 32 | 33 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/pyqt/test.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | # PyQt4 bindings for th QTermWidget project. 5 | # 6 | # Copyright (C) 2009 Piotr "Riklaunim" Maliński , 7 | # Alexander Slesarev 8 | # 9 | # This program is free software: you can redistribute it and/or modify 10 | # it under the terms of the GNU General Public License as published by 11 | # the Free Software Foundation, either version 3 of the License, or 12 | # (at your option) any later version. 13 | # 14 | # This program is distributed in the hope that it will be useful, 15 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | # GNU General Public License for more details. 18 | # 19 | # You should have received a copy of the GNU General Public License 20 | # along with this program. If not, see . 21 | 22 | import sys, signal 23 | from PyQt5 import QtCore,QtWidgets 24 | 25 | import QTermWidget 26 | 27 | signal.signal(signal.SIGINT, signal.SIG_DFL) 28 | a = QtWidgets.QApplication(sys.argv) 29 | 30 | w = QTermWidget.QTermWidget() 31 | w.finished.connect(a.quit) 32 | w.show() 33 | 34 | a.exec_() -------------------------------------------------------------------------------- /3rdparty/qtermwidget/example/RemoteTerm/RemoteTerm.pro: -------------------------------------------------------------------------------- 1 | #------------------------------------------------- 2 | # 3 | # Project created by QtCreator 2017-10-31T00:37:59 4 | # 5 | #------------------------------------------------- 6 | 7 | QT += core gui network 8 | 9 | greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 10 | 11 | TARGET = RemoteTerm 12 | TEMPLATE = app 13 | 14 | # The following define makes your compiler emit warnings if you use 15 | # any feature of Qt which as been marked as deprecated (the exact warnings 16 | # depend on your compiler). Please consult the documentation of the 17 | # deprecated API in order to know how to port your code away from it. 18 | DEFINES += QT_DEPRECATED_WARNINGS 19 | 20 | # You can also make your code fail to compile if you use deprecated APIs. 21 | # In order to do so, uncomment the following line. 22 | # You can also select to disable deprecated APIs only up to a certain version of Qt. 23 | #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 24 | 25 | CONFIG += c++11 26 | CONFIG += console 27 | 28 | SOURCES += \ 29 | main.cpp \ 30 | remoteterm.cpp 31 | 32 | HEADERS += \ 33 | remoteterm.h 34 | 35 | unix:!macx: LIBS += -lqtermwidget5 36 | LIBS += "C:/Work/sshterminal/qtermwidget/example/RemoteTerm/libqtermwidget5.dll" 37 | -------------------------------------------------------------------------------- /color-schemes/Solarized.colorscheme: -------------------------------------------------------------------------------- 1 | [Color0] 2 | Color=7,54,66 3 | 4 | [Color0Intense] 5 | Color=0,43,54 6 | 7 | [Color0Faint] 8 | Color=6,48,59 9 | 10 | [Color1] 11 | Color=220,50,47 12 | 13 | [Color1Intense] 14 | Color=203,75,22 15 | 16 | [Color1Faint] 17 | Color=147,33,31 18 | 19 | [Color2] 20 | Color=133,153,0 21 | 22 | [Color2Intense] 23 | Color=88,110,117 24 | 25 | [Color2Faint] 26 | Color=94,106,0 27 | 28 | [Color3] 29 | Color=181,137,0 30 | 31 | [Color3Intense] 32 | Color=101,123,131 33 | 34 | [Color3Faint] 35 | Color=138,103,0 36 | 37 | [Color4] 38 | Color=38,139,210 39 | 40 | [Color4Intense] 41 | Color=131,148,150 42 | 43 | [Color4Faint] 44 | Color=20,77,115 45 | 46 | [Color5] 47 | Color=211,54,130 48 | 49 | [Color5Intense] 50 | Color=108,113,196 51 | 52 | [Color5Faint] 53 | Color=120,30,75 54 | 55 | [Color6] 56 | Color=42,161,152 57 | 58 | [Color6Intense] 59 | Color=147,161,161 60 | 61 | [Color6Faint] 62 | Color=24,94,88 63 | 64 | [Color7] 65 | Color=238,232,213 66 | 67 | [Color7Intense] 68 | Color=253,246,227 69 | 70 | [Color7Faint] 71 | Color=171,167,154 72 | 73 | [Background] 74 | Color=0,43,54 75 | 76 | [BackgroundIntense] 77 | Color=7,54,66 78 | 79 | [BackgroundFaint] 80 | Color=0,43,54 81 | 82 | [Foreground] 83 | Color=131,148,150 84 | 85 | [ForegroundIntense] 86 | Color=147,161,161 87 | 88 | [ForegroundFaint] 89 | Color=106,119,121 90 | 91 | [General] 92 | Description=Solarized 93 | Opacity=1 94 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/Solarized.colorscheme: -------------------------------------------------------------------------------- 1 | [Color0] 2 | Color=7,54,66 3 | 4 | [Color0Intense] 5 | Color=0,43,54 6 | 7 | [Color0Faint] 8 | Color=6,48,59 9 | 10 | [Color1] 11 | Color=220,50,47 12 | 13 | [Color1Intense] 14 | Color=203,75,22 15 | 16 | [Color1Faint] 17 | Color=147,33,31 18 | 19 | [Color2] 20 | Color=133,153,0 21 | 22 | [Color2Intense] 23 | Color=88,110,117 24 | 25 | [Color2Faint] 26 | Color=94,106,0 27 | 28 | [Color3] 29 | Color=181,137,0 30 | 31 | [Color3Intense] 32 | Color=101,123,131 33 | 34 | [Color3Faint] 35 | Color=138,103,0 36 | 37 | [Color4] 38 | Color=38,139,210 39 | 40 | [Color4Intense] 41 | Color=131,148,150 42 | 43 | [Color4Faint] 44 | Color=20,77,115 45 | 46 | [Color5] 47 | Color=211,54,130 48 | 49 | [Color5Intense] 50 | Color=108,113,196 51 | 52 | [Color5Faint] 53 | Color=120,30,75 54 | 55 | [Color6] 56 | Color=42,161,152 57 | 58 | [Color6Intense] 59 | Color=147,161,161 60 | 61 | [Color6Faint] 62 | Color=24,94,88 63 | 64 | [Color7] 65 | Color=238,232,213 66 | 67 | [Color7Intense] 68 | Color=253,246,227 69 | 70 | [Color7Faint] 71 | Color=171,167,154 72 | 73 | [Background] 74 | Color=0,43,54 75 | 76 | [BackgroundIntense] 77 | Color=7,54,66 78 | 79 | [BackgroundFaint] 80 | Color=0,43,54 81 | 82 | [Foreground] 83 | Color=131,148,150 84 | 85 | [ForegroundIntense] 86 | Color=147,161,161 87 | 88 | [ForegroundFaint] 89 | Color=106,119,121 90 | 91 | [General] 92 | Description=Solarized 93 | Opacity=1 94 | -------------------------------------------------------------------------------- /color-schemes/SolarizedLight.colorscheme: -------------------------------------------------------------------------------- 1 | [Color0] 2 | Color=7,54,66 3 | 4 | [Color0Intense] 5 | Color=0,43,54 6 | 7 | [Color0Faint] 8 | Color=8,65,80 9 | 10 | [Color1] 11 | Color=220,50,47 12 | 13 | [Color1Intense] 14 | Color=203,75,22 15 | 16 | [Color1Faint] 17 | Color=222,81,81 18 | 19 | [Color2] 20 | Color=133,153,0 21 | 22 | [Color2Intense] 23 | Color=88,110,117 24 | 25 | [Color2Faint] 26 | Color=153,168,39 27 | 28 | [Color3] 29 | Color=181,137,0 30 | 31 | [Color3Intense] 32 | Color=101,123,131 33 | 34 | [Color3Faint] 35 | Color=213,170,49 36 | 37 | [Color4] 38 | Color=38,139,210 39 | 40 | [Color4Intense] 41 | Color=131,148,150 42 | 43 | [Color4Faint] 44 | Color=80,173,226 45 | 46 | [Color5] 47 | Color=211,54,130 48 | 49 | [Color5Intense] 50 | Color=108,113,196 51 | 52 | [Color5Faint] 53 | Color=223,92,158 54 | 55 | [Color6] 56 | Color=42,161,152 57 | 58 | [Color6Intense] 59 | Color=147,161,161 60 | 61 | [Color6Faint] 62 | Color=78,211,200 63 | 64 | [Color7] 65 | Color=238,232,213 66 | 67 | [Color7Intense] 68 | Color=253,246,227 69 | 70 | [Color7Faint] 71 | Color=238,232,213 72 | 73 | [Background] 74 | Color=253,246,227 75 | 76 | [BackgroundIntense] 77 | Color=238,232,213 78 | 79 | [BackgroundFaint] 80 | Color=253,246,227 81 | 82 | [Foreground] 83 | Color=101,123,131 84 | 85 | [ForegroundIntense] 86 | Color=88,110,117 87 | 88 | [ForegroundFaint] 89 | Color=141,172,182 90 | 91 | [General] 92 | Description=Solarized Light 93 | Opacity=1 94 | -------------------------------------------------------------------------------- /color-schemes/BreezeModified.colorscheme: -------------------------------------------------------------------------------- 1 | [Background] 2 | Color=49,54,59 3 | 4 | [BackgroundFaint] 5 | Color=49,54,59 6 | 7 | [BackgroundIntense] 8 | Color=35,38,41 9 | 10 | [Color0] 11 | Color=7,54,66 12 | 13 | [Color0Faint] 14 | Color=32,43,54 15 | 16 | [Color0Intense] 17 | Color=255,85,0 18 | 19 | [Color1] 20 | Color=237,21,21 21 | 22 | [Color1Faint] 23 | Color=120,50,40 24 | 25 | [Color1Intense] 26 | Color=192,57,43 27 | 28 | [Color2] 29 | Color=17,209,22 30 | 31 | [Color2Faint] 32 | Color=23,162,98 33 | 34 | [Color2Intense] 35 | Color=28,220,154 36 | 37 | [Color3] 38 | Color=246,116,0 39 | 40 | [Color3Faint] 41 | Color=182,86,25 42 | 43 | [Color3Intense] 44 | Color=253,188,75 45 | 46 | [Color4] 47 | Color=29,153,243 48 | 49 | [Color4Faint] 50 | Color=27,102,143 51 | 52 | [Color4Intense] 53 | Color=61,174,233 54 | 55 | [Color5] 56 | Color=155,89,182 57 | 58 | [Color5Faint] 59 | Color=97,74,115 60 | 61 | [Color5Intense] 62 | Color=142,68,173 63 | 64 | [Color6] 65 | Color=26,188,156 66 | 67 | [Color6Faint] 68 | Color=24,108,96 69 | 70 | [Color6Intense] 71 | Color=22,160,133 72 | 73 | [Color7] 74 | Color=239,240,241 75 | 76 | [Color7Faint] 77 | Color=99,104,109 78 | 79 | [Color7Intense] 80 | Color=252,252,252 81 | 82 | [Foreground] 83 | Color=239,240,241 84 | 85 | [ForegroundFaint] 86 | Color=220,230,231 87 | 88 | [ForegroundIntense] 89 | Color=252,252,252 90 | 91 | [General] 92 | Description=BreezeModified 93 | Opacity=0.95 94 | Wallpaper= 95 | 96 | -------------------------------------------------------------------------------- /color-schemes/Linux.colorscheme: -------------------------------------------------------------------------------- 1 | [Background] 2 | Bold=false 3 | Color=0,0,0 4 | 5 | [BackgroundIntense] 6 | Bold=false 7 | Color=104,104,104 8 | 9 | [Color0] 10 | Bold=false 11 | Color=0,0,0 12 | 13 | 14 | [Color0Intense] 15 | Bold=false 16 | Color=104,104,104 17 | 18 | 19 | [Color1] 20 | Bold=false 21 | Color=178,24,24 22 | 23 | 24 | [Color1Intense] 25 | Bold=false 26 | Color=255,84,84 27 | 28 | 29 | [Color2] 30 | Bold=false 31 | Color=24,178,24 32 | 33 | 34 | [Color2Intense] 35 | Bold=false 36 | Color=84,255,84 37 | 38 | 39 | [Color3] 40 | Bold=false 41 | Color=178,104,24 42 | 43 | 44 | [Color3Intense] 45 | Bold=false 46 | Color=255,255,84 47 | 48 | 49 | [Color4] 50 | Bold=false 51 | Color=24,24,178 52 | 53 | 54 | [Color4Intense] 55 | Bold=false 56 | Color=84,84,255 57 | 58 | 59 | [Color5] 60 | Bold=false 61 | Color=178,24,178 62 | 63 | 64 | [Color5Intense] 65 | Bold=false 66 | Color=255,84,255 67 | 68 | 69 | [Color6] 70 | Bold=false 71 | Color=24,178,178 72 | 73 | 74 | [Color6Intense] 75 | Bold=false 76 | Color=84,255,255 77 | 78 | 79 | [Color7] 80 | Bold=false 81 | Color=178,178,178 82 | 83 | 84 | [Color7Intense] 85 | Bold=false 86 | Color=255,255,255 87 | 88 | 89 | [Foreground] 90 | Bold=false 91 | Color=178,178,178 92 | 93 | 94 | [ForegroundIntense] 95 | Bold=false 96 | Color=255,255,255 97 | 98 | 99 | [General] 100 | Description=Linux Colors 101 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/SolarizedLight.colorscheme: -------------------------------------------------------------------------------- 1 | [Color0] 2 | Color=7,54,66 3 | 4 | [Color0Intense] 5 | Color=0,43,54 6 | 7 | [Color0Faint] 8 | Color=8,65,80 9 | 10 | [Color1] 11 | Color=220,50,47 12 | 13 | [Color1Intense] 14 | Color=203,75,22 15 | 16 | [Color1Faint] 17 | Color=222,81,81 18 | 19 | [Color2] 20 | Color=133,153,0 21 | 22 | [Color2Intense] 23 | Color=88,110,117 24 | 25 | [Color2Faint] 26 | Color=153,168,39 27 | 28 | [Color3] 29 | Color=181,137,0 30 | 31 | [Color3Intense] 32 | Color=101,123,131 33 | 34 | [Color3Faint] 35 | Color=213,170,49 36 | 37 | [Color4] 38 | Color=38,139,210 39 | 40 | [Color4Intense] 41 | Color=131,148,150 42 | 43 | [Color4Faint] 44 | Color=80,173,226 45 | 46 | [Color5] 47 | Color=211,54,130 48 | 49 | [Color5Intense] 50 | Color=108,113,196 51 | 52 | [Color5Faint] 53 | Color=223,92,158 54 | 55 | [Color6] 56 | Color=42,161,152 57 | 58 | [Color6Intense] 59 | Color=147,161,161 60 | 61 | [Color6Faint] 62 | Color=78,211,200 63 | 64 | [Color7] 65 | Color=238,232,213 66 | 67 | [Color7Intense] 68 | Color=253,246,227 69 | 70 | [Color7Faint] 71 | Color=238,232,213 72 | 73 | [Background] 74 | Color=253,246,227 75 | 76 | [BackgroundIntense] 77 | Color=238,232,213 78 | 79 | [BackgroundFaint] 80 | Color=253,246,227 81 | 82 | [Foreground] 83 | Color=101,123,131 84 | 85 | [ForegroundIntense] 86 | Color=88,110,117 87 | 88 | [ForegroundFaint] 89 | Color=141,172,182 90 | 91 | [General] 92 | Description=Solarized Light 93 | Opacity=1 94 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/pyqt/cmake/COPYING-CMAKE-SCRIPTS: -------------------------------------------------------------------------------- 1 | Redistribution and use in source and binary forms, with or without 2 | modification, are permitted provided that the following conditions 3 | are met: 4 | 5 | 1. Redistributions of source code must retain the copyright 6 | notice, this list of conditions and the following disclaimer. 7 | 2. Redistributions in binary form must reproduce the copyright 8 | notice, this list of conditions and the following disclaimer in the 9 | documentation and/or other materials provided with the distribution. 10 | 3. The name of the author may not be used to endorse or promote products 11 | derived from this software without specific prior written permission. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 14 | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 15 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 16 | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 17 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 18 | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 19 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 20 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 22 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/BreezeModified.colorscheme: -------------------------------------------------------------------------------- 1 | [Background] 2 | Color=49,54,59 3 | 4 | [BackgroundFaint] 5 | Color=49,54,59 6 | 7 | [BackgroundIntense] 8 | Color=35,38,41 9 | 10 | [Color0] 11 | Color=7,54,66 12 | 13 | [Color0Faint] 14 | Color=32,43,54 15 | 16 | [Color0Intense] 17 | Color=255,85,0 18 | 19 | [Color1] 20 | Color=237,21,21 21 | 22 | [Color1Faint] 23 | Color=120,50,40 24 | 25 | [Color1Intense] 26 | Color=192,57,43 27 | 28 | [Color2] 29 | Color=17,209,22 30 | 31 | [Color2Faint] 32 | Color=23,162,98 33 | 34 | [Color2Intense] 35 | Color=28,220,154 36 | 37 | [Color3] 38 | Color=246,116,0 39 | 40 | [Color3Faint] 41 | Color=182,86,25 42 | 43 | [Color3Intense] 44 | Color=253,188,75 45 | 46 | [Color4] 47 | Color=29,153,243 48 | 49 | [Color4Faint] 50 | Color=27,102,143 51 | 52 | [Color4Intense] 53 | Color=61,174,233 54 | 55 | [Color5] 56 | Color=155,89,182 57 | 58 | [Color5Faint] 59 | Color=97,74,115 60 | 61 | [Color5Intense] 62 | Color=142,68,173 63 | 64 | [Color6] 65 | Color=26,188,156 66 | 67 | [Color6Faint] 68 | Color=24,108,96 69 | 70 | [Color6Intense] 71 | Color=22,160,133 72 | 73 | [Color7] 74 | Color=239,240,241 75 | 76 | [Color7Faint] 77 | Color=99,104,109 78 | 79 | [Color7Intense] 80 | Color=252,252,252 81 | 82 | [Foreground] 83 | Color=239,240,241 84 | 85 | [ForegroundFaint] 86 | Color=220,230,231 87 | 88 | [ForegroundIntense] 89 | Color=252,252,252 90 | 91 | [General] 92 | Description=BreezeModified 93 | Opacity=0.95 94 | Wallpaper= 95 | 96 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/Linux.colorscheme: -------------------------------------------------------------------------------- 1 | [Background] 2 | Bold=false 3 | Color=0,0,0 4 | 5 | [BackgroundIntense] 6 | Bold=false 7 | Color=104,104,104 8 | 9 | [Color0] 10 | Bold=false 11 | Color=0,0,0 12 | 13 | 14 | [Color0Intense] 15 | Bold=false 16 | Color=104,104,104 17 | 18 | 19 | [Color1] 20 | Bold=false 21 | Color=178,24,24 22 | 23 | 24 | [Color1Intense] 25 | Bold=false 26 | Color=255,84,84 27 | 28 | 29 | [Color2] 30 | Bold=false 31 | Color=24,178,24 32 | 33 | 34 | [Color2Intense] 35 | Bold=false 36 | Color=84,255,84 37 | 38 | 39 | [Color3] 40 | Bold=false 41 | Color=178,104,24 42 | 43 | 44 | [Color3Intense] 45 | Bold=false 46 | Color=255,255,84 47 | 48 | 49 | [Color4] 50 | Bold=false 51 | Color=24,24,178 52 | 53 | 54 | [Color4Intense] 55 | Bold=false 56 | Color=84,84,255 57 | 58 | 59 | [Color5] 60 | Bold=false 61 | Color=178,24,178 62 | 63 | 64 | [Color5Intense] 65 | Bold=false 66 | Color=255,84,255 67 | 68 | 69 | [Color6] 70 | Bold=false 71 | Color=24,178,178 72 | 73 | 74 | [Color6Intense] 75 | Bold=false 76 | Color=84,255,255 77 | 78 | 79 | [Color7] 80 | Bold=false 81 | Color=178,178,178 82 | 83 | 84 | [Color7Intense] 85 | Bold=false 86 | Color=255,255,255 87 | 88 | 89 | [Foreground] 90 | Bold=false 91 | Color=178,178,178 92 | 93 | 94 | [ForegroundIntense] 95 | Bold=false 96 | Color=255,255,255 97 | 98 | 99 | [General] 100 | Description=Linux Colors 101 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/README.md: -------------------------------------------------------------------------------- 1 | # QTermWidget 2 | 3 | ## Overview 4 | 5 | A terminal emulator widget for Qt 5. 6 | 7 | QTermWidget is an open-source project originally based on the KDE4 Konsole application, but it took its own direction later on. 8 | The main goal of this project is to provide a unicode-enabled, embeddable Qt widget for using as a built-in console (or terminal emulation widget). 9 | 10 | It is compatible with BSD, Linux and OS X. 11 | 12 | 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. 13 | 14 | ## Installation 15 | 16 | ### Compiling sources 17 | 18 | The only runtime dependency is qtbase ≥ 5.6. 19 | 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. 20 | 21 | 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. 22 | 23 | To build run `make`, to install `make install` which accepts variable `DESTDIR` as usual. 24 | 25 | ### Binary packages 26 | 27 | The library is provided by all major Linux distributions like Arch Linux, Debian, Fedora and openSUSE. 28 | Just use the distributions' package managers to search for string `qtermwidget`. 29 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/kpty_p.h: -------------------------------------------------------------------------------- 1 | /* This file is part of the KDE libraries 2 | 3 | Copyright (C) 2003,2007 Oswald Buddenhagen 4 | 5 | Rewritten for QT4 by e_k , Copyright (C)2008 6 | 7 | This library is free software; you can redistribute it and/or 8 | modify it under the terms of the GNU Library General Public 9 | License as published by the Free Software Foundation; either 10 | version 2 of the License, or (at your option) any later version. 11 | 12 | This library is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | Library General Public License for more details. 16 | 17 | You should have received a copy of the GNU Library General Public License 18 | along with this library; see the file COPYING.LIB. If not, write to 19 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 20 | Boston, MA 02110-1301, USA. 21 | */ 22 | 23 | #ifndef kpty_p_h 24 | #define kpty_p_h 25 | 26 | #include "kpty.h" 27 | 28 | #include 29 | 30 | class KPtyPrivate { 31 | public: 32 | 33 | Q_DECLARE_PUBLIC(KPty) 34 | 35 | KPtyPrivate(KPty* parent); 36 | virtual ~KPtyPrivate(); 37 | 38 | #ifndef HAVE_OPENPTY 39 | bool chownpty(bool grant); 40 | #endif 41 | 42 | int masterFd; 43 | int slaveFd; 44 | bool ownMaster:1; 45 | 46 | QByteArray ttyName; 47 | 48 | KPty *q_ptr; 49 | }; 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /src/qsshtabterm.h: -------------------------------------------------------------------------------- 1 | #include "qsshterm.h" 2 | #include "qsiteconfig.h" 3 | #include "qsshterm_sftp.h" 4 | #include "qsshterm_common.h" 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | 17 | 18 | class qsshTabTerm: public QMainWindow { 19 | Q_OBJECT 20 | 21 | public: 22 | qsshTabTerm(QWidget *parent = 0): QMainWindow(parent), tabs(0), sessionMgr_dialog(0), sftp_dialog(0), sftp_mgr(0) { 23 | init(); 24 | } 25 | 26 | ~qsshTabTerm() { 27 | } 28 | 29 | void init(); 30 | 31 | protected : 32 | bool eventFilter(QObject *obj, QEvent *ev); 33 | 34 | public slots: 35 | void openSession(SiteInfo); 36 | void openSession(int); 37 | void tabSelected(int); 38 | void changeTabIcon(QString index, SSHTermState state); 39 | void tabMoved(int from, int to); 40 | 41 | private: 42 | QTabWidget *tabs; 43 | QHash termKeyHash; 44 | QSiteTreeDialog *sessionMgr_dialog; 45 | QSSHTerm_Sftp_Dialog * sftp_dialog; 46 | QAction * sftp_mgr; 47 | void initMenu(); 48 | void initToolbar(); 49 | void showSessionMgrDialog(); 50 | void showSftpMgrDialog(); 51 | void showFindDialog(); 52 | void showAboutDialog(); 53 | void on_tab_rightMouse_pressed( int clickedItem, QPoint position ); 54 | 55 | private slots: 56 | void closeTab(int); 57 | }; -------------------------------------------------------------------------------- /color-schemes/color-schemes.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | BlackOnLightYellow.schema 4 | BlackOnRandomLight.colorscheme 5 | Linux.colorscheme 6 | BlackOnWhite.schema 7 | DarkPastels.colorscheme 8 | GreenOnBlack.colorscheme 9 | WhiteOnBlack.schema 10 | BreezeModified.schema 11 | historic/vim.schema 12 | historic/Transparent.schema 13 | historic/Transparent_MC.schema 14 | historic/Linux.schema 15 | historic/Transparent_darkbg.schema 16 | historic/GreenTint.schema 17 | historic/Transparent_lightbg.schema 18 | historic/LightPicture.schema 19 | historic/DarkPicture.schema 20 | historic/syscolor.schema 21 | historic/XTerm.schema 22 | historic/BlackOnLightColor.schema 23 | historic/GreenTint_MC.schema 24 | historic/GreenOnBlack.schema 25 | 26 | -------------------------------------------------------------------------------- /color-schemes/BlackOnWhite.schema: -------------------------------------------------------------------------------- 1 | # example scheme for konsole 2 | 3 | # the title is to appear in the menu. 4 | 5 | title Black on White 6 | 7 | # foreground colors 8 | 9 | # note that the default background color is flagged 10 | # to become transparent when an image is present. 11 | 12 | # slot transparent bold 13 | # | | | 14 | # V V--color--V V V 15 | 16 | color 0 0 0 0 0 0 # regular foreground color (Black) 17 | color 1 255 255 255 1 0 # regular background color (White) 18 | 19 | color 2 0 0 0 0 0 # regular color 0 Black 20 | color 3 178 24 24 0 0 # regular color 1 Red 21 | color 4 24 178 24 0 0 # regular color 2 Green 22 | color 5 178 104 24 0 0 # regular color 3 Yellow 23 | color 6 24 24 178 0 0 # regular color 4 Blue 24 | color 7 178 24 178 0 0 # regular color 5 Magenta 25 | color 8 24 178 178 0 0 # regular color 6 Cyan 26 | color 9 178 178 178 0 0 # regular color 7 White 27 | 28 | # intensive colors 29 | 30 | # instead of changing the colors, we've flaged the text to become bold 31 | 32 | color 10 0 0 0 0 1 # intensive foreground color 33 | color 11 255 255 255 1 0 # intensive background color 34 | 35 | color 12 104 104 104 0 0 # intensive color 0 36 | color 13 255 84 84 0 0 # intensive color 1 37 | color 14 84 255 84 0 0 # intensive color 2 38 | color 15 255 255 84 0 0 # intensive color 3 39 | color 16 84 84 255 0 0 # intensive color 4 40 | color 17 255 84 255 0 0 # intensive color 5 41 | color 18 84 255 255 0 0 # intensive color 6 42 | color 19 255 255 255 0 0 # intensive color 7 43 | -------------------------------------------------------------------------------- /color-schemes/WhiteOnBlack.schema: -------------------------------------------------------------------------------- 1 | # example scheme for konsole 2 | 3 | # the title is to appear in the menu. 4 | 5 | title White on Black 6 | 7 | # foreground colors 8 | 9 | # note that the default background color is flagged 10 | # to become transparent when an image is present. 11 | 12 | # slot transparent bold 13 | # | | | 14 | # V V--color--V V V 15 | 16 | color 0 255 255 255 0 0 # regular foreground color (White) 17 | color 1 0 0 0 1 0 # regular background color (Black) 18 | 19 | color 2 0 0 0 0 0 # regular color 0 Black 20 | color 3 178 24 24 0 0 # regular color 1 Red 21 | color 4 24 178 24 0 0 # regular color 2 Green 22 | color 5 178 104 24 0 0 # regular color 3 Yellow 23 | color 6 24 24 178 0 0 # regular color 4 Blue 24 | color 7 178 24 178 0 0 # regular color 5 Magenta 25 | color 8 24 178 178 0 0 # regular color 6 Cyan 26 | color 9 178 178 178 0 0 # regular color 7 White 27 | 28 | # intensive colors 29 | 30 | # instead of changing the colors, we've flaged the text to become bold 31 | 32 | color 10 255 255 255 0 1 # intensive foreground color 33 | color 11 0 0 0 1 0 # intensive background color 34 | 35 | color 12 104 104 104 0 0 # intensive color 0 36 | color 13 255 84 84 0 0 # intensive color 1 37 | color 14 84 255 84 0 0 # intensive color 2 38 | color 15 255 255 84 0 0 # intensive color 3 39 | color 16 84 84 255 0 0 # intensive color 4 40 | color 17 255 84 255 0 0 # intensive color 5 41 | color 18 84 255 255 0 0 # intensive color 6 42 | color 19 255 255 255 0 0 # intensive color 7 43 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/color-schemes.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | BlackOnLightYellow.schema 4 | BlackOnRandomLight.colorscheme 5 | Linux.colorscheme 6 | BlackOnWhite.schema 7 | DarkPastels.colorscheme 8 | GreenOnBlack.colorscheme 9 | WhiteOnBlack.schema 10 | BreezeModified.schema 11 | historic/vim.schema 12 | historic/Transparent.schema 13 | historic/Transparent_MC.schema 14 | historic/Linux.schema 15 | historic/Transparent_darkbg.schema 16 | historic/GreenTint.schema 17 | historic/Transparent_lightbg.schema 18 | historic/LightPicture.schema 19 | historic/DarkPicture.schema 20 | historic/syscolor.schema 21 | historic/XTerm.schema 22 | historic/BlackOnLightColor.schema 23 | historic/GreenTint_MC.schema 24 | historic/GreenOnBlack.schema 25 | 26 | -------------------------------------------------------------------------------- /color-schemes/historic/GreenOnBlack.schema: -------------------------------------------------------------------------------- 1 | # example scheme for konsole 2 | 3 | # the title is to appear in the menu. 4 | 5 | title Green on Black 6 | 7 | # foreground colors 8 | 9 | # note that the default background color is flagged 10 | # to become transparent when an image is present. 11 | 12 | # slot transparent bold 13 | # | | | 14 | # V V--color--V V V 15 | 16 | color 0 24 240 24 0 0 # regular foreground color (Green) 17 | color 1 0 0 0 1 0 # regular background color (Black) 18 | 19 | color 2 0 0 0 0 0 # regular color 0 Black 20 | color 3 178 24 24 0 0 # regular color 1 Red 21 | color 4 24 178 24 0 0 # regular color 2 Green 22 | color 5 178 104 24 0 0 # regular color 3 Yellow 23 | color 6 24 24 178 0 0 # regular color 4 Blue 24 | color 7 178 24 178 0 0 # regular color 5 Magenta 25 | color 8 24 178 178 0 0 # regular color 6 Cyan 26 | color 9 178 178 178 0 0 # regular color 7 White 27 | 28 | # intensive colors 29 | 30 | # instead of changing the colors, we've flaged the text to become bold 31 | 32 | color 10 24 240 24 0 1 # intensive foreground color 33 | color 11 0 0 0 1 0 # intensive background color 34 | 35 | color 12 104 104 104 0 0 # intensive color 0 36 | color 13 255 84 84 0 0 # intensive color 1 37 | color 14 84 255 84 0 0 # intensive color 2 38 | color 15 255 255 84 0 0 # intensive color 3 39 | color 16 84 84 255 0 0 # intensive color 4 40 | color 17 255 84 255 0 0 # intensive color 5 41 | color 18 84 255 255 0 0 # intensive color 6 42 | color 19 255 255 255 0 0 # intensive color 7 43 | -------------------------------------------------------------------------------- /color-schemes/BlackOnLightYellow.schema: -------------------------------------------------------------------------------- 1 | # example scheme for konsole 2 | 3 | # the title is to appear in the menu. 4 | 5 | title Black on Light Yellow 6 | 7 | # foreground colors 8 | 9 | # note that the default background color is flagged 10 | # to become transparent when an image is present. 11 | 12 | # slot transparent bold 13 | # | | | 14 | # V V--color--V V V 15 | 16 | color 0 0 0 0 0 0 # regular foreground color (Black) 17 | color 1 255 255 221 1 0 # regular background color (Light Yellow) 18 | 19 | color 2 0 0 0 0 0 # regular color 0 Black 20 | color 3 178 24 24 0 0 # regular color 1 Red 21 | color 4 24 178 24 0 0 # regular color 2 Green 22 | color 5 178 104 24 0 0 # regular color 3 Yellow 23 | color 6 24 24 178 0 0 # regular color 4 Blue 24 | color 7 178 24 178 0 0 # regular color 5 Magenta 25 | color 8 24 178 178 0 0 # regular color 6 Cyan 26 | color 9 178 178 178 0 0 # regular color 7 White 27 | 28 | # intensive colors 29 | 30 | # instead of changing the colors, we've flaged the text to become bold 31 | 32 | color 10 0 0 0 0 1 # intensive foreground color 33 | color 11 255 255 221 1 0 # intensive background color 34 | 35 | color 12 104 104 104 0 0 # intensive color 0 36 | color 13 255 84 84 0 0 # intensive color 1 37 | color 14 84 255 84 0 0 # intensive color 2 38 | color 15 255 255 84 0 0 # intensive color 3 39 | color 16 84 84 255 0 0 # intensive color 4 40 | color 17 255 84 255 0 0 # intensive color 5 41 | color 18 84 255 255 0 0 # intensive color 6 42 | color 19 255 255 255 0 0 # intensive color 7 43 | -------------------------------------------------------------------------------- /color-schemes/historic/Transparent_darkbg.schema: -------------------------------------------------------------------------------- 1 | # linux color schema for konsole 2 | 3 | title Transparent, Dark Background 4 | 5 | transparency 0.75 0 0 0 6 | 7 | # foreground colors 8 | 9 | # note that the default background color is flagged 10 | # to become transparent when an image is present. 11 | 12 | # slot transparent bold 13 | # | red grn blu | | 14 | # V V--color--V V V 15 | 16 | color 0 255 255 255 0 0 # regular foreground color (White) 17 | color 1 0 0 0 1 0 # regular background color (Black) 18 | 19 | color 2 0 0 0 0 0 # regular color 0 Black 20 | color 3 178 24 24 0 0 # regular color 1 Red 21 | color 4 24 178 24 0 0 # regular color 2 Green 22 | color 5 178 104 24 0 0 # regular color 3 Yellow 23 | color 6 24 24 178 0 0 # regular color 4 Blue 24 | color 7 178 24 178 0 0 # regular color 5 Magenta 25 | color 8 24 178 178 0 0 # regular color 6 Cyan 26 | color 9 178 178 178 0 0 # regular color 7 White 27 | 28 | # intensive colors 29 | 30 | # instead of changing the colors, we've flaged the text to become bold 31 | 32 | color 10 255 255 255 0 0 # intensive foreground color 33 | color 11 104 104 104 1 0 # intensive background color 34 | 35 | color 12 104 104 104 0 0 # intensive color 0 36 | color 13 255 84 84 0 0 # intensive color 1 37 | color 14 84 255 84 0 0 # intensive color 2 38 | color 15 255 255 84 0 0 # intensive color 3 39 | color 16 84 84 255 0 0 # intensive color 4 40 | color 17 255 84 255 0 0 # intensive color 5 41 | color 18 84 255 255 0 0 # intensive color 6 42 | color 19 255 255 255 0 0 # intensive color 7 43 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/BlackOnWhite.schema: -------------------------------------------------------------------------------- 1 | # example scheme for konsole 2 | 3 | # the title is to appear in the menu. 4 | 5 | title Black on White 6 | 7 | # foreground colors 8 | 9 | # note that the default background color is flagged 10 | # to become transparent when an image is present. 11 | 12 | # slot transparent bold 13 | # | | | 14 | # V V--color--V V V 15 | 16 | color 0 0 0 0 0 0 # regular foreground color (Black) 17 | color 1 255 255 255 1 0 # regular background color (White) 18 | 19 | color 2 0 0 0 0 0 # regular color 0 Black 20 | color 3 178 24 24 0 0 # regular color 1 Red 21 | color 4 24 178 24 0 0 # regular color 2 Green 22 | color 5 178 104 24 0 0 # regular color 3 Yellow 23 | color 6 24 24 178 0 0 # regular color 4 Blue 24 | color 7 178 24 178 0 0 # regular color 5 Magenta 25 | color 8 24 178 178 0 0 # regular color 6 Cyan 26 | color 9 178 178 178 0 0 # regular color 7 White 27 | 28 | # intensive colors 29 | 30 | # instead of changing the colors, we've flaged the text to become bold 31 | 32 | color 10 0 0 0 0 1 # intensive foreground color 33 | color 11 255 255 255 1 0 # intensive background color 34 | 35 | color 12 104 104 104 0 0 # intensive color 0 36 | color 13 255 84 84 0 0 # intensive color 1 37 | color 14 84 255 84 0 0 # intensive color 2 38 | color 15 255 255 84 0 0 # intensive color 3 39 | color 16 84 84 255 0 0 # intensive color 4 40 | color 17 255 84 255 0 0 # intensive color 5 41 | color 18 84 255 255 0 0 # intensive color 6 42 | color 19 255 255 255 0 0 # intensive color 7 43 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/WhiteOnBlack.schema: -------------------------------------------------------------------------------- 1 | # example scheme for konsole 2 | 3 | # the title is to appear in the menu. 4 | 5 | title White on Black 6 | 7 | # foreground colors 8 | 9 | # note that the default background color is flagged 10 | # to become transparent when an image is present. 11 | 12 | # slot transparent bold 13 | # | | | 14 | # V V--color--V V V 15 | 16 | color 0 255 255 255 0 0 # regular foreground color (White) 17 | color 1 0 0 0 1 0 # regular background color (Black) 18 | 19 | color 2 0 0 0 0 0 # regular color 0 Black 20 | color 3 178 24 24 0 0 # regular color 1 Red 21 | color 4 24 178 24 0 0 # regular color 2 Green 22 | color 5 178 104 24 0 0 # regular color 3 Yellow 23 | color 6 24 24 178 0 0 # regular color 4 Blue 24 | color 7 178 24 178 0 0 # regular color 5 Magenta 25 | color 8 24 178 178 0 0 # regular color 6 Cyan 26 | color 9 178 178 178 0 0 # regular color 7 White 27 | 28 | # intensive colors 29 | 30 | # instead of changing the colors, we've flaged the text to become bold 31 | 32 | color 10 255 255 255 0 1 # intensive foreground color 33 | color 11 0 0 0 1 0 # intensive background color 34 | 35 | color 12 104 104 104 0 0 # intensive color 0 36 | color 13 255 84 84 0 0 # intensive color 1 37 | color 14 84 255 84 0 0 # intensive color 2 38 | color 15 255 255 84 0 0 # intensive color 3 39 | color 16 84 84 255 0 0 # intensive color 4 40 | color 17 255 84 255 0 0 # intensive color 5 41 | color 18 84 255 255 0 0 # intensive color 6 42 | color 19 255 255 255 0 0 # intensive color 7 43 | -------------------------------------------------------------------------------- /color-schemes/historic/BlackOnLightColor.schema: -------------------------------------------------------------------------------- 1 | # example scheme for konsole 2 | 3 | # the title is to appear in the menu. 4 | 5 | title Black on Light Color 6 | 7 | # foreground colors 8 | 9 | # note that the default background color is flagged 10 | # to become transparent when an image is present. 11 | 12 | # slot transparent bold 13 | # | | | 14 | # V V--color--V V V 15 | 16 | color 0 0 0 0 0 0 # regular foreground color (Black) 17 | rcolor 1 30 255 1 0 # regular background color (Light Color) 18 | 19 | color 2 0 0 0 0 0 # regular color 0 Black 20 | color 3 178 24 24 0 0 # regular color 1 Red 21 | color 4 24 178 24 0 0 # regular color 2 Green 22 | color 5 178 104 24 0 0 # regular color 3 Yellow 23 | color 6 24 24 178 0 0 # regular color 4 Blue 24 | color 7 178 24 178 0 0 # regular color 5 Magenta 25 | color 8 24 178 178 0 0 # regular color 6 Cyan 26 | color 9 178 178 178 0 0 # regular color 7 White 27 | 28 | # intensive colors 29 | 30 | # instead of changing the colors, we've flaged the text to become bold 31 | 32 | color 10 0 0 0 0 1 # intensive foreground color 33 | color 11 255 255 221 1 0 # intensive background color 34 | 35 | color 12 104 104 104 0 0 # intensive color 0 36 | color 13 255 84 84 0 0 # intensive color 1 37 | color 14 84 255 84 0 0 # intensive color 2 38 | color 15 255 255 84 0 0 # intensive color 3 39 | color 16 84 84 255 0 0 # intensive color 4 40 | color 17 255 84 255 0 0 # intensive color 5 41 | color 18 84 255 255 0 0 # intensive color 6 42 | color 19 255 255 255 0 0 # intensive color 7 43 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/historic/GreenOnBlack.schema: -------------------------------------------------------------------------------- 1 | # example scheme for konsole 2 | 3 | # the title is to appear in the menu. 4 | 5 | title Green on Black 6 | 7 | # foreground colors 8 | 9 | # note that the default background color is flagged 10 | # to become transparent when an image is present. 11 | 12 | # slot transparent bold 13 | # | | | 14 | # V V--color--V V V 15 | 16 | color 0 24 240 24 0 0 # regular foreground color (Green) 17 | color 1 0 0 0 1 0 # regular background color (Black) 18 | 19 | color 2 0 0 0 0 0 # regular color 0 Black 20 | color 3 178 24 24 0 0 # regular color 1 Red 21 | color 4 24 178 24 0 0 # regular color 2 Green 22 | color 5 178 104 24 0 0 # regular color 3 Yellow 23 | color 6 24 24 178 0 0 # regular color 4 Blue 24 | color 7 178 24 178 0 0 # regular color 5 Magenta 25 | color 8 24 178 178 0 0 # regular color 6 Cyan 26 | color 9 178 178 178 0 0 # regular color 7 White 27 | 28 | # intensive colors 29 | 30 | # instead of changing the colors, we've flaged the text to become bold 31 | 32 | color 10 24 240 24 0 1 # intensive foreground color 33 | color 11 0 0 0 1 0 # intensive background color 34 | 35 | color 12 104 104 104 0 0 # intensive color 0 36 | color 13 255 84 84 0 0 # intensive color 1 37 | color 14 84 255 84 0 0 # intensive color 2 38 | color 15 255 255 84 0 0 # intensive color 3 39 | color 16 84 84 255 0 0 # intensive color 4 40 | color 17 255 84 255 0 0 # intensive color 5 41 | color 18 84 255 255 0 0 # intensive color 6 42 | color 19 255 255 255 0 0 # intensive color 7 43 | -------------------------------------------------------------------------------- /color-schemes/historic/DarkPicture.schema: -------------------------------------------------------------------------------- 1 | # example scheme for konsole 2 | 3 | # the title is to appear in the menu. 4 | 5 | title Marble 6 | 7 | image tile Blkmarble.jpg 8 | 9 | # foreground colors 10 | 11 | # note that the default background color is flagged 12 | # to become transparent when an image is present. 13 | 14 | # slot transparent bold 15 | # | | | 16 | # V V--color--V V V 17 | 18 | color 0 255 255 255 0 0 # regular foreground color (White) 19 | color 1 0 0 0 1 0 # regular background color (Black) 20 | 21 | color 2 0 0 0 0 0 # regular color 0 Black 22 | color 3 178 24 24 0 0 # regular color 1 Red 23 | color 4 24 178 24 0 0 # regular color 2 Green 24 | color 5 178 104 24 0 0 # regular color 3 Yellow 25 | color 6 24 24 178 0 0 # regular color 4 Blue 26 | color 7 178 24 178 0 0 # regular color 5 Magenta 27 | color 8 24 178 178 0 0 # regular color 6 Cyan 28 | color 9 178 178 178 0 0 # regular color 7 White 29 | 30 | # intensive colors 31 | 32 | # instead of changing the colors, we've flaged the text to become bold 33 | 34 | color 10 255 255 255 0 1 # intensive foreground color 35 | color 11 0 0 0 1 0 # intensive background color 36 | 37 | color 12 104 104 104 0 0 # intensive color 0 38 | color 13 255 84 84 0 0 # intensive color 1 39 | color 14 84 255 84 0 0 # intensive color 2 40 | color 15 255 255 84 0 0 # intensive color 3 41 | color 16 84 84 255 0 0 # intensive color 4 42 | color 17 255 84 255 0 0 # intensive color 5 43 | color 18 84 255 255 0 0 # intensive color 6 44 | color 19 255 255 255 0 0 # intensive color 7 45 | -------------------------------------------------------------------------------- /color-schemes/historic/LightPicture.schema: -------------------------------------------------------------------------------- 1 | # example scheme for konsole 2 | 3 | # the title is to appear in the menu. 4 | 5 | title Paper 6 | 7 | image tile Paper01.jpg 8 | 9 | # foreground colors 10 | 11 | # note that the default background color is flagged 12 | # to become transparent when an image is present. 13 | 14 | # slot transparent bold 15 | # | | | 16 | # V V--color--V V V 17 | 18 | color 0 0 0 0 0 0 # regular foreground color (Black) 19 | color 1 255 255 255 1 0 # regular background color (White) 20 | 21 | color 2 0 0 0 0 0 # regular color 0 Black 22 | color 3 178 24 24 0 0 # regular color 1 Red 23 | color 4 24 178 24 0 0 # regular color 2 Green 24 | color 5 178 104 24 0 0 # regular color 3 Yellow 25 | color 6 24 24 178 0 0 # regular color 4 Blue 26 | color 7 178 24 178 0 0 # regular color 5 Magenta 27 | color 8 24 178 178 0 0 # regular color 6 Cyan 28 | color 9 178 178 178 0 0 # regular color 7 White 29 | 30 | # intensive colors 31 | 32 | # instead of changing the colors, we've flaged the text to become bold 33 | 34 | color 10 0 0 0 0 1 # intensive foreground color 35 | color 11 255 255 255 1 0 # intensive background color 36 | 37 | color 12 104 104 104 0 0 # intensive color 0 38 | color 13 255 84 84 0 0 # intensive color 1 39 | color 14 84 255 84 0 0 # intensive color 2 40 | color 15 255 255 84 0 0 # intensive color 3 41 | color 16 84 84 255 0 0 # intensive color 4 42 | color 17 255 84 255 0 0 # intensive color 5 43 | color 18 84 255 255 0 0 # intensive color 6 44 | color 19 255 255 255 0 0 # intensive color 7 45 | -------------------------------------------------------------------------------- /color-schemes/historic/syscolor.schema: -------------------------------------------------------------------------------- 1 | # schema that uses system colors 2 | 3 | # the title is to appear in the menu. 4 | 5 | title System Colors 6 | 7 | # image none 8 | 9 | # foreground colors 10 | 11 | # note that the default background color is flagged 12 | # to become transparent when an image is present. 13 | 14 | # slot transparent bold 15 | # | | | 16 | # V V--color--V V V 17 | 18 | sysfg 0 0 0 # regular foreground color (system) 19 | sysbg 1 1 0 # regular background color (system) 20 | 21 | color 2 0 0 0 0 0 # regular color 0 Black 22 | color 3 178 24 24 0 0 # regular color 1 Red 23 | color 4 24 178 24 0 0 # regular color 2 Green 24 | color 5 178 104 24 0 0 # regular color 3 Yellow 25 | color 6 24 24 178 0 0 # regular color 4 Blue 26 | color 7 178 24 178 0 0 # regular color 5 Magenta 27 | color 8 24 178 178 0 0 # regular color 6 Cyan 28 | color 9 178 178 178 0 0 # regular color 7 White 29 | 30 | # intensive colors 31 | 32 | # instead of changing the colors, we've flaged the text to become bold 33 | 34 | color 10 0 0 0 0 1 # intensive foreground color 35 | color 11 255 255 255 1 0 # intensive background color 36 | 37 | color 12 104 104 104 0 0 # intensive color 0 38 | color 13 255 84 84 0 0 # intensive color 1 39 | color 14 84 255 84 0 0 # intensive color 2 40 | color 15 255 255 84 0 0 # intensive color 3 41 | color 16 84 84 255 0 0 # intensive color 4 42 | color 17 255 84 255 0 0 # intensive color 5 43 | color 18 84 255 255 0 0 # intensive color 6 44 | color 19 255 255 255 0 0 # intensive color 7 45 | -------------------------------------------------------------------------------- /color-schemes/historic/vim.schema: -------------------------------------------------------------------------------- 1 | # VIM-recommended color schema for konsole 2 | 3 | # VIM (VI improved) in "help xiterm" recommends these colors for xterm. 4 | 5 | title VIM Colors 6 | 7 | # foreground colors ------------------------------- 8 | 9 | # note that the default background color is flagged 10 | # to become transparent when an image is present. 11 | 12 | # slot transparent bold 13 | # | red grn blu | | 14 | # V V--color--V V V 15 | 16 | color 0 0 0 0 0 0 # regular foreground color (Black) 17 | color 1 255 255 255 1 0 # regular background color (White) 18 | 19 | color 2 0 0 0 0 0 # regular color 0 Black 20 | color 3 192 0 0 0 0 # regular color 1 Red 21 | color 4 0 128 0 0 0 # regular color 2 Green 22 | color 5 128 128 0 0 0 # regular color 3 Yellow 23 | color 6 0 0 192 0 0 # regular color 4 Blue 24 | color 7 192 0 192 0 0 # regular color 5 Magenta 25 | color 8 0 128 128 0 0 # regular color 6 Cyan 26 | color 9 192 192 192 0 0 # regular color 7 White 27 | 28 | # intensive colors ------------------------------------------- 29 | 30 | color 10 77 77 77 0 1 # intensive foreground color 31 | color 11 255 255 255 1 1 # intensive background color 32 | 33 | color 12 128 128 128 0 0 # intensive color 0 34 | color 13 255 96 96 0 0 # intensive color 1 35 | color 14 0 255 0 0 0 # intensive color 2 36 | color 15 255 255 0 0 0 # intensive color 3 37 | color 16 128 128 255 0 0 # intensive color 4 38 | color 17 255 64 255 0 0 # intensive color 5 39 | color 18 0 255 255 0 0 # intensive color 6 40 | color 19 255 255 255 0 0 # intensive color 7 41 | -------------------------------------------------------------------------------- /src/qssh_utils.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | class Log: public QObject { 8 | Q_OBJECT 9 | public : 10 | Log(QObject *parent, QString logname = "./qsshterm.log"):QObject(parent), logFilename(logname) { 11 | open(); 12 | } 13 | 14 | ~Log() { 15 | file.close(); 16 | } 17 | 18 | void debug(QString msg) { 19 | QTextStream stream(&file); 20 | QString str("[DEBUG]"); 21 | str += dateTime.currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz"); 22 | str += ":"; 23 | str += msg; 24 | str += "\n"; 25 | stream << str ; 26 | } 27 | 28 | void info(QString msg) { 29 | QTextStream stream(&file); 30 | QString str("[INFO]"); 31 | str += dateTime.currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz"); 32 | str += ":"; 33 | str += msg; 34 | str += "\n"; 35 | stream << str ; 36 | } 37 | 38 | void error(QString msg) { 39 | QTextStream stream(&file); 40 | QString str("[ERROR]"); 41 | str += dateTime.currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz"); 42 | str += ":"; 43 | str += msg; 44 | str += "\n"; 45 | stream << str ; 46 | } 47 | 48 | private: 49 | QString logFilename; 50 | QFile file; 51 | QDateTime dateTime; 52 | void open() 53 | { 54 | file.setFileName(logFilename); 55 | file.open(QIODevice::WriteOnly | QIODevice::Append); 56 | if(!file.isOpen()) 57 | { 58 | qDebug() << "Open logfile fails"; 59 | } 60 | } 61 | 62 | 63 | }; -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/BlackOnLightYellow.schema: -------------------------------------------------------------------------------- 1 | # example scheme for konsole 2 | 3 | # the title is to appear in the menu. 4 | 5 | title Black on Light Yellow 6 | 7 | # foreground colors 8 | 9 | # note that the default background color is flagged 10 | # to become transparent when an image is present. 11 | 12 | # slot transparent bold 13 | # | | | 14 | # V V--color--V V V 15 | 16 | color 0 0 0 0 0 0 # regular foreground color (Black) 17 | color 1 255 255 221 1 0 # regular background color (Light Yellow) 18 | 19 | color 2 0 0 0 0 0 # regular color 0 Black 20 | color 3 178 24 24 0 0 # regular color 1 Red 21 | color 4 24 178 24 0 0 # regular color 2 Green 22 | color 5 178 104 24 0 0 # regular color 3 Yellow 23 | color 6 24 24 178 0 0 # regular color 4 Blue 24 | color 7 178 24 178 0 0 # regular color 5 Magenta 25 | color 8 24 178 178 0 0 # regular color 6 Cyan 26 | color 9 178 178 178 0 0 # regular color 7 White 27 | 28 | # intensive colors 29 | 30 | # instead of changing the colors, we've flaged the text to become bold 31 | 32 | color 10 0 0 0 0 1 # intensive foreground color 33 | color 11 255 255 221 1 0 # intensive background color 34 | 35 | color 12 104 104 104 0 0 # intensive color 0 36 | color 13 255 84 84 0 0 # intensive color 1 37 | color 14 84 255 84 0 0 # intensive color 2 38 | color 15 255 255 84 0 0 # intensive color 3 39 | color 16 84 84 255 0 0 # intensive color 4 40 | color 17 255 84 255 0 0 # intensive color 5 41 | color 18 84 255 255 0 0 # intensive color 6 42 | color 19 255 255 255 0 0 # intensive color 7 43 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/historic/Transparent_darkbg.schema: -------------------------------------------------------------------------------- 1 | # linux color schema for konsole 2 | 3 | title Transparent, Dark Background 4 | 5 | transparency 0.75 0 0 0 6 | 7 | # foreground colors 8 | 9 | # note that the default background color is flagged 10 | # to become transparent when an image is present. 11 | 12 | # slot transparent bold 13 | # | red grn blu | | 14 | # V V--color--V V V 15 | 16 | color 0 255 255 255 0 0 # regular foreground color (White) 17 | color 1 0 0 0 1 0 # regular background color (Black) 18 | 19 | color 2 0 0 0 0 0 # regular color 0 Black 20 | color 3 178 24 24 0 0 # regular color 1 Red 21 | color 4 24 178 24 0 0 # regular color 2 Green 22 | color 5 178 104 24 0 0 # regular color 3 Yellow 23 | color 6 24 24 178 0 0 # regular color 4 Blue 24 | color 7 178 24 178 0 0 # regular color 5 Magenta 25 | color 8 24 178 178 0 0 # regular color 6 Cyan 26 | color 9 178 178 178 0 0 # regular color 7 White 27 | 28 | # intensive colors 29 | 30 | # instead of changing the colors, we've flaged the text to become bold 31 | 32 | color 10 255 255 255 0 0 # intensive foreground color 33 | color 11 104 104 104 1 0 # intensive background color 34 | 35 | color 12 104 104 104 0 0 # intensive color 0 36 | color 13 255 84 84 0 0 # intensive color 1 37 | color 14 84 255 84 0 0 # intensive color 2 38 | color 15 255 255 84 0 0 # intensive color 3 39 | color 16 84 84 255 0 0 # intensive color 4 40 | color 17 255 84 255 0 0 # intensive color 5 41 | color 18 84 255 255 0 0 # intensive color 6 42 | color 19 255 255 255 0 0 # intensive color 7 43 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/historic/BlackOnLightColor.schema: -------------------------------------------------------------------------------- 1 | # example scheme for konsole 2 | 3 | # the title is to appear in the menu. 4 | 5 | title Black on Light Color 6 | 7 | # foreground colors 8 | 9 | # note that the default background color is flagged 10 | # to become transparent when an image is present. 11 | 12 | # slot transparent bold 13 | # | | | 14 | # V V--color--V V V 15 | 16 | color 0 0 0 0 0 0 # regular foreground color (Black) 17 | rcolor 1 30 255 1 0 # regular background color (Light Color) 18 | 19 | color 2 0 0 0 0 0 # regular color 0 Black 20 | color 3 178 24 24 0 0 # regular color 1 Red 21 | color 4 24 178 24 0 0 # regular color 2 Green 22 | color 5 178 104 24 0 0 # regular color 3 Yellow 23 | color 6 24 24 178 0 0 # regular color 4 Blue 24 | color 7 178 24 178 0 0 # regular color 5 Magenta 25 | color 8 24 178 178 0 0 # regular color 6 Cyan 26 | color 9 178 178 178 0 0 # regular color 7 White 27 | 28 | # intensive colors 29 | 30 | # instead of changing the colors, we've flaged the text to become bold 31 | 32 | color 10 0 0 0 0 1 # intensive foreground color 33 | color 11 255 255 221 1 0 # intensive background color 34 | 35 | color 12 104 104 104 0 0 # intensive color 0 36 | color 13 255 84 84 0 0 # intensive color 1 37 | color 14 84 255 84 0 0 # intensive color 2 38 | color 15 255 255 84 0 0 # intensive color 3 39 | color 16 84 84 255 0 0 # intensive color 4 40 | color 17 255 84 255 0 0 # intensive color 5 41 | color 18 84 255 255 0 0 # intensive color 6 42 | color 19 255 255 255 0 0 # intensive color 7 43 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/historic/DarkPicture.schema: -------------------------------------------------------------------------------- 1 | # example scheme for konsole 2 | 3 | # the title is to appear in the menu. 4 | 5 | title Marble 6 | 7 | image tile Blkmarble.jpg 8 | 9 | # foreground colors 10 | 11 | # note that the default background color is flagged 12 | # to become transparent when an image is present. 13 | 14 | # slot transparent bold 15 | # | | | 16 | # V V--color--V V V 17 | 18 | color 0 255 255 255 0 0 # regular foreground color (White) 19 | color 1 0 0 0 1 0 # regular background color (Black) 20 | 21 | color 2 0 0 0 0 0 # regular color 0 Black 22 | color 3 178 24 24 0 0 # regular color 1 Red 23 | color 4 24 178 24 0 0 # regular color 2 Green 24 | color 5 178 104 24 0 0 # regular color 3 Yellow 25 | color 6 24 24 178 0 0 # regular color 4 Blue 26 | color 7 178 24 178 0 0 # regular color 5 Magenta 27 | color 8 24 178 178 0 0 # regular color 6 Cyan 28 | color 9 178 178 178 0 0 # regular color 7 White 29 | 30 | # intensive colors 31 | 32 | # instead of changing the colors, we've flaged the text to become bold 33 | 34 | color 10 255 255 255 0 1 # intensive foreground color 35 | color 11 0 0 0 1 0 # intensive background color 36 | 37 | color 12 104 104 104 0 0 # intensive color 0 38 | color 13 255 84 84 0 0 # intensive color 1 39 | color 14 84 255 84 0 0 # intensive color 2 40 | color 15 255 255 84 0 0 # intensive color 3 41 | color 16 84 84 255 0 0 # intensive color 4 42 | color 17 255 84 255 0 0 # intensive color 5 43 | color 18 84 255 255 0 0 # intensive color 6 44 | color 19 255 255 255 0 0 # intensive color 7 45 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/historic/LightPicture.schema: -------------------------------------------------------------------------------- 1 | # example scheme for konsole 2 | 3 | # the title is to appear in the menu. 4 | 5 | title Paper 6 | 7 | image tile Paper01.jpg 8 | 9 | # foreground colors 10 | 11 | # note that the default background color is flagged 12 | # to become transparent when an image is present. 13 | 14 | # slot transparent bold 15 | # | | | 16 | # V V--color--V V V 17 | 18 | color 0 0 0 0 0 0 # regular foreground color (Black) 19 | color 1 255 255 255 1 0 # regular background color (White) 20 | 21 | color 2 0 0 0 0 0 # regular color 0 Black 22 | color 3 178 24 24 0 0 # regular color 1 Red 23 | color 4 24 178 24 0 0 # regular color 2 Green 24 | color 5 178 104 24 0 0 # regular color 3 Yellow 25 | color 6 24 24 178 0 0 # regular color 4 Blue 26 | color 7 178 24 178 0 0 # regular color 5 Magenta 27 | color 8 24 178 178 0 0 # regular color 6 Cyan 28 | color 9 178 178 178 0 0 # regular color 7 White 29 | 30 | # intensive colors 31 | 32 | # instead of changing the colors, we've flaged the text to become bold 33 | 34 | color 10 0 0 0 0 1 # intensive foreground color 35 | color 11 255 255 255 1 0 # intensive background color 36 | 37 | color 12 104 104 104 0 0 # intensive color 0 38 | color 13 255 84 84 0 0 # intensive color 1 39 | color 14 84 255 84 0 0 # intensive color 2 40 | color 15 255 255 84 0 0 # intensive color 3 41 | color 16 84 84 255 0 0 # intensive color 4 42 | color 17 255 84 255 0 0 # intensive color 5 43 | color 18 84 255 255 0 0 # intensive color 6 44 | color 19 255 255 255 0 0 # intensive color 7 45 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/historic/syscolor.schema: -------------------------------------------------------------------------------- 1 | # schema that uses system colors 2 | 3 | # the title is to appear in the menu. 4 | 5 | title System Colors 6 | 7 | # image none 8 | 9 | # foreground colors 10 | 11 | # note that the default background color is flagged 12 | # to become transparent when an image is present. 13 | 14 | # slot transparent bold 15 | # | | | 16 | # V V--color--V V V 17 | 18 | sysfg 0 0 0 # regular foreground color (system) 19 | sysbg 1 1 0 # regular background color (system) 20 | 21 | color 2 0 0 0 0 0 # regular color 0 Black 22 | color 3 178 24 24 0 0 # regular color 1 Red 23 | color 4 24 178 24 0 0 # regular color 2 Green 24 | color 5 178 104 24 0 0 # regular color 3 Yellow 25 | color 6 24 24 178 0 0 # regular color 4 Blue 26 | color 7 178 24 178 0 0 # regular color 5 Magenta 27 | color 8 24 178 178 0 0 # regular color 6 Cyan 28 | color 9 178 178 178 0 0 # regular color 7 White 29 | 30 | # intensive colors 31 | 32 | # instead of changing the colors, we've flaged the text to become bold 33 | 34 | color 10 0 0 0 0 1 # intensive foreground color 35 | color 11 255 255 255 1 0 # intensive background color 36 | 37 | color 12 104 104 104 0 0 # intensive color 0 38 | color 13 255 84 84 0 0 # intensive color 1 39 | color 14 84 255 84 0 0 # intensive color 2 40 | color 15 255 255 84 0 0 # intensive color 3 41 | color 16 84 84 255 0 0 # intensive color 4 42 | color 17 255 84 255 0 0 # intensive color 5 43 | color 18 84 255 255 0 0 # intensive color 6 44 | color 19 255 255 255 0 0 # intensive color 7 45 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/historic/vim.schema: -------------------------------------------------------------------------------- 1 | # VIM-recommended color schema for konsole 2 | 3 | # VIM (VI improved) in "help xiterm" recommends these colors for xterm. 4 | 5 | title VIM Colors 6 | 7 | # foreground colors ------------------------------- 8 | 9 | # note that the default background color is flagged 10 | # to become transparent when an image is present. 11 | 12 | # slot transparent bold 13 | # | red grn blu | | 14 | # V V--color--V V V 15 | 16 | color 0 0 0 0 0 0 # regular foreground color (Black) 17 | color 1 255 255 255 1 0 # regular background color (White) 18 | 19 | color 2 0 0 0 0 0 # regular color 0 Black 20 | color 3 192 0 0 0 0 # regular color 1 Red 21 | color 4 0 128 0 0 0 # regular color 2 Green 22 | color 5 128 128 0 0 0 # regular color 3 Yellow 23 | color 6 0 0 192 0 0 # regular color 4 Blue 24 | color 7 192 0 192 0 0 # regular color 5 Magenta 25 | color 8 0 128 128 0 0 # regular color 6 Cyan 26 | color 9 192 192 192 0 0 # regular color 7 White 27 | 28 | # intensive colors ------------------------------------------- 29 | 30 | color 10 77 77 77 0 1 # intensive foreground color 31 | color 11 255 255 255 1 1 # intensive background color 32 | 33 | color 12 128 128 128 0 0 # intensive color 0 34 | color 13 255 96 96 0 0 # intensive color 1 35 | color 14 0 255 0 0 0 # intensive color 2 36 | color 15 255 255 0 0 0 # intensive color 3 37 | color 16 128 128 255 0 0 # intensive color 4 38 | color 17 255 64 255 0 0 # intensive color 5 39 | color 18 0 255 255 0 0 # intensive color 6 40 | color 19 255 255 255 0 0 # intensive color 7 41 | -------------------------------------------------------------------------------- /color-schemes/historic/README.default.Schema: -------------------------------------------------------------------------------- 1 | # default scheme for konsole (only here for documentation purposes) 2 | 3 | # the title is to appear in the menu. 4 | 5 | title Konsole Defaults 6 | 7 | # image tile /opt/kde/share/wallpapers/gray2.jpg 8 | 9 | # foreground colors 10 | 11 | # note that the default background color is flagged 12 | # to become transparent when an image is present. 13 | 14 | # slot transparent bold 15 | # | | | 16 | # V V--color--V V V 17 | 18 | color 0 0 0 0 0 0 # regular foreground color (Black) 19 | color 1 255 255 255 1 0 # regular background color (White) 20 | 21 | color 2 0 0 0 0 0 # regular color 0 Black 22 | color 3 178 24 24 0 0 # regular color 1 Red 23 | color 4 24 178 24 0 0 # regular color 2 Green 24 | color 5 178 104 24 0 0 # regular color 3 Yellow 25 | color 6 24 24 178 0 0 # regular color 4 Blue 26 | color 7 178 24 178 0 0 # regular color 5 Magenta 27 | color 8 24 178 178 0 0 # regular color 6 Cyan 28 | color 9 178 178 178 0 0 # regular color 7 White 29 | 30 | # intensive colors 31 | 32 | # instead of changing the colors, we've flaged the text to become bold 33 | 34 | color 10 0 0 0 0 1 # intensive foreground color 35 | color 11 255 255 255 1 0 # intensive background color 36 | 37 | color 12 104 104 104 0 0 # intensive color 0 38 | color 13 255 84 84 0 0 # intensive color 1 39 | color 14 84 255 84 0 0 # intensive color 2 40 | color 15 255 255 84 0 0 # intensive color 3 41 | color 16 84 84 255 0 0 # intensive color 4 42 | color 17 255 84 255 0 0 # intensive color 5 43 | color 18 84 255 255 0 0 # intensive color 6 44 | color 19 255 255 255 0 0 # intensive color 7 45 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/historic/README.default.Schema: -------------------------------------------------------------------------------- 1 | # default scheme for konsole (only here for documentation purposes) 2 | 3 | # the title is to appear in the menu. 4 | 5 | title Konsole Defaults 6 | 7 | # image tile /opt/kde/share/wallpapers/gray2.jpg 8 | 9 | # foreground colors 10 | 11 | # note that the default background color is flagged 12 | # to become transparent when an image is present. 13 | 14 | # slot transparent bold 15 | # | | | 16 | # V V--color--V V V 17 | 18 | color 0 0 0 0 0 0 # regular foreground color (Black) 19 | color 1 255 255 255 1 0 # regular background color (White) 20 | 21 | color 2 0 0 0 0 0 # regular color 0 Black 22 | color 3 178 24 24 0 0 # regular color 1 Red 23 | color 4 24 178 24 0 0 # regular color 2 Green 24 | color 5 178 104 24 0 0 # regular color 3 Yellow 25 | color 6 24 24 178 0 0 # regular color 4 Blue 26 | color 7 178 24 178 0 0 # regular color 5 Magenta 27 | color 8 24 178 178 0 0 # regular color 6 Cyan 28 | color 9 178 178 178 0 0 # regular color 7 White 29 | 30 | # intensive colors 31 | 32 | # instead of changing the colors, we've flaged the text to become bold 33 | 34 | color 10 0 0 0 0 1 # intensive foreground color 35 | color 11 255 255 255 1 0 # intensive background color 36 | 37 | color 12 104 104 104 0 0 # intensive color 0 38 | color 13 255 84 84 0 0 # intensive color 1 39 | color 14 84 255 84 0 0 # intensive color 2 40 | color 15 255 255 84 0 0 # intensive color 3 41 | color 16 84 84 255 0 0 # intensive color 4 42 | color 17 255 84 255 0 0 # intensive color 5 43 | color 18 84 255 255 0 0 # intensive color 6 44 | color 19 255 255 255 0 0 # intensive color 7 45 | -------------------------------------------------------------------------------- /color-schemes/historic/Linux.schema: -------------------------------------------------------------------------------- 1 | # linux color schema for konsole 2 | 3 | title Linux Colors 4 | 5 | # FIXME 6 | # 7 | # The flaw in this schema is that "blick" comes out on the 8 | # Linux console as intensive background, really. 9 | # Since this is not used in clients you'll hardly notice 10 | # it in practice. 11 | 12 | # foreground colors 13 | 14 | # note that the default background color is flagged 15 | # to become transparent when an image is present. 16 | 17 | # slot transparent bold 18 | # | red grn blu | | 19 | # V V--color--V V V 20 | 21 | color 0 178 178 178 0 0 # regular foreground color (White) 22 | color 1 0 0 0 1 0 # regular background color (Black) 23 | 24 | color 2 0 0 0 0 0 # regular color 0 Black 25 | color 3 178 24 24 0 0 # regular color 1 Red 26 | color 4 24 178 24 0 0 # regular color 2 Green 27 | color 5 178 104 24 0 0 # regular color 3 Yellow 28 | color 6 24 24 178 0 0 # regular color 4 Blue 29 | color 7 178 24 178 0 0 # regular color 5 Magenta 30 | color 8 24 178 178 0 0 # regular color 6 Cyan 31 | color 9 178 178 178 0 0 # regular color 7 White 32 | 33 | # intensive colors 34 | 35 | # instead of changing the colors, we've flaged the text to become bold 36 | 37 | color 10 255 255 255 0 0 # intensive foreground color 38 | color 11 104 104 104 1 0 # intensive background color 39 | 40 | color 12 104 104 104 0 0 # intensive color 0 41 | color 13 255 84 84 0 0 # intensive color 1 42 | color 14 84 255 84 0 0 # intensive color 2 43 | color 15 255 255 84 0 0 # intensive color 3 44 | color 16 84 84 255 0 0 # intensive color 4 45 | color 17 255 84 255 0 0 # intensive color 5 46 | color 18 84 255 255 0 0 # intensive color 6 47 | color 19 255 255 255 0 0 # intensive color 7 48 | -------------------------------------------------------------------------------- /color-schemes/historic/Example.Schema: -------------------------------------------------------------------------------- 1 | # example scheme for konsole 2 | 3 | # the title is to appear in the menu. 4 | 5 | title Ugly 1 6 | 7 | # add a wallpaper, if you like. Second word one of { tile,center,full } 8 | 9 | image tile /opt/kde/share/wallpapers/dancy_pants.jpg 10 | 11 | 12 | # foreground colors 13 | 14 | # note that the default background color is flagged 15 | # to become transparent when an image is present. 16 | 17 | # slot transparent bold 18 | # | | | 19 | # V V--color--V V V 20 | 21 | color 0 0 0 0 0 0 # regular foreground color (Black) 22 | color 1 255 255 255 1 0 # regular background color (White) 23 | 24 | color 2 0 0 0 0 0 # regular color 0 Black 25 | color 3 255 0 0 0 0 # regular color 1 Red 26 | color 4 0 255 0 0 0 # regular color 2 Green 27 | color 5 255 255 0 0 0 # regular color 3 Yellow 28 | color 6 0 0 255 0 0 # regular color 4 Blue 29 | color 7 255 0 255 0 0 # regular color 5 Magenta 30 | color 8 0 255 255 0 0 # regular color 6 Cyan 31 | color 9 255 255 255 0 0 # regular color 7 White 32 | 33 | # intensive colors 34 | 35 | # instead of changing the colors, we've flaged the text to become bold 36 | 37 | color 10 0 0 0 0 1 # intensive foreground color 38 | color 11 255 255 255 1 1 # intensive background color 39 | 40 | color 12 0 0 0 0 1 # intensive color 0 41 | color 13 255 0 0 0 1 # intensive color 1 42 | color 14 0 255 0 0 1 # intensive color 2 43 | color 15 255 255 0 0 1 # intensive color 3 44 | color 16 0 0 255 0 1 # intensive color 4 45 | color 17 255 0 255 0 1 # intensive color 5 46 | color 18 0 255 255 0 1 # intensive color 6 47 | color 19 255 255 255 0 1 # intensive color 7 48 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/LineFont.h: -------------------------------------------------------------------------------- 1 | // WARNING: Autogenerated by "fontembedder ./linefont.src". 2 | // You probably do not want to hand-edit this! 3 | 4 | static const quint32 LineChars[] = { 5 | 0x00007c00, 0x000fffe0, 0x00421084, 0x00e739ce, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 6 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00427000, 0x004e7380, 0x00e77800, 0x00ef7bc0, 7 | 0x00421c00, 0x00439ce0, 0x00e73c00, 0x00e7bde0, 0x00007084, 0x000e7384, 0x000079ce, 0x000f7bce, 8 | 0x00001c84, 0x00039ce4, 0x00003dce, 0x0007bdee, 0x00427084, 0x004e7384, 0x004279ce, 0x00e77884, 9 | 0x00e779ce, 0x004f7bce, 0x00ef7bc4, 0x00ef7bce, 0x00421c84, 0x00439ce4, 0x00423dce, 0x00e73c84, 10 | 0x00e73dce, 0x0047bdee, 0x00e7bde4, 0x00e7bdee, 0x00427c00, 0x0043fce0, 0x004e7f80, 0x004fffe0, 11 | 0x004fffe0, 0x00e7fde0, 0x006f7fc0, 0x00efffe0, 0x00007c84, 0x0003fce4, 0x000e7f84, 0x000fffe4, 12 | 0x00007dce, 0x0007fdee, 0x000f7fce, 0x000fffee, 0x00427c84, 0x0043fce4, 0x004e7f84, 0x004fffe4, 13 | 0x00427dce, 0x00e77c84, 0x00e77dce, 0x0047fdee, 0x004e7fce, 0x00e7fde4, 0x00ef7f84, 0x004fffee, 14 | 0x00efffe4, 0x00e7fdee, 0x00ef7fce, 0x00efffee, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 15 | 0x000f83e0, 0x00a5294a, 0x004e1380, 0x00a57800, 0x00ad0bc0, 0x004390e0, 0x00a53c00, 0x00a5a1e0, 16 | 0x000e1384, 0x0000794a, 0x000f0b4a, 0x000390e4, 0x00003d4a, 0x0007a16a, 0x004e1384, 0x00a5694a, 17 | 0x00ad2b4a, 0x004390e4, 0x00a52d4a, 0x00a5a16a, 0x004f83e0, 0x00a57c00, 0x00ad83e0, 0x000f83e4, 18 | 0x00007d4a, 0x000f836a, 0x004f93e4, 0x00a57d4a, 0x00ad836a, 0x00000000, 0x00000000, 0x00000000, 19 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001c00, 0x00001084, 0x00007000, 0x00421000, 20 | 0x00039ce0, 0x000039ce, 0x000e7380, 0x00e73800, 0x000e7f80, 0x00e73884, 0x0003fce0, 0x004239ce 21 | }; 22 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/historic/Linux.schema: -------------------------------------------------------------------------------- 1 | # linux color schema for konsole 2 | 3 | title Linux Colors 4 | 5 | # FIXME 6 | # 7 | # The flaw in this schema is that "blick" comes out on the 8 | # Linux console as intensive background, really. 9 | # Since this is not used in clients you'll hardly notice 10 | # it in practice. 11 | 12 | # foreground colors 13 | 14 | # note that the default background color is flagged 15 | # to become transparent when an image is present. 16 | 17 | # slot transparent bold 18 | # | red grn blu | | 19 | # V V--color--V V V 20 | 21 | color 0 178 178 178 0 0 # regular foreground color (White) 22 | color 1 0 0 0 1 0 # regular background color (Black) 23 | 24 | color 2 0 0 0 0 0 # regular color 0 Black 25 | color 3 178 24 24 0 0 # regular color 1 Red 26 | color 4 24 178 24 0 0 # regular color 2 Green 27 | color 5 178 104 24 0 0 # regular color 3 Yellow 28 | color 6 24 24 178 0 0 # regular color 4 Blue 29 | color 7 178 24 178 0 0 # regular color 5 Magenta 30 | color 8 24 178 178 0 0 # regular color 6 Cyan 31 | color 9 178 178 178 0 0 # regular color 7 White 32 | 33 | # intensive colors 34 | 35 | # instead of changing the colors, we've flaged the text to become bold 36 | 37 | color 10 255 255 255 0 0 # intensive foreground color 38 | color 11 104 104 104 1 0 # intensive background color 39 | 40 | color 12 104 104 104 0 0 # intensive color 0 41 | color 13 255 84 84 0 0 # intensive color 1 42 | color 14 84 255 84 0 0 # intensive color 2 43 | color 15 255 255 84 0 0 # intensive color 3 44 | color 16 84 84 255 0 0 # intensive color 4 45 | color 17 255 84 255 0 0 # intensive color 5 46 | color 18 84 255 255 0 0 # intensive color 6 47 | color 19 255 255 255 0 0 # intensive color 7 48 | -------------------------------------------------------------------------------- /qsshterm.pro: -------------------------------------------------------------------------------- 1 | #------------------------------------------------- 2 | # 3 | # Project QSSHTerm V0.1 4 | # 5 | # 6 | # Author : David.Fan 7 | # License : LGPL 8 | # 9 | #------------------------------------------------- 10 | 11 | QT += core gui network xml 12 | 13 | greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 14 | 15 | TARGET = qsshterm 16 | TEMPLATE = app 17 | 18 | # The following define makes your compiler emit warnings if you use 19 | # any feature of Qt which as been marked as deprecated (the exact warnings 20 | # depend on your compiler). Please consult the documentation of the 21 | # deprecated API in order to know how to port your code away from it. 22 | DEFINES += QT_DEPRECATED_WARNINGS 23 | 24 | # You can also make your code fail to compile if you use deprecated APIs. 25 | # In order to do so, uncomment the following line. 26 | # You can also select to disable deprecated APIs only up to a certain version of Qt. 27 | #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 28 | 29 | CONFIG += c++11 30 | #CONFIG += console 31 | 32 | SOURCES += \ 33 | src/startup.cpp \ 34 | src/qsshtabterm.cpp \ 35 | src/qsshterm.cpp \ 36 | src/qsiteconfig.cpp \ 37 | src/qsshterm_sftp.cpp 38 | 39 | HEADERS += \ 40 | src/qsshtabterm.h \ 41 | src/qsshterm.h \ 42 | src/qsshtabterm.h \ 43 | src/qsiteconfig.h \ 44 | src/qssh_utils.h \ 45 | src/qsshterm_sftp.h 46 | 47 | LIBS += -lqtermwidget5 48 | LIBS += -lssh 49 | LIBS += -lssh_threads 50 | 51 | release: DESTDIR = ./ 52 | TEMPDIR = build/release 53 | debug: DESTDIR = ./ 54 | TEMPDIR = build/debug 55 | OBJECTS_DIR = $$TEMPDIR/.obj 56 | MOC_DIR = $$TEMPDIR/.moc 57 | RCC_DIR = $$TEMPDIR/.qrc 58 | UI_DIR = $$TEMPDIR/.ui 59 | 60 | win32:RC_ICONS += icon/qsshterm.ico 61 | 62 | -------------------------------------------------------------------------------- /color-schemes/historic/GreenTint.schema: -------------------------------------------------------------------------------- 1 | # linux color schema for konsole 2 | 3 | title Green Tint 4 | 5 | transparency 0.3 0 150 0 6 | 7 | # FIXME 8 | # 9 | # The flaw in this schema is that "blick" comes out on the 10 | # Linux console as intensive background, really. 11 | # Since this is not used in clients you'll hardly notice 12 | # it in practice. 13 | 14 | # foreground colors 15 | 16 | # note that the default background color is flagged 17 | # to become transparent when an image is present. 18 | 19 | # slot transparent bold 20 | # | red grn blu | | 21 | # V V--color--V V V 22 | 23 | color 0 178 178 178 0 0 # regular foreground color (White) 24 | color 1 0 0 0 1 0 # regular background color (Black) 25 | 26 | color 2 0 0 0 0 0 # regular color 0 Black 27 | color 3 178 24 24 0 0 # regular color 1 Red 28 | color 4 24 178 24 0 0 # regular color 2 Green 29 | color 5 178 104 24 0 0 # regular color 3 Yellow 30 | color 6 24 24 178 0 0 # regular color 4 Blue 31 | color 7 178 24 178 0 0 # regular color 5 Magenta 32 | color 8 24 178 178 0 0 # regular color 6 Cyan 33 | color 9 178 178 178 0 0 # regular color 7 White 34 | 35 | # intensive colors 36 | 37 | # instead of changing the colors, we've flaged the text to become bold 38 | 39 | color 10 255 255 255 0 0 # intensive foreground color 40 | color 11 104 104 104 1 0 # intensive background color 41 | 42 | color 12 104 104 104 0 0 # intensive color 0 43 | color 13 255 84 84 0 0 # intensive color 1 44 | color 14 84 255 84 0 0 # intensive color 2 45 | color 15 255 255 84 0 0 # intensive color 3 46 | color 16 84 84 255 0 0 # intensive color 4 47 | color 17 255 84 255 0 0 # intensive color 5 48 | color 18 84 255 255 0 0 # intensive color 6 49 | color 19 255 255 255 0 0 # intensive color 7 50 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/historic/Example.Schema: -------------------------------------------------------------------------------- 1 | # example scheme for konsole 2 | 3 | # the title is to appear in the menu. 4 | 5 | title Ugly 1 6 | 7 | # add a wallpaper, if you like. Second word one of { tile,center,full } 8 | 9 | image tile /opt/kde/share/wallpapers/dancy_pants.jpg 10 | 11 | 12 | # foreground colors 13 | 14 | # note that the default background color is flagged 15 | # to become transparent when an image is present. 16 | 17 | # slot transparent bold 18 | # | | | 19 | # V V--color--V V V 20 | 21 | color 0 0 0 0 0 0 # regular foreground color (Black) 22 | color 1 255 255 255 1 0 # regular background color (White) 23 | 24 | color 2 0 0 0 0 0 # regular color 0 Black 25 | color 3 255 0 0 0 0 # regular color 1 Red 26 | color 4 0 255 0 0 0 # regular color 2 Green 27 | color 5 255 255 0 0 0 # regular color 3 Yellow 28 | color 6 0 0 255 0 0 # regular color 4 Blue 29 | color 7 255 0 255 0 0 # regular color 5 Magenta 30 | color 8 0 255 255 0 0 # regular color 6 Cyan 31 | color 9 255 255 255 0 0 # regular color 7 White 32 | 33 | # intensive colors 34 | 35 | # instead of changing the colors, we've flaged the text to become bold 36 | 37 | color 10 0 0 0 0 1 # intensive foreground color 38 | color 11 255 255 255 1 1 # intensive background color 39 | 40 | color 12 0 0 0 0 1 # intensive color 0 41 | color 13 255 0 0 0 1 # intensive color 1 42 | color 14 0 255 0 0 1 # intensive color 2 43 | color 15 255 255 0 0 1 # intensive color 3 44 | color 16 0 0 255 0 1 # intensive color 4 45 | color 17 255 0 255 0 1 # intensive color 5 46 | color 18 0 255 255 0 1 # intensive color 6 47 | color 19 255 255 255 0 1 # intensive color 7 48 | -------------------------------------------------------------------------------- /color-schemes/historic/Transparent.schema: -------------------------------------------------------------------------------- 1 | # linux color schema for konsole 2 | 3 | title Transparent Konsole 4 | 5 | transparency 0.35 0 0 0 6 | 7 | # FIXME 8 | # 9 | # The flaw in this schema is that "blick" comes out on the 10 | # Linux console as intensive background, really. 11 | # Since this is not used in clients you'll hardly notice 12 | # it in practice. 13 | 14 | # foreground colors 15 | 16 | # note that the default background color is flagged 17 | # to become transparent when an image is present. 18 | 19 | # slot transparent bold 20 | # | red grn blu | | 21 | # V V--color--V V V 22 | 23 | color 0 178 178 178 0 0 # regular foreground color (White) 24 | color 1 0 0 0 1 0 # regular background color (Black) 25 | 26 | color 2 0 0 0 0 0 # regular color 0 Black 27 | color 3 178 24 24 0 0 # regular color 1 Red 28 | color 4 24 178 24 0 0 # regular color 2 Green 29 | color 5 178 104 24 0 0 # regular color 3 Yellow 30 | color 6 24 24 178 0 0 # regular color 4 Blue 31 | color 7 178 24 178 0 0 # regular color 5 Magenta 32 | color 8 24 178 178 0 0 # regular color 6 Cyan 33 | color 9 178 178 178 0 0 # regular color 7 White 34 | 35 | # intensive colors 36 | 37 | # instead of changing the colors, we've flaged the text to become bold 38 | 39 | color 10 255 255 255 0 0 # intensive foreground color 40 | color 11 104 104 104 1 0 # intensive background color 41 | 42 | color 12 104 104 104 0 0 # intensive color 0 43 | color 13 255 84 84 0 0 # intensive color 1 44 | color 14 84 255 84 0 0 # intensive color 2 45 | color 15 255 255 84 0 0 # intensive color 3 46 | color 16 84 84 255 0 0 # intensive color 4 47 | color 17 255 84 255 0 0 # intensive color 5 48 | color 18 84 255 255 0 0 # intensive color 6 49 | color 19 255 255 255 0 0 # intensive color 7 50 | -------------------------------------------------------------------------------- /color-schemes/historic/XTerm.schema: -------------------------------------------------------------------------------- 1 | # xterm color schema for konsole 2 | 3 | # xterm colors can be configured (almost) like 4 | # konsole colors can. This is the uncustomized 5 | # xterm schema. 6 | # Please refere to your local xterm setup files 7 | # if this schema differs. 8 | 9 | title XTerm Colors 10 | 11 | # foreground colors ------------------------------- 12 | 13 | # note that the default background color is flagged 14 | # to become transparent when an image is present. 15 | 16 | # slot transparent bold 17 | # | red grn blu | | 18 | # V V--color--V V V 19 | 20 | color 0 0 0 0 0 0 # regular foreground color (Black) 21 | color 1 255 255 255 1 0 # regular background color (White) 22 | 23 | color 2 0 0 0 0 0 # regular color 0 Black 24 | color 3 205 0 0 0 0 # regular color 1 Red 25 | color 4 0 205 0 0 0 # regular color 2 Green 26 | color 5 205 205 0 0 0 # regular color 3 Yellow 27 | color 6 0 0 205 0 0 # regular color 4 Blue 28 | color 7 205 0 205 0 0 # regular color 5 Magenta 29 | color 8 0 205 205 0 0 # regular color 6 Cyan 30 | color 9 229 229 229 0 0 # regular color 7 White 31 | 32 | # intensive colors ------------------------------------------- 33 | 34 | # for some strange reason, intensive colors are bold, also. 35 | 36 | color 10 77 77 77 0 1 # intensive foreground color 37 | color 11 255 255 255 1 1 # intensive background color 38 | 39 | color 12 77 77 77 0 1 # intensive color 0 40 | color 13 255 0 0 0 1 # intensive color 1 41 | color 14 0 255 0 0 1 # intensive color 2 42 | color 15 255 255 0 0 1 # intensive color 3 43 | color 16 0 0 255 0 1 # intensive color 4 44 | color 17 255 0 255 0 1 # intensive color 5 45 | color 18 0 255 255 0 1 # intensive color 6 46 | color 19 255 255 255 0 1 # intensive color 7 47 | -------------------------------------------------------------------------------- /color-schemes/GreenOnBlack.colorscheme: -------------------------------------------------------------------------------- 1 | 2 | [Background] 3 | Bold=false 4 | Color=0,0,0 5 | Transparency=false 6 | 7 | [BackgroundIntense] 8 | Bold=false 9 | Color=0,0,0 10 | Transparency=false 11 | 12 | [Color0] 13 | Bold=false 14 | Color=0,0,0 15 | Transparency=false 16 | 17 | [Color0Intense] 18 | Bold=false 19 | Color=104,104,104 20 | Transparency=false 21 | 22 | [Color1] 23 | Bold=false 24 | Color=250,75,75 25 | Transparency=false 26 | 27 | [Color1Intense] 28 | Bold=false 29 | Color=255,84,84 30 | Transparency=false 31 | 32 | [Color2] 33 | Bold=false 34 | Color=24,178,24 35 | Transparency=false 36 | 37 | [Color2Intense] 38 | Bold=false 39 | Color=84,255,84 40 | Transparency=false 41 | 42 | [Color3] 43 | Bold=false 44 | Color=178,104,24 45 | Transparency=false 46 | 47 | [Color3Intense] 48 | Bold=false 49 | Color=255,255,84 50 | Transparency=false 51 | 52 | [Color4] 53 | Bold=false 54 | Color=92,167,251 55 | Transparency=false 56 | 57 | [Color4Intense] 58 | Bold=false 59 | Color=84,84,255 60 | Transparency=false 61 | 62 | [Color5] 63 | Bold=false 64 | Color=225,30,225 65 | Transparency=false 66 | 67 | [Color5Intense] 68 | Bold=false 69 | Color=255,84,255 70 | Transparency=false 71 | 72 | [Color6] 73 | Bold=false 74 | Color=24,178,178 75 | Transparency=false 76 | 77 | [Color6Intense] 78 | Bold=false 79 | Color=84,255,255 80 | Transparency=false 81 | 82 | [Color7] 83 | Bold=false 84 | Color=178,178,178 85 | Transparency=false 86 | 87 | [Color7Intense] 88 | Bold=false 89 | Color=255,255,255 90 | Transparency=false 91 | 92 | [Foreground] 93 | Bold=false 94 | Color=24,240,24 95 | Transparency=false 96 | 97 | [ForegroundIntense] 98 | Bold=true 99 | Color=24,240,24 100 | Transparency=false 101 | 102 | [General] 103 | Description=Green on Black 104 | Opacity=1 105 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/historic/GreenTint.schema: -------------------------------------------------------------------------------- 1 | # linux color schema for konsole 2 | 3 | title Green Tint 4 | 5 | transparency 0.3 0 150 0 6 | 7 | # FIXME 8 | # 9 | # The flaw in this schema is that "blick" comes out on the 10 | # Linux console as intensive background, really. 11 | # Since this is not used in clients you'll hardly notice 12 | # it in practice. 13 | 14 | # foreground colors 15 | 16 | # note that the default background color is flagged 17 | # to become transparent when an image is present. 18 | 19 | # slot transparent bold 20 | # | red grn blu | | 21 | # V V--color--V V V 22 | 23 | color 0 178 178 178 0 0 # regular foreground color (White) 24 | color 1 0 0 0 1 0 # regular background color (Black) 25 | 26 | color 2 0 0 0 0 0 # regular color 0 Black 27 | color 3 178 24 24 0 0 # regular color 1 Red 28 | color 4 24 178 24 0 0 # regular color 2 Green 29 | color 5 178 104 24 0 0 # regular color 3 Yellow 30 | color 6 24 24 178 0 0 # regular color 4 Blue 31 | color 7 178 24 178 0 0 # regular color 5 Magenta 32 | color 8 24 178 178 0 0 # regular color 6 Cyan 33 | color 9 178 178 178 0 0 # regular color 7 White 34 | 35 | # intensive colors 36 | 37 | # instead of changing the colors, we've flaged the text to become bold 38 | 39 | color 10 255 255 255 0 0 # intensive foreground color 40 | color 11 104 104 104 1 0 # intensive background color 41 | 42 | color 12 104 104 104 0 0 # intensive color 0 43 | color 13 255 84 84 0 0 # intensive color 1 44 | color 14 84 255 84 0 0 # intensive color 2 45 | color 15 255 255 84 0 0 # intensive color 3 46 | color 16 84 84 255 0 0 # intensive color 4 47 | color 17 255 84 255 0 0 # intensive color 5 48 | color 18 84 255 255 0 0 # intensive color 6 49 | color 19 255 255 255 0 0 # intensive color 7 50 | -------------------------------------------------------------------------------- /color-schemes/historic/GreenTint_MC.schema: -------------------------------------------------------------------------------- 1 | # linux color schema for konsole 2 | 3 | title Green Tint with Transparent MC 4 | 5 | transparency 0.3 0 150 0 6 | 7 | # FIXME 8 | # 9 | # The flaw in this schema is that "blick" comes out on the 10 | # Linux console as intensive background, really. 11 | # Since this is not used in clients you'll hardly notice 12 | # it in practice. 13 | 14 | # foreground colors 15 | 16 | # note that the default background color is flagged 17 | # to become transparent when an image is present. 18 | 19 | # slot transparent bold 20 | # | red grn blu | | 21 | # V V--color--V V V 22 | 23 | color 0 178 178 178 0 0 # regular foreground color (White) 24 | color 1 0 0 0 1 0 # regular background color (Black) 25 | 26 | color 2 0 0 0 0 0 # regular color 0 Black 27 | color 3 178 24 24 0 0 # regular color 1 Red 28 | color 4 24 178 24 0 0 # regular color 2 Green 29 | color 5 178 104 24 0 0 # regular color 3 Yellow 30 | color 6 0 0 0 1 0 # regular color 4 Blue 31 | color 7 178 24 178 0 0 # regular color 5 Magenta 32 | color 8 24 178 178 0 0 # regular color 6 Cyan 33 | color 9 178 178 178 0 0 # regular color 7 White 34 | 35 | # intensive colors 36 | 37 | # instead of changing the colors, we've flaged the text to become bold 38 | 39 | color 10 255 255 255 0 0 # intensive foreground color 40 | color 11 104 104 104 1 0 # intensive background color 41 | 42 | color 12 104 104 104 0 0 # intensive color 0 43 | color 13 255 84 84 0 0 # intensive color 1 44 | color 14 84 255 84 0 0 # intensive color 2 45 | color 15 255 255 84 0 0 # intensive color 3 46 | color 16 84 84 255 0 0 # intensive color 4 47 | color 17 255 84 255 0 0 # intensive color 5 48 | color 18 84 255 255 0 0 # intensive color 6 49 | color 19 255 255 255 0 0 # intensive color 7 50 | -------------------------------------------------------------------------------- /color-schemes/DarkPastels.colorscheme: -------------------------------------------------------------------------------- 1 | [Background] 2 | Bold=false 3 | Color=44,44,44 4 | Transparency=false 5 | 6 | [BackgroundIntense] 7 | Bold=true 8 | Color=44,44,44 9 | Transparency=false 10 | 11 | [Color0] 12 | Bold=false 13 | Color=63,63,63 14 | Transparency=false 15 | 16 | [Color0Intense] 17 | Bold=true 18 | Color=112,144,128 19 | Transparency=false 20 | 21 | [Color1] 22 | Bold=false 23 | Color=112,80,80 24 | Transparency=false 25 | 26 | [Color1Intense] 27 | Bold=true 28 | Color=220,163,163 29 | Transparency=false 30 | 31 | [Color2] 32 | Bold=false 33 | Color=96,180,138 34 | Transparency=false 35 | 36 | [Color2Intense] 37 | Bold=true 38 | Color=114,213,163 39 | Transparency=false 40 | 41 | [Color3] 42 | Bold=false 43 | Color=223,175,143 44 | Transparency=false 45 | 46 | [Color3Intense] 47 | Bold=true 48 | Color=240,223,175 49 | Transparency=false 50 | 51 | [Color4] 52 | Bold=false 53 | Color=154,184,215 54 | Transparency=false 55 | 56 | [Color4Intense] 57 | Bold=true 58 | Color=148,191,243 59 | Transparency=false 60 | 61 | [Color5] 62 | Bold=false 63 | Color=220,140,195 64 | Transparency=false 65 | 66 | [Color5Intense] 67 | Bold=true 68 | Color=236,147,211 69 | Transparency=false 70 | 71 | [Color6] 72 | Bold=false 73 | Color=140,208,211 74 | Transparency=false 75 | 76 | [Color6Intense] 77 | Bold=true 78 | Color=147,224,227 79 | Transparency=false 80 | 81 | [Color7] 82 | Bold=false 83 | Color=220,220,204 84 | Transparency=false 85 | 86 | [Color7Intense] 87 | Bold=true 88 | Color=255,255,255 89 | Transparency=false 90 | 91 | [Foreground] 92 | Bold=false 93 | Color=220,220,204 94 | Transparency=false 95 | 96 | [ForegroundIntense] 97 | Bold=true 98 | Color=220,220,204 99 | Transparency=false 100 | 101 | [General] 102 | Description=Dark Pastels 103 | Opacity=1 104 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/historic/Transparent.schema: -------------------------------------------------------------------------------- 1 | # linux color schema for konsole 2 | 3 | title Transparent Konsole 4 | 5 | transparency 0.35 0 0 0 6 | 7 | # FIXME 8 | # 9 | # The flaw in this schema is that "blick" comes out on the 10 | # Linux console as intensive background, really. 11 | # Since this is not used in clients you'll hardly notice 12 | # it in practice. 13 | 14 | # foreground colors 15 | 16 | # note that the default background color is flagged 17 | # to become transparent when an image is present. 18 | 19 | # slot transparent bold 20 | # | red grn blu | | 21 | # V V--color--V V V 22 | 23 | color 0 178 178 178 0 0 # regular foreground color (White) 24 | color 1 0 0 0 1 0 # regular background color (Black) 25 | 26 | color 2 0 0 0 0 0 # regular color 0 Black 27 | color 3 178 24 24 0 0 # regular color 1 Red 28 | color 4 24 178 24 0 0 # regular color 2 Green 29 | color 5 178 104 24 0 0 # regular color 3 Yellow 30 | color 6 24 24 178 0 0 # regular color 4 Blue 31 | color 7 178 24 178 0 0 # regular color 5 Magenta 32 | color 8 24 178 178 0 0 # regular color 6 Cyan 33 | color 9 178 178 178 0 0 # regular color 7 White 34 | 35 | # intensive colors 36 | 37 | # instead of changing the colors, we've flaged the text to become bold 38 | 39 | color 10 255 255 255 0 0 # intensive foreground color 40 | color 11 104 104 104 1 0 # intensive background color 41 | 42 | color 12 104 104 104 0 0 # intensive color 0 43 | color 13 255 84 84 0 0 # intensive color 1 44 | color 14 84 255 84 0 0 # intensive color 2 45 | color 15 255 255 84 0 0 # intensive color 3 46 | color 16 84 84 255 0 0 # intensive color 4 47 | color 17 255 84 255 0 0 # intensive color 5 48 | color 18 84 255 255 0 0 # intensive color 6 49 | color 19 255 255 255 0 0 # intensive color 7 50 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/historic/XTerm.schema: -------------------------------------------------------------------------------- 1 | # xterm color schema for konsole 2 | 3 | # xterm colors can be configured (almost) like 4 | # konsole colors can. This is the uncustomized 5 | # xterm schema. 6 | # Please refere to your local xterm setup files 7 | # if this schema differs. 8 | 9 | title XTerm Colors 10 | 11 | # foreground colors ------------------------------- 12 | 13 | # note that the default background color is flagged 14 | # to become transparent when an image is present. 15 | 16 | # slot transparent bold 17 | # | red grn blu | | 18 | # V V--color--V V V 19 | 20 | color 0 0 0 0 0 0 # regular foreground color (Black) 21 | color 1 255 255 255 1 0 # regular background color (White) 22 | 23 | color 2 0 0 0 0 0 # regular color 0 Black 24 | color 3 205 0 0 0 0 # regular color 1 Red 25 | color 4 0 205 0 0 0 # regular color 2 Green 26 | color 5 205 205 0 0 0 # regular color 3 Yellow 27 | color 6 0 0 205 0 0 # regular color 4 Blue 28 | color 7 205 0 205 0 0 # regular color 5 Magenta 29 | color 8 0 205 205 0 0 # regular color 6 Cyan 30 | color 9 229 229 229 0 0 # regular color 7 White 31 | 32 | # intensive colors ------------------------------------------- 33 | 34 | # for some strange reason, intensive colors are bold, also. 35 | 36 | color 10 77 77 77 0 1 # intensive foreground color 37 | color 11 255 255 255 1 1 # intensive background color 38 | 39 | color 12 77 77 77 0 1 # intensive color 0 40 | color 13 255 0 0 0 1 # intensive color 1 41 | color 14 0 255 0 0 1 # intensive color 2 42 | color 15 255 255 0 0 1 # intensive color 3 43 | color 16 0 0 255 0 1 # intensive color 4 44 | color 17 255 0 255 0 1 # intensive color 5 45 | color 18 0 255 255 0 1 # intensive color 6 46 | color 19 255 255 255 0 1 # intensive color 7 47 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/GreenOnBlack.colorscheme: -------------------------------------------------------------------------------- 1 | 2 | [Background] 3 | Bold=false 4 | Color=0,0,0 5 | Transparency=false 6 | 7 | [BackgroundIntense] 8 | Bold=false 9 | Color=0,0,0 10 | Transparency=false 11 | 12 | [Color0] 13 | Bold=false 14 | Color=0,0,0 15 | Transparency=false 16 | 17 | [Color0Intense] 18 | Bold=false 19 | Color=104,104,104 20 | Transparency=false 21 | 22 | [Color1] 23 | Bold=false 24 | Color=250,75,75 25 | Transparency=false 26 | 27 | [Color1Intense] 28 | Bold=false 29 | Color=255,84,84 30 | Transparency=false 31 | 32 | [Color2] 33 | Bold=false 34 | Color=24,178,24 35 | Transparency=false 36 | 37 | [Color2Intense] 38 | Bold=false 39 | Color=84,255,84 40 | Transparency=false 41 | 42 | [Color3] 43 | Bold=false 44 | Color=178,104,24 45 | Transparency=false 46 | 47 | [Color3Intense] 48 | Bold=false 49 | Color=255,255,84 50 | Transparency=false 51 | 52 | [Color4] 53 | Bold=false 54 | Color=92,167,251 55 | Transparency=false 56 | 57 | [Color4Intense] 58 | Bold=false 59 | Color=84,84,255 60 | Transparency=false 61 | 62 | [Color5] 63 | Bold=false 64 | Color=225,30,225 65 | Transparency=false 66 | 67 | [Color5Intense] 68 | Bold=false 69 | Color=255,84,255 70 | Transparency=false 71 | 72 | [Color6] 73 | Bold=false 74 | Color=24,178,178 75 | Transparency=false 76 | 77 | [Color6Intense] 78 | Bold=false 79 | Color=84,255,255 80 | Transparency=false 81 | 82 | [Color7] 83 | Bold=false 84 | Color=178,178,178 85 | Transparency=false 86 | 87 | [Color7Intense] 88 | Bold=false 89 | Color=255,255,255 90 | Transparency=false 91 | 92 | [Foreground] 93 | Bold=false 94 | Color=24,240,24 95 | Transparency=false 96 | 97 | [ForegroundIntense] 98 | Bold=true 99 | Color=24,240,24 100 | Transparency=false 101 | 102 | [General] 103 | Description=Green on Black 104 | Opacity=1 105 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/historic/GreenTint_MC.schema: -------------------------------------------------------------------------------- 1 | # linux color schema for konsole 2 | 3 | title Green Tint with Transparent MC 4 | 5 | transparency 0.3 0 150 0 6 | 7 | # FIXME 8 | # 9 | # The flaw in this schema is that "blick" comes out on the 10 | # Linux console as intensive background, really. 11 | # Since this is not used in clients you'll hardly notice 12 | # it in practice. 13 | 14 | # foreground colors 15 | 16 | # note that the default background color is flagged 17 | # to become transparent when an image is present. 18 | 19 | # slot transparent bold 20 | # | red grn blu | | 21 | # V V--color--V V V 22 | 23 | color 0 178 178 178 0 0 # regular foreground color (White) 24 | color 1 0 0 0 1 0 # regular background color (Black) 25 | 26 | color 2 0 0 0 0 0 # regular color 0 Black 27 | color 3 178 24 24 0 0 # regular color 1 Red 28 | color 4 24 178 24 0 0 # regular color 2 Green 29 | color 5 178 104 24 0 0 # regular color 3 Yellow 30 | color 6 0 0 0 1 0 # regular color 4 Blue 31 | color 7 178 24 178 0 0 # regular color 5 Magenta 32 | color 8 24 178 178 0 0 # regular color 6 Cyan 33 | color 9 178 178 178 0 0 # regular color 7 White 34 | 35 | # intensive colors 36 | 37 | # instead of changing the colors, we've flaged the text to become bold 38 | 39 | color 10 255 255 255 0 0 # intensive foreground color 40 | color 11 104 104 104 1 0 # intensive background color 41 | 42 | color 12 104 104 104 0 0 # intensive color 0 43 | color 13 255 84 84 0 0 # intensive color 1 44 | color 14 84 255 84 0 0 # intensive color 2 45 | color 15 255 255 84 0 0 # intensive color 3 46 | color 16 84 84 255 0 0 # intensive color 4 47 | color 17 255 84 255 0 0 # intensive color 5 48 | color 18 84 255 255 0 0 # intensive color 6 49 | color 19 255 255 255 0 0 # intensive color 7 50 | -------------------------------------------------------------------------------- /color-schemes/BlackOnRandomLight.colorscheme: -------------------------------------------------------------------------------- 1 | [Background] 2 | Bold=false 3 | Color=247,247,214 4 | Transparency=true 5 | MaxRandomHue=340 6 | 7 | [BackgroundIntense] 8 | Bold=false 9 | Color=255,255,221 10 | Transparency=true 11 | 12 | [Color0] 13 | Bold=false 14 | Color=0,0,0 15 | Transparency=false 16 | 17 | [Color0Intense] 18 | Bold=false 19 | Color=104,104,104 20 | Transparency=false 21 | 22 | [Color1] 23 | Bold=false 24 | Color=178,24,24 25 | Transparency=false 26 | 27 | [Color1Intense] 28 | Bold=false 29 | Color=255,84,84 30 | Transparency=false 31 | 32 | [Color2] 33 | Bold=false 34 | Color=24,178,24 35 | Transparency=false 36 | 37 | [Color2Intense] 38 | Bold=false 39 | Color=84,255,84 40 | Transparency=false 41 | 42 | [Color3] 43 | Bold=false 44 | Color=178,104,24 45 | Transparency=false 46 | 47 | [Color3Intense] 48 | Bold=false 49 | Color=255,255,84 50 | Transparency=false 51 | 52 | [Color4] 53 | Bold=false 54 | Color=24,24,178 55 | Transparency=false 56 | 57 | [Color4Intense] 58 | Bold=false 59 | Color=84,84,255 60 | Transparency=false 61 | 62 | [Color5] 63 | Bold=false 64 | Color=178,24,178 65 | Transparency=false 66 | 67 | [Color5Intense] 68 | Bold=false 69 | Color=255,84,255 70 | Transparency=false 71 | 72 | [Color6] 73 | Bold=false 74 | Color=24,178,178 75 | Transparency=false 76 | 77 | [Color6Intense] 78 | Bold=false 79 | Color=84,255,255 80 | Transparency=false 81 | 82 | [Color7] 83 | Bold=false 84 | Color=178,178,178 85 | Transparency=false 86 | 87 | [Color7Intense] 88 | Bold=false 89 | Color=255,255,255 90 | Transparency=false 91 | 92 | [Foreground] 93 | Bold=false 94 | Color=0,0,0 95 | Transparency=false 96 | 97 | [ForegroundIntense] 98 | Bold=true 99 | Color=0,0,0 100 | Transparency=false 101 | 102 | [General] 103 | Description=Black on Random Light 104 | Opacity=1 105 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/DarkPastels.colorscheme: -------------------------------------------------------------------------------- 1 | [Background] 2 | Bold=false 3 | Color=44,44,44 4 | Transparency=false 5 | 6 | [BackgroundIntense] 7 | Bold=true 8 | Color=44,44,44 9 | Transparency=false 10 | 11 | [Color0] 12 | Bold=false 13 | Color=63,63,63 14 | Transparency=false 15 | 16 | [Color0Intense] 17 | Bold=true 18 | Color=112,144,128 19 | Transparency=false 20 | 21 | [Color1] 22 | Bold=false 23 | Color=112,80,80 24 | Transparency=false 25 | 26 | [Color1Intense] 27 | Bold=true 28 | Color=220,163,163 29 | Transparency=false 30 | 31 | [Color2] 32 | Bold=false 33 | Color=96,180,138 34 | Transparency=false 35 | 36 | [Color2Intense] 37 | Bold=true 38 | Color=114,213,163 39 | Transparency=false 40 | 41 | [Color3] 42 | Bold=false 43 | Color=223,175,143 44 | Transparency=false 45 | 46 | [Color3Intense] 47 | Bold=true 48 | Color=240,223,175 49 | Transparency=false 50 | 51 | [Color4] 52 | Bold=false 53 | Color=154,184,215 54 | Transparency=false 55 | 56 | [Color4Intense] 57 | Bold=true 58 | Color=148,191,243 59 | Transparency=false 60 | 61 | [Color5] 62 | Bold=false 63 | Color=220,140,195 64 | Transparency=false 65 | 66 | [Color5Intense] 67 | Bold=true 68 | Color=236,147,211 69 | Transparency=false 70 | 71 | [Color6] 72 | Bold=false 73 | Color=140,208,211 74 | Transparency=false 75 | 76 | [Color6Intense] 77 | Bold=true 78 | Color=147,224,227 79 | Transparency=false 80 | 81 | [Color7] 82 | Bold=false 83 | Color=220,220,204 84 | Transparency=false 85 | 86 | [Color7Intense] 87 | Bold=true 88 | Color=255,255,255 89 | Transparency=false 90 | 91 | [Foreground] 92 | Bold=false 93 | Color=220,220,204 94 | Transparency=false 95 | 96 | [ForegroundIntense] 97 | Bold=true 98 | Color=220,220,204 99 | Transparency=false 100 | 101 | [General] 102 | Description=Dark Pastels 103 | Opacity=1 104 | -------------------------------------------------------------------------------- /src/qsiteconfig.h: -------------------------------------------------------------------------------- 1 | #ifndef SITETREE_H 2 | #define SITETREE_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include "qsshterm_common.h" 12 | 13 | class SiteTree : public QTreeWidget 14 | { 15 | Q_OBJECT 16 | 17 | public: 18 | SiteTree(QWidget *parent = 0); 19 | 20 | bool load(); 21 | bool save() const; 22 | 23 | protected: 24 | #if !defined(QT_NO_CONTEXTMENU) && !defined(QT_NO_CLIPBOARD) 25 | void contextMenuEvent(QContextMenuEvent *event) override; 26 | #endif 27 | 28 | public slots: 29 | void newSession(); 30 | void newFolder(); 31 | void editSession(); 32 | void deleteSession(); 33 | 34 | private slots: 35 | void updateDomElement(const QTreeWidgetItem *item, int column); 36 | void Ondoubleclicktree(QTreeWidgetItem *item, int column); 37 | 38 | private: 39 | QTreeWidgetItem * parseFolderElement(const QDomElement &element, 40 | QTreeWidgetItem *parentItem = 0); 41 | void parseNode(const QDomNode &node, 42 | QTreeWidgetItem *parentItem = 0); 43 | void parseSite(const QDomNode &element, 44 | QTreeWidgetItem *parentItem = 0); 45 | QTreeWidgetItem *createItem(const QDomElement &element, 46 | QTreeWidgetItem *parentItem = 0); 47 | 48 | QDomDocument domDocument; 49 | QIcon folderIcon; 50 | QIcon bookmarkIcon; 51 | 52 | QFile xmlfile; 53 | }; 54 | 55 | class QSiteTreeDialog : public QDialog 56 | { 57 | Q_OBJECT 58 | 59 | public: 60 | QSiteTreeDialog(QWidget *parent = 0); 61 | ~QSiteTreeDialog(){}; 62 | 63 | signals: 64 | void notifyNewSession(SiteInfo); 65 | 66 | private : 67 | void initToolbar(); 68 | QToolBar * toolbar; 69 | SiteTree * tree; 70 | }; 71 | 72 | #endif -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/BlackOnRandomLight.colorscheme: -------------------------------------------------------------------------------- 1 | [Background] 2 | Bold=false 3 | Color=247,247,214 4 | Transparency=true 5 | MaxRandomHue=340 6 | 7 | [BackgroundIntense] 8 | Bold=false 9 | Color=255,255,221 10 | Transparency=true 11 | 12 | [Color0] 13 | Bold=false 14 | Color=0,0,0 15 | Transparency=false 16 | 17 | [Color0Intense] 18 | Bold=false 19 | Color=104,104,104 20 | Transparency=false 21 | 22 | [Color1] 23 | Bold=false 24 | Color=178,24,24 25 | Transparency=false 26 | 27 | [Color1Intense] 28 | Bold=false 29 | Color=255,84,84 30 | Transparency=false 31 | 32 | [Color2] 33 | Bold=false 34 | Color=24,178,24 35 | Transparency=false 36 | 37 | [Color2Intense] 38 | Bold=false 39 | Color=84,255,84 40 | Transparency=false 41 | 42 | [Color3] 43 | Bold=false 44 | Color=178,104,24 45 | Transparency=false 46 | 47 | [Color3Intense] 48 | Bold=false 49 | Color=255,255,84 50 | Transparency=false 51 | 52 | [Color4] 53 | Bold=false 54 | Color=24,24,178 55 | Transparency=false 56 | 57 | [Color4Intense] 58 | Bold=false 59 | Color=84,84,255 60 | Transparency=false 61 | 62 | [Color5] 63 | Bold=false 64 | Color=178,24,178 65 | Transparency=false 66 | 67 | [Color5Intense] 68 | Bold=false 69 | Color=255,84,255 70 | Transparency=false 71 | 72 | [Color6] 73 | Bold=false 74 | Color=24,178,178 75 | Transparency=false 76 | 77 | [Color6Intense] 78 | Bold=false 79 | Color=84,255,255 80 | Transparency=false 81 | 82 | [Color7] 83 | Bold=false 84 | Color=178,178,178 85 | Transparency=false 86 | 87 | [Color7Intense] 88 | Bold=false 89 | Color=255,255,255 90 | Transparency=false 91 | 92 | [Foreground] 93 | Bold=false 94 | Color=0,0,0 95 | Transparency=false 96 | 97 | [ForegroundIntense] 98 | Bold=true 99 | Color=0,0,0 100 | Transparency=false 101 | 102 | [General] 103 | Description=Black on Random Light 104 | Opacity=1 105 | -------------------------------------------------------------------------------- /color-schemes/historic/Transparent_MC.schema: -------------------------------------------------------------------------------- 1 | # linux color schema for konsole 2 | 3 | title Transparent for MC 4 | 5 | transparency 0.35 0 0 0 6 | 7 | # FIXME 8 | # 9 | # The flaw in this schema is that "blick" comes out on the 10 | # Linux console as intensive background, really. 11 | # Since this is not used in clients you'll hardly notice 12 | # it in practice. 13 | 14 | # foreground colors 15 | 16 | # note that the default background color is flagged 17 | # to become transparent when an image is present. 18 | 19 | # slot transparent bold 20 | # | red grn blu | | 21 | # V V--color--V V V 22 | 23 | color 0 178 178 178 0 0 # regular foreground color (White) 24 | color 1 0 0 0 1 0 # regular background color (Black) 25 | 26 | color 2 0 0 0 0 0 # regular color 0 Black 27 | color 3 178 24 24 0 0 # regular color 1 Red 28 | color 4 24 178 24 0 0 # regular color 2 Green 29 | color 5 178 104 24 0 0 # regular color 3 Yellow 30 | #color 6 24 24 178 0 0 # regular color 4 Blue 31 | color 6 0 0 0 1 0 # regular color 4 Blue 32 | 33 | color 7 178 24 178 0 0 # regular color 5 Magenta 34 | color 8 24 178 178 0 0 # regular color 6 Cyan 35 | color 9 178 178 178 0 0 # regular color 7 White 36 | 37 | # intensive colors 38 | 39 | # instead of changing the colors, we've flaged the text to become bold 40 | 41 | color 10 255 255 255 0 0 # intensive foreground color 42 | color 11 104 104 104 1 0 # intensive background color 43 | 44 | color 12 104 104 104 0 0 # intensive color 0 45 | color 13 255 84 84 0 0 # intensive color 1 46 | color 14 84 255 84 0 0 # intensive color 2 47 | color 15 255 255 84 0 0 # intensive color 3 48 | color 16 84 84 255 0 0 # intensive color 4 49 | color 17 255 84 255 0 0 # intensive color 5 50 | color 18 84 255 255 0 0 # intensive color 6 51 | color 19 255 255 255 0 0 # intensive color 7 52 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/SearchBar.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2013 Christian Surlykke 3 | 4 | This program is free software; you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation; either version 2 of the License, or 7 | (at your option) any later version. 8 | 9 | This program is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with this program; if not, write to the Free Software 16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 17 | 02110-1301 USA. 18 | */ 19 | #ifndef _SEARCHBAR_H 20 | #define _SEARCHBAR_H 21 | 22 | #include 23 | 24 | #include "ui_SearchBar.h" 25 | #include "HistorySearch.h" 26 | 27 | class SearchBar : public QWidget { 28 | Q_OBJECT 29 | public: 30 | SearchBar(QWidget* parent = 0); 31 | virtual ~SearchBar(); 32 | virtual void show(); 33 | QString searchText(); 34 | bool useRegularExpression(); 35 | bool matchCase(); 36 | bool highlightAllMatches(); 37 | 38 | public slots: 39 | void noMatchFound(); 40 | 41 | signals: 42 | void searchCriteriaChanged(); 43 | void highlightMatchesChanged(bool highlightMatches); 44 | void findNext(); 45 | void findPrevious(); 46 | 47 | protected: 48 | virtual void keyReleaseEvent(QKeyEvent* keyEvent); 49 | 50 | private slots: 51 | void clearBackgroundColor(); 52 | 53 | private: 54 | Ui::SearchBar widget; 55 | QAction *m_matchCaseMenuEntry; 56 | QAction *m_useRegularExpressionMenuEntry; 57 | QAction *m_highlightMatchesMenuEntry; 58 | }; 59 | 60 | #endif /* _SEARCHBAR_H */ 61 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/historic/Transparent_MC.schema: -------------------------------------------------------------------------------- 1 | # linux color schema for konsole 2 | 3 | title Transparent for MC 4 | 5 | transparency 0.35 0 0 0 6 | 7 | # FIXME 8 | # 9 | # The flaw in this schema is that "blick" comes out on the 10 | # Linux console as intensive background, really. 11 | # Since this is not used in clients you'll hardly notice 12 | # it in practice. 13 | 14 | # foreground colors 15 | 16 | # note that the default background color is flagged 17 | # to become transparent when an image is present. 18 | 19 | # slot transparent bold 20 | # | red grn blu | | 21 | # V V--color--V V V 22 | 23 | color 0 178 178 178 0 0 # regular foreground color (White) 24 | color 1 0 0 0 1 0 # regular background color (Black) 25 | 26 | color 2 0 0 0 0 0 # regular color 0 Black 27 | color 3 178 24 24 0 0 # regular color 1 Red 28 | color 4 24 178 24 0 0 # regular color 2 Green 29 | color 5 178 104 24 0 0 # regular color 3 Yellow 30 | #color 6 24 24 178 0 0 # regular color 4 Blue 31 | color 6 0 0 0 1 0 # regular color 4 Blue 32 | 33 | color 7 178 24 178 0 0 # regular color 5 Magenta 34 | color 8 24 178 178 0 0 # regular color 6 Cyan 35 | color 9 178 178 178 0 0 # regular color 7 White 36 | 37 | # intensive colors 38 | 39 | # instead of changing the colors, we've flaged the text to become bold 40 | 41 | color 10 255 255 255 0 0 # intensive foreground color 42 | color 11 104 104 104 1 0 # intensive background color 43 | 44 | color 12 104 104 104 0 0 # intensive color 0 45 | color 13 255 84 84 0 0 # intensive color 1 46 | color 14 84 255 84 0 0 # intensive color 2 47 | color 15 255 255 84 0 0 # intensive color 3 48 | color 16 84 84 255 0 0 # intensive color 4 49 | color 17 255 84 255 0 0 # intensive color 5 50 | color 18 84 255 255 0 0 # intensive color 6 51 | color 19 255 255 255 0 0 # intensive color 7 52 | -------------------------------------------------------------------------------- /kb-layouts/historic/x11r5.keytab: -------------------------------------------------------------------------------- 1 | # [x11r5.Keytab] Keyboard Table for X11 R5 2 | 3 | keyboard "XTerm (XFree 3.x.x)" 4 | 5 | # -------------------------------------------------------------- 6 | # 7 | # Note that this particular table is a "risc" version made to 8 | # ease customization without bothering with obsolete details. 9 | # See VT100.keytab for the more hairy stuff. 10 | # 11 | # -------------------------------------------------------------- 12 | 13 | # common keys 14 | 15 | key Escape : "\E" 16 | key Tab : "\t" 17 | 18 | key Return : "\r" 19 | 20 | # Backspace and Delete codes are preserving CTRL-H. 21 | 22 | key Backspace : "\x7f" 23 | 24 | # cursor keys 25 | 26 | key Up -Shift : "\EOA" 27 | key Down -Shift : "\EOB" 28 | key Right -Shift : "\EOC" 29 | key Left -Shift : "\EOD" 30 | 31 | # other grey PC keys 32 | 33 | key Enter : "\r" 34 | 35 | key Home : "\E[1~" 36 | key Insert-Shift : "\E[2~" 37 | key Delete : "\E[3~" 38 | key End : "\E[4~" 39 | key PgUp -Shift : "\E[5~" 40 | key PgDown -Shift : "\E[6~" 41 | 42 | # function keys 43 | 44 | key F1 : "\E[11~" 45 | key F2 : "\E[12~" 46 | key F3 : "\E[13~" 47 | key F4 : "\E[14~" 48 | key F5 : "\E[15~" 49 | key F6 : "\E[17~" 50 | key F7 : "\E[18~" 51 | key F8 : "\E[19~" 52 | key F9 : "\E[20~" 53 | key F10 : "\E[21~" 54 | key F11 : "\E[23~" 55 | key F12 : "\E[24~" 56 | 57 | # Work around dead keys 58 | 59 | key Space +Control : "\x00" 60 | 61 | # Some keys are used by konsole to cause operations. 62 | # The scroll* operations refer to the history buffer. 63 | 64 | key Up +Shift : scrollLineUp 65 | key PgUp +Shift : scrollPageUp 66 | key Down +Shift : scrollLineDown 67 | key PgDown +Shift : scrollPageDown 68 | 69 | key ScrollLock : scrollLock 70 | 71 | # keypad characters are not offered differently by Qt. 72 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/kb-layouts/historic/x11r5.keytab: -------------------------------------------------------------------------------- 1 | # [x11r5.Keytab] Keyboard Table for X11 R5 2 | 3 | keyboard "XTerm (XFree 3.x.x)" 4 | 5 | # -------------------------------------------------------------- 6 | # 7 | # Note that this particular table is a "risc" version made to 8 | # ease customization without bothering with obsolete details. 9 | # See VT100.keytab for the more hairy stuff. 10 | # 11 | # -------------------------------------------------------------- 12 | 13 | # common keys 14 | 15 | key Escape : "\E" 16 | key Tab : "\t" 17 | 18 | key Return : "\r" 19 | 20 | # Backspace and Delete codes are preserving CTRL-H. 21 | 22 | key Backspace : "\x7f" 23 | 24 | # cursor keys 25 | 26 | key Up -Shift : "\EOA" 27 | key Down -Shift : "\EOB" 28 | key Right -Shift : "\EOC" 29 | key Left -Shift : "\EOD" 30 | 31 | # other grey PC keys 32 | 33 | key Enter : "\r" 34 | 35 | key Home : "\E[1~" 36 | key Insert-Shift : "\E[2~" 37 | key Delete : "\E[3~" 38 | key End : "\E[4~" 39 | key PgUp -Shift : "\E[5~" 40 | key PgDown -Shift : "\E[6~" 41 | 42 | # function keys 43 | 44 | key F1 : "\E[11~" 45 | key F2 : "\E[12~" 46 | key F3 : "\E[13~" 47 | key F4 : "\E[14~" 48 | key F5 : "\E[15~" 49 | key F6 : "\E[17~" 50 | key F7 : "\E[18~" 51 | key F8 : "\E[19~" 52 | key F9 : "\E[20~" 53 | key F10 : "\E[21~" 54 | key F11 : "\E[23~" 55 | key F12 : "\E[24~" 56 | 57 | # Work around dead keys 58 | 59 | key Space +Control : "\x00" 60 | 61 | # Some keys are used by konsole to cause operations. 62 | # The scroll* operations refer to the history buffer. 63 | 64 | key Up +Shift : scrollLineUp 65 | key PgUp +Shift : scrollPageUp 66 | key Down +Shift : scrollLineDown 67 | key PgDown +Shift : scrollPageDown 68 | 69 | key ScrollLock : scrollLock 70 | 71 | # keypad characters are not offered differently by Qt. 72 | -------------------------------------------------------------------------------- /color-schemes/historic/Transparent_lightbg.schema: -------------------------------------------------------------------------------- 1 | # linux color schema for konsole 2 | 3 | title Transparent, Light Background 4 | 5 | transparency 0.1 0 0 0 6 | 7 | # This is a schema for very light backgrounds. It makes some 8 | # hacks about the colors to make Midnight Commander transparent 9 | # and with suitable colors. 10 | 11 | # foreground colors 12 | 13 | # note that the default background color is flagged 14 | # to become transparent when an image is present. 15 | 16 | # slot transparent bold 17 | # | red grn blu | | 18 | # V V--color--V V V 19 | 20 | color 0 50 50 50 0 0 # regular foreground color (DarkGray) 21 | color 1 200 200 200 1 0 # regular background color (White) 22 | 23 | # color 2 0 0 0 0 0 # regular color 0 Black 24 | color 2 200 200 200 1 0 # regular background color (White) 25 | color 3 178 24 24 0 0 # regular color 1 Red 26 | color 4 24 178 24 0 0 # regular color 2 Green 27 | color 5 178 104 24 0 0 # regular color 3 Yellow 28 | #color 6 24 24 178 0 0 # regular color 4 Blue 29 | color 6 0 0 0 1 0 # regular color 4 Blue 30 | # Blue is transparent, to make MC transparent 31 | 32 | color 7 178 24 178 0 0 # regular color 5 Magenta 33 | color 8 24 178 178 0 0 # regular color 6 Cyan 34 | # color 9 178 178 178 0 0 # regular color 7 White 35 | color 9 50 50 50 0 0 # regular foreground color (DarkGray) 36 | 37 | # intensive colors 38 | 39 | # instead of changing the colors, we've flaged the text to become bold 40 | 41 | color 10 0 0 0 0 0 # intensive foreground color 42 | color 11 255 255 255 1 0 # intensive background color 43 | 44 | color 12 104 104 104 0 0 # intensive color 0 45 | color 13 255 84 84 0 0 # intensive color 1 46 | color 14 84 255 84 0 0 # intensive color 2 47 | color 15 255 255 84 0 0 # intensive color 3 48 | color 16 84 84 255 0 0 # intensive color 4 49 | color 17 255 84 255 0 0 # intensive color 5 50 | color 18 84 255 255 0 0 # intensive color 6 51 | color 19 255 255 255 0 0 # intensive color 7 52 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/color-schemes/historic/Transparent_lightbg.schema: -------------------------------------------------------------------------------- 1 | # linux color schema for konsole 2 | 3 | title Transparent, Light Background 4 | 5 | transparency 0.1 0 0 0 6 | 7 | # This is a schema for very light backgrounds. It makes some 8 | # hacks about the colors to make Midnight Commander transparent 9 | # and with suitable colors. 10 | 11 | # foreground colors 12 | 13 | # note that the default background color is flagged 14 | # to become transparent when an image is present. 15 | 16 | # slot transparent bold 17 | # | red grn blu | | 18 | # V V--color--V V V 19 | 20 | color 0 50 50 50 0 0 # regular foreground color (DarkGray) 21 | color 1 200 200 200 1 0 # regular background color (White) 22 | 23 | # color 2 0 0 0 0 0 # regular color 0 Black 24 | color 2 200 200 200 1 0 # regular background color (White) 25 | color 3 178 24 24 0 0 # regular color 1 Red 26 | color 4 24 178 24 0 0 # regular color 2 Green 27 | color 5 178 104 24 0 0 # regular color 3 Yellow 28 | #color 6 24 24 178 0 0 # regular color 4 Blue 29 | color 6 0 0 0 1 0 # regular color 4 Blue 30 | # Blue is transparent, to make MC transparent 31 | 32 | color 7 178 24 178 0 0 # regular color 5 Magenta 33 | color 8 24 178 178 0 0 # regular color 6 Cyan 34 | # color 9 178 178 178 0 0 # regular color 7 White 35 | color 9 50 50 50 0 0 # regular foreground color (DarkGray) 36 | 37 | # intensive colors 38 | 39 | # instead of changing the colors, we've flaged the text to become bold 40 | 41 | color 10 0 0 0 0 0 # intensive foreground color 42 | color 11 255 255 255 1 0 # intensive background color 43 | 44 | color 12 104 104 104 0 0 # intensive color 0 45 | color 13 255 84 84 0 0 # intensive color 1 46 | color 14 84 255 84 0 0 # intensive color 2 47 | color 15 255 255 84 0 0 # intensive color 3 48 | color 16 84 84 255 0 0 # intensive color 4 49 | color 17 255 84 255 0 0 # intensive color 5 50 | color 18 84 255 255 0 0 # intensive color 6 51 | color 19 255 255 255 0 0 # intensive color 7 52 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/cmake/FindUtf8Proc.cmake: -------------------------------------------------------------------------------- 1 | #.rst: 2 | # FindUtf8Proc 3 | # -------- 4 | # 5 | # Find utf8proc 6 | # 7 | # Find the UTF-8 processing library 8 | # 9 | # :: 10 | # 11 | # This module defines the following variables: 12 | # UTF8PROC_FOUND - True if UTF8PROC_INCLUDE_DIR & UTF8PROC_LIBRARY are found 13 | # UTF8PROC_LIBRARIES - Set when UTF8PROC_LIBRARY is found 14 | # UTF8PROC_INCLUDE_DIRS - Set when UTF8PROC_INCLUDE_DIR is found 15 | # 16 | # 17 | # 18 | # :: 19 | # 20 | # UTF8PROC_INCLUDE_DIR - where to find utf8proc.h 21 | # UTF8PROC_LIBRARY - the utf8proc library 22 | 23 | #============================================================================= 24 | # This module is adapted from FindALSA.cmake. Below are the original license 25 | # header. 26 | #============================================================================= 27 | # Copyright 2009-2011 Kitware, Inc. 28 | # Copyright 2009-2011 Philip Lowman 29 | # 30 | # Distributed under the OSI-approved BSD License (the "License"); 31 | # see accompanying file Copyright.txt for details. 32 | # 33 | # This software is distributed WITHOUT ANY WARRANTY; without even the 34 | # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 35 | # See the License for more information. 36 | #============================================================================= 37 | 38 | find_path( 39 | UTF8PROC_INCLUDE_DIR NAMES utf8proc.h DOC "The utf8proc include directory" 40 | ) 41 | 42 | find_library( 43 | UTF8PROC_LIBRARY NAMES utf8proc DOC "The utf8proc library" 44 | ) 45 | 46 | # handle the QUIETLY and REQUIRED arguments and set UTF8PROC_FOUND to TRUE if 47 | # all listed variables are TRUE 48 | include(FindPackageHandleStandardArgs) 49 | FIND_PACKAGE_HANDLE_STANDARD_ARGS( 50 | UTF8PROC 51 | REQUIRED_VARS UTF8PROC_LIBRARY UTF8PROC_INCLUDE_DIR 52 | ) 53 | 54 | if(UTF8PROC_FOUND) 55 | set( UTF8PROC_LIBRARIES ${UTF8PROC_LIBRARY} ) 56 | set( UTF8PROC_INCLUDE_DIRS ${UTF8PROC_INCLUDE_DIR} ) 57 | endif() 58 | 59 | mark_as_advanced(UTF8PROC_INCLUDE_DIR UTF8PROC_LIBRARY) 60 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/HistorySearch.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2013 Christian Surlykke 3 | 4 | This program is free software; you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation; either version 2 of the License, or 7 | (at your option) any later version. 8 | 9 | This program is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with this program; if not, write to the Free Software 16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 17 | 02110-1301 USA. 18 | */ 19 | #ifndef TASK_H 20 | #define TASK_H 21 | 22 | #include 23 | #include 24 | #include 25 | 26 | #include 27 | #include 28 | 29 | #include "Emulation.h" 30 | #include "TerminalCharacterDecoder.h" 31 | 32 | using namespace Konsole; 33 | 34 | typedef QPointer EmulationPtr; 35 | 36 | class HistorySearch : public QObject 37 | { 38 | Q_OBJECT 39 | 40 | public: 41 | explicit HistorySearch(EmulationPtr emulation, QRegExp regExp, bool forwards, 42 | int startColumn, int startLine, QObject* parent); 43 | 44 | ~HistorySearch(); 45 | 46 | void search(); 47 | 48 | signals: 49 | void matchFound(int startColumn, int startLine, int endColumn, int endLine); 50 | void noMatchFound(); 51 | 52 | private: 53 | bool search(int startColumn, int startLine, int endColumn, int endLine); 54 | int findLineNumberInString(QList linePositions, int position); 55 | 56 | 57 | EmulationPtr m_emulation; 58 | QRegExp m_regExp; 59 | bool m_forwards; 60 | int m_startColumn; 61 | int m_startLine; 62 | 63 | int m_foundStartColumn; 64 | int m_foundStartLine; 65 | int m_foundEndColumn; 66 | int m_foundEndLine; 67 | }; 68 | 69 | #endif /* TASK_H */ 70 | 71 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/pyqt/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) 2 | 3 | # Match what's used in the main macros 4 | cmake_policy(SET CMP0002 OLD) 5 | find_package(PythonLibrary) 6 | 7 | include(PythonMacros) 8 | 9 | find_package(SIP) 10 | include(SIPMacros) 11 | 12 | if(SIP_VERSION STRLESS "040f03") # These version numbers also appear in ../CMakeLists.txt 13 | message(FATAL_ERROR "The version of SIP found is too old. 4.15.3 or later is needed.") 14 | endif() 15 | 16 | find_package(PyQt5) 17 | if(PYQT5_VERSION STRLESS "050101") # These version numbers also appear in ../CMakeLists.txt 18 | message(FATAL_ERROR "The version of PyQt found is too old. 5.1.1 or later is required.") 19 | endif() 20 | 21 | set(SIP_INCLUDES ${PYQT5_SIP_DIR} sip) 22 | set(SIP_CONCAT_PARTS 8) 23 | set(SIP_TAGS ALL WS_X11 ${PYQT5_VERSION_TAG}) 24 | set(SIP_DISABLE_FEATURES VendorID PyQt_NoPrintRangeBug) 25 | 26 | # Use an extra option when compiling on Python 3. 27 | if (PYTHON_VERSION_MAJOR GREATER 2) 28 | if(PYQT5_VERSION STRGREATER "040904") 29 | # Disable for newer PyQt 30 | set(SIP_EXTRA_OPTIONS -P -g) 31 | else () 32 | set(SIP_EXTRA_OPTIONS -g) 33 | endif() 34 | else (PYTHON_VERSION_MAJOR GREATER 2) 35 | if(PYQT5_VERSION STRGREATER "040904") 36 | # Disable for newer PyQt 37 | set(SIP_EXTRA_OPTIONS -P -g -x Py_v3) 38 | else () 39 | set(SIP_EXTRA_OPTIONS -g -x Py_v3) 40 | endif() 41 | endif () 42 | 43 | include_directories( 44 | "${SIP_INCLUDE_DIR}" 45 | ) 46 | 47 | add_definitions(-D_REENTRANT -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public) 48 | 49 | file(GLOB qtermwidget_files_sip sip/*.sip) 50 | set(SIP_EXTRA_FILES_DEPEND "${qtermwidget_files_sip}") 51 | add_sip_python_module(QTermWidget sip/qtermwidget.sip qtermwidget5) 52 | 53 | python_install(__init__.py "${PYTHON_SITE_PACKAGES_INSTALL_DIR}/PyQt5/qtermwidget") 54 | 55 | set (SIP_FILES_INSTALL_DIR "${CMAKE_INSTALL_DATAROOTDIR}/sip") 56 | 57 | install(DIRECTORY sip/ DESTINATION "${SIP_FILES_INSTALL_DIR}/PyQt5/qtermwidget" 58 | PATTERN "*~" EXCLUDE # This sucks, why can't I just whitelist what I _do_ want? 59 | PATTERN ".svn" EXCLUDE 60 | PATTERN "*.in" EXCLUDE 61 | ) 62 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/pyqt/cmake/FindPyQt5.cmake: -------------------------------------------------------------------------------- 1 | # Find PyQt5 2 | # ~~~~~~~~~~ 3 | # Copyright (c) 2014, Simon Edwards 4 | # Redistribution and use is allowed according to the terms of the BSD license. 5 | # For details see the accompanying COPYING-CMAKE-SCRIPTS file. 6 | # 7 | # PyQt5 website: http://www.riverbankcomputing.co.uk/pyqt/index.php 8 | # 9 | # Find the installed version of PyQt5. FindPyQt5 should only be called after 10 | # Python has been found. 11 | # 12 | # This file defines the following variables: 13 | # 14 | # PYQT5_VERSION - The version of PyQt5 found expressed as a 6 digit hex number 15 | # suitable for comparison as a string 16 | # 17 | # PYQT5_VERSION_STR - The version of PyQt5 as a human readable string. 18 | # 19 | # PYQT5_VERSION_TAG - The PyQt version tag using by PyQt's sip files. 20 | # 21 | # PYQT5_SIP_DIR - The directory holding the PyQt5 .sip files. 22 | # 23 | # PYQT5_SIP_FLAGS - The SIP flags used to build PyQt. 24 | 25 | IF(EXISTS PYQT5_VERSION) 26 | # Already in cache, be silent 27 | SET(PYQT5_FOUND TRUE) 28 | ELSE(EXISTS PYQT5_VERSION) 29 | 30 | FIND_FILE(_find_pyqt5_py FindPyQt5.py PATHS ${CMAKE_MODULE_PATH}) 31 | 32 | EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_pyqt5_py} OUTPUT_VARIABLE pyqt5_config) 33 | IF(pyqt5_config) 34 | STRING(REGEX REPLACE "^pyqt_version:([^\n]+).*$" "\\1" PYQT5_VERSION ${pyqt5_config}) 35 | STRING(REGEX REPLACE ".*\npyqt_version_str:([^\n]+).*$" "\\1" PYQT5_VERSION_STR ${pyqt5_config}) 36 | STRING(REGEX REPLACE ".*\npyqt_version_tag:([^\n]+).*$" "\\1" PYQT5_VERSION_TAG ${pyqt5_config}) 37 | STRING(REGEX REPLACE ".*\npyqt_sip_dir:([^\n]+).*$" "\\1" PYQT5_SIP_DIR ${pyqt5_config}) 38 | STRING(REGEX REPLACE ".*\npyqt_sip_flags:([^\n]+).*$" "\\1" PYQT5_SIP_FLAGS ${pyqt5_config}) 39 | 40 | SET(PYQT5_FOUND TRUE) 41 | ENDIF(pyqt5_config) 42 | 43 | IF(PYQT5_FOUND) 44 | IF(NOT PYQT5_FIND_QUIETLY) 45 | MESSAGE(STATUS "Found PyQt5 version: ${PYQT5_VERSION_STR}") 46 | ENDIF(NOT PYQT5_FIND_QUIETLY) 47 | ELSE(PYQT5_FOUND) 48 | IF(PYQT5_FIND_REQUIRED) 49 | MESSAGE(FATAL_ERROR "Could not find PyQt5.") 50 | ENDIF(PYQT5_FIND_REQUIRED) 51 | ENDIF(PYQT5_FOUND) 52 | 53 | ENDIF(EXISTS PYQT5_VERSION) 54 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/mman.h: -------------------------------------------------------------------------------- 1 | /* 2 | * sys/mman.h 3 | * mman-win32 4 | */ 5 | 6 | #ifndef _SYS_MMAN_H_ 7 | #define _SYS_MMAN_H_ 8 | 9 | #ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later. 10 | #define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows. 11 | #endif 12 | 13 | /* All the headers include this file. */ 14 | #ifndef _MSC_VER 15 | #include <_mingw.h> 16 | #endif 17 | 18 | #if defined(MMAN_LIBRARY_DLL) 19 | /* Windows shared libraries (DLL) must be declared export when building the lib and import when building the 20 | application which links against the library. */ 21 | #if defined(MMAN_LIBRARY) 22 | #define MMANSHARED_EXPORT __declspec(dllexport) 23 | #else 24 | #define MMANSHARED_EXPORT __declspec(dllimport) 25 | #endif /* MMAN_LIBRARY */ 26 | #else 27 | /* Static libraries do not require a __declspec attribute.*/ 28 | #define MMANSHARED_EXPORT 29 | #endif /* MMAN_LIBRARY_DLL */ 30 | 31 | /* Determine offset type */ 32 | #include 33 | #if defined(_WIN64) 34 | typedef int64_t OffsetType; 35 | #else 36 | typedef uint32_t OffsetType; 37 | #endif 38 | 39 | #include 40 | 41 | #ifdef __cplusplus 42 | extern "C" { 43 | #endif 44 | 45 | #define PROT_NONE 0 46 | #define PROT_READ 1 47 | #define PROT_WRITE 2 48 | #define PROT_EXEC 4 49 | 50 | #define MAP_FILE 0 51 | #define MAP_SHARED 1 52 | #define MAP_PRIVATE 2 53 | #define MAP_TYPE 0xf 54 | #define MAP_FIXED 0x10 55 | #define MAP_ANONYMOUS 0x20 56 | #define MAP_ANON MAP_ANONYMOUS 57 | 58 | #define MAP_FAILED ((void *)-1) 59 | 60 | /* Flags for msync. */ 61 | #define MS_ASYNC 1 62 | #define MS_SYNC 2 63 | #define MS_INVALIDATE 4 64 | 65 | MMANSHARED_EXPORT void* mmap(void *addr, size_t len, int prot, int flags, int fildes, OffsetType off); 66 | MMANSHARED_EXPORT int munmap(void *addr, size_t len); 67 | MMANSHARED_EXPORT int _mprotect(void *addr, size_t len, int prot); 68 | MMANSHARED_EXPORT int msync(void *addr, size_t len, int flags); 69 | MMANSHARED_EXPORT int mlock(const void *addr, size_t len); 70 | MMANSHARED_EXPORT int munlock(const void *addr, size_t len); 71 | 72 | #ifdef __cplusplus 73 | } 74 | #endif 75 | 76 | #endif /* _SYS_MMAN_H_ */ 77 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/SearchBar.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | SearchBar 4 | 5 | 6 | 7 | 0 8 | 0 9 | 399 10 | 40 11 | 12 | 13 | 14 | SearchBar 15 | 16 | 17 | 18 | 19 | 20 | X 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | Find: 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | < 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | > 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | ... 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | QToolButton::InstantPopup 75 | 76 | 77 | Qt::DownArrow 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/pyqt/cmake/FindSIP.cmake: -------------------------------------------------------------------------------- 1 | # Find SIP 2 | # ~~~~~~~~ 3 | # 4 | # SIP website: http://www.riverbankcomputing.co.uk/sip/index.php 5 | # 6 | # Find the installed version of SIP. FindSIP should be called after Python 7 | # has been found. 8 | # 9 | # This file defines the following variables: 10 | # 11 | # SIP_VERSION - The version of SIP found expressed as a 6 digit hex number 12 | # suitable for comparison as a string. 13 | # 14 | # SIP_VERSION_STR - The version of SIP found as a human readable string. 15 | # 16 | # SIP_EXECUTABLE - Path and filename of the SIP command line executable. 17 | # 18 | # SIP_INCLUDE_DIR - Directory holding the SIP C++ header file. 19 | # 20 | # SIP_DEFAULT_SIP_DIR - Default directory where .sip files should be installed 21 | # into. 22 | 23 | # Copyright (c) 2007, Simon Edwards 24 | # Redistribution and use is allowed according to the terms of the BSD license. 25 | # For details see the accompanying COPYING-CMAKE-SCRIPTS file. 26 | 27 | 28 | 29 | IF(SIP_VERSION) 30 | # Already in cache, be silent 31 | SET(SIP_FOUND TRUE) 32 | ELSE(SIP_VERSION) 33 | 34 | FIND_FILE(_find_sip_py FindSIP.py PATHS ${CMAKE_MODULE_PATH}) 35 | 36 | EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${_find_sip_py} OUTPUT_VARIABLE sip_config) 37 | IF(sip_config) 38 | STRING(REGEX REPLACE "^sip_version:([^\n]+).*$" "\\1" SIP_VERSION ${sip_config}) 39 | STRING(REGEX REPLACE ".*\nsip_version_str:([^\n]+).*$" "\\1" SIP_VERSION_STR ${sip_config}) 40 | STRING(REGEX REPLACE ".*\nsip_bin:([^\n]+).*$" "\\1" SIP_EXECUTABLE ${sip_config}) 41 | IF(NOT SIP_DEFAULT_SIP_DIR) 42 | STRING(REGEX REPLACE ".*\ndefault_sip_dir:([^\n]+).*$" "\\1" SIP_DEFAULT_SIP_DIR ${sip_config}) 43 | ENDIF(NOT SIP_DEFAULT_SIP_DIR) 44 | STRING(REGEX REPLACE ".*\nsip_inc_dir:([^\n]+).*$" "\\1" SIP_INCLUDE_DIR ${sip_config}) 45 | FILE(TO_CMAKE_PATH ${SIP_DEFAULT_SIP_DIR} SIP_DEFAULT_SIP_DIR) 46 | FILE(TO_CMAKE_PATH ${SIP_INCLUDE_DIR} SIP_INCLUDE_DIR) 47 | IF(EXISTS ${SIP_EXECUTABLE}) 48 | SET(SIP_FOUND TRUE) 49 | ELSE() 50 | MESSAGE(STATUS "Found SIP configuration but the sip executable could not be found.") 51 | ENDIF() 52 | ENDIF(sip_config) 53 | 54 | IF(SIP_FOUND) 55 | IF(NOT SIP_FIND_QUIETLY) 56 | MESSAGE(STATUS "Found SIP version: ${SIP_VERSION_STR}") 57 | ENDIF(NOT SIP_FIND_QUIETLY) 58 | ELSE(SIP_FOUND) 59 | IF(SIP_FIND_REQUIRED) 60 | MESSAGE(FATAL_ERROR "Could not find SIP") 61 | ENDIF(SIP_FIND_REQUIRED) 62 | ENDIF(SIP_FOUND) 63 | 64 | ENDIF(SIP_VERSION) 65 | -------------------------------------------------------------------------------- /kb-layouts/README: -------------------------------------------------------------------------------- 1 | [README.KeyTab] 2 | 3 | The keytabs offered in the Options/Keyboard menu are 4 | taken from from configurations files with a *.keytab 5 | pattern either located in $KDEDIR/share/apps/konsole 6 | or ~/.kde/share/apps/konsole. 7 | 8 | Keytabs allow to configure the behavior of konsole 9 | on keyboard events, especially for functions keys. 10 | Please have a look into the README.keyboard file, too. 11 | 12 | The syntax is that each entry has the form : 13 | 14 | "key" Keyname { ("+"|"-") Modename } ":" (String|Operation) 15 | 16 | Keynames are those defined in with the 17 | "Qt::Key_" prefix removed. 18 | 19 | Mode names are: 20 | 21 | - Shift : Shift Key pressed 22 | - Alt : Alt Key pressed 23 | - Control : Control Key pressed 24 | 25 | ( The VT100 emulation has modes that can affect the 26 | sequences emitted by certain keys. These modes are 27 | under control of the client program. 28 | 29 | - Newline : effects Return and Enter key. 30 | - Application : effects Up and Down key. 31 | - Ansi : effects Up and Down key (This is for VT52, really). 32 | 33 | Since sending a state to a program that has set the state 34 | itself is positivly wrong and obsolete design, better forget 35 | about this nasty detail. I may well remove this "feature" 36 | in a future clean up round. ) 37 | 38 | A "+" preceeding a Modename means the Key is pressed. 39 | A "-" preceeding a Modename means the Key is not pressed. 40 | If no mode is given it means don't care. 41 | 42 | Note that the combination of Key and Modes (set/reset) 43 | has to be unique. This means, that 44 | 45 | key A + Shift : "A" 46 | key A : "a" 47 | 48 | will not accept the small letter "a" rule as expected, 49 | one has to add a "- Shift" to the last clause. Use 50 | the stdout/stderr dianostics of konsole when modifying 51 | keytabs to find problems like this. 52 | 53 | Operations are 54 | 55 | - scrollUpLine : scroll up one line in the history log 56 | - scrollUpPage : scroll up one page in the history log 57 | - scrollDownLine : scroll down one line in the history log 58 | - scrollDownPage : scroll down one page in the history log 59 | - emitClipboard : "paste" the current clipboard 60 | - emitSelection : "paste" the current selection 61 | 62 | Strings have the syntax of C strings, 63 | one may use the following escapes: 64 | 65 | - \E - escape 66 | - \\ - backslash 67 | - \" - double quote 68 | - \t - tab 69 | - \r - return 70 | - \n - newline 71 | - \b - backspace 72 | - \xHH - where HH are two hex digits 73 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/kb-layouts/README: -------------------------------------------------------------------------------- 1 | [README.KeyTab] 2 | 3 | The keytabs offered in the Options/Keyboard menu are 4 | taken from from configurations files with a *.keytab 5 | pattern either located in $KDEDIR/share/apps/konsole 6 | or ~/.kde/share/apps/konsole. 7 | 8 | Keytabs allow to configure the behavior of konsole 9 | on keyboard events, especially for functions keys. 10 | Please have a look into the README.keyboard file, too. 11 | 12 | The syntax is that each entry has the form : 13 | 14 | "key" Keyname { ("+"|"-") Modename } ":" (String|Operation) 15 | 16 | Keynames are those defined in with the 17 | "Qt::Key_" prefix removed. 18 | 19 | Mode names are: 20 | 21 | - Shift : Shift Key pressed 22 | - Alt : Alt Key pressed 23 | - Control : Control Key pressed 24 | 25 | ( The VT100 emulation has modes that can affect the 26 | sequences emitted by certain keys. These modes are 27 | under control of the client program. 28 | 29 | - Newline : effects Return and Enter key. 30 | - Application : effects Up and Down key. 31 | - Ansi : effects Up and Down key (This is for VT52, really). 32 | 33 | Since sending a state to a program that has set the state 34 | itself is positivly wrong and obsolete design, better forget 35 | about this nasty detail. I may well remove this "feature" 36 | in a future clean up round. ) 37 | 38 | A "+" preceeding a Modename means the Key is pressed. 39 | A "-" preceeding a Modename means the Key is not pressed. 40 | If no mode is given it means don't care. 41 | 42 | Note that the combination of Key and Modes (set/reset) 43 | has to be unique. This means, that 44 | 45 | key A + Shift : "A" 46 | key A : "a" 47 | 48 | will not accept the small letter "a" rule as expected, 49 | one has to add a "- Shift" to the last clause. Use 50 | the stdout/stderr dianostics of konsole when modifying 51 | keytabs to find problems like this. 52 | 53 | Operations are 54 | 55 | - scrollUpLine : scroll up one line in the history log 56 | - scrollUpPage : scroll up one page in the history log 57 | - scrollDownLine : scroll down one line in the history log 58 | - scrollDownPage : scroll down one page in the history log 59 | - emitClipboard : "paste" the current clipboard 60 | - emitSelection : "paste" the current selection 61 | 62 | Strings have the syntax of C strings, 63 | one may use the following escapes: 64 | 65 | - \E - escape 66 | - \\ - backslash 67 | - \" - double quote 68 | - \t - tab 69 | - \r - return 70 | - \n - newline 71 | - \b - backspace 72 | - \xHH - where HH are two hex digits 73 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/kptyprocess.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is a part of QTerminal - http://gitorious.org/qterminal 3 | * 4 | * This file was un-linked from KDE and modified 5 | * by Maxim Bourmistrov 6 | * 7 | */ 8 | 9 | /* 10 | This file is part of the KDE libraries 11 | 12 | Copyright (C) 2007 Oswald Buddenhagen 13 | 14 | This library is free software; you can redistribute it and/or 15 | modify it under the terms of the GNU Library General Public 16 | License as published by the Free Software Foundation; either 17 | version 2 of the License, or (at your option) any later version. 18 | 19 | This library is distributed in the hope that it will be useful, 20 | but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 22 | Library General Public License for more details. 23 | 24 | You should have received a copy of the GNU Library General Public License 25 | along with this library; see the file COPYING.LIB. If not, write to 26 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 27 | Boston, MA 02110-1301, USA. 28 | */ 29 | 30 | 31 | #include "kptyprocess.h" 32 | #include "kprocess.h" 33 | #include "kptydevice.h" 34 | 35 | #include 36 | #include 37 | #include 38 | #include 39 | 40 | KPtyProcess::KPtyProcess(QObject *parent) : 41 | KProcess(new KPtyProcessPrivate, parent) 42 | { 43 | } 44 | 45 | KPtyProcess::KPtyProcess(int ptyMasterFd, QObject *parent) : 46 | KProcess(new KPtyProcessPrivate, parent) 47 | { 48 | ; 49 | } 50 | 51 | KPtyProcess::~KPtyProcess() 52 | { 53 | 54 | } 55 | 56 | void KPtyProcess::setPtyChannels(PtyChannels channels) 57 | { 58 | Q_D(KPtyProcess); 59 | 60 | d->ptyChannels = channels; 61 | } 62 | 63 | KPtyProcess::PtyChannels KPtyProcess::ptyChannels() const 64 | { 65 | return NULL; 66 | } 67 | 68 | void KPtyProcess::setUseUtmp(bool value) 69 | { 70 | return; 71 | } 72 | 73 | bool KPtyProcess::isUseUtmp() const 74 | { 75 | return true; 76 | } 77 | 78 | KPtyDevice *KPtyProcess::pty() const 79 | { 80 | return 0; 81 | } 82 | 83 | void KPtyProcess::setupChildProcess() 84 | { 85 | Q_D(KPtyProcess); 86 | 87 | d->pty->setCTty(); 88 | 89 | #if 0 90 | if (d->addUtmp) 91 | d->pty->login(KUser(KUser::UseRealUserID).loginName().toLocal8Bit().data(), qgetenv("DISPLAY")); 92 | #endif 93 | if (d->ptyChannels & StdinChannel) 94 | dup2(d->pty->slaveFd(), 0); 95 | 96 | if (d->ptyChannels & StdoutChannel) 97 | dup2(d->pty->slaveFd(), 1); 98 | 99 | if (d->ptyChannels & StderrChannel) 100 | dup2(d->pty->slaveFd(), 2); 101 | 102 | KProcess::setupChildProcess(); 103 | } 104 | 105 | //#include "kptyprocess.moc" 106 | -------------------------------------------------------------------------------- /src/qsshterm_sftp.h: -------------------------------------------------------------------------------- 1 | #ifndef SSHTERM_SFTP_H 2 | #define SSHTERM_SFTP_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | #include "qsshterm_common.h" 10 | 11 | class QSSHTerm_Sftp_Session; 12 | 13 | 14 | class QSSHTerm_Sftp_Dialog : public QDialog 15 | { 16 | Q_OBJECT 17 | 18 | public: 19 | QSSHTerm_Sftp_Dialog (QWidget *parent = 0) { 20 | qDebug() << "create diagloue"; 21 | initGui(); 22 | }; 23 | ~QSSHTerm_Sftp_Dialog(){}; 24 | 25 | void setSiteInfo(SiteInfo info) { 26 | siteInfo = info; 27 | } 28 | 29 | signals: 30 | void notifyNewSession(); 31 | 32 | private : 33 | SiteInfo siteInfo; 34 | void initGui(); 35 | void initLocalHome(); 36 | QSSHTerm_Sftp_Session * session; 37 | 38 | }; 39 | 40 | enum FileInfo 41 | { 42 | Folder, 43 | File, 44 | Symbolink 45 | }; 46 | 47 | struct FileStruct { 48 | QString name; 49 | long long unsigned int size; 50 | int permission; 51 | FileInfo info; 52 | }; 53 | 54 | class QSSHTerm_Sftp_Session : QObject 55 | { 56 | Q_OBJECT 57 | public: 58 | 59 | Q_ENUMS(SessionState) 60 | enum State 61 | { 62 | StateClosed, 63 | StateClosing, 64 | StateInit, 65 | StateConnecting, 66 | StateIsKnown, 67 | StateUnknownHost, 68 | StateAuthChoose, 69 | StateAuthContinue, 70 | StateAuthNone, 71 | StateAuthAutoPubkey, 72 | StateAuthPassword, 73 | StateAuthNeedPassword, 74 | StateAuthKbi, 75 | StateAuthKbiQuestions, 76 | StateAuthAllFailed, 77 | StateOpened, 78 | StateError 79 | }; 80 | QSSHTerm_Sftp_Session(SiteInfo & info, QObject * parent = 0):siteInfo(info) { 81 | 82 | } 83 | 84 | ~QSSHTerm_Sftp_Session(){ 85 | 86 | }; 87 | 88 | void process(); 89 | 90 | signals: 91 | void resp_lscurdir(QByteArray response); 92 | void resp_state(int state); 93 | void resp_chdir(QString curDir); 94 | void resp_rmdir(bool status); 95 | void resp_rename(bool status); 96 | void resp_remove(bool status); 97 | void resp_refresh(bool status); 98 | void resp_download(QString file, float percentage); 99 | void resp_upload(QString file, float percentage); 100 | void resp_pwd(QString dir); 101 | void msg_send(QString msg); 102 | void dispatchData(const char * data, int len); 103 | 104 | public slots: 105 | void connect_to(); 106 | void lscurdir(); 107 | void close(); 108 | void reconnect_to(); 109 | void chdir(QString dir); 110 | void rmdir(QString dir); 111 | void remove(QString file); 112 | void rename(QString file, QString newfile); 113 | void download(QString file, QString localDir); 114 | void upload(QString localFile, QString dir); 115 | void pwd(); 116 | 117 | private : 118 | ssh_session session; 119 | sftp_session sftp; 120 | SiteInfo & siteInfo; 121 | 122 | int authenticate_console(ssh_session); 123 | void error(ssh_session session); 124 | }; 125 | 126 | #endif -------------------------------------------------------------------------------- /3rdparty/qtermwidget/example/main.cpp: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2008 e_k (e_k@users.sourceforge.net) 2 | 3 | This library is free software; you can redistribute it and/or 4 | modify it under the terms of the GNU Library General Public 5 | License as published by the Free Software Foundation; either 6 | version 2 of the License, or (at your option) any later version. 7 | 8 | This library is distributed in the hope that it will be useful, 9 | but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 | Library General Public License for more details. 12 | 13 | You should have received a copy of the GNU Library General Public License 14 | along with this library; see the file COPYING.LIB. If not, write to 15 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 16 | Boston, MA 02110-1301, USA. 17 | */ 18 | 19 | 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | 26 | #include "qtermwidget.h" 27 | 28 | int main(int argc, char *argv[]) 29 | { 30 | QApplication app(argc, argv); 31 | QIcon::setThemeName("oxygen"); 32 | QMainWindow *mainWindow = new QMainWindow(); 33 | 34 | QTermWidget *console = new QTermWidget(); 35 | 36 | QMenuBar *menuBar = new QMenuBar(mainWindow); 37 | QMenu *actionsMenu = new QMenu("Actions", menuBar); 38 | menuBar->addMenu(actionsMenu); 39 | actionsMenu->addAction("Find..", console, SLOT(toggleShowSearchBar()), QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_F)); 40 | actionsMenu->addAction("About Qt", &app, SLOT(aboutQt())); 41 | mainWindow->setMenuBar(menuBar); 42 | 43 | QFont font = QApplication::font(); 44 | #ifdef Q_WS_MAC 45 | font.setFamily("Monaco"); 46 | #elif defined(Q_WS_QWS) 47 | font.setFamily("fixed"); 48 | #else 49 | font.setFamily("Monospace"); 50 | #endif 51 | font.setPointSize(12); 52 | 53 | console->setTerminalFont(font); 54 | 55 | // console->setColorScheme(COLOR_SCHEME_BLACK_ON_LIGHT_YELLOW); 56 | console->setScrollBarPosition(QTermWidget::ScrollBarRight); 57 | 58 | const auto arguments = QApplication::arguments(); 59 | for (const QString& arg : arguments) 60 | { 61 | if (console->availableColorSchemes().contains(arg)) 62 | console->setColorScheme(arg); 63 | if (console->availableKeyBindings().contains(arg)) 64 | console->setKeyBindings(arg); 65 | } 66 | 67 | mainWindow->setCentralWidget(console); 68 | mainWindow->resize(600, 400); 69 | 70 | // info output 71 | qDebug() << "* INFO *************************"; 72 | qDebug() << " availableKeyBindings:" << console->availableKeyBindings(); 73 | qDebug() << " keyBindings:" << console->keyBindings(); 74 | qDebug() << " availableColorSchemes:" << console->availableColorSchemes(); 75 | qDebug() << "* INFO END *********************"; 76 | 77 | // real startup 78 | QObject::connect(console, SIGNAL(finished()), mainWindow, SLOT(close())); 79 | 80 | mainWindow->show(); 81 | return app.exec(); 82 | } 83 | -------------------------------------------------------------------------------- /kb-layouts/solaris.keytab: -------------------------------------------------------------------------------- 1 | # [solaris.keytab] Konsole Keyboard Table 2 | # 3 | 4 | keyboard "Solaris console" 5 | 6 | # -------------------------------------------------------------- 7 | # 8 | # This configuration table allows to customize the 9 | # meaning of the keys. 10 | # 11 | # The syntax is that each entry has the form : 12 | # 13 | # "key" Keyname { ("+"|"-") Modename } ":" (String|Operation) 14 | # 15 | # Keynames are those defined in with the 16 | # "Qt::Key_" removed. (We'd better insert the list here) 17 | # 18 | # Mode names are : 19 | # 20 | # - Shift 21 | # - Alt 22 | # - Control 23 | # 24 | # The VT100 emulation has two modes that can affect the 25 | # sequences emitted by certain keys. These modes are 26 | # under control of the client program. 27 | # 28 | # 29 | # - Newline : effects Return and Enter key. 30 | # - Application : effects Up and Down key. 31 | # 32 | # - Ansi : effects Up and Down key (This is for VT52, really). 33 | # 34 | # Operations are 35 | # 36 | # - scrollUpLine 37 | # - scrollUpPage 38 | # - scrollDownLine 39 | # - scrollDownPage 40 | # 41 | # - emitSelection 42 | # 43 | # If the key is not found here, the text of the 44 | # key event as provided by QT is emitted, possibly 45 | # preceeded by ESC if the Alt key is pressed. 46 | # 47 | # -------------------------------------------------------------- 48 | 49 | key Escape : "\E" 50 | key Tab : "\t" 51 | 52 | key Return-Alt : "\r" 53 | key Return+Alt : "\E\r" 54 | 55 | # Backspace and Delete codes are preserving CTRL-H. 56 | 57 | key Backspace : "\x08" 58 | #key Delete : "\x7F" 59 | 60 | # cursor keys 61 | 62 | key Up -Shift : "\EOA" 63 | key Down -Shift : "\EOB" 64 | key Right -Shift : "\EOC" 65 | key Left -Shift : "\EOD" 66 | 67 | # other grey PC keys 68 | 69 | key Enter : "\r" 70 | 71 | key Home : "\E[1~" 72 | key Insert-Shift : "\E[2~" 73 | key Delete : "\E[3~" 74 | key End : "\E[4~" 75 | key PgUp -Shift : "\E[5~" 76 | key PgDown -Shift : "\E[6~" 77 | 78 | # function keys 79 | 80 | key F1 : "\E[11~" 81 | key F2 : "\E[12~" 82 | key F3 : "\E[13~" 83 | key F4 : "\E[14~" 84 | key F5 : "\E[15~" 85 | key F6 : "\E[17~" 86 | key F7 : "\E[18~" 87 | key F8 : "\E[19~" 88 | key F9 : "\E[20~" 89 | key F10 : "\E[21~" 90 | key F11 : "\E[23~" 91 | key F12 : "\E[24~" 92 | 93 | # Work around dead keys 94 | 95 | key Space +Control : "\x00" 96 | 97 | # Some keys are used by konsole to cause operations. 98 | # The scroll* operations refer to the history buffer. 99 | 100 | #key Left +Shift : prevSession 101 | #key Right +Shift : nextSession 102 | key Up +Shift : scrollLineUp 103 | key PgUp +Shift : scrollPageUp 104 | key Down +Shift : scrollLineDown 105 | key PgDown +Shift : scrollPageDown 106 | #key Insert+Shift : emitSelection 107 | 108 | # keypad characters are not offered differently by Qt. 109 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/ShellCommand.h: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) 2007 by Robert Knight 3 | 4 | Rewritten for QT4 by e_k , Copyright (C)2008 5 | 6 | This program is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License as published by 8 | the Free Software Foundation; either version 2 of the License, or 9 | (at your option) any later version. 10 | 11 | This program is distributed in the hope that it will be useful, 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | GNU General Public License for more details. 15 | 16 | You should have received a copy of the GNU General Public License 17 | along with this program; if not, write to the Free Software 18 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 19 | 02110-1301 USA. 20 | */ 21 | 22 | #ifndef SHELLCOMMAND_H 23 | #define SHELLCOMMAND_H 24 | 25 | // Qt 26 | #include 27 | 28 | namespace Konsole { 29 | 30 | /** 31 | * A class to parse and extract information about shell commands. 32 | * 33 | * ShellCommand can be used to: 34 | * 35 | *
    36 | *
  • Take a command-line (eg "/bin/sh -c /path/to/my/script") and split it 37 | * into its component parts (eg. the command "/bin/sh" and the arguments 38 | * "-c","/path/to/my/script") 39 | *
  • 40 | *
  • Take a command and a list of arguments and combine them to 41 | * form a complete command line. 42 | *
  • 43 | *
  • Determine whether the binary specified by a command exists in the 44 | * user's PATH. 45 | *
  • 46 | *
  • Determine whether a command-line specifies the execution of 47 | * another command as the root user using su/sudo etc. 48 | *
  • 49 | *
50 | */ 51 | class ShellCommand { 52 | public: 53 | /** 54 | * Constructs a ShellCommand from a command line. 55 | * 56 | * @param fullCommand The command line to parse. 57 | */ 58 | ShellCommand(const QString & fullCommand); 59 | /** 60 | * Constructs a ShellCommand with the specified @p command and @p arguments. 61 | */ 62 | ShellCommand(const QString & command , const QStringList & arguments); 63 | 64 | /** Returns the command. */ 65 | QString command() const; 66 | /** Returns the arguments. */ 67 | QStringList arguments() const; 68 | 69 | /** 70 | * Returns the full command line. 71 | */ 72 | QString fullCommand() const; 73 | 74 | /** Returns true if this is a root command. */ 75 | bool isRootCommand() const; 76 | /** Returns true if the program specified by @p command() exists. */ 77 | bool isAvailable() const; 78 | 79 | /** Expands environment variables in @p text .*/ 80 | static QString expand(const QString & text); 81 | 82 | /** Expands environment variables in each string in @p list. */ 83 | static QStringList expand(const QStringList & items); 84 | 85 | private: 86 | QStringList _arguments; 87 | }; 88 | 89 | } 90 | 91 | #endif // SHELLCOMMAND_H 92 | 93 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/kb-layouts/solaris.keytab: -------------------------------------------------------------------------------- 1 | # [solaris.keytab] Konsole Keyboard Table 2 | # 3 | 4 | keyboard "Solaris console" 5 | 6 | # -------------------------------------------------------------- 7 | # 8 | # This configuration table allows to customize the 9 | # meaning of the keys. 10 | # 11 | # The syntax is that each entry has the form : 12 | # 13 | # "key" Keyname { ("+"|"-") Modename } ":" (String|Operation) 14 | # 15 | # Keynames are those defined in with the 16 | # "Qt::Key_" removed. (We'd better insert the list here) 17 | # 18 | # Mode names are : 19 | # 20 | # - Shift 21 | # - Alt 22 | # - Control 23 | # 24 | # The VT100 emulation has two modes that can affect the 25 | # sequences emitted by certain keys. These modes are 26 | # under control of the client program. 27 | # 28 | # 29 | # - Newline : effects Return and Enter key. 30 | # - Application : effects Up and Down key. 31 | # 32 | # - Ansi : effects Up and Down key (This is for VT52, really). 33 | # 34 | # Operations are 35 | # 36 | # - scrollUpLine 37 | # - scrollUpPage 38 | # - scrollDownLine 39 | # - scrollDownPage 40 | # 41 | # - emitSelection 42 | # 43 | # If the key is not found here, the text of the 44 | # key event as provided by QT is emitted, possibly 45 | # preceeded by ESC if the Alt key is pressed. 46 | # 47 | # -------------------------------------------------------------- 48 | 49 | key Escape : "\E" 50 | key Tab : "\t" 51 | 52 | key Return-Alt : "\r" 53 | key Return+Alt : "\E\r" 54 | 55 | # Backspace and Delete codes are preserving CTRL-H. 56 | 57 | key Backspace : "\x08" 58 | #key Delete : "\x7F" 59 | 60 | # cursor keys 61 | 62 | key Up -Shift : "\EOA" 63 | key Down -Shift : "\EOB" 64 | key Right -Shift : "\EOC" 65 | key Left -Shift : "\EOD" 66 | 67 | # other grey PC keys 68 | 69 | key Enter : "\r" 70 | 71 | key Home : "\E[1~" 72 | key Insert-Shift : "\E[2~" 73 | key Delete : "\E[3~" 74 | key End : "\E[4~" 75 | key PgUp -Shift : "\E[5~" 76 | key PgDown -Shift : "\E[6~" 77 | 78 | # function keys 79 | 80 | key F1 : "\E[11~" 81 | key F2 : "\E[12~" 82 | key F3 : "\E[13~" 83 | key F4 : "\E[14~" 84 | key F5 : "\E[15~" 85 | key F6 : "\E[17~" 86 | key F7 : "\E[18~" 87 | key F8 : "\E[19~" 88 | key F9 : "\E[20~" 89 | key F10 : "\E[21~" 90 | key F11 : "\E[23~" 91 | key F12 : "\E[24~" 92 | 93 | # Work around dead keys 94 | 95 | key Space +Control : "\x00" 96 | 97 | # Some keys are used by konsole to cause operations. 98 | # The scroll* operations refer to the history buffer. 99 | 100 | #key Left +Shift : prevSession 101 | #key Right +Shift : nextSession 102 | key Up +Shift : scrollLineUp 103 | key PgUp +Shift : scrollPageUp 104 | key Down +Shift : scrollLineDown 105 | key PgDown +Shift : scrollPageDown 106 | #key Insert+Shift : emitSelection 107 | 108 | # keypad characters are not offered differently by Qt. 109 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/qtermwidget.spec: -------------------------------------------------------------------------------- 1 | # norootforbuild 2 | 3 | %define libname libqtermwidget0 4 | 5 | Name: qtermwidget 6 | Summary: Qt4 terminal widget 7 | Version: 0.2.0 8 | Release: 1 9 | License: GPL 10 | Source: %{name}-%{version}.tar.bz2 11 | Group: Utility 12 | URL: https://github.com/qterminal 13 | Vendor: petr@yarpen.cz 14 | 15 | 16 | %if 0%{?fedora_version} 17 | %define breq qt4-devel 18 | %define pref %{buildroot}/usr 19 | %endif 20 | %if 0%{?mandriva_version} 21 | %define breq libqt4-devel 22 | %define pref %{buildroot}/usr 23 | %endif 24 | %if 0%{?suse_version} 25 | %define breq libqt4-devel 26 | %define pref %{_prefix} 27 | %endif 28 | 29 | 30 | BuildRequires: gcc-c++, %{breq}, cmake 31 | BuildRoot: %{_tmppath}/%{name}-%{version}-build 32 | Prefix: %{_prefix} 33 | 34 | %description 35 | QTermWidget is an opensource project based on KDE4 Konsole application. The main goal of this project is to provide unicode-enabled, embeddable QT4 widget for using as a built-in console (or terminal emulation widget). 36 | Of course I`m aware about embedding abilities of original Konsole, but once I had Qt without KDE, and it was a serious problem. I decided not to rely on a chance. I could not find any interesting related project, so I had to write it. 37 | The original Konsole`s code was rewritten entirely with QT4 only; also I have to include in the project some parts of code from kde core library. All code dealing with user interface parts and session management was removed (maybe later I bring it back somehow), and the result is quite useful, I suppose. 38 | This library was compiled and tested on three linux systems, based on 2.4.32, 2.6.20, 2.6.23 kernels, x86 and amd64. Ther is also a sample application provided for quick start. 39 | 40 | %package -n %{libname} 41 | Summary: Qt4 terminal widget - base package 42 | Group: "Development/Libraries/C and C++" 43 | %description -n %{libname} 44 | QTermWidget is an opensource project based on KDE4 Konsole application. 45 | The main goal of this project is to provide unicode-enabled, embeddable 46 | QT4 widget for using as a built-in console (or terminal emulation widget). 47 | 48 | %package devel 49 | Summary: Qt4 terminal widget - development package 50 | Group: "Development/Libraries/C and C++" 51 | Requires: %{libname} 52 | %description devel 53 | Development package for QTermWidget. Contains headers and dev-libs. 54 | 55 | %prep 56 | %setup 57 | 58 | %build 59 | cmake \ 60 | -DCMAKE_C_FLAGS="%{optflags}" \ 61 | -DCMAKE_CXX_FLAGS="%{optflags}" \ 62 | -DCMAKE_BUILD_TYPE=Debug \ 63 | -DCMAKE_INSTALL_PREFIX=%{pref} \ 64 | %{_builddir}/%{name}-%{version} 65 | 66 | %{__make} %{?jobs:-j%jobs} 67 | 68 | 69 | %install 70 | %makeinstall 71 | 72 | 73 | %clean 74 | %{__rm} -rf %{buildroot} 75 | 76 | %post -n %{libname} 77 | ldconfig 78 | 79 | %postun -n %{libname} 80 | ldconfig 81 | 82 | %files -n %{libname} 83 | %defattr(-,root,root,-) 84 | %doc AUTHORS LICENSE Changelog INSTALL README 85 | %{_libdir}/lib%{name}.so.%{version} 86 | %{_datadir}/%{name} 87 | %{_datadir}/%{name}/* 88 | 89 | %files devel 90 | %defattr(-,root,root,-) 91 | %{_includedir}/*.h 92 | %{_libdir}/*.so 93 | %{_libdir}/*.so.0 94 | 95 | %changelog 96 | * Mon Oct 29 2010 Petr Vanek 0.2 97 | - version bump, cmake builds 98 | 99 | * Sat Jul 26 2008 TI_Eugene 0.100 100 | - Initial build 101 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/ColorTables.h: -------------------------------------------------------------------------------- 1 | #ifndef _COLOR_TABLE_H 2 | #define _COLOR_TABLE_H 3 | 4 | #include "CharacterColor.h" 5 | 6 | //using namespace Konsole; 7 | #if 0 8 | static const ColorEntry whiteonblack_color_table[TABLE_COLORS] = { 9 | // normal 10 | ColorEntry(QColor(0xFF,0xFF,0xFF), false ), ColorEntry( QColor(0x00,0x00,0x00), true ), // Dfore, Dback 11 | ColorEntry(QColor(0x00,0x00,0x00), false ), ColorEntry( QColor(0xB2,0x18,0x18), false ), // Black, Red 12 | ColorEntry(QColor(0x18,0xB2,0x18), false ), ColorEntry( QColor(0xB2,0x68,0x18), false ), // Green, Yellow 13 | ColorEntry(QColor(0x18,0x18,0xB2), false ), ColorEntry( QColor(0xB2,0x18,0xB2), false ), // Blue, Magenta 14 | ColorEntry(QColor(0x18,0xB2,0xB2), false ), ColorEntry( QColor(0xB2,0xB2,0xB2), false ), // Cyan, White 15 | // intensiv 16 | ColorEntry(QColor(0x00,0x00,0x00), false ), ColorEntry( QColor(0xFF,0xFF,0xFF), true ), 17 | ColorEntry(QColor(0x68,0x68,0x68), false ), ColorEntry( QColor(0xFF,0x54,0x54), false ), 18 | ColorEntry(QColor(0x54,0xFF,0x54), false ), ColorEntry( QColor(0xFF,0xFF,0x54), false ), 19 | ColorEntry(QColor(0x54,0x54,0xFF), false ), ColorEntry( QColor(0xFF,0x54,0xFF), false ), 20 | ColorEntry(QColor(0x54,0xFF,0xFF), false ), ColorEntry( QColor(0xFF,0xFF,0xFF), false ) 21 | }; 22 | 23 | static const ColorEntry greenonblack_color_table[TABLE_COLORS] = { 24 | ColorEntry(QColor( 24, 240, 24), false), ColorEntry(QColor( 0, 0, 0), true), 25 | ColorEntry(QColor( 0, 0, 0), false), ColorEntry(QColor( 178, 24, 24), false), 26 | ColorEntry(QColor( 24, 178, 24), false), ColorEntry(QColor( 178, 104, 24), false), 27 | ColorEntry(QColor( 24, 24, 178), false), ColorEntry(QColor( 178, 24, 178), false), 28 | ColorEntry(QColor( 24, 178, 178), false), ColorEntry(QColor( 178, 178, 178), false), 29 | // intensive colors 30 | ColorEntry(QColor( 24, 240, 24), false ), ColorEntry(QColor( 0, 0, 0), true ), 31 | ColorEntry(QColor( 104, 104, 104), false ), ColorEntry(QColor( 255, 84, 84), false ), 32 | ColorEntry(QColor( 84, 255, 84), false ), ColorEntry(QColor( 255, 255, 84), false ), 33 | ColorEntry(QColor( 84, 84, 255), false ), ColorEntry(QColor( 255, 84, 255), false ), 34 | ColorEntry(QColor( 84, 255, 255), false ), ColorEntry(QColor( 255, 255, 255), false ) 35 | }; 36 | 37 | static const ColorEntry blackonlightyellow_color_table[TABLE_COLORS] = { 38 | ColorEntry(QColor( 0, 0, 0), false), ColorEntry(QColor( 255, 255, 221), true), 39 | ColorEntry(QColor( 0, 0, 0), false), ColorEntry(QColor( 178, 24, 24), false), 40 | ColorEntry(QColor( 24, 178, 24), false), ColorEntry(QColor( 178, 104, 24), false), 41 | ColorEntry(QColor( 24, 24, 178), false), ColorEntry(QColor( 178, 24, 178), false), 42 | ColorEntry(QColor( 24, 178, 178), false), ColorEntry(QColor( 178, 178, 178), false), 43 | ColorEntry(QColor( 0, 0, 0), false), ColorEntry(QColor( 255, 255, 221), true), 44 | ColorEntry(QColor(104, 104, 104), false), ColorEntry(QColor( 255, 84, 84), false), 45 | ColorEntry(QColor( 84, 255, 84), false), ColorEntry(QColor( 255, 255, 84), false), 46 | ColorEntry(QColor( 84, 84, 255), false), ColorEntry(QColor( 255, 84, 255), false), 47 | ColorEntry(QColor( 84, 255, 255), false), ColorEntry(QColor( 255, 255, 255), false) 48 | }; 49 | 50 | 51 | #endif 52 | 53 | 54 | #endif 55 | 56 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/pyqt/cmake/FindPythonLibrary.cmake: -------------------------------------------------------------------------------- 1 | # Find Python 2 | # ~~~~~~~~~~~ 3 | # Find the Python interpreter and related Python directories. 4 | # 5 | # This file defines the following variables: 6 | # 7 | # PYTHON_EXECUTABLE - The path and filename of the Python interpreter. 8 | # 9 | # PYTHON_SHORT_VERSION - The version of the Python interpreter found, 10 | # excluding the patch version number. (e.g. 2.5 and not 2.5.1)) 11 | # 12 | # PYTHON_LONG_VERSION - The version of the Python interpreter found as a human 13 | # readable string. 14 | # 15 | # PYTHON_SITE_PACKAGES_INSTALL_DIR - this cache variable can be used for installing 16 | # own python modules. You may want to adjust this to be the 17 | # same as ${PYTHON_SITE_PACKAGES_DIR}, but then admin 18 | # privileges may be required for installation. 19 | # 20 | # PYTHON_SITE_PACKAGES_DIR - Location of the Python site-packages directory. 21 | # 22 | # PYTHON_INCLUDE_PATH - Directory holding the python.h include file. 23 | # 24 | # PYTHON_LIBRARY, PYTHON_LIBRARIES- Location of the Python library. 25 | 26 | # Copyright (c) 2007, Simon Edwards 27 | # Copyright (c) 2012, Luca Beltrame 28 | # Redistribution and use is allowed according to the terms of the BSD license. 29 | # For details see the accompanying COPYING-CMAKE-SCRIPTS file. 30 | 31 | include(FindPackageHandleStandardArgs) 32 | 33 | find_package(PythonInterp) 34 | 35 | if (PYTHONINTERP_FOUND) 36 | 37 | option(INSTALL_PYTHON_FILES_IN_PYTHON_PREFIX "Install the Python files in the Python packages dir" FALSE) 38 | 39 | # Set the Python libraries to what we actually found for interpreters 40 | set(Python_ADDITIONAL_VERSIONS "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}") 41 | # These are kept for compatibility 42 | set(PYTHON_SHORT_VERSION "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}") 43 | set(PYTHON_LONG_VERSION ${PYTHON_VERSION_STRING}) 44 | 45 | find_package(PythonLibs QUIET) 46 | 47 | if(PYTHONLIBS_FOUND) 48 | set(PYTHON_LIBRARY ${PYTHON_LIBRARIES}) 49 | endif(PYTHONLIBS_FOUND) 50 | 51 | # Auto detect Python site-packages directory 52 | execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(True))" 53 | OUTPUT_VARIABLE PYTHON_SITE_PACKAGES_DIR 54 | OUTPUT_STRIP_TRAILING_WHITESPACE 55 | ) 56 | 57 | message(STATUS "Python system site-packages directory: ${PYTHON_SITE_PACKAGES_DIR}") 58 | if(INSTALL_PYTHON_FILES_IN_PYTHON_PREFIX) 59 | set(PYTHON_SITE_PACKAGES_INSTALL_DIR ${PYTHON_SITE_PACKAGES_DIR}) 60 | else() 61 | execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(True, prefix='${CMAKE_INSTALL_PREFIX}'))" 62 | OUTPUT_VARIABLE PYTHON_SITE_PACKAGES_INSTALL_DIR 63 | OUTPUT_STRIP_TRAILING_WHITESPACE 64 | ) 65 | endif() 66 | 67 | if(NOT PYTHON_SITE_PACKAGES_INSTALL_DIR STREQUAL PYTHON_SITE_PACKAGES_DIR) 68 | message(STATUS "The Python files will be installed to ${PYTHON_SITE_PACKAGES_INSTALL_DIR}. Make sure to add them to the Python search path (e.g. by setting PYTHONPATH)") 69 | endif() 70 | 71 | endif(PYTHONINTERP_FOUND) 72 | 73 | find_package_handle_standard_args(PythonLibrary DEFAULT_MSG PYTHON_LIBRARY) 74 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/pyqt/cmake/PythonMacros.cmake: -------------------------------------------------------------------------------- 1 | # Python macros 2 | # ~~~~~~~~~~~~~ 3 | # Copyright (c) 2007, Simon Edwards 4 | # Copyright (c) 2012, Luca Beltrame 5 | # Copyright (c) 2012, Rolf Eike Beer 6 | # 7 | # Redistribution and use is allowed according to the terms of the BSD license. 8 | # For details see the accompanying COPYING-CMAKE-SCRIPTS file. 9 | # 10 | # This file defines the following macros: 11 | # 12 | # PYTHON_INSTALL (SOURCE_FILE DESTINATION_DIR) 13 | # Install the SOURCE_FILE, which is a Python .py file, into the 14 | # destination directory during install. The file will be byte compiled 15 | # and both the .py file and .pyc file will be installed. 16 | 17 | set(PYTHON_MACROS_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) 18 | 19 | macro(PYTHON_INSTALL SOURCE_FILE DESTINATION_DIR) 20 | 21 | find_file(_python_compile_py PythonCompile.py PATHS ${CMAKE_MODULE_PATH}) 22 | 23 | # Install the source file. 24 | install(FILES ${SOURCE_FILE} DESTINATION ${DESTINATION_DIR}) 25 | 26 | # Byte compile and install the .pyc file, unless explicitly prevented by env.. 27 | if("$ENV{PYTHONDONTWRITEBYTECODE}" STREQUAL "") 28 | get_filename_component(_absfilename ${SOURCE_FILE} ABSOLUTE) 29 | get_filename_component(_filename ${SOURCE_FILE} NAME) 30 | get_filename_component(_filenamebase ${SOURCE_FILE} NAME_WE) 31 | get_filename_component(_basepath ${SOURCE_FILE} PATH) 32 | 33 | if(WIN32) 34 | # remove drive letter 35 | string(REGEX REPLACE "^[a-zA-Z]:/" "/" _basepath "${_basepath}") 36 | endif(WIN32) 37 | 38 | set(_bin_py ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filename}) 39 | 40 | # Python 3.2 changed the pyc file location 41 | if(PYTHON_VERSION_STRING VERSION_GREATER 3.1) 42 | # To get the right version for suffix 43 | set(_bin_pyc "${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/__pycache__/${_filenamebase}.cpython-${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}.pyc") 44 | set(_py_install_dir "${DESTINATION_DIR}/__pycache__/") 45 | else() 46 | set(_bin_pyc "${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filenamebase}.pyc") 47 | set(_py_install_dir "${DESTINATION_DIR}") 48 | endif() 49 | 50 | file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}) 51 | 52 | # Setting because it will be displayed later, in compile_python_files 53 | set(_message "Byte-compiling ${_bin_py} to ${_bin_pyc}") 54 | 55 | string(REPLACE "/" "_" _rule_name "${_basepath}/${_bin_pyc}") 56 | add_custom_target("${_rule_name}" ALL) 57 | 58 | get_filename_component(_abs_bin_py ${_bin_py} ABSOLUTE) 59 | if(_abs_bin_py STREQUAL _absfilename) # Don't copy the file onto itself. 60 | add_custom_command( 61 | TARGET "${_rule_name}" 62 | COMMAND "${CMAKE_COMMAND}" -E echo "${_message}" 63 | COMMAND "${PYTHON_EXECUTABLE}" "${_python_compile_py}" "${_bin_py}" 64 | DEPENDS "${_absfilename}" 65 | ) 66 | else() 67 | add_custom_command( 68 | TARGET "${_rule_name}" 69 | COMMAND "${CMAKE_COMMAND}" -E echo "${_message}" 70 | COMMAND "${CMAKE_COMMAND}" -E copy "${_absfilename}" "${_bin_py}" 71 | COMMAND "${PYTHON_EXECUTABLE}" "${_python_compile_py}" "${_bin_py}" 72 | DEPENDS "${_absfilename}" 73 | ) 74 | endif() 75 | 76 | install(FILES ${_bin_pyc} DESTINATION "${_py_install_dir}") 77 | unset(_py_install_dir) 78 | unset(_message) 79 | 80 | endif("$ENV{PYTHONDONTWRITEBYTECODE}" STREQUAL "") 81 | 82 | endmacro(PYTHON_INSTALL) 83 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/Pty.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is a part of QTerminal - http://gitorious.org/qterminal 3 | * 4 | * This file was un-linked from KDE and modified 5 | * by Maxim Bourmistrov 6 | * 7 | */ 8 | 9 | /* 10 | This file is part of Konsole, an X terminal. 11 | Copyright 1997,1998 by Lars Doelle 12 | 13 | This program is free software; you can redistribute it and/or modify 14 | it under the terms of the GNU General Public License as published by 15 | the Free Software Foundation; either version 2 of the License, or 16 | (at your option) any later version. 17 | 18 | This program is distributed in the hope that it will be useful, 19 | but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | GNU General Public License for more details. 22 | 23 | You should have received a copy of the GNU General Public License 24 | along with this program; if not, write to the Free Software 25 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 26 | 02110-1301 USA. 27 | */ 28 | 29 | // Own 30 | #include "Pty.h" 31 | 32 | // System 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | #include 39 | 40 | // Qt 41 | #include 42 | #include 43 | 44 | #include "kpty.h" 45 | #include "kptydevice.h" 46 | 47 | using namespace Konsole; 48 | 49 | void Pty::setWindowSize(int lines, int cols) 50 | { 51 | _windowColumns = cols; 52 | _windowLines = lines; 53 | 54 | if (pty()->masterFd() >= 0) 55 | pty()->setWinSize(lines, cols); 56 | } 57 | QSize Pty::windowSize() const 58 | { 59 | return QSize(_windowColumns,_windowLines); 60 | } 61 | 62 | void Pty::setFlowControlEnabled(bool enable) 63 | { 64 | 65 | } 66 | bool Pty::flowControlEnabled() const 67 | { 68 | 69 | return false; 70 | } 71 | 72 | void Pty::setUtf8Mode(bool enable) 73 | { 74 | 75 | } 76 | 77 | void Pty::setErase(char erase) 78 | { 79 | 80 | } 81 | 82 | char Pty::erase() const 83 | { 84 | return '\0'; 85 | } 86 | 87 | void Pty::addEnvironmentVariables(const QStringList& environment) 88 | { 89 | 90 | } 91 | 92 | int Pty::start(const QString& program, 93 | const QStringList& programArguments, 94 | const QStringList& environment, 95 | ulong winid, 96 | bool addToUtmp 97 | //const QString& dbusService, 98 | //const QString& dbusSession 99 | ) 100 | { 101 | 102 | return 0; 103 | } 104 | 105 | void Pty::setEmptyPTYProperties() 106 | { 107 | 108 | } 109 | 110 | void Pty::setWriteable(bool writeable) 111 | { 112 | 113 | } 114 | 115 | Pty::Pty(int masterFd, QObject* parent) 116 | : KPtyProcess(masterFd,parent) 117 | { 118 | init(); 119 | } 120 | Pty::Pty(QObject* parent) 121 | : KPtyProcess(parent) 122 | { 123 | init(); 124 | } 125 | void Pty::init() 126 | { 127 | 128 | } 129 | 130 | Pty::~Pty() 131 | { 132 | } 133 | 134 | void Pty::sendData(const char* data, int length) 135 | { 136 | 137 | } 138 | 139 | void Pty::dataReceived() 140 | { 141 | 142 | } 143 | 144 | void Pty::lockPty(bool lock) 145 | { 146 | 147 | } 148 | 149 | int Pty::foregroundProcessGroup() const 150 | { 151 | 152 | return 0; 153 | } 154 | 155 | void Pty::setupChildProcess() 156 | { 157 | 158 | } 159 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/tools.cpp: -------------------------------------------------------------------------------- 1 | #include "tools.h" 2 | 3 | #include 4 | #include 5 | #include 6 | 7 | 8 | /*! Helper function to get possible location of layout files. 9 | By default the KB_LAYOUT_DIR is used (linux/BSD/macports). 10 | But in some cases (apple bundle) there can be more locations). 11 | */ 12 | QString get_kb_layout_dir() 13 | { 14 | #ifdef BUNDLE_KEYBOARDLAYOUTS 15 | return QLatin1String(":/"); 16 | #else 17 | // qDebug() << __FILE__ << __FUNCTION__; 18 | 19 | QString rval = ""; 20 | QString k(KB_LAYOUT_DIR); 21 | QDir d(k); 22 | 23 | qDebug() << "default KB_LAYOUT_DIR: " << k; 24 | 25 | if (d.exists()) 26 | { 27 | rval = k.append("/"); 28 | return rval; 29 | } 30 | 31 | // subdir in the app location 32 | d.setPath(QCoreApplication::applicationDirPath() + "/kb-layouts/"); 33 | //qDebug() << d.path(); 34 | if (d.exists()) 35 | return QCoreApplication::applicationDirPath() + "/kb-layouts/"; 36 | #ifdef Q_WS_MAC 37 | d.setPath(QCoreApplication::applicationDirPath() + "/../Resources/kb-layouts/"); 38 | if (d.exists()) 39 | return QCoreApplication::applicationDirPath() + "/../Resources/kb-layouts/"; 40 | #endif 41 | qDebug() << "Cannot find KB_LAYOUT_DIR. Default:" << k; 42 | return QString(); 43 | #endif // BUNDLE_KEYBOARDLAYOUTS 44 | } 45 | 46 | /*! Helper function to add custom location of color schemes. 47 | */ 48 | namespace { 49 | QStringList custom_color_schemes_dirs; 50 | } 51 | void add_custom_color_scheme_dir(const QString& custom_dir) 52 | { 53 | if (!custom_color_schemes_dirs.contains(custom_dir)) 54 | custom_color_schemes_dirs << custom_dir; 55 | } 56 | 57 | /*! Helper function to get possible locations of color schemes. 58 | By default the COLORSCHEMES_DIR is used (linux/BSD/macports). 59 | But in some cases (apple bundle) there can be more locations). 60 | */ 61 | const QStringList get_color_schemes_dirs() 62 | { 63 | #ifdef BUNDLE_COLORSCHEMES 64 | return QLatin1String(":/"); 65 | #else 66 | // qDebug() << __FILE__ << __FUNCTION__; 67 | 68 | QStringList rval; 69 | QString k(COLORSCHEMES_DIR); 70 | QDir d(k); 71 | 72 | // qDebug() << "default COLORSCHEMES_DIR: " << k; 73 | 74 | if (d.exists()) 75 | rval << k.append("/"); 76 | 77 | // subdir in the app location 78 | d.setPath(QCoreApplication::applicationDirPath() + "/color-schemes/"); 79 | //qDebug() << d.path(); 80 | if (d.exists()) 81 | { 82 | if (!rval.isEmpty()) 83 | rval.clear(); 84 | rval << (QCoreApplication::applicationDirPath() + "/color-schemes/"); 85 | } 86 | #ifdef Q_WS_MAC 87 | d.setPath(QCoreApplication::applicationDirPath() + "/../Resources/color-schemes/"); 88 | if (d.exists()) 89 | { 90 | if (!rval.isEmpty()) 91 | rval.clear(); 92 | rval << (QCoreApplication::applicationDirPath() + "/../Resources/color-schemes/"); 93 | } 94 | #endif 95 | for (const QString& custom_dir : const_cast(custom_color_schemes_dirs)) 96 | { 97 | d.setPath(custom_dir); 98 | if (d.exists()) 99 | rval << custom_dir; 100 | } 101 | #ifdef QT_DEBUG 102 | if(!rval.isEmpty()) { 103 | qDebug() << "Using color-schemes: " << rval; 104 | } else { 105 | qDebug() << "Cannot find color-schemes in any location!"; 106 | } 107 | #endif 108 | return rval; 109 | #endif // BUNDLE_COLORSCHEMES 110 | } 111 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/BlockArray.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Konsole, an X terminal. 3 | Copyright (C) 2000 by Stephan Kulow 4 | 5 | Rewritten for QT4 by e_k , Copyright (C)2008 6 | 7 | This program is free software; you can redistribute it and/or modify 8 | it under the terms of the GNU General Public License as published by 9 | the Free Software Foundation; either version 2 of the License, or 10 | (at your option) any later version. 11 | 12 | This program is distributed in the hope that it will be useful, 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | GNU General Public License for more details. 16 | 17 | You should have received a copy of the GNU General Public License 18 | along with this program; if not, write to the Free Software 19 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 20 | 02110-1301 USA. 21 | */ 22 | 23 | #ifndef BLOCKARRAY_H 24 | #define BLOCKARRAY_H 25 | 26 | #include 27 | 28 | //#error Do not use in KDE 2.1 29 | 30 | #define BlockSize (1 << 12) 31 | #define ENTRIES ((BlockSize - sizeof(size_t) ) / sizeof(unsigned char)) 32 | 33 | namespace Konsole { 34 | 35 | struct Block { 36 | Block() { 37 | size = 0; 38 | } 39 | unsigned char data[ENTRIES]; 40 | size_t size; 41 | }; 42 | 43 | // /////////////////////////////////////////////////////// 44 | 45 | class BlockArray { 46 | public: 47 | /** 48 | * Creates a history file for holding 49 | * maximal size blocks. If more blocks 50 | * are requested, then it drops earlier 51 | * added ones. 52 | */ 53 | BlockArray(); 54 | 55 | /// destructor 56 | ~BlockArray(); 57 | 58 | /** 59 | * adds the Block at the end of history. 60 | * This may drop other blocks. 61 | * 62 | * The ownership on the block is transfered. 63 | * An unique index number is returned for accessing 64 | * it later (if not yet dropped then) 65 | * 66 | * Note, that the block may be dropped completely 67 | * if history is turned off. 68 | */ 69 | size_t append(Block * block); 70 | 71 | /** 72 | * gets the block at the index. Function may return 73 | * 0 if the block isn't available any more. 74 | * 75 | * The returned block is strictly readonly as only 76 | * maped in memory - and will be invalid on the next 77 | * operation on this class. 78 | */ 79 | const Block * at(size_t index); 80 | 81 | /** 82 | * reorders blocks as needed. If newsize is null, 83 | * the history is emptied completely. The indices 84 | * returned on append won't change their semantic, 85 | * but they may not be valid after this call. 86 | */ 87 | bool setHistorySize(size_t newsize); 88 | 89 | size_t newBlock(); 90 | 91 | Block * lastBlock() const; 92 | 93 | /** 94 | * Convenient function to set the size in KBytes 95 | * instead of blocks 96 | */ 97 | bool setSize(size_t newsize); 98 | 99 | size_t len() const { 100 | return length; 101 | } 102 | 103 | bool has(size_t index) const; 104 | 105 | size_t getCurrent() const { 106 | return current; 107 | } 108 | 109 | private: 110 | void unmap(); 111 | void increaseBuffer(); 112 | void decreaseBuffer(size_t newsize); 113 | 114 | size_t size; 115 | // current always shows to the last inserted block 116 | size_t current; 117 | size_t index; 118 | 119 | Block * lastmap; 120 | size_t lastmap_index; 121 | Block * lastblock; 122 | 123 | int ion; 124 | size_t length; 125 | 126 | }; 127 | 128 | } 129 | 130 | #endif 131 | -------------------------------------------------------------------------------- /kb-layouts/historic/vt100.keytab: -------------------------------------------------------------------------------- 1 | # [vt100.keytab] Konsole Keyboard Table (VT100 keys) 2 | # 3 | # -------------------------------------------------------------- 4 | 5 | keyboard "vt100 (historical)" 6 | 7 | # -------------------------------------------------------------- 8 | # 9 | # This configuration table allows to customize the 10 | # meaning of the keys. 11 | # 12 | # The syntax is that each entry has the form : 13 | # 14 | # "key" Keyname { ("+"|"-") Modename } ":" (String|Operation) 15 | # 16 | # Keynames are those defined in with the 17 | # "Qt::Key_" removed. (We'd better insert the list here) 18 | # 19 | # Mode names are : 20 | # 21 | # - Shift 22 | # - Alt 23 | # - Control 24 | # 25 | # The VT100 emulation has two modes that can affect the 26 | # sequences emitted by certain keys. These modes are 27 | # under control of the client program. 28 | # 29 | # - Newline : effects Return and Enter key. 30 | # - Application : effects Up and Down key. 31 | # 32 | # - Ansi : effects Up and Down key (This is for VT52, really). 33 | # 34 | # Operations are 35 | # 36 | # - scrollUpLine 37 | # - scrollUpPage 38 | # - scrollDownLine 39 | # - scrollDownPage 40 | # 41 | # - emitSelection 42 | # 43 | # If the key is not found here, the text of the 44 | # key event as provided by QT is emitted, possibly 45 | # preceeded by ESC if the Alt key is pressed. 46 | # 47 | # -------------------------------------------------------------- 48 | 49 | key Escape : "\E" 50 | key Tab : "\t" 51 | 52 | # VT100 can add an extra \n after return. 53 | # The NewLine mode is set by an escape sequence. 54 | 55 | key Return-NewLine : "\r" 56 | key Return+NewLine : "\r\n" 57 | 58 | # Some desperately try to save the ^H. 59 | 60 | key Backspace : "\x7f" 61 | key Delete : "\E[3~" 62 | 63 | # These codes are for the VT52 mode of VT100 64 | # The Ansi mode (i.e. VT100 mode) is set by 65 | # an escape sequence 66 | 67 | key Up -Shift-Ansi : "\EA" 68 | key Down -Shift-Ansi : "\EB" 69 | key Right-Shift-Ansi : "\EC" 70 | key Left -Shift-Ansi : "\ED" 71 | 72 | # VT100 emits a mode bit together 73 | # with the arrow keys.The AppCuKeys 74 | # mode is set by an escape sequence. 75 | 76 | key Up -Shift+Ansi+AppCuKeys : "\EOA" 77 | key Down -Shift+Ansi+AppCuKeys : "\EOB" 78 | key Right-Shift+Ansi+AppCuKeys : "\EOC" 79 | key Left -Shift+Ansi+AppCuKeys : "\EOD" 80 | 81 | key Up -Shift+Ansi-AppCuKeys : "\E[A" 82 | key Down -Shift+Ansi-AppCuKeys : "\E[B" 83 | key Right-Shift+Ansi-AppCuKeys : "\E[C" 84 | key Left -Shift+Ansi-AppCuKeys : "\E[D" 85 | 86 | # function keys (FIXME: make pf1-pf4) 87 | 88 | key F1 : "\E[11~" 89 | key F2 : "\E[12~" 90 | key F3 : "\E[13~" 91 | key F4 : "\E[14~" 92 | key F5 : "\E[15~" 93 | 94 | key F6 : "\E[17~" 95 | key F7 : "\E[18~" 96 | key F8 : "\E[19~" 97 | key F9 : "\E[20~" 98 | key F10 : "\E[21~" 99 | key F11 : "\E[23~" 100 | key F12 : "\E[24~" 101 | 102 | key Home : "\E[H" 103 | key End : "\E[F" 104 | 105 | key PgUp -Shift : "\E[5~" 106 | key PgDown -Shift : "\E[6~" 107 | key Insert -Shift : "\E[2~" 108 | 109 | # Keypad-Enter. See comment on Return above. 110 | 111 | key Enter+NewLine : "\r\n" 112 | key Enter-NewLine : "\r" 113 | 114 | key Space +Control : "\x00" 115 | 116 | # some of keys are used by konsole. 117 | 118 | key Up +Shift : scrollLineUp 119 | key PgUp +Shift : scrollPageUp 120 | key Down +Shift : scrollLineDown 121 | key PgDown +Shift : scrollPageDown 122 | 123 | key ScrollLock : scrollLock 124 | 125 | 126 | #---------------------------------------------------------- 127 | 128 | # keypad characters as offered by Qt 129 | # cannot be recognized as such. 130 | 131 | #---------------------------------------------------------- 132 | 133 | # Following other strings as emitted by konsole. 134 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/kb-layouts/historic/vt100.keytab: -------------------------------------------------------------------------------- 1 | # [vt100.keytab] Konsole Keyboard Table (VT100 keys) 2 | # 3 | # -------------------------------------------------------------- 4 | 5 | keyboard "vt100 (historical)" 6 | 7 | # -------------------------------------------------------------- 8 | # 9 | # This configuration table allows to customize the 10 | # meaning of the keys. 11 | # 12 | # The syntax is that each entry has the form : 13 | # 14 | # "key" Keyname { ("+"|"-") Modename } ":" (String|Operation) 15 | # 16 | # Keynames are those defined in with the 17 | # "Qt::Key_" removed. (We'd better insert the list here) 18 | # 19 | # Mode names are : 20 | # 21 | # - Shift 22 | # - Alt 23 | # - Control 24 | # 25 | # The VT100 emulation has two modes that can affect the 26 | # sequences emitted by certain keys. These modes are 27 | # under control of the client program. 28 | # 29 | # - Newline : effects Return and Enter key. 30 | # - Application : effects Up and Down key. 31 | # 32 | # - Ansi : effects Up and Down key (This is for VT52, really). 33 | # 34 | # Operations are 35 | # 36 | # - scrollUpLine 37 | # - scrollUpPage 38 | # - scrollDownLine 39 | # - scrollDownPage 40 | # 41 | # - emitSelection 42 | # 43 | # If the key is not found here, the text of the 44 | # key event as provided by QT is emitted, possibly 45 | # preceeded by ESC if the Alt key is pressed. 46 | # 47 | # -------------------------------------------------------------- 48 | 49 | key Escape : "\E" 50 | key Tab : "\t" 51 | 52 | # VT100 can add an extra \n after return. 53 | # The NewLine mode is set by an escape sequence. 54 | 55 | key Return-NewLine : "\r" 56 | key Return+NewLine : "\r\n" 57 | 58 | # Some desperately try to save the ^H. 59 | 60 | key Backspace : "\x7f" 61 | key Delete : "\E[3~" 62 | 63 | # These codes are for the VT52 mode of VT100 64 | # The Ansi mode (i.e. VT100 mode) is set by 65 | # an escape sequence 66 | 67 | key Up -Shift-Ansi : "\EA" 68 | key Down -Shift-Ansi : "\EB" 69 | key Right-Shift-Ansi : "\EC" 70 | key Left -Shift-Ansi : "\ED" 71 | 72 | # VT100 emits a mode bit together 73 | # with the arrow keys.The AppCuKeys 74 | # mode is set by an escape sequence. 75 | 76 | key Up -Shift+Ansi+AppCuKeys : "\EOA" 77 | key Down -Shift+Ansi+AppCuKeys : "\EOB" 78 | key Right-Shift+Ansi+AppCuKeys : "\EOC" 79 | key Left -Shift+Ansi+AppCuKeys : "\EOD" 80 | 81 | key Up -Shift+Ansi-AppCuKeys : "\E[A" 82 | key Down -Shift+Ansi-AppCuKeys : "\E[B" 83 | key Right-Shift+Ansi-AppCuKeys : "\E[C" 84 | key Left -Shift+Ansi-AppCuKeys : "\E[D" 85 | 86 | # function keys (FIXME: make pf1-pf4) 87 | 88 | key F1 : "\E[11~" 89 | key F2 : "\E[12~" 90 | key F3 : "\E[13~" 91 | key F4 : "\E[14~" 92 | key F5 : "\E[15~" 93 | 94 | key F6 : "\E[17~" 95 | key F7 : "\E[18~" 96 | key F8 : "\E[19~" 97 | key F9 : "\E[20~" 98 | key F10 : "\E[21~" 99 | key F11 : "\E[23~" 100 | key F12 : "\E[24~" 101 | 102 | key Home : "\E[H" 103 | key End : "\E[F" 104 | 105 | key PgUp -Shift : "\E[5~" 106 | key PgDown -Shift : "\E[6~" 107 | key Insert -Shift : "\E[2~" 108 | 109 | # Keypad-Enter. See comment on Return above. 110 | 111 | key Enter+NewLine : "\r\n" 112 | key Enter-NewLine : "\r" 113 | 114 | key Space +Control : "\x00" 115 | 116 | # some of keys are used by konsole. 117 | 118 | key Up +Shift : scrollLineUp 119 | key PgUp +Shift : scrollPageUp 120 | key Down +Shift : scrollLineDown 121 | key PgDown +Shift : scrollPageDown 122 | 123 | key ScrollLock : scrollLock 124 | 125 | 126 | #---------------------------------------------------------- 127 | 128 | # keypad characters as offered by Qt 129 | # cannot be recognized as such. 130 | 131 | #---------------------------------------------------------- 132 | 133 | # Following other strings as emitted by konsole. 134 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/pyqt/sip/qtermwidget.sip: -------------------------------------------------------------------------------- 1 | %Module QTermWidget 2 | 3 | %ModuleHeaderCode 4 | #pragma GCC visibility push(default) 5 | %End 6 | 7 | %Import QtGui/QtGuimod.sip 8 | %Import QtCore/QtCoremod.sip 9 | %Import QtWidgets/QtWidgetsmod.sip 10 | 11 | class QTermWidget : QWidget { 12 | 13 | %TypeHeaderCode 14 | #include <../lib/qtermwidget.h> 15 | %End 16 | 17 | public: 18 | enum ScrollBarPosition 19 | { 20 | NoScrollBar=0, 21 | ScrollBarLeft=1, 22 | ScrollBarRight=2 23 | }; 24 | 25 | enum class KeyboardCursorShape 26 | { 27 | BlockCursor=0, 28 | UnderlineCursor=1, 29 | IBeamCursor=2 30 | }; 31 | 32 | QTermWidget(int startnow = 1, QWidget *parent = 0); 33 | ~QTermWidget(); 34 | void startTerminalTeletype(); 35 | QSize sizeHint() const; 36 | void setTerminalSizeHint(bool on); 37 | bool terminalSizeHint(); 38 | void startShellProgram(); 39 | int getShellPID(); 40 | void changeDir(const QString & dir); 41 | void setTerminalFont(QFont &font); 42 | QFont getTerminalFont(); 43 | void setTerminalOpacity(qreal level); 44 | void setEnvironment(const QStringList & environment); 45 | void setShellProgram(const QString & progname); 46 | void setWorkingDirectory(const QString & dir); 47 | QString workingDirectory(); 48 | void setArgs(QStringList & args); 49 | void setTextCodec(QTextCodec *codec); 50 | void setColorScheme(const QString & name); 51 | static QStringList availableColorSchemes(); 52 | static void addCustomColorSchemeDir(const QString& custom_dir); 53 | void setHistorySize(int lines); 54 | void setScrollBarPosition(ScrollBarPosition); 55 | void scrollToEnd(); 56 | void sendText(QString &text); 57 | void setFlowControlEnabled(bool enabled); 58 | bool flowControlEnabled(); 59 | void setFlowControlWarningEnabled(bool enabled); 60 | static QStringList availableKeyBindings(); 61 | QString keyBindings(); 62 | void setMotionAfterPasting(int); 63 | int historyLinesCount(); 64 | int screenColumnsCount(); 65 | void setSelectionStart(int row, int column); 66 | void setSelectionEnd(int row, int column); 67 | void getSelectionStart(int& row, int& column); 68 | void getSelectionEnd(int& row, int& column); 69 | QString selectedText(bool preserveLineBreaks = true); 70 | void setMonitorActivity(bool); 71 | void setMonitorSilence(bool); 72 | void setSilenceTimeout(int seconds); 73 | int getPtySlaveFd() const; 74 | void setKeyboardCursorShape(KeyboardCursorShape shape); 75 | void setAutoClose(bool); 76 | QString title() const; 77 | QString icon() const; 78 | signals: 79 | void finished(); 80 | void copyAvailable(bool); 81 | void termGetFocus(); 82 | void termLostFocus(); 83 | void termKeyPressed(QKeyEvent *); 84 | void urlActivated(const QUrl&, bool fromContextMenu); 85 | void bell(const QString& message); 86 | void activity(); 87 | void silence(); 88 | void sendData(const char *,int); 89 | void titleChanged(); 90 | void receivedData(const QString &text); 91 | void profileChanged(const QString & profile); 92 | public slots: 93 | void copyClipboard(); 94 | void pasteClipboard(); 95 | void pasteSelection(); 96 | void zoomIn(); 97 | void zoomOut(); 98 | void setSize(const QSize &); 99 | void setKeyBindings(const QString & kb); 100 | void clear(); 101 | void toggleShowSearchBar(); 102 | protected: 103 | virtual void resizeEvent(QResizeEvent *); 104 | protected slots: 105 | void sessionFinished(); 106 | void selectionChanged(bool textSelected); 107 | private: 108 | void search(bool forwards, bool next); 109 | void setZoom(int step); 110 | void init(int startnow); 111 | private slots: 112 | void find(); 113 | void findNext(); 114 | void findPrevious(); 115 | void matchFound(int startColumn, int startLine, int endColumn, int endLine); 116 | void noMatchFound(); 117 | }; 118 | -------------------------------------------------------------------------------- /kb-layouts/linux.keytab: -------------------------------------------------------------------------------- 1 | # [linux.keytab] Konsole Keyboard Table (Linux console keys) 2 | # 3 | # -------------------------------------------------------------- 4 | 5 | # NOT TESTED, MAY NEED SOME CLEANUPS 6 | keyboard "Linux console" 7 | 8 | # -------------------------------------------------------------- 9 | # 10 | # This configuration table allows to customize the 11 | # meaning of the keys. 12 | # 13 | # The syntax is that each entry has the form : 14 | # 15 | # "key" Keyname { ("+"|"-") Modename } ":" (String|Operation) 16 | # 17 | # Keynames are those defined in with the 18 | # "Qt::Key_" removed. (We'd better insert the list here) 19 | # 20 | # Mode names are : 21 | # 22 | # - Shift 23 | # - Alt 24 | # - Control 25 | # 26 | # The VT100 emulation has two modes that can affect the 27 | # sequences emitted by certain keys. These modes are 28 | # under control of the client program. 29 | # 30 | # - Newline : effects Return and Enter key. 31 | # - Application : effects Up and Down key. 32 | # 33 | # - Ansi : effects Up and Down key (This is for VT52, really). 34 | # 35 | # Operations are 36 | # 37 | # - scrollUpLine 38 | # - scrollUpPage 39 | # - scrollDownLine 40 | # - scrollDownPage 41 | # 42 | # - emitSelection 43 | # 44 | # If the key is not found here, the text of the 45 | # key event as provided by QT is emitted, possibly 46 | # preceeded by ESC if the Alt key is pressed. 47 | # 48 | # -------------------------------------------------------------- 49 | 50 | key Escape : "\E" 51 | key Tab : "\t" 52 | 53 | # VT100 can add an extra \n after return. 54 | # The NewLine mode is set by an escape sequence. 55 | 56 | key Return-NewLine : "\r" 57 | key Return+NewLine : "\r\n" 58 | 59 | # Some desperately try to save the ^H. 60 | 61 | key Backspace : "\x7f" 62 | key Delete : "\E[3~" 63 | 64 | # These codes are for the VT52 mode of VT100 65 | # The Ansi mode (i.e. VT100 mode) is set by 66 | # an escape sequence 67 | 68 | key Up -Shift-Ansi : "\EA" 69 | key Down -Shift-Ansi : "\EB" 70 | key Right-Shift-Ansi : "\EC" 71 | key Left -Shift-Ansi : "\ED" 72 | 73 | # VT100 emits a mode bit together 74 | # with the arrow keys.The AppCuKeys 75 | # mode is set by an escape sequence. 76 | 77 | key Up -Shift+Ansi+AppCuKeys : "\EOA" 78 | key Down -Shift+Ansi+AppCuKeys : "\EOB" 79 | key Right-Shift+Ansi+AppCuKeys : "\EOC" 80 | key Left -Shift+Ansi+AppCuKeys : "\EOD" 81 | 82 | key Up -Shift+Ansi-AppCuKeys : "\E[A" 83 | key Down -Shift+Ansi-AppCuKeys : "\E[B" 84 | key Right-Shift+Ansi-AppCuKeys : "\E[C" 85 | key Left -Shift+Ansi-AppCuKeys : "\E[D" 86 | 87 | key Up -Shift+AnyMod+Ansi : "\E[1;*A" 88 | key Down -Shift+AnyMod+Ansi : "\E[1;*B" 89 | key Right -Shift+AnyMod+Ansi : "\E[1;*C" 90 | key Left -Shift+AnyMod+Ansi : "\E[1;*D" 91 | 92 | # linux functions keys F1-F5 differ from xterm 93 | 94 | key F1 : "\E[[A" 95 | key F2 : "\E[[B" 96 | key F3 : "\E[[C" 97 | key F4 : "\E[[D" 98 | key F5 : "\E[[E" 99 | 100 | key F6 : "\E[17~" 101 | key F7 : "\E[18~" 102 | key F8 : "\E[19~" 103 | key F9 : "\E[20~" 104 | key F10 : "\E[21~" 105 | key F11 : "\E[23~" 106 | key F12 : "\E[24~" 107 | 108 | key Home : "\E[1~" 109 | key End : "\E[4~" 110 | 111 | key PgUp -Shift : "\E[5~" 112 | key PgDown -Shift : "\E[6~" 113 | key Insert -Shift : "\E[2~" 114 | 115 | # Keypad-Enter. See comment on Return above. 116 | 117 | key Enter+NewLine : "\r\n" 118 | key Enter-NewLine : "\r" 119 | 120 | key Space +Control : "\x00" 121 | 122 | # some of keys are used by konsole. 123 | 124 | key Up +Shift : scrollLineUp 125 | key PgUp +Shift : scrollPageUp 126 | key Down +Shift : scrollLineDown 127 | key PgDown +Shift : scrollPageDown 128 | 129 | key ScrollLock : scrollLock 130 | 131 | #---------------------------------------------------------- 132 | 133 | # keypad characters as offered by Qt 134 | # cannot be recognized as such. 135 | 136 | #---------------------------------------------------------- 137 | 138 | # Following other strings as emitted by konsole. 139 | -------------------------------------------------------------------------------- /3rdparty/qtermwidget/lib/SearchBar.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2013 Christian Surlykke 3 | 4 | This program is free software; you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation; either version 2 of the License, or 7 | (at your option) any later version. 8 | 9 | This program is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with this program; if not, write to the Free Software 16 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 17 | 02110-1301 USA. 18 | */ 19 | #include 20 | #include 21 | #include 22 | #include 23 | 24 | #include "SearchBar.h" 25 | 26 | SearchBar::SearchBar(QWidget *parent) : QWidget(parent) 27 | { 28 | widget.setupUi(this); 29 | connect(widget.closeButton, SIGNAL(clicked()), this, SLOT(hide())); 30 | connect(widget.searchTextEdit, SIGNAL(textChanged(QString)), this, SIGNAL(searchCriteriaChanged())); 31 | connect(widget.findPreviousButton, SIGNAL(clicked()), this, SIGNAL(findPrevious())); 32 | connect(widget.findNextButton, SIGNAL(clicked()), this, SIGNAL(findNext())); 33 | 34 | connect(this, SIGNAL(searchCriteriaChanged()), this, SLOT(clearBackgroundColor())); 35 | 36 | QMenu *optionsMenu = new QMenu(widget.optionsButton); 37 | widget.optionsButton->setMenu(optionsMenu); 38 | 39 | m_matchCaseMenuEntry = optionsMenu->addAction(tr("Match case")); 40 | m_matchCaseMenuEntry->setCheckable(true); 41 | m_matchCaseMenuEntry->setChecked(true); 42 | connect(m_matchCaseMenuEntry, SIGNAL(toggled(bool)), this, SIGNAL(searchCriteriaChanged())); 43 | 44 | 45 | m_useRegularExpressionMenuEntry = optionsMenu->addAction(tr("Regular expression")); 46 | m_useRegularExpressionMenuEntry->setCheckable(true); 47 | connect(m_useRegularExpressionMenuEntry, SIGNAL(toggled(bool)), this, SIGNAL(searchCriteriaChanged())); 48 | 49 | m_highlightMatchesMenuEntry = optionsMenu->addAction(tr("Highlight all matches")); 50 | m_highlightMatchesMenuEntry->setCheckable(true); 51 | m_highlightMatchesMenuEntry->setChecked(true); 52 | connect(m_highlightMatchesMenuEntry, SIGNAL(toggled(bool)), this, SIGNAL(highlightMatchesChanged(bool))); 53 | } 54 | 55 | SearchBar::~SearchBar() { 56 | } 57 | 58 | QString SearchBar::searchText() 59 | { 60 | return widget.searchTextEdit->text(); 61 | } 62 | 63 | 64 | bool SearchBar::useRegularExpression() 65 | { 66 | return m_useRegularExpressionMenuEntry->isChecked(); 67 | } 68 | 69 | bool SearchBar::matchCase() 70 | { 71 | return m_matchCaseMenuEntry->isChecked(); 72 | } 73 | 74 | bool SearchBar::highlightAllMatches() 75 | { 76 | return m_highlightMatchesMenuEntry->isChecked(); 77 | } 78 | 79 | void SearchBar::show() 80 | { 81 | QWidget::show(); 82 | widget.searchTextEdit->setFocus(); 83 | widget.searchTextEdit->selectAll(); 84 | } 85 | 86 | void SearchBar::noMatchFound() 87 | { 88 | QPalette palette; 89 | palette.setColor(widget.searchTextEdit->backgroundRole(), QColor(255, 128, 128)); 90 | widget.searchTextEdit->setPalette(palette); 91 | } 92 | 93 | 94 | void SearchBar::keyReleaseEvent(QKeyEvent* keyEvent) 95 | { 96 | if (keyEvent->key() == Qt::Key_Return || keyEvent->key() == Qt::Key_Enter) 97 | { 98 | if (keyEvent->modifiers() == Qt::ShiftModifier) 99 | { 100 | findPrevious(); 101 | } 102 | else 103 | { 104 | findNext(); 105 | } 106 | } 107 | else if (keyEvent->key() == Qt::Key_Escape) 108 | { 109 | hide(); 110 | } 111 | } 112 | 113 | void SearchBar::clearBackgroundColor() 114 | { 115 | QPalette p; 116 | p.setColor(QPalette::Base, Qt::white); 117 | widget.searchTextEdit->setPalette(p); 118 | 119 | } 120 | --------------------------------------------------------------------------------