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

kmail

folderdialogacltab.h

Go to the documentation of this file.
00001 // -*- mode: C++; c-file-style: "gnu" -*-
00032 #ifndef FOLDERDIALOGACLTAB_H
00033 #define FOLDERDIALOGACLTAB_H
00034 
00035 #include "kmfolderdialog.h"
00036 #include "kmfoldertype.h"
00037 class KJob;
00038 class KMFolderImap;
00039 class KPushButton;
00040 class QStackedWidget;
00041 class KHBox;
00042 class QGroupBox;
00043 class QButtonGroup;
00044 class QTreeWidget;
00045 class QTreeWidgetItem;
00046 class QLabel;
00047 namespace KIO { class Job; }
00048 
00049 namespace KMail {
00050 
00051 enum IMAPUserIdFormat { FullEmail, UserName };
00052 
00053 struct ACLListEntry;
00054 typedef QVector<KMail::ACLListEntry> ACLList;
00055 
00056 class ImapAccountBase;
00057 
00062 class ACLEntryDialog :public KDialog {
00063   Q_OBJECT
00064 
00065 public:
00066   ACLEntryDialog( IMAPUserIdFormat userIdFormat, const QString& caption, QWidget* parent );
00067 
00068   void setValues( const QString& userId, unsigned int permissions );
00069 
00070   QString userId() const;
00071   QStringList userIds() const;
00072   unsigned int permissions() const;
00073 
00074 private slots:
00075   void slotSelectAddresses();
00076   void slotChanged();
00077 
00078 private:
00079   QButtonGroup* mButtonGroup;
00080   KLineEdit* mUserIdLineEdit;
00081   IMAPUserIdFormat mUserIdFormat;
00082 };
00083 
00088 class FolderDialogACLTab : public FolderDialogTab
00089 {
00090   Q_OBJECT
00091 
00092 public:
00093   FolderDialogACLTab( KMFolderDialog* dlg, QWidget* parent );
00094 
00095   virtual void load();
00096   virtual bool save();
00097   virtual AcceptStatus accept();
00098 
00099   static bool supports( KMFolder* refFolder );
00100 
00101 private slots:
00102   // Network (KIO) slots
00103   void slotConnectionResult( int, const QString& );
00104   void slotReceivedACL( KMFolder*, KIO::Job*, const KMail::ACLList& );
00105   void slotMultiSetACLResult(KJob *);
00106   void slotACLChanged( const QString&, int );
00107   void slotReceivedUserRights( KMFolder* folder );
00108   void slotDirectoryListingFinished(KMFolderImap*);
00109 
00110   // User (QTreeWidget) slots
00111   void slotEditACL( QTreeWidgetItem* );
00112   void slotSelectionChanged();
00113 
00114   // User (pushbuttons) slots
00115   void slotAddACL();
00116   void slotEditACL();
00117   void slotRemoveACL();
00118 
00119   void slotChanged( bool b );
00120 
00121 private:
00122   KUrl imapURL() const;
00123   void initializeWithValuesFromFolder( KMFolder* folder );
00124   void startListing();
00125   void loadListView( const KMail::ACLList& aclList );
00126   void loadFinished( const KMail::ACLList& aclList );
00127   void addACLs( const QStringList& userIds, unsigned int permissions );
00128 
00129 private:
00130   // The widget containing the ACL widgets (listview and buttons)
00131   KHBox* mACLWidget;
00132   //class ListView;
00133   class ListViewItem;
00134   QTreeWidget* mListView;
00135   KPushButton* mAddACL;
00136   KPushButton* mEditACL;
00137   KPushButton* mRemoveACL;
00138 
00139   QStringList mRemovedACLs;
00140   QString mImapPath;
00141   ImapAccountBase* mImapAccount;
00142   int mUserRights;
00143   KMFolderType mFolderType;
00144   ACLList mInitialACLList;
00145   ACLList mACLList; // to be set
00146   IMAPUserIdFormat mUserIdFormat;
00147 
00148   QLabel* mLabel;
00149   QStackedWidget* mStack;
00150   KMFolderDialog* mDlg;
00151 
00152   bool mChanged;
00153   bool mAccepting; // i.e. close when done
00154   bool mSaving;
00155 };
00156 
00157 } // end of namespace KMail
00158 
00159 #endif /* FOLDERDIALOGACLTAB_H */
00160 

kmail

Skip menu "kmail"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • 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
  •   doc
  • 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