diff options
author | Mavridis Philippe <[email protected]> | 2021-01-13 19:26:24 +0200 |
---|---|---|
committer | Mavridis Philippe <[email protected]> | 2021-01-13 19:26:24 +0200 |
commit | 8c20dc919f7d54eb48fb60f39ba5e1d466a70763 (patch) | |
tree | 44d89f278d5dd066603e5ab9c0b270bc8eb4ad51 /src/ktview.h | |
download | klamav-8c20dc919f7d54eb48fb60f39ba5e1d466a70763.tar.gz klamav-8c20dc919f7d54eb48fb60f39ba5e1d466a70763.zip |
Initial commit
Signed-off-by: Mavridis Philippe <[email protected]>
Diffstat (limited to 'src/ktview.h')
-rw-r--r-- | src/ktview.h | 222 |
1 files changed, 222 insertions, 0 deletions
diff --git a/src/ktview.h b/src/ktview.h new file mode 100644 index 0000000..061b28a --- /dev/null +++ b/src/ktview.h @@ -0,0 +1,222 @@ +/*************************************************************************** + * KT main view header. * + * -------------------------------------------------------------------- * + * Copyright (C) 1999, Gary Meyer <[email protected]> * + * -------------------------------------------------------------------- * + * 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 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ + +#ifndef KTVIEW_H +#define KTVIEW_H + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <qwidget.h> +#include "cthost.h" + +class QString; +class QListView; +class QListViewItem; +class KTApp; +class KTPrint; +class KTListItem; +class CTCron; +class CTVariable; +class CTTask; +class Schedule; + +/** + * Main GUI view of the crontab entries. + */ +class KTView : public QWidget +{ + Q_OBJECT + +public: + +/** + * Initializes view. + */ + KTView (QWidget* parent = 0, const char* name=0); + +/** + * Destructor. + */ + ~KTView(); + +/** + * Print crontab. + */ + void print() const; + +/** + * Print page heading. + */ + void pageHeading (KTListItem *user, KTPrint &printer) const; + +/** + * Print page footer. + */ + void pageFooter (KTListItem *user, KTPrint &printer) const; + +/** + * Copies variables and/or tasks. + */ + void copy(); + +/** + * Pastes variables and/or tasks from the clipboard. + */ + void paste(); + +/** + * Create a new variable or task. Default is which type is most recently + * selected. + */ + void create(); + +/** + * Edit variable or task. Default is most recently selected. + */ + void edit(); + +/** + * Delete variables and/or tasks. + */ + void remove(); + +/** + * Enables/disables variables and/or tasks. + */ + void enable(bool enable = true); + +/** + * Run task now. + */ + void run() const; + +/** + * Refresh view from underlying objects. + */ + void refresh(); + + CTCron* getCTCron(); + + QListViewItem* currentItem(); + + void hideCommand(); +signals: + +/** Enables/disables modification + * buttons depending + * on if a task is selected + */ + void enableModificationButtons(bool); + +/** Enables/disables paste button depending + * on clipboard contents + */ + void enablePaste(bool); + +/** Enables/disables "Run now" depending + * on the task settings + */ + void enableRunNow(bool); + +/** Enables/disables "Activated" setting + * on the menu depending on the task + * configuration + */ + void enableEnabled(bool); + + + +public slots: + +/** + * Pop up context sensitive menu. + */ + void slotMenu(QListViewItem* qlvi, const QPoint& qp, int i); + +/** + * Default action, edit. + */ + void slotEdit(QListViewItem* qlvi = 0); + +protected slots: + +/** + * Set current and update menu + */ + void slotSetCurrent (QListViewItem* qlvi); + +protected: + +/** + * Resize view contents. + */ + virtual void resizeEvent (QResizeEvent* = 0); + +private: + +/** + * Get absolute path of command. + */ + QString absolute() const; + + +/** + * The application. + */ + KTApp* ktapp; + Schedule* sched; + +/** + * Tree view of the crontab entries. + */ + QListView* listView; + +/** + * Current user's crontab. + */ + CTCron* currentCTCron; + +/** + * Indicates whether or not currently selected item is a task. + */ + bool currentIsTask; + +/** + * Current task. + */ + CTTask* currentCTTask; + +/** + * Current variable. + */ + CTVariable* currentCTVariable; + +/** + * Indicates whether or not the item on the clipboard is a task. + */ + bool clipboardIsTask; + +/** + * Clipboard task. + */ + CTTask* clipboardCTTask; + +/** + * Clipboard variable. + */ + CTVariable* clipboardCTVariable; + + CTHost* cthost; +}; + +#endif // KTVIEW_H |