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.
169 lines
3.9 KiB
169 lines
3.9 KiB
4 years ago
|
/*
|
||
|
* 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_
|