summaryrefslogtreecommitdiffstats
path: root/src/klamscan.hpre
diff options
context:
space:
mode:
Diffstat (limited to 'src/klamscan.hpre')
-rw-r--r--src/klamscan.hpre168
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_