You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
klamav/src/klamav.h

178 lines
3.7 KiB

/*
* 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 <tdeapplication.h>
#include <tdemainwindow.h>
#include <tqtabwidget.h>
#include <stdlib.h>
class KPrinter;
class TDEToggleAction;
class TDEPopupMenu;
class KURL;
class TQLineEdit;
class TQComboBox;
class TQCheckBox;
class TQListBox;
class TQPushButton;
class TQLabel;
class TDEProcess;
class TDEConfig;
class KURLRequester;
class Freshklam;
class Sigtool;
class Klamscan;
class KlamavDock;
class Kuarantine;
class Activityviewer;
class Aboutklamav;
class KlamDB;
class KSystemTray;
class KlamOnAcc;
/**
* 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 TDEMainWindow
{
TQ_OBJECT
public:
/**
* Default Constructor
*/
Klamav();
/**
* Default Destructor
*/
virtual ~Klamav();
/**
* Use this method to load whatever file/URL you have
*/
void setDirName(TQString);
KlamavDock *m_dock;
KSystemTray *_tray;
TDEAction *EnableFreshklam;
TDEAction *DisableFreshklam;
TDEAction *EnableKlamOnAcc;
TDEAction *DisableKlamOnAcc;
Freshklam *freshklam;
bool firstDownload;
bool downloadDBForWizard;
Kuarantine *kuarantine;
KlamDB *klamdb;
Klamscan *klamscan;
Activityviewer *activityviewer;
void showVirusBrowser();
TQTabWidget *tab;
KlamOnAcc *klamonacc;
protected:
/**
* Overridden virtuals for TQt drag 'n drop (XDND)
*/
/*virtual void dragEnterEvent(TQDragEnterEvent *event);
virtual void dropEvent(TQDropEvent *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(TDEConfig *);
/**
* This function is called when this app is restored. The TDEConfig
* object points to the session management config file that was saved
* with @ref saveProperties
*/
//void readProperties(TDEConfig *);
public slots:
void slotConfigKlamav( const TQCString& page );
private slots:
void slotScanFile();
void slotScanDir();
void slotScheduleScan();
void slotOptions();
void slotToggleWelcome();
void slotToggleQuarantine();
void slotToggleDBViewer();
void slotToggleEvents();
void slotKOAStateUpdate();
void contextEnableFK();
void contextUpdateFK();
void contextDisableFK();
void contextEnableKOA();
void contextDisableKOA();
void tabClosed(TQString name);
private:
void setupAccel();
void setupActions();
void firstRunWizard();
void createDefaultKlamAVDir(TQString type);
void checkDir(TQString path);
void updateTabState(int tabId, bool init);
private:
//KlamavView *m_view;
signals:
void itemSelected(TQString abs_filename, int line);
public slots:
private slots:
void shuttingDown();
private:
void processOutput();
void finish();
void getout();
TQLineEdit *template_edit;
TQComboBox *files_combo, *pattern_combo/*, *dir_combo*/;
KURLRequester *dir_combo;
TQCheckBox *recursive_box;
TQListBox *resultbox;
TQPushButton *search_button, *cancel_button;
TQLabel *status_label, *matches_label;
TDEProcess *childproc;
TQString buf;
TDEConfig* config;
TQStringList lastSearchItems;
TQStringList lastSearchPaths;
Sigtool *sigtool;
Aboutklamav *aboutklamav;
TDEPopupMenu *tabs_menu;
int showWelcomeTab;
int showQuarantineTab;
int showDBViewerTab;
int showEventsTab;
};
extern Klamav *tdemain;
#endif // _KLAMAV_H_