summaryrefslogtreecommitdiff
path: root/core/pim/osearch/mainwindow.cpp
Unidiff
Diffstat (limited to 'core/pim/osearch/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/osearch/mainwindow.cpp45
1 files changed, 36 insertions, 9 deletions
diff --git a/core/pim/osearch/mainwindow.cpp b/core/pim/osearch/mainwindow.cpp
index b80c637..89ab690 100644
--- a/core/pim/osearch/mainwindow.cpp
+++ b/core/pim/osearch/mainwindow.cpp
@@ -20,4 +20,5 @@
20#include <qpe/qpeapplication.h> 20#include <qpe/qpeapplication.h>
21#include <qpe/config.h> 21#include <qpe/config.h>
22#include <qpe/global.h>
22#include <qaction.h> 23#include <qaction.h>
23#include <qmessagebox.h> 24#include <qmessagebox.h>
@@ -85,5 +86,4 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) :
85 searches.append( new AdressSearch( resultsList, tr("adressbook") ) ); 86 searches.append( new AdressSearch( resultsList, tr("adressbook") ) );
86 87
87 makeMenu();
88 setCentralWidget( mainFrame ); 88 setCentralWidget( mainFrame );
89 89
@@ -97,4 +97,5 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) :
97 connect(buttonGroupActions, SIGNAL(clicked(int)), SLOT( slotAction(int) ) ); 97 connect(buttonGroupActions, SIGNAL(clicked(int)), SLOT( slotAction(int) ) );
98 98
99 makeMenu();
99 100
100 Config cfg( "osearch", Config::User ); 101 Config cfg( "osearch", Config::User );
@@ -102,4 +103,5 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) :
102 actionCaseSensitiv->setOn( cfg.readBoolEntry( "caseSensitiv", false ) ); 103 actionCaseSensitiv->setOn( cfg.readBoolEntry( "caseSensitiv", false ) );
103 actionWildcards->setOn( cfg.readBoolEntry( "wildcards", false ) ); 104 actionWildcards->setOn( cfg.readBoolEntry( "wildcards", false ) );
105// actionWholeWordsOnly->setOn( cfg.readBoolEntry( "whole_words_only", false ) );
104} 106}
105 107
@@ -118,5 +120,16 @@ void MainWindow::makeMenu()
118 menuBar->insertItem( tr( "Search" ), searchMenu ); 120 menuBar->insertItem( tr( "Search" ), searchMenu );
119 menuBar->insertItem( tr( "Settings" ), cfgMenu ); 121 menuBar->insertItem( tr( "Settings" ), cfgMenu );
122
123 //SETTINGS MENU
120 cfgMenu->insertItem( tr( "Search" ), searchOptions ); 124 cfgMenu->insertItem( tr( "Search" ), searchOptions );
125 QPopupMenu *pop;
126 for (SearchGroup *s = searches.first(); s != 0; s = searches.next() ){
127 pop = s->popupMenu();
128 if (pop){
129 qDebug("inserting settings menu for %s",s->text(0).latin1());
130 cfgMenu->insertItem( s->text(0), pop );
131 //connect( pop, SIGNAL( activated(int) ), SLOT( optionChanged(int) ) );
132 }
133 }
121 134
122 135
@@ -127,6 +140,9 @@ void MainWindow::makeMenu()
127 SearchAllAction->addTo( searchMenu ); 140 SearchAllAction->addTo( searchMenu );
128 searchMenu->insertItem( tr( "Options" ), searchOptions ); 141 searchMenu->insertItem( tr( "Options" ), searchOptions );
142 //connect( searchOptions, SIGNAL( activated(int) ), SLOT( optionChanged(int) ) );
129 143
130 //SEARCH OPTIONS 144 //SEARCH OPTIONS
145 //actionWholeWordsOnly = new QAction( tr("Whole words only"),QString::null, 0, this, 0, true );
146 //actionWholeWordsOnly->addTo( searchOptions );
131 actionCaseSensitiv = new QAction( tr("Case sensitiv"),QString::null, 0, this, 0, true ); 147 actionCaseSensitiv = new QAction( tr("Case sensitiv"),QString::null, 0, this, 0, true );
132 actionCaseSensitiv->addTo( searchOptions ); 148 actionCaseSensitiv->addTo( searchOptions );
@@ -152,4 +168,5 @@ MainWindow::~MainWindow()
152 cfg.writeEntry( "caseSensitiv", actionCaseSensitiv->isOn() ); 168 cfg.writeEntry( "caseSensitiv", actionCaseSensitiv->isOn() );
153 cfg.writeEntry( "wildcards", actionWildcards->isOn() ); 169 cfg.writeEntry( "wildcards", actionWildcards->isOn() );
170 //cfg.writeEntry( "whole_words_only", actionWholeWordsOnly->isOn() );
154} 171}
155 172
@@ -183,12 +200,7 @@ void MainWindow::setCurrent(QListViewItem *item)
183 } 200 }
184 _buttonCount = acts.count(); 201 _buttonCount = acts.count();
185 // buttonShow = new QPushButton( detailsFrame, "Show" ) ;
186 // buttonShow->setText( "test" );
187 // buttonLayout->addWidget( buttonShow, 0 );
188// buttonGroupActions->insert(buttonShow);
189 detailsFrame->show(); 202 detailsFrame->show();
190 }else detailsFrame->hide(); 203 }else detailsFrame->hide();
191 //_currentItem = (OListViewItem*)item; 204 popupTimer->start( 300, true );
192 popupTimer->start( 300 );
193} 205}
194 206
@@ -201,5 +213,8 @@ void MainWindow::showPopup()
201{ 213{
202 qDebug("showPopup"); 214 qDebug("showPopup");
215 popupTimer->stop();
203 if (!_currentItem) return; 216 if (!_currentItem) return;
217 QPopupMenu *pop = _currentItem->popupMenu();
218 if (pop) pop->popup( QCursor::pos() );
204} 219}
205 220
@@ -214,5 +229,12 @@ void MainWindow::searchStringChanged()
214{ 229{
215 searchTimer->stop(); 230 searchTimer->stop();
216 QRegExp re( _searchString, actionCaseSensitiv->isOn(), actionWildcards->isOn() ); 231 QString ss = _searchString;
232 //ss = Global::stringQuote( _searchString );
233 //if (actionWholeWordsOnly->isOn())
234 // ss = "\\s"+_searchString+"\\s";
235 qDebug(" set searchString >%s<",ss.latin1());
236 QRegExp re( ss );
237 re.setCaseSensitive( actionCaseSensitiv->isOn() );
238 re.setWildcard( actionWildcards->isOn() );
217 for (SearchGroup *s = searches.first(); s != 0; s = searches.next() ) 239 for (SearchGroup *s = searches.first(); s != 0; s = searches.next() )
218 s->setSearch( re ); 240 s->setSearch( re );
@@ -227,5 +249,5 @@ void MainWindow::searchAll()
227} 249}
228 250
229void MainWindow::slotAction( int act) 251void MainWindow::slotAction( int act )
230{ 252{
231 if (_currentItem->rtti() == OListViewItem::Result){ 253 if (_currentItem->rtti() == OListViewItem::Result){
@@ -236,2 +258,7 @@ void MainWindow::slotAction( int act)
236} 258}
237 259
260void MainWindow::optionChanged(int i)
261{
262 qDebug("optionChanged(%i)",i);
263 searchStringChanged();
264}