summaryrefslogtreecommitdiffstats
path: root/filesharing/advanced/propsdlgplugin/propertiespage.h
blob: d62749f89f0340ea2a5244f446db3db6dc0bde67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*
  Copyright (c) 2004 Jan Schaefer <[email protected]>

  This program 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.

  This program 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 this program; if not, write to the Free Software
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1307, USA.

*/

#ifndef PROPERTIESPAGE_H
#define PROPERTIESPAGE_H

#include <kfileitem.h>
#include "propertiespagegui.h"

class NFSFile;
class NFSEntry;
class SambaFile;
class SambaShare;
class QCheckBox;

class PropertiesPage : public PropertiesPageGUI
{
Q_OBJECT
public:
  PropertiesPage(QWidget* parent, KFileItemList items, bool enterUrl=false);
  virtual ~PropertiesPage();
  
  bool save();

  static bool save(NFSFile* nfsFile, SambaFile* sambFile, bool nfs, bool samba); 
public slots:
  void load();
    
protected:
  
  bool m_enterUrl;
  QString m_path;
  KFileItemList m_items;  
  NFSFile *m_nfsFile;
  NFSEntry *m_nfsEntry;
  
  SambaFile *m_sambaFile;
  SambaShare *m_sambaShare;
  bool m_sambaChanged;
  bool m_nfsChanged;
  bool m_loaded;
  
protected slots:
  // inherited from PropertiesPageGUI
  virtual void moreNFSBtn_clicked();
  virtual void moreSambaBtnClicked();
  virtual void sambaChkToggled( bool b );
  virtual void urlRqTextChanged(const QString&);
  
private:
  bool loadNFS();  
  void loadNFSEntry();  
  void updateNFSEntry();
  bool saveNFS();
  
  bool loadSamba();
  void loadSambaShare();
  bool updateSambaShare();
  bool saveSamba();
  
  bool checkURL();
  void setSambaShareBoolValue(const QString & value, QCheckBox* chk);
  void createNewSambaShare();
  QString getNewSambaName();
  
  void enableNFS(bool b,const QString & message);
  void enableSamba(bool b,const QString & message);
  
};

#endif