author | eilers <eilers> | 2002-10-18 15:42:57 (UTC) |
---|---|---|
committer | eilers <eilers> | 2002-10-18 15:42:57 (UTC) |
commit | 47e60a8dc20f46dd00b9405f7fde122792018627 (patch) (unidiff) | |
tree | b109ca9e9c200e7e47c0e61e8f2e86ba6bf4a37f | |
parent | c16dcab3fe45ae7193cbdfb2f62bf7e5482d449b (diff) | |
download | opie-47e60a8dc20f46dd00b9405f7fde122792018627.zip opie-47e60a8dc20f46dd00b9405f7fde122792018627.tar.gz opie-47e60a8dc20f46dd00b9405f7fde122792018627.tar.bz2 |
First attempt of new find entry field.. It still needs some finetuning !
-rw-r--r-- | core/pim/addressbook/TODO | 1 | ||||
-rw-r--r-- | core/pim/addressbook/abtable.cpp | 10 | ||||
-rw-r--r-- | core/pim/addressbook/abtable.h | 2 | ||||
-rw-r--r-- | core/pim/addressbook/addressbook.cpp | 67 | ||||
-rw-r--r-- | core/pim/addressbook/addressbook.h | 17 | ||||
-rw-r--r-- | core/pim/addressbook/addressbook.pro | 3 | ||||
-rw-r--r-- | core/pim/addressbook/ofloatbar.h | 20 |
7 files changed, 96 insertions, 24 deletions
diff --git a/core/pim/addressbook/TODO b/core/pim/addressbook/TODO index 7bc906d..d8720b3 100644 --- a/core/pim/addressbook/TODO +++ b/core/pim/addressbook/TODO | |||
@@ -12,6 +12,7 @@ Important: | |||
12 | - The names of the countries are sorted by there english names, only.. | 12 | - The names of the countries are sorted by there english names, only.. |
13 | Even if they are translated.. :S | 13 | Even if they are translated.. :S |
14 | - Store last settings of combo-boxes | 14 | - Store last settings of combo-boxes |
15 | - Mail-Icon is missing | ||
15 | 16 | ||
16 | Less important: | 17 | Less important: |
17 | 18 | ||
diff --git a/core/pim/addressbook/abtable.cpp b/core/pim/addressbook/abtable.cpp index 91a7171..9297d6a 100644 --- a/core/pim/addressbook/abtable.cpp +++ b/core/pim/addressbook/abtable.cpp | |||
@@ -635,8 +635,16 @@ void QTable::paintEmptyArea( QPainter *p, int cx, int cy, int cw, int ch ) | |||
635 | // } | 635 | // } |
636 | 636 | ||
637 | void AbTable::slotDoFind( const QString &findString, bool caseSensitive, | 637 | void AbTable::slotDoFind( const QString &findString, bool caseSensitive, |
638 | bool backwards, int category ) | 638 | bool backwards, QString cat /* int category */ ) |
639 | { | 639 | { |
640 | int category = 0; | ||
641 | if ( cat.isEmpty() ) | ||
642 | category = -2; // mCat.id("Contacts", "All"); | ||
643 | else | ||
644 | category = mCat.id("Contacts", cat ); | ||
645 | |||
646 | qWarning ("Found in Category %d", category); | ||
647 | |||
640 | if ( currFindRow < -1 ) | 648 | if ( currFindRow < -1 ) |
641 | currFindRow = currentRow() - 1; | 649 | currFindRow = currentRow() - 1; |
642 | clearSelection( TRUE ); | 650 | clearSelection( TRUE ); |
diff --git a/core/pim/addressbook/abtable.h b/core/pim/addressbook/abtable.h index 80c3ca0..a603e17 100644 --- a/core/pim/addressbook/abtable.h +++ b/core/pim/addressbook/abtable.h | |||
@@ -100,7 +100,7 @@ public: | |||
100 | 100 | ||
101 | public slots: | 101 | public slots: |
102 | void slotDoFind( const QString &str, bool caseSensitive, bool backwards, | 102 | void slotDoFind( const QString &str, bool caseSensitive, bool backwards, |
103 | int category ); | 103 | QString category = QString::null ); |
104 | signals: | 104 | signals: |
105 | void empty( bool ); | 105 | void empty( bool ); |
106 | void details(); | 106 | void details(); |
diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp index 82a1b57..8335d8b 100644 --- a/core/pim/addressbook/addressbook.cpp +++ b/core/pim/addressbook/addressbook.cpp | |||
@@ -68,10 +68,6 @@ | |||
68 | 68 | ||
69 | #include "picker.h" | 69 | #include "picker.h" |
70 | 70 | ||
71 | // Remove this for OPIE releae 1.0 ! | ||
72 | #define __DEBUG_RELEASE | ||
73 | |||
74 | |||
75 | static QString addressbookPersonalVCardName() | 71 | static QString addressbookPersonalVCardName() |
76 | { | 72 | { |
77 | QString filename = Global::applicationFileName("addressbook", | 73 | QString filename = Global::applicationFileName("addressbook", |
@@ -140,20 +136,31 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, | |||
140 | this, SLOT ( appMessage(const QCString &, const QByteArray &) ) ); | 136 | this, SLOT ( appMessage(const QCString &, const QByteArray &) ) ); |
141 | #endif | 137 | #endif |
142 | #endif | 138 | #endif |
143 | |||
144 | |||
145 | |||
146 | |||
147 | |||
148 | #ifndef MAKE_FOR_SHARP_ROM | ||
149 | a = new QAction( tr( "Find" ), Resource::loadPixmap( "mag" ), | 139 | a = new QAction( tr( "Find" ), Resource::loadPixmap( "mag" ), |
150 | QString::null, 0, this, 0 ); | 140 | QString::null, 0, this, 0 ); |
151 | actionFind = a; | 141 | actionFind = a; |
152 | connect( a, SIGNAL(activated()), this, SLOT(slotFind()) ); | 142 | connect( a, SIGNAL(activated()), this, SLOT( slotFindOpen()) ); |
153 | a->addTo( edit ); | 143 | a->addTo( edit ); |
154 | a->addTo( listTools ); | 144 | a->addTo( listTools ); |
155 | #endif | ||
156 | 145 | ||
146 | // Much better search widget, taken from QTReader.. (se) | ||
147 | searchBar = new OFloatBar( "Search", this, QMainWindow::Top, TRUE ); | ||
148 | searchBar->setHorizontalStretchable( TRUE ); | ||
149 | searchBar->hide(); | ||
150 | searchEdit = new QLineEdit( searchBar, "searchEdit" ); | ||
151 | // QFont f("unifont", 16 /*, QFont::Bold*/); | ||
152 | // searchEdit->setFont( f ); | ||
153 | searchBar->setStretchableWidget( searchEdit ); | ||
154 | connect( searchEdit, SIGNAL( returnPressed( ) ), | ||
155 | this, SLOT( slotFind( ) ) ); | ||
156 | |||
157 | a = new QAction( tr( "Find Next" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 ); | ||
158 | connect( a, SIGNAL( activated() ), this, SLOT( slotFindNext() ) ); | ||
159 | a->addTo( searchBar ); | ||
160 | |||
161 | a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); | ||
162 | connect( a, SIGNAL( activated() ), this, SLOT( slotFindClose() ) ); | ||
163 | a->addTo( searchBar ); | ||
157 | 164 | ||
158 | a = new QAction( tr( "Write Mail To" ), Resource::loadPixmap( "qtmail/reply" ), | 165 | a = new QAction( tr( "Write Mail To" ), Resource::loadPixmap( "qtmail/reply" ), |
159 | QString::null, 0, this, 0 ); | 166 | QString::null, 0, this, 0 ); |
@@ -198,7 +205,7 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, | |||
198 | // Remove this function for public Release ! This is only | 205 | // Remove this function for public Release ! This is only |
199 | // for debug purposes .. | 206 | // for debug purposes .. |
200 | a = new QAction( tr( "Save all Data"), QString::null, 0, 0 ); | 207 | a = new QAction( tr( "Save all Data"), QString::null, 0, 0 ); |
201 | connect( a, SIGNAL( activated() ), this, SLOT( save() ) ); | 208 | connect( a, SIGNAL( activated() ), this , SLOT( slotSave() ) ); |
202 | a->addTo( edit ); | 209 | a->addTo( edit ); |
203 | #endif | 210 | #endif |
204 | 211 | ||
@@ -753,6 +760,13 @@ bool AddressbookWindow::save() | |||
753 | return TRUE; | 760 | return TRUE; |
754 | } | 761 | } |
755 | 762 | ||
763 | #ifdef __DEBUG_RELEASE | ||
764 | void AddressbookWindow::slotSave() | ||
765 | { | ||
766 | save(); | ||
767 | } | ||
768 | #endif | ||
769 | |||
756 | void AddressbookWindow::slotSettings() | 770 | void AddressbookWindow::slotSettings() |
757 | { | 771 | { |
758 | AddressSettings frmSettings( this ); | 772 | AddressSettings frmSettings( this ); |
@@ -877,24 +891,37 @@ AbLabel *AddressbookWindow::abView() | |||
877 | return mView; | 891 | return mView; |
878 | } | 892 | } |
879 | 893 | ||
894 | void AddressbookWindow::slotFindOpen() | ||
895 | { | ||
896 | searchBar->show(); | ||
897 | } | ||
898 | void AddressbookWindow::slotFindClose() | ||
899 | { | ||
900 | searchBar->hide(); | ||
901 | } | ||
902 | void AddressbookWindow::slotFindNext() | ||
903 | { | ||
904 | } | ||
905 | |||
880 | void AddressbookWindow::slotFind() | 906 | void AddressbookWindow::slotFind() |
881 | { | 907 | { |
882 | #ifndef MAKE_FOR_SHARP_ROM | ||
883 | if ( centralWidget() == abView() ) | 908 | if ( centralWidget() == abView() ) |
884 | showList(); | 909 | showList(); |
885 | 910 | ||
886 | FindDialog frmFind( "Contacts", this ); | 911 | // FindDialog frmFind( "Contacts", this ); |
887 | QObject::connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)), abList, SLOT(slotDoFind( const QString&,bool,bool,int))); | 912 | // QObject::connect( abList, SIGNAL(signalNotFound()), &frmFind, SLOT(slotNotFound()) ); |
888 | QObject::connect( abList, SIGNAL(signalNotFound()), &frmFind, SLOT(slotNotFound()) ); | 913 | // QObject::connect( abList, SIGNAL(signalWrapAround()), &frmFind, SLOT(slotWrapAround()) ); |
889 | QObject::connect( abList, SIGNAL(signalWrapAround()), &frmFind, SLOT(slotWrapAround()) ); | 914 | // frmFind.exec(); |
915 | |||
916 | // QStringList categories = abList->categories(); | ||
917 | // abList->setShowCategory( book, cat ); | ||
918 | abList->slotDoFind( searchEdit->text(), false, false); | ||
890 | 919 | ||
891 | frmFind.exec(); | ||
892 | 920 | ||
893 | if ( abList->numSelections() ) | 921 | if ( abList->numSelections() ) |
894 | abList->clearSelection(); | 922 | abList->clearSelection(); |
895 | 923 | ||
896 | abList->clearFindRow(); | 924 | abList->clearFindRow(); |
897 | #endif | ||
898 | } | 925 | } |
899 | 926 | ||
900 | void AddressbookWindow::slotSetCategory( int c ) | 927 | void AddressbookWindow::slotSetCategory( int c ) |
diff --git a/core/pim/addressbook/addressbook.h b/core/pim/addressbook/addressbook.h index bf36407..b7cf355 100644 --- a/core/pim/addressbook/addressbook.h +++ b/core/pim/addressbook/addressbook.h | |||
@@ -20,9 +20,14 @@ | |||
20 | #ifndef Addressbook_H | 20 | #ifndef Addressbook_H |
21 | #define Addressbook_H | 21 | #define Addressbook_H |
22 | 22 | ||
23 | // Remove this for OPIE releae 1.0 ! | ||
24 | #define __DEBUG_RELEASE | ||
25 | |||
23 | #include <qmainwindow.h> | 26 | #include <qmainwindow.h> |
24 | #include <qvaluelist.h> | 27 | #include <qvaluelist.h> |
25 | #include <qstringlist.h> | 28 | #include <qstringlist.h> |
29 | #include <qlineedit.h> | ||
30 | #include "ofloatbar.h" | ||
26 | 31 | ||
27 | class ContactEditor; | 32 | class ContactEditor; |
28 | class AbLabel; | 33 | class AbLabel; |
@@ -57,6 +62,9 @@ public slots: | |||
57 | void reload(); | 62 | void reload(); |
58 | void appMessage(const QCString &, const QByteArray &); | 63 | void appMessage(const QCString &, const QByteArray &); |
59 | void setDocument( const QString & ); | 64 | void setDocument( const QString & ); |
65 | #ifdef __DEBUG_RELEASE | ||
66 | void slotSave(); | ||
67 | #endif | ||
60 | 68 | ||
61 | private slots: | 69 | private slots: |
62 | void importvCard(); | 70 | void importvCard(); |
@@ -71,12 +79,16 @@ private slots: | |||
71 | void writeMail(); | 79 | void writeMail(); |
72 | void slotBeam(); | 80 | void slotBeam(); |
73 | void beamDone( Ir * ); | 81 | void beamDone( Ir * ); |
74 | void slotFind(); | ||
75 | void slotSetCategory( int ); | 82 | void slotSetCategory( int ); |
76 | void slotSetLetter( char ); | 83 | void slotSetLetter( char ); |
77 | void slotUpdateToolbar(); | 84 | void slotUpdateToolbar(); |
78 | void slotSetFont(int); | 85 | void slotSetFont(int); |
79 | 86 | ||
87 | void slotFindOpen(); | ||
88 | void slotFindClose(); | ||
89 | void slotFind(); | ||
90 | void slotFindNext(); | ||
91 | |||
80 | private: | 92 | private: |
81 | void initFields(); // inititialize our fields... | 93 | void initFields(); // inititialize our fields... |
82 | AbLabel *abView(); | 94 | AbLabel *abView(); |
@@ -94,6 +106,9 @@ private: | |||
94 | AbTable *abList; | 106 | AbTable *abList; |
95 | QWidget *listContainer; | 107 | QWidget *listContainer; |
96 | 108 | ||
109 | OFloatBar* searchBar; | ||
110 | QLineEdit* searchEdit; | ||
111 | |||
97 | QAction *actionNew, *actionEdit, *actionTrash, *actionFind, *actionBeam, *actionPersonal, *actionMail; | 112 | QAction *actionNew, *actionEdit, *actionTrash, *actionFind, *actionBeam, *actionPersonal, *actionMail; |
98 | 113 | ||
99 | bool bAbEditFirstTime; | 114 | bool bAbEditFirstTime; |
diff --git a/core/pim/addressbook/addressbook.pro b/core/pim/addressbook/addressbook.pro index 24bdd8c..05aa5ec 100644 --- a/core/pim/addressbook/addressbook.pro +++ b/core/pim/addressbook/addressbook.pro | |||
@@ -6,7 +6,8 @@ HEADERS = addressbook.h \ | |||
6 | ablabel.h \ | 6 | ablabel.h \ |
7 | abtable.h \ | 7 | abtable.h \ |
8 | addresssettings.h \ | 8 | addresssettings.h \ |
9 | picker.h | 9 | picker.h \ |
10 | ofloatbar.h | ||
10 | SOURCES= main.cpp \ | 11 | SOURCES= main.cpp \ |
11 | addressbook.cpp \ | 12 | addressbook.cpp \ |
12 | contacteditor.cpp \ | 13 | contacteditor.cpp \ |
diff --git a/core/pim/addressbook/ofloatbar.h b/core/pim/addressbook/ofloatbar.h new file mode 100644 index 0000000..85a0c4f --- a/dev/null +++ b/core/pim/addressbook/ofloatbar.h | |||
@@ -0,0 +1,20 @@ | |||
1 | #ifndef __OFLOATBAR_H | ||
2 | #define __OFLOATBAR_H | ||
3 | |||
4 | #include <qtoolbar.h> | ||
5 | #include <qevent.h> | ||
6 | |||
7 | class OFloatBar : public QToolBar | ||
8 | { | ||
9 | Q_OBJECT | ||
10 | virtual void hideEvent(QHideEvent* e) | ||
11 | { | ||
12 | /*if (e->spontaneous())*/ emit OnHide(); | ||
13 | } | ||
14 | public: | ||
15 | OFloatBar(char* t, QMainWindow* mw, QMainWindow::ToolBarDock td, bool f) : QToolBar(t, mw, td, f) {} | ||
16 | signals: | ||
17 | void OnHide(); | ||
18 | }; | ||
19 | |||
20 | #endif | ||