kmail
kmfolderdia.h00001
00032 #ifndef __KMFOLDERDIA
00033 #define __KMFOLDERDIA
00034
00035 #include <kdialogbase.h>
00036 #include "configuredialog_p.h"
00037 #include <tqvaluevector.h>
00038
00039 class TQCheckBox;
00040 class TQPushButton;
00041 class TQLineEdit;
00042 class TQListBox;
00043 class TQComboBox;
00044 class KMFolder;
00045 class KMFolderTreeItem;
00046 class KMFolderDir;
00047 class KIntNumInput;
00048 class KIconButton;
00049 class KEditListBox;
00050 namespace KPIM { class IdentityCombo; }
00051 class KMFolderDialog;
00052 class KMFolderTree;
00053 template <typename T> class TQGuardedPtr;
00054 class TemplatesConfiguration;
00055 class KPushButton;
00056
00057 namespace KMail {
00058 class FolderRequester;
00070 class FolderDiaTab : public TQWidget
00071 {
00072 Q_OBJECT
00073 TQ_OBJECT
00074 public:
00075 FolderDiaTab( TQWidget *parent=0, const char* name=0 )
00076 : TQWidget( parent, name ) {}
00077
00078 virtual void load() = 0;
00079
00084 virtual bool save() = 0;
00085
00086 enum AccepStatus { Accepted, Canceled, Delayed };
00091 virtual AccepStatus accept() {
00092 return save() ? Accepted : Canceled;
00093 }
00094
00095 signals:
00098 void readyForAccept();
00099
00102 void cancelAccept();
00103
00105 void changed(bool);
00106 };
00107
00112 class FolderDiaGeneralTab : public FolderDiaTab
00113 {
00114 Q_OBJECT
00115 TQ_OBJECT
00116
00117 public:
00118 FolderDiaGeneralTab( KMFolderDialog* dlg,
00119 const TQString& aName,
00120 TQWidget* parent, const char* name = 0 );
00121
00122 virtual void load();
00123 virtual bool save();
00124
00125 private slots:
00126 void slotChangeIcon( TQString icon );
00127
00128
00129
00130
00131 void slotFolderNameChanged( const TQString& );
00132 void slotFolderContentsSelectionChanged( int );
00133
00134 private:
00135 void initializeWithValuesFromFolder( KMFolder* folder );
00136
00137 private:
00138 TQComboBox *mShowSenderReceiverComboBox;
00139 TQComboBox *mContentsComboBox;
00140 TQComboBox *mIncidencesForComboBox;
00141 TQCheckBox *mAlarmsBlockedCheckBox;
00142 TQCheckBox *mSharedSeenFlagsCheckBox;
00143 TQLabel *mNormalIconLabel;
00144 KIconButton *mNormalIconButton;
00145 TQLabel *mUnreadIconLabel;
00146 KIconButton *mUnreadIconButton;
00147 TQCheckBox *mIconsCheckBox;
00148 TQCheckBox *mNewMailCheckBox;
00149 TQCheckBox *mNotifyOnNewMailCheckBox;
00150 TQCheckBox *mKeepRepliesInSameFolderCheckBox;
00151 KLineEdit *mNameEdit;
00152
00153 KPIM::IdentityCombo *mIdentityComboBox;
00154
00155 KMFolderDialog* mDlg;
00156 bool mIsLocalSystemFolder;
00157 bool mIsResourceFolder;
00158 };
00159
00164 class FolderDiaTemplatesTab : public FolderDiaTab
00165 {
00166 Q_OBJECT
00167 TQ_OBJECT
00168
00169 public:
00170 FolderDiaTemplatesTab( KMFolderDialog *dlg, TQWidget *parent );
00171
00172 virtual void load();
00173 virtual bool save();
00174
00175 public slots:
00176 void slotEmitChanged();
00177
00178 void slotCopyGlobal();
00179
00180 private:
00181 void initializeWithValuesFromFolder( KMFolder* folder );
00182
00183 private:
00184 TQCheckBox* mCustom;
00185 TemplatesConfiguration* mWidget;
00186 KPushButton* mCopyGlobal;
00187 KMFolder* mFolder;
00188 uint mIdentity;
00189
00190 KMFolderDialog* mDlg;
00191 bool mIsLocalSystemFolder;
00192 };
00193
00194 }
00195
00199 class KMFolderDialog : public KDialogBase
00200 {
00201 Q_OBJECT
00202 TQ_OBJECT
00203
00204 public:
00205 KMFolderDialog( KMFolder *folder, KMFolderDir *aFolderDir,
00206 KMFolderTree* parent, const TQString& caption,
00207 const TQString& name = TQString() );
00208
00209 KMFolder* folder() const { return mFolder; }
00210 void setFolder( KMFolder* folder );
00211
00212
00213 bool isNewFolder() const { return mIsNewFolder; }
00214
00215 KMFolderDir* folderDir() const { return mFolderDir; }
00216 typedef TQValueList<TQGuardedPtr<KMFolder> > FolderList;
00217
00218 KMFolder* parentFolder() const { return mParentFolder; }
00219
00220 KMFolderTree* folderTree() const { return mFolderTree; }
00221
00222 protected slots:
00223 void slotChanged( bool );
00224 virtual void slotOk();
00225 virtual void slotApply();
00226
00227 void slotReadyForAccept();
00228 void slotCancelAccept();
00229
00230 private:
00231 void addTab( KMail::FolderDiaTab* tab );
00232
00233 private:
00234
00235 TQGuardedPtr<KMFolder> mFolder;
00236 TQGuardedPtr<KMFolderDir> mFolderDir;
00237 TQGuardedPtr<KMFolder> mParentFolder;
00238
00239 bool mIsNewFolder;
00240
00241 TQValueVector<KMail::FolderDiaTab*> mTabs;
00242 int mDelayedSavingTabs;
00243 KMFolderTree* mFolderTree;
00244 };
00245
00246 #endif
00247
|