[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-imaging
Subject: [Kde-imaging] extragear/libs/kipi-plugins/sendimages
From: Gilles Caulier <caulier.gilles () gmail ! com>
Date: 2007-11-12 14:26:23
Message-ID: 1194877583.776064.403.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 735733 by cgilles:
Kipi-plugins from trunk (KDE4) : SendImages plugin port:
Huge improvement with mozilla/thunderbird emailer support about attachement files \
given on command line. No need to check if an instance of mailer already exist in \
memory to use -remote option. If we use -compose with the right options form. This \
way simplify the source code considerably... Thanks to Mozilla.org wiki page to \
describe all catch command line options syntax.
I have tested with recent Thunderbird, Mozilla, and Netscape mailers. Please give me \
feedback if you occurs special errors with old versions. Thanks in advance...
Note B.K.O files 148186 is closed because RAW attachement files is fixed now.
CCMAIL: digikam-devel@kde.org
CCMAIL: kde-imaging@kde.org
BUG: 148186
BUG: 150453
M +8 -55 emailpage.cpp
M +0 -6 emailpage.h
M +0 -2 emailsettingscontainer.h
M +39 -80 sendimages.cpp
M +0 -2 sendimagesdialog.cpp
--- trunk/extragear/libs/kipi-plugins/sendimages/emailpage.cpp #735732:735733
@@ -24,6 +24,7 @@
#include <QLayout>
#include <QLabel>
+#include <QGroupBox>
#include <QComboBox>
#include <QCheckBox>
#include <QPushButton>
@@ -34,7 +35,6 @@
#include <kdialog.h>
#include <knuminput.h>
#include <kiconloader.h>
-#include <kurlrequester.h>
// LibKDcraw includes.
@@ -57,8 +57,6 @@
{
labelMailAgent = 0;
mailAgentName = 0;
- labelThunderbirdBinPath = 0;
- thunderbirdBinPath = 0;
imagesResize = 0;
addComments = 0;
changeImagesProp = 0;
@@ -70,7 +68,6 @@
}
QLabel *labelMailAgent;
- QLabel *labelThunderbirdBinPath;
QLabel *labelImagesResize;
QLabel *labelImagesFormat;
@@ -83,8 +80,6 @@
KIntNumInput *imageCompression;
KIntNumInput *attachmentlimit;
-
- KUrlRequester *thunderbirdBinPath;
};
EmailPage::EmailPage(QWidget* parent)
@@ -117,15 +112,6 @@
//---------------------------------------------
- d->labelThunderbirdBinPath = new QLabel(i18n("&Thunderbird path:"), this);
-
- d->thunderbirdBinPath = new KUrlRequester(this);
- d->thunderbirdBinPath->setUrl(KUrl("/usr/bin/thunderbird"));
- d->labelThunderbirdBinPath->setBuddy( d->thunderbirdBinPath );
- d->thunderbirdBinPath->setWhatsThis(i18n("<p>The path name to the Thunderbird \
program."));
-
- //---------------------------------------------
-
d->addComments = new QCheckBox(i18n("Attach a file with caption and tags"), \
this);
d->addComments->setWhatsThis(i18n("<p>If you enable this option, all image \
captions and tags "
"will be added as an attached file."));
@@ -145,8 +131,8 @@
d->changeImagesProp->setWhatsThis(i18n("<p>If you enable this option, "
"all images to send can be resized and \
recompressed."));
- QGroupBox * groupBox = new QGroupBox(i18n("Image Properties"), this);
- QGridLayout* grid2 = new QGridLayout(groupBox);
+ QGroupBox *groupBox = new QGroupBox(i18n("Image Properties"), this);
+ QGridLayout *grid2 = new QGridLayout(groupBox);
d->imagesResize = new QComboBox(groupBox);
d->imagesResize->insertItem(EmailSettingsContainer::VERYSMALL, i18n("Very Small \
(320 pixels)")); @@ -230,13 +216,11 @@
grid->addWidget(d->labelMailAgent, 0, 0, 1, 1);
grid->addWidget(d->mailAgentName, 0, 1, 1, 2);
- grid->addWidget(d->labelThunderbirdBinPath, 1, 0, 1, 1);
- grid->addWidget(d->thunderbirdBinPath, 1, 1, 1, 3);
- grid->addWidget(d->attachmentlimit, 2, 0, 1, 4);
- grid->addWidget(d->addComments, 3, 0, 1, 4);
- grid->addWidget(d->changeImagesProp, 4, 0, 1, 4);
- grid->addWidget(groupBox, 5, 0, 1, 4);
- grid->setRowStretch(6, 10);
+ grid->addWidget(d->attachmentlimit, 1, 0, 1, 4);
+ grid->addWidget(d->addComments, 2, 0, 1, 4);
+ grid->addWidget(d->changeImagesProp, 3, 0, 1, 4);
+ grid->addWidget(groupBox, 4, 0, 1, 4);
+ grid->setRowStretch(5, 10);
grid->setColumnStretch(3, 10);
grid->setMargin(0);
grid->setSpacing(KDialog::spacingHint());
@@ -246,12 +230,6 @@
connect(d->imagesFormat, SIGNAL(activated(int)),
this, SLOT(slotImagesFormatChanged(int)));
- connect(d->mailAgentName, SIGNAL(activated(int)),
- this, SLOT(slotMailAgentChanged(int)));
-
- connect(d->thunderbirdBinPath, SIGNAL(textChanged(const QString&)),
- this, SLOT(slotThunderbirdBinPathChanged(const QString&)));
-
connect(d->changeImagesProp, SIGNAL(toggled(bool)),
groupBox, SLOT(setEnabled(bool)));
}
@@ -269,26 +247,6 @@
d->imageCompression->setEnabled(false);
}
-void EmailPage::slotMailAgentChanged(int i)
-{
- if ( i == EmailSettingsContainer::THUNDERBIRD )
- {
- d->labelThunderbirdBinPath->setEnabled(true);
- d->thunderbirdBinPath->setEnabled(true);
- }
- else
- {
- d->labelThunderbirdBinPath->setEnabled(false);
- d->thunderbirdBinPath->setEnabled(false);
- }
-}
-
-void EmailPage::slotThunderbirdBinPathChanged(const QString& url)
-{
- if ( d->mailAgentName->currentIndex() == EmailSettingsContainer::THUNDERBIRD )
- emit signalEnableButtonOK( !url.isEmpty());
-}
-
void EmailPage::setEmailSettings(const EmailSettingsContainer& settings)
{
d->mailAgentName->setCurrentIndex((int)settings.emailProgram);
@@ -301,10 +259,7 @@
d->imageCompression->setValue(settings.imageCompression);
d->attachmentlimit->setValue(settings.attachmentLimitInMbytes);
- d->thunderbirdBinPath->setUrl(settings.thunderbirdPath);
-
slotImagesFormatChanged(d->imagesFormat->currentIndex());
- slotMailAgentChanged(d->mailAgentName->currentIndex());
}
EmailSettingsContainer EmailPage::emailSettings()
@@ -320,8 +275,6 @@
settings.imageCompression = d->imageCompression->value();
settings.attachmentLimitInMbytes = d->attachmentlimit->value();
- settings.thunderbirdPath = d->thunderbirdBinPath->url();
-
return settings;
}
--- trunk/extragear/libs/kipi-plugins/sendimages/emailpage.h #735732:735733
@@ -48,15 +48,9 @@
void setEmailSettings(const EmailSettingsContainer& settings);
EmailSettingsContainer emailSettings();
-signals:
-
- void signalEnableButtonOK(bool);
-
private slots:
void slotImagesFormatChanged(int);
- void slotMailAgentChanged(int);
- void slotThunderbirdBinPathChanged(const QString&);
private:
--- trunk/extragear/libs/kipi-plugins/sendimages/emailsettingscontainer.h \
#735732:735733 @@ -168,8 +168,6 @@
QString tempPath;
- KUrl thunderbirdPath;
-
EmailClient emailProgram;
ImageSize imageSize;
--- trunk/extragear/libs/kipi-plugins/sendimages/sendimages.cpp #735732:735733
@@ -61,10 +61,13 @@
SendImagesPriv()
{
+ invokedBefore = false;
threadImgResize = 0;
progressDlg = 0;
}
+ bool invokedBefore;
+
KUrl::List attachementFiles;
KUrl::List failedResizedImages;
@@ -440,97 +443,53 @@
break;
}
- case EmailSettingsContainer::GMAILAGENT:
- {
- break;
- }
+ // More info about command lines options with Mozilla & co:
+ // http://www.mozilla.org/docs/command-line-args.html#Syntax_Rules
case EmailSettingsContainer::MOZILLA:
- {
- break;
- }
-
case EmailSettingsContainer::NETSCAPE:
- {
- break;
- }
-
case EmailSettingsContainer::THUNDERBIRD:
+ case EmailSettingsContainer::GMAILAGENT:
{
+ QString prog;
+ if (d->settings.emailProgram == EmailSettingsContainer::MOZILLA)
+ prog = QString("mozila");
+ else if (d->settings.emailProgram == \
EmailSettingsContainer::NETSCAPE) + prog = \
QString("netscape"); + else if (d->settings.emailProgram == \
EmailSettingsContainer::THUNDERBIRD) + prog = \
QString("thunderbird"); + else
+ prog = QString("gmailagent");
+
+ QStringList args;
+ args.append("-compose");
+ QString tmp = "attachment='";
+ for (KUrl::List::Iterator it = fileList.begin() ; it != \
fileList.end() ; ++it ) + {
+ tmp.append( "file://" );
+ QString toencode=(*it).encodedPathAndQuery();
+ tmp.append(toencode);
+ tmp.append( "," );
+ }
+ tmp.remove(tmp.length()-1, 1);
+ tmp.append("'");
+
+ args.append(tmp);
+
+ if (!QProcess::startDetached(prog, args))
+ invokeMailAgentError(prog, args);
+ else
+ {
+ invokeMailAgentDone(prog, args);
+ agentInvoked = true;
+ }
+
break;
}
}
}
}
while(!fileList.isEmpty());
-
-/*
-
- // Mozilla | Netscape | Thunderbird mail agent call.
-
- if ( m_sendImagesDialog->m_mailAgentName->currentText() == "Mozilla" ||
- m_sendImagesDialog->m_mailAgentName->currentText() == "Netscape" ||
- m_sendImagesDialog->m_mailAgentName->currentText() == "Thunderbird" ||
- m_sendImagesDialog->m_mailAgentName->currentText() == "GmailAgent")
- {
- m_mailAgentProc = new KProcess;
-
- m_thunderbirdUrl = m_sendImagesDialog->m_ThunderbirdBinPath->url();
-
- if ( m_sendImagesDialog->m_mailAgentName->currentText() == "Mozilla" )
- {
- *m_mailAgentProc << "mozilla" << "-remote";
- }
- else if ( m_sendImagesDialog->m_mailAgentName->currentText() == \
"Thunderbird" )
- {
- *m_mailAgentProc << m_thunderbirdUrl << "-remote";
- qDebug("URL: %s", m_thunderbirdUrl.ascii());
- }
- else if ( m_sendImagesDialog->m_mailAgentName->currentText() == \
"GmailAgent" )
- {
- *m_mailAgentProc << "gmailagent" << "-remote";
- }
- else
- {
- *m_mailAgentProc << "netscape" << "-remote";
- }
-
- QString Temp = " xfeDoCommand(composeMessage,attachment='";
-
- for ( KURL::List::Iterator it = filelist.begin() ; it != filelist.end() \
; ++it )
- {
- Temp.append( "file://" );
- QString toencode=(*it).encodedPathAndQuery();
- Temp.append(toencode);
- Temp.append( "," );
- }
-
- Temp.remove(Temp.length()-1,1);
- Temp.append("')");
-
- *m_mailAgentProc << Temp;
-
- if (!m_invokedBefore)
- {
- connect(m_mailAgentProc, SIGNAL(processExited(KProcess *)),
- this, SLOT(slotMozillaExited(KProcess*)));
-
- connect(m_mailAgentProc, SIGNAL(receivedStderr(KProcess *, char*, \
int)),
- this, SLOT(slotMozillaReadStderr(KProcess*, char*, int)));
- }
- qDebug ("%s", Temp.ascii());
-
- if ( m_mailAgentProc->start(KProcess::NotifyOnExit , KProcess::All) == \
false )
- KMessageBox::error(kapp->activeWindow(),
- i18n("Cannot start '%1' program;\nplease "
- "check your installation.")
- \
.arg(m_sendImagesDialog->m_mailAgentName->currentText()));
- else
- { agentInvoked = true;
- m_invokedBefore=true;
- }
- }
-*/
return agentInvoked;
}
--- trunk/extragear/libs/kipi-plugins/sendimages/sendimagesdialog.cpp #735732:735733
@@ -215,7 +215,6 @@
settings.addCommentsAndTags = group.readEntry("AddCommentsAndTags", false);
settings.imageCompression = group.readEntry("ImageCompression", 75);
settings.attachmentLimitInMbytes = group.readEntry("AttachmentLimit", 17);
- settings.thunderbirdPath = group.readEntry("ThunderbirdPath", KUrl());
d->emailPage->setEmailSettings(settings);
KConfigGroup group2 = config.group(QString("SendImages Dialog"));
@@ -236,7 +235,6 @@
group.writeEntry("AddCommentsAndTags", settings.addCommentsAndTags);
group.writeEntry("ImageCompression", settings.imageCompression);
group.writeEntry("AttachmentLimit", settings.attachmentLimitInMbytes);
- group.writeEntry("ThunderbirdPath", settings.thunderbirdPath);
KConfigGroup group2 = config.group(QString("SendImages Dialog"));
saveDialogSize(group2);
_______________________________________________
Kde-imaging mailing list
Kde-imaging@kde.org
https://mail.kde.org/mailman/listinfo/kde-imaging
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic