summaryrefslogtreecommitdiff
authoreilers <eilers>2002-10-20 12:24:37 (UTC)
committer eilers <eilers>2002-10-20 12:24:37 (UTC)
commit4b27ac49b4027ffd59d2606f1aceea313446aede (patch) (unidiff)
treec03c578b727fbb95ffd0e2f2b8a2b6275ca781d5
parent82689364fd558ccd28253961204e6b3eb9e32b03 (diff)
downloadopie-4b27ac49b4027ffd59d2606f1aceea313446aede.zip
opie-4b27ac49b4027ffd59d2606f1aceea313446aede.tar.gz
opie-4b27ac49b4027ffd59d2606f1aceea313446aede.tar.bz2
Connected configuration to search engine
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/TODO18
-rw-r--r--core/pim/addressbook/abtable.cpp3
-rw-r--r--core/pim/addressbook/abtable.h2
-rw-r--r--core/pim/addressbook/addressbook.cpp2
4 files changed, 14 insertions, 11 deletions
diff --git a/core/pim/addressbook/TODO b/core/pim/addressbook/TODO
index 0accd87..4daa2a8 100644
--- a/core/pim/addressbook/TODO
+++ b/core/pim/addressbook/TODO
@@ -1,31 +1,33 @@
1Stuff todo: 1Stuff todo until OPIE 1.0 :
2 2
3Urgent: 3Urgent:
4 4
5- Font menu is invisible using german translation 5- Font menu is invisible using german translation
6 6
7Important: 7Important:
8 8
9- Finishing of new View functions (List, Phonebook...) 9- Picker: Activated letter schould be more visible
10- Reload if contacts were changed externally
11- "What's this" should be added 10- "What's this" should be added
12- The names of the countries are sorted by there english names, only..
13 Even if they are translated.. :S
14- Store last settings of combo-boxes 11- Store last settings of combo-boxes
15- Mail-Icon is missing 12- Mail-Icon is missing
13- Finishing of new View functions (List, Phonebook...)
14- The names of the countries are sorted by there english names, only..
15 Even if they are translated.. :S
16- Reload if contacts were changed externally
16 17
17Less important: 18Less important:
18 19
19- Find widget should be replaced by something like
20 qpdf has.
21- The picker (alphabetical sort widget) should be 20- The picker (alphabetical sort widget) should be
22 placed verticaly or horizontally (configurable) 21 placed verticaly or horizontally (configurable)
23- Use advanced database functions in abtable to decrease 22- Use advanced database functions in abtable to decrease
24 memory footprint and to make everything more easy ! 23 memory footprint and to make everything more easy !
25 (abtable should store Iterator for selected Category) 24 (abtable should store Iterator for selected Category)
26 25
27Should be Fixed (not absolute sure, need validation): 26Should be Fixed (not absolute sure, need further validation):
28- "Nonenglish" translation bug has to be fixed. 27- "Nonenglish" translation bug has to be fixed.
29 28
30Fixed: 29Fixed:
31- Syncing: abtable not reloaded after sync. 30- Syncing: abtable not reloaded after sync.
31- Find widget should be replaced by something like
32 qpdf has.
33- Adding a configuration dialog \ No newline at end of file
diff --git a/core/pim/addressbook/abtable.cpp b/core/pim/addressbook/abtable.cpp
index 97f4a8f..d4dcf7b 100644
--- a/core/pim/addressbook/abtable.cpp
+++ b/core/pim/addressbook/abtable.cpp
@@ -605,86 +605,87 @@ void AbTable::journalFreeRemove( int row )
605#if QT_VERSION <= 230 605#if QT_VERSION <= 230
606#ifndef SINGLE_APP 606#ifndef SINGLE_APP
607void QTable::paintEmptyArea( QPainter *p, int cx, int cy, int cw, int ch ) 607void QTable::paintEmptyArea( QPainter *p, int cx, int cy, int cw, int ch )
608{ 608{
609 // Region of the rect we should draw 609 // Region of the rect we should draw
610 QRegion reg( QRect( cx, cy, cw, ch ) ); 610 QRegion reg( QRect( cx, cy, cw, ch ) );
611 // Subtract the table from it 611 // Subtract the table from it
612 reg = reg.subtract( QRect( QPoint( 0, 0 ), tableSize() ) ); 612 reg = reg.subtract( QRect( QPoint( 0, 0 ), tableSize() ) );
613 // And draw the rectangles (transformed as needed) 613 // And draw the rectangles (transformed as needed)
614 QArray<QRect> r = reg.rects(); 614 QArray<QRect> r = reg.rects();
615 for (unsigned int i=0; i<r.count(); i++) 615 for (unsigned int i=0; i<r.count(); i++)
616 p->fillRect( r[i], colorGroup().brush( QColorGroup::Base ) ); 616 p->fillRect( r[i], colorGroup().brush( QColorGroup::Base ) );
617} 617}
618#endif 618#endif
619#endif 619#endif
620 620
621 621
622// int AbTable::rowHeight( int ) const 622// int AbTable::rowHeight( int ) const
623// { 623// {
624// return 18; 624// return 18;
625// } 625// }
626 626
627// int AbTable::rowPos( int row ) const 627// int AbTable::rowPos( int row ) const
628// { 628// {
629// return 18*row; 629// return 18*row;
630// } 630// }
631 631
632// int AbTable::rowAt( int pos ) const 632// int AbTable::rowAt( int pos ) const
633// { 633// {
634// return QMIN( pos/18, numRows()-1 ); 634// return QMIN( pos/18, numRows()-1 );
635// } 635// }
636 636
637void AbTable::slotDoFind( const QString &findString, bool caseSensitive, 637void AbTable::slotDoFind( const QString &findString, bool caseSensitive, bool useRegExp,
638 bool backwards, QString cat /* int category */ ) 638 bool backwards, QString cat /* int category */ )
639{ 639{
640 int category = 0; 640 int category = 0;
641 641
642 // Use the current Category if nothing else selected 642 // Use the current Category if nothing else selected
643 if ( cat.isEmpty() ) 643 if ( cat.isEmpty() )
644 category = mCat.id( "Contacts", showCat ); 644 category = mCat.id( "Contacts", showCat );
645 else{ 645 else{
646 category = mCat.id("Contacts", cat ); 646 category = mCat.id("Contacts", cat );
647 } 647 }
648 648
649 qWarning ("Found in Category %d", category); 649 qWarning ("Found in Category %d", category);
650 650
651 if ( currFindRow < -1 ) 651 if ( currFindRow < -1 )
652 currFindRow = - 1; 652 currFindRow = - 1;
653 653
654 clearSelection( TRUE ); 654 clearSelection( TRUE );
655 int rows, row; 655 int rows, row;
656 AbTableItem *ati; 656 AbTableItem *ati;
657 QRegExp r( findString ); 657 QRegExp r( findString );
658 r.setCaseSensitive( caseSensitive ); 658 r.setCaseSensitive( caseSensitive );
659 r.setWildcard( !useRegExp );
659 rows = numRows(); 660 rows = numRows();
660 static bool wrapAround = true; 661 static bool wrapAround = true;
661 662
662 if ( !backwards ) { 663 if ( !backwards ) {
663 for ( row = currFindRow + 1; row < rows; row++ ) { 664 for ( row = currFindRow + 1; row < rows; row++ ) {
664 ati = static_cast<AbTableItem*>( item(row, 0) ); 665 ati = static_cast<AbTableItem*>( item(row, 0) );
665 if ( contactCompare( contactList[ati], r, category ) ) 666 if ( contactCompare( contactList[ati], r, category ) )
666 break; 667 break;
667 } 668 }
668 } else { 669 } else {
669 for ( row = currFindRow - 1; row > -1; row-- ) { 670 for ( row = currFindRow - 1; row > -1; row-- ) {
670 ati = static_cast<AbTableItem*>( item(row, 0) ); 671 ati = static_cast<AbTableItem*>( item(row, 0) );
671 if ( contactCompare( contactList[ati], r, category ) ) 672 if ( contactCompare( contactList[ati], r, category ) )
672 break; 673 break;
673 } 674 }
674 } 675 }
675 if ( row >= rows || row < 0 ) { 676 if ( row >= rows || row < 0 ) {
676 if ( row < 0 ) 677 if ( row < 0 )
677 currFindRow = rows; 678 currFindRow = rows;
678 else 679 else
679 currFindRow = -1; 680 currFindRow = -1;
680 681
681 if ( wrapAround ) 682 if ( wrapAround )
682 emit signalWrapAround(); 683 emit signalWrapAround();
683 else 684 else
684 emit signalNotFound(); 685 emit signalNotFound();
685 686
686 wrapAround = !wrapAround; 687 wrapAround = !wrapAround;
687 } else { 688 } else {
688 currFindRow = row; 689 currFindRow = row;
689 QTableSelection foundSelection; 690 QTableSelection foundSelection;
690 foundSelection.init( currFindRow, 0 ); 691 foundSelection.init( currFindRow, 0 );
diff --git a/core/pim/addressbook/abtable.h b/core/pim/addressbook/abtable.h
index 1039e66..b445874 100644
--- a/core/pim/addressbook/abtable.h
+++ b/core/pim/addressbook/abtable.h
@@ -70,65 +70,65 @@ public:
70 OContact currentEntry(); 70 OContact currentEntry();
71 void replaceCurrentEntry( const OContact &newContact ); 71 void replaceCurrentEntry( const OContact &newContact );
72 72
73 void init(); 73 void init();
74 74
75 void deleteCurrentEntry(); 75 void deleteCurrentEntry();
76 void clear(); 76 void clear();
77 void clearFindRow() { currFindRow = -1; } 77 void clearFindRow() { currFindRow = -1; }
78 void loadFields(); 78 void loadFields();
79 void refresh(); 79 void refresh();
80 bool save(); 80 bool save();
81 void load(); 81 void load();
82 void reload(); 82 void reload();
83 83
84 // addresspicker mode 84 // addresspicker mode
85 void setChoiceNames( const QStringList& list); 85 void setChoiceNames( const QStringList& list);
86 QStringList choiceNames() const; 86 QStringList choiceNames() const;
87 void setChoiceSelection(int index, const QStringList& list); 87 void setChoiceSelection(int index, const QStringList& list);
88 QStringList choiceSelection(int index) const; 88 QStringList choiceSelection(int index) const;
89 void setShowCategory( const QString &b, const QString &c ); 89 void setShowCategory( const QString &b, const QString &c );
90 void setShowByLetter( char c ); 90 void setShowByLetter( char c );
91 QString showCategory() const; 91 QString showCategory() const;
92 QStringList categories(); 92 QStringList categories();
93 93
94 void resizeRows(); 94 void resizeRows();
95 95
96 void show(); 96 void show();
97 void setPaintingEnabled( bool e ); 97 void setPaintingEnabled( bool e );
98 98
99 QString showBook() const; 99 QString showBook() const;
100 100
101public slots: 101public slots:
102 void slotDoFind( const QString &str, bool caseSensitive, bool backwards, 102 void slotDoFind( const QString &str, bool caseSensitive, bool useRegExp, bool backwards,
103 QString category = QString::null ); 103 QString category = QString::null );
104signals: 104signals:
105 void empty( bool ); 105 void empty( bool );
106 void details(); 106 void details();
107 void signalNotFound(); 107 void signalNotFound();
108 void signalWrapAround(); 108 void signalWrapAround();
109 109
110protected: 110protected:
111 virtual void keyPressEvent( QKeyEvent *e ); 111 virtual void keyPressEvent( QKeyEvent *e );
112 112
113// int rowHeight( int ) const; 113// int rowHeight( int ) const;
114// int rowPos( int row ) const; 114// int rowPos( int row ) const;
115// virtual int rowAt( int pos ) const; 115// virtual int rowAt( int pos ) const;
116 116
117 117
118protected slots: 118protected slots:
119 void moveTo( char ); 119 void moveTo( char );
120 virtual void columnClicked( int col ); 120 virtual void columnClicked( int col );
121 void itemClicked(int,int col); 121 void itemClicked(int,int col);
122 void rowHeightChanged( int row ); 122 void rowHeightChanged( int row );
123 123
124private: 124private:
125 void loadFile( const QString &strFile, bool journalFile ); 125 void loadFile( const QString &strFile, bool journalFile );
126 void fitColumns(); 126 void fitColumns();
127 void resort(); 127 void resort();
128 void updateJournal( const OContact &contact, OContact::journal_action action, 128 void updateJournal( const OContact &contact, OContact::journal_action action,
129 int row = -1 ); 129 int row = -1 );
130 void insertIntoTable( const OContact &contact, int row ); 130 void insertIntoTable( const OContact &contact, int row );
131 QString findContactName( const OContact &entry ); 131 QString findContactName( const OContact &entry );
132 QString findContactContact( const OContact &entry, int row ); 132 QString findContactContact( const OContact &entry, int row );
133 void journalFreeReplace( const OContact &cnt, int row ); 133 void journalFreeReplace( const OContact &cnt, int row );
134 void journalFreeRemove( int row ); 134 void journalFreeRemove( int row );
diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp
index 84e66fb..f7e4c95 100644
--- a/core/pim/addressbook/addressbook.cpp
+++ b/core/pim/addressbook/addressbook.cpp
@@ -915,65 +915,65 @@ void AddressbookWindow::initFields()
915} 915}
916 916
917 917
918AbLabel *AddressbookWindow::abView() 918AbLabel *AddressbookWindow::abView()
919{ 919{
920 if ( !mView ) { 920 if ( !mView ) {
921 mView = new AbLabel( this, "viewer" ); 921 mView = new AbLabel( this, "viewer" );
922 mView->init( OContact() ); 922 mView->init( OContact() );
923 connect( mView, SIGNAL( okPressed() ), this, SLOT( slotListView() ) ); 923 connect( mView, SIGNAL( okPressed() ), this, SLOT( slotListView() ) );
924 } 924 }
925 return mView; 925 return mView;
926} 926}
927 927
928void AddressbookWindow::slotFindOpen() 928void AddressbookWindow::slotFindOpen()
929{ 929{
930 searchBar->show(); 930 searchBar->show();
931 searchEdit->setFocus(); 931 searchEdit->setFocus();
932} 932}
933void AddressbookWindow::slotFindClose() 933void AddressbookWindow::slotFindClose()
934{ 934{
935 searchBar->hide(); 935 searchBar->hide();
936 abList->setFocus(); 936 abList->setFocus();
937} 937}
938void AddressbookWindow::slotFindNext() 938void AddressbookWindow::slotFindNext()
939{ 939{
940 if ( centralWidget() == abView() ) 940 if ( centralWidget() == abView() )
941 showList(); 941 showList();
942 942
943 // Maybe we should react on Wraparound and notfound ? 943 // Maybe we should react on Wraparound and notfound ?
944 // QObject::connect( abList, SIGNAL(signalNotFound()), &frmFind, SLOT(slotNotFound()) ); 944 // QObject::connect( abList, SIGNAL(signalNotFound()), &frmFind, SLOT(slotNotFound()) );
945 // QObject::connect( abList, SIGNAL(signalWrapAround()), &frmFind, SLOT(slotWrapAround()) ); 945 // QObject::connect( abList, SIGNAL(signalWrapAround()), &frmFind, SLOT(slotWrapAround()) );
946 946
947 abList->slotDoFind( searchEdit->text(), false, false); 947 abList->slotDoFind( searchEdit->text(), caseSensitive, useRegExp, false);
948 948
949 949
950 if ( abList->numSelections() ) 950 if ( abList->numSelections() )
951 abList->clearSelection(); 951 abList->clearSelection();
952 952
953} 953}
954 954
955void AddressbookWindow::slotFind() 955void AddressbookWindow::slotFind()
956{ 956{
957 957
958 abList->clearFindRow(); 958 abList->clearFindRow();
959 slotFindNext(); 959 slotFindNext();
960} 960}
961 961
962void AddressbookWindow::slotSetCategory( int c ) 962void AddressbookWindow::slotSetCategory( int c )
963{ 963{
964 964
965 QString cat, book; 965 QString cat, book;
966 966
967 if ( c <= 0 ) 967 if ( c <= 0 )
968 return; 968 return;
969 969
970 // Set checkItem for selected one 970 // Set checkItem for selected one
971 for ( unsigned int i = 1; i < catMenu->count(); i++ ) 971 for ( unsigned int i = 1; i < catMenu->count(); i++ )
972 catMenu->setItemChecked( i, c == (int)i ); 972 catMenu->setItemChecked( i, c == (int)i );
973 973
974 for ( unsigned int i = 1; i < catMenu->count(); i++ ) { 974 for ( unsigned int i = 1; i < catMenu->count(); i++ ) {
975 if (catMenu->isItemChecked( i )) { 975 if (catMenu->isItemChecked( i )) {
976 if ( i == 1 ) // default List view 976 if ( i == 1 ) // default List view
977 book = QString::null; 977 book = QString::null;
978 else if ( i == 2 ) 978 else if ( i == 2 )
979 book = "Phone"; 979 book = "Phone";