Allow to custom file name

wilder
Laurent Montel 6 years ago
parent a5724bb417
commit c8914a7bd2
  1. 2
      CMakeLists.txt
  2. 6
      src/snippets/autotests/snippetcustomfileattachmentnamewidgettest.cpp
  3. 5
      src/snippets/snippetcustomfileattachmentnamedialog.cpp
  4. 2
      src/snippets/snippetcustomfileattachmentnamedialog.h
  5. 22
      src/snippets/snippetcustomfileattachmentnamewidget.cpp
  6. 8
      src/snippets/snippetcustomfileattachmentnamewidget.h
  7. 8
      src/snippets/snippetselectattachmentwidget.cpp
  8. 2
      src/snippets/snippetwidget.cpp

@ -39,7 +39,7 @@ set(PIMCOMMON_LIB_VERSION "5.13.42")
set(AKONADI_VERSION "5.13.41") set(AKONADI_VERSION "5.13.41")
set(AKONADIMIME_LIB_VERSION "5.13.40") set(AKONADIMIME_LIB_VERSION "5.13.40")
set(MESSAGELIB_LIB_VERSION "5.13.40") set(MESSAGELIB_LIB_VERSION "5.13.46")
set(KMIME_LIB_VERSION "5.13.40") set(KMIME_LIB_VERSION "5.13.40")
set(KMAILTRANSPORT_LIB_VERSION "5.13.40") set(KMAILTRANSPORT_LIB_VERSION "5.13.40")
set(MAILIMPORTER_LIB_VERSION "5.13.40") set(MAILIMPORTER_LIB_VERSION "5.13.40")

@ -20,6 +20,7 @@
#include "snippetcustomfileattachmentnamewidgettest.h" #include "snippetcustomfileattachmentnamewidgettest.h"
#include "snippets/snippetcustomfileattachmentnamewidget.h" #include "snippets/snippetcustomfileattachmentnamewidget.h"
#include <QLineEdit> #include <QLineEdit>
#include <QPushButton>
#include <QTest> #include <QTest>
#include <QVBoxLayout> #include <QVBoxLayout>
QTEST_MAIN(SnippetCustomFileAttachmentNameWidgetTest) QTEST_MAIN(SnippetCustomFileAttachmentNameWidgetTest)
@ -41,4 +42,9 @@ void SnippetCustomFileAttachmentNameWidgetTest::shouldHaveDefaultValues()
QLineEdit *mLineEdit = w.findChild<QLineEdit *>(QStringLiteral("mLineEdit")); QLineEdit *mLineEdit = w.findChild<QLineEdit *>(QStringLiteral("mLineEdit"));
QVERIFY(mLineEdit); QVERIFY(mLineEdit);
QVERIFY(mLineEdit->text().isEmpty()); QVERIFY(mLineEdit->text().isEmpty());
QPushButton *selectVariable = w.findChild<QPushButton *>(QStringLiteral("selectVariable"));
QVERIFY(selectVariable);
QVERIFY(!selectVariable->text().isEmpty());
QVERIFY(selectVariable->menu());
} }

@ -55,3 +55,8 @@ QString SnippetCustomFileAttachmentNameDialog::result() const
{ {
return mCustomWidget->result(); return mCustomWidget->result();
} }
void SnippetCustomFileAttachmentNameDialog::setText(const QString &str)
{
mCustomWidget->setText(str);
}

@ -37,6 +37,8 @@ public:
Q_REQUIRED_RESULT QString result() const; Q_REQUIRED_RESULT QString result() const;
void setText(const QString &str);
private: private:
SnippetCustomFileAttachmentNameWidget *mCustomWidget = nullptr; SnippetCustomFileAttachmentNameWidget *mCustomWidget = nullptr;
}; };

@ -18,9 +18,12 @@
*/ */
#include "snippetcustomfileattachmentnamewidget.h" #include "snippetcustomfileattachmentnamewidget.h"
#include <MessageComposer/ConvertSnippetVariableMenu>
#include <MessageComposer/ConvertSnippetVariablesJob>
#include <QHBoxLayout> #include <QHBoxLayout>
#include <KLocalizedString> #include <KLocalizedString>
#include <QLineEdit> #include <QLineEdit>
#include <QPushButton>
using namespace MailCommon; using namespace MailCommon;
SnippetCustomFileAttachmentNameWidget::SnippetCustomFileAttachmentNameWidget(QWidget *parent) SnippetCustomFileAttachmentNameWidget::SnippetCustomFileAttachmentNameWidget(QWidget *parent)
: QWidget(parent) : QWidget(parent)
@ -32,6 +35,15 @@ SnippetCustomFileAttachmentNameWidget::SnippetCustomFileAttachmentNameWidget(QWi
mLineEdit = new QLineEdit(this); mLineEdit = new QLineEdit(this);
mLineEdit->setObjectName(QStringLiteral("mLineEdit")); mLineEdit->setObjectName(QStringLiteral("mLineEdit"));
mainLayout->addWidget(mLineEdit); mainLayout->addWidget(mLineEdit);
mConvertMenu = new MessageComposer::ConvertSnippetVariableMenu(true, mLineEdit, this);
mConvertMenu->setObjectName(QStringLiteral("mConvertMenu"));
connect(mConvertMenu, &MessageComposer::ConvertSnippetVariableMenu::insertVariable, this, &SnippetCustomFileAttachmentNameWidget::insertVariable);
QPushButton *selectVariable = new QPushButton(i18n("Variables"), this);
selectVariable->setObjectName(QStringLiteral("selectVariable"));
selectVariable->setMenu(mConvertMenu->menu());
mainLayout->addWidget(selectVariable);
} }
SnippetCustomFileAttachmentNameWidget::~SnippetCustomFileAttachmentNameWidget() SnippetCustomFileAttachmentNameWidget::~SnippetCustomFileAttachmentNameWidget()
@ -39,8 +51,18 @@ SnippetCustomFileAttachmentNameWidget::~SnippetCustomFileAttachmentNameWidget()
} }
void SnippetCustomFileAttachmentNameWidget::insertVariable(MessageComposer::ConvertSnippetVariablesUtil::VariableType variable)
{
mLineEdit->insert(MessageComposer::ConvertSnippetVariablesJob::convertVariables(nullptr, MessageComposer::ConvertSnippetVariablesUtil::snippetVariableFromEnum(variable)));
}
QString SnippetCustomFileAttachmentNameWidget::result() const QString SnippetCustomFileAttachmentNameWidget::result() const
{ {
return mLineEdit->text(); return mLineEdit->text();
} }
void SnippetCustomFileAttachmentNameWidget::setText(const QString &str)
{
mLineEdit->setText(str);
}

@ -22,8 +22,11 @@
#include <QWidget> #include <QWidget>
#include "mailcommon_private_export.h" #include "mailcommon_private_export.h"
#include <MessageComposer/ConvertSnippetVariablesUtil>
class QLineEdit; class QLineEdit;
namespace MessageComposer {
class ConvertSnippetVariableMenu;
}
namespace MailCommon { namespace MailCommon {
class MAILCOMMON_TESTS_EXPORT SnippetCustomFileAttachmentNameWidget : public QWidget class MAILCOMMON_TESTS_EXPORT SnippetCustomFileAttachmentNameWidget : public QWidget
@ -33,8 +36,11 @@ public:
explicit SnippetCustomFileAttachmentNameWidget(QWidget *parent = nullptr); explicit SnippetCustomFileAttachmentNameWidget(QWidget *parent = nullptr);
~SnippetCustomFileAttachmentNameWidget(); ~SnippetCustomFileAttachmentNameWidget();
Q_REQUIRED_RESULT QString result() const; Q_REQUIRED_RESULT QString result() const;
void setText(const QString &str);
private: private:
void insertVariable(MessageComposer::ConvertSnippetVariablesUtil::VariableType variable);
QLineEdit *mLineEdit = nullptr; QLineEdit *mLineEdit = nullptr;
MessageComposer::ConvertSnippetVariableMenu *mConvertMenu = nullptr;
}; };
} }

@ -19,10 +19,12 @@
*/ */
#include "snippetselectattachmentwidget.h" #include "snippetselectattachmentwidget.h"
#include "snippetcustomfileattachmentnamedialog.h"
#include <PimCommon/SimpleStringListEditor> #include <PimCommon/SimpleStringListEditor>
#include <QVBoxLayout> #include <QVBoxLayout>
#include <QFileDialog> #include <QFileDialog>
#include <KLocalizedString> #include <KLocalizedString>
#include <QPointer>
using namespace MailCommon; using namespace MailCommon;
SnippetSelectAttachmentWidget::SnippetSelectAttachmentWidget(QWidget *parent) SnippetSelectAttachmentWidget::SnippetSelectAttachmentWidget(QWidget *parent)
@ -73,6 +75,10 @@ void SnippetSelectorWidget::addNewEntry()
QString SnippetSelectorWidget::customEntry(const QString &text) QString SnippetSelectorWidget::customEntry(const QString &text)
{ {
//TODO QPointer<SnippetCustomFileAttachmentNameDialog> dlg = new SnippetCustomFileAttachmentNameDialog(this);
dlg->setText(text);
if (dlg->exec()) {
return dlg->result();
}
return {}; return {};
} }

@ -51,7 +51,7 @@ SnippetWidget::SnippetWidget(QWidget *parent)
d->mUi.setupUi(d->wdg); d->mUi.setupUi(d->wdg);
layout->addWidget(d->wdg); layout->addWidget(d->wdg);
MessageComposer::ConvertSnippetVariableMenu *variableMenu = new MessageComposer::ConvertSnippetVariableMenu(this, this); MessageComposer::ConvertSnippetVariableMenu *variableMenu = new MessageComposer::ConvertSnippetVariableMenu(false, this, this);
d->mUi.pushButtonVariables->setMenu(variableMenu->menu()); d->mUi.pushButtonVariables->setMenu(variableMenu->menu());
connect(variableMenu, &MessageComposer::ConvertSnippetVariableMenu::insertVariable, this, [this](MessageComposer::ConvertSnippetVariablesUtil::VariableType type) { connect(variableMenu, &MessageComposer::ConvertSnippetVariableMenu::insertVariable, this, [this](MessageComposer::ConvertSnippetVariablesUtil::VariableType type) {
d->mUi.snippetText->editor()->insertPlainText(MessageComposer::ConvertSnippetVariablesUtil::snippetVariableFromEnum(type) + QLatin1Char(' ')); d->mUi.snippetText->editor()->insertPlainText(MessageComposer::ConvertSnippetVariablesUtil::snippetVariableFromEnum(type) + QLatin1Char(' '));

Loading…
Cancel
Save