summaryrefslogtreecommitdiff
path: root/core/pim/osearch/mainwindow.cpp
Side-by-side diff
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 @@
#include <qpe/qpeapplication.h>
#include <qpe/config.h>
+#include <qpe/global.h>
#include <qaction.h>
#include <qmessagebox.h>
@@ -85,5 +86,4 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) :
searches.append( new AdressSearch( resultsList, tr("adressbook") ) );
- makeMenu();
setCentralWidget( mainFrame );
@@ -97,4 +97,5 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) :
connect(buttonGroupActions, SIGNAL(clicked(int)), SLOT( slotAction(int) ) );
+ makeMenu();
Config cfg( "osearch", Config::User );
@@ -102,4 +103,5 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) :
actionCaseSensitiv->setOn( cfg.readBoolEntry( "caseSensitiv", false ) );
actionWildcards->setOn( cfg.readBoolEntry( "wildcards", false ) );
+// actionWholeWordsOnly->setOn( cfg.readBoolEntry( "whole_words_only", false ) );
}
@@ -118,5 +120,16 @@ void MainWindow::makeMenu()
menuBar->insertItem( tr( "Search" ), searchMenu );
menuBar->insertItem( tr( "Settings" ), cfgMenu );
+
+ //SETTINGS MENU
cfgMenu->insertItem( tr( "Search" ), searchOptions );
+ QPopupMenu *pop;
+ for (SearchGroup *s = searches.first(); s != 0; s = searches.next() ){
+ pop = s->popupMenu();
+ if (pop){
+ qDebug("inserting settings menu for %s",s->text(0).latin1());
+ cfgMenu->insertItem( s->text(0), pop );
+ //connect( pop, SIGNAL( activated(int) ), SLOT( optionChanged(int) ) );
+ }
+ }
@@ -127,6 +140,9 @@ void MainWindow::makeMenu()
SearchAllAction->addTo( searchMenu );
searchMenu->insertItem( tr( "Options" ), searchOptions );
+ //connect( searchOptions, SIGNAL( activated(int) ), SLOT( optionChanged(int) ) );
//SEARCH OPTIONS
+ //actionWholeWordsOnly = new QAction( tr("Whole words only"),QString::null, 0, this, 0, true );
+ //actionWholeWordsOnly->addTo( searchOptions );
actionCaseSensitiv = new QAction( tr("Case sensitiv"),QString::null, 0, this, 0, true );
actionCaseSensitiv->addTo( searchOptions );
@@ -152,4 +168,5 @@ MainWindow::~MainWindow()
cfg.writeEntry( "caseSensitiv", actionCaseSensitiv->isOn() );
cfg.writeEntry( "wildcards", actionWildcards->isOn() );
+ //cfg.writeEntry( "whole_words_only", actionWholeWordsOnly->isOn() );
}
@@ -183,12 +200,7 @@ void MainWindow::setCurrent(QListViewItem *item)
}
_buttonCount = acts.count();
-// buttonShow = new QPushButton( detailsFrame, "Show" ) ;
-// buttonShow->setText( "test" );
-// buttonLayout->addWidget( buttonShow, 0 );
-// buttonGroupActions->insert(buttonShow);
detailsFrame->show();
}else detailsFrame->hide();
- //_currentItem = (OListViewItem*)item;
- popupTimer->start( 300 );
+ popupTimer->start( 300, true );
}
@@ -201,5 +213,8 @@ void MainWindow::showPopup()
{
qDebug("showPopup");
+ popupTimer->stop();
if (!_currentItem) return;
+ QPopupMenu *pop = _currentItem->popupMenu();
+ if (pop) pop->popup( QCursor::pos() );
}
@@ -214,5 +229,12 @@ void MainWindow::searchStringChanged()
{
searchTimer->stop();
- QRegExp re( _searchString, actionCaseSensitiv->isOn(), actionWildcards->isOn() );
+ QString ss = _searchString;
+ //ss = Global::stringQuote( _searchString );
+// if (actionWholeWordsOnly->isOn())
+// ss = "\\s"+_searchString+"\\s";
+ qDebug(" set searchString >%s<",ss.latin1());
+ QRegExp re( ss );
+ re.setCaseSensitive( actionCaseSensitiv->isOn() );
+ re.setWildcard( actionWildcards->isOn() );
for (SearchGroup *s = searches.first(); s != 0; s = searches.next() )
s->setSearch( re );
@@ -227,5 +249,5 @@ void MainWindow::searchAll()
}
-void MainWindow::slotAction( int act)
+void MainWindow::slotAction( int act )
{
if (_currentItem->rtti() == OListViewItem::Result){
@@ -236,2 +258,7 @@ void MainWindow::slotAction( int act)
}
+void MainWindow::optionChanged(int i)
+{
+ qDebug("optionChanged(%i)",i);
+ searchStringChanged();
+}