• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • kdepim
  • Sitemap
  • Contact Us
 

knode

knconfigwidgets.h

Go to the documentation of this file.
00001 /*
00002     KNode, the KDE newsreader
00003     Copyright (c) 1999-2006 the KNode authors.
00004     See file AUTHORS for details
00005 
00006     This program is free software; you can redistribute it and/or modify
00007     it under the terms of the GNU General Public License as published by
00008     the Free Software Foundation; either version 2 of the License, or
00009     (at your option) any later version.
00010     You should have received a copy of the GNU General Public License
00011     along with this program; if not, write to the Free Software Foundation,
00012     Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, US
00013 */
00014 
00015 #ifndef KNCONFIGWIDGETS_H
00016 #define KNCONFIGWIDGETS_H
00017 
00018 #include "knode_export.h"
00019 #include <kpagedialog.h>
00020 #include <kcmodule.h>
00021 
00022 #include "ui_nntpaccountdialog_base.h"
00023 #include "ui_nntpaccountlistwidget_base.h"
00024 #include "ui_postnewstechnicalwidget_base.h"
00025 #include "ui_readnewsgeneralwidget_base.h"
00026 
00027 #include <QList>
00028 #include <QPixmap>
00029 #include <QLabel>
00030 #include <QListWidgetItem>
00031 
00032 class QButtonGroup;
00033 class QCheckBox;
00034 class QGroupBox;
00035 class QRadioButton;
00036 class QTextEdit;
00037 class QListWidget;
00038 
00039 class KLineEdit;
00040 class KComboBox;
00041 class KIntSpinBox;
00042 class KUrlCompletion;
00043 
00044 namespace Sonnet{
00045 class ConfigWidget;
00046 }
00047 
00048 namespace KPIM {
00049   class KScoringEditorWidget;
00050 }
00051 
00052 namespace Kpgp {
00053   class Config;
00054   class SecretKeyRequester;
00055 }
00056 
00057 class KNArticleFilter;
00058 class KNDisplayedHeader;
00059 class KNFilterManager;
00060 class KNNntpAccount;
00061 
00062 namespace KNode {
00063   class Appearance;
00064   class Cleanup;
00065   class Identity;
00066   class DisplayedHeaders;
00067   class GroupCleanupWidget;
00068   class PostNewsTechnical;
00069   class Scoring;
00070 }
00071 
00072 namespace KNode {
00073 
00076 class KNODE_EXPORT IdentityWidget : public KCModule {
00077 
00078   Q_OBJECT
00079 
00080   public:
00081     IdentityWidget( Identity *d, const KComponentData &inst, QWidget *parent = 0 );
00082     ~IdentityWidget();
00083 
00084     void load();
00085     void save();
00086 
00087   protected:
00088     QLabel          *f_ileName;
00089     KLineEdit       *n_ame,
00090                     *o_rga,
00091                     *e_mail,
00092                     *r_eplyTo,
00093                     *m_ailCopiesTo,
00094                     *s_ig;
00095     QRadioButton    *s_igFile,
00096                     *s_igEdit;
00097     QCheckBox       *s_igGenerator;
00098     QPushButton     *c_hooseBtn,
00099                     *e_ditBtn;
00100     QTextEdit       *s_igEditor;
00101     QButtonGroup    *b_uttonGroup;
00102     Kpgp::SecretKeyRequester
00103                     *s_igningKey;
00104     KUrlCompletion  *c_ompletion;
00105 
00106     Identity        *d_ata;
00107 
00108   protected slots:
00109     void slotSignatureType(int type);
00110     void slotSignatureChoose();
00111     void slotSignatureEdit();
00112     void textFileNameChanged(const QString &);
00113 
00114 };
00115 
00116 
00118 class KNODE_EXPORT NntpAccountListWidget : public KCModule, private Ui::NntpAccountListWidgetBase
00119 {
00120   Q_OBJECT
00121 
00122   public:
00124     NntpAccountListWidget( const KComponentData &inst, QWidget *parent = 0 );
00125 
00127     virtual void load();
00128 
00129   protected:
00131     class AccountListItem : public QListWidgetItem {
00132       public:
00136         AccountListItem( KNNntpAccount *a ) :  mAccount( a ) {}
00138         KNNntpAccount *account() const { return mAccount; }
00139       private:
00140         KNNntpAccount *mAccount;
00141     };
00142 
00143   public slots:
00147     void slotAddItem( KNNntpAccount *a );
00151     void slotRemoveItem( KNNntpAccount *a );
00155     void slotUpdateItem(KNNntpAccount *a);
00156 
00157   protected slots:
00159     void slotSelectionChanged();
00161     void slotAddBtnClicked();
00163     void slotDelBtnClicked();
00165     void slotEditBtnClicked();
00167     void slotSubBtnClicked();
00168 
00169 };
00170 
00171 
00173 class KNODE_EXPORT NntpAccountConfDialog : public KPageDialog, private Ui::NntpAccountDialogBase
00174 {
00175   Q_OBJECT
00176 
00177   public:
00178     NntpAccountConfDialog( KNNntpAccount *a, QWidget *parent = 0 );
00179     ~NntpAccountConfDialog();
00180 
00181   protected slots:
00182     void slotServerTextEdited();
00183     void slotEditingFinished();
00184     virtual void slotButtonClicked( int button );
00185 
00186   private slots:
00187     void slotPasswordChanged();
00188 
00189   private:
00190     KNNntpAccount *mAccount;
00191     IdentityWidget* mIdentityWidget;
00192     GroupCleanupWidget *mCleanupWidget;
00193     bool mUseServerForName;
00194 };
00195 
00196 
00198 class KNODE_EXPORT AppearanceWidget : public KCModule
00199 {
00200   Q_OBJECT
00201 
00202   public:
00207     AppearanceWidget( const KComponentData &inst, QWidget *parent = 0 );
00208 
00210     virtual void load();
00212     virtual void save();
00214     virtual void defaults();
00215 
00216     //===================================================================================
00217 
00219     class KNODE_EXPORT ColorListItem : public QListWidgetItem {
00220 
00221       public:
00227         ColorListItem( const QString &text, const QColor &color = Qt::black, QListWidget *parent = 0 );
00229         const QColor& color() { return mColor; }
00231         void  setColor( const QColor &color );
00232 
00233       private:
00235         QColor mColor;
00236     };
00237 
00238     //===================================================================================
00239 
00241     class KNODE_EXPORT FontListItem : public QListWidgetItem {
00242 
00243       public:
00249         FontListItem( const QString &text, const QFont &font, QListWidget *parent = 0 );
00251         const QFont& font() { return mFont; }
00255         void setFont( const QFont &font );
00256 
00257       private:
00259         QFont mFont;
00261         QString mText;
00262     };
00263 
00264     //===================================================================================
00265 
00266   protected:
00268     QListWidget *mColorList;
00270     QListWidget *mFontList;
00271     QCheckBox *c_olorCB,
00272               *f_ontCB;
00273     QPushButton *c_olChngBtn,
00274                 *f_ntChngBtn;
00275 
00276   protected slots:
00277     //colors
00278     void slotColCheckBoxToggled(bool b);
00282     void slotColItemActivated( QListWidgetItem *item );
00283     void slotColChangeBtnClicked();
00284     void slotColSelectionChanged();
00285 
00286     //fonts
00287     void slotFontCheckBoxToggled(bool b);
00291     void slotFontItemActivated( QListWidgetItem *item );
00292     void slotFontChangeBtnClicked();
00293     void slotFontSelectionChanged();
00294 
00295 };
00296 
00297 
00301 class KNODE_EXPORT ReadNewsGeneralWidget : public KCModule, KNode::Ui::ReadNewsGeneralWidgetBase
00302 {
00303   public:
00307     ReadNewsGeneralWidget( const KComponentData &inst, QWidget *parent = 0 );
00308 
00310     virtual void load();
00312     virtual void save();
00313 };
00314 
00315 
00317 class KNODE_EXPORT ReadNewsNavigationWidget : public KCModule
00318 {
00319   public:
00323     ReadNewsNavigationWidget( const KComponentData &inst, QWidget *parent = 0 );
00324 };
00325 
00326 
00328 class KNODE_EXPORT ReadNewsViewerWidget : public KCModule
00329 {
00330   public:
00334     ReadNewsViewerWidget( const KComponentData &inst, QWidget *parent = 0 );
00335 };
00336 
00337 
00339 class KNODE_EXPORT DisplayedHeadersWidget : public KCModule {
00340 
00341   Q_OBJECT
00342 
00343   public:
00344     DisplayedHeadersWidget( DisplayedHeaders *d, const KComponentData &inst, QWidget *parent = 0 );
00345 
00347     virtual void load();
00349     virtual void save();
00350 
00351   protected:
00352 
00354     class HdrItem : public QListWidgetItem {
00355 
00356       public:
00361         HdrItem( const QString &text, KNDisplayedHeader *header ) : QListWidgetItem( text ), mHdr( header ) {}
00363         KNDisplayedHeader *header() const { return mHdr; }
00364       private:
00365         KNDisplayedHeader *mHdr;
00366     };
00367 
00368     HdrItem* generateItem(KNDisplayedHeader *);
00369 
00370     QListWidget *mHeaderList;
00371     QPushButton *a_ddBtn,
00372                 *d_elBtn,
00373                 *e_ditBtn,
00374                 *u_pBtn,
00375                 *d_ownBtn;
00376     bool s_ave;
00377 
00378     DisplayedHeaders *d_ata;
00379 
00380   protected slots:
00381     void slotSelectionChanged();
00382     void slotAddBtnClicked();
00383     void slotDelBtnClicked();
00384     void slotEditBtnClicked();
00385     void slotUpBtnClicked();
00386     void slotDownBtnClicked();
00387 
00388 };
00389 
00390 
00392 class KNODE_EXPORT DisplayedHeaderConfDialog : public KDialog {
00393 
00394   Q_OBJECT
00395 
00396   public:
00397     DisplayedHeaderConfDialog( KNDisplayedHeader *h, QWidget *parent = 0 );
00398     ~DisplayedHeaderConfDialog();
00399 
00400 
00401   protected:
00402     KNDisplayedHeader *h_dr;
00403     KComboBox *h_drC;
00404     KLineEdit *n_ameE;
00405     QCheckBox *n_ameCB[4],
00406               *v_alueCB[4];
00407 
00408 
00409   protected slots:
00410     void slotOk();
00411     void slotActivated(int);
00412     void slotNameChanged(const QString&);
00413 };
00414 
00415 
00417 class KNODE_EXPORT ScoringWidget : public KCModule
00418 {
00419   public:
00423     ScoringWidget( const KComponentData &inst, QWidget *parent = 0 );
00424 
00425   private:
00426     KPIM::KScoringEditorWidget *mKsc;
00427     KIntSpinBox *mIgnored, *mWatched;
00428 };
00429 
00430 
00432 class KNODE_EXPORT FilterListWidget : public KCModule {
00433 
00434   Q_OBJECT
00435 
00436   public:
00437     FilterListWidget( const KComponentData &inst, QWidget *parent = 0 );
00438     ~FilterListWidget();
00439 
00440     void load();
00441     void save();
00442 
00443     void addItem(KNArticleFilter *f);
00444     void removeItem(KNArticleFilter *f);
00445     void updateItem(KNArticleFilter *f);
00446     void addMenuItem(KNArticleFilter *f);
00447     void removeMenuItem(KNArticleFilter *f);
00448     QList<int> menuOrder();
00449 
00450 
00451   protected:
00453     class FilterListItem : public QListWidgetItem {
00454       public:
00459         FilterListItem( KNArticleFilter *filter, const QString &text ) : QListWidgetItem( text ), mFilter( filter ) {}
00461         KNArticleFilter* filter() const { return mFilter; }
00462       private:
00463         KNArticleFilter *mFilter;
00464     };
00465 
00470     int findItem( QListWidget *l, KNArticleFilter *f );
00471 
00472     QListWidget *mFilterList;
00473     QListWidget *mMenuList;
00474 
00475     QPushButton   *a_ddBtn,
00476                   *d_elBtn,
00477                   *e_ditBtn,
00478                   *c_opyBtn,
00479                   *u_pBtn,
00480                   *d_ownBtn,
00481                   *s_epAddBtn,
00482                   *s_epRemBtn;
00483 
00484     QPixmap   a_ctive,
00485               d_isabled;
00486 
00487     KNFilterManager *f_ilManager;
00488 
00489 
00490   protected slots:
00491     void slotAddBtnClicked();
00492     void slotDelBtnClicked();
00493     void slotEditBtnClicked();
00494     void slotCopyBtnClicked();
00495     void slotUpBtnClicked();
00496     void slotDownBtnClicked();
00497     void slotSepAddBtnClicked();
00498     void slotSepRemBtnClicked();
00499     void slotSelectionChangedFilter();
00500     void slotSelectionChangedMenu();
00501 
00502 };
00503 
00504 
00506 class KNODE_EXPORT PostNewsTechnicalWidget : public KCModule, KNode::Ui::PostNewsTechnicalWidgetBase
00507 {
00508   Q_OBJECT
00509   public:
00511     PostNewsTechnicalWidget( const KComponentData &inst, QWidget *parent = 0 );
00512 
00514     virtual void load();
00516     virtual void save();
00517 
00518   private slots:
00519     void slotSelectionChanged();
00520     void slotAddBtnClicked();
00521     void slotDelBtnClicked();
00522     void slotEditBtnClicked();
00523 
00524 };
00525 
00526 
00528 class KNODE_EXPORT XHeaderConfDialog : public KDialog
00529 {
00530   public:
00535     XHeaderConfDialog( const QString &h = QString(), QWidget *parent = 0 );
00537     ~XHeaderConfDialog();
00538 
00540     QString result() const;
00541 
00542   private:
00543     KLineEdit *mNameEdit, *mValueEdit;
00544 };
00545 
00546 
00548 class KNODE_EXPORT PostNewsComposerWidget : public KCModule
00549 {
00550   public:
00554     PostNewsComposerWidget( const KComponentData &inst, QWidget *parent = 0 );
00555 };
00556 
00557 
00559 class KNODE_EXPORT PostNewsSpellingWidget : public KCModule {
00560 
00561   public:
00562     PostNewsSpellingWidget( const KComponentData &inst, QWidget *parent = 0 );
00563     ~PostNewsSpellingWidget();
00564 
00565     void save();
00566 
00567   protected:
00568   Sonnet::ConfigWidget *c_conf;
00569 
00570 };
00571 
00572 
00574 class KNODE_EXPORT PrivacyWidget : public KCModule {
00575 
00576   Q_OBJECT
00577 
00578   public:
00579     PrivacyWidget( const KComponentData &inst, QWidget *parent = 0 );
00580     ~PrivacyWidget();
00581 
00582     void save();
00583 
00584   protected:
00585     Kpgp::Config *c_onf;
00586 };
00587 
00588 
00589 
00590 //BEGIN: Cleanup configuration -----------------------------------------------
00591 
00593 class KNODE_EXPORT GroupCleanupWidget : public QWidget {
00594 
00595   Q_OBJECT
00596 
00597   public:
00598     GroupCleanupWidget( Cleanup *data, QWidget *parent = 0 );
00599 
00600     void load();
00601     void save();
00602 
00603   signals:
00604     void changed();
00605 
00606   private:
00607     QCheckBox *mDefault, *mExpEnabled, *mExpUnavailable, *mPreserveThreads;
00608     KIntSpinBox *mExpDays, *mExpReadDays, *mExpUnreadDays;
00609     QGroupBox *mExpGroup;
00610     Cleanup *mData;
00611 
00612   private slots:
00613     void slotDefaultToggled( bool state );
00614     void expDaysChanged( int value );
00615     void expReadDaysChanged( int value );
00616     void expUnreadDaysChanged( int value );
00617 };
00618 
00619 
00621 class KNODE_EXPORT CleanupWidget : public KCModule {
00622 
00623   Q_OBJECT
00624 
00625   public:
00626     CleanupWidget( const KComponentData &inst, QWidget *parent = 0 );
00627     ~CleanupWidget();
00628 
00629     void load();
00630     void save();
00631 
00632   protected:
00633     QCheckBox   *f_olderCB;
00634     KIntSpinBox *f_olderDays;
00635     QLabel      *f_olderDaysL;
00636 
00637     Cleanup *d_ata;
00638 
00639 
00640   protected slots:
00641     void slotFolderCBtoggled(bool b);
00642     void slotFolderDaysChanged(int value);
00643 
00644   private:
00645     GroupCleanupWidget *mGroupCleanup;
00646 
00647 };
00648 
00649 //END: Cleanup configuration -------------------------------------------------
00650 
00651 } //KNode
00652 
00653 #endif //KNCONFIGWIDGETS_H

knode

Skip menu "knode"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

kdepim

Skip menu "kdepim"
  • akonadi
  •   clients
  •   kabc
  •   kcal
  •   kcm
  • akregator
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt
  • kdgantt1
  • kjots
  • kleopatra
  • kmail
  • kmobiletools
  • knode
  • knotes
  • kontact
  • kontactinterfaces
  • korganizer
  •   korgac
  • kpilot
  • ktimetracker
  • libkdepim
  • libkholidays
  • libkleo
  • libkpgp
  • maildir
Generated for kdepim by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal