diff options
Diffstat (limited to 'src/klamscan.hpre')
-rw-r--r-- | src/klamscan.hpre | 168 |
1 files changed, 168 insertions, 0 deletions
diff --git a/src/klamscan.hpre b/src/klamscan.hpre new file mode 100644 index 0000000..e1166f8 --- /dev/null +++ b/src/klamscan.hpre @@ -0,0 +1,168 @@ +/* + * Copyright (C) 2004 Robert Hogan <robert at roberthogan dot net> + */ + +#ifndef _KLAMSCAN_H_ +#define _KLAMSCAN_H_ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <kapplication.h> +#include <kmainwindow.h> +#include <dcopklamscan.h> + + +class KPrinter; +class KToggleAction; +class KURL; +class QLineEdit; +class QComboBox; +class QCheckBox; +class QListBox; +class QListView; +class QListViewItem; +class QPushButton; +class QLabel; +class KProcess; +class KConfig; +class KURLRequester; + + +/** + * This class serves as the main window for Klamscan. It handles the + * menus, toolbars, and status bars. + * + * @short Main window class + * @author $AUTHOR <$EMAIL> + * @version $APP_VERSION + */ +class Klamscan : public QWidget, virtual public DCOPKlamscan +{ + Q_OBJECT +public: + /** + * Default Constructor + */ + Klamscan(QWidget *parent, const char *name=0); + + /** + * Default Destructor + */ + virtual ~Klamscan(); + + /** + * Use this method to load whatever file/URL you have + */ + + void setDirName(QString); + bool isMultiScan(); +protected: + /** + * Overridden virtuals for Qt drag 'n drop (XDND) + */ + /*virtual void dragEnterEvent(QDragEnterEvent *event); + virtual void dropEvent(QDropEvent *event);*/ + +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 *); + + +private slots: +/* void fileNew(); + void fileOpen(); + void fileSave(); + void fileSaveAs(); + void filePrint(); + void optionsShowToolbar(); + void optionsShowStatusbar(); + void optionsConfigureKeys(); + void optionsConfigureToolbars(); + void optionsPreferences(); + void newToolbarConfig(); +*/ + //void changeStatusbar(const QString& text); + //void changeCaption(const QString& text); + +private: + void setupAccel(); + void setupActions(); + +private: + //KlamscanView *m_view; + + /* KPrinter *m_printer; + KToggleAction *m_toolbarAction; + KToggleAction *m_statusbarAction;*/ + +signals: + void itemSelected(QString abs_filename, int line); + +public slots: + void scanURLs(const QString &urls); + void resetMultiScan( QMouseEvent * e); +private slots: + //void dirButtonClicked(); + //void templateActivated(int index); + void childExited(); + void receivedOutput(KProcess *proc, char *buffer, int buflen); + //void itemSelected(const QString&); + void slotSearch(); + void slotCancel(); + void slotClear(); + void slotRMB( QListViewItem *, const QPoint &, int ); + void slotQuarantineSelected(); + void slotAdvOptions(); + void slotSchedule(); + void slotVirusPool(); + void slotGoogle(); + //void patternTextChanged( const QString &); +private: + void processOutput(); + void finish(); + void getout(); + void Quarantine(); + void askUser(); + void setDefaults(); + QLineEdit *template_edit; + QComboBox *files_combo, *pattern_combo, *check_combo; + KComboBox *dir_combo; + QCheckBox *recursive_box; + QCheckBox *recursive_box2; + QListView *resultview; + QPushButton *search_button, *cancel_button; + QLabel *status_label, *status2_label,*matches_label,*matches2_label; + KProcess *childproc; + QString buf; + KConfig* config; + QStringList lastSearchItems; + QStringList lastScanPaths; + QStringList lastQuarItems; + QStringList QuarantineList; + bool errorsEncountered; + QPopupMenu* menu; + QPushButton* adv_options; + QPushButton* schedule; + QString selectedVirus; + bool multiScan; + QString urlsToScan; + bool scanInProgress; + QString prevdir; + QStringList listOfUrlsToScan; + void updateScanPaths(const QStringList &paths); + bool multi_recursive; +}; + +#endif // _KLAMSCAN_H_ |