diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 (patch) | |
tree | 67208f7c145782a7e90b123b982ca78d88cc2c87 /knode/knconfigwidgets.h | |
download | tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.tar.gz tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'knode/knconfigwidgets.h')
-rw-r--r-- | knode/knconfigwidgets.h | 730 |
1 files changed, 730 insertions, 0 deletions
diff --git a/knode/knconfigwidgets.h b/knode/knconfigwidgets.h new file mode 100644 index 000000000..109ea7dc7 --- /dev/null +++ b/knode/knconfigwidgets.h @@ -0,0 +1,730 @@ +/* + KNode, the KDE newsreader + Copyright (c) 1999-2005 the KNode authors. + See file AUTHORS for details + + 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. + 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, US +*/ + +#ifndef KNCONFIGWIDGETS_H +#define KNCONFIGWIDGETS_H + +#include <kdialogbase.h> +#include <kcmodule.h> + +#include "knwidgets.h" +#include "smtpaccountwidget_base.h" + +class QButtonGroup; +class QCheckBox; +class QGroupBox; +class QRadioButton; +class QTextEdit; + +class KScoringEditorWidget; +class KConfigBase; +class KLineEdit; +class KComboBox; +class KIntSpinBox; +class KSpellConfig; +class KURLCompletion; + +namespace Kpgp { + class Config; + class SecretKeyRequester; +} + +class KNAccountManager; +class KNArticleFilter; +class KNDisplayedHeader; +class KNFilterManager; +class KNNntpAccount; +class KNServerInfo; + +namespace KNConfig { + class Appearance; + class Cleanup; + class Identity; + class DisplayedHeaders; + class GroupCleanupWidget; + class PostNewsTechnical; + class ReadNewsGeneral; + class ReadNewsNavigation; + class PostNewsComposer; + class ReadNewsViewer; + class Scoring; +} + +namespace KNConfig { + +class KDE_EXPORT IdentityWidget : public KCModule { + + Q_OBJECT + + public: + IdentityWidget(Identity *d, QWidget *p=0, const char *n=0); + ~IdentityWidget(); + + void load(); + void save(); + + protected: + QLabel *f_ileName; + KLineEdit *n_ame, + *o_rga, + *e_mail, + *r_eplyTo, + *m_ailCopiesTo, + *s_ig; + QRadioButton *s_igFile, + *s_igEdit; + QCheckBox *s_igGenerator; + QPushButton *c_hooseBtn, + *e_ditBtn; + QTextEdit *s_igEditor; + QButtonGroup *b_uttonGroup; + Kpgp::SecretKeyRequester + *s_igningKey; + KURLCompletion *c_ompletion; + + Identity *d_ata; + + protected slots: + void slotSignatureType(int type); + void slotSignatureChoose(); + void slotSignatureEdit(); + void textFileNameChanged(const QString &); + +}; + + +class KDE_EXPORT NntpAccountListWidget : public KCModule { + + Q_OBJECT + + public: + NntpAccountListWidget(QWidget *p=0, const char *n=0); + ~NntpAccountListWidget(); + + void load(); + + protected: + class LBoxItem : public KNListBoxItem { + public: + LBoxItem(KNNntpAccount *a, const QString &t, QPixmap *p=0) + : KNListBoxItem(t, p) , account(a) {} + ~LBoxItem() {} + KNNntpAccount *account; + }; + + KNDialogListBox *l_box; + QPushButton *a_ddBtn, + *d_elBtn, + *e_ditBtn, + *s_ubBtn; + QPixmap p_ixmap; + QLabel *s_erverInfo, + *p_ortInfo; + + KNAccountManager *a_ccManager; + + + public slots: + void slotAddItem(KNNntpAccount *a); + void slotRemoveItem(KNNntpAccount *a); + void slotUpdateItem(KNNntpAccount *a); + + protected slots: + void slotSelectionChanged(); + void slotItemSelected(int id); + void slotAddBtnClicked(); + void slotDelBtnClicked(); + void slotEditBtnClicked(); + void slotSubBtnClicked(); + +}; + + +class KDE_EXPORT NntpAccountConfDialog : public KDialogBase { + + Q_OBJECT + + public: + NntpAccountConfDialog(KNNntpAccount* acc, QWidget *p=0, const char *n=0); + ~NntpAccountConfDialog(); + + protected: + KLineEdit *n_ame, + *s_erver, + *u_ser, + *p_ass, + *p_ort; + QLabel *u_serLabel, + *p_assLabel, + *c_heckIntervalLabel; + KIntSpinBox *h_old, + *t_imeout, + *c_heckInterval; + QCheckBox *f_etchDes, + *a_uth, + *u_seDiskCache, + *i_nterval; + KNConfig::IdentityWidget* i_dWidget; + + KNNntpAccount *a_ccount; + + protected slots: + void slotOk(); + void slotAuthChecked(bool b); + void slotIntervalChecked(bool b); + + private slots: + void slotPasswordChanged(); + + private: + GroupCleanupWidget *mCleanupWidget; +}; + + +class KDE_EXPORT SmtpAccountWidget : public SmtpAccountWidgetBase { + +Q_OBJECT + + public: + SmtpAccountWidget(QWidget *p=0, const char *n=0); + ~SmtpAccountWidget() {} + + virtual void load(); + virtual void save(); + + protected slots: + virtual void useExternalMailerToggled( bool b ); + virtual void loginToggled( bool b ); + void slotPasswordChanged(); + + protected: + KNServerInfo *mAccount; +}; + + +class KDE_EXPORT AppearanceWidget : public KCModule { + + Q_OBJECT + + public: + AppearanceWidget(QWidget *p=0, const char *n=0); + ~AppearanceWidget(); + + void load(); + void save(); + void defaults(); + + //=================================================================================== + // code taken from KMail, Copyright (C) 2000 Espen Sand, espen@kde.org + + class KDE_EXPORT ColorListItem : public QListBoxText { + + public: + ColorListItem( const QString &text, const QColor &color=Qt::black ); + ~ColorListItem(); + const QColor& color() { return mColor; } + void setColor( const QColor &color ) { mColor = color; } + + protected: + virtual void paint( QPainter * ); + virtual int height( const QListBox * ) const; + virtual int width( const QListBox * ) const; + + private: + QColor mColor; + }; + + //=================================================================================== + + class KDE_EXPORT FontListItem : public QListBoxText { + + public: + FontListItem( const QString &name, const QFont & ); + ~FontListItem(); + const QFont& font() { return f_ont; } + void setFont( const QFont &); + + protected: + virtual void paint( QPainter * ); + virtual int width( const QListBox * ) const; + + private: + QFont f_ont; + QString fontInfo; + }; + + //=================================================================================== + + KNDialogListBox *c_List, + *f_List; + QCheckBox *c_olorCB, + *f_ontCB; + QPushButton *c_olChngBtn, + *f_ntChngBtn; + + Appearance *d_ata; + + protected slots: + //colors + void slotColCheckBoxToggled(bool b); + void slotColItemSelected(QListBoxItem *); // show color dialog for the entry + void slotColChangeBtnClicked(); + void slotColSelectionChanged(); + + //fonts + void slotFontCheckBoxToggled(bool b); + void slotFontItemSelected(QListBoxItem *); // show font dialog for the entry + void slotFontChangeBtnClicked(); + void slotFontSelectionChanged(); + +}; + + +class KDE_EXPORT ReadNewsGeneralWidget : public KCModule { + + public: + ReadNewsGeneralWidget(ReadNewsGeneral *d, QWidget *p=0, const char *n=0); + ~ReadNewsGeneralWidget(); + + void load(); + void save(); + + protected: + QCheckBox *a_utoCB, + *m_arkCB, + *m_arkCrossCB, + *s_martScrollingCB, + *e_xpThrCB, + *d_efaultExpandCB, + *l_inesCB, + *u_nreadCB, + *s_coreCB; + KIntSpinBox *m_arkSecs, + *m_axFetch, + *c_ollCacheSize, + *a_rtCacheSize; + + ReadNewsGeneral *d_ata; + +}; + + +class KDE_EXPORT ReadNewsNavigationWidget : public KCModule { + + public: + ReadNewsNavigationWidget(ReadNewsNavigation *d, QWidget *p=0, const char *n=0); + ~ReadNewsNavigationWidget(); + + void load(); + void save(); + + protected: + QCheckBox *m_arkAllReadGoNextCB, + *m_arkThreadReadGoNextCB, + *m_arkThreadReadCloseThreadCB, + *i_gnoreThreadGoNextCB, + *i_gnoreThreadCloseThreadCB; + + ReadNewsNavigation *d_ata; + +}; + + +class KDE_EXPORT ReadNewsViewerWidget : public KCModule { + + Q_OBJECT + + public: + ReadNewsViewerWidget(ReadNewsViewer *d, QWidget *p=0, const char *n=0); + ~ReadNewsViewerWidget(); + + void load(); + void save(); + + protected: + QCheckBox *r_ewrapCB, + *r_emoveTrailingCB, + *s_igCB, + *o_penAttCB, + *a_ltAttCB, + *mShowRefBar, + *mAlwaysShowHTML; + KLineEdit *q_uoteCharacters; + + ReadNewsViewer *d_ata; + +}; + + +class KDE_EXPORT DisplayedHeadersWidget : public KCModule { + + Q_OBJECT + + public: + DisplayedHeadersWidget(DisplayedHeaders *d, QWidget *p=0, const char *n=0); + ~DisplayedHeadersWidget(); + + void load(); + void save(); + + protected: + + class HdrItem : public QListBoxText { + + public: + HdrItem( const QString &t, KNDisplayedHeader *h ) : QListBoxText(t), hdr(h) {} + ~HdrItem() {} + + KNDisplayedHeader *hdr; + }; + + HdrItem* generateItem(KNDisplayedHeader *); + + KNDialogListBox *l_box; + QPushButton *a_ddBtn, + *d_elBtn, + *e_ditBtn, + *u_pBtn, + *d_ownBtn; + bool s_ave; + + DisplayedHeaders *d_ata; + + protected slots: + void slotItemSelected(int); + void slotSelectionChanged(); + void slotAddBtnClicked(); + void slotDelBtnClicked(); + void slotEditBtnClicked(); + void slotUpBtnClicked(); + void slotDownBtnClicked(); + +}; + + +class KDE_EXPORT DisplayedHeaderConfDialog : public KDialogBase { + + Q_OBJECT + + public: + DisplayedHeaderConfDialog(KNDisplayedHeader *h, QWidget *p=0, char *n=0); + ~DisplayedHeaderConfDialog(); + + + protected: + KNDisplayedHeader *h_dr; + KComboBox *h_drC; + KLineEdit *n_ameE; + QCheckBox *n_ameCB[4], + *v_alueCB[4]; + + + protected slots: + void slotOk(); + void slotActivated(int); + void slotNameChanged(const QString&); +}; + + +class KDE_EXPORT ScoringWidget : public KCModule { + + Q_OBJECT + + public: + ScoringWidget(Scoring *d, QWidget *p=0, const char *n=0); + ~ScoringWidget(); + + void load(); + void save(); + + private: + KScoringEditorWidget *ksc; + KIntSpinBox *i_gnored, + *w_atched; + + Scoring *d_ata; +}; + + +class KDE_EXPORT FilterListWidget : public KCModule { + + Q_OBJECT + + public: + FilterListWidget(QWidget *p=0, const char *n=0); + ~FilterListWidget(); + + void load(); + void save(); + + void addItem(KNArticleFilter *f); + void removeItem(KNArticleFilter *f); + void updateItem(KNArticleFilter *f); + void addMenuItem(KNArticleFilter *f); + void removeMenuItem(KNArticleFilter *f); + QValueList<int> menuOrder(); + + + protected: + class LBoxItem : public KNListBoxItem { + public: + LBoxItem(KNArticleFilter *f, const QString &t, QPixmap *p=0) + : KNListBoxItem(t, p) , filter(f) {} + ~LBoxItem() {} + + KNArticleFilter *filter; + }; + + int findItem(QListBox *l, KNArticleFilter *f); + + KNDialogListBox *f_lb, + *m_lb; + + QPushButton *a_ddBtn, + *d_elBtn, + *e_ditBtn, + *c_opyBtn, + *u_pBtn, + *d_ownBtn, + *s_epAddBtn, + *s_epRemBtn; + + QPixmap a_ctive, + d_isabled; + + KNFilterManager *f_ilManager; + + + protected slots: + void slotAddBtnClicked(); + void slotDelBtnClicked(); + void slotEditBtnClicked(); + void slotCopyBtnClicked(); + void slotUpBtnClicked(); + void slotDownBtnClicked(); + void slotSepAddBtnClicked(); + void slotSepRemBtnClicked(); + void slotItemSelectedFilter(int); + void slotSelectionChangedFilter(); + void slotSelectionChangedMenu(); + +}; + + +class KDE_EXPORT PostNewsTechnicalWidget : public KCModule { + + Q_OBJECT + + public: + PostNewsTechnicalWidget(PostNewsTechnical *d, QWidget *p=0, const char *n=0); + ~PostNewsTechnicalWidget(); + + void load(); + void save(); + + protected: + QComboBox *c_harset, + *e_ncoding; + QCheckBox *u_seOwnCSCB, + *g_enMIdCB, + *i_ncUaCB; + KNDialogListBox *l_box; + QPushButton *a_ddBtn, + *d_elBtn, + *e_ditBtn; + KLineEdit *h_ost; + QLabel *h_ostL; + + PostNewsTechnical *d_ata; + + protected slots: + void slotGenMIdCBToggled(bool b); + void slotSelectionChanged(); + void slotItemSelected(int id); + void slotAddBtnClicked(); + void slotDelBtnClicked(); + void slotEditBtnClicked(); + +}; + + +class KDE_EXPORT XHeaderConfDialog : public KDialogBase { + + public: + XHeaderConfDialog(const QString &h=QString::null, QWidget *p=0, const char *n=0); + ~XHeaderConfDialog(); + + QString result(); + + + protected: + KLineEdit *n_ame, + *v_alue; + +}; + + +class KDE_EXPORT PostNewsComposerWidget : public KCModule { + + Q_OBJECT + + public: + PostNewsComposerWidget(PostNewsComposer *d, QWidget *p=0, const char *n=0); + ~PostNewsComposerWidget(); + + void load(); + void save(); + + protected: + KIntSpinBox *m_axLen; + QCheckBox *w_ordWrapCB, + *o_wnSigCB, + *r_ewrapCB, + *a_uthSigCB, + *c_ursorOnTopCB, + *e_xternCB; + KLineEdit *i_ntro, + *e_ditor; + + PostNewsComposer *d_ata; + + protected slots: + void slotChooseEditor(); + +}; + + +class KDE_EXPORT PostNewsSpellingWidget : public KCModule { + + public: + PostNewsSpellingWidget(QWidget *p=0, const char *n=0); + ~PostNewsSpellingWidget(); + + void save(); + + protected: + KSpellConfig *c_onf; + +}; + + + +class KDE_EXPORT PrivacyWidget : public KCModule { + + Q_OBJECT + + public: + PrivacyWidget(QWidget *p=0, const char *n=0); + ~PrivacyWidget(); + + void save(); + + protected: + Kpgp::Config *c_onf; +}; + + + +//BEGIN: Cleanup configuration ----------------------------------------------- + +/** Configuration widget for group expireration */ +class KDE_EXPORT GroupCleanupWidget : public QWidget { + + Q_OBJECT + + public: + GroupCleanupWidget( Cleanup *data, QWidget *parent = 0, const char *name = 0 ); + + void load(); + void save(); + + signals: + void changed(); + + private: + QCheckBox *mDefault, *mExpEnabled, *mExpUnavailable, *mPreserveThreads; + KIntSpinBox *mExpDays, *mExpReadDays, *mExpUnreadDays; + QGroupBox *mExpGroup; + Cleanup *mData; + + private slots: + void slotDefaultToggled( bool state ); + void expDaysChanged( int value ); + void expReadDaysChanged( int value ); + void expUnreadDaysChanged( int value ); +}; + + +/** Global cleanup configuration widget */ +class KDE_EXPORT CleanupWidget : public KCModule { + + Q_OBJECT + + public: + CleanupWidget(QWidget *p=0, const char *n=0); + ~CleanupWidget(); + + void load(); + void save(); + + protected: + QCheckBox *f_olderCB; + KIntSpinBox *f_olderDays; + QLabel *f_olderDaysL; + + Cleanup *d_ata; + + + protected slots: + void slotFolderCBtoggled(bool b); + void slotFolderDaysChanged(int value); + + private: + GroupCleanupWidget *mGroupCleanup; + +}; + +//END: Cleanup configuration ------------------------------------------------- + + +/*class CacheWidget : public KCModule { + + + Q_OBJECT + + public: + CacheWidget(Cache *d, QWidget *p=0, const char *n=0); + ~CacheWidget(); + + void apply(); + + + protected: + KIntSpinBox *m_emMaxArt, + *m_emMaxKB, + *d_iskMaxArt, + *d_iskMaxKB; + + QLabel *d_iskMaxArtL, + *d_iskMaxKBL; + + Cache *d_ata; + + +}; */ + + +} //KNConfig + +#endif //KNCONFIGWIDGETS_H |