diff options
Diffstat (limited to 'src-qt5/desktop-utils/lumina-terminal/TermWindow.h')
-rw-r--r-- | src-qt5/desktop-utils/lumina-terminal/TermWindow.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/src-qt5/desktop-utils/lumina-terminal/TermWindow.h b/src-qt5/desktop-utils/lumina-terminal/TermWindow.h new file mode 100644 index 00000000..d68c5457 --- /dev/null +++ b/src-qt5/desktop-utils/lumina-terminal/TermWindow.h @@ -0,0 +1,70 @@ +//=========================================== +// 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_MAIN_WINDOW_H +#define _LUMINA_DESKTOP_UTILITIES_TERMINAL_MAIN_WINDOW_H + +#include <QWidget> +#include <QPropertyAnimation> +#include <QTabWidget> +#include <QDir> +#include <QShortcut> +#include <QMouseEvent> +#include <QSettings> + +class TermWindow : public QWidget{ + Q_OBJECT +public: + TermWindow(QSettings *set); + ~TermWindow(); + + void cleanup(); //called right before the window is closed + void OpenDirs(QStringList); + + void setCurrentScreen(int num = 0); + void setTopOfScreen(bool ontop); + +public slots: + void ShowWindow(); + void HideWindow(); + void CloseWindow(); + void ReShowWindow(); + +private: + QTabWidget *tabWidget; + QSettings *settings; + QShortcut *hideS, *closeS, *newTabS, *closeTabS, *prevTabS, *nextTabS; + int screennum; + bool onTop, CLOSING; + QPropertyAnimation *ANIM; + int animRunning; //internal flag for what animation is currently running + + //Calculate the window geometry necessary based on screen/location + void CalculateGeom(); + QString GenerateTabID(); + +private slots: + //Tab Interactions + void New_Tab(); + void Close_Tab(int tab = -1); + void Close_Tab(QString ID); //alternate form of the close routine - based on tab ID + void Next_Tab(); + void Prev_Tab(); + void focusOnWidget(); + //Animation finishing + void AnimFinished(); + +protected: + void mouseMoveEvent(QMouseEvent*); + +signals: + void TerminalHidden(); + void TerminalVisible(); + void TerminalClosed(); + void TerminalFinished(); +}; + +#endif |