From 7b19e1d98d5acf01102ac057ec077fc036c034c6 Mon Sep 17 00:00:00 2001 From: tux_mike Date: Wed, 17 Apr 2002 20:46:18 +0000 Subject: Added a Letter Picker --- diff --git a/core/pim/addressbook/abtable.cpp b/core/pim/addressbook/abtable.cpp index 759cb48..124ff6c 100644 --- a/core/pim/addressbook/abtable.cpp +++ b/core/pim/addressbook/abtable.cpp @@ -1013,7 +1013,6 @@ void AbTable::setShowCategory( const QString &c ) void AbTable::setShowByLetter( char c ) { showChar = tolower(c); - qDebug( "AbTable::setShowByLetter %c", showChar); updateVisible(); } @@ -1077,12 +1076,89 @@ void AbTable::updateVisible() if ( showChar != '\0' ) { tmpStr = fileAsName.left(1); tmpStr = tmpStr.lower(); - qDebug( "updateVisible "); - qDebug( tmpStr ); - qDebug( "updateVisible2 %c", showChar ); - if ( tmpStr != QString(QChar(showChar)) ) { + if ( tmpStr != QString(QChar(showChar)) && showChar != '#' ) { hide = true; } + if ( showChar == '#' ) { + if (tmpStr == "a") + hide = true; + + if (tmpStr == "b") + hide = true; + + if (tmpStr == "c") + hide = true; + + if (tmpStr == "d") + hide = true; + + if (tmpStr == "e") + hide = true; + + if (tmpStr == "f") + hide = true; + + if (tmpStr == "g") + hide = true; + + if (tmpStr == "h") + hide = true; + + if (tmpStr == "i") + hide = true; + + if (tmpStr == "j") + hide = true; + + if (tmpStr == "k") + hide = true; + + if (tmpStr == "l") + hide = true; + + if (tmpStr == "m") + hide = true; + + if (tmpStr == "n") + hide = true; + + if (tmpStr == "o") + hide = true; + + if (tmpStr == "p") + hide = true; + + if (tmpStr == "q") + hide = true; + + if (tmpStr == "r") + hide = true; + + if (tmpStr == "s") + hide = true; + + if (tmpStr == "t") + hide = true; + + if (tmpStr == "u") + hide = true; + + if (tmpStr == "v") + hide = true; + + if (tmpStr == "w") + hide = true; + + if (tmpStr == "x") + hide = true; + + if (tmpStr == "y") + hide = true; + + if (tmpStr == "z") + hide = true; + } + } if ( hide ) { if ( currentRow() == row ) diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp index e502cf6..beb953a 100644 --- a/core/pim/addressbook/addressbook.cpp +++ b/core/pim/addressbook/addressbook.cpp @@ -99,7 +99,6 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, setToolBarsMovable( FALSE ); - QBoxLayout *vb = new QVBoxLayout( this, 0, 0 ); // Create Toolbars QPEToolBar *bar = new QPEToolBar( this ); @@ -190,8 +189,12 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, ); } - abList = new AbTable( &orderedFields, this, "table" ); - vb->insertWidget(0,abList); + listContainer = new QWidget( this ); + + QVBoxLayout *vb = new QVBoxLayout( listContainer ); + + abList = new AbTable( &orderedFields, listContainer, "table" ); + vb->addWidget(abList); abList->setHScrollBarMode( QScrollView::AlwaysOff ); connect( abList, SIGNAL( empty( bool ) ), this, SLOT( listIsEmpty( bool ) ) ); @@ -208,16 +211,16 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, QFile::remove(addressbookOldXMLFilename()); } - pLabel = new LetterPicker( abList ); + pLabel = new LetterPicker( listContainer ); connect(pLabel, SIGNAL(letterClicked(char)), this, SLOT(slotSetLetter(char))); - vb->insertWidget(1,pLabel); + vb->addWidget(pLabel); catMenu = new QPopupMenu( this ); catMenu->setCheckable( TRUE ); connect( catMenu, SIGNAL(activated(int)), this, SLOT(slotSetCategory(int)) ); populateCategories(); mbList->insertItem( tr("View"), catMenu ); - setCentralWidget( abList ); + setCentralWidget( listContainer ); fontMenu = new QPopupMenu(this); fontMenu->setCheckable( true ); @@ -232,7 +235,7 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, slotSetFont(startFontSize); mbList->insertItem( tr("Font"), fontMenu); - setCentralWidget(abList); + setCentralWidget(listContainer); // qDebug("adressbook contrsuction: t=%d", t.elapsed() ); } @@ -294,7 +297,7 @@ void AddressbookWindow::resizeEvent( QResizeEvent *e ) { QMainWindow::resizeEvent( e ); - if ( centralWidget() == abList ) + if ( centralWidget() == listContainer ) showList(); else if ( centralWidget() == mView ) showView(); @@ -316,8 +319,8 @@ void AddressbookWindow::slotUpdateToolbar() void AddressbookWindow::showList() { if ( mView ) mView->hide(); - setCentralWidget( abList ); - abList->show(); + setCentralWidget( listContainer ); + listContainer->show(); // update our focues... (or use a stack widget!); abList->setFocus(); } @@ -325,7 +328,7 @@ void AddressbookWindow::showList() void AddressbookWindow::showView() { if ( abList->numRows() > 0 ) { - abList->hide(); + listContainer->hide(); setCentralWidget( abView() ); mView->show(); mView->setFocus(); @@ -601,7 +604,7 @@ void AddressbookWindow::slotPersonalView() abView()->init( me ); abView()->sync(); - abList->hide(); + listContainer->hide(); setCentralWidget( abView() ); mView->show(); mView->setFocus(); diff --git a/core/pim/addressbook/addressbook.h b/core/pim/addressbook/addressbook.h index 31c4660..8e8c883 100644 --- a/core/pim/addressbook/addressbook.h +++ b/core/pim/addressbook/addressbook.h @@ -89,6 +89,7 @@ private: AbLabel *mView; LetterPicker *pLabel; AbTable *abList; + QWidget *listContainer; QAction *actionNew, *actionEdit, *actionTrash, *actionFind, *actionBeam, *actionPersonal, *actionMail; diff --git a/core/pim/addressbook/picker.cpp b/core/pim/addressbook/picker.cpp index 06dcc7d..a165451 100644 --- a/core/pim/addressbook/picker.cpp +++ b/core/pim/addressbook/picker.cpp @@ -79,10 +79,9 @@ void PickerLabel::mouseReleaseEvent( QMouseEvent *e ) { QString tmpStr; - if (lastLetter != letter1 && lastLetter != letter2 && lastLetter != letter3) + if (lastLetter != letter1 && lastLetter != letter2 && lastLetter != letter3 && lastLetter != '\0') QTimer::singleShot( 0, this, SLOT(emitClearSignal()) ); - qDebug( "a" ); switch (currentLetter) { case 0: tmpStr = ""; @@ -97,7 +96,6 @@ void PickerLabel::mouseReleaseEvent( QMouseEvent *e ) currentLetter++; lastLetter = letter1; emit selectedLetter( letter1 ); - qDebug( "PickerLabel::mouseReleaseEvent %c", letter1 ); break; case 1: @@ -114,7 +112,6 @@ void PickerLabel::mouseReleaseEvent( QMouseEvent *e ) currentLetter++; lastLetter = letter2; emit selectedLetter( letter2 ); - qDebug( "PickerLabel::mouseReleaseEvent %c", letter2 ); break; case 2: @@ -130,7 +127,6 @@ void PickerLabel::mouseReleaseEvent( QMouseEvent *e ) currentLetter++; lastLetter = letter3; emit selectedLetter( letter3 ); - qDebug( "PickerLabel::mouseReleaseEvent %c", letter3 ); break; default: @@ -228,7 +224,6 @@ void LetterPicker::clear() void LetterPicker::newLetter( char letter ) { - qDebug( "LetterPicker::newLetter %c", letter ); emit letterClicked( letter ); } -- cgit v0.9.0.2