diff options
author | Mavridis Philippe <mavridisf@gmail.com> | 2021-01-13 19:26:24 +0200 |
---|---|---|
committer | Mavridis Philippe <mavridisf@gmail.com> | 2021-01-13 19:26:24 +0200 |
commit | 8c20dc919f7d54eb48fb60f39ba5e1d466a70763 (patch) | |
tree | 44d89f278d5dd066603e5ab9c0b270bc8eb4ad51 /src/klamav.h | |
download | klamav-8c20dc919f7d54eb48fb60f39ba5e1d466a70763.tar.gz klamav-8c20dc919f7d54eb48fb60f39ba5e1d466a70763.zip |
Initial commit
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
Diffstat (limited to 'src/klamav.h')
-rw-r--r-- | src/klamav.h | 163 |
1 files changed, 163 insertions, 0 deletions
diff --git a/src/klamav.h b/src/klamav.h new file mode 100644 index 0000000..e543a70 --- /dev/null +++ b/src/klamav.h @@ -0,0 +1,163 @@ +/* + * Copyright (C) 2004 Robert Hogan <robert at roberthogan dot net> + */ + +#ifndef _KLAMAV_H_ +#define _KLAMAV_H_ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <kapplication.h> +#include <kmainwindow.h> +#include <qtabwidget.h> + +#include <stdlib.h> + +class KPrinter; +class KToggleAction; +class KURL; +class QLineEdit; +class QComboBox; +class QCheckBox; +class QListBox; +class QPushButton; +class QLabel; +class KProcess; +class KConfig; +class KURLRequester; +class Freshklam; +class Sigtool; +class Klamscan; +class Klamd; +class KlamavDock; +class Kuarantine; +class Activityviewer; +class Aboutklamav; +class KlamDB; +class KSystemTray; + +/** + * This class serves as the main window for Klamav. It handles the + * menus, toolbars, and status bars. + * + * @short Main window class + * @author $AUTHOR <$EMAIL> + * @version $APP_VERSION + */ +class Klamav : public KMainWindow +{ + Q_OBJECT +public: + /** + * Default Constructor + */ + Klamav(); + + /** + * Default Destructor + */ + virtual ~Klamav(); + + /** + * Use this method to load whatever file/URL you have + */ + void setDirName(QString); + + KlamavDock *m_dock; + KSystemTray *_tray; + KAction *EnableKlamd; + KAction *DisableKlamd; + KAction *EnableFreshklam; + KAction *DisableFreshklam; + Klamd *klamd; + Freshklam *freshklam; + bool firstDownload; + bool downloadDBForWizard; + bool downloadClamAVForWizard; + Kuarantine *kuarantine; + KlamDB *klamdb; + Klamscan *klamscan; + Activityviewer *activityviewer; + void showVirusBrowser(); + void resetAutoScan(); + QTabWidget *tab; + + +protected: + /** + * Overridden virtuals for Qt drag 'n drop (XDND) + */ + /*virtual void dragEnterEvent(QDragEnterEvent *event); + virtual void dropEvent(QDropEvent *event);*/ + virtual bool queryClose(); + + +protected: + /** + * This function is called when it is time for the app to save its + * properties for session management purposes. + */ + //void saveProperties(KConfig *); + + /** + * This function is called when this app is restored. The KConfig + * object points to the session management config file that was saved + * with @ref saveProperties + */ + //void readProperties(KConfig *); + +public slots: + void contextDisable(); + void clamdStopped(); + void slotConfigKlamav( const QCString& page ); +private slots: + void contextEnable(); + void contextEnableFK(); + void contextUpdateFK(); + void contextDisableFK(); + +private: + void setupAccel(); + void setupActions(); + void firstRunWizard(); + void createDefaultKlamAVDir(QString type); + void checkDir(QString path); + +private: + //KlamavView *m_view; + + + +signals: + void itemSelected(QString abs_filename, int line); + +public slots: +private slots: + void shuttingDown(); +private: + void processOutput(); + void finish(); + void getout(); + + QLineEdit *template_edit; + QComboBox *files_combo, *pattern_combo/*, *dir_combo*/; + KURLRequester *dir_combo; + QCheckBox *recursive_box; + QListBox *resultbox; + QPushButton *search_button, *cancel_button; + QLabel *status_label, *matches_label; + KProcess *childproc; + QString buf; + KConfig* config; + QStringList lastSearchItems; + QStringList lastSearchPaths; + Sigtool *sigtool; + Aboutklamav *aboutklamav; + +}; + +extern Klamav *kmain; + +#endif // _KLAMAV_H_ |