parent
3d7ff0b035
commit
f0e1c32f49
@ -1,27 +0,0 @@
|
||||
0.6.0 (2014-10-21)
|
||||
* Full Qt4 + Qt5 support
|
||||
* Fixed Ctrl+Arrows in Linux emulation
|
||||
* Fixed Drag & Drop support
|
||||
|
||||
|
||||
## Old changelog
|
||||
|
||||
31.07.2008
|
||||
Interface class from c-style conversions rewritten with pimpl support.
|
||||
|
||||
|
||||
16.07.2008
|
||||
Added optional scrollbar
|
||||
|
||||
|
||||
06.06.2008
|
||||
Some artefacts were removed, some added...
|
||||
Also added support for color schemes, and 3 color schemes provided (classical - white on black, green on black, black on light yellow). Is it enough or not?
|
||||
|
||||
|
||||
26.05.2008
|
||||
Added file release as an archive with source code. But preferrable way is still getting code from CVS, cause file release can be outdated.
|
||||
|
||||
|
||||
11.05.2008
|
||||
Initial CVS import - first version comes with number 0.0.1
|
@ -1,23 +0,0 @@
|
||||
Requirements:
|
||||
|
||||
Qt4 or Qt5
|
||||
cmake
|
||||
|
||||
Supported (tested) platforms:
|
||||
|
||||
Linux
|
||||
*BSD
|
||||
Mac OS X
|
||||
|
||||
Build:
|
||||
|
||||
A shadow build (out of source) is strongly recommended
|
||||
http://www.cmake.org/Wiki/CMake_FAQ#Out-of-source_build_trees
|
||||
|
||||
1) mkdir -p build && cd build
|
||||
2a) cmake path/to/source -DUSE_QT5=true # Qt 5
|
||||
2b) cmake path/to/source # Qt 4 only
|
||||
3) make
|
||||
4) optional: make install
|
||||
|
||||
Read cmake docs to fine tune the build process (CMAKE_INSTALL_PREFIX, etc...)
|
@ -1,10 +0,0 @@
|
||||
QTermWidget is an opensource project originally based on KDE4 Konsole application,
|
||||
but it took its own direction later.
|
||||
The main goal of this project is to provide unicode-enabled, embeddable
|
||||
Qt widget for using as a built-in console (or terminal emulation widget).
|
||||
|
||||
|
||||
Current maintainer: Petr Vanek <petr@yarpen.cz>
|
||||
License: GPLv2+
|
||||
|
||||
|
@ -0,0 +1,34 @@
|
||||
# QTermWidget
|
||||
|
||||
A terminal emulator widget for Qt 5.
|
||||
|
||||
QTermWidget is an opensource project originally based on KDE4 Konsole application,
|
||||
but it took its own direction later.
|
||||
The main goal of this project is to provide unicode-enabled, embeddable
|
||||
Qt widget for using as a built-in console (or terminal emulation widget).
|
||||
|
||||
# Installation
|
||||
|
||||
Requirements:
|
||||
* Qt >= 5.4
|
||||
* cmake >= 3.0
|
||||
|
||||
Supported platforms:
|
||||
* Linux
|
||||
* BSD
|
||||
* OS X
|
||||
|
||||
Building
|
||||
|
||||
1. `mkdir -p build && cd build`
|
||||
2. `cmake `<path/to/source>`
|
||||
3. make
|
||||
|
||||
Run `make install` to install.
|
||||
|
||||
# License
|
||||
|
||||
This project is licensed under the terms of the
|
||||
[GPLv2](https://www.gnu.org/licenses/gpl-2.0.en.html) or any later version.
|
||||
|
||||
See the LICENSE file for the full text of the license.
|
@ -1,47 +0,0 @@
|
||||
# - Find the QTermWidget include and library dirs and define a some macros
|
||||
#
|
||||
# The module defines the following variables
|
||||
# QTERMWIDGET_FOUND - Set to TRUE if all of the above has been found
|
||||
#
|
||||
# QTERMWIDGET_INCLUDE_DIR - The QTermWidget include directory
|
||||
#
|
||||
# QTERMWIDGET_INCLUDE_DIRS - The QTermWidget include directory
|
||||
#
|
||||
# QTERMWIDGET_LIBRARIES - The libraries needed to use QTermWidget
|
||||
#
|
||||
# QTERMWIDGET_USE_FILE - The variable QTERMWIDGET_USE_FILE is set which is the path
|
||||
# to a CMake file that can be included to compile qtermwidget
|
||||
# applications and libraries. It sets up the compilation
|
||||
# environment for include directories and populates a
|
||||
# QTERMWIDGET_LIBRARIES variable.
|
||||
#
|
||||
# QTERMWIDGET_QT_LIBRARIES - The Qt libraries needed by QTermWidget
|
||||
#
|
||||
# Typical usage:
|
||||
# option(USE_QT5 "Build using Qt5. Default off" OFF)
|
||||
# if (USE_QT5)
|
||||
# find_package(QTERMWIDGET4)
|
||||
# else()
|
||||
# find_package(QTERMWIDGET5)
|
||||
# endif()
|
||||
#
|
||||
# include(${QTERMWIDGET_USE_FILE})
|
||||
# add_executable(foo main.cpp)
|
||||
# target_link_libraries(foo ${QTERMWIDGET_QT_LIBRARIES} ${QTERMWIDGET_LIBRARIES})
|
||||
|
||||
set(QTERMWIDGET_INCLUDE_DIR @QTERMWIDGET_INCLUDE_DIR@)
|
||||
set(QTERMWIDGET_LIBRARY @QTERMWIDGET_LIBRARY_NAME@)
|
||||
|
||||
set(QTERMWIDGET_LIBRARIES ${QTERMWIDGET_LIBRARY})
|
||||
set(QTERMWIDGET_INCLUDE_DIRS "${QTERMWIDGET_INCLUDE_DIR}")
|
||||
|
||||
set(QTERMWIDGET_USE_FILE "${CMAKE_CURRENT_LIST_DIR}/qtermwidget4_use.cmake")
|
||||
set(QTERMWIDGET_FOUND 1)
|
||||
|
||||
set(QTERMWIDGET_VERSION_MAJOR @QTERMWIDGET_VERSION_MAJOR@)
|
||||
set(QTERMWIDGET_VERSION_MINOR @QTERMWIDGET_VERSION_MINOR@)
|
||||
set(QTERMWIDGET_VERSION_PATCH @QTERMWIDGET_VERSION_PATCH@)
|
||||
set(QTERMWIDGET_VERSION @QTERMWIDGET_VERSION@)
|
||||
|
||||
mark_as_advanced(QTERMWIDGET_LIBRARY QTERMWIDGET_INCLUDE_DIR)
|
||||
|
Before Width: | Height: | Size: 2.2 KiB |
@ -1,102 +0,0 @@
|
||||
|
||||
#include "qtermwidgetplugin.h"
|
||||
|
||||
#include <QtPlugin>
|
||||
|
||||
#include "qtermwidget.h"
|
||||
|
||||
|
||||
QTermWidgetPlugin::QTermWidgetPlugin(QObject *parent)
|
||||
: QObject(parent), initialized(false)
|
||||
{
|
||||
Q_INIT_RESOURCE(qtermwidgetplugin);
|
||||
}
|
||||
|
||||
|
||||
QTermWidgetPlugin::~QTermWidgetPlugin()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void QTermWidgetPlugin::initialize(QDesignerFormEditorInterface * /* core */)
|
||||
{
|
||||
initialized = true;
|
||||
}
|
||||
|
||||
|
||||
bool QTermWidgetPlugin::isInitialized() const
|
||||
{
|
||||
return initialized;
|
||||
}
|
||||
|
||||
|
||||
QWidget *QTermWidgetPlugin::createWidget(QWidget *parent)
|
||||
{
|
||||
return new QTermWidget(0, parent);
|
||||
}
|
||||
|
||||
|
||||
QString QTermWidgetPlugin::name() const
|
||||
{
|
||||
return "QTermWidget";
|
||||
}
|
||||
|
||||
|
||||
QString QTermWidgetPlugin::group() const
|
||||
{
|
||||
return "Input Widgets";
|
||||
}
|
||||
|
||||
|
||||
QIcon QTermWidgetPlugin::icon() const
|
||||
{
|
||||
return QIcon(":qtermwidget.png");
|
||||
}
|
||||
|
||||
|
||||
QString QTermWidgetPlugin::toolTip() const
|
||||
{
|
||||
return "QTermWidget component/widget";
|
||||
}
|
||||
|
||||
|
||||
QString QTermWidgetPlugin::whatsThis() const
|
||||
{
|
||||
return "Qt based terminal emulator";
|
||||
}
|
||||
|
||||
|
||||
bool QTermWidgetPlugin::isContainer() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
QString QTermWidgetPlugin::domXml() const
|
||||
{
|
||||
return "<widget class=\"QTermWidget\" name=\"termWidget\">\n"
|
||||
" <property name=\"geometry\">\n"
|
||||
" <rect>\n"
|
||||
" <x>0</x>\n"
|
||||
" <y>0</y>\n"
|
||||
" <width>400</width>\n"
|
||||
" <height>200</height>\n"
|
||||
" </rect>\n"
|
||||
" </property>\n"
|
||||
" <property name=\"toolTip\" >\n"
|
||||
" <string></string>\n"
|
||||
" </property>\n"
|
||||
" <property name=\"whatsThis\" >\n"
|
||||
" <string></string>\n"
|
||||
" </property>\n"
|
||||
"</widget>\n";
|
||||
}
|
||||
|
||||
|
||||
QString QTermWidgetPlugin::includeFile() const
|
||||
{
|
||||
return "qtermwidget.h";
|
||||
}
|
||||
|
||||
|
||||
Q_EXPORT_PLUGIN2(QTermWidgetPlugin, QTermWidgetPlugin)
|
@ -1,33 +0,0 @@
|
||||
|
||||
#ifndef QTERMWIDGETPLUGIN_H
|
||||
#define QTERMWIDGETPLUGIN_H
|
||||
|
||||
#include <QDesignerCustomWidgetInterface>
|
||||
|
||||
|
||||
class QTermWidgetPlugin : public QObject, public QDesignerCustomWidgetInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_INTERFACES(QDesignerCustomWidgetInterface)
|
||||
|
||||
public:
|
||||
QTermWidgetPlugin(QObject *parent = 0);
|
||||
virtual ~QTermWidgetPlugin();
|
||||
|
||||
bool isContainer() const;
|
||||
bool isInitialized() const;
|
||||
QIcon icon() const;
|
||||
QString domXml() const;
|
||||
QString group() const;
|
||||
QString includeFile() const;
|
||||
QString name() const;
|
||||
QString toolTip() const;
|
||||
QString whatsThis() const;
|
||||
QWidget *createWidget(QWidget *parent);
|
||||
void initialize(QDesignerFormEditorInterface *core);
|
||||
|
||||
private:
|
||||
bool initialized;
|
||||
};
|
||||
|
||||
#endif
|
@ -1,6 +0,0 @@
|
||||
<!DOCTYPE RCC>
|
||||
<RCC version="1.0">
|
||||
<qresource>
|
||||
<file>qtermwidget.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
@ -1,23 +0,0 @@
|
||||
PyQt4 Bindings for QTermWidget
|
||||
|
||||
By Piotr "Riklaunim" Maliński <riklaunim@gmail.com>,
|
||||
Alexander Slesarev <alex.slesarev@gmail.com>
|
||||
|
||||
PyQt4 QTermWidget Bindings License: GPL3
|
||||
|
||||
INSTALL:
|
||||
1. Download QTermWidget from http://qtermwidget.sourceforge.net/.
|
||||
2. Compile and install it:
|
||||
$ cmake .
|
||||
$ make
|
||||
$ sudo make install
|
||||
If `make install` command will not work just copy the qtermwidget.so* files to /usr/lib directory.
|
||||
3. Install PyQt4 and PyQt4-devel if not yet installed.
|
||||
4. Configure, compile and install bindings. Execute in terminal in the qtermwidget bindings folder:
|
||||
|
||||
$ python config.py
|
||||
$ make
|
||||
$ sudo make install
|
||||
|
||||
5. You can run ./test.py to test the installed module.
|
||||
|
@ -1,85 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# PyQt4 bindings for th QTermWidget project.
|
||||
#
|
||||
# Copyright (C) 2009 Piotr "Riklaunim" Maliński <riklaunim@gmail.com>,
|
||||
# Alexander Slesarev <alex.slesarev@gmail.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import os
|
||||
import sipconfig
|
||||
from PyQt4 import pyqtconfig
|
||||
|
||||
# The name of the SIP build file generated by SIP and used by the build
|
||||
# system.
|
||||
build_file = "qtermwidget.sbf"
|
||||
|
||||
# Get the PyQt configuration information.
|
||||
config = pyqtconfig.Configuration()
|
||||
|
||||
# Get the extra SIP flags needed by the imported qt module. Note that
|
||||
# this normally only includes those flags (-x and -t) that relate to SIP's
|
||||
# versioning system.
|
||||
qt_sip_flags = config.pyqt_sip_flags
|
||||
|
||||
# Run SIP to generate the code. Note that we tell SIP where to find the qt
|
||||
# module's specification files using the -I flag.
|
||||
os.system(" ".join([config.sip_bin, "-c", ".", "-b", build_file, "-I",
|
||||
config.pyqt_sip_dir, qt_sip_flags, "qtermwidget.sip"]))
|
||||
|
||||
# We are going to install the SIP specification file for this module and
|
||||
# its configuration module.
|
||||
installs = []
|
||||
|
||||
installs.append(["qtermwidget.sip", os.path.join(config.default_sip_dir,
|
||||
"qtermwidget")])
|
||||
|
||||
installs.append(["qtermwidgetconfig.py", config.default_mod_dir])
|
||||
|
||||
# Create the Makefile. The QtModuleMakefile class provided by the
|
||||
# pyqtconfig module takes care of all the extra preprocessor, compiler and
|
||||
# linker flags needed by the Qt library.
|
||||
makefile = pyqtconfig.QtGuiModuleMakefile(
|
||||
configuration = config,
|
||||
build_file = build_file,
|
||||
installs = installs)
|
||||
|
||||
# Add the library we are wrapping. The name doesn't include any platform
|
||||
# specific prefixes or extensions (e.g. the "lib" prefix on UNIX, or the
|
||||
# ".dll" extension on Windows).
|
||||
makefile.extra_lib_dirs.append("..")
|
||||
makefile.extra_libs = ["qtermwidget4"]
|
||||
|
||||
# Generate the Makefile itself.
|
||||
makefile.generate()
|
||||
|
||||
# Now we create the configuration module. This is done by merging a Python
|
||||
# dictionary (whose values are normally determined dynamically) with a
|
||||
# (static) template.
|
||||
content = {
|
||||
# Publish where the SIP specifications for this module will be
|
||||
# installed.
|
||||
"qtermwidget_sip_dir": config.default_sip_dir,
|
||||
|
||||
# Publish the set of SIP flags needed by this module. As these are the
|
||||
# same flags needed by the qt module we could leave it out, but this
|
||||
# allows us to change the flags at a later date without breaking
|
||||
# scripts that import the configuration module.
|
||||
"qtermwidget_sip_flags": qt_sip_flags}
|
||||
|
||||
# This creates the qtermwidgetconfig.py module from the qtermwidgetconfig.py.in
|
||||
# template and the dictionary.
|
||||
sipconfig.create_config_module("qtermwidgetconfig.py", "config.py.in", content)
|
@ -1,83 +0,0 @@
|
||||
%Module QTermWidget 0
|
||||
|
||||
%Import QtCore/QtCoremod.sip
|
||||
%Import QtGui/QtGuimod.sip
|
||||
|
||||
|
||||
class QTermWidget : QWidget {
|
||||
|
||||
%TypeHeaderCode
|
||||
#include <../lib/qtermwidget.h>
|
||||
%End
|
||||
|
||||
public:
|
||||
enum ScrollBarPosition
|
||||
{
|
||||
NoScrollBar=0,
|
||||
ScrollBarLeft=1,
|
||||
ScrollBarRight=2
|
||||
};
|
||||
|
||||
QTermWidget(int startnow = 1, QWidget *parent = 0);
|
||||
~QTermWidget();
|
||||
|
||||
QSize sizeHint() const;
|
||||
void startShellProgram();
|
||||
int getShellPID();
|
||||
void changeDir(const QString & dir);
|
||||
void setTerminalFont(QFont &font);
|
||||
QFont getTerminalFont();
|
||||
void setTerminalOpacity(qreal level);
|
||||
void setEnvironment(const QStringList & environment);
|
||||
void setShellProgram(const QString & progname);
|
||||
void setWorkingDirectory(const QString & dir);
|
||||
QString workingDirectory();
|
||||
void setArgs(QStringList &args);
|
||||
void setTextCodec(QTextCodec *codec);
|
||||
void setColorScheme(const QString & name);
|
||||
static QStringList availableColorSchemes();
|
||||
void setSize(int h, int v);
|
||||
void setHistorySize(int lines);
|
||||
void setScrollBarPosition(ScrollBarPosition);
|
||||
void scrollToEnd();
|
||||
void sendText(QString &text);
|
||||
void setFlowControlEnabled(bool enabled);
|
||||
bool flowControlEnabled();
|
||||
void setFlowControlWarningEnabled(bool enabled);
|
||||
static QStringList availableKeyBindings();
|
||||
QString keyBindings();
|
||||
void setMotionAfterPasting(int);
|
||||
int historyLinesCount();
|
||||
int screenColumnsCount();
|
||||
void setSelectionStart(int row, int column);
|
||||
void setSelectionEnd(int row, int column);
|
||||
void getSelectionStart(int& row, int& column);
|
||||
void getSelectionEnd(int& row, int& column);
|
||||
QString selectedText(bool preserveLineBreaks = true);
|
||||
void setMonitorActivity(bool);
|
||||
void setMonitorSilence(bool);
|
||||
void setSilenceTimeout(int seconds);
|
||||
signals:
|
||||
void finished();
|
||||
void copyAvailable(bool);
|
||||
void termGetFocus();
|
||||
void termLostFocus();
|
||||
void termKeyPressed(QKeyEvent *);
|
||||
void urlActivated(const QUrl&);
|
||||
void bell(const QString& message);
|
||||
void activity();
|
||||
void silence();
|
||||
public slots:
|
||||
void copyClipboard();
|
||||
void pasteClipboard();
|
||||
void pasteSelection();
|
||||
void zoomIn();
|
||||
void zoomOut();
|
||||
void setKeyBindings(const QString & kb);
|
||||
void clear();
|
||||
void toggleShowSearchBar();
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *e);
|
||||
private:
|
||||
void *createTermWidget(int startnow, void *parent);
|
||||
};
|
@ -1,34 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# PyQt4 bindings for th QTermWidget project.
|
||||
#
|
||||
# Copyright (C) 2009 Piotr "Riklaunim" Maliński <riklaunim@gmail.com>,
|
||||
# Alexander Slesarev <alex.slesarev@gmail.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import sys, signal
|
||||
from PyQt4 import Qt
|
||||
from PyQt4.QtCore import SIGNAL, SLOT
|
||||
import QTermWidget
|
||||
|
||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
||||
|
||||
a = Qt.QApplication(sys.argv)
|
||||
w = QTermWidget.QTermWidget()
|
||||
|
||||
w.show()
|
||||
w.connect(w, SIGNAL('finished()'), a, SLOT('quit()'))
|
||||
a.exec_()
|
Loading…
Reference in new issue