summaryrefslogtreecommitdiff
authortux_mike <tux_mike>2002-04-17 20:46:18 (UTC)
committer tux_mike <tux_mike>2002-04-17 20:46:18 (UTC)
commit7b19e1d98d5acf01102ac057ec077fc036c034c6 (patch) (side-by-side diff)
treea5ec8752ba8cbf9c5c037f1ec3552be544cc8b3f
parent106073977316103f057930daf45f3a083114d48d (diff)
downloadopie-7b19e1d98d5acf01102ac057ec077fc036c034c6.zip
opie-7b19e1d98d5acf01102ac057ec077fc036c034c6.tar.gz
opie-7b19e1d98d5acf01102ac057ec077fc036c034c6.tar.bz2
Added a Letter Picker
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/abtable.cpp86
-rw-r--r--core/pim/addressbook/addressbook.cpp27
-rw-r--r--core/pim/addressbook/addressbook.h1
-rw-r--r--core/pim/addressbook/picker.cpp7
4 files changed, 98 insertions, 23 deletions
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 = "<qt><font color=\"#7F0000\">";
@@ -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 );
}