aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/desktop-utils/lumina-terminal/TerminalWidget.h
diff options
context:
space:
mode:
authorKen Moore <moorekou@gmail.com>2016-04-25 13:08:12 -0400
committerKen Moore <moorekou@gmail.com>2016-04-25 13:08:12 -0400
commited5ecf7ea7a482b4649e66ecb35fbc60af680684 (patch)
treeacc0fa17d228259e847f55c678db9fb0a9b50f0c /src-qt5/desktop-utils/lumina-terminal/TerminalWidget.h
parentMerge branch 'master' of github.com:pcbsd/lumina (diff)
downloadlumina-ed5ecf7ea7a482b4649e66ecb35fbc60af680684.tar.gz
lumina-ed5ecf7ea7a482b4649e66ecb35fbc60af680684.tar.bz2
lumina-ed5ecf7ea7a482b4649e66ecb35fbc60af680684.zip
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.
Diffstat (limited to 'src-qt5/desktop-utils/lumina-terminal/TerminalWidget.h')
-rw-r--r--src-qt5/desktop-utils/lumina-terminal/TerminalWidget.h68
1 files changed, 68 insertions, 0 deletions
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 <QTextEdit>
+#include <QKeyEvent>
+#include <QResizeEvent>
+#include <QSocketNotifier>
+#include <QTimer>
+#include <QMenu>
+#include <QClipboard>
+
+#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
bgstack15