/* * Copyright (C) 2004 Robert Hogan */ #ifndef _KLAMSCAN_H_ #define _KLAMSCAN_H_ #ifdef HAVE_CONFIG_H #include #endif #include #include #include class KPrinter; class KToggleAction; class KURL; class TQLineEdit; class TQComboBox; class TQCheckBox; class TQListBox; class TQListView; class TQListViewItem; class TQPushButton; class TQLabel; class KProcess; class KConfig; class KURLRequester; class CollectionSetup; class TQToolButton; class TQHBoxLayout; class TQDir; namespace KlamAV { class TabWidget; class PageViewer; } /** * 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 TQWidget, virtual public DCOPKlamscan { Q_OBJECT public: /** * Default Constructor */ Klamscan(TQWidget *parent, const char *name=0); /** * Default Destructor */ virtual ~Klamscan(); /** * Use this method to load whatever file/URL you have */ void setDirName(TQString); bool isMultiScan(); protected: /** * Overridden virtuals for TQt drag 'n drop (XDND) */ protected: /** * This function is called when it is time for the app to save its * properties for session management purposes. */ /** * 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: private: void setupAccel(); void setupActions(); private: signals: public slots: void scanURLs(const TQString &urls); private slots: void slotScan(); void slotAdvOptions(); void slotSchedule(); void slotStopScanning(); void slotStartAgain(); void slotRemoveTab(); void slotManageButtons(TQWidget *current); private: void setDefaults(); TQStringList pruneSelectedDirs(); TQLineEdit *template_edit; TQComboBox *files_combo, *pattern_combo, *check_combo; TQCheckBox *recursive_box; TQListView *resultview; TQPushButton *search_button, *cancel_button; TQLabel *status_label, *status2_label,*matches_label,*matches2_label; KProcess *childproc; TQString buf; KConfig* config; bool errorsEncountered; TQPopupMenu* menu; TQToolButton* adv_options; TQStringList urlsToScan; TQString prevdir; TQStringList listOfUrlsToScan; bool multi_recursive; KlamAV::TabWidget* tabBrowser; CollectionSetup* setup; TQToolButton *m_tabsClose; TQToolButton* play; TQToolButton* stop; TQHBoxLayout* controls; }; #endif // _KLAMSCAN_H_