summaryrefslogtreecommitdiff
authorzecke <zecke>2004-10-12 12:46:01 (UTC)
committer zecke <zecke>2004-10-12 12:46:01 (UTC)
commit2005178f060ca366f78624508400aec8a6b0d291 (patch) (unidiff)
treeb2d58d785341cc84c1224a36ee8ae4327170af55
parent363cc582d2a6c9b6fa1409bccaef861ea1bcce15 (diff)
downloadopie-2005178f060ca366f78624508400aec8a6b0d291.zip
opie-2005178f060ca366f78624508400aec8a6b0d291.tar.gz
opie-2005178f060ca366f78624508400aec8a6b0d291.tar.bz2
Minor GUI polishing
-Use 'better' icons and always QIconSet::Large -Make the 'Search For' Label to have the same color as the rest of the toolbar
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/osearch/adresssearch.cpp2
-rw-r--r--core/pim/osearch/applnksearch.cpp2
-rw-r--r--core/pim/osearch/datebooksearch.cpp2
-rw-r--r--core/pim/osearch/doclnksearch.cpp4
-rw-r--r--core/pim/osearch/mainwindow.cpp2
-rw-r--r--core/pim/osearch/todosearch.cpp2
6 files changed, 8 insertions, 6 deletions
diff --git a/core/pim/osearch/adresssearch.cpp b/core/pim/osearch/adresssearch.cpp
index f0495c6..e1f575d 100644
--- a/core/pim/osearch/adresssearch.cpp
+++ b/core/pim/osearch/adresssearch.cpp
@@ -1,60 +1,60 @@
1// 1//
2// 2//
3// C++ Implementation: $MODULE$ 3// C++ Implementation: $MODULE$
4// 4//
5// Description: 5// Description:
6// 6//
7// 7//
8// Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003 8// Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003
9// 9//
10// Copyright: See COPYING file that comes with this distribution 10// Copyright: See COPYING file that comes with this distribution
11// 11//
12// 12//
13#include "adresssearch.h" 13#include "adresssearch.h"
14#include "contactitem.h" 14#include "contactitem.h"
15 15
16#include <qpe/resource.h> 16#include <qpe/resource.h>
17 17
18//#include <qwhatsthis.h> 18//#include <qwhatsthis.h>
19 19
20using namespace Opie; 20using namespace Opie;
21AdressSearch::AdressSearch(QListView* parent, QString name): 21AdressSearch::AdressSearch(QListView* parent, QString name):
22 SearchGroup(parent, name) 22 SearchGroup(parent, name)
23{ 23{
24 _contacts = 0; 24 _contacts = 0;
25 QIconSet is = Resource::loadIconSet( "addressbook/AddressBookSmall" ); 25 QIconSet is = Resource::loadIconSet( "addressbook/AddressBook" );
26 setPixmap( 0, is.pixmap( QIconSet::Large, true ) ); 26 setPixmap( 0, is.pixmap( QIconSet::Large, true ) );
27 27
28 28
29 //QWhatsThis::add( this, QObject::tr("Search the addressbook") ); 29 //QWhatsThis::add( this, QObject::tr("Search the addressbook") );
30 /*QPixmap pix = Resource::loadPixmap( "addressbook/AddressBook" ); 30 /*QPixmap pix = Resource::loadPixmap( "addressbook/AddressBook" );
31 QImage img = pix.convertToImage(); 31 QImage img = pix.convertToImage();
32 img.smoothScale( 14, 14 ); 32 img.smoothScale( 14, 14 );
33 pix.convertFromImage( img ); 33 pix.convertFromImage( img );
34 setPixmap( 0, pix );*/ 34 setPixmap( 0, pix );*/
35} 35}
36 36
37 37
38AdressSearch::~AdressSearch() 38AdressSearch::~AdressSearch()
39{ 39{
40 delete _contacts; 40 delete _contacts;
41} 41}
42 42
43void AdressSearch::load() 43void AdressSearch::load()
44{ 44{
45 _contacts = new OPimContactAccess("osearch"); 45 _contacts = new OPimContactAccess("osearch");
46} 46}
47 47
48int AdressSearch::search() 48int AdressSearch::search()
49{ 49{
50 OPimRecordList<OPimContact> results = _contacts->matchRegexp(_search); 50 OPimRecordList<OPimContact> results = _contacts->matchRegexp(_search);
51 for (uint i = 0; i < results.count(); i++) { 51 for (uint i = 0; i < results.count(); i++) {
52 (void)new ContactItem( this, new OPimContact( results[i] )); 52 (void)new ContactItem( this, new OPimContact( results[i] ));
53 } 53 }
54 return results.count(); 54 return results.count();
55} 55}
56 56
57void AdressSearch::insertItem( void* ) 57void AdressSearch::insertItem( void* )
58{ 58{
59 59
60} 60}
diff --git a/core/pim/osearch/applnksearch.cpp b/core/pim/osearch/applnksearch.cpp
index 758baf2..474dbb2 100644
--- a/core/pim/osearch/applnksearch.cpp
+++ b/core/pim/osearch/applnksearch.cpp
@@ -1,69 +1,69 @@
1// 1//
2// 2//
3// C++ Implementation: $MODULE$ 3// C++ Implementation: $MODULE$
4// 4//
5// Description: 5// Description:
6// 6//
7// 7//
8// Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003 8// Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003
9// 9//
10// Copyright: See COPYING file that comes with this distribution 10// Copyright: See COPYING file that comes with this distribution
11// 11//
12// 12//
13#include "applnksearch.h" 13#include "applnksearch.h"
14#include "applnkitem.h" 14#include "applnkitem.h"
15 15
16#include <qpe/applnk.h> 16#include <qpe/applnk.h>
17#include <qpe/qpeapplication.h> 17#include <qpe/qpeapplication.h>
18#include <qpe/resource.h> 18#include <qpe/resource.h>
19 19
20 20
21AppLnkSearch::AppLnkSearch(QListView* parent, QString name): SearchGroup(parent, name) 21AppLnkSearch::AppLnkSearch(QListView* parent, QString name): SearchGroup(parent, name)
22{ 22{
23 _apps = 0; 23 _apps = 0;
24 QIconSet is = Resource::loadIconSet( "osearch/applicationsSmall" ); 24 QIconSet is = Resource::loadIconSet( "osearch/applications" );
25 //QIconSet is = Resource::loadIconSet( "AppsIcon" ); 25 //QIconSet is = Resource::loadIconSet( "AppsIcon" );
26 setPixmap( 0, is.pixmap( QIconSet::Large, true ) ); 26 setPixmap( 0, is.pixmap( QIconSet::Large, true ) );
27} 27}
28 28
29 29
30AppLnkSearch::~AppLnkSearch() 30AppLnkSearch::~AppLnkSearch()
31{ 31{
32 delete _apps; 32 delete _apps;
33} 33}
34 34
35 35
36void AppLnkSearch::load() 36void AppLnkSearch::load()
37{ 37{
38 _apps = new AppLnkSet(QPEApplication::qpeDir()); 38 _apps = new AppLnkSet(QPEApplication::qpeDir());
39} 39}
40 40
41int AppLnkSearch::search() 41int AppLnkSearch::search()
42{ 42{
43 QList<AppLnk> appList = _apps->children(); 43 QList<AppLnk> appList = _apps->children();
44 44
45 for ( AppLnk *app = appList.first(); app != 0; app = appList.next() ){ 45 for ( AppLnk *app = appList.first(); app != 0; app = appList.next() ){
46 if ( (_search.match( app->name() ) != -1) 46 if ( (_search.match( app->name() ) != -1)
47 || (_search.match(app->comment()) != -1) 47 || (_search.match(app->comment()) != -1)
48 || (_search.match(app->exec()) != -1) ) { 48 || (_search.match(app->exec()) != -1) ) {
49 insertItem( app ); 49 insertItem( app );
50 }else 50 }else
51 if (searchFile( app )) 51 if (searchFile( app ))
52 insertItem( app ); 52 insertItem( app );
53 qApp->processEvents( 100 ); 53 qApp->processEvents( 100 );
54 } 54 }
55 return _resultCount; 55 return _resultCount;
56} 56}
57 57
58void AppLnkSearch::insertItem( void *rec ) 58void AppLnkSearch::insertItem( void *rec )
59{ 59{
60 (void)new AppLnkItem( this, (AppLnk*)rec ); 60 (void)new AppLnkItem( this, (AppLnk*)rec );
61 _resultCount++; 61 _resultCount++;
62} 62}
63 63
64void AppLnkSearch::setSearch(QRegExp re) 64void AppLnkSearch::setSearch(QRegExp re)
65{ 65{
66 setOpen( false ); 66 setOpen( false );
67 SearchGroup::setSearch( re ); 67 SearchGroup::setSearch( re );
68} 68}
69 69
diff --git a/core/pim/osearch/datebooksearch.cpp b/core/pim/osearch/datebooksearch.cpp
index 1b44be2..ef3b006 100644
--- a/core/pim/osearch/datebooksearch.cpp
+++ b/core/pim/osearch/datebooksearch.cpp
@@ -1,93 +1,93 @@
1// 1//
2// 2//
3// C++ Implementation: $MODULE$ 3// C++ Implementation: $MODULE$
4// 4//
5// Description: 5// Description:
6// 6//
7// 7//
8// Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003 8// Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003
9// 9//
10// Copyright: See COPYING file that comes with this distribution 10// Copyright: See COPYING file that comes with this distribution
11// 11//
12// 12//
13#include "datebooksearch.h" 13#include "datebooksearch.h"
14#include "eventitem.h" 14#include "eventitem.h"
15 15
16#include <opie2/odebug.h> 16#include <opie2/odebug.h>
17#include <opie2/opimevent.h> 17#include <opie2/opimevent.h>
18#include <opie2/opimrecurrence.h> 18#include <opie2/opimrecurrence.h>
19 19
20#include <qpe/resource.h> 20#include <qpe/resource.h>
21#include <qpe/config.h> 21#include <qpe/config.h>
22 22
23#include <qaction.h> 23#include <qaction.h>
24#include <qpopupmenu.h> 24#include <qpopupmenu.h>
25 25
26 26
27 27
28DatebookSearch::DatebookSearch(QListView* parent, QString name) 28DatebookSearch::DatebookSearch(QListView* parent, QString name)
29: SearchGroup(parent, name), _dates(0), _popupMenu(0) 29: SearchGroup(parent, name), _dates(0), _popupMenu(0)
30{ 30{
31 QIconSet is = Resource::loadIconSet( "datebook/DateBookSmall" ); 31 QIconSet is = Resource::loadIconSet( "datebook/DateBook" );
32 setPixmap( 0, is.pixmap( QIconSet::Large, true ) ); 32 setPixmap( 0, is.pixmap( QIconSet::Large, true ) );
33 actionShowPastEvents = new QAction( QObject::tr("Show past events"),QString::null, 0, 0, 0, true ); 33 actionShowPastEvents = new QAction( QObject::tr("Show past events"),QString::null, 0, 0, 0, true );
34 actionSearchInDates = new QAction( QObject::tr("Search in dates"),QString::null, 0, 0, 0, true ); 34 actionSearchInDates = new QAction( QObject::tr("Search in dates"),QString::null, 0, 0, 0, true );
35 Config cfg( "osearch", Config::User ); 35 Config cfg( "osearch", Config::User );
36 cfg.setGroup( "datebook_settings" ); 36 cfg.setGroup( "datebook_settings" );
37 actionShowPastEvents->setOn( cfg.readBoolEntry( "show_past_events", false ) ); 37 actionShowPastEvents->setOn( cfg.readBoolEntry( "show_past_events", false ) );
38 actionSearchInDates->setOn( cfg.readBoolEntry( "search_in_dates", true ) ); 38 actionSearchInDates->setOn( cfg.readBoolEntry( "search_in_dates", true ) );
39} 39}
40 40
41DatebookSearch::~DatebookSearch() 41DatebookSearch::~DatebookSearch()
42{ 42{
43 odebug << "SAVE DATEBOOK SEARCH CONFIG" << oendl; 43 odebug << "SAVE DATEBOOK SEARCH CONFIG" << oendl;
44 Config cfg( "osearch", Config::User ); 44 Config cfg( "osearch", Config::User );
45 cfg.setGroup( "datebook_settings" ); 45 cfg.setGroup( "datebook_settings" );
46 cfg.writeEntry( "show_past_events", actionShowPastEvents->isOn() ); 46 cfg.writeEntry( "show_past_events", actionShowPastEvents->isOn() );
47 cfg.writeEntry( "search_in_dates", actionSearchInDates->isOn() ); 47 cfg.writeEntry( "search_in_dates", actionSearchInDates->isOn() );
48 delete _dates; 48 delete _dates;
49 delete _popupMenu; 49 delete _popupMenu;
50 delete actionShowPastEvents; 50 delete actionShowPastEvents;
51 delete actionSearchInDates; 51 delete actionSearchInDates;
52} 52}
53 53
54 54
55void DatebookSearch::load() 55void DatebookSearch::load()
56{ 56{
57 _dates = new ODateBookAccess(); 57 _dates = new ODateBookAccess();
58 _dates->load(); 58 _dates->load();
59} 59}
60 60
61int DatebookSearch::search() 61int DatebookSearch::search()
62{ 62{
63 OPimRecordList<OPimEvent> results = _dates->matchRegexp(_search); 63 OPimRecordList<OPimEvent> results = _dates->matchRegexp(_search);
64 for (uint i = 0; i < results.count(); i++) 64 for (uint i = 0; i < results.count(); i++)
65 insertItem( new OPimEvent( results[i] ) ); 65 insertItem( new OPimEvent( results[i] ) );
66 return _resultCount; 66 return _resultCount;
67} 67}
68 68
69void DatebookSearch::insertItem( void *rec ) 69void DatebookSearch::insertItem( void *rec )
70{ 70{
71 OPimEvent *ev = (OPimEvent*)rec; 71 OPimEvent *ev = (OPimEvent*)rec;
72 if ( !actionShowPastEvents->isOn() && 72 if ( !actionShowPastEvents->isOn() &&
73 ev->endDateTime() < QDateTime::currentDateTime() && 73 ev->endDateTime() < QDateTime::currentDateTime() &&
74 !ev->recurrence().doesRecur() 74 !ev->recurrence().doesRecur()
75 ) return; 75 ) return;
76 if ( !actionSearchInDates->isOn() && ( 76 if ( !actionSearchInDates->isOn() && (
77 ev->lastHitField() == Qtopia::StartDateTime || 77 ev->lastHitField() == Qtopia::StartDateTime ||
78 ev->lastHitField() == Qtopia::EndDateTime ) 78 ev->lastHitField() == Qtopia::EndDateTime )
79 ) return; 79 ) return;
80 new EventItem( this, ev ); 80 new EventItem( this, ev );
81 _resultCount++; 81 _resultCount++;
82} 82}
83 83
84QPopupMenu* DatebookSearch::popupMenu() 84QPopupMenu* DatebookSearch::popupMenu()
85{ 85{
86 if (!_popupMenu){ 86 if (!_popupMenu){
87 _popupMenu = new QPopupMenu( 0 ); 87 _popupMenu = new QPopupMenu( 0 );
88 actionShowPastEvents->addTo( _popupMenu ); 88 actionShowPastEvents->addTo( _popupMenu );
89 actionSearchInDates->addTo( _popupMenu ); 89 actionSearchInDates->addTo( _popupMenu );
90 } 90 }
91 return _popupMenu; 91 return _popupMenu;
92} 92}
93 93
diff --git a/core/pim/osearch/doclnksearch.cpp b/core/pim/osearch/doclnksearch.cpp
index 4631dce..3d91c1f 100644
--- a/core/pim/osearch/doclnksearch.cpp
+++ b/core/pim/osearch/doclnksearch.cpp
@@ -1,98 +1,98 @@
1// 1//
2// 2//
3// C++ Implementation: $MODULE$ 3// C++ Implementation: $MODULE$
4// 4//
5// Description: 5// Description:
6// 6//
7// 7//
8// Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003 8// Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003
9// 9//
10// Copyright: See COPYING file that comes with this distribution 10// Copyright: See COPYING file that comes with this distribution
11// 11//
12// 12//
13 13
14 14
15#include "doclnkitem.h" 15#include "doclnkitem.h"
16#include "doclnksearch.h" 16#include "doclnksearch.h"
17 17
18#include <opie2/owait.h> 18#include <opie2/owait.h>
19 19
20#include <qpe/applnk.h> 20#include <qpe/applnk.h>
21#include <qpe/config.h> 21#include <qpe/config.h>
22#include <qpe/resource.h> 22#include <qpe/resource.h>
23#include <qpe/qpeapplication.h> 23#include <qpe/qpeapplication.h>
24 24
25#include <qaction.h> 25#include <qaction.h>
26#include <qfile.h> 26#include <qfile.h>
27#include <qpopupmenu.h> 27#include <qpopupmenu.h>
28#include <qtextstream.h> 28#include <qtextstream.h>
29 29
30 30
31DocLnkSearch::DocLnkSearch(QListView* parent, QString name) 31DocLnkSearch::DocLnkSearch(QListView* parent, QString name)
32: AppLnkSearch(parent, name), _popupMenu(0) 32: AppLnkSearch(parent, name), _popupMenu(0)
33{ 33{
34 QIconSet is = Resource::loadIconSet( "osearch/documentsSmall" ); 34 QIconSet is = Resource::loadIconSet( "osearch/documents" );
35 setPixmap( 0, is.pixmap( QIconSet::Automatic, true ) ); 35 setPixmap( 0, is.pixmap( QIconSet::Large, true ) );
36 36
37 actionSearchInFiles = new QAction( QObject::tr("Search content"),QString::null, 0, 0, 0, true ); 37 actionSearchInFiles = new QAction( QObject::tr("Search content"),QString::null, 0, 0, 0, true );
38 Config cfg( "osearch", Config::User ); 38 Config cfg( "osearch", Config::User );
39 cfg.setGroup( "doclnk_settings" ); 39 cfg.setGroup( "doclnk_settings" );
40 actionSearchInFiles->setOn( cfg.readBoolEntry( "search_content", false ) ); 40 actionSearchInFiles->setOn( cfg.readBoolEntry( "search_content", false ) );
41} 41}
42 42
43 43
44DocLnkSearch::~DocLnkSearch() 44DocLnkSearch::~DocLnkSearch()
45{ 45{
46 Config cfg( "osearch", Config::User ); 46 Config cfg( "osearch", Config::User );
47 cfg.setGroup( "doclnk_settings" ); 47 cfg.setGroup( "doclnk_settings" );
48 cfg.writeEntry( "search_content", actionSearchInFiles->isOn() ); 48 cfg.writeEntry( "search_content", actionSearchInFiles->isOn() );
49} 49}
50 50
51void DocLnkSearch::load() 51void DocLnkSearch::load()
52{ 52{
53 _apps = new DocLnkSet(QPEApplication::documentDir()); 53 _apps = new DocLnkSet(QPEApplication::documentDir());
54} 54}
55 55
56bool DocLnkSearch::searchFile( AppLnk *app ) 56bool DocLnkSearch::searchFile( AppLnk *app )
57{ 57{
58 if (!actionSearchInFiles->isOn()) return false; 58 if (!actionSearchInFiles->isOn()) return false;
59 DocLnk *doc = (DocLnk*)app; 59 DocLnk *doc = (DocLnk*)app;
60 bool found = false; 60 bool found = false;
61 if ( doc->type().contains( "text" ) ){ 61 if ( doc->type().contains( "text" ) ){
62#ifdef NEW_OWAIT 62#ifdef NEW_OWAIT
63 QString ouput = QObject::tr("searching %1").arg(doc->file()); 63 QString ouput = QObject::tr("searching %1").arg(doc->file());
64 OWait( output ); 64 OWait( output );
65#endif 65#endif
66 QFile f(doc->file()); 66 QFile f(doc->file());
67 if ( f.open(IO_ReadOnly) ) { 67 if ( f.open(IO_ReadOnly) ) {
68 QTextStream t( &f ); 68 QTextStream t( &f );
69 while ( !t.eof() ) 69 while ( !t.eof() )
70 if (_search.match( t.readLine()) != -1) { 70 if (_search.match( t.readLine()) != -1) {
71 found = true; 71 found = true;
72 break; 72 break;
73 } 73 }
74 } 74 }
75 f.close(); 75 f.close();
76 } 76 }
77 return found; 77 return found;
78} 78}
79 79
80void DocLnkSearch::insertItem( void *rec ) 80void DocLnkSearch::insertItem( void *rec )
81{ 81{
82 (void)new DocLnkItem( this, (DocLnk*)rec ); 82 (void)new DocLnkItem( this, (DocLnk*)rec );
83 _resultCount++; 83 _resultCount++;
84} 84}
85 85
86 86
87QPopupMenu* DocLnkSearch::popupMenu() 87QPopupMenu* DocLnkSearch::popupMenu()
88{ 88{
89 if (!_popupMenu){ 89 if (!_popupMenu){
90 _popupMenu = new QPopupMenu( 0 ); 90 _popupMenu = new QPopupMenu( 0 );
91 actionSearchInFiles->addTo( _popupMenu ); 91 actionSearchInFiles->addTo( _popupMenu );
92 } 92 }
93 return _popupMenu; 93 return _popupMenu;
94 //(void) new DocLnkItem( this, (DocLnk*)rec ); 94 //(void) new DocLnkItem( this, (DocLnk*)rec );
95 // rec is undeclared here 95 // rec is undeclared here
96#warning FIXME 96#warning FIXME
97 _resultCount++; 97 _resultCount++;
98} 98}
diff --git a/core/pim/osearch/mainwindow.cpp b/core/pim/osearch/mainwindow.cpp
index 4589c9d..1d0331c 100644
--- a/core/pim/osearch/mainwindow.cpp
+++ b/core/pim/osearch/mainwindow.cpp
@@ -58,256 +58,258 @@ static const char* const image1_data[] = {
58". c None", 58". c None",
59"# c #000000", 59"# c #000000",
60"a c #ff0000", 60"a c #ff0000",
61"..............", 61"..............",
62"..##.......###", 62"..##.......###",
63".#aa#....##aa#", 63".#aa#....##aa#",
64"#aaaa#.##aaaa#", 64"#aaaa#.##aaaa#",
65".##aaa#aaaaa##", 65".##aaa#aaaaa##",
66"...#aaaaaaa#..", 66"...#aaaaaaa#..",
67"....#aaaaa#...", 67"....#aaaaa#...",
68"...#aaaaa#....", 68"...#aaaaa#....",
69"..#aaaaaaa#...", 69"..#aaaaaaa#...",
70".#aaaaaaaaa#..", 70".#aaaaaaaaa#..",
71"#aaaa###aaaa#.", 71"#aaaa###aaaa#.",
72"#aaa#..##aaa#.", 72"#aaa#..##aaa#.",
73"#aaa#...#aa#..", 73"#aaa#...#aa#..",
74".###.....##..."}; 74".###.....##..."};
75 75
76 76
77MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) : 77MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) :
78 QMainWindow( parent, name, f ), _currentItem(0) 78 QMainWindow( parent, name, f ), _currentItem(0)
79{ 79{
80 setCaption( tr("OSearch") ); 80 setCaption( tr("OSearch") );
81 81
82 setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding)); 82 setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
83 83
84 QFrame *mainFrame = new QFrame( this, "mainFrame" ); 84 QFrame *mainFrame = new QFrame( this, "mainFrame" );
85 mainFrame->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding)); 85 mainFrame->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
86 86
87 mainLayout = new QVBoxLayout( mainFrame ); 87 mainLayout = new QVBoxLayout( mainFrame );
88 mainLayout->setSpacing( 0 ); 88 mainLayout->setSpacing( 0 );
89 mainLayout->setMargin( 3 ); 89 mainLayout->setMargin( 3 );
90 90
91 resultsList = new OListView( mainFrame ); 91 resultsList = new OListView( mainFrame );
92 resultsList->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding)); 92 resultsList->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
93 mainLayout->addWidget( resultsList ); 93 mainLayout->addWidget( resultsList );
94 94
95 detailsFrame = new QFrame( mainFrame, "detailsFrame" ); 95 detailsFrame = new QFrame( mainFrame, "detailsFrame" );
96 QVBoxLayout *detailsLayout = new QVBoxLayout( detailsFrame ); 96 QVBoxLayout *detailsLayout = new QVBoxLayout( detailsFrame );
97 richEdit = new QTextView( detailsFrame ); 97 richEdit = new QTextView( detailsFrame );
98 QWhatsThis::add( richEdit, tr("The details of the current result") ); 98 QWhatsThis::add( richEdit, tr("The details of the current result") );
99 richEdit->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding)); 99 richEdit->setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
100 detailsLayout->addWidget( richEdit ); 100 detailsLayout->addWidget( richEdit );
101 101
102 buttonBox = new QHBox( mainFrame, "Button Box" ); 102 buttonBox = new QHBox( mainFrame, "Button Box" );
103 103
104 _buttonCount = 0; 104 _buttonCount = 0;
105 105
106 mainLayout->addWidget( detailsFrame ); 106 mainLayout->addWidget( detailsFrame );
107 mainLayout->addWidget( buttonBox ); 107 mainLayout->addWidget( buttonBox );
108 detailsFrame->hide(); 108 detailsFrame->hide();
109 buttonBox->hide(); 109 buttonBox->hide();
110 110
111 searches.append( new AppLnkSearch( resultsList, tr("Applications") ) ); 111 searches.append( new AppLnkSearch( resultsList, tr("Applications") ) );
112 searches.append( new DocLnkSearch( resultsList, tr("Documents") ) ); 112 searches.append( new DocLnkSearch( resultsList, tr("Documents") ) );
113 searches.append( new TodoSearch( resultsList, tr("Todo List") ) ); 113 searches.append( new TodoSearch( resultsList, tr("Todo List") ) );
114 searches.append( new DatebookSearch( resultsList, tr("Calendar") ) ); 114 searches.append( new DatebookSearch( resultsList, tr("Calendar") ) );
115 searches.append( new AdressSearch( resultsList, tr("Contacts") ) ); 115 searches.append( new AdressSearch( resultsList, tr("Contacts") ) );
116 116
117 setCentralWidget( mainFrame ); 117 setCentralWidget( mainFrame );
118 118
119 popupTimer = new QTimer(); 119 popupTimer = new QTimer();
120 searchTimer = new QTimer(); 120 searchTimer = new QTimer();
121 121
122 connect(popupTimer, SIGNAL(timeout()), SLOT(showPopup())); 122 connect(popupTimer, SIGNAL(timeout()), SLOT(showPopup()));
123 connect(searchTimer, SIGNAL(timeout()), SLOT(searchStringChanged())); 123 connect(searchTimer, SIGNAL(timeout()), SLOT(searchStringChanged()));
124 connect(resultsList, SIGNAL(pressed(QListViewItem*)), SLOT(setCurrent(QListViewItem*))); 124 connect(resultsList, SIGNAL(pressed(QListViewItem*)), SLOT(setCurrent(QListViewItem*)));
125 connect(resultsList, SIGNAL(clicked(QListViewItem*)), SLOT(stopTimer(QListViewItem*))); 125 connect(resultsList, SIGNAL(clicked(QListViewItem*)), SLOT(stopTimer(QListViewItem*)));
126 126
127 signalMapper = new QSignalMapper( this ); 127 signalMapper = new QSignalMapper( this );
128 128
129 connect(signalMapper, SIGNAL(mapped(int)), SLOT( slotAction(int) ) ); 129 connect(signalMapper, SIGNAL(mapped(int)), SLOT( slotAction(int) ) );
130 130
131 makeMenu(); 131 makeMenu();
132 132
133 Config cfg( "osearch", Config::User ); 133 Config cfg( "osearch", Config::User );
134 cfg.setGroup( "search_settings" ); 134 cfg.setGroup( "search_settings" );
135 actionCaseSensitiv->setOn( cfg.readBoolEntry( "caseSensitiv", false ) ); 135 actionCaseSensitiv->setOn( cfg.readBoolEntry( "caseSensitiv", false ) );
136 actionWildcards->setOn( cfg.readBoolEntry( "wildcards", false ) ); 136 actionWildcards->setOn( cfg.readBoolEntry( "wildcards", false ) );
137// actionWholeWordsOnly->setOn( cfg.readBoolEntry( "whole_words_only", false ) ); 137// actionWholeWordsOnly->setOn( cfg.readBoolEntry( "whole_words_only", false ) );
138} 138}
139 139
140void MainWindow::makeMenu() 140void MainWindow::makeMenu()
141{ 141{
142 QToolBar *toolBar = new QToolBar( this ); 142 QToolBar *toolBar = new QToolBar( this );
143 QToolBar *searchBar = new QToolBar(this); 143 QToolBar *searchBar = new QToolBar(this);
144 QMenuBar *menuBar = new QMenuBar( toolBar ); 144 QMenuBar *menuBar = new QMenuBar( toolBar );
145 QPopupMenu *searchMenu = new QPopupMenu( menuBar ); 145 QPopupMenu *searchMenu = new QPopupMenu( menuBar );
146// QPopupMenu *viewMenu = new QPopupMenu( menuBar ); 146// QPopupMenu *viewMenu = new QPopupMenu( menuBar );
147 QPopupMenu *cfgMenu = new QPopupMenu( menuBar ); 147 QPopupMenu *cfgMenu = new QPopupMenu( menuBar );
148 QPopupMenu *searchOptions = new QPopupMenu( cfgMenu ); 148 QPopupMenu *searchOptions = new QPopupMenu( cfgMenu );
149 149
150 setToolBarsMovable( false ); 150 setToolBarsMovable( false );
151 toolBar->setHorizontalStretchable( true ); 151 toolBar->setHorizontalStretchable( true );
152 menuBar->insertItem( tr( "Search" ), searchMenu ); 152 menuBar->insertItem( tr( "Search" ), searchMenu );
153 menuBar->insertItem( tr( "Settings" ), cfgMenu ); 153 menuBar->insertItem( tr( "Settings" ), cfgMenu );
154 154
155 //SETTINGS MENU 155 //SETTINGS MENU
156 cfgMenu->insertItem( tr( "Search" ), searchOptions ); 156 cfgMenu->insertItem( tr( "Search" ), searchOptions );
157 QPopupMenu *pop; 157 QPopupMenu *pop;
158 for (SearchGroup *s = searches.first(); s != 0; s = searches.next() ){ 158 for (SearchGroup *s = searches.first(); s != 0; s = searches.next() ){
159 pop = s->popupMenu(); 159 pop = s->popupMenu();
160 if (pop){ 160 if (pop){
161 cfgMenu->insertItem( s->text(0), pop ); 161 cfgMenu->insertItem( s->text(0), pop );
162 } 162 }
163 } 163 }
164 164
165 165
166 //SEARCH 166 //SEARCH
167 SearchAllAction = new QAction( tr("Search all"),QString::null, 0, this, 0 ); 167 SearchAllAction = new QAction( tr("Search all"),QString::null, 0, this, 0 );
168 SearchAllAction->setIconSet( Resource::loadIconSet( "find" ) ); 168 SearchAllAction->setIconSet( Resource::loadIconSet( "find" ) );
169 // QWhatsThis::add( SearchAllAction, tr("Search everything...") ); 169 // QWhatsThis::add( SearchAllAction, tr("Search everything...") );
170 connect( SearchAllAction, SIGNAL(activated()), this, SLOT(searchAll()) ); 170 connect( SearchAllAction, SIGNAL(activated()), this, SLOT(searchAll()) );
171 SearchAllAction->addTo( searchMenu ); 171 SearchAllAction->addTo( searchMenu );
172 searchMenu->insertItem( tr( "Options" ), searchOptions ); 172 searchMenu->insertItem( tr( "Options" ), searchOptions );
173 173
174 //SEARCH OPTIONS 174 //SEARCH OPTIONS
175 //actionWholeWordsOnly = new QAction( tr("Whole words only"),QString::null, 0, this, 0, true ); 175 //actionWholeWordsOnly = new QAction( tr("Whole words only"),QString::null, 0, this, 0, true );
176 //actionWholeWordsOnly->addTo( searchOptions ); 176 //actionWholeWordsOnly->addTo( searchOptions );
177 actionCaseSensitiv = new QAction( tr("Case sensitive"),QString::null, 0, this, 0, true ); 177 actionCaseSensitiv = new QAction( tr("Case sensitive"),QString::null, 0, this, 0, true );
178 actionCaseSensitiv->addTo( searchOptions ); 178 actionCaseSensitiv->addTo( searchOptions );
179 actionWildcards = new QAction( tr("Use wildcards"),QString::null, 0, this, 0, true ); 179 actionWildcards = new QAction( tr("Use wildcards"),QString::null, 0, this, 0, true );
180 actionWildcards->addTo( searchOptions ); 180 actionWildcards->addTo( searchOptions );
181 181
182 //SEARCH BAR 182 //SEARCH BAR
183 LabelEnterText = new QLabel( searchBar, "Label" ); 183 LabelEnterText = new QLabel( searchBar, "Label" );
184 LabelEnterText->setAutoMask( FALSE ); 184 LabelEnterText->setAutoMask( FALSE );
185 LabelEnterText->setText( tr( "Search for: " ) ); 185 LabelEnterText->setText( tr( "Search for: " ) );
186 LabelEnterText->setFrameStyle( QFrame::NoFrame );
187 LabelEnterText->setBackgroundMode( PaletteButton );
186 188
187 addToolBar( searchBar, "Search", QMainWindow::Top, TRUE ); 189 addToolBar( searchBar, "Search", QMainWindow::Top, TRUE );
188 QLineEdit *searchEdit = new QLineEdit( searchBar, "seachEdit" ); 190 QLineEdit *searchEdit = new QLineEdit( searchBar, "seachEdit" );
189 QWhatsThis::add( searchEdit, tr("Enter your search terms here") ); 191 QWhatsThis::add( searchEdit, tr("Enter your search terms here") );
190 searchEdit->setFocus(); 192 searchEdit->setFocus();
191 searchBar->setHorizontalStretchable( TRUE ); 193 searchBar->setHorizontalStretchable( TRUE );
192 searchBar->setStretchableWidget( searchEdit ); 194 searchBar->setStretchableWidget( searchEdit );
193 195
194 //Search button 196 //Search button
195 SearchAllAction->addTo( searchBar ); 197 SearchAllAction->addTo( searchBar );
196 198
197 //image ripped of off opie-login/loginwindow.cpp 199 //image ripped of off opie-login/loginwindow.cpp
198 QPixmap image1( ( const char** ) image1_data ); 200 QPixmap image1( ( const char** ) image1_data );
199 201
200 //Clear text 202 //Clear text
201 ClearSearchText = new QToolButton( searchBar, "ClearSearchText"); 203 ClearSearchText = new QToolButton( searchBar, "ClearSearchText");
202 ClearSearchText->setText( "" ); 204 ClearSearchText->setText( "" );
203 ClearSearchText->setPixmap( image1 ); 205 ClearSearchText->setPixmap( image1 );
204 206
205 connect( searchEdit, SIGNAL( textChanged(const QString&) ),this, SLOT( setSearch(const QString&) ) ); 207 connect( searchEdit, SIGNAL( textChanged(const QString&) ),this, SLOT( setSearch(const QString&) ) );
206 connect( ClearSearchText, SIGNAL( clicked() ), searchEdit, SLOT( clear() ) ); 208 connect( ClearSearchText, SIGNAL( clicked() ), searchEdit, SLOT( clear() ) );
207 209
208} 210}
209 211
210MainWindow::~MainWindow() 212MainWindow::~MainWindow()
211{ 213{
212 Config cfg( "osearch", Config::User ); 214 Config cfg( "osearch", Config::User );
213 cfg.setGroup( "search_settings" ); 215 cfg.setGroup( "search_settings" );
214 cfg.writeEntry( "caseSensitiv", actionCaseSensitiv->isOn() ); 216 cfg.writeEntry( "caseSensitiv", actionCaseSensitiv->isOn() );
215 cfg.writeEntry( "wildcards", actionWildcards->isOn() ); 217 cfg.writeEntry( "wildcards", actionWildcards->isOn() );
216 //cfg.writeEntry( "whole_words_only", actionWholeWordsOnly->isOn() ); 218 //cfg.writeEntry( "whole_words_only", actionWholeWordsOnly->isOn() );
217} 219}
218 220
219void MainWindow::setCurrent(QListViewItem *item) 221void MainWindow::setCurrent(QListViewItem *item)
220{ 222{
221 if (!item) return; 223 if (!item) return;
222 _currentItem = (OListViewItem*)item; 224 _currentItem = (OListViewItem*)item;
223 //_currentItem = dynamic_cast<OListViewItem*>(item); 225 //_currentItem = dynamic_cast<OListViewItem*>(item);
224 if (_currentItem->rtti() == OListViewItem::Result){ 226 if (_currentItem->rtti() == OListViewItem::Result){
225 ResultItem *res = (ResultItem*)item; 227 ResultItem *res = (ResultItem*)item;
226 // ResultItem *res = dynamic_cast<ResultItem*>(item); 228 // ResultItem *res = dynamic_cast<ResultItem*>(item);
227 richEdit->setText( res->toRichText() ); 229 richEdit->setText( res->toRichText() );
228 QIntDict<QString> acts = res->actions(); 230 QIntDict<QString> acts = res->actions();
229 QButton *button; 231 QButton *button;
230 for (uint i = 0; i < acts.count(); i++){ 232 for (uint i = 0; i < acts.count(); i++){
231 button = buttonMap[i]; 233 button = buttonMap[i];
232 if (!button) { 234 if (!button) {
233 owarn << " no button for " << *acts[i] << oendl; 235 owarn << " no button for " << *acts[i] << oendl;
234 button = new QPushButton( buttonBox ); 236 button = new QPushButton( buttonBox );
235 buttonMap.insert( i, button ); 237 buttonMap.insert( i, button );
236 signalMapper->setMapping(button, i ); 238 signalMapper->setMapping(button, i );
237 connect(button, SIGNAL(clicked() ), signalMapper, SLOT(map() ) ); 239 connect(button, SIGNAL(clicked() ), signalMapper, SLOT(map() ) );
238 } 240 }
239 button->setText( *acts[i] ); 241 button->setText( *acts[i] );
240 button->show(); 242 button->show();
241 } 243 }
242 for (uint i = acts.count(); i < _buttonCount; i++){ 244 for (uint i = acts.count(); i < _buttonCount; i++){
243 button = buttonMap[i]; 245 button = buttonMap[i];
244 if (button) button->hide(); 246 if (button) button->hide();
245 } 247 }
246 _buttonCount = acts.count(); 248 _buttonCount = acts.count();
247 detailsFrame->show(); 249 detailsFrame->show();
248 buttonBox->show(); 250 buttonBox->show();
249 251
250 }else { 252 }else {
251 detailsFrame->hide(); 253 detailsFrame->hide();
252 buttonBox->hide(); 254 buttonBox->hide();
253 } 255 }
254 popupTimer->start( 300, true ); 256 popupTimer->start( 300, true );
255} 257}
256 258
257void MainWindow::stopTimer(QListViewItem*) 259void MainWindow::stopTimer(QListViewItem*)
258{ 260{
259 popupTimer->stop(); 261 popupTimer->stop();
260} 262}
261 263
262void MainWindow::showPopup() 264void MainWindow::showPopup()
263{ 265{
264 popupTimer->stop(); 266 popupTimer->stop();
265 if (!_currentItem) return; 267 if (!_currentItem) return;
266 QPopupMenu *pop = _currentItem->popupMenu(); 268 QPopupMenu *pop = _currentItem->popupMenu();
267 if (pop) pop->popup( QCursor::pos() ); 269 if (pop) pop->popup( QCursor::pos() );
268} 270}
269 271
270void MainWindow::setSearch( const QString &key ) 272void MainWindow::setSearch( const QString &key )
271{ 273{
272 searchTimer->stop(); 274 searchTimer->stop();
273 _searchString = key; 275 _searchString = key;
274 searchTimer->start( 300 ); 276 searchTimer->start( 300 );
275} 277}
276 278
277void MainWindow::searchStringChanged() 279void MainWindow::searchStringChanged()
278{ 280{
279#ifdef NEW_OWAIT 281#ifdef NEW_OWAIT
280 OWait("setting search string"); 282 OWait("setting search string");
281#endif 283#endif
282 searchTimer->stop(); 284 searchTimer->stop();
283 QString ss = _searchString; 285 QString ss = _searchString;
284 //ss = Global::stringQuote( _searchString ); 286 //ss = Global::stringQuote( _searchString );
285 //if (actionWholeWordsOnly->isOn()) 287 //if (actionWholeWordsOnly->isOn())
286 // ss = "\\s"+_searchString+"\\s"; 288 // ss = "\\s"+_searchString+"\\s";
287 //Opie:Core::odebug << " set searchString >" << ss << "<" << oendl; 289 //Opie:Core::odebug << " set searchString >" << ss << "<" << oendl;
288 QRegExp re( ss ); 290 QRegExp re( ss );
289 re.setCaseSensitive( actionCaseSensitiv->isOn() ); 291 re.setCaseSensitive( actionCaseSensitiv->isOn() );
290 re.setWildcard( actionWildcards->isOn() ); 292 re.setWildcard( actionWildcards->isOn() );
291 for (SearchGroup *s = searches.first(); s != 0; s = searches.next() ) 293 for (SearchGroup *s = searches.first(); s != 0; s = searches.next() )
292 s->setSearch( re ); 294 s->setSearch( re );
293} 295}
294 296
295void MainWindow::searchAll() 297void MainWindow::searchAll()
296{ 298{
297#ifdef NEW_OWAIT 299#ifdef NEW_OWAIT
298 OWait("searching..."); 300 OWait("searching...");
299#endif 301#endif
300 for (SearchGroup *s = searches.first(); s != 0; s = searches.next() ){ 302 for (SearchGroup *s = searches.first(); s != 0; s = searches.next() ){
301 s->doSearch(); 303 s->doSearch();
302 //resultsList->repaint(); 304 //resultsList->repaint();
303 } 305 }
304} 306}
305 307
306void MainWindow::slotAction( int act ) 308void MainWindow::slotAction( int act )
307{ 309{
308 if ( _currentItem && _currentItem->rtti() == OListViewItem::Result){ 310 if ( _currentItem && _currentItem->rtti() == OListViewItem::Result){
309 ResultItem *res = (ResultItem*)_currentItem; 311 ResultItem *res = (ResultItem*)_currentItem;
310 // ResultItem *res = dynamic_cast<ResultItem*>(item); 312 // ResultItem *res = dynamic_cast<ResultItem*>(item);
311 res->action(act); 313 res->action(act);
312 } 314 }
313} 315}
diff --git a/core/pim/osearch/todosearch.cpp b/core/pim/osearch/todosearch.cpp
index 48fa909..1ed7370 100644
--- a/core/pim/osearch/todosearch.cpp
+++ b/core/pim/osearch/todosearch.cpp
@@ -1,79 +1,79 @@
1// 1//
2// 2//
3// C++ Implementation: $MODULE$ 3// C++ Implementation: $MODULE$
4// 4//
5// Description: 5// Description:
6// 6//
7// 7//
8// Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003 8// Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003
9// 9//
10// Copyright: See COPYING file that comes with this distribution 10// Copyright: See COPYING file that comes with this distribution
11// 11//
12// 12//
13#include "todosearch.h" 13#include "todosearch.h"
14#include "todoitem.h" 14#include "todoitem.h"
15 15
16#include <qpe/resource.h> 16#include <qpe/resource.h>
17#include <qpe/config.h> 17#include <qpe/config.h>
18 18
19#include <qaction.h> 19#include <qaction.h>
20#include <qpopupmenu.h> 20#include <qpopupmenu.h>
21 21
22using namespace Opie; 22using namespace Opie;
23TodoSearch::TodoSearch(QListView* parent, QString name) 23TodoSearch::TodoSearch(QListView* parent, QString name)
24: SearchGroup(parent, name), _todos(0), _popupMenu(0) 24: SearchGroup(parent, name), _todos(0), _popupMenu(0)
25{ 25{
26 //AppLnkSet als(QPEApplication::qpeDir()); 26 //AppLnkSet als(QPEApplication::qpeDir());
27 //setPixmap( 0, als.findExec("todolist")->pixmap() ); 27 //setPixmap( 0, als.findExec("todolist")->pixmap() );
28 QIconSet is = Resource::loadIconSet( "todo/TodoListSmall" ); 28 QIconSet is = Resource::loadIconSet( "todo/TodoList" );
29 setPixmap( 0, is.pixmap( QIconSet::Large, true ) ); 29 setPixmap( 0, is.pixmap( QIconSet::Large, true ) );
30 actionShowCompleted = new QAction( QObject::tr("Show completed tasks"),QString::null, 0, 0, 0, true ); 30 actionShowCompleted = new QAction( QObject::tr("Show completed tasks"),QString::null, 0, 0, 0, true );
31 Config cfg( "osearch", Config::User ); 31 Config cfg( "osearch", Config::User );
32 cfg.setGroup( "todo_settings" ); 32 cfg.setGroup( "todo_settings" );
33 actionShowCompleted->setOn( cfg.readBoolEntry( "show_completed_tasks", false ) ); 33 actionShowCompleted->setOn( cfg.readBoolEntry( "show_completed_tasks", false ) );
34 34
35} 35}
36 36
37 37
38TodoSearch::~TodoSearch() 38TodoSearch::~TodoSearch()
39{ 39{
40 Config cfg( "osearch", Config::User ); 40 Config cfg( "osearch", Config::User );
41 cfg.setGroup( "todo_settings" ); 41 cfg.setGroup( "todo_settings" );
42 cfg.writeEntry( "show_completed_tasks", actionShowCompleted->isOn() ); 42 cfg.writeEntry( "show_completed_tasks", actionShowCompleted->isOn() );
43 delete _popupMenu; 43 delete _popupMenu;
44 delete actionShowCompleted; 44 delete actionShowCompleted;
45 delete _todos; 45 delete _todos;
46} 46}
47 47
48 48
49void TodoSearch::load() 49void TodoSearch::load()
50{ 50{
51 _todos = new OPimTodoAccess(); 51 _todos = new OPimTodoAccess();
52 _todos->load(); 52 _todos->load();
53} 53}
54 54
55int TodoSearch::search() 55int TodoSearch::search()
56{ 56{
57 OPimRecordList<OPimTodo> results = _todos->matchRegexp(_search); 57 OPimRecordList<OPimTodo> results = _todos->matchRegexp(_search);
58 for (uint i = 0; i < results.count(); i++) 58 for (uint i = 0; i < results.count(); i++)
59 insertItem( new OPimTodo( results[i] )); 59 insertItem( new OPimTodo( results[i] ));
60 return _resultCount; 60 return _resultCount;
61} 61}
62 62
63void TodoSearch::insertItem( void *rec ) 63void TodoSearch::insertItem( void *rec )
64{ 64{
65 OPimTodo *todo = (OPimTodo*)rec; 65 OPimTodo *todo = (OPimTodo*)rec;
66 if (!actionShowCompleted->isOn() && 66 if (!actionShowCompleted->isOn() &&
67 todo->isCompleted() ) return; 67 todo->isCompleted() ) return;
68 (void)new TodoItem( this, todo ); 68 (void)new TodoItem( this, todo );
69 _resultCount++; 69 _resultCount++;
70} 70}
71 71
72QPopupMenu* TodoSearch::popupMenu() 72QPopupMenu* TodoSearch::popupMenu()
73{ 73{
74 if (!_popupMenu){ 74 if (!_popupMenu){
75 _popupMenu = new QPopupMenu( 0 ); 75 _popupMenu = new QPopupMenu( 0 );
76 actionShowCompleted->addTo( _popupMenu ); 76 actionShowCompleted->addTo( _popupMenu );
77 } 77 }
78 return _popupMenu; 78 return _popupMenu;
79} 79}