Diffstat (limited to 'core/pim/addressbook/addressbook.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/pim/addressbook/addressbook.cpp | 69 |
1 files changed, 48 insertions, 21 deletions
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 @@ -59,28 +59,24 @@ #include <qwhatsthis.h> #include <stdlib.h> #include <sys/stat.h> #include <sys/types.h> #include <fcntl.h> #include <unistd.h> #include <qdatetime.h> #include "picker.h" -// Remove this for OPIE releae 1.0 ! -#define __DEBUG_RELEASE - - static QString addressbookPersonalVCardName() { QString filename = Global::applicationFileName("addressbook", "businesscard.vcf"); return filename; } AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, WFlags f ) : QMainWindow( parent, name, f ), abEditor(0), @@ -131,38 +127,49 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, a->addTo( edit ); a->addTo( listTools ); // make it possible to go directly to businesscard via qcop call #if defined(Q_WS_QWS) #if !defined(QT_NO_COP) QCopChannel *addressChannel = new QCopChannel("QPE/Addressbook" , this ); connect (addressChannel, SIGNAL( received(const QCString &, const QByteArray &)), this, SLOT ( appMessage(const QCString &, const QByteArray &) ) ); #endif #endif - - - - - -#ifndef MAKE_FOR_SHARP_ROM a = new QAction( tr( "Find" ), Resource::loadPixmap( "mag" ), QString::null, 0, this, 0 ); actionFind = a; - connect( a, SIGNAL(activated()), this, SLOT(slotFind()) ); + connect( a, SIGNAL(activated()), this, SLOT( slotFindOpen()) ); a->addTo( edit ); a->addTo( listTools ); -#endif - + + // Much better search widget, taken from QTReader.. (se) + searchBar = new OFloatBar( "Search", this, QMainWindow::Top, TRUE ); + searchBar->setHorizontalStretchable( TRUE ); + searchBar->hide(); + searchEdit = new QLineEdit( searchBar, "searchEdit" ); +// QFont f("unifont", 16 /*, QFont::Bold*/); +// searchEdit->setFont( f ); + searchBar->setStretchableWidget( searchEdit ); + connect( searchEdit, SIGNAL( returnPressed( ) ), + this, SLOT( slotFind( ) ) ); + + a = new QAction( tr( "Find Next" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( slotFindNext() ) ); + a->addTo( searchBar ); + + a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); + connect( a, SIGNAL( activated() ), this, SLOT( slotFindClose() ) ); + a->addTo( searchBar ); a = new QAction( tr( "Write Mail To" ), Resource::loadPixmap( "qtmail/reply" ), QString::null, 0, this, 0 ); //a->setEnabled( FALSE ); we got support for it now :) zecke actionMail = a; connect( a, SIGNAL( activated() ), this, SLOT( writeMail() ) ); a->addTo( edit ); a->addTo( listTools ); if ( Ir::supported() ) { @@ -189,25 +196,25 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, a->addTo( edit ); // Do we need this function ? (se) // a = new QAction( tr( "Arrange Edit Fields"), QString::null, 0, 0 ); // connect( a, SIGNAL( activated() ), this, SLOT( slotSettings() ) ); // a->addTo( edit ); #ifdef __DEBUG_RELEASE // Remove this function for public Release ! This is only // for debug purposes .. a = new QAction( tr( "Save all Data"), QString::null, 0, 0 ); - connect( a, SIGNAL( activated() ), this, SLOT( save() ) ); + connect( a, SIGNAL( activated() ), this , SLOT( slotSave() ) ); a->addTo( edit ); #endif // Create Views 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 ) ) ); @@ -744,24 +751,31 @@ bool AddressbookWindow::save() "and try again.\n" "\nQuit anyway?"), QMessageBox::Yes|QMessageBox::Escape, QMessageBox::No|QMessageBox::Default ) != QMessageBox::No ) return TRUE; else return FALSE; } return TRUE; } +#ifdef __DEBUG_RELEASE +void AddressbookWindow::slotSave() +{ + save(); +} +#endif + void AddressbookWindow::slotSettings() { AddressSettings frmSettings( this ); #if defined(Q_WS_QWS) || defined(_WS_QWS_) frmSettings.showMaximized(); #endif if ( frmSettings.exec() ) { allFields.clear(); orderedFields.clear(); slOrderedFields.clear(); initFields(); @@ -868,42 +882,55 @@ void AddressbookWindow::initFields() AbLabel *AddressbookWindow::abView() { if ( !mView ) { mView = new AbLabel( this, "viewer" ); mView->init( OContact() ); connect( mView, SIGNAL( okPressed() ), this, SLOT( slotListView() ) ); } return mView; } +void AddressbookWindow::slotFindOpen() +{ + searchBar->show(); +} +void AddressbookWindow::slotFindClose() +{ + searchBar->hide(); +} +void AddressbookWindow::slotFindNext() +{ +} + void AddressbookWindow::slotFind() { -#ifndef MAKE_FOR_SHARP_ROM if ( centralWidget() == abView() ) showList(); - FindDialog frmFind( "Contacts", this ); - QObject::connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)), abList, SLOT(slotDoFind( const QString&,bool,bool,int))); - QObject::connect( abList, SIGNAL(signalNotFound()), &frmFind, SLOT(slotNotFound()) ); - QObject::connect( abList, SIGNAL(signalWrapAround()), &frmFind, SLOT(slotWrapAround()) ); +// FindDialog frmFind( "Contacts", this ); +// QObject::connect( abList, SIGNAL(signalNotFound()), &frmFind, SLOT(slotNotFound()) ); +// QObject::connect( abList, SIGNAL(signalWrapAround()), &frmFind, SLOT(slotWrapAround()) ); +// frmFind.exec(); + + // QStringList categories = abList->categories(); + // abList->setShowCategory( book, cat ); + abList->slotDoFind( searchEdit->text(), false, false); - frmFind.exec(); if ( abList->numSelections() ) abList->clearSelection(); abList->clearFindRow(); -#endif } void AddressbookWindow::slotSetCategory( int c ) { QString cat, book; if ( c <= 0 ) return; // Checkmark Book Menu Item Selected if ( c < 6 ) |