summaryrefslogtreecommitdiff
path: root/core/pim
authoreilers <eilers>2005-03-24 16:23:51 (UTC)
committer eilers <eilers>2005-03-24 16:23:51 (UTC)
commitb390bcd32e188fc3c9fd7067bfc41b60b5e84ad4 (patch) (unidiff)
tree38bc784605eb06a6669e8708c86cc9cebaa32b2a /core/pim
parent29da9a4477210843435cbea3ede0d520775fe1a5 (diff)
downloadopie-b390bcd32e188fc3c9fd7067bfc41b60b5e84ad4.zip
opie-b390bcd32e188fc3c9fd7067bfc41b60b5e84ad4.tar.gz
opie-b390bcd32e188fc3c9fd7067bfc41b60b5e84ad4.tar.bz2
In table view: Clicking on column 0 changes the sortorder.
Version of ths app was changed to 1.2.0 Requested by #1591
Diffstat (limited to 'core/pim') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/abtable.cpp93
-rw-r--r--core/pim/addressbook/abtable.h1
-rw-r--r--core/pim/addressbook/abview.cpp14
-rw-r--r--core/pim/addressbook/abview.h2
-rw-r--r--core/pim/addressbook/version.h4
5 files changed, 23 insertions, 91 deletions
diff --git a/core/pim/addressbook/abtable.cpp b/core/pim/addressbook/abtable.cpp
index 49e66ad..60f3177 100644
--- a/core/pim/addressbook/abtable.cpp
+++ b/core/pim/addressbook/abtable.cpp
@@ -124,7 +124,8 @@ AbTable::AbTable( const QValueList<int> order, QWidget *parent, const char *name
124 //odebug << "C'tor start" << oendl; 124 //odebug << "C'tor start" << oendl;
125 setSelectionMode( NoSelection ); 125 setSelectionMode( NoSelection );
126 init(); 126 init();
127 setSorting( TRUE ); 127 setSorting( false ); // The table should not sort by itself!
128
128 connect( this, SIGNAL(clicked(int,int,int,const QPoint&)), 129 connect( this, SIGNAL(clicked(int,int,int,const QPoint&)),
129 this, SLOT(itemClicked(int,int)) ); 130 this, SLOT(itemClicked(int,int)) );
130 131
@@ -156,17 +157,10 @@ void AbTable::setContacts( const Opie::OPimContactAccess::List& viewList )
156 clear(); 157 clear();
157 m_viewList = viewList; 158 m_viewList = viewList;
158 159
159 setSorting( false );
160 setPaintingEnabled( FALSE ); 160 setPaintingEnabled( FALSE );
161 161
162 setNumRows( m_viewList.count() ); 162 setNumRows( m_viewList.count() );
163 //int row = 0;
164 // for ( it = m_viewList.begin(); it != m_viewList.end(); ++it )
165 // insertIntoTable( *it, row++ );
166
167 // setSorting( true );
168 163
169 // resort();
170 164
171 updateVisible(); 165 updateVisible();
172 166
@@ -208,65 +202,22 @@ bool AbTable::selectContact( int UID )
208 return true; 202 return true;
209} 203}
210 204
211#if 0
212void AbTable::insertIntoTable( const Opie::OPimContact& cnt, int row )
213{
214 odebug << "void AbTable::insertIntoTable( const Opie::OPimContact& cnt, "
215 << row << " )" << oendl;
216 QString strName;
217 ContactItem contactItem;
218
219 strName = findContactName( cnt );
220 contactItem = findContactContact( cnt, row );
221
222 AbTableItem *ati;
223 ati = new AbTableItem( this, QTableItem::Never, strName, contactItem.value );
224 contactList.insert( ati, cnt );
225 setItem( row, 0, ati );
226 ati = new AbTableItem( this, QTableItem::Never, contactItem.value, strName);
227 if ( !contactItem.icon.isNull() )
228 ati->setPixmap( contactItem.icon );
229 setItem( row, 1, ati );
230
231 //### cannot do this; table only has two columns at this point
232 // setItem( row, 2, new AbPickItem( this ) );
233
234}
235#endif
236
237 205
238void AbTable::columnClicked( int col ) 206void AbTable::columnClicked( int col )
239{ 207{
240 if ( !sorting() ) 208 odebug << "columClicked(" << col << ")" << oendl;
241 return;
242
243 if ( lastSortCol == -1 )
244 lastSortCol = col;
245 209
246 if ( col == lastSortCol ) { 210 if ( col == 0 ){
211 odebug << "Change sort order: " << asc << oendl;
247 asc = !asc; 212 asc = !asc;
248 } else { 213 emit signalSortOrderChanged( asc );
249 lastSortCol = col;
250 asc = TRUE;
251 } 214 }
252 //QMessageBox::information( this, "resort", "columnClicked" );
253 resort();
254} 215}
255 216
256void AbTable::resort() 217void AbTable::resort()
257{ 218{
258 owarn << "void AbTable::resort() NOT POSSIBLE !!" << oendl; 219 owarn << "void AbTable::resort() NOT POSSIBLE !!" << oendl;
259#if 0 220
260 setPaintingEnabled( FALSE );
261 if ( sorting() ) {
262 if ( lastSortCol == -1 )
263 lastSortCol = 0;
264 sortColumn( lastSortCol, asc, TRUE );
265 //QMessageBox::information( this, "resort", "resort" );
266 updateVisible();
267 }
268 setPaintingEnabled( TRUE );
269#endif
270} 221}
271 222
272Opie::OPimContact AbTable::currentEntry() 223Opie::OPimContact AbTable::currentEntry()
@@ -357,36 +308,6 @@ void AbTable::moveTo( char /*c*/ )
357{ 308{
358 odebug << "void AbTable::moveTo( char c ) NOT IMPLEMENTED !!" << oendl; 309 odebug << "void AbTable::moveTo( char c ) NOT IMPLEMENTED !!" << oendl;
359 310
360#if 0
361 int rows = numRows();
362 QString value;
363 AbTableItem *abi;
364 int r;
365 if ( asc ) {
366 r = 0;
367 while ( r < rows-1) {
368 abi = static_cast<AbTableItem*>( item(r, 0) );
369 QChar first = abi->key()[0];
370 //### is there a bug in QChar to char comparison???
371 if ( first.row() || first.cell() >= c )
372 break;
373 r++;
374 }
375 } else {
376 //### should probably disable reverse sorting instead
377 r = rows - 1;
378 while ( r > 0 ) {
379 abi = static_cast<AbTableItem*>( item(r, 0) );
380 QChar first = abi->key()[0];
381 //### is there a bug in QChar to char comparison???
382 if ( first.row() || first.cell() >= c )
383 break;
384 r--;
385 }
386 }
387 setCurrentCell( r, currentColumn() );
388
389#endif
390} 311}
391 312
392#if 0 313#if 0
diff --git a/core/pim/addressbook/abtable.h b/core/pim/addressbook/abtable.h
index 927a5a9..7d2818b 100644
--- a/core/pim/addressbook/abtable.h
+++ b/core/pim/addressbook/abtable.h
@@ -120,6 +120,7 @@ signals:
120 void signalEditor(); 120 void signalEditor();
121 void signalKeyDown(); 121 void signalKeyDown();
122 void signalKeyUp(); 122 void signalKeyUp();
123 void signalSortOrderChanged( bool order );
123 124
124protected: 125protected:
125 virtual void keyPressEvent( QKeyEvent *e ); 126 virtual void keyPressEvent( QKeyEvent *e );
diff --git a/core/pim/addressbook/abview.cpp b/core/pim/addressbook/abview.cpp
index 8a2db96..9f7f71f 100644
--- a/core/pim/addressbook/abview.cpp
+++ b/core/pim/addressbook/abview.cpp
@@ -42,6 +42,7 @@ AbView::AbView ( QWidget* parent, const QValueList<int>& ordered ):
42 mCat(0), 42 mCat(0),
43 m_inSearch( false ), 43 m_inSearch( false ),
44 m_inPersonal( false ), 44 m_inPersonal( false ),
45 m_sortOrder( true ),
45 m_curr_category( 0 ), 46 m_curr_category( 0 ),
46 m_curr_View( TableView ), 47 m_curr_View( TableView ),
47 m_prev_View( TableView ), 48 m_prev_View( TableView ),
@@ -80,6 +81,8 @@ AbView::AbView ( QWidget* parent, const QValueList<int>& ordered ):
80 // Connect views to me 81 // Connect views to me
81 connect ( m_abTable, SIGNAL( signalSwitch(void) ), 82 connect ( m_abTable, SIGNAL( signalSwitch(void) ),
82 this, SLOT( slotSwitch(void) ) ); 83 this, SLOT( slotSwitch(void) ) );
84 connect ( m_abTable, SIGNAL( signalSortOrderChanged( bool ) ),
85 this, SLOT( slotSetSortOrder( bool ) ) );
83 connect ( m_ablabel, SIGNAL( signalOkPressed(void) ), 86 connect ( m_ablabel, SIGNAL( signalOkPressed(void) ),
84 this, SLOT( slotSwitch(void) ) ); 87 this, SLOT( slotSwitch(void) ) );
85 88
@@ -161,15 +164,15 @@ void AbView::load()
161 164
162 if ( m_curr_category == -1 ) { 165 if ( m_curr_category == -1 ) {
163 // Show just unfiled contacts 166 // Show just unfiled contacts
164 m_list = m_contactdb->sorted( true, Opie::OPimContactAccess::SortFileAsName, 167 m_list = m_contactdb->sorted( m_sortOrder, Opie::OPimContactAccess::SortFileAsName,
165 Opie::OPimContactAccess::DoNotShowWithCategory, 0 ); 168 Opie::OPimContactAccess::DoNotShowWithCategory, 0 );
166 } elseif ( m_curr_category == 0 ){ 169 } elseif ( m_curr_category == 0 ){
167 // Just show all contacts 170 // Just show all contacts
168 m_list = m_contactdb->sorted( true, Opie::OPimContactAccess::SortFileAsName, 171 m_list = m_contactdb->sorted( m_sortOrder, Opie::OPimContactAccess::SortFileAsName,
169 Opie::OPimBase::FilterOff, 0 ); 172 Opie::OPimBase::FilterOff, 0 );
170 } else { 173 } else {
171 // Show contacts with given categories 174 // Show contacts with given categories
172 m_list = m_contactdb->sorted( true, Opie::OPimContactAccess::SortFileAsName, 175 m_list = m_contactdb->sorted( m_sortOrder, Opie::OPimContactAccess::SortFileAsName,
173 Opie::OPimBase::FilterCategory, m_curr_category ); 176 Opie::OPimBase::FilterCategory, m_curr_category );
174 } 177 }
175 178
@@ -416,6 +419,11 @@ void AbView::slotSwitch(){
416 419
417} 420}
418 421
422void AbView::slotSetSortOrder( bool order ){
423 m_sortOrder = order;
424 reload();
425}
426
419// END: Slots 427// END: Slots
420 428
421void AbView::clearForCategory() 429void AbView::clearForCategory()
diff --git a/core/pim/addressbook/abview.h b/core/pim/addressbook/abview.h
index b8c8a08..07b6b28 100644
--- a/core/pim/addressbook/abview.h
+++ b/core/pim/addressbook/abview.h
@@ -58,6 +58,7 @@ public slots:
58 void slotDoFind( const QString &str, bool caseSensitive, bool useRegExp, 58 void slotDoFind( const QString &str, bool caseSensitive, bool useRegExp,
59 bool backwards, QString category = QString::null ); 59 bool backwards, QString category = QString::null );
60 void slotSwitch(); 60 void slotSwitch();
61 void slotSetSortOrder( bool order );
61 62
62private: 63private:
63 void updateListinViews(); 64 void updateListinViews();
@@ -70,6 +71,7 @@ private:
70 Categories mCat; 71 Categories mCat;
71 bool m_inSearch; 72 bool m_inSearch;
72 bool m_inPersonal; 73 bool m_inPersonal;
74 bool m_sortOrder;
73 int m_curr_category; 75 int m_curr_category;
74 Views m_curr_View; 76 Views m_curr_View;
75 Views m_prev_View; 77 Views m_prev_View;
diff --git a/core/pim/addressbook/version.h b/core/pim/addressbook/version.h
index 7ce9752..8aafc85 100644
--- a/core/pim/addressbook/version.h
+++ b/core/pim/addressbook/version.h
@@ -2,8 +2,8 @@
2#define _VERSION_H_ 2#define _VERSION_H_
3 3
4#define MAINVERSION "1" 4#define MAINVERSION "1"
5#define SUBVERSION "1" 5#define SUBVERSION "2"
6#define PATCHVERSION "1" 6#define PATCHVERSION "0"
7 7
8#define APPNAME "OPIE_ADDRESSBOOK" 8#define APPNAME "OPIE_ADDRESSBOOK"
9 9