diff options
Diffstat (limited to 'filesharing/advanced/kcm_sambaconf/kcmsambaconf.h')
-rw-r--r-- | filesharing/advanced/kcm_sambaconf/kcmsambaconf.h | 159 |
1 files changed, 159 insertions, 0 deletions
diff --git a/filesharing/advanced/kcm_sambaconf/kcmsambaconf.h b/filesharing/advanced/kcm_sambaconf/kcmsambaconf.h new file mode 100644 index 00000000..32e37784 --- /dev/null +++ b/filesharing/advanced/kcm_sambaconf/kcmsambaconf.h @@ -0,0 +1,159 @@ +/*************************************************************************** + kcmsambaconf.h - description + ------------------- + begin : Mon Apr 8 13:35:56 CEST 2002 + copyright : (C) 2002 by Christian Nitschkowski + email : [email protected] + copyright : (C) 2002-2003 by Jan Sch�fer + email : [email protected] +***************************************************************************/ + +/****************************************************************************** +* * +* This file is part of KSambaPlugin. * +* * +* KSambaPlugin 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. * +* * +* KSambaPlugin 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 KSambaPlugin; if not, write to the Free Software * +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * +* * +******************************************************************************/ + +#ifndef KCMSAMBACONF_H_ +#define KCMSAMBACONF_H_ + +#include <kcmodule.h> +#include <kcminterface.h> +#include <share.h> +#include <qptrlist.h> +#include <qlistview.h> + + +class SambaShare; +class SambaFile; +class QPixmap; +/** +* A QListViewItem which holds a SambaShare object +**/ +class ShareListViewItem : public QListViewItem +{ +public: + ShareListViewItem(QListView * parent, SambaShare* share); + + SambaShare* getShare() const; + void setShare(SambaShare* share); + void updateShare(); + +protected: + SambaShare* _share; + QPixmap createPropertyPixmap(); +}; + + +class KJanusWidget; +class QLineEdit; +class QCheckBox; +class QSpinBox; +class DictManager; +class SmbConfConfigWidget; + +class KcmSambaConf: public KCModule +{ + Q_OBJECT + public: + KcmSambaConf(QWidget *parent = 0L, const char *name = 0L); + virtual ~KcmSambaConf(); + + void load(const QString &); + void save(); + void defaults(); + int buttons(); + QString quickHelp() const; + + public slots: + void configChanged(); + + void editShare(); + void addShare(); + void removeShare(); + + void editPrinter(); + void addPrinter(); + void removePrinter(); + + void editShareDefaults(); + void editPrinterDefaults(); + + + protected: + /** + * The path of the smb.conf file + **/ + QString _smbconf; + SambaFile* _sambaFile; + + DictManager* _dictMngr; + + void init(); + void loadUserTab(); + void saveUserTab(); + bool getSocketBoolValue( const QString & str, const QString & name ); + int getSocketIntValue( const QString & str, const QString & name ); + QString socketOptions(); + void setComboIndexToValue(QComboBox* box, const QString & value, SambaShare* share); + + void loadBaseSettings(SambaShare*s=0L); + void loadSecurity(SambaShare* ); + void loadLogging(SambaShare* ); + void loadTuning(SambaShare* ); + void loadDomain(SambaShare* ); + void loadWins(SambaShare* ); + void loadPrinting(SambaShare* ); + void loadFilenames(SambaShare* ); + void loadLocking(SambaShare* ); + void loadCharset(SambaShare*); + void loadLogon(SambaShare* ); + void loadSocket(SambaShare* ); + void loadSSL(SambaShare* ); + void loadProtocol(SambaShare* ); + void loadWinbind(SambaShare* ); + void loadNetbios(SambaShare* ); + void loadVFS(SambaShare* ); + void loadBrowsing(SambaShare* ); + void loadCommands(SambaShare*); + void loadMisc(SambaShare* ); + void loadDebug(SambaShare* ); + void loadLDAP(SambaShare*); + + void initAdvancedTab(); + + void createSmbConfigWidget(); + + protected slots: + void addSambaUserBtnClicked(); + void removeSambaUserBtnClicked(); + void sambaUserPasswordBtnClicked(); + void slotMouseButtonPressed(int,QListViewItem*,const QPoint &,int); + void joinADomainBtnClicked(); + void nullPasswordsEnabled(bool); + void loadBtnClicked(); + void loadCanceled(const QString & msg); + void fillFields(); + void slotSpecifySmbConf(const QString &); + + private: + KcmInterface* _interface; + KJanusWidget* _janus; + SmbConfConfigWidget* m_smbConfConfigWidget; +}; + +#endif |