From ed5ecf7ea7a482b4649e66ecb35fbc60af680684 Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Mon, 25 Apr 2016 13:08:12 -0400 Subject: Rearrange the Lumina source tree quite a bit: Now the utilites are arranged by category (core, core-utils, desktop-utils), so all the -utils may be excluded by a package system (or turned into separate packages) as needed. --- .../desktop-utils/lumina-terminal/TerminalWidget.h | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 src-qt5/desktop-utils/lumina-terminal/TerminalWidget.h (limited to 'src-qt5/desktop-utils/lumina-terminal/TerminalWidget.h') diff --git a/src-qt5/desktop-utils/lumina-terminal/TerminalWidget.h b/src-qt5/desktop-utils/lumina-terminal/TerminalWidget.h new file mode 100644 index 00000000..32fd55ad --- /dev/null +++ b/src-qt5/desktop-utils/lumina-terminal/TerminalWidget.h @@ -0,0 +1,68 @@ +//=========================================== +// Lumina-DE source code +// Copyright (c) 2015, Ken Moore +// Available under the 3-clause BSD license +// See the LICENSE file for full details +//=========================================== +#ifndef _LUMINA_DESKTOP_UTILITIES_TERMINAL_PROCESS_WIDGET_H +#define _LUMINA_DESKTOP_UTILITIES_TERMINAL_PROCESS_WIDGET_H + +#include +#include +#include +#include +#include +#include +#include + +#include "TtyProcess.h" + +class TerminalWidget : public QTextEdit{ + Q_OBJECT +public: + TerminalWidget(QWidget *parent =0, QString dir=""); + ~TerminalWidget(); + + void aboutToClose(); + +private: + TTYProcess *PROC; + QTextCharFormat DEFFMT, CFMT; //default/current text format + QTextCursor selCursor, lastCursor; + QMenu *contextMenu; + QAction *copyA, *pasteA; + int selectionStart; + + //Incoming Data parsing + void InsertText(QString); + void applyData(QByteArray data); //overall data parsing + void applyANSI(QByteArray code); //individual code application + void applyANSIColor(int code); //Add the designated color code to the CFMT structure + + //Outgoing Data parsing + void sendKeyPress(int key); + + //Special incoming data flags + int startrow, endrow; //indexes for the first/last row ("\x1b[A;Br" CC) + bool altkeypad; +private slots: + void UpdateText(); + void ShellClosed(); + + void copySelection(); + void pasteSelection(); + +signals: + void ProcessClosed(QString); + +protected: + void keyPressEvent(QKeyEvent *ev); + void mousePressEvent(QMouseEvent *ev); + void mouseMoveEvent(QMouseEvent *ev); + void mouseReleaseEvent(QMouseEvent *ev); + void mouseDoubleClickEvent(QMouseEvent *ev); + //void contextMenuEvent(QContextMenuEvent *ev); + void resizeEvent(QResizeEvent *ev); +}; + +#endif -- cgit