kutils: use KUrlRequester as editor for the attachments in KEMailDialog

so that files (attachments) can be conveniently chosen via a file dialog

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2023-07-29 23:55:32 +03:00
parent 8583056683
commit cd3cd80d2f
2 changed files with 9 additions and 1 deletions

View file

@ -1,4 +1,5 @@
include_directories( include_directories(
${KDE4_KIO_INCLUDES}
${CMAKE_SOURCE_DIR}/kutils/kpasswdstore ${CMAKE_SOURCE_DIR}/kutils/kpasswdstore
${CMAKE_BINARY_DIR}/kutils/kpasswdstore ${CMAKE_BINARY_DIR}/kutils/kpasswdstore
${CURL_INCLUDE_DIRS} ${CURL_INCLUDE_DIRS}
@ -18,6 +19,7 @@ target_link_libraries(kemail PUBLIC
kdecore kdecore
kdeui kdeui
kpasswdstore kpasswdstore
kio
) )
target_link_libraries(kemail PRIVATE ${CURL_LIBRARIES}) target_link_libraries(kemail PRIVATE ${CURL_LIBRARIES})

View file

@ -21,6 +21,7 @@
#include "klocale.h" #include "klocale.h"
#include "kstandarddirs.h" #include "kstandarddirs.h"
#include "kmessagebox.h" #include "kmessagebox.h"
#include "kurlrequester.h"
#include "kdebug.h" #include "kdebug.h"
#include "ui_kemaildialog.h" #include "ui_kemaildialog.h"
@ -36,6 +37,7 @@ public:
~KEMailDialogPrivate(); ~KEMailDialogPrivate();
KEMail* kemail; KEMail* kemail;
KUrlRequester* urlrequester;
Ui::KEMailDialogUI ui; Ui::KEMailDialogUI ui;
void sendMail(const QStringList &to, const QString &subject, const QString &message, const QStringList &attach); void sendMail(const QStringList &to, const QString &subject, const QString &message, const QStringList &attach);
@ -55,7 +57,8 @@ private:
}; };
KEMailDialogPrivate::KEMailDialogPrivate() KEMailDialogPrivate::KEMailDialogPrivate()
: kemail(nullptr) : kemail(nullptr),
urlrequester(nullptr)
{ {
kemail = new KEMail(this); kemail = new KEMail(this);
} }
@ -89,10 +92,13 @@ KEMailDialog::KEMailDialog(QWidget *parent, Qt::WindowFlags flags)
: KDialog(parent, flags), : KDialog(parent, flags),
d(new KEMailDialogPrivate()) d(new KEMailDialogPrivate())
{ {
d->urlrequester = new KUrlRequester(mainWidget());
d->urlrequester->setMode(KFile::File | KFile::ExistingOnly | KFile::LocalOnly);
d->ui.setupUi(mainWidget()); d->ui.setupUi(mainWidget());
d->ui.userlineedit->setText(d->kemail->user()); d->ui.userlineedit->setText(d->kemail->user());
d->ui.passlineedit->setText(d->kemail->password()); d->ui.passlineedit->setText(d->kemail->password());
d->ui.oauthlineedit->setText(d->kemail->oauth()); d->ui.oauthlineedit->setText(d->kemail->oauth());
d->ui.attachlistwidget->setCustomEditor(d->urlrequester->customEditor());
connect(d->ui.settingslabel, SIGNAL(leftClickedUrl()), this, SLOT(_slotSettings())); connect(d->ui.settingslabel, SIGNAL(leftClickedUrl()), this, SLOT(_slotSettings()));
connect(d, SIGNAL(sent()), this, SLOT(_slotSent())); connect(d, SIGNAL(sent()), this, SLOT(_slotSent()));