From 78152b3adbe3ae4626c8f53e3edd0babcaf6fb72 Mon Sep 17 00:00:00 2001 From: eilers Date: Tue, 22 Oct 2002 12:34:54 +0000 Subject: Find bugfix. Tried to make the letterpicker more visible due to undelign does not work on my Z.. :( Added use of alternative mail-application (opie-mail instead of QT-Mail) --- (limited to 'core/pim/addressbook') diff --git a/core/pim/addressbook/TODO b/core/pim/addressbook/TODO index 796dc49..80ec2d9 100644 --- a/core/pim/addressbook/TODO +++ b/core/pim/addressbook/TODO @@ -1,16 +1,17 @@ Stuff todo until OPIE 1.0 : +Pending bugfixes from previous work: + Urgent: - Font menu is invisible using german translation Important: +- Overview window cleanup needed.. - Cursor keys should work in detail-view (ablabel) - "What's this" should be added - Store last settings of combo-boxes -- Mail-Icon is missing -- Overview window cleanup needed.. - Finishing of new View functions (List, Phonebook...) - The names of the countries are sorted by there english names, only.. Even if they are translated.. :S @@ -34,3 +35,5 @@ Fixed: - Adding a configuration dialog - Picker: Activated letter schould be more visible - Advanced handling of cursor keys (search..) +- Mail-Icon is missing +- Use opie-mail insted of qt-mail if possible. diff --git a/core/pim/addressbook/abtable.cpp b/core/pim/addressbook/abtable.cpp index 97b26db..4feadeb 100644 --- a/core/pim/addressbook/abtable.cpp +++ b/core/pim/addressbook/abtable.cpp @@ -686,41 +686,53 @@ void AbTable::slotDoFind( const QString &findString, bool caseSensitive, bool us r.setWildcard( !useRegExp ); rows = numRows(); static bool wrapAround = true; + bool try_again = false; - if ( !backwards ) { - for ( row = currFindRow + 1; row < rows; row++ ) { - ati = static_cast( item(row, 0) ); - if ( contactCompare( contactList[ati], r, category ) ) - break; + // We will loop until we found an entry or found nothing. + do { + if ( !backwards ) { + for ( row = currFindRow + 1; row < rows; row++ ) { + ati = static_cast( item(row, 0) ); + if ( contactCompare( contactList[ati], r, category ) ){ + try_again = false; + break; + } + } + } else { + for ( row = currFindRow - 1; row > -1; row-- ) { + ati = static_cast( item(row, 0) ); + if ( contactCompare( contactList[ati], r, category ) ){ + try_again = false; + break; + } + } } - } else { - for ( row = currFindRow - 1; row > -1; row-- ) { - ati = static_cast( item(row, 0) ); - if ( contactCompare( contactList[ati], r, category ) ) - break; + if ( row >= rows || row < 0 ) { + if ( row < 0 ) + currFindRow = rows; + else + currFindRow = -1; + + if ( wrapAround ){ + emit signalWrapAround(); + try_again = true; + }else{ + emit signalNotFound(); + try_again = false; + } + + wrapAround = !wrapAround; + } else { + currFindRow = row; + QTableSelection foundSelection; + foundSelection.init( currFindRow, 0 ); + foundSelection.expandTo( currFindRow, numCols() - 1 ); + addSelection( foundSelection ); + setCurrentCell( currFindRow, 0 /* numCols() - 1 */ ); + wrapAround = true; + try_again = false; } - } - if ( row >= rows || row < 0 ) { - if ( row < 0 ) - currFindRow = rows; - else - currFindRow = -1; - - if ( wrapAround ) - emit signalWrapAround(); - else - emit signalNotFound(); - - wrapAround = !wrapAround; - } else { - currFindRow = row; - QTableSelection foundSelection; - foundSelection.init( currFindRow, 0 ); - foundSelection.expandTo( currFindRow, numCols() - 1 ); - addSelection( foundSelection ); - setCurrentCell( currFindRow, 0 /* numCols() - 1 */ ); - wrapAround = true; - } + } while ( try_again ); } static bool contactCompare( const OContact &cnt, const QRegExp &r, int category ) diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp index 3466801..39d8321 100644 --- a/core/pim/addressbook/addressbook.cpp +++ b/core/pim/addressbook/addressbook.cpp @@ -80,6 +80,8 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, useRegExp(false), doNotifyWrapAround(true), caseSensitive(false), + m_useQtMail(true), + m_useOpieMail(false), bAbEditFirstTime(TRUE), syncing(FALSE) { @@ -91,6 +93,10 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, useRegExp = cfg.readBoolEntry( "useRegExp" ); caseSensitive = cfg.readBoolEntry( "caseSensitive" ); doNotifyWrapAround = cfg.readBoolEntry( "doNotifyWrapAround" ); + cfg.setGroup("Mail"); + m_useQtMail = cfg.readBoolEntry( "useQtMail" ); + m_useOpieMail=cfg.readBoolEntry( "useOpieMail" ); + initFields(); @@ -169,7 +175,7 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, connect( a, SIGNAL( activated() ), this, SLOT( slotFindClose() ) ); a->addTo( searchBar ); - a = new QAction( tr( "Write Mail To" ), Resource::loadPixmap( "qtmail/reply" ), + a = new QAction( tr( "Write Mail To" ), Resource::loadPixmap( "mail/sendmail" ), QString::null, 0, this, 0 ); //a->setEnabled( FALSE ); we got support for it now :) zecke actionMail = a; @@ -282,12 +288,16 @@ void AddressbookWindow::slotConfig() dlg -> setUseRegExp ( useRegExp ); dlg -> setBeCaseSensitive( caseSensitive ); dlg -> setSignalWrapAround( doNotifyWrapAround ); + dlg -> setQtMail ( m_useQtMail ); + dlg -> setOpieMail ( m_useOpieMail ); dlg -> showMaximized(); if ( dlg -> exec() ) { qWarning ("Config Dialog accepted !"); useRegExp = dlg -> useRegExp(); caseSensitive = dlg -> beCaseSensitive(); doNotifyWrapAround = dlg -> signalWrapAround(); + m_useQtMail = dlg -> useQtMail(); + m_useOpieMail= dlg -> useOpieMail(); } delete dlg; @@ -380,6 +390,9 @@ AddressbookWindow::~AddressbookWindow() cfg.writeEntry("useRegExp", useRegExp); cfg.writeEntry("caseSensitive", caseSensitive); cfg.writeEntry("doNotifyWrapAround", doNotifyWrapAround); + cfg.setGroup("Mail"); + cfg.writeEntry( "useQtMail", m_useQtMail ); + cfg.writeEntry( "useOpieMail", m_useOpieMail); } void AddressbookWindow::slotUpdateToolbar() @@ -494,8 +507,36 @@ void AddressbookWindow::writeMail() OContact c = abList->currentEntry(); QString name = c.fileAs(); QString email = c.defaultEmail(); - QCopEnvelope e("QPE/Application/qtmail", "writeMail(QString,QString)"); - e << name << email; + + // I prefer the OPIE-Environment variable before the + // QPE-one.. + QString basepath = QString::fromLatin1( getenv("OPIEDIR") ); + if ( basepath.isEmpty() ) + basepath = QString::fromLatin1( getenv("QPEDIR") ); + + // Try to access the preferred. If not possible, try to + // switch to the other one.. + if ( m_useQtMail ){ + qWarning ("Accessing: %s", (basepath + "/bin/qtmail").latin1()); + if ( QFile::exists( basepath + "/bin/qtmail" ) ){ + qWarning ("QCop"); + QCopEnvelope e("QPE/Application/qtmail", "writeMail(QString,QString)"); + e << name << email; + return; + } else + m_useOpieMail = true; + } + if ( m_useOpieMail ){ + qWarning ("Accessing: %s", (basepath + "/bin/mail").latin1()); + if ( QFile::exists( basepath + "/bin/mail" ) ){ + qWarning ("QCop"); + QCopEnvelope e("QPE/Application/mail", "writeMail(QString,QString)"); + e << name << email; + return; + } else + m_useQtMail = true; + } + } static const char * beamfile = "/tmp/obex/contact.vcf"; diff --git a/core/pim/addressbook/addressbook.h b/core/pim/addressbook/addressbook.h index 299ed70..8027ccf 100644 --- a/core/pim/addressbook/addressbook.h +++ b/core/pim/addressbook/addressbook.h @@ -118,6 +118,9 @@ private: bool doNotifyWrapAround; bool caseSensitive; + bool m_useQtMail; + bool m_useOpieMail; + QAction *actionNew, *actionEdit, *actionTrash, *actionFind, *actionBeam, *actionPersonal, *actionMail; bool bAbEditFirstTime; diff --git a/core/pim/addressbook/configdlg.cpp b/core/pim/addressbook/configdlg.cpp index b7c3b77..c0195d1 100644 --- a/core/pim/addressbook/configdlg.cpp +++ b/core/pim/addressbook/configdlg.cpp @@ -15,6 +15,14 @@ bool ConfigDlg::useWildCards() const { return m_useWildCard->isOn(); } +bool ConfigDlg::useQtMail() const +{ + return m_useQtMail->isOn(); +} +bool ConfigDlg::useOpieMail() const +{ + return m_useOpieMail->isOn(); +} bool ConfigDlg::beCaseSensitive() const { return m_useCaseSensitive->isChecked(); @@ -39,6 +47,14 @@ void ConfigDlg::setSignalWrapAround( bool v ) { m_signalWrapAround->setChecked( v ); } +void ConfigDlg::setQtMail( bool v ) +{ + m_useQtMail->setChecked( v ); +} +void ConfigDlg::setOpieMail( bool v ) +{ + m_useOpieMail->setChecked( v ); +} diff --git a/core/pim/addressbook/configdlg.h b/core/pim/addressbook/configdlg.h index 8be469b..34e9718 100644 --- a/core/pim/addressbook/configdlg.h +++ b/core/pim/addressbook/configdlg.h @@ -14,11 +14,15 @@ public: bool useWildCards() const; bool beCaseSensitive() const; bool signalWrapAround() const; + bool useQtMail() const; + bool useOpieMail() const; void setUseRegExp( bool v ); void setUseWildCards( bool v ); void setBeCaseSensitive( bool v ); void setSignalWrapAround( bool v ); + void setQtMail( bool v ); + void setOpieMail( bool v ); }; diff --git a/core/pim/addressbook/configdlg_base.ui b/core/pim/addressbook/configdlg_base.ui index e082702..d3ea12e 100644 --- a/core/pim/addressbook/configdlg_base.ui +++ b/core/pim/addressbook/configdlg_base.ui @@ -12,7 +12,7 @@ 0 0 - 227 + 217 287 @@ -153,6 +153,109 @@ + + QWidget + + name + tab + + + title + Mail + + + + margin + 5 + + + spacing + 6 + + + QButtonGroup + + name + ButtonGroup2 + + + title + Mail + + + + margin + 11 + + + spacing + 6 + + + QRadioButton + + name + m_useQtMail + + + text + Prefer QT-Mail + + + checked + true + + + + QRadioButton + + name + m_useOpieMail + + + text + Prefer Opie-Mail + + + + QLabel + + name + TextLabel1 + + + text + Notice: QT-Mail is just +provided in the SHARP +default ROM. Opie-Mail +is provided free ! + + + + + + + name + Spacer2 + + + orientation + Vertical + + + sizeType + Expanding + + + sizeHint + + 20 + 20 + + + + + QLayoutWidget diff --git a/core/pim/addressbook/opie-addressbook.control b/core/pim/addressbook/opie-addressbook.control index 14b0770..0a04ee6 100644 --- a/core/pim/addressbook/opie-addressbook.control +++ b/core/pim/addressbook/opie-addressbook.control @@ -1,7 +1,7 @@ Files: bin/addressbook apps/1Pim/addressbook.desktop Priority: optional Section: opie/applications -Maintainer: Warwick Allison +Maintainer: Stefan Eilers Architecture: arm Version: $QPE_VERSION-$SUB_VERSION Depends: opie-base ($QPE_VERSION) libopie diff --git a/core/pim/addressbook/picker.cpp b/core/pim/addressbook/picker.cpp index 7f4acb0..2c7dd71 100644 --- a/core/pim/addressbook/picker.cpp +++ b/core/pim/addressbook/picker.cpp @@ -93,9 +93,9 @@ void PickerLabel::mouseReleaseEvent( QMouseEvent* /* e */ ) switch (currentLetter) { case 0: - tmpStr = ""; + tmpStr = ""; tmpStr += letter1; - tmpStr += ""; + tmpStr += ""; tmpStr += letter2; tmpStr += letter3; tmpStr += ""; @@ -110,9 +110,9 @@ void PickerLabel::mouseReleaseEvent( QMouseEvent* /* e */ ) case 1: tmpStr = ""; tmpStr += letter1; - tmpStr += ""; + tmpStr += ""; tmpStr += letter2; - tmpStr += ""; + tmpStr += ""; tmpStr += letter3; tmpStr += ""; @@ -127,9 +127,9 @@ void PickerLabel::mouseReleaseEvent( QMouseEvent* /* e */ ) tmpStr = ""; tmpStr += letter1; tmpStr += letter2; - tmpStr += ""; + tmpStr += ""; tmpStr += letter3; - tmpStr += ""; + tmpStr += ""; setText(tmpStr); -- cgit v0.9.0.2