Mercurial > octave-nkf
view libgui/qterminal/libqterminal/unix/QUnixTerminalImpl.h @ 19724:bd1369a2a651
add extra action for interrupting with Ctrl-C (bug #44204)
* QTerminal.cc (notice_settings): check if copy-shortcut is Ctrl-C and set flag
for slots and enable/disable new interrupt-action accordingly
* QTerminal.h: new function setting flag (purely virtual);
(constructor): new interrupt-action with shortcut Ctrl-C
* QUnixTerminalImpl.cpp (copyClipboard): call internal function with flag;
(has_extra_interrupt): new function for setting flag for copy-/interrupt-
slots
* QUnixTerminalImpl.h new flag for slots and function setting flag
* TerminalView.cpp (copyClipboard): gets flag as parameter, only interrupts
if Ctrl-C is shortcut for copy
* TerminalView.h: copyClipboard with boolean parameter
* QWinTerminalImpl.cpp (copyClipboard): only interrupts if Ctrl-C is shortcut
for copy;
(has_extra_interrupt): function for setting flag for copy-/interrupts-slots
* QWinTerminalImpl.h: new flag and function setting the flag
author | Torsten <ttl@justmail.de> |
---|---|
date | Mon, 09 Feb 2015 09:56:25 +0100 |
parents | 0e1f5a750d00 |
children | 4197fc428c7d |
line wrap: on
line source
/* Copyright (C) 2008 e_k (e_k@users.sourceforge.net) Copyright (C) 2012-2013 Jacob Dawid <jacob.dawid@cybercatalyst.com> This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef Q_UNIXTERMINALIMPL #define Q_UNIXTERMINALIMPL #include <QtGui> #include "unix/kpty.h" #include "unix/TerminalModel.h" #include "unix/TerminalView.h" #include "QTerminal.h" class QUnixTerminalImpl : public QTerminal { Q_OBJECT int fdstderr; public: QUnixTerminalImpl(QWidget *parent = 0); virtual ~QUnixTerminalImpl(); void setTerminalFont(const QFont &font); void setSize(int h, int v); void sendText(const QString& text); void setCursorType(CursorType type, bool blinking); void setBackgroundColor (const QColor& color); void setForegroundColor (const QColor& color); void setSelectionColor (const QColor& color); void setCursorColor (bool useForegroundColor, const QColor& color); void setScrollBufferSize(int value); QString selectedText(); void has_extra_interrupt (bool extra_interrupt); public slots: void copyClipboard(); void pasteClipboard(); void selectAll(); protected: void showEvent(QShowEvent *); virtual void resizeEvent(QResizeEvent *); private: void initialize(); void connectToPty(); TerminalView *m_terminalView; TerminalModel *m_terminalModel; KPty *m_kpty; bool _extra_interrupt; }; #endif // Q_UNIXTERMINALIMPL