You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdepim/kmail/kmmsgpartdlg.h

164 lines
5.3 KiB

/*
* kmail: KDE mail client
* Copyright (c) 1996-1998 Stefan Taferner <taferner@kde.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* 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 kmmsgpartdlg_h
#define kmmsgpartdlg_h
#include <kdialogbase.h>
#include <kio/global.h>
class KMMessagePart;
class QPushButton;
class KComboBox;
class QComboBox;
class QCheckBox;
class QLabel;
class QLineEdit;
#undef None
/** @short GUI for KMMsgPartDialog
@author Marc Mutz <mutz@kde.org>
*/
class KMMsgPartDialog: public KDialogBase
{
Q_OBJECT
public:
KMMsgPartDialog( const QString & caption=QString::null,
QWidget * parent=0, const char * name=0 );
virtual ~KMMsgPartDialog();
/** Get the currently selected mimetype */
QString mimeType() const;
/** Sets the mime type to be displayed. */
void setMimeType( const QString & type, const QString & subtype );
/** This is an overloaded member function, provided for
convenience. It behaves essentially like the above function.
Sets the mime type to be displayed, but only if @p mimeType
passes KMimeTypeValidator's test. */
void setMimeType( const QString & mimeType );
/** Sets the initial list of mime types to be displayed in the
combobox. The items are @em not validated. */
void setMimeTypeList( const QStringList & mimeTypes );
/** Sets the size of the file to be attached in bytes. This is
strictly informational and thus can't be queried. If @p approx
is true, the size is an estimation based on typical */
void setSize( KIO::filesize_t size, bool estimated=false );
/** Returns the current file name of the attachment. Note that this
doesn't define which file is being attached. It only defines
what the attachment's filename parameter should contain. */
QString fileName() const;
/** Sets the file name of the attachment. Note that this doesn't
define which file is being attached. It only defines what the
attachment's filename parameter should contain. */
void setFileName( const QString & fileName );
/** Returns the content of the Content-Description header
field. This field is only informational. */
QString description() const;
/** Sets the description of the attachment, ie. the content of the
Content-Description header field. */
void setDescription( const QString & description );
/** The list of supported encodings */
enum Encoding {
None = 0x00,
SevenBit = 0x01,
EightBit = 0x02,
QuotedPrintable = 0x04,
Base64 = 0x08
};
/** Returns the current encoding */
Encoding encoding() const;
/** Sets the encoding to use */
void setEncoding( Encoding encoding );
/** Sets the list of encodings to be shown. @p encodings is the
bitwise OR of Encoding flags */
void setShownEncodings( int encodings );
/** Returns true if the attchment has a content-disposition of
"inline", false otherwise. */
bool isInline() const;
/** Sets whether this attachment has a content-disposition of
"inline" */
void setInline( bool inlined );
/** Returns whether or not this attachment is or shall be encrypted */
bool isEncrypted() const;
/** Sets whether or not this attachment is or should be encrypted */
void setEncrypted( bool encrypted );
/** Sets whether or not this attachment can be encrypted */
void setCanEncrypt( bool enable );
/** Returns whether or not this attachment is or shall be signed */
bool isSigned() const;
/** Sets whether or not this attachment is or should be signed */
void setSigned( bool sign );
/** Sets whether or not this attachment can be signed */
void setCanSign( bool enable );
protected slots:
void slotMimeTypeChanged( const QString & mimeType );
protected:
KComboBox *mMimeType;
QLabel *mIcon;
QLabel *mSize;
QLineEdit *mFileName;
QLineEdit *mDescription;
QComboBox *mEncoding;
QCheckBox *mInline;
QCheckBox *mEncrypted;
QCheckBox *mSigned;
QStringList mI18nizedEncodings;
};
/** @short The attachment dialog with convenience backward compatible methods
@author Marc Mutz <mutz@kde.org>
*/
class KMMsgPartDialogCompat : public KMMsgPartDialog {
Q_OBJECT
public:
KMMsgPartDialogCompat( QWidget * parent=0, const char * caption=0, bool=FALSE );
virtual ~KMMsgPartDialogCompat();
/** Display information about this message part. */
void setMsgPart(KMMessagePart* msgPart);
/** Returns the (possibly modified) message part. */
KMMessagePart* msgPart(void) const { return mMsgPart; }
protected slots:
void slotOk();
protected:
/** Applies changes from the dialog to the message part. Called
when the Ok button is pressed. */
void applyChanges(void);
KMMessagePart *mMsgPart;
};
#endif /*kmmsgpartdlg_h*/