mirror of
https://bitbucket.org/smil3y/kde-playground.git
synced 2025-02-24 19:02:51 +00:00
295 lines
7.7 KiB
C++
295 lines
7.7 KiB
C++
/*
|
|
Copyright (c) 2013, 2014 Montel Laurent <montel@kde.org>
|
|
|
|
This program is free software; you can redistribute it and/or modify it
|
|
under the terms of the GNU General Public License, version 2, as
|
|
published by the Free Software Foundation.
|
|
|
|
This program is distributed in the hope that it will be useful, but
|
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along
|
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
|
|
#ifndef CONFIGURECOMPOSERPAGE_H
|
|
#define CONFIGURECOMPOSERPAGE_H
|
|
|
|
#include "kmail_export.h"
|
|
#include <config-enterprise.h>
|
|
#include "configuredialog_p.h"
|
|
#include "ui_customtemplates_base.h"
|
|
class QCheckBox;
|
|
class KIntSpinBox;
|
|
class KIntNumInput;
|
|
class KComboBox;
|
|
class KUrlRequester;
|
|
class KLineEdit;
|
|
class ListView;
|
|
class QPushButton;
|
|
class QLabel;
|
|
class ConfigureStorageServiceWidget;
|
|
|
|
namespace TemplateParser {
|
|
class CustomTemplates;
|
|
class TemplatesConfiguration;
|
|
}
|
|
namespace PimCommon {
|
|
class AutoCorrectionWidget;
|
|
}
|
|
namespace MessageComposer {
|
|
class ImageScalingWidget;
|
|
}
|
|
|
|
namespace PimCommon {
|
|
class SimpleStringListEditor;
|
|
}
|
|
|
|
class ComposerPageGeneralTab : public ConfigModuleTab {
|
|
Q_OBJECT
|
|
public:
|
|
explicit ComposerPageGeneralTab( QWidget * parent=0 );
|
|
QString helpAnchor() const;
|
|
|
|
void save();
|
|
protected slots:
|
|
void slotConfigureRecentAddresses();
|
|
void slotConfigureCompletionOrder();
|
|
|
|
private:
|
|
void doLoadFromGlobalSettings();
|
|
void doResetToDefaultsOther();
|
|
|
|
private:
|
|
QCheckBox *mAutoAppSignFileCheck;
|
|
QCheckBox *mTopQuoteCheck;
|
|
QCheckBox *mDashDashCheck;
|
|
QCheckBox *mReplyUsingHtml;
|
|
QCheckBox *mSmartQuoteCheck;
|
|
QCheckBox *mStripSignatureCheck;
|
|
QCheckBox *mQuoteSelectionOnlyCheck;
|
|
QCheckBox *mAutoRequestMDNCheck;
|
|
QCheckBox *mShowRecentAddressesInComposer;
|
|
QCheckBox *mWordWrapCheck;
|
|
KIntSpinBox *mWrapColumnSpin;
|
|
KIntSpinBox *mAutoSave;
|
|
KIntSpinBox *mMaximumRecipients;
|
|
QCheckBox *mImprovePlainTextOfHtmlMessage;
|
|
KIntNumInput *mMaximumRecentAddress;
|
|
#ifdef KDEPIM_ENTERPRISE_BUILD
|
|
KComboBox *mForwardTypeCombo;
|
|
QCheckBox *mRecipientCheck;
|
|
KIntSpinBox *mRecipientSpin;
|
|
#endif
|
|
};
|
|
|
|
class ComposerPageExternalEditorTab : public ConfigModuleTab {
|
|
Q_OBJECT
|
|
public:
|
|
explicit ComposerPageExternalEditorTab( QWidget * parent = 0 );
|
|
QString helpAnchor() const;
|
|
|
|
void save();
|
|
|
|
private:
|
|
void doLoadFromGlobalSettings();
|
|
|
|
private:
|
|
QCheckBox *mExternalEditorCheck;
|
|
KUrlRequester *mEditorRequester;
|
|
};
|
|
|
|
class ComposerPageTemplatesTab : public ConfigModuleTab {
|
|
Q_OBJECT
|
|
public:
|
|
explicit ComposerPageTemplatesTab( QWidget * parent = 0 );
|
|
QString helpAnchor() const;
|
|
|
|
void save();
|
|
|
|
private slots:
|
|
|
|
private:
|
|
void doLoadFromGlobalSettings();
|
|
void doResetToDefaultsOther();
|
|
private:
|
|
TemplateParser::TemplatesConfiguration* mWidget;
|
|
};
|
|
|
|
class ComposerPageCustomTemplatesTab : public ConfigModuleTab {
|
|
Q_OBJECT
|
|
public:
|
|
explicit ComposerPageCustomTemplatesTab( QWidget * parent = 0 );
|
|
QString helpAnchor() const;
|
|
|
|
void save();
|
|
|
|
private:
|
|
void doLoadFromGlobalSettings();
|
|
|
|
private:
|
|
TemplateParser::CustomTemplates* mWidget;
|
|
};
|
|
|
|
class ComposerPageSubjectTab : public ConfigModuleTab {
|
|
Q_OBJECT
|
|
public:
|
|
explicit ComposerPageSubjectTab( QWidget * parent = 0 );
|
|
QString helpAnchor() const;
|
|
|
|
void save();
|
|
|
|
private:
|
|
void doLoadFromGlobalSettings();
|
|
void doResetToDefaultsOther();
|
|
|
|
private:
|
|
PimCommon::SimpleStringListEditor *mReplyListEditor;
|
|
QCheckBox *mReplaceReplyPrefixCheck;
|
|
PimCommon::SimpleStringListEditor *mForwardListEditor;
|
|
QCheckBox *mReplaceForwardPrefixCheck;
|
|
};
|
|
|
|
class ComposerPageCharsetTab : public ConfigModuleTab {
|
|
Q_OBJECT
|
|
public:
|
|
explicit ComposerPageCharsetTab( QWidget * parent=0 );
|
|
QString helpAnchor() const;
|
|
|
|
void save();
|
|
|
|
private slots:
|
|
void slotVerifyCharset(QString&);
|
|
|
|
private:
|
|
//virtual void doLoadFromGlobalSettings();
|
|
void doLoadOther();
|
|
void doResetToDefaultsOther();
|
|
|
|
private:
|
|
PimCommon::SimpleStringListEditor *mCharsetListEditor;
|
|
QCheckBox *mKeepReplyCharsetCheck;
|
|
};
|
|
|
|
class ComposerPageHeadersTab : public ConfigModuleTab {
|
|
Q_OBJECT
|
|
public:
|
|
explicit ComposerPageHeadersTab( QWidget * parent=0 );
|
|
QString helpAnchor() const;
|
|
|
|
void save();
|
|
|
|
private slots:
|
|
void slotMimeHeaderSelectionChanged();
|
|
void slotMimeHeaderNameChanged( const QString & );
|
|
void slotMimeHeaderValueChanged( const QString & );
|
|
void slotNewMimeHeader();
|
|
void slotRemoveMimeHeader();
|
|
|
|
private:
|
|
//virtual void doLoadFromGlobalSettings();
|
|
void doLoadOther();
|
|
void doResetToDefaultsOther();
|
|
|
|
private:
|
|
QCheckBox *mCreateOwnMessageIdCheck;
|
|
KLineEdit *mMessageIdSuffixEdit;
|
|
ListView *mHeaderList;
|
|
QPushButton *mRemoveHeaderButton;
|
|
KLineEdit *mTagNameEdit;
|
|
KLineEdit *mTagValueEdit;
|
|
QLabel *mTagNameLabel;
|
|
QLabel *mTagValueLabel;
|
|
};
|
|
|
|
class ComposerPageAttachmentsTab : public ConfigModuleTab {
|
|
Q_OBJECT
|
|
public:
|
|
explicit ComposerPageAttachmentsTab( QWidget * parent=0 );
|
|
QString helpAnchor() const;
|
|
|
|
void save();
|
|
|
|
private slots:
|
|
void slotOutlookCompatibleClicked();
|
|
|
|
private:
|
|
void doLoadFromGlobalSettings();
|
|
//FIXME virtual void doResetToDefaultsOther();
|
|
|
|
private:
|
|
QCheckBox *mOutlookCompatibleCheck;
|
|
QCheckBox *mMissingAttachmentDetectionCheck;
|
|
PimCommon::SimpleStringListEditor *mAttachWordsListEditor;
|
|
KIntNumInput *mMaximumAttachmentSize;
|
|
ConfigureStorageServiceWidget *mStorageServiceWidget;
|
|
};
|
|
|
|
class ComposerPageAutoCorrectionTab : public ConfigModuleTab {
|
|
Q_OBJECT
|
|
public:
|
|
explicit ComposerPageAutoCorrectionTab( QWidget * parent=0 );
|
|
QString helpAnchor() const;
|
|
|
|
void save();
|
|
|
|
private:
|
|
void doLoadFromGlobalSettings();
|
|
void doResetToDefaultsOther();
|
|
|
|
private:
|
|
PimCommon::AutoCorrectionWidget *autocorrectionWidget;
|
|
};
|
|
|
|
class ComposerPageAutoImageResizeTab : public ConfigModuleTab {
|
|
Q_OBJECT
|
|
public:
|
|
explicit ComposerPageAutoImageResizeTab( QWidget * parent=0 );
|
|
QString helpAnchor() const;
|
|
|
|
void save();
|
|
|
|
private:
|
|
virtual void doLoadFromGlobalSettings();
|
|
virtual void doResetToDefaultsOther();
|
|
|
|
private:
|
|
MessageComposer::ImageScalingWidget *autoResizeWidget;
|
|
};
|
|
|
|
|
|
class KMAIL_EXPORT ComposerPage : public ConfigModuleWithTabs {
|
|
Q_OBJECT
|
|
public:
|
|
explicit ComposerPage( const KComponentData &instance, QWidget *parent=0 );
|
|
|
|
QString helpAnchor() const;
|
|
|
|
// hrmpf. moc doesn't like nested classes with slots/signals...:
|
|
typedef ComposerPageGeneralTab GeneralTab;
|
|
typedef ComposerPageTemplatesTab TemplatesTab;
|
|
typedef ComposerPageCustomTemplatesTab CustomTemplatesTab;
|
|
typedef ComposerPageSubjectTab SubjectTab;
|
|
typedef ComposerPageCharsetTab CharsetTab;
|
|
typedef ComposerPageHeadersTab HeadersTab;
|
|
typedef ComposerPageAttachmentsTab AttachmentsTab;
|
|
typedef ComposerPageAutoCorrectionTab AutoCorrectionTab;
|
|
typedef ComposerPageAutoImageResizeTab AutoImageResizeTab;
|
|
typedef ComposerPageExternalEditorTab ExternalEditorTab;
|
|
private:
|
|
GeneralTab *mGeneralTab;
|
|
TemplatesTab *mTemplatesTab;
|
|
CustomTemplatesTab *mCustomTemplatesTab;
|
|
SubjectTab *mSubjectTab;
|
|
CharsetTab *mCharsetTab;
|
|
HeadersTab *mHeadersTab;
|
|
AttachmentsTab *mAttachmentsTab;
|
|
AutoCorrectionTab *mAutoCorrectionTab;
|
|
AutoImageResizeTab *mAutoImageResizeTab;
|
|
ExternalEditorTab *mExternalEditorTab;
|
|
};
|
|
|
|
#endif // CONFIGURECOMPOSERPAGE_H
|