|
|
|
|
/***************************************************************************
|
|
|
|
|
kcmsambaconf.h - description
|
|
|
|
|
-------------------
|
|
|
|
|
begin : Mon Apr 8 13:35:56 CEST 2002
|
|
|
|
|
copyright : (C) 2002 by Christian Nitschkowski
|
|
|
|
|
email : segfault_ii@web.de
|
|
|
|
|
copyright : (C) 2002-2003 by Jan Sch<EFBFBD>fer
|
|
|
|
|
email : janschaefer@users.sourceforge.net
|
|
|
|
|
***************************************************************************/
|
|
|
|
|
|
|
|
|
|
/******************************************************************************
|
|
|
|
|
* *
|
|
|
|
|
* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
|
|
|
|
|
* *
|
|
|
|
|
******************************************************************************/
|
|
|
|
|
|
|
|
|
|
#ifndef KCMSAMBACONF_H_
|
|
|
|
|
#define KCMSAMBACONF_H_
|
|
|
|
|
|
|
|
|
|
#include <kcmodule.h>
|
|
|
|
|
#include <kcminterface.h>
|
|
|
|
|
#include <share.h>
|
|
|
|
|
#include <tqptrlist.h>
|
|
|
|
|
#include <tqlistview.h>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class SambaShare;
|
|
|
|
|
class SambaFile;
|
|
|
|
|
class QPixmap;
|
|
|
|
|
/**
|
|
|
|
|
* A TQListViewItem which holds a SambaShare object
|
|
|
|
|
**/
|
|
|
|
|
class ShareListViewItem : public QListViewItem
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
ShareListViewItem(TQListView * parent, SambaShare* share);
|
|
|
|
|
|
|
|
|
|
SambaShare* getShare() const;
|
|
|
|
|
void setShare(SambaShare* share);
|
|
|
|
|
void updateShare();
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
SambaShare* _share;
|
|
|
|
|
TQPixmap createPropertyPixmap();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class KJanusWidget;
|
|
|
|
|
class QLineEdit;
|
|
|
|
|
class QCheckBox;
|
|
|
|
|
class QSpinBox;
|
|
|
|
|
class DictManager;
|
|
|
|
|
class SmbConfConfigWidget;
|
|
|
|
|
|
|
|
|
|
class KcmSambaConf: public KCModule
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
public:
|
|
|
|
|
KcmSambaConf(TQWidget *parent = 0L, const char *name = 0L);
|
|
|
|
|
virtual ~KcmSambaConf();
|
|
|
|
|
|
|
|
|
|
void load(const TQString &);
|
|
|
|
|
void save();
|
|
|
|
|
void defaults();
|
|
|
|
|
int buttons();
|
|
|
|
|
TQString 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
|
|
|
|
|
**/
|
|
|
|
|
TQString _smbconf;
|
|
|
|
|
SambaFile* _sambaFile;
|
|
|
|
|
|
|
|
|
|
DictManager* _dictMngr;
|
|
|
|
|
|
|
|
|
|
void init();
|
|
|
|
|
void loadUserTab();
|
|
|
|
|
void saveUserTab();
|
|
|
|
|
bool getSocketBoolValue( const TQString & str, const TQString & name );
|
|
|
|
|
int getSocketIntValue( const TQString & str, const TQString & name );
|
|
|
|
|
TQString socketOptions();
|
|
|
|
|
void setComboIndexToValue(TQComboBox* box, const TQString & 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,TQListViewItem*,const TQPoint &,int);
|
|
|
|
|
void joinADomainBtnClicked();
|
|
|
|
|
void nullPasswordsEnabled(bool);
|
|
|
|
|
void loadBtnClicked();
|
|
|
|
|
void loadCanceled(const TQString & msg);
|
|
|
|
|
void fillFields();
|
|
|
|
|
void slotSpecifySmbConf(const TQString &);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
KcmInterface* _interface;
|
|
|
|
|
KJanusWidget* _janus;
|
|
|
|
|
SmbConfConfigWidget* m_smbConfConfigWidget;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|