00001 /*************************************************************************** 00002 * * 00003 * This program is free software; you can redistribute it and/or modify * 00004 * it under the terms of the GNU General Public License as published by * 00005 * the Free Software Foundation; either version 2 of the License, or * 00006 * (at your option) any later version. * 00007 * * 00008 ***************************************************************************/ 00009 00010 // (c) 2002-2003 Patrick S. Vogt <tille@handhelds.org> 00011 00012 #ifndef MAINWINDOW_H 00013 #define MAINWINDOW_H 00014 00015 #include <qmainwindow.h> 00016 #include <qdialog.h> 00017 #include <qaction.h> 00018 #include <qlist.h> 00019 #include <qmap.h> 00020 #include <qtimer.h> 00021 #include <qpopupmenu.h> 00022 00023 class QAction; 00024 class QToolBar; 00025 class QHBox; 00026 class QVBoxLayout; 00027 class QTextView; 00028 class QFrame; 00029 class OListView; 00030 class OListViewItem; 00031 class QListViewItem; 00032 class QPopupMenu; 00033 class QTimer; 00034 class QLabel; 00035 00036 class QSignalMapper; 00037 class QButton; 00038 00039 class SearchGroup; 00040 00041 class MainWindow : public QMainWindow 00042 { 00043 Q_OBJECT 00044 00045 00046 public: 00047 MainWindow( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); 00048 ~MainWindow(); 00049 static QString appName() { return QString::fromLatin1("osearch"); } 00050 00051 public slots: 00052 void setCurrent(QListViewItem*); 00053 void setSearch( const QString& ); 00054 void searchAll(); 00055 00056 protected slots: 00057 void slotAction(int); 00058 void showPopup(); 00059 void stopTimer( QListViewItem* ); 00060 void searchStringChanged(); 00061 void optionChanged(int); 00062 00063 private: 00064 QHBox *buttonBox; 00065 QMap<int, QButton*> buttonMap; 00066 QSignalMapper* signalMapper; 00067 OListView *resultsList; 00068 QTextView *richEdit; 00069 OListViewItem *_currentItem; 00070 QVBoxLayout *mainLayout; 00071 QFrame *detailsFrame; 00072 QTimer *popupTimer; 00073 QTimer *searchTimer; 00074 QToolButton* ClearSearchText; 00075 QLabel* LabelEnterText; 00076 00077 QString _searchString; 00078 QList<SearchGroup> searches; 00079 QAction *SearchAllAction; 00080 QAction *actionCaseSensitiv; 00081 QAction *actionWildcards; 00082 //QAction *actionWholeWordsOnly; 00083 uint _buttonCount; 00084 void makeMenu(); 00085 }; 00086 00087 #endif 00088
1.4.2