summaryrefslogtreecommitdiff
path: root/core/pim/addressbook/addressbook.cpp
Side-by-side diff
Diffstat (limited to 'core/pim/addressbook/addressbook.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/addressbook.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp
index e8fa37c..5a8038b 100644
--- a/core/pim/addressbook/addressbook.cpp
+++ b/core/pim/addressbook/addressbook.cpp
@@ -8,49 +8,53 @@
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#define QTOPIA_INTERNAL_FD
#include "contacteditor.h"
#include "ablabel.h"
#include "abtable.h"
#include "addresssettings.h"
#include "addressbook.h"
#include <qpe/qpeapplication.h>
#include <qpe/config.h>
#include <qpe/contact.h>
+
+#ifndef MAKE_FOR_SHARP_ROM
#include <qpe/finddialog.h>
+#endif
+
#include <qpe/global.h>
#include <qpe/resource.h>
#include <qpe/ir.h>
#include <qpe/qpemessagebox.h>
#include <qpe/qcopenvelope_qws.h>
#include <qaction.h>
#include <qdialog.h>
#include <qdir.h>
#include <qfile.h>
#include <qimage.h>
#include <qlayout.h>
#include <qpe/qpemenubar.h>
#include <qmessagebox.h>
#include <qpixmap.h>
#include <qpopupmenu.h>
#include <qpe/qpetoolbar.h>
#include <qstringlist.h>
#include <qtoolbutton.h>
#include <qwhatsthis.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/types.h>
@@ -108,54 +112,56 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name,
listTools = new QPEToolBar( this, "list operations" );
QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), QString::null,
0, this, 0 );
actionNew = a;
connect( a, SIGNAL( activated() ), this, SLOT( slotListNew() ) );
a->addTo( edit );
a->addTo( listTools );
a = new QAction( tr( "Edit" ), Resource::loadPixmap( "edit" ), QString::null,
0, this, 0 );
actionEdit = a;
connect( a, SIGNAL( activated() ), this, SLOT( slotViewEdit() ) );
a->addTo( edit );
a->addTo( listTools );
a = new QAction( tr( "Delete" ), Resource::loadPixmap( "trash" ), QString::null,
0, this, 0 );
actionTrash = a;
connect( a, SIGNAL( activated() ), this, SLOT( slotListDelete() ) );
a->addTo( edit );
a->addTo( listTools );
+#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()) );
a->addTo( edit );
a->addTo( listTools );
+#endif
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() ) {
a = new QAction( tr ("Beam Entry" ), Resource::loadPixmap( "beam" ), QString::null,
0, this, 0 );
actionBeam = a;
connect( a, SIGNAL( activated() ), this, SLOT( slotBeam() ) );
a->addTo( edit );
a->addTo( listTools );
}
edit->insertSeparator();
a = new QAction( tr("My Personal Details"), QString::null, 0, 0, 0, TRUE );
@@ -489,58 +495,62 @@ void AddressbookWindow::editPersonal()
abEditor->setCaption(tr("Edit My Personal Details"));
abEditor->showMaximized();
// fix the foxus...
abEditor->setNameFocus();
if ( abEditor->exec() ) {
setFocus();
Contact new_personal = abEditor->entry();
QString fname = addressbookPersonalVCardName();
Contact::writeVCard( fname, new_personal );
abView()->init(new_personal);
abView()->sync();
}
abEditor->setCaption( tr("Edit Address") );
}
void AddressbookWindow::slotPersonalView()
{
if (!actionPersonal->isOn()) {
// we just turned it off
setCaption( tr("Contacts") );
actionNew->setEnabled(TRUE);
actionTrash->setEnabled(TRUE);
+#ifndef MAKE_FOR_SHARP_ROM
actionFind->setEnabled(TRUE);
+#endif
slotUpdateToolbar(); // maybe some of the above could be moved there
showList();
return;
}
// XXX need to disable some QActions.
actionNew->setEnabled(FALSE);
actionTrash->setEnabled(FALSE);
+#ifndef MAKE_FOR_SHARP_ROM
actionFind->setEnabled(FALSE);
+#endif
actionMail->setEnabled(FALSE);
setCaption( tr("Contacts - My Personal Details") );
QString filename = addressbookPersonalVCardName();
Contact me;
if (QFile::exists(filename))
me = Contact::readVCard( filename )[0];
abView()->init( me );
abView()->sync();
abList->hide();
setCentralWidget( abView() );
mView->show();
mView->setFocus();
}
void AddressbookWindow::editEntry( EntryMode entryMode )
{
Contact entry;
if ( bAbEditFirstTime ) {
abEditor = new ContactEditor( entry, &orderedFields, &slOrderedFields,
this, "editor" );
bAbEditFirstTime = FALSE;
if ( entryMode == EditEntry )
@@ -755,58 +765,64 @@ void AddressbookWindow::initFields()
slOrderedFields.remove( tr("Name Title") );
slOrderedFields.remove( tr("First Name") );
slOrderedFields.remove( tr("Last Name") );
slOrderedFields.remove( tr("File As") );
slOrderedFields.remove( tr("Default Email") );
slOrderedFields.remove( tr("Notes") );
slOrderedFields.remove( tr("Gender") );
}
}
AbLabel *AddressbookWindow::abView()
{
if ( !mView ) {
mView = new AbLabel( this, "viewer" );
mView->init( Contact() );
connect( mView, SIGNAL( okPressed() ), this, SLOT( slotListView() ) );
}
return mView;
}
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()) );
+
frmFind.exec();
+
if ( abList->numSelections() )
abList->clearSelection();
+
abList->clearFindRow();
+#endif
}
void AddressbookWindow::slotSetCategory( int c )
{
if ( c <= 0 )
return;
for ( unsigned int i = 1; i < catMenu->count(); i++ )
catMenu->setItemChecked( i, c == (int)i );
if ( c == 1 ) {
abList->setShowCategory( QString::null );
setCaption( tr("Contacts") + " - " + tr ( "All" ) );
} else if ( c == (int)catMenu->count() ) {
abList->setShowCategory( tr( "Unfiled" ) );
setCaption( tr("Contacts") + " - " + tr( "Unfiled" ) );
} else {
QString cat = abList->categories()[c - 2];
abList->setShowCategory( cat );
setCaption( tr("Contacts") + " - " + cat );
}
}
void AddressbookWindow::populateCategories()
{
catMenu->clear();