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.cpp47
1 files changed, 44 insertions, 3 deletions
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
@@ -77,23 +77,29 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name,
WFlags f )
: QMainWindow( parent, name, f ),
abEditor(0),
useRegExp(false),
doNotifyWrapAround(true),
caseSensitive(false),
+ m_useQtMail(true),
+ m_useOpieMail(false),
bAbEditFirstTime(TRUE),
syncing(FALSE)
{
isLoading = true;
// Read Config settings
Config cfg("AddressBook");
cfg.setGroup("Search");
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();
setCaption( tr("Contacts") );
setIcon( Resource::loadPixmap( "AddressBook" ) );
@@ -166,13 +172,13 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name,
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" ),
+ 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;
connect( a, SIGNAL( activated() ), this, SLOT( writeMail() ) );
a->addTo( edit );
a->addTo( listTools );
@@ -279,18 +285,22 @@ AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name,
void AddressbookWindow::slotConfig()
{
ConfigDlg* dlg = new ConfigDlg( this, "Config" );
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;
}
@@ -377,12 +387,15 @@ AddressbookWindow::~AddressbookWindow()
cfg.writeEntry("fontSize", startFontSize);
cfg.setGroup("Search");
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()
{
OContact ce = abList->currentEntry();
actionMail->setEnabled( !ce.defaultEmail().isEmpty() );
@@ -491,14 +504,42 @@ void AddressbookWindow::slotViewEdit()
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";
void AddressbookWindow::slotBeam()
{