1
Index: kdenetwork-4.6.3/filesharing/advanced/CMakeLists.txt
2
===================================================================
3
--- kdenetwork-4.6.3.orig/filesharing/advanced/CMakeLists.txt 2011-01-19 17:21:04.000000000 -0500
4
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
6
-add_subdirectory(kcm_sambaconf)
7
-add_subdirectory(propsdlgplugin)
8
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/ChangeLog
9
===================================================================
10
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/ChangeLog 2011-01-19 17:21:04.000000000 -0500
11
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
14
- - Added new options of Samba 3.0.2
16
- - Fixed a crash if files are deleted from a directory
17
- that is configured by KSambaPlugin at the same time.
19
- - Support of Samba 3.0.1
21
- - Should now be compileable with Qt 3.0
23
- - Works with Samba 3.x
24
- - Supports all options of Samba 3.0 and Samba 2.x
25
- - Supports loading and saving of remote Samba configuration files
26
- with KIO slaves (e.g. fish)
27
- - Complete rewrite of the user permission tab
28
- - Accelerator keys added where possible
29
- - Tab ordering fixed everywhere
30
- - Redesigned big parts of the interface
33
- - Fixed crash, when smb.conf wasn't found
34
- - Some other bugs fixed
37
- - "user only" changed to "only user"
38
- - Changings in the advanced tab will enable the apply button
40
- - Many new options have been added to the Share dialog
41
- - The layout of the Share dialog has been changed
43
- - Doesn't depend on automake 1.7, but on version 1.5.x
47
- * adding a blank line between two sections in the smb.conf
48
- - Konqueror Plugin :
49
- * availabe changed to available
50
- * when changing a share to be not shared the entry is removed from the smb.conf
51
- - KControl Center Module :
52
- * Changing of the socket options works now
54
- - The KControl Center module layout has changed much
55
- - The Konqueror plugin layout has been changed a little
57
- - Many new options have been added to the KControl Center module
61
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/CMakeLists.txt
62
===================================================================
63
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/CMakeLists.txt 2011-01-19 17:21:04.000000000 -0500
64
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
66
-set(kcm_kcmsambaconf_PART_SRCS kcmsambaconf.cpp kcminterface.cpp ${libfilesharesamba_SRCS})
68
-add_definitions(-D_KDEPRINT_COMPILE )
70
-kde4_add_ui3_files(kcm_kcmsambaconf_PART_SRCS socketoptionsdlg.ui userselectdlg.ui
71
- groupselectdlg.ui usertab.ui filemodedlg.ui
75
-kde4_add_ui_files(kcm_kcmsambaconf_PART_SRCS share.ui kcminterface.ui expertuserdlg.ui)
77
-kde4_add_plugin(kcm_kcmsambaconf ${kcm_kcmsambaconf_PART_SRCS})
79
-target_link_libraries(kcm_kcmsambaconf ${KDE4_KDEUI_LIBS} ${KDE4_KDE3SUPPORT_LIBS})
81
-install(TARGETS kcm_kcmsambaconf DESTINATION ${PLUGIN_INSTALL_DIR})
83
-########### install files ###############
85
-install(FILES kcmsambaconf.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
87
-kde4_install_icons(${ICON_INSTALL_DIR})
88
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/common.cpp
89
===================================================================
90
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/common.cpp 2011-01-19 17:21:04.000000000 -0500
91
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
93
-/***************************************************************************
94
- common.cpp - description
96
- begin : Tue June 6 2002
97
- copyright : (C) 2002 by Jan Schäfer
98
- email : janschaefer@users.sourceforge.net
99
- ***************************************************************************/
101
-/******************************************************************************
103
- * This file is part of KSambaPlugin. *
105
- * KSambaPlugin is free software; you can redistribute it and/or modify *
106
- * it under the terms of the GNU General Public License as published by *
107
- * the Free Software Foundation; either version 2 of the License, or *
108
- * (at your option) any later version. *
110
- * KSambaPlugin is distributed in the hope that it will be useful, *
111
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
112
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
113
- * GNU General Public License for more details. *
115
- * You should have received a copy of the GNU General Public License *
116
- * along with KSambaPlugin; if not, write to the Free Software *
117
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
119
- ******************************************************************************/
121
-#include <qstring.h>
122
-#include <kcombobox.h>
123
-#include <q3listbox.h>
127
-void setComboToString(QComboBox* combo,const QString & s)
129
- int i = /*combo->model()->index(*/combo->findText( s )/*)*/;//model()->findItem(s,Qt::ExactMatch));
130
- combo->setCurrentItem(i);
133
-bool boolFromText(const QString & value, bool testTrue)
135
- QString lower = value.toLower();
138
- if (lower=="yes" ||
157
-QString textFromBool(bool value)
166
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/common.h
167
===================================================================
168
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/common.h 2011-01-19 17:21:04.000000000 -0500
169
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
171
-/***************************************************************************
172
- common.h - description
173
- -------------------
174
- begin : Tue June 6 2002
175
- copyright : (C) 2002 by Jan Schäfer
176
- email : janschaefer@users.sourceforge.net
177
- ***************************************************************************/
179
-/******************************************************************************
181
- * This file is part of KSambaPlugin. *
183
- * KSambaPlugin is free software; you can redistribute it and/or modify *
184
- * it under the terms of the GNU General Public License as published by *
185
- * the Free Software Foundation; either version 2 of the License, or *
186
- * (at your option) any later version. *
188
- * KSambaPlugin is distributed in the hope that it will be useful, *
189
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
190
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
191
- * GNU General Public License for more details. *
193
- * You should have received a copy of the GNU General Public License *
194
- * along with KSambaPlugin; if not, write to the Free Software *
195
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
197
- ******************************************************************************/
206
-void setComboToString(QComboBox*,const QString &);
207
-bool boolFromText(const QString & value,bool testTrue=true);
208
-QString textFromBool(bool value);
211
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/dictmanager.cpp
212
===================================================================
213
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/dictmanager.cpp 2011-01-19 17:21:04.000000000 -0500
214
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
216
-/***************************************************************************
217
- dictmanager.cpp - description
218
- -------------------
219
- begin : Wed Jan 1 2003
220
- copyright : (C) 2003 by Jan Schäfer
221
- email : janschaefer@users.sourceforge.net
222
- ***************************************************************************/
224
-/******************************************************************************
226
- * This file is part of KSambaPlugin. *
228
- * KSambaPlugin is free software; you can redistribute it and/or modify *
229
- * it under the terms of the GNU General Public License as published by *
230
- * the Free Software Foundation; either version 2 of the License, or *
231
- * (at your option) any later version. *
233
- * KSambaPlugin is distributed in the hope that it will be useful, *
234
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
235
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
236
- * GNU General Public License for more details. *
238
- * You should have received a copy of the GNU General Public License *
239
- * along with KSambaPlugin; if not, write to the Free Software *
240
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
242
- ******************************************************************************/
245
-#include <qlineedit.h>
246
-#include <qcheckbox.h>
247
-#include <qspinbox.h>
248
-#include <qcombobox.h>
249
-#include <qstringlist.h>
251
-#include <kurlrequester.h>
252
-#include <klocale.h>
255
-#include "sambashare.h"
256
-#include "dictmanager.h"
261
-DictManager::DictManager(SambaShare* share):
262
- lineEditDict(40,false),
263
- checkBoxDict(40,false),
264
- urlRequesterDict(40,false),
265
- spinBoxDict(40,false),
266
- comboBoxDict(20,false),
267
- comboBoxValuesDict(20,false)
272
-DictManager::~DictManager() {
275
-void DictManager::handleUnsupportedWidget(const QString & s, QWidget* w) {
276
- kDebug(DEBUG) << s << endl;
278
- w->setEnabled(false);
279
- w->setToolTip(i18n("The option <em>%1</em> is not supported by your Samba version", s));
282
-void DictManager::add(const QString & key, QLineEdit* lineEdit) {
283
- kDebug(DEBUG) << key << " : QLineEdit" << endl;
284
- if (_share->optionSupported(key)) {
285
- lineEditDict.insert(key,lineEdit);
286
- connect(lineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(changedSlot()));
288
- handleUnsupportedWidget(key,lineEdit);
291
-void DictManager::add(const QString & key, QCheckBox* checkBox){
292
- kDebug(DEBUG) << key << " : QCheckBox " << endl;
293
- if (_share->optionSupported(key)) {
294
- checkBoxDict.insert(key,checkBox);
295
- connect(checkBox, SIGNAL(clicked()), this, SLOT(changedSlot()));
297
- handleUnsupportedWidget(key,checkBox);
300
-void DictManager::add(const QString & key, KUrlRequester* urlRq){
301
- kDebug(DEBUG) << key << " : KUrlRequester " << endl;
302
- if (_share->optionSupported(key)) {
303
- urlRequesterDict.insert(key,urlRq);
304
- connect(urlRq, SIGNAL(textChanged(const QString &)), this, SLOT(changedSlot()));
306
- handleUnsupportedWidget(key,urlRq);
309
-void DictManager::add(const QString & key, QSpinBox* spinBox){
310
- kDebug(DEBUG) << key << " : QSpinBox " << endl;
311
- if (_share->optionSupported(key)) {
312
- spinBoxDict.insert(key,spinBox);
313
- connect(spinBox, SIGNAL(valueChanged(int)), this, SLOT(changedSlot()));
315
- handleUnsupportedWidget(key,spinBox);
318
-void DictManager::add(const QString & key, QComboBox* comboBox, QStringList* values){
319
- kDebug(DEBUG) << key << endl;
320
- if (_share->optionSupported(key)) {
321
- comboBoxDict.insert(key,comboBox);
322
- comboBoxValuesDict.insert(key,values);
323
- connect(comboBox, SIGNAL(activated(int)), this, SLOT(changedSlot()));
325
- handleUnsupportedWidget(key,comboBox);
329
-void DictManager::load(SambaShare* share, bool globalValue, bool defaultValue){
330
- Q3DictIterator<QCheckBox> checkBoxIt( checkBoxDict );
332
- for( ; checkBoxIt.current(); ++checkBoxIt ) {
333
- checkBoxIt.current()->setChecked(share->getBoolValue(checkBoxIt.currentKey(),globalValue,defaultValue));
336
- Q3DictIterator<QLineEdit> lineEditIt( lineEditDict );
338
- for( ; lineEditIt.current(); ++lineEditIt ) {
339
- lineEditIt.current()->setText(share->getValue(lineEditIt.currentKey(),globalValue,defaultValue));
342
- Q3DictIterator<KUrlRequester> urlRequesterIt( urlRequesterDict );
344
- for( ; urlRequesterIt.current(); ++urlRequesterIt ) {
345
- urlRequesterIt.current()->setUrl(share->getValue(urlRequesterIt.currentKey(),globalValue,defaultValue));
348
- Q3DictIterator<QSpinBox> spinBoxIt( spinBoxDict );
350
- for( ; spinBoxIt.current(); ++spinBoxIt ) {
351
- spinBoxIt.current()->setValue(share->getValue(spinBoxIt.currentKey(),globalValue,defaultValue).toInt());
354
- loadComboBoxes(share,globalValue,defaultValue);
358
-void DictManager::loadComboBoxes(SambaShare* share, bool globalValue, bool defaultValue) {
359
- Q3DictIterator<QComboBox> comboBoxIt( comboBoxDict );
361
- for( ; comboBoxIt.current(); ++comboBoxIt ) {
362
- QStringList *v = comboBoxValuesDict[comboBoxIt.currentKey()];
363
- QString value = share->getValue(comboBoxIt.currentKey(),globalValue,defaultValue);
365
- if (value.isNull())
368
- value = value.toLower();
371
- int comboIndex = 0;
373
- QStringList::iterator it;
374
- for ( it = v->begin(); it != v->end(); ++it ) {
375
- QString lower = (*it).toLower();
376
- if ( lower == "yes" &&
377
- boolFromText(value))
380
- if ( lower == "no" &&
381
- ! boolFromText(value,false))
384
- if ( lower == value )
390
- comboBoxIt.current()->setCurrentItem(comboIndex);
395
-void DictManager::save(SambaShare* share, bool globalValue, bool defaultValue){
396
- Q3DictIterator<QCheckBox> checkBoxIt( checkBoxDict );
398
- for( ; checkBoxIt.current(); ++checkBoxIt ) {
399
- share->setValue(checkBoxIt.currentKey(),checkBoxIt.current()->isChecked(), globalValue, defaultValue );
402
- Q3DictIterator<QLineEdit> lineEditIt( lineEditDict );
404
- for( ; lineEditIt.current(); ++lineEditIt ) {
405
- share->setValue(lineEditIt.currentKey(),lineEditIt.current()->text(), globalValue, defaultValue );
408
- Q3DictIterator<KUrlRequester> urlRequesterIt( urlRequesterDict );
410
- for( ; urlRequesterIt.current(); ++urlRequesterIt ) {
411
- share->setValue(urlRequesterIt.currentKey(),urlRequesterIt.current()->url().pathOrUrl(), globalValue, defaultValue );
414
- Q3DictIterator<QSpinBox> spinBoxIt( spinBoxDict );
416
- for( ; spinBoxIt.current(); ++spinBoxIt ) {
417
- share->setValue(spinBoxIt.currentKey(),spinBoxIt.current()->value(), globalValue, defaultValue );
420
- Q3DictIterator<QComboBox> comboBoxIt( comboBoxDict );
422
- for( ; comboBoxIt.current(); ++comboBoxIt ) {
423
- QStringList* values = comboBoxValuesDict[comboBoxIt.currentKey()];
425
- int i = comboBoxIt.current()->currentItem();
427
- share->setValue(comboBoxIt.currentKey(),(*values)[i], globalValue, defaultValue );
429
- kDebug(DEBUG) << comboBoxIt.currentKey() << " not set! " << endl;
435
-void DictManager::changedSlot() {
441
-#include "dictmanager.moc"
444
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/dictmanager.h
445
===================================================================
446
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/dictmanager.h 2011-01-19 17:21:04.000000000 -0500
447
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
449
-/***************************************************************************
450
- dictmanager.h - description
451
- -------------------
452
- begin : Wed Jan 1 2003
453
- copyright : (C) 2003 by Jan Schäfer
454
- email : janschaefer@users.sourceforge.net
455
- ***************************************************************************/
457
-/******************************************************************************
459
- * This file is part of KSambaPlugin. *
461
- * KSambaPlugin is free software; you can redistribute it and/or modify *
462
- * it under the terms of the GNU General Public License as published by *
463
- * the Free Software Foundation; either version 2 of the License, or *
464
- * (at your option) any later version. *
466
- * KSambaPlugin is distributed in the hope that it will be useful, *
467
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
468
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
469
- * GNU General Public License for more details. *
471
- * You should have received a copy of the GNU General Public License *
472
- * along with KSambaPlugin; if not, write to the Free Software *
473
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
475
- ******************************************************************************/
477
-#ifndef _DICTMANAGER_H_
478
-#define _DICTMANAGER_H_
490
- * @author Jan Schäfer
492
-class DictManager : public QObject
496
- DictManager(SambaShare *share);
497
- virtual ~DictManager();
499
- void add(const QString &, QLineEdit*);
500
- void add(const QString &, QCheckBox*);
501
- void add(const QString &, KUrlRequester*);
502
- void add(const QString &, QSpinBox*);
503
- void add(const QString &, QComboBox*, QStringList*);
505
- void load(SambaShare* share, bool globalValue=true, bool defaultValue=true);
506
- void save(SambaShare* share, bool globalValue=true, bool defaultValue=true);
509
- Q3Dict<QLineEdit> lineEditDict;
510
- Q3Dict<QCheckBox> checkBoxDict;
511
- Q3Dict<KUrlRequester> urlRequesterDict;
512
- Q3Dict<QSpinBox> spinBoxDict;
513
- Q3Dict<QComboBox> comboBoxDict;
514
- Q3Dict<QStringList> comboBoxValuesDict;
516
- SambaShare* _share;
518
- void handleUnsupportedWidget(const QString &, QWidget*);
519
- void loadComboBoxes(SambaShare*, bool, bool);
522
- void changedSlot();
529
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/expertuserdlg.ui
530
===================================================================
531
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/expertuserdlg.ui 2011-01-19 17:21:04.000000000 -0500
532
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
534
-<ui version="4.0" stdsetdef="1" >
535
- <class>ExpertUserDlg</class>
536
- <widget class="QDialog" name="ExpertUserDlg" >
537
- <property name="geometry" >
542
- <height>221</height>
545
- <property name="windowTitle" >
546
- <string>User Settings</string>
548
- <property name="sizeGripEnabled" >
551
- <layout class="QGridLayout" >
552
- <item row="0" column="0" >
553
- <widget class="QLabel" name="TextLabel12" >
554
- <property name="sizePolicy" >
556
- <hsizetype>1</hsizetype>
557
- <vsizetype>5</vsizetype>
558
- <horstretch>0</horstretch>
559
- <verstretch>0</verstretch>
562
- <property name="text" >
563
- <string>&Valid users:</string>
565
- <property name="buddy" stdset="0" >
566
- <cstring>validUsersEdit</cstring>
568
- <property name="wordWrap" >
573
- <item row="0" column="1" >
574
- <widget class="QLineEdit" name="validUsersEdit" />
576
- <item row="3" column="0" >
577
- <widget class="QLabel" name="TextLabel12_2_2_2" >
578
- <property name="sizePolicy" >
580
- <hsizetype>1</hsizetype>
581
- <vsizetype>5</vsizetype>
582
- <horstretch>0</horstretch>
583
- <verstretch>0</verstretch>
586
- <property name="text" >
587
- <string>&Admin users:</string>
589
- <property name="buddy" stdset="0" >
590
- <cstring>adminUsersEdit</cstring>
592
- <property name="wordWrap" >
597
- <item row="3" column="1" >
598
- <widget class="QLineEdit" name="adminUsersEdit" />
600
- <item row="4" column="0" >
601
- <widget class="QLabel" name="TextLabel12_2_2_2_2" >
602
- <property name="sizePolicy" >
604
- <hsizetype>1</hsizetype>
605
- <vsizetype>5</vsizetype>
606
- <horstretch>0</horstretch>
607
- <verstretch>0</verstretch>
610
- <property name="text" >
611
- <string>&Invalid users:</string>
613
- <property name="buddy" stdset="0" >
614
- <cstring>invalidUsersEdit</cstring>
616
- <property name="wordWrap" >
621
- <item row="4" column="1" >
622
- <widget class="QLineEdit" name="invalidUsersEdit" />
624
- <item rowspan="1" row="6" column="0" colspan="2" >
625
- <widget class="Q3Frame" name="frame16" >
626
- <property name="frameShape" >
629
- <property name="frameShadow" >
630
- <enum>Raised</enum>
634
- <item rowspan="1" row="7" column="0" colspan="2" >
635
- <layout class="QHBoxLayout" >
636
- <property name="margin" >
639
- <property name="spacing" >
643
- <spacer name="Qt::Horizontal Spacing2" >
644
- <property name="sizeHint" >
647
- <height>20</height>
650
- <property name="sizeType" >
651
- <enum>QSizePolicy::Expanding</enum>
653
- <property name="orientation" >
654
- <enum>Qt::Horizontal</enum>
659
- <widget class="QPushButton" name="buttonOk" >
660
- <property name="text" >
661
- <string>&OK</string>
663
- <property name="shortcut" >
666
- <property name="autoDefault" >
669
- <property name="default" >
675
- <widget class="QPushButton" name="buttonCancel" >
676
- <property name="text" >
677
- <string>&Cancel</string>
679
- <property name="shortcut" >
682
- <property name="autoDefault" >
689
- <item row="5" column="1" >
690
- <spacer name="spacer97" >
691
- <property name="sizeHint" >
694
- <height>40</height>
697
- <property name="sizeType" >
698
- <enum>QSizePolicy::Expanding</enum>
700
- <property name="orientation" >
701
- <enum>Qt::Vertical</enum>
705
- <item row="2" column="0" >
706
- <widget class="QLabel" name="TextLabel12_2" >
707
- <property name="sizePolicy" >
709
- <hsizetype>1</hsizetype>
710
- <vsizetype>5</vsizetype>
711
- <horstretch>0</horstretch>
712
- <verstretch>0</verstretch>
715
- <property name="text" >
716
- <string>&Write list:</string>
718
- <property name="buddy" stdset="0" >
719
- <cstring>writeListEdit</cstring>
721
- <property name="wordWrap" >
726
- <item row="2" column="1" >
727
- <widget class="QLineEdit" name="writeListEdit" />
729
- <item row="1" column="1" >
730
- <widget class="QLineEdit" name="readListEdit" />
732
- <item row="1" column="0" >
733
- <widget class="QLabel" name="TextLabel12_2_2" >
734
- <property name="sizePolicy" >
736
- <hsizetype>1</hsizetype>
737
- <vsizetype>5</vsizetype>
738
- <horstretch>0</horstretch>
739
- <verstretch>0</verstretch>
742
- <property name="text" >
743
- <string>&Read list:</string>
745
- <property name="buddy" stdset="0" >
746
- <cstring>readListEdit</cstring>
748
- <property name="wordWrap" >
756
- <tabstop>validUsersEdit</tabstop>
757
- <tabstop>readListEdit</tabstop>
758
- <tabstop>writeListEdit</tabstop>
759
- <tabstop>adminUsersEdit</tabstop>
760
- <tabstop>invalidUsersEdit</tabstop>
761
- <tabstop>buttonOk</tabstop>
762
- <tabstop>buttonCancel</tabstop>
766
- <sender>buttonOk</sender>
767
- <signal>clicked()</signal>
768
- <receiver>ExpertUserDlg</receiver>
769
- <slot>accept()</slot>
772
- <sender>buttonCancel</sender>
773
- <signal>clicked()</signal>
774
- <receiver>ExpertUserDlg</receiver>
775
- <slot>reject()</slot>
779
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/filemodedlgimpl.cpp
780
===================================================================
781
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/filemodedlgimpl.cpp 2011-01-19 17:21:04.000000000 -0500
782
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
784
-/***************************************************************************
785
- filemodedlgimpl.cpp - description
786
- -------------------
787
- begin : Thu Jul 18 2002
788
- copyright : (C) 2002 by Jan Schäfer
789
- email : janschaefer@users.sourceforge.net
790
- ***************************************************************************/
792
-/******************************************************************************
794
- * This file is part of KSambaPlugin. *
796
- * KSambaPlugin is free software; you can redistribute it and/or modify *
797
- * it under the terms of the GNU General Public License as published by *
798
- * the Free Software Foundation; either version 2 of the License, or *
799
- * (at your option) any later version. *
801
- * KSambaPlugin is distributed in the hope that it will be useful, *
802
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
803
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
804
- * GNU General Public License for more details. *
806
- * You should have received a copy of the GNU General Public License *
807
- * along with KSambaPlugin; if not, write to the Free Software *
808
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
810
- ******************************************************************************/
816
-#include <qlineedit.h>
817
-#include <qcheckbox.h>
819
-#include "filemodedlgimpl.h"
821
-FileModeDlgImpl::FileModeDlgImpl(QWidget* parent, QLineEdit* edit)
822
- : FileModeDlg(parent)
830
-FileModeDlgImpl::~FileModeDlgImpl()
834
-void FileModeDlgImpl::init()
837
- int mod = _edit->text().toInt(&ok,8);
842
- stickyBitChk->setChecked( mod & 01000 );
843
- setGIDChk->setChecked( mod & 02000 );
844
- setUIDChk->setChecked( mod & 04000 );
846
- ownerExecChk->setChecked( mod & 0100 );
847
- ownerWriteChk->setChecked( mod & 0200 );
848
- ownerReadChk->setChecked( mod & 0400 );
850
- groupExecChk->setChecked( mod & 010 );
851
- groupWriteChk->setChecked( mod & 020 );
852
- groupReadChk->setChecked( mod & 040 );
854
- othersExecChk->setChecked( mod & 01 );
855
- othersWriteChk->setChecked( mod & 02 );
856
- othersReadChk->setChecked( mod & 04 );
860
-void FileModeDlgImpl::accept()
864
- s += QString::number(
865
- (stickyBitChk->isChecked() ? 1 : 0) +
866
- (setGIDChk->isChecked() ? 2 : 0) +
867
- (setUIDChk->isChecked() ? 4 : 0)
870
- s += QString::number(
871
- (ownerExecChk->isChecked() ? 1 : 0) +
872
- (ownerWriteChk->isChecked() ? 2 : 0) +
873
- (ownerReadChk->isChecked() ? 4 : 0)
876
- s += QString::number(
877
- (groupExecChk->isChecked() ? 1 : 0) +
878
- (groupWriteChk->isChecked() ? 2 : 0) +
879
- (groupReadChk->isChecked() ? 4 : 0)
882
- s += QString::number(
883
- (othersExecChk->isChecked() ? 1 : 0) +
884
- (othersWriteChk->isChecked() ? 2 : 0) +
885
- (othersReadChk->isChecked() ? 4 : 0)
888
- // it's an octal number so start with a 0
889
- // but remove all the other trailing 0's
890
- s = QString::number( s.toInt());
897
- FileModeDlg::accept();
900
-#include "filemodedlgimpl.moc"
902
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/filemodedlgimpl.h
903
===================================================================
904
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/filemodedlgimpl.h 2011-01-19 17:21:04.000000000 -0500
905
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
907
-/***************************************************************************
908
- filemodedlgimpl.cpp - description
909
- -------------------
910
- begin : Thu Jul 18 2002
911
- copyright : (C) 2002 by Jan Schäfer
912
- email : janschaefer@users.sourceforge.net
913
- ***************************************************************************/
915
-/******************************************************************************
917
- * This file is part of KSambaPlugin. *
919
- * KSambaPlugin is free software; you can redistribute it and/or modify *
920
- * it under the terms of the GNU General Public License as published by *
921
- * the Free Software Foundation; either version 2 of the License, or *
922
- * (at your option) any later version. *
924
- * KSambaPlugin is distributed in the hope that it will be useful, *
925
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
926
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
927
- * GNU General Public License for more details. *
929
- * You should have received a copy of the GNU General Public License *
930
- * along with KSambaPlugin; if not, write to the Free Software *
931
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
933
- ******************************************************************************/
935
-#ifndef FILEMODEDLGIMPL_H
936
-#define FILEMODEDLGIMPL_H
939
- *@author Jan Schäfer
942
-#include "filemodedlg.h"
947
- * Small dialog to change the UNIX access rights
948
- * It is called with a QLineEdit as parameter.
949
- * The class then takes the text from the QLineEdit and
950
- * interprets it as an oktal UNIX access right string
952
- * After the user has changed the access rights with the dialog
953
- * the class sets the new access rights as a new octal string
955
- * Implements the filemodedlg.ui interface
957
-class FileModeDlgImpl : public FileModeDlg
961
- FileModeDlgImpl(QWidget* parent, QLineEdit* edit);
962
- ~FileModeDlgImpl();
967
- virtual void accept();
971
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/filemodedlg.ui
972
===================================================================
973
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/filemodedlg.ui 2011-01-19 17:21:04.000000000 -0500
974
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
976
-<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
977
-<class>FileModeDlg</class>
978
-<widget class="QDialog">
979
- <property name="name">
980
- <cstring>FileModeDlg</cstring>
982
- <property name="geometry">
987
- <height>220</height>
990
- <property name="windowTitle">
991
- <string>Access Modifiers</string>
993
- <property name="sizeGripEnabled">
997
- <property name="name">
998
- <cstring>unnamed</cstring>
1000
- <widget class="QGroupBox">
1001
- <property name="name">
1002
- <cstring>GroupBox1</cstring>
1004
- <property name="font">
1008
- <property name="title">
1009
- <string>Access Permissions</string>
1012
- <property name="name">
1013
- <cstring>unnamed</cstring>
1015
- <property name="margin">
1016
- <number>11</number>
1018
- <property name="spacing">
1019
- <number>6</number>
1021
- <widget class="Line" row="0" column="4" rowspan="4" colspan="1">
1022
- <property name="name">
1023
- <cstring>Line4</cstring>
1025
- <property name="frameShape">
1026
- <enum>VLine</enum>
1028
- <property name="frameShadow">
1029
- <enum>Sunken</enum>
1031
- <property name="orientation">
1032
- <enum>Qt::Vertical</enum>
1035
- <spacer row="4" column="1" rowspan="1" colspan="2">
1036
- <property name="name">
1037
- <cstring>Spacer37</cstring>
1039
- <property name="orientation">
1040
- <enum>Qt::Vertical</enum>
1042
- <property name="sizeType">
1043
- <enum>Expanding</enum>
1045
- <property name="sizeHint">
1048
- <height>43</height>
1052
- <spacer row="1" column="6" rowspan="2" colspan="1">
1053
- <property name="name">
1054
- <cstring>Spacer38</cstring>
1056
- <property name="orientation">
1057
- <enum>Qt::Horizontal</enum>
1059
- <property name="sizeType">
1060
- <enum>Expanding</enum>
1062
- <property name="sizeHint">
1065
- <height>20</height>
1069
- <widget class="QLabel" row="3" column="0">
1070
- <property name="name">
1071
- <cstring>TextLabel3</cstring>
1073
- <property name="font">
1077
- <property name="text">
1078
- <string>Others</string>
1081
- <widget class="QLabel" row="0" column="1">
1082
- <property name="name">
1083
- <cstring>TextLabel4</cstring>
1085
- <property name="font">
1089
- <property name="text">
1090
- <string>Read</string>
1093
- <widget class="QCheckBox" row="3" column="1">
1094
- <property name="name">
1095
- <cstring>othersReadChk</cstring>
1097
- <property name="font">
1101
- <property name="text">
1105
- <widget class="QLabel" row="0" column="3">
1106
- <property name="name">
1107
- <cstring>TextLabel6</cstring>
1109
- <property name="font">
1113
- <property name="text">
1114
- <string>Exec</string>
1117
- <widget class="QLabel" row="0" column="2">
1118
- <property name="name">
1119
- <cstring>TextLabel5</cstring>
1121
- <property name="font">
1125
- <property name="text">
1126
- <string>Write</string>
1129
- <widget class="QCheckBox" row="2" column="2">
1130
- <property name="name">
1131
- <cstring>groupWriteChk</cstring>
1133
- <property name="font">
1137
- <property name="text">
1141
- <widget class="QCheckBox" row="3" column="2">
1142
- <property name="name">
1143
- <cstring>othersWriteChk</cstring>
1145
- <property name="font">
1149
- <property name="text">
1153
- <widget class="QCheckBox" row="1" column="2">
1154
- <property name="name">
1155
- <cstring>ownerWriteChk</cstring>
1157
- <property name="font">
1161
- <property name="text">
1165
- <widget class="QCheckBox" row="3" column="3">
1166
- <property name="name">
1167
- <cstring>othersExecChk</cstring>
1169
- <property name="font">
1173
- <property name="text">
1177
- <widget class="QCheckBox" row="2" column="1">
1178
- <property name="name">
1179
- <cstring>groupReadChk</cstring>
1181
- <property name="font">
1185
- <property name="text">
1189
- <widget class="QCheckBox" row="1" column="1">
1190
- <property name="name">
1191
- <cstring>ownerReadChk</cstring>
1193
- <property name="font">
1197
- <property name="text">
1201
- <widget class="QLabel" row="1" column="0">
1202
- <property name="name">
1203
- <cstring>TextLabel1</cstring>
1205
- <property name="font">
1209
- <property name="text">
1210
- <string>Owner</string>
1213
- <widget class="QCheckBox" row="2" column="3">
1214
- <property name="name">
1215
- <cstring>groupExecChk</cstring>
1217
- <property name="font">
1221
- <property name="text">
1225
- <widget class="QLabel" row="2" column="0">
1226
- <property name="name">
1227
- <cstring>TextLabel2</cstring>
1229
- <property name="font">
1233
- <property name="text">
1234
- <string>Group</string>
1237
- <widget class="QCheckBox" row="1" column="3">
1238
- <property name="name">
1239
- <cstring>ownerExecChk</cstring>
1241
- <property name="font">
1245
- <property name="text">
1249
- <widget class="QCheckBox" row="3" column="5">
1250
- <property name="name">
1251
- <cstring>stickyBitChk</cstring>
1253
- <property name="font">
1257
- <property name="text">
1258
- <string>Sticky</string>
1261
- <widget class="QCheckBox" row="2" column="5">
1262
- <property name="name">
1263
- <cstring>setGIDChk</cstring>
1265
- <property name="font">
1269
- <property name="text">
1270
- <string>Set GID</string>
1273
- <widget class="QCheckBox" row="1" column="5">
1274
- <property name="name">
1275
- <cstring>setUIDChk</cstring>
1277
- <property name="font">
1281
- <property name="text">
1282
- <string>Set UID</string>
1285
- <widget class="QLabel" row="0" column="5">
1286
- <property name="name">
1287
- <cstring>TextLabel8</cstring>
1289
- <property name="font">
1293
- <property name="text">
1294
- <string>Special</string>
1299
- <widget class="QLayoutWidget">
1300
- <property name="name">
1301
- <cstring>Layout1</cstring>
1304
- <property name="name">
1305
- <cstring>unnamed</cstring>
1307
- <property name="margin">
1308
- <number>0</number>
1310
- <property name="spacing">
1311
- <number>6</number>
1313
- <widget class="QPushButton">
1314
- <property name="name">
1315
- <cstring>buttonHelp</cstring>
1317
- <property name="text">
1318
- <string>&Help</string>
1320
- <property name="accel">
1321
- <string>F1</string>
1323
- <property name="autoDefault">
1328
- <property name="name">
1329
- <cstring>Qt::Horizontal Spacing2</cstring>
1331
- <property name="orientation">
1332
- <enum>Qt::Horizontal</enum>
1334
- <property name="sizeType">
1335
- <enum>Expanding</enum>
1337
- <property name="sizeHint">
1340
- <height>20</height>
1344
- <widget class="QPushButton">
1345
- <property name="name">
1346
- <cstring>buttonOk</cstring>
1348
- <property name="text">
1349
- <string>&OK</string>
1351
- <property name="autoDefault">
1354
- <property name="default">
1358
- <widget class="QPushButton">
1359
- <property name="name">
1360
- <cstring>buttonCancel</cstring>
1362
- <property name="text">
1363
- <string>&Cancel</string>
1365
- <property name="autoDefault">
1375
- <sender>buttonOk</sender>
1376
- <signal>clicked()</signal>
1377
- <receiver>FileModeDlg</receiver>
1378
- <slot>accept()</slot>
1381
- <sender>buttonCancel</sender>
1382
- <signal>clicked()</signal>
1383
- <receiver>FileModeDlg</receiver>
1384
- <slot>reject()</slot>
1388
- <tabstop>ownerReadChk</tabstop>
1389
- <tabstop>ownerWriteChk</tabstop>
1390
- <tabstop>ownerExecChk</tabstop>
1391
- <tabstop>groupReadChk</tabstop>
1392
- <tabstop>groupWriteChk</tabstop>
1393
- <tabstop>groupExecChk</tabstop>
1394
- <tabstop>othersReadChk</tabstop>
1395
- <tabstop>othersWriteChk</tabstop>
1396
- <tabstop>othersExecChk</tabstop>
1397
- <tabstop>setUIDChk</tabstop>
1398
- <tabstop>setGIDChk</tabstop>
1399
- <tabstop>stickyBitChk</tabstop>
1400
- <tabstop>buttonHelp</tabstop>
1401
- <tabstop>buttonOk</tabstop>
1402
- <tabstop>buttonCancel</tabstop>
1405
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/groupselectdlg.ui
1406
===================================================================
1407
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/groupselectdlg.ui 2011-01-19 17:21:04.000000000 -0500
1408
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
1410
-<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
1411
-<class>GroupSelectDlg</class>
1412
-<widget class="QDialog">
1413
- <property name="name">
1414
- <cstring>GroupSelectDlg</cstring>
1416
- <property name="geometry">
1420
- <width>406</width>
1421
- <height>370</height>
1424
- <property name="windowTitle">
1425
- <string>Select Groups</string>
1427
- <property name="sizeGripEnabled">
1431
- <property name="name">
1432
- <cstring>unnamed</cstring>
1434
- <property name="margin">
1435
- <number>11</number>
1437
- <property name="spacing">
1438
- <number>6</number>
1440
- <widget class="QLayoutWidget" row="4" column="0" rowspan="1" colspan="2">
1441
- <property name="name">
1442
- <cstring>Layout1</cstring>
1445
- <property name="name">
1446
- <cstring>unnamed</cstring>
1448
- <property name="margin">
1449
- <number>0</number>
1451
- <property name="spacing">
1452
- <number>6</number>
1455
- <property name="name">
1456
- <cstring>Qt::Horizontal Spacing2</cstring>
1458
- <property name="orientation">
1459
- <enum>Qt::Horizontal</enum>
1461
- <property name="sizeType">
1462
- <enum>Expanding</enum>
1464
- <property name="sizeHint">
1466
- <width>285</width>
1467
- <height>20</height>
1471
- <widget class="QPushButton">
1472
- <property name="name">
1473
- <cstring>buttonOk</cstring>
1475
- <property name="text">
1476
- <string>&OK</string>
1478
- <property name="accel">
1479
- <number>0</number>
1481
- <property name="autoDefault">
1484
- <property name="default">
1488
- <widget class="QPushButton">
1489
- <property name="name">
1490
- <cstring>buttonCancel</cstring>
1492
- <property name="text">
1493
- <string>&Cancel</string>
1495
- <property name="accel">
1496
- <number>0</number>
1498
- <property name="autoDefault">
1504
- <widget class="QFrame" row="3" column="0" rowspan="1" colspan="2">
1505
- <property name="name">
1506
- <cstring>frame16</cstring>
1508
- <property name="frameShape">
1509
- <enum>HLine</enum>
1511
- <property name="frameShadow">
1512
- <enum>Raised</enum>
1515
- <spacer row="2" column="1">
1516
- <property name="name">
1517
- <cstring>spacer90</cstring>
1519
- <property name="orientation">
1520
- <enum>Qt::Vertical</enum>
1522
- <property name="sizeType">
1523
- <enum>Expanding</enum>
1525
- <property name="sizeHint">
1528
- <height>20</height>
1532
- <widget class="QGroupBox" row="0" column="0" rowspan="3" colspan="1">
1533
- <property name="name">
1534
- <cstring>groupBox87</cstring>
1536
- <property name="sizePolicy">
1538
- <hsizetype>7</hsizetype>
1539
- <vsizetype>5</vsizetype>
1540
- <horstretch>100</horstretch>
1541
- <verstretch>0</verstretch>
1544
- <property name="title">
1545
- <string>Selec&t Groups</string>
1548
- <property name="name">
1549
- <cstring>unnamed</cstring>
1551
- <property name="margin">
1552
- <number>11</number>
1554
- <property name="spacing">
1555
- <number>6</number>
1557
- <widget class="QListView">
1559
- <property name="text">
1560
- <string>Name</string>
1562
- <property name="clickable">
1565
- <property name="resizeable">
1570
- <property name="text">
1571
- <string>GID</string>
1573
- <property name="clickable">
1576
- <property name="resizeable">
1580
- <property name="name">
1581
- <cstring>groupListView</cstring>
1583
- <property name="sizePolicy">
1585
- <hsizetype>7</hsizetype>
1586
- <vsizetype>7</vsizetype>
1587
- <horstretch>100</horstretch>
1588
- <verstretch>0</verstretch>
1591
- <property name="selectionMode">
1592
- <enum>Extended</enum>
1597
- <widget class="QButtonGroup" row="0" column="1">
1598
- <property name="name">
1599
- <cstring>accessBtnGrp</cstring>
1601
- <property name="sizePolicy">
1603
- <hsizetype>1</hsizetype>
1604
- <vsizetype>5</vsizetype>
1605
- <horstretch>0</horstretch>
1606
- <verstretch>0</verstretch>
1609
- <property name="title">
1610
- <string>Acc&ess</string>
1613
- <property name="name">
1614
- <cstring>unnamed</cstring>
1616
- <property name="margin">
1617
- <number>11</number>
1619
- <property name="spacing">
1620
- <number>6</number>
1622
- <widget class="QRadioButton">
1623
- <property name="name">
1624
- <cstring>defaultRadio</cstring>
1626
- <property name="sizePolicy">
1628
- <hsizetype>0</hsizetype>
1629
- <vsizetype>0</vsizetype>
1630
- <horstretch>0</horstretch>
1631
- <verstretch>0</verstretch>
1634
- <property name="text">
1635
- <string>&Default</string>
1637
- <property name="accel">
1638
- <number>8388676</number>
1640
- <property name="checked">
1644
- <widget class="QRadioButton">
1645
- <property name="name">
1646
- <cstring>readRadio</cstring>
1648
- <property name="sizePolicy">
1650
- <hsizetype>0</hsizetype>
1651
- <vsizetype>0</vsizetype>
1652
- <horstretch>0</horstretch>
1653
- <verstretch>0</verstretch>
1656
- <property name="text">
1657
- <string>&Read access</string>
1659
- <property name="accel">
1660
- <number>8388690</number>
1663
- <widget class="QRadioButton">
1664
- <property name="name">
1665
- <cstring>writeRadio</cstring>
1667
- <property name="sizePolicy">
1669
- <hsizetype>0</hsizetype>
1670
- <vsizetype>0</vsizetype>
1671
- <horstretch>0</horstretch>
1672
- <verstretch>0</verstretch>
1675
- <property name="text">
1676
- <string>&Write access</string>
1678
- <property name="accel">
1679
- <number>8388695</number>
1682
- <widget class="QRadioButton">
1683
- <property name="name">
1684
- <cstring>adminRadio</cstring>
1686
- <property name="sizePolicy">
1688
- <hsizetype>0</hsizetype>
1689
- <vsizetype>0</vsizetype>
1690
- <horstretch>0</horstretch>
1691
- <verstretch>0</verstretch>
1694
- <property name="text">
1695
- <string>&Admin access</string>
1697
- <property name="accel">
1698
- <number>8388673</number>
1701
- <widget class="QRadioButton">
1702
- <property name="name">
1703
- <cstring>noAccessRadio</cstring>
1705
- <property name="sizePolicy">
1707
- <hsizetype>0</hsizetype>
1708
- <vsizetype>0</vsizetype>
1709
- <horstretch>0</horstretch>
1710
- <verstretch>0</verstretch>
1713
- <property name="text">
1714
- <string>&No access at all</string>
1716
- <property name="accel">
1717
- <number>8388686</number>
1722
- <widget class="QButtonGroup" row="1" column="1">
1723
- <property name="name">
1724
- <cstring>kindBtnGrp</cstring>
1726
- <property name="title">
1727
- <string>&Kind of Group</string>
1730
- <property name="name">
1731
- <cstring>unnamed</cstring>
1733
- <property name="margin">
1734
- <number>11</number>
1736
- <property name="spacing">
1737
- <number>6</number>
1739
- <widget class="QRadioButton">
1740
- <property name="name">
1741
- <cstring>unixRadio</cstring>
1743
- <property name="sizePolicy">
1745
- <hsizetype>0</hsizetype>
1746
- <vsizetype>0</vsizetype>
1747
- <horstretch>0</horstretch>
1748
- <verstretch>0</verstretch>
1751
- <property name="text">
1752
- <string>&UNIX group</string>
1754
- <property name="accel">
1755
- <number>8388693</number>
1757
- <property name="checked">
1758
- <bool>false</bool>
1760
- <property name="buttonGroupId">
1761
- <number>0</number>
1764
- <widget class="QRadioButton">
1765
- <property name="name">
1766
- <cstring>nisRadio</cstring>
1768
- <property name="sizePolicy">
1770
- <hsizetype>0</hsizetype>
1771
- <vsizetype>0</vsizetype>
1772
- <horstretch>0</horstretch>
1773
- <verstretch>0</verstretch>
1776
- <property name="text">
1777
- <string>NI&S group</string>
1779
- <property name="accel">
1780
- <number>8388691</number>
1782
- <property name="checked">
1783
- <bool>false</bool>
1785
- <property name="buttonGroupId">
1786
- <number>1</number>
1789
- <widget class="QRadioButton">
1790
- <property name="name">
1791
- <cstring>bothRadio</cstring>
1793
- <property name="sizePolicy">
1795
- <hsizetype>0</hsizetype>
1796
- <vsizetype>0</vsizetype>
1797
- <horstretch>0</horstretch>
1798
- <verstretch>0</verstretch>
1801
- <property name="text">
1802
- <string>UNIX and NIS gr&oup</string>
1804
- <property name="accel">
1805
- <number>8388687</number>
1807
- <property name="checked">
1817
- <sender>buttonOk</sender>
1818
- <signal>clicked()</signal>
1819
- <receiver>GroupSelectDlg</receiver>
1820
- <slot>accept()</slot>
1823
- <sender>buttonCancel</sender>
1824
- <signal>clicked()</signal>
1825
- <receiver>GroupSelectDlg</receiver>
1826
- <slot>reject()</slot>
1830
- <tabstop>groupListView</tabstop>
1831
- <tabstop>defaultRadio</tabstop>
1832
- <tabstop>bothRadio</tabstop>
1833
- <tabstop>buttonOk</tabstop>
1834
- <tabstop>buttonCancel</tabstop>
1837
- <include location="local" impldecl="in declaration">qstringlist.h</include>
1838
- <include location="local" impldecl="in implementation">passwd.h</include>
1839
- <include location="local" impldecl="in implementation">groupselectdlg.ui.h</include>
1842
- <variable>QString groupKind;</variable>
1843
- <variable>int access;</variable>
1844
- <variable>QStringList selectedGroups;</variable>
1847
- <slot>init( const QStringList & specifiedGroups )</slot>
1848
- <slot access="protected">accept()</slot>
1849
- <slot returnType="QStringList">getSelectedGroups()</slot>
1850
- <slot returnType="int">getAccess()</slot>
1851
- <slot returnType="QString">getGroupKind()</slot>
1854
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/groupselectdlg.ui.h
1855
===================================================================
1856
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/groupselectdlg.ui.h 2011-01-19 17:21:04.000000000 -0500
1857
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
1859
-/****************************************************************************
1860
-** ui.h extension file, included from the uic-generated form implementation.
1862
-** If you wish to add, delete or rename functions or slots use
1863
-** Qt Designer which will update this file, preserving your code. Create an
1864
-** init() function in place of a constructor, and a destroy() function in
1865
-** place of a destructor.
1866
-*****************************************************************************/
1868
-#ifndef KCM_SAMBACONF_GROUPSELECTDLG_UI_H
1869
-#define KCM_SAMBACONF_GROUPSELECTDLG_UI_H
1871
-void GroupSelectDlg::init(const QStringList & specifiedGroups)
1873
- QStringList unixGroups = getUnixGroups();
1875
- for (QStringList::Iterator it = unixGroups.begin(); it != unixGroups.end(); ++it)
1877
- if ( ! specifiedGroups.contains(*it))
1878
- new Q3ListViewItem(groupListView, *it, QString::number(getGroupGID(*it)));
1882
-void GroupSelectDlg::accept()
1884
- Q3ListViewItemIterator it( groupListView);
1886
- for ( ; it.current(); ++it ) {
1887
- if ( it.current()->isSelected() )
1888
- selectedGroups << it.current()->text(0);
1891
- access = accessBtnGrp->id(accessBtnGrp->selected());
1893
- if (unixRadio->isChecked())
1896
- if (nisRadio->isChecked())
1899
- if (bothRadio->isChecked())
1902
- QDialog::accept();
1908
-QStringList GroupSelectDlg::getSelectedGroups()
1910
- return selectedGroups;
1914
-int GroupSelectDlg::getAccess()
1920
-QString GroupSelectDlg::getGroupKind()
1925
-#endif // KCM_SAMBACONF_GROUPSELECTDLG_UI_H
1926
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/hiddenfileview.cpp
1927
===================================================================
1928
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/hiddenfileview.cpp 2011-01-19 17:21:04.000000000 -0500
1929
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
1931
-/***************************************************************************
1932
- hiddenfileview.cpp - description
1933
- -------------------
1934
- begin : Wed Jan 1 2003
1935
- copyright : (C) 2003 by Jan Sch�er
1936
- email : janschaefer@users.sourceforge.net
1937
- ***************************************************************************/
1939
-/******************************************************************************
1941
- * This file is part of KSambaPlugin. *
1943
- * KSambaPlugin is free software; you can redistribute it and/or modify *
1944
- * it under the terms of the GNU General Public License as published by *
1945
- * the Free Software Foundation; either version 2 of the License, or *
1946
- * (at your option) any later version. *
1948
- * KSambaPlugin is distributed in the hope that it will be useful, *
1949
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
1950
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
1951
- * GNU General Public License for more details. *
1953
- * You should have received a copy of the GNU General Public License *
1954
- * along with KSambaPlugin; if not, write to the Free Software *
1955
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
1957
- ******************************************************************************/
1959
-#include <assert.h>
1961
-#include <qcheckbox.h>
1962
-#include <qlineedit.h>
1963
-#include <qregexp.h>
1964
-#include <qstringlist.h>
1965
-#include <q3groupbox.h>
1966
-#include <qcursor.h>
1968
-#include <Q3PtrList>
1972
-#include <kaction.h>
1973
-#include <krestrictedline.h>
1974
-#include <klocale.h>
1975
-#include <kdirlister.h>
1976
-#include <kmessagebox.h>
1977
-#include <kurlrequester.h>
1978
-#include <ktoggleaction.h>
1979
-#include <kdebug.h>
1981
-#include "hiddenfileview.h"
1982
-#include "sharedlgimpl.h"
1983
-#include "sambashare.h"
1988
-#define COL_HIDDEN 1
1990
-#define COL_VETO_OPLOCK 3
1994
-#define COL_OWNER 7
1995
-#define COL_GROUP 8
1997
-#define HIDDENTABINDEX 5
1999
-HiddenListViewItem::HiddenListViewItem( Q3ListView *parent, const KFileItem &fi, bool hidden=false, bool veto=false, bool vetoOplock=false )
2000
- : QMultiCheckListItem( parent )
2002
- setPixmap( COL_NAME, fi.pixmap(KIconLoader::SizeSmall));
2004
- setText( COL_NAME, fi.text() );
2005
- setText( COL_SIZE, KGlobal::locale()->formatNumber( fi.size(), 0));
2006
- setText( COL_DATE, fi.timeString() );
2007
- setText( COL_PERM, fi.permissionsString() );
2008
- setText( COL_OWNER, fi.user() );
2009
- setText( COL_GROUP, fi.group() );
2011
- setOn(COL_HIDDEN,hidden);
2012
- setOn(COL_VETO,veto);
2013
- setOn(COL_VETO_OPLOCK,vetoOplock);
2018
-HiddenListViewItem::~HiddenListViewItem()
2022
-KFileItem HiddenListViewItem::getFileItem() const
2028
-void HiddenListViewItem::paintCell(QPainter *p, const QColorGroup &cg, int column, int width, int alignment)
2030
- QColorGroup _cg = cg;
2032
- if (isOn(COL_VETO))
2033
- _cg.setColor(QPalette::Base,Qt::lightGray);
2035
- if (isOn(COL_HIDDEN))
2036
- _cg.setColor(QPalette::Text,Qt::gray);
2038
- QMultiCheckListItem::paintCell(p, _cg, column, width, alignment);
2044
-HiddenFileView::HiddenFileView(ShareDlgImpl* shareDlg, SambaShare* share)
2049
- _hiddenActn = new KToggleAction(i18n("&Hide"), this);
2050
- _vetoActn = new KToggleAction(i18n("&Veto"), this);
2051
- _vetoOplockActn = new KToggleAction(i18n("&Veto Oplock"), this);
2055
- _dlg->hiddenChk->setTristate(true);
2056
- _dlg->vetoChk->setTristate(true);
2058
- connect( _dlg->hiddenChk, SIGNAL(toggled(bool)), this, SLOT( hiddenChkClicked(bool) ));
2059
- connect( _dlg->vetoChk, SIGNAL(toggled(bool)), this, SLOT( vetoChkClicked(bool) ));
2060
- connect( _dlg->vetoOplockChk, SIGNAL(toggled(bool)), this, SLOT( vetoOplockChkClicked(bool) ));
2062
- _dlg->hiddenEdit->setText( _share->getValue("hide files") );
2063
- connect( _dlg->hiddenEdit, SIGNAL(textChanged(const QString &)), this, SLOT(updateView()));
2065
- _dlg->vetoEdit->setText( _share->getValue("veto files") );
2066
- connect( _dlg->vetoEdit, SIGNAL(textChanged(const QString &)), this, SLOT(updateView()));
2068
- _dlg->vetoOplockEdit->setText( _share->getValue("veto oplock files") );
2069
- connect( _dlg->vetoOplockEdit, SIGNAL(textChanged(const QString &)), this, SLOT(updateView()));
2071
-// new QLabel(i18n("Hint")+" : ",grid);
2072
-// new QLabel(i18n("You have to separate the entries with a '/'. You can use the wildcards '*' and '?'"),grid);
2073
-// new QLabel(i18n("Example")+" : ",grid);
2074
-// new QLabel(i18n("*.tmp/*SECRET*/.*/file?.*/"),grid);
2076
- _dir = new KDirLister(this);
2077
- _dir->setShowingDotFiles(true);
2079
- connect( _dir, SIGNAL(newItems(const KFileItemList &)),
2080
- this, SLOT(insertNewFiles(const KFileItemList &)));
2082
- connect( _dir, SIGNAL(deleteItem(const KFileItem&)),
2083
- this, SLOT(deleteItem(const KFileItem&)));
2085
- connect( _dir, SIGNAL(refreshItems(const QList<QPair<KFileItem, KFileItem> > &)),
2086
- this, SLOT(refreshItems(const QList<QPair<KFileItem, KFileItem> > &)));
2088
- connect( _hiddenActn, SIGNAL(toggled(bool)), this, SLOT(hiddenChkClicked(bool)));
2089
- connect( _vetoActn, SIGNAL(toggled(bool)), this, SLOT(vetoChkClicked(bool)));
2090
- connect( _vetoOplockActn, SIGNAL(toggled(bool)), this, SLOT(vetoOplockChkClicked(bool)));
2093
-void HiddenFileView::initListView()
2095
- _dlg->hiddenListView->setMultiSelection(true);
2096
- _dlg->hiddenListView->setSelectionMode(Q3ListView::Extended);
2097
- _dlg->hiddenListView->setAllColumnsShowFocus(true);
2099
- _hiddenList = createRegExpList(_share->getValue("hide files"));
2100
- _vetoList = createRegExpList(_share->getValue("veto files"));
2101
- _vetoOplockList = createRegExpList(_share->getValue("veto oplock files"));
2103
- _popup = new KMenu(_dlg->hiddenListView);
2105
- _popup->addAction(_hiddenActn);
2106
- _popup->addAction(_vetoActn);
2107
- _popup->addAction(_vetoOplockActn);
2109
- connect( _dlg->hiddenListView, SIGNAL(selectionChanged()), this, SLOT(selectionChanged()));
2110
- connect( _dlg->hiddenListView, SIGNAL(contextMenu(K3ListView*,Q3ListViewItem*,const QPoint&)),
2111
- this, SLOT(showContextMenu()));
2113
- connect( _dlg->hideDotFilesChk, SIGNAL(toggled(bool)), this, SLOT(hideDotFilesChkClicked(bool)));
2114
- connect( _dlg->hideUnreadableChk, SIGNAL(toggled(bool)), this, SLOT(hideUnreadableChkClicked(bool)));
2116
- connect( _dlg->hiddenListView, SIGNAL(mouseButtonPressed(int,Q3ListViewItem*,const QPoint &,int)),
2117
- this, SLOT(slotMouseButtonPressed(int,Q3ListViewItem*,const QPoint &,int)));
2120
-HiddenFileView::~HiddenFileView()
2124
-void HiddenFileView::load()
2126
- if (_dlg->hiddenListView)
2127
- _dlg->hiddenListView->clear();
2129
- _dir->openUrl( _dlg->pathUrlRq->url() );
2132
-void HiddenFileView::save()
2134
- QString s = _dlg->hiddenEdit->text().trimmed();
2135
- // it is important that the string ends with an '/'
2136
- // otherwise Samba won't recognize the last entry
2137
- if ( (!s.isEmpty()) && (s.right(1)!="/"))
2139
- _share->setValue("hide files", s);
2141
- s = _dlg->vetoEdit->text().trimmed();
2142
- // it is important that the string ends with an '/'
2143
- // otherwise Samba won't recognize the last entry
2144
- if ( (!s.isEmpty()) && (s.right(1)!="/"))
2146
- _share->setValue("veto files", s);
2148
- s = _dlg->vetoOplockEdit->text().trimmed();
2149
- // it is important that the string ends with an '/'
2150
- // otherwise Samba won't recognize the last entry
2151
- if ( (!s.isEmpty()) && (s.right(1)!="/"))
2153
- _share->setValue("veto oplock files", s);
2157
-void HiddenFileView::insertNewFiles(const KFileItemList &newone)
2159
- if ( newone.isEmpty() )
2164
- KFileItemList::const_iterator it = newone.begin();
2165
- const KFileItemList::const_iterator end = newone.end();
2166
- for ( ; it != end; ++it ) {
2167
- const KFileItem tmp = *it;
2170
- bool hidden = matchHidden(tmp.text());
2171
- bool veto = matchVeto(tmp.text());
2172
- bool vetoOplock = matchVetoOplock(tmp.text());
2173
- kDebug(DEBUG) << "creating new HiddenListViewItem " << tmp.text() << endl;
2174
- new HiddenListViewItem( _dlg->hiddenListView, tmp, hidden, veto, vetoOplock );
2181
-void HiddenFileView::columnClicked(int column) {
2185
- case COL_HIDDEN : hiddenChkClicked( !_dlg->hiddenChk->isChecked() );break;
2186
- case COL_VETO : vetoChkClicked( !_dlg->vetoChk->isChecked() );break;
2187
- case COL_VETO_OPLOCK : vetoOplockChkClicked( !_dlg->vetoOplockChk->isChecked() );break;
2192
-void HiddenFileView::deleteItem( const KFileItem &fileItem )
2194
- HiddenListViewItem* item;
2195
- for (item = dynamic_cast<HiddenListViewItem*>(_dlg->hiddenListView->firstChild());item;
2196
- item = dynamic_cast<HiddenListViewItem*>(item->nextSibling()))
2198
- if (item->getFileItem() == fileItem)
2207
-void HiddenFileView::refreshItems( const QList<QPair<KFileItem, KFileItem> >& /*items*/ )
2213
-void HiddenFileView::showContextMenu()
2215
- _popup->exec(QCursor::pos());
2219
-void HiddenFileView::selectionChanged()
2221
- bool veto = false;
2222
- bool noVeto = false;
2223
- bool hide = false;
2224
- bool noHide = false;
2225
- bool vetoOplock = false;
2226
- bool noVetoOplock = false;
2230
- HiddenListViewItem* item;
2231
- for (item = static_cast<HiddenListViewItem*>(_dlg->hiddenListView->firstChild());item;
2232
- item = static_cast<HiddenListViewItem*>(item->nextSibling()))
2234
- if (!item->isSelected())
2239
- if (item->isOn(COL_VETO))
2244
- if (item->isOn(COL_VETO_OPLOCK))
2245
- vetoOplock = true;
2247
- noVetoOplock = true;
2249
- if (item->isOn(COL_HIDDEN))
2256
- _dlg->selGrpBx->setEnabled(n>0);
2258
- if (veto && noVeto)
2260
- _dlg->vetoChk->setTristate(true);
2261
- _dlg->vetoChk->setCheckState(Qt::PartiallyChecked);
2262
- _dlg->vetoChk->update();
2266
- _dlg->vetoChk->setTristate(false);
2267
- _dlg->vetoChk->setChecked(veto);
2270
- if (vetoOplock && noVetoOplock)
2272
- _dlg->vetoOplockChk->setTristate(true);
2273
- _dlg->vetoOplockChk->setCheckState(Qt::PartiallyChecked);
2274
- _dlg->vetoOplockChk->update();
2278
- _dlg->vetoOplockChk->setTristate(false);
2279
- _dlg->vetoOplockChk->setChecked(vetoOplock);
2283
- if (hide && noHide)
2285
- _dlg->hiddenChk->setTristate(true);
2286
- _dlg->hiddenChk->setCheckState(Qt::PartiallyChecked);
2287
- _dlg->hiddenChk->update();
2291
- _dlg->hiddenChk->setTristate(false);
2292
- _dlg->hiddenChk->setChecked(hide);
2296
-void HiddenFileView::checkBoxClicked(QCheckBox* chkBox,KToggleAction* action,QLineEdit* edit, int column,Q3PtrList<QRegExp> & reqExpList,bool b) {
2297
- // We don't save the old state so
2298
- // disable the tristate mode
2299
- chkBox->setTristate(false);
2300
- action->setChecked(b);
2301
- chkBox->setChecked(b);
2303
- HiddenListViewItem* item;
2304
- for (item = static_cast<HiddenListViewItem*>(_dlg->hiddenListView->firstChild());item;
2305
- item = static_cast<HiddenListViewItem*>(item->nextSibling()))
2307
- if (!item->isSelected())
2310
- if (b == item->isOn(column))
2314
- QRegExp* rx = getRegExpListMatch(item->text(0),reqExpList);
2316
- // Perhaps the file was hidden because it started with a dot
2317
- if (!rx && item->text(0)[0]=='.' && _dlg->hideDotFilesChk->isChecked()) {
2318
- int result = KMessageBox::questionYesNo(_dlg,i18n(
2319
- "<qt>Some files you have selected are hidden because they start with a dot; "
2320
- "do you want to uncheck all files starting with a dot?</qt>"),i18n("Files Starting With Dot"),KGuiItem(i18n("Uncheck Hidden")), KGuiItem(i18n("Keep Hidden")));
2322
- if (result == KMessageBox::No) {
2323
- Q3PtrList<HiddenListViewItem> lst = getMatchingItems(QRegExp(".*",false,true));
2326
- _dlg->hideDotFilesChk->setChecked(false);
2331
- // perhaps it is matched by a wildcard string
2332
- QString p = rx->pattern();
2333
- if ( p.contains('*') ||
2336
- // TODO after message freeze: why show three times the wildcard string? Once should be enough.
2337
- // TODO remove <b></b> and use <qt> instead
2338
- int result = KMessageBox::questionYesNo(_dlg,i18n(
2339
- "<b></b>Some files you have selected are matched by the wildcarded string <b>'%1'</b>; "
2340
- "do you want to uncheck all files matching <b>'%1'</b>?", rx->pattern()),
2341
- i18n("Wildcarded String"),KGuiItem(i18n("Uncheck Matches")),KGuiItem(i18n("Keep Selected")));
2343
- Q3PtrList<HiddenListViewItem> lst = getMatchingItems( *rx );
2345
- if (result == KMessageBox::No) {
2348
- setState(lst,column,false);
2349
- reqExpList.remove(rx);
2350
- updateEdit(edit, reqExpList);
2354
- reqExpList.remove(rx);
2355
- updateEdit(edit, reqExpList);
2361
- reqExpList.append( new QRegExp(item->text(0)) );
2362
- updateEdit(edit, reqExpList);
2365
- item->setOn(column,b);
2368
- _dlg->hiddenListView->update();
2371
-void HiddenFileView::hiddenChkClicked(bool b)
2373
- checkBoxClicked(_dlg->hiddenChk, _hiddenActn, _dlg->hiddenEdit, COL_HIDDEN,_hiddenList,b);
2377
-void HiddenFileView::vetoOplockChkClicked(bool b) {
2378
- checkBoxClicked(_dlg->vetoOplockChk, _vetoOplockActn, _dlg->vetoOplockEdit, COL_VETO_OPLOCK,_vetoOplockList,b);
2381
-void HiddenFileView::vetoChkClicked(bool b)
2383
- checkBoxClicked(_dlg->vetoChk, _vetoActn, _dlg->vetoEdit, COL_VETO,_vetoList,b);
2387
- * Sets the text of the QLineEdit edit to the entries of the passed QRegExp-List
2389
-void HiddenFileView::updateEdit(QLineEdit* edit, Q3PtrList<QRegExp> & lst)
2394
- for(rx = static_cast<QRegExp*>(lst.first()); rx;
2395
- rx = static_cast<QRegExp*>(lst.next()) )
2397
- s+= rx->pattern()+QString("/");
2404
-void HiddenFileView::setState(Q3PtrList<HiddenListViewItem> & lst, int column, bool b) {
2405
- HiddenListViewItem* item;
2406
- for(item = static_cast<HiddenListViewItem*>(lst.first()); item;
2407
- item = static_cast<HiddenListViewItem*>(lst.next()) )
2409
- item->setOn(column,b);
2414
-void HiddenFileView::deselect(Q3PtrList<HiddenListViewItem> & lst)
2416
- HiddenListViewItem* item;
2417
- for(item = static_cast<HiddenListViewItem*>(lst.first()); item;
2418
- item = static_cast<HiddenListViewItem*>(lst.next()) )
2420
- item->setSelected(false);
2425
-Q3PtrList<HiddenListViewItem> HiddenFileView::getMatchingItems(const QRegExp & rx)
2427
- Q3PtrList<HiddenListViewItem> lst;
2429
- HiddenListViewItem* item;
2430
- for (item = static_cast<HiddenListViewItem*>(_dlg->hiddenListView->firstChild());item;
2431
- item = static_cast<HiddenListViewItem*>(item->nextSibling()))
2433
- if (rx.exactMatch(item->text(0)))
2440
-void HiddenFileView::updateView()
2442
- _hiddenList = createRegExpList(_dlg->hiddenEdit->text());
2443
- _vetoList = createRegExpList(_dlg->vetoEdit->text());
2444
- _vetoOplockList = createRegExpList(_dlg->vetoOplockEdit->text());
2446
- HiddenListViewItem* item;
2447
- for (item = static_cast<HiddenListViewItem*>(_dlg->hiddenListView->firstChild());item;
2448
- item = static_cast<HiddenListViewItem*>(item->nextSibling()))
2450
- item->setOn(COL_HIDDEN,matchHidden(item->text(0)));
2451
- item->setOn(COL_VETO,matchVeto(item->text(0)));
2452
- item->setOn(COL_VETO_OPLOCK,matchVetoOplock(item->text(0)));
2455
- _dlg->hiddenListView->repaint();
2459
-Q3PtrList<QRegExp> HiddenFileView::createRegExpList(const QString & s)
2461
- Q3PtrList<QRegExp> lst;
2462
- bool cs = _share->getBoolValue("case sensitive");
2466
- QStringList l = QStringList::split("/",s);
2468
- for ( QStringList::Iterator it = l.begin(); it != l.end(); ++it ) {
2469
- lst.append( new QRegExp(*it,cs,true) );
2476
-bool HiddenFileView::matchHidden(const QString & s)
2478
- Q3PtrList<QRegExp> hiddenList(_hiddenList);
2480
- if (_dlg->hideDotFilesChk->isChecked())
2481
- hiddenList.append( new QRegExp(".*",false,true) );
2483
- return matchRegExpList(s,hiddenList);
2486
-bool HiddenFileView::matchVeto(const QString & s)
2488
- return matchRegExpList(s,_vetoList);
2491
-bool HiddenFileView::matchVetoOplock(const QString & s)
2493
- return matchRegExpList(s,_vetoOplockList);
2496
-bool HiddenFileView::matchRegExpList(const QString & s, Q3PtrList<QRegExp> & lst)
2498
- if (getRegExpListMatch(s,lst))
2505
-QRegExp* HiddenFileView::getHiddenMatch(const QString & s)
2507
- return getRegExpListMatch(s,_hiddenList);
2510
-QRegExp* HiddenFileView::getVetoMatch(const QString & s)
2512
- return getRegExpListMatch(s,_vetoList);
2515
-QRegExp* HiddenFileView::getRegExpListMatch(const QString & s, Q3PtrList<QRegExp> & lst)
2519
- for ( rx = lst.first(); rx; rx = lst.next() )
2521
- if (rx->exactMatch(s))
2528
-void HiddenFileView::hideDotFilesChkClicked(bool)
2533
-void HiddenFileView::hideUnreadableChkClicked(bool)
2538
-void HiddenFileView::slotMouseButtonPressed( int, Q3ListViewItem*, const QPoint&, int c ) {
2543
-#include "hiddenfileview.moc"
2544
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/hiddenfileview.h
2545
===================================================================
2546
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/hiddenfileview.h 2011-01-19 17:21:04.000000000 -0500
2547
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
2549
-/***************************************************************************
2550
- hiddenfileview.h - description
2551
- -------------------
2552
- begin : Wed Jan 1 2003
2553
- copyright : (C) 2003 by Jan Schäfer
2554
- email : janschaefer@users.sourceforge.net
2555
- ***************************************************************************/
2557
-/******************************************************************************
2559
- * This file is part of KSambaPlugin. *
2561
- * KSambaPlugin is free software; you can redistribute it and/or modify *
2562
- * it under the terms of the GNU General Public License as published by *
2563
- * the Free Software Foundation; either version 2 of the License, or *
2564
- * (at your option) any later version. *
2566
- * KSambaPlugin is distributed in the hope that it will be useful, *
2567
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
2568
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
2569
- * GNU General Public License for more details. *
2571
- * You should have received a copy of the GNU General Public License *
2572
- * along with KSambaPlugin; if not, write to the Free Software *
2573
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
2575
- ******************************************************************************/
2577
-#ifndef _HIDDENFILEVIEW_H_
2578
-#define _HIDDENFILEVIEW_H_
2580
-#include <kfileitem.h>
2581
-#include <k3listview.h>
2583
-#include "qmultichecklistitem.h"
2585
-#include <Q3PtrList>
2589
-class ShareDlgImpl;
2592
-class HiddenListViewItem : public QMultiCheckListItem
2596
- HiddenListViewItem( Q3ListView *parent, const KFileItem &fi, bool hidden, bool veto, bool vetoOplock );
2597
- ~HiddenListViewItem();
2599
- virtual void paintCell(QPainter *p, const QColorGroup &cg, int column, int width, int alignment);
2601
- KFileItem getFileItem() const;
2603
- KFileItem _fileItem;
2606
-class KToggleAction;
2608
-class ShareDlgImpl;
2612
- * Widget which shows a list of files
2613
- * from a directory.
2614
- * It gets the directory from the SambaShare
2615
- * It also interprets the hidden files parameter
2616
- * of the SambaShare an offers the possibility of
2617
- * selecting the files which should be hidden
2619
-class HiddenFileView : public QObject
2624
- HiddenFileView(ShareDlgImpl* shareDlg, SambaShare* share);
2625
- ~HiddenFileView();
2628
- * Load the values from the share and show them
2633
- * Save changings to the share
2638
- SambaShare* _share;
2639
- ShareDlgImpl* _dlg;
2642
- Q3PtrList<QRegExp> _hiddenList;
2643
- Q3PtrList<QRegExp> _vetoList;
2644
- Q3PtrList<QRegExp> _vetoOplockList;
2646
- KToggleAction* _hiddenActn;
2647
- KToggleAction* _vetoActn;
2648
- KToggleAction* _vetoOplockActn;
2652
- void initListView();
2654
- Q3PtrList<QRegExp> createRegExpList(const QString & s);
2655
- bool matchHidden(const QString & s);
2656
- bool matchVeto(const QString & s);
2657
- bool matchVetoOplock(const QString & s);
2658
- bool matchRegExpList(const QString & s, Q3PtrList<QRegExp> & lst);
2660
- QRegExp* getHiddenMatch(const QString & s);
2661
- QRegExp* getVetoMatch(const QString & s);
2662
- QRegExp* getRegExpListMatch(const QString & s, Q3PtrList<QRegExp> & lst);
2664
- Q3PtrList<HiddenListViewItem> getMatchingItems(const QRegExp & rx);
2666
- void setState(Q3PtrList<HiddenListViewItem> & lst,int column, bool b);
2667
- void deselect(Q3PtrList<HiddenListViewItem> & lst);
2669
- void updateEdit(QLineEdit* edit, Q3PtrList<QRegExp> & lst);
2672
- // slots for KDirListener :
2673
- void insertNewFiles(const KFileItemList &newone);
2674
- void deleteItem( const KFileItem &_fileItem );
2675
- void refreshItems( const QList<QPair<KFileItem, KFileItem> >& items );
2677
- void selectionChanged();
2678
- void hiddenChkClicked(bool b);
2679
- void vetoChkClicked(bool b);
2680
- void vetoOplockChkClicked(bool b);
2681
- void checkBoxClicked(QCheckBox* chkBox,KToggleAction* action,QLineEdit* edit,int column,Q3PtrList<QRegExp> &reqExpList,bool b);
2682
- void columnClicked(int column);
2683
- void showContextMenu();
2684
- void updateView();
2685
- void hideDotFilesChkClicked(bool);
2686
- void hideUnreadableChkClicked(bool);
2687
- void slotMouseButtonPressed( int button, Q3ListViewItem * item, const QPoint & pos, int c );
2691
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/joindomaindlg.ui
2692
===================================================================
2693
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/joindomaindlg.ui 2011-01-19 17:21:04.000000000 -0500
2694
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
2696
-<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
2697
-<class>JoinDomainDlg</class>
2698
-<widget class="QDialog">
2699
- <property name="name">
2700
- <cstring>JoinDomainDlg</cstring>
2702
- <property name="geometry">
2706
- <width>427</width>
2707
- <height>215</height>
2710
- <property name="windowTitle">
2711
- <string>Join Domain</string>
2713
- <property name="sizeGripEnabled">
2717
- <property name="name">
2718
- <cstring>unnamed</cstring>
2720
- <widget class="QLayoutWidget" row="7" column="0" rowspan="1" colspan="2">
2721
- <property name="name">
2722
- <cstring>Layout1</cstring>
2725
- <property name="name">
2726
- <cstring>unnamed</cstring>
2728
- <property name="margin">
2729
- <number>0</number>
2731
- <property name="spacing">
2732
- <number>6</number>
2735
- <property name="name">
2736
- <cstring>Qt::Horizontal Spacing2</cstring>
2738
- <property name="orientation">
2739
- <enum>Qt::Horizontal</enum>
2741
- <property name="sizeType">
2742
- <enum>Expanding</enum>
2744
- <property name="sizeHint">
2747
- <height>20</height>
2751
- <widget class="QPushButton">
2752
- <property name="name">
2753
- <cstring>buttonOk</cstring>
2755
- <property name="text">
2756
- <string>&OK</string>
2758
- <property name="accel">
2761
- <property name="autoDefault">
2764
- <property name="default">
2768
- <widget class="QPushButton">
2769
- <property name="name">
2770
- <cstring>buttonCancel</cstring>
2772
- <property name="text">
2773
- <string>&Cancel</string>
2775
- <property name="accel">
2778
- <property name="autoDefault">
2784
- <widget class="QLineEdit" row="0" column="1">
2785
- <property name="name">
2786
- <cstring>domainEdit</cstring>
2789
- <widget class="QLineEdit" row="1" column="1">
2790
- <property name="name">
2791
- <cstring>domainControllerEdit</cstring>
2794
- <widget class="QLineEdit" row="2" column="1">
2795
- <property name="name">
2796
- <cstring>usernameEdit</cstring>
2799
- <widget class="QLabel" row="4" column="0">
2800
- <property name="name">
2801
- <cstring>textLabel5_2_2</cstring>
2803
- <property name="text">
2804
- <string>&Verify:</string>
2806
- <property name="buddy" stdset="0">
2807
- <cstring>verifyEdit</cstring>
2810
- <widget class="QLabel" row="3" column="0">
2811
- <property name="name">
2812
- <cstring>textLabel5_2</cstring>
2814
- <property name="text">
2815
- <string>&Password:</string>
2817
- <property name="buddy" stdset="0">
2818
- <cstring>passwordEdit</cstring>
2821
- <widget class="QLabel" row="2" column="0">
2822
- <property name="name">
2823
- <cstring>textLabel5</cstring>
2825
- <property name="text">
2826
- <string>&Username:</string>
2828
- <property name="buddy" stdset="0">
2829
- <cstring>usernameEdit</cstring>
2832
- <widget class="QLabel" row="1" column="0">
2833
- <property name="name">
2834
- <cstring>textLabel4_2</cstring>
2836
- <property name="text">
2837
- <string>Domain co&ntroller:</string>
2839
- <property name="buddy" stdset="0">
2840
- <cstring>domainControllerEdit</cstring>
2843
- <widget class="QLabel" row="0" column="0">
2844
- <property name="name">
2845
- <cstring>textLabel4</cstring>
2847
- <property name="text">
2848
- <string>&Domain:</string>
2850
- <property name="buddy" stdset="0">
2851
- <cstring>domainEdit</cstring>
2854
- <widget class="KLineEdit" row="3" column="1">
2855
- <property name="name">
2856
- <cstring>passwordEdit</cstring>
2858
- <property name="passwordMode">
2862
- <widget class="KLineEdit" row="4" column="1">
2863
- <property name="name">
2864
- <cstring>verifyEdit</cstring>
2866
- <property name="passwordMode">
2870
- <widget class="Line" row="6" column="0" rowspan="1" colspan="2">
2871
- <property name="name">
2872
- <cstring>line1</cstring>
2874
- <property name="frameShape">
2875
- <enum>HLine</enum>
2877
- <property name="frameShadow">
2878
- <enum>Sunken</enum>
2880
- <property name="orientation">
2881
- <enum>Qt::Horizontal</enum>
2884
- <spacer row="5" column="1">
2885
- <property name="name">
2886
- <cstring>spacer65</cstring>
2888
- <property name="orientation">
2889
- <enum>Qt::Vertical</enum>
2891
- <property name="sizeType">
2892
- <enum>Expanding</enum>
2894
- <property name="sizeHint">
2897
- <height>40</height>
2905
- <sender>buttonOk</sender>
2906
- <signal>clicked()</signal>
2907
- <receiver>JoinDomainDlg</receiver>
2908
- <slot>accept()</slot>
2911
- <sender>buttonCancel</sender>
2912
- <signal>clicked()</signal>
2913
- <receiver>JoinDomainDlg</receiver>
2914
- <slot>reject()</slot>
2918
- <tabstop>domainEdit</tabstop>
2919
- <tabstop>domainControllerEdit</tabstop>
2920
- <tabstop>usernameEdit</tabstop>
2921
- <tabstop>passwordEdit</tabstop>
2922
- <tabstop>verifyEdit</tabstop>
2923
- <tabstop>buttonOk</tabstop>
2924
- <tabstop>buttonCancel</tabstop>
2928
- <class>KPasswordEdit</class>
2929
- <header location="global">kpassworddialog.h</header>
2930
- <container>0</container>
2934
- <include location="global" impldecl="in declaration">kpassworddialog.h</include>
2935
- <include location="global" impldecl="in implementation">kmessagebox.h</include>
2936
- <include location="global" impldecl="in implementation">klocale.h</include>
2937
- <include location="local" impldecl="in implementation">joindomaindlg.ui.h</include>
2940
- <slot>accept()</slot>
2943
- <includehint>kpassworddialog.h</includehint>
2946
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/joindomaindlg.ui.h
2947
===================================================================
2948
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/joindomaindlg.ui.h 2011-01-19 17:21:04.000000000 -0500
2949
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
2951
-/****************************************************************************
2952
-** ui.h extension file, included from the uic-generated form implementation.
2954
-** If you wish to add, delete or rename functions or slots use
2955
-** Qt Designer which will update this file, preserving your code. Create an
2956
-** init() function in place of a constructor, and a destroy() function in
2957
-** place of a destructor.
2958
-*****************************************************************************/
2960
-#ifndef KCM_SAMBACONF_JOINDOMAINDLG_UI_H
2961
-#define KCM_SAMBACONF_JOINDOMAINDLG_UI_H
2963
-void JoinDomainDlg::accept() {
2964
- if (passwordEdit->text() != verifyEdit->text()) {
2965
- KMessageBox::sorry(this, i18n("Sorry"), i18n("You entered two different passwords. Please try again."));
2969
- QDialog::accept();
2972
-#endif // KCM_SAMBACONF_JOINDOMAINDLG_UI_H
2973
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/kcminterface.cpp
2974
===================================================================
2975
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/kcminterface.cpp 2011-01-19 17:21:04.000000000 -0500
2976
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
2978
-/******************************************************************************
2980
-* This file is part of KSambaPlugin. *
2982
-* KSambaPlugin is free software; you can redistribute it and/or modify *
2983
-* it under the terms of the GNU General Public License as published by *
2984
-* the Free Software Foundation; either version 2 of the License, or *
2985
-* (at your option) any later version. *
2987
-* KSambaPlugin is distributed in the hope that it will be useful, *
2988
-* but WITHOUT ANY WARRANTY; without even the implied warranty of *
2989
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
2990
-* GNU General Public License for more details. *
2992
-* You should have received a copy of the GNU General Public License *
2993
-* along with KSambaPlugin; if not, write to the Free Software *
2994
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
2996
-******************************************************************************/
2998
-#include "kcminterface.h"
3000
-KcmInterface::KcmInterface(QWidget* parent) :
3006
-void KcmInterface::init()
3008
- addShareBtn->setIconSet(SmallIconSet("document-new"));
3009
- editShareBtn->setIconSet(SmallIconSet("document-properties"));
3010
- removeShareBtn->setIconSet(SmallIconSet("edit-delete"));
3011
- editDefaultShareBtn->setIconSet(SmallIconSet("queue"));
3013
- addPrinterBtn->setIconSet(SmallIconSet("document-new"));
3014
- editPrinterBtn->setIconSet(SmallIconSet("document-properties"));
3015
- removePrinterBtn->setIconSet(SmallIconSet("edit-delete"));
3016
- editDefaultPrinterBtn->setIconSet(SmallIconSet("printer-multiple"));
3018
- advancedWarningPixLbl->setPixmap(SmallIcon("dialog-warning"));
3021
-void KcmInterface::changedSlot()
3027
-void KcmInterface::securityLevelCombo_activated( int i )
3029
- passwordServerEdit->setDisabled(i<2);
3030
- allowGuestLoginsChk->setDisabled(i==0);
3034
- void KcmInterface::updateSecurityLevelHelpLbl() {
3035
- if (shareRadio->isChecked()) {
3036
- shareRadio_clicked();
3037
- } else if (userRadio->isChecked()) {
3038
- userRadio_clicked();
3039
- } else if (serverRadio->isChecked()) {
3040
- serverRadio_clicked();
3041
- } else if (domainRadio->isChecked()) {
3042
- domainRadio_clicked();
3043
- } else if (adsRadio->isChecked()) {
3044
- adsRadioClicked();
3049
-void KcmInterface::shareRadio_clicked()
3051
- securityLevelHelpLbl->setText(i18n("Use the <i>share</i> security level if you have a home network "
3052
- "or a small office network.<br /> It allows everyone to read the list "
3053
- "of all your shared directories and printers before a login is required."));
3057
-void KcmInterface::userRadio_clicked()
3059
- securityLevelHelpLbl->setText(i18n("Use the <i>user</i> security level if you have a bigger network "
3060
- "and you do not want to allow everyone to read your list of shared "
3061
- "directories and printers without a login.<br /><br />"
3062
- "If you want to run your Samba server as a <b>Primary Domain controller</b> (PDC) "
3063
- "you also have to set this option."));
3066
-void KcmInterface::serverRadio_clicked()
3068
- securityLevelHelpLbl->setText(i18n("Use the <i>server</i> security level if you have a big network "
3069
- "and the samba server should validate the username/password "
3070
- "by passing it to another SMB server, such as an NT box."));
3074
-void KcmInterface::domainRadio_clicked()
3076
- securityLevelHelpLbl->setText(i18n("Use the <i>domain</i> security level if you have a big network "
3077
- "and the samba server should validate the username/password "
3078
- "by passing it to a Windows NT Primary or Backup Domain Controller."));
3082
-void KcmInterface::adsRadioClicked()
3084
- securityLevelHelpLbl->setText(i18n("Use the <i>ADS</i> security level if you have a big network "
3085
- "and the samba server should act as a domain member in an ADS realm."));
3089
-void KcmInterface::KUrlLabel1_leftClickedURL()
3091
- K3Process* p = new K3Process();
3093
- *p << "konqueror";
3094
- *p << "man:smb.conf";
3099
-void KcmInterface::lmAnnounceCombo_activated( int i)
3101
- lmIntervalSpin->setEnabled(i==0);
3105
-void KcmInterface::allowGuestLoginsChk_toggled( bool b)
3111
- mapToGuestCombo->setCurrentItem(i);
3115
-void KcmInterface::mapToGuestCombo_activated( int i)
3117
- allowGuestLoginsChk->setChecked(i>0);
3120
-#include "kcminterface.moc"
3121
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/kcminterface.h
3122
===================================================================
3123
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/kcminterface.h 2011-01-19 17:21:04.000000000 -0500
3124
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
3126
-/******************************************************************************
3128
- * This file is part of KSambaPlugin. *
3130
- * KSambaPlugin is free software; you can redistribute it and/or modify *
3131
- * it under the terms of the GNU General Public License as published by *
3132
- * the Free Software Foundation; either version 2 of the License, or *
3133
- * (at your option) any later version. *
3135
- * KSambaPlugin is distributed in the hope that it will be useful, *
3136
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
3137
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
3138
- * GNU General Public License for more details. *
3140
- * You should have received a copy of the GNU General Public License *
3141
- * along with KSambaPlugin; if not, write to the Free Software *
3142
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
3144
- ******************************************************************************/
3147
-#ifndef KCMINTERFACE_H
3148
-#define KCMINTERFACE_H
3150
-#include <kiconloader.h>
3151
-#include <k3process.h>
3154
-#include "ui_kcminterface.h"
3156
-class KcmInterface : public QWidget, public Ui::KcmInterface
3161
- KcmInterface(QWidget* parent);
3165
- void changedSlot();
3166
- void securityLevelCombo_activated( int i );
3167
- void updateSecurityLevelHelpLbl();
3168
- void shareRadio_clicked();
3169
- void userRadio_clicked();
3170
- void serverRadio_clicked();
3171
- void domainRadio_clicked();
3172
- void adsRadioClicked();
3173
- void KUrlLabel1_leftClickedURL();
3174
- void lmAnnounceCombo_activated( int i);
3175
- void allowGuestLoginsChk_toggled( bool b);
3176
- void mapToGuestCombo_activated( int i);
3183
-#endif // KCMINTERFACE_H
3184
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/kcminterface.ui
3185
===================================================================
3186
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/kcminterface.ui 2011-01-19 17:21:04.000000000 -0500
3187
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
3189
-<ui version="4.0" >
3191
- ******************************************************************************
3193
- * This file is part of KSambaPlugin. *
3195
- * KSambaPlugin is free software; you can redistribute it and/or modify *
3196
- * it under the terms of the GNU General Public License as published by *
3197
- * the Free Software Foundation; either version 2 of the License, or *
3198
- * (at your option) any later version. *
3200
- * KSambaPlugin is distributed in the hope that it will be useful, *
3201
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
3202
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
3203
- * GNU General Public License for more details. *
3205
- * You should have received a copy of the GNU General Public License *
3206
- * along with KSambaPlugin; if not, write to the Free Software *
3207
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
3209
- ******************************************************************************
3211
- <class>KcmInterface</class>
3212
- <widget class="QWidget" name="KcmInterface" >
3213
- <property name="geometry" >
3217
- <width>839</width>
3218
- <height>807</height>
3221
- <property name="sizePolicy" >
3222
- <sizepolicy vsizetype="Minimum" hsizetype="Minimum" >
3223
- <horstretch>0</horstretch>
3224
- <verstretch>0</verstretch>
3227
- <layout class="QVBoxLayout" >
3228
- <property name="spacing" >
3229
- <number>6</number>
3231
- <property name="leftMargin" >
3232
- <number>0</number>
3234
- <property name="topMargin" >
3235
- <number>0</number>
3237
- <property name="rightMargin" >
3238
- <number>0</number>
3240
- <property name="bottomMargin" >
3241
- <number>0</number>
3244
- <widget class="QTabWidget" name="mainTab" >
3245
- <property name="whatsThis" >
3247
-Here you can edit the Samba users, stored in the smbpasswd file.
3249
-Every Samba user must have a corresponding UNIX user.
3250
-On the right you can see all UNIX users, stored in the passwd file and not configured as Samba users.
3251
-You can see the Samba users on the left-hand side.
3253
-To add new Samba users simply press the <em>&lt; add</em> button.
3254
-The selected UNIX users will then become Samba users and will be
3255
-removed from the UNIX users list (but they will remain UNIX users).
3257
-To remove Samba users click the <em>&gt; remove</em> button.
3258
-The selected Samba users will be removed from the smbpasswd file
3259
-and reappear on the right-hand side, as UNIX users which are not Samba users.
3262
- <property name="currentIndex" >
3263
- <number>0</number>
3265
- <widget class="QWidget" name="tab" >
3266
- <attribute name="title" >
3267
- <string>&Base Settings</string>
3269
- <layout class="QVBoxLayout" >
3271
- <layout class="QHBoxLayout" >
3272
- <property name="spacing" >
3273
- <number>6</number>
3275
- <property name="leftMargin" >
3276
- <number>0</number>
3278
- <property name="topMargin" >
3279
- <number>0</number>
3281
- <property name="rightMargin" >
3282
- <number>0</number>
3284
- <property name="bottomMargin" >
3285
- <number>0</number>
3288
- <widget class="QLabel" name="TextLabel1_6" >
3289
- <property name="text" >
3290
- <string>Samba config file:</string>
3292
- <property name="wordWrap" >
3293
- <bool>false</bool>
3295
- <property name="buddy" >
3296
- <cstring>configUrlRq</cstring>
3301
- <widget class="KUrlRequester" name="configUrlRq" />
3304
- <widget class="QPushButton" name="loadBtn" >
3305
- <property name="enabled" >
3308
- <property name="text" >
3309
- <string>&Load</string>
3316
- <widget class="QGroupBox" name="GroupBox1_2" >
3317
- <property name="font" >
3320
- <property name="title" >
3321
- <string>Server Identification</string>
3323
- <layout class="QGridLayout" >
3324
- <property name="leftMargin" >
3325
- <number>11</number>
3327
- <property name="topMargin" >
3328
- <number>11</number>
3330
- <property name="rightMargin" >
3331
- <number>11</number>
3333
- <property name="bottomMargin" >
3334
- <number>11</number>
3336
- <property name="horizontalSpacing" >
3337
- <number>6</number>
3339
- <property name="verticalSpacing" >
3340
- <number>6</number>
3342
- <item row="0" column="0" >
3343
- <widget class="QLabel" name="TextLabel1_2_2_2" >
3344
- <property name="font" >
3347
- <property name="text" >
3348
- <string>Wor&kgroup:</string>
3350
- <property name="wordWrap" >
3351
- <bool>false</bool>
3353
- <property name="buddy" >
3354
- <cstring>workgroupEdit</cstring>
3358
- <item row="0" column="1" >
3359
- <widget class="KLineEdit" name="workgroupEdit" >
3360
- <property name="font" >
3363
- <property name="toolTip" >
3364
- <string>Enter here the name of your workgroup/domain.</string>
3368
- <item row="2" column="1" >
3369
- <widget class="KLineEdit" name="serverStringEdit" >
3370
- <property name="font" >
3375
- <item row="1" column="1" >
3376
- <widget class="KLineEdit" name="netbiosNameEdit" >
3377
- <property name="font" >
3382
- <item row="2" column="0" >
3383
- <widget class="QLabel" name="TextLabel4_3" >
3384
- <property name="font" >
3387
- <property name="text" >
3388
- <string>Server strin&g:</string>
3390
- <property name="wordWrap" >
3391
- <bool>false</bool>
3393
- <property name="buddy" >
3394
- <cstring>serverStringEdit</cstring>
3398
- <item row="1" column="0" >
3399
- <widget class="QLabel" name="TextLabel3_6" >
3400
- <property name="font" >
3403
- <property name="text" >
3404
- <string>NetBIOS name:</string>
3406
- <property name="wordWrap" >
3407
- <bool>false</bool>
3409
- <property name="buddy" >
3410
- <cstring>netbiosNameEdit</cstring>
3418
- <widget class="Q3ButtonGroup" name="securityLevelBtnGrp" >
3419
- <property name="font" >
3422
- <property name="title" >
3423
- <string>Securit&y Level</string>
3425
- <layout class="QHBoxLayout" >
3426
- <property name="spacing" >
3427
- <number>6</number>
3429
- <property name="leftMargin" >
3430
- <number>11</number>
3432
- <property name="topMargin" >
3433
- <number>11</number>
3435
- <property name="rightMargin" >
3436
- <number>11</number>
3438
- <property name="bottomMargin" >
3439
- <number>11</number>
3442
- <layout class="QVBoxLayout" >
3443
- <property name="spacing" >
3444
- <number>6</number>
3446
- <property name="leftMargin" >
3447
- <number>0</number>
3449
- <property name="topMargin" >
3450
- <number>0</number>
3452
- <property name="rightMargin" >
3453
- <number>0</number>
3455
- <property name="bottomMargin" >
3456
- <number>0</number>
3459
- <widget class="QRadioButton" name="shareRadio" >
3460
- <property name="font" >
3463
- <property name="text" >
3464
- <string>Share</string>
3466
- <property name="shortcut" >
3467
- <string>Alt+</string>
3469
- <property name="checked" >
3475
- <widget class="QRadioButton" name="userRadio" >
3476
- <property name="font" >
3479
- <property name="text" >
3480
- <string>User</string>
3482
- <property name="shortcut" >
3483
- <string>Alt+</string>
3488
- <widget class="QRadioButton" name="serverRadio" >
3489
- <property name="font" >
3492
- <property name="text" >
3493
- <string>Server</string>
3495
- <property name="shortcut" >
3496
- <string>Alt+</string>
3501
- <widget class="QRadioButton" name="domainRadio" >
3502
- <property name="font" >
3505
- <property name="text" >
3506
- <string>Domai&n</string>
3511
- <widget class="QRadioButton" name="adsRadio" >
3512
- <property name="font" >
3515
- <property name="text" >
3516
- <string>ADS</string>
3518
- <property name="shortcut" >
3519
- <string>Alt+</string>
3526
- <widget class="QLabel" name="securityLevelHelpLbl" >
3527
- <property name="sizePolicy" >
3528
- <sizepolicy vsizetype="Preferred" hsizetype="Expanding" >
3529
- <horstretch>0</horstretch>
3530
- <verstretch>0</verstretch>
3533
- <property name="font" >
3536
- <property name="text" >
3537
- <string>Use the <i>share</i> security level if you have a home network or a small office network.<br> It allows everyone to read all share names before a login is required.</string>
3539
- <property name="textFormat" >
3540
- <enum>Qt::RichText</enum>
3542
- <property name="alignment" >
3543
- <set>Qt::AlignTop</set>
3545
- <property name="wordWrap" >
3548
- <property name="indent" >
3549
- <number>5</number>
3557
- <widget class="QGroupBox" name="GroupBox12" >
3558
- <property name="font" >
3561
- <property name="title" >
3562
- <string>Further Options</string>
3564
- <layout class="QGridLayout" >
3565
- <item row="0" column="0" >
3566
- <widget class="QLabel" name="passwordServerLabel" >
3567
- <property name="enabled" >
3568
- <bool>false</bool>
3570
- <property name="font" >
3573
- <property name="text" >
3574
- <string>Password server address/name:</string>
3576
- <property name="wordWrap" >
3577
- <bool>false</bool>
3579
- <property name="buddy" >
3580
- <cstring>passwordServerEdit</cstring>
3584
- <item row="0" column="1" >
3585
- <widget class="QLineEdit" name="passwordServerEdit" >
3586
- <property name="enabled" >
3587
- <bool>false</bool>
3591
- <item row="1" column="0" >
3592
- <widget class="QLabel" name="realmLabel" >
3593
- <property name="enabled" >
3594
- <bool>false</bool>
3596
- <property name="font" >
3599
- <property name="text" >
3600
- <string>Real&m:</string>
3602
- <property name="wordWrap" >
3603
- <bool>false</bool>
3605
- <property name="buddy" >
3606
- <cstring>realmEdit</cstring>
3610
- <item row="1" column="1" >
3611
- <widget class="QLineEdit" name="realmEdit" >
3612
- <property name="enabled" >
3613
- <bool>false</bool>
3615
- <property name="font" >
3620
- <item row="2" column="0" >
3621
- <widget class="QCheckBox" name="allowGuestLoginsChk" >
3622
- <property name="enabled" >
3623
- <bool>false</bool>
3625
- <property name="font" >
3628
- <property name="text" >
3629
- <string>Allo&w guest logins</string>
3633
- <item row="2" column="1" >
3634
- <layout class="QHBoxLayout" >
3635
- <property name="spacing" >
3636
- <number>6</number>
3638
- <property name="leftMargin" >
3639
- <number>0</number>
3641
- <property name="topMargin" >
3642
- <number>0</number>
3644
- <property name="rightMargin" >
3645
- <number>0</number>
3647
- <property name="bottomMargin" >
3648
- <number>0</number>
3651
- <widget class="QLabel" name="TextLabel6_5" >
3652
- <property name="enabled" >
3653
- <bool>false</bool>
3655
- <property name="sizePolicy" >
3656
- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" >
3657
- <horstretch>0</horstretch>
3658
- <verstretch>0</verstretch>
3661
- <property name="font" >
3664
- <property name="text" >
3665
- <string>Guest acc&ount:</string>
3667
- <property name="wordWrap" >
3668
- <bool>false</bool>
3670
- <property name="buddy" >
3671
- <cstring>guestAccountCombo</cstring>
3676
- <widget class="QComboBox" name="guestAccountCombo" >
3677
- <property name="enabled" >
3678
- <bool>false</bool>
3680
- <property name="font" >
3687
- <property name="orientation" >
3688
- <enum>Qt::Horizontal</enum>
3690
- <property name="sizeHint" >
3693
- <height>20</height>
3704
- <widget class="QGroupBox" name="GroupBox10" >
3705
- <property name="font" >
3708
- <property name="title" >
3709
- <string>Help</string>
3711
- <layout class="QHBoxLayout" >
3713
- <widget class="QLabel" name="TextLabel2_3" >
3714
- <property name="sizePolicy" >
3715
- <sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
3716
- <horstretch>0</horstretch>
3717
- <verstretch>0</verstretch>
3720
- <property name="font" >
3723
- <property name="text" >
3724
- <string>For detailed help about every option please look at:</string>
3726
- <property name="alignment" >
3727
- <set>Qt::AlignVCenter</set>
3729
- <property name="wordWrap" >
3730
- <bool>false</bool>
3735
- <widget class="KUrlLabel" name="KUrlLabel1" >
3736
- <property name="sizePolicy" >
3737
- <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
3738
- <horstretch>0</horstretch>
3739
- <verstretch>0</verstretch>
3742
- <property name="text" >
3743
- <string>man:smb.conf</string>
3749
- <property name="orientation" >
3750
- <enum>Qt::Horizontal</enum>
3752
- <property name="sizeHint" >
3755
- <height>20</height>
3765
- <widget class="QWidget" name="shareTab" >
3766
- <attribute name="title" >
3767
- <string>&Shares</string>
3769
- <layout class="QVBoxLayout" >
3770
- <property name="spacing" >
3771
- <number>6</number>
3773
- <property name="leftMargin" >
3774
- <number>11</number>
3776
- <property name="topMargin" >
3777
- <number>11</number>
3779
- <property name="rightMargin" >
3780
- <number>11</number>
3782
- <property name="bottomMargin" >
3783
- <number>11</number>
3786
- <widget class="K3ListView" name="shareListView" >
3787
- <property name="allColumnsShowFocus" >
3790
- <property name="showSortIndicator" >
3793
- <property name="rootIsDecorated" >
3794
- <bool>false</bool>
3796
- <property name="resizeMode" >
3797
- <enum>Q3ListView::NoColumn</enum>
3800
- <property name="text" >
3801
- <string>Name</string>
3805
- <property name="text" >
3806
- <string>Path</string>
3810
- <property name="text" >
3811
- <string>Comment</string>
3815
- <property name="text" >
3816
- <string>Properties</string>
3822
- <layout class="QHBoxLayout" >
3823
- <property name="spacing" >
3824
- <number>6</number>
3826
- <property name="leftMargin" >
3827
- <number>0</number>
3829
- <property name="topMargin" >
3830
- <number>0</number>
3832
- <property name="rightMargin" >
3833
- <number>0</number>
3835
- <property name="bottomMargin" >
3836
- <number>0</number>
3839
- <widget class="QPushButton" name="editDefaultShareBtn" >
3840
- <property name="text" >
3841
- <string>Edit Defau&lts...</string>
3847
- <property name="orientation" >
3848
- <enum>Qt::Horizontal</enum>
3850
- <property name="sizeHint" >
3853
- <height>20</height>
3859
- <widget class="QPushButton" name="addShareBtn" >
3860
- <property name="text" >
3861
- <string>Add &New Share...</string>
3866
- <widget class="QPushButton" name="editShareBtn" >
3867
- <property name="text" >
3868
- <string>Edit Share...</string>
3870
- <property name="shortcut" >
3871
- <string>Alt+</string>
3876
- <widget class="QPushButton" name="removeShareBtn" >
3877
- <property name="text" >
3878
- <string>Re&move Share</string>
3886
- <widget class="QWidget" name="tab" >
3887
- <attribute name="title" >
3888
- <string>Prin&ters</string>
3890
- <layout class="QVBoxLayout" >
3891
- <property name="spacing" >
3892
- <number>6</number>
3894
- <property name="leftMargin" >
3895
- <number>11</number>
3897
- <property name="topMargin" >
3898
- <number>11</number>
3900
- <property name="rightMargin" >
3901
- <number>11</number>
3903
- <property name="bottomMargin" >
3904
- <number>11</number>
3907
- <widget class="K3ListView" name="printerListView" >
3908
- <property name="allColumnsShowFocus" >
3911
- <property name="showSortIndicator" >
3914
- <property name="rootIsDecorated" >
3915
- <bool>false</bool>
3917
- <property name="resizeMode" >
3918
- <enum>Q3ListView::NoColumn</enum>
3921
- <property name="text" >
3922
- <string>Name</string>
3926
- <property name="text" >
3927
- <string>Printer</string>
3931
- <property name="text" >
3932
- <string>Comment</string>
3936
- <property name="text" >
3937
- <string>Properties</string>
3943
- <layout class="QHBoxLayout" >
3944
- <property name="spacing" >
3945
- <number>6</number>
3947
- <property name="leftMargin" >
3948
- <number>0</number>
3950
- <property name="topMargin" >
3951
- <number>0</number>
3953
- <property name="rightMargin" >
3954
- <number>0</number>
3956
- <property name="bottomMargin" >
3957
- <number>0</number>
3960
- <widget class="QPushButton" name="editDefaultPrinterBtn" >
3961
- <property name="text" >
3962
- <string>Edit Defau&lts</string>
3968
- <property name="orientation" >
3969
- <enum>Qt::Horizontal</enum>
3971
- <property name="sizeHint" >
3974
- <height>20</height>
3980
- <widget class="QPushButton" name="addPrinterBtn" >
3981
- <property name="text" >
3982
- <string>Add Ne&w Printer</string>
3987
- <widget class="QPushButton" name="editPrinterBtn" >
3988
- <property name="text" >
3989
- <string>Edit Pri&nter</string>
3994
- <widget class="QPushButton" name="removePrinterBtn" >
3995
- <property name="text" >
3996
- <string>Re&move Printer</string>
4004
- <widget class="QWidget" name="tab" >
4005
- <attribute name="title" >
4006
- <string>&Users</string>
4008
- <layout class="QVBoxLayout" >
4009
- <property name="spacing" >
4010
- <number>6</number>
4012
- <property name="leftMargin" >
4013
- <number>11</number>
4015
- <property name="topMargin" >
4016
- <number>11</number>
4018
- <property name="rightMargin" >
4019
- <number>11</number>
4021
- <property name="bottomMargin" >
4022
- <number>11</number>
4025
- <layout class="QHBoxLayout" >
4026
- <property name="spacing" >
4027
- <number>6</number>
4029
- <property name="leftMargin" >
4030
- <number>0</number>
4032
- <property name="topMargin" >
4033
- <number>0</number>
4035
- <property name="rightMargin" >
4036
- <number>0</number>
4038
- <property name="bottomMargin" >
4039
- <number>0</number>
4042
- <widget class="QGroupBox" name="groupBox51_2" >
4043
- <property name="title" >
4044
- <string>Sa&mba Users</string>
4046
- <layout class="QVBoxLayout" >
4047
- <property name="spacing" >
4048
- <number>6</number>
4050
- <property name="leftMargin" >
4051
- <number>11</number>
4053
- <property name="topMargin" >
4054
- <number>11</number>
4056
- <property name="rightMargin" >
4057
- <number>11</number>
4059
- <property name="bottomMargin" >
4060
- <number>11</number>
4063
- <widget class="K3ListView" name="sambaUsersListView" >
4064
- <property name="sizePolicy" >
4065
- <sizepolicy vsizetype="Expanding" hsizetype="Expanding" >
4066
- <horstretch>10</horstretch>
4067
- <verstretch>0</verstretch>
4071
- <property name="text" >
4072
- <string>Name</string>
4076
- <property name="text" >
4077
- <string>UID</string>
4081
- <property name="text" >
4082
- <string>Disabled</string>
4086
- <property name="text" >
4087
- <string>No Password</string>
4096
- <layout class="QVBoxLayout" >
4097
- <property name="spacing" >
4098
- <number>6</number>
4100
- <property name="leftMargin" >
4101
- <number>0</number>
4103
- <property name="topMargin" >
4104
- <number>0</number>
4106
- <property name="rightMargin" >
4107
- <number>0</number>
4109
- <property name="bottomMargin" >
4110
- <number>0</number>
4114
- <property name="orientation" >
4115
- <enum>Qt::Vertical</enum>
4117
- <property name="sizeType" >
4118
- <enum>QSizePolicy::Expanding</enum>
4120
- <property name="sizeHint" >
4123
- <height>30</height>
4129
- <widget class="QPushButton" name="addSambaUserBtn" >
4130
- <property name="sizePolicy" >
4131
- <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
4132
- <horstretch>0</horstretch>
4133
- <verstretch>0</verstretch>
4136
- <property name="text" >
4137
- <string>Add</string>
4139
- <property name="shortcut" >
4146
- <property name="orientation" >
4147
- <enum>Qt::Vertical</enum>
4149
- <property name="sizeType" >
4150
- <enum>QSizePolicy::Expanding</enum>
4152
- <property name="sizeHint" >
4155
- <height>30</height>
4161
- <widget class="QPushButton" name="removeSambaUserBtn" >
4162
- <property name="sizePolicy" >
4163
- <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
4164
- <horstretch>0</horstretch>
4165
- <verstretch>0</verstretch>
4168
- <property name="text" >
4169
- <string>Rem&ove</string>
4175
- <property name="orientation" >
4176
- <enum>Qt::Vertical</enum>
4178
- <property name="sizeType" >
4179
- <enum>QSizePolicy::Expanding</enum>
4181
- <property name="sizeHint" >
4184
- <height>30</height>
4192
- <widget class="QGroupBox" name="groupBox52_2" >
4193
- <property name="title" >
4194
- <string>UNI&X Users</string>
4196
- <layout class="QVBoxLayout" >
4197
- <property name="spacing" >
4198
- <number>6</number>
4200
- <property name="leftMargin" >
4201
- <number>11</number>
4203
- <property name="topMargin" >
4204
- <number>11</number>
4206
- <property name="rightMargin" >
4207
- <number>11</number>
4209
- <property name="bottomMargin" >
4210
- <number>11</number>
4213
- <widget class="K3ListView" name="unixUsersListView" >
4214
- <property name="sizePolicy" >
4215
- <sizepolicy vsizetype="Expanding" hsizetype="Preferred" >
4216
- <horstretch>5</horstretch>
4217
- <verstretch>0</verstretch>
4221
- <property name="text" >
4222
- <string>Name</string>
4226
- <property name="text" >
4227
- <string>UID</string>
4238
- <layout class="QHBoxLayout" >
4239
- <property name="spacing" >
4240
- <number>6</number>
4242
- <property name="leftMargin" >
4243
- <number>0</number>
4245
- <property name="topMargin" >
4246
- <number>0</number>
4248
- <property name="rightMargin" >
4249
- <number>0</number>
4251
- <property name="bottomMargin" >
4252
- <number>0</number>
4255
- <widget class="QPushButton" name="sambaUserPasswordBtn" >
4256
- <property name="text" >
4257
- <string>Chan&ge Password...</string>
4262
- <widget class="QPushButton" name="joinADomainBtn" >
4263
- <property name="enabled" >
4264
- <bool>false</bool>
4266
- <property name="text" >
4267
- <string>&Join Domain</string>
4273
- <property name="orientation" >
4274
- <enum>Qt::Horizontal</enum>
4276
- <property name="sizeHint" >
4279
- <height>20</height>
4288
- <widget class="QWidget" name="advanced" >
4289
- <attribute name="title" >
4290
- <string>Advan&ced</string>
4292
- <layout class="QVBoxLayout" >
4293
- <property name="spacing" >
4294
- <number>6</number>
4296
- <property name="leftMargin" >
4297
- <number>11</number>
4299
- <property name="topMargin" >
4300
- <number>11</number>
4302
- <property name="rightMargin" >
4303
- <number>11</number>
4305
- <property name="bottomMargin" >
4306
- <number>11</number>
4309
- <widget class="QFrame" name="advancedFrame" >
4310
- <property name="frameShape" >
4311
- <enum>QFrame::NoFrame</enum>
4313
- <property name="frameShadow" >
4314
- <enum>QFrame::Plain</enum>
4319
- <widget class="QFrame" name="Frame26" >
4320
- <property name="frameShape" >
4321
- <enum>QFrame::NoFrame</enum>
4323
- <property name="frameShadow" >
4324
- <enum>QFrame::Plain</enum>
4329
- <layout class="QHBoxLayout" >
4330
- <property name="spacing" >
4331
- <number>6</number>
4333
- <property name="leftMargin" >
4334
- <number>0</number>
4336
- <property name="topMargin" >
4337
- <number>0</number>
4339
- <property name="rightMargin" >
4340
- <number>0</number>
4342
- <property name="bottomMargin" >
4343
- <number>0</number>
4346
- <widget class="QLabel" name="advancedWarningPixLbl" >
4347
- <property name="sizePolicy" >
4348
- <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
4349
- <horstretch>0</horstretch>
4350
- <verstretch>0</verstretch>
4353
- <property name="scaledContents" >
4356
- <property name="wordWrap" >
4357
- <bool>false</bool>
4362
- <widget class="QLabel" name="TextLabel1_4" >
4363
- <property name="font" >
4365
- <weight>75</weight>
4369
- <property name="text" >
4370
- <string>Here you can change advanced options of the SAMBA server.
4371
-Only change something if you know what you are doing.</string>
4373
- <property name="wordWrap" >
4374
- <bool>false</bool>
4382
- <widget class="QWidget" name="advancedDumpTab" >
4383
- <attribute name="title" >
4384
- <string>Advanced Dump</string>
4386
- <layout class="QVBoxLayout" >
4387
- <property name="spacing" >
4388
- <number>6</number>
4390
- <property name="leftMargin" >
4391
- <number>11</number>
4393
- <property name="topMargin" >
4394
- <number>11</number>
4396
- <property name="rightMargin" >
4397
- <number>11</number>
4399
- <property name="bottomMargin" >
4400
- <number>11</number>
4403
- <widget class="QTabWidget" name="advancedTab" >
4404
- <property name="tabShape" >
4405
- <enum>QTabWidget::Rounded</enum>
4407
- <property name="currentIndex" >
4408
- <number>0</number>
4410
- <widget class="QWidget" name="tab" >
4411
- <attribute name="title" >
4412
- <string>Security</string>
4414
- <layout class="QGridLayout" >
4415
- <property name="leftMargin" >
4416
- <number>0</number>
4418
- <property name="topMargin" >
4419
- <number>0</number>
4421
- <property name="rightMargin" >
4422
- <number>0</number>
4424
- <property name="bottomMargin" >
4425
- <number>0</number>
4427
- <property name="horizontalSpacing" >
4428
- <number>6</number>
4430
- <property name="verticalSpacing" >
4431
- <number>6</number>
4433
- <item row="0" column="0" >
4434
- <widget class="QTabWidget" name="tabWidget4" >
4435
- <property name="currentIndex" >
4436
- <number>0</number>
4438
- <widget class="QWidget" name="tab" >
4439
- <attribute name="title" >
4440
- <string>&General</string>
4442
- <layout class="QGridLayout" >
4443
- <property name="leftMargin" >
4444
- <number>11</number>
4446
- <property name="topMargin" >
4447
- <number>11</number>
4449
- <property name="rightMargin" >
4450
- <number>11</number>
4452
- <property name="bottomMargin" >
4453
- <number>11</number>
4455
- <property name="horizontalSpacing" >
4456
- <number>6</number>
4458
- <property name="verticalSpacing" >
4459
- <number>6</number>
4461
- <item row="2" column="0" >
4463
- <property name="orientation" >
4464
- <enum>Qt::Vertical</enum>
4466
- <property name="sizeType" >
4467
- <enum>QSizePolicy::Expanding</enum>
4469
- <property name="sizeHint" >
4472
- <height>40</height>
4477
- <item row="1" column="0" >
4478
- <widget class="QGroupBox" name="groupBox66" >
4479
- <property name="title" >
4480
- <string>PAM</string>
4482
- <layout class="QVBoxLayout" >
4483
- <property name="spacing" >
4484
- <number>6</number>
4486
- <property name="leftMargin" >
4487
- <number>11</number>
4489
- <property name="topMargin" >
4490
- <number>11</number>
4492
- <property name="rightMargin" >
4493
- <number>11</number>
4495
- <property name="bottomMargin" >
4496
- <number>11</number>
4499
- <widget class="QCheckBox" name="obeyPamRestrictionsChk" >
4500
- <property name="font" >
4503
- <property name="text" >
4504
- <string>Obey PAM restrictions</string>
4506
- <property name="shortcut" >
4507
- <string>Alt+</string>
4512
- <widget class="QCheckBox" name="pamPasswordChangeChk" >
4513
- <property name="font" >
4516
- <property name="text" >
4517
- <string>PAM password change</string>
4519
- <property name="shortcut" >
4520
- <string>Alt+</string>
4527
- <item row="1" column="1" >
4528
- <widget class="QGroupBox" name="groupBox67" >
4529
- <property name="title" >
4530
- <string>Other Switches</string>
4532
- <layout class="QVBoxLayout" >
4533
- <property name="spacing" >
4534
- <number>6</number>
4536
- <property name="leftMargin" >
4537
- <number>11</number>
4539
- <property name="topMargin" >
4540
- <number>11</number>
4542
- <property name="rightMargin" >
4543
- <number>11</number>
4545
- <property name="bottomMargin" >
4546
- <number>11</number>
4549
- <widget class="QCheckBox" name="allowTrustedDomainsChk" >
4550
- <property name="font" >
4553
- <property name="text" >
4554
- <string>A&llow trusted domains</string>
4559
- <widget class="QCheckBox" name="paranoidServerSecurityChk" >
4560
- <property name="text" >
4561
- <string>Paranoid server security</string>
4563
- <property name="shortcut" >
4564
- <string>Alt+</string>
4571
- <item row="0" column="0" colspan="2" >
4572
- <widget class="QGroupBox" name="groupBox68" >
4573
- <property name="title" >
4574
- <string>General</string>
4576
- <layout class="QGridLayout" >
4577
- <property name="leftMargin" >
4578
- <number>11</number>
4580
- <property name="topMargin" >
4581
- <number>11</number>
4583
- <property name="rightMargin" >
4584
- <number>11</number>
4586
- <property name="bottomMargin" >
4587
- <number>11</number>
4589
- <property name="horizontalSpacing" >
4590
- <number>6</number>
4592
- <property name="verticalSpacing" >
4593
- <number>6</number>
4595
- <item row="3" column="0" >
4596
- <widget class="QLabel" name="TextLabel8_2_2_2_2_2_2" >
4597
- <property name="font" >
4600
- <property name="text" >
4601
- <string>Auth methods:</string>
4603
- <property name="wordWrap" >
4604
- <bool>false</bool>
4606
- <property name="buddy" >
4607
- <cstring>authMethodsEdit</cstring>
4611
- <item row="2" column="0" >
4612
- <widget class="QLabel" name="TextLabel8_2_2_2_2_2" >
4613
- <property name="font" >
4616
- <property name="text" >
4617
- <string>Root director&y:</string>
4619
- <property name="wordWrap" >
4620
- <bool>false</bool>
4622
- <property name="buddy" >
4623
- <cstring>rootDirectoryEdit</cstring>
4627
- <item row="1" column="0" >
4628
- <widget class="QLabel" name="TextLabel1_2_5_2" >
4629
- <property name="text" >
4630
- <string>I&nterfaces:</string>
4632
- <property name="wordWrap" >
4633
- <bool>false</bool>
4635
- <property name="buddy" >
4636
- <cstring>interfacesEdit</cstring>
4640
- <item row="0" column="0" >
4641
- <widget class="QLabel" name="TextLabel2_5_2" >
4642
- <property name="sizePolicy" >
4643
- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" >
4644
- <horstretch>0</horstretch>
4645
- <verstretch>0</verstretch>
4648
- <property name="font" >
4651
- <property name="text" >
4652
- <string>Map to guest:</string>
4654
- <property name="wordWrap" >
4655
- <bool>false</bool>
4657
- <property name="buddy" >
4658
- <cstring>mapToGuestCombo</cstring>
4662
- <item row="1" column="3" >
4663
- <widget class="QCheckBox" name="bindInterfacesOnlyChk" >
4664
- <property name="text" >
4665
- <string>Bind interfaces only</string>
4667
- <property name="shortcut" >
4668
- <string>Alt+</string>
4672
- <item row="0" column="1" >
4673
- <widget class="QComboBox" name="mapToGuestCombo" >
4675
- <property name="text" >
4676
- <string>Never</string>
4680
- <property name="text" >
4681
- <string>Bad User</string>
4685
- <property name="text" >
4686
- <string>Bad Password</string>
4691
- <item row="4" column="0" >
4692
- <widget class="QLabel" name="TextLabel8_2_3_2" >
4693
- <property name="font" >
4696
- <property name="text" >
4697
- <string>Hosts e&quiv:</string>
4699
- <property name="wordWrap" >
4700
- <bool>false</bool>
4702
- <property name="buddy" >
4703
- <cstring>hostsEquivUrlRq</cstring>
4707
- <item row="2" column="1" colspan="3" >
4708
- <widget class="QLineEdit" name="rootDirectoryEdit" >
4709
- <property name="font" >
4711
- <weight>75</weight>
4717
- <item row="3" column="1" colspan="3" >
4718
- <widget class="QLineEdit" name="authMethodsEdit" >
4719
- <property name="font" >
4721
- <weight>75</weight>
4727
- <item row="1" column="1" colspan="2" >
4728
- <widget class="QLineEdit" name="interfacesEdit" />
4730
- <item row="6" column="0" >
4731
- <widget class="QLabel" name="TextLabel6_7_2" >
4732
- <property name="font" >
4735
- <property name="text" >
4736
- <string>Algorithmic rid base:</string>
4738
- <property name="wordWrap" >
4739
- <bool>false</bool>
4741
- <property name="buddy" >
4742
- <cstring>algorithmicRidBaseSpin</cstring>
4746
- <item row="6" column="1" >
4747
- <widget class="KIntSpinBox" name="algorithmicRidBaseSpin" >
4748
- <property name="font" >
4751
- <property name="maximum" >
4752
- <number>2147483647</number>
4756
- <item row="4" column="1" colspan="3" >
4757
- <widget class="KUrlRequester" name="hostsEquivUrlRq" >
4758
- <property name="font" >
4760
- <weight>75</weight>
4766
- <item row="5" column="0" >
4767
- <widget class="QLabel" name="TextLabel8_2_2_3_2_2" >
4768
- <property name="font" >
4771
- <property name="text" >
4772
- <string>Private dir:</string>
4774
- <property name="wordWrap" >
4775
- <bool>false</bool>
4777
- <property name="buddy" >
4778
- <cstring>privateDirUrlRq</cstring>
4782
- <item row="5" column="1" colspan="3" >
4783
- <widget class="KUrlRequester" name="privateDirUrlRq" >
4784
- <property name="font" >
4794
- <widget class="QWidget" name="TabPage" >
4795
- <attribute name="title" >
4796
- <string>Pass&word</string>
4798
- <layout class="QGridLayout" >
4799
- <item rowspan="2" row="0" column="0" >
4800
- <widget class="QGroupBox" name="groupBox75" >
4801
- <property name="title" >
4802
- <string>Samba Passwords</string>
4804
- <layout class="QGridLayout" >
4805
- <property name="leftMargin" >
4806
- <number>11</number>
4808
- <property name="topMargin" >
4809
- <number>11</number>
4811
- <property name="rightMargin" >
4812
- <number>11</number>
4814
- <property name="bottomMargin" >
4815
- <number>11</number>
4817
- <property name="horizontalSpacing" >
4818
- <number>6</number>
4820
- <property name="verticalSpacing" >
4821
- <number>6</number>
4823
- <item row="0" column="0" colspan="4" >
4824
- <widget class="QCheckBox" name="encryptPasswordsChk" >
4825
- <property name="font" >
4828
- <property name="text" >
4829
- <string>E&ncrypt passwords</string>
4831
- <property name="shortcut" >
4836
- <item row="1" column="0" >
4837
- <widget class="QLabel" name="TextLabel8_2_2_2" >
4838
- <property name="font" >
4841
- <property name="text" >
4842
- <string>Smb passwd file:</string>
4844
- <property name="wordWrap" >
4845
- <bool>false</bool>
4847
- <property name="buddy" >
4848
- <cstring>smbPasswdFileUrlRq</cstring>
4852
- <item row="1" column="1" colspan="3" >
4853
- <widget class="KUrlRequester" name="smbPasswdFileUrlRq" >
4854
- <property name="font" >
4859
- <item row="2" column="0" >
4860
- <widget class="QLabel" name="TextLabel3_5_3_2" >
4861
- <property name="font" >
4864
- <property name="text" >
4865
- <string>Passdb bac&kend:</string>
4867
- <property name="wordWrap" >
4868
- <bool>false</bool>
4870
- <property name="buddy" >
4871
- <cstring>passdbBackendEdit</cstring>
4875
- <item row="3" column="1" colspan="3" >
4876
- <widget class="KLineEdit" name="passwdChatEdit" >
4877
- <property name="font" >
4882
- <item row="2" column="1" colspan="3" >
4883
- <widget class="KLineEdit" name="passdbBackendEdit" >
4884
- <property name="font" >
4889
- <item row="3" column="0" >
4890
- <widget class="QLabel" name="TextLabel3_5_3" >
4891
- <property name="font" >
4894
- <property name="text" >
4895
- <string>Passwd chat:</string>
4897
- <property name="wordWrap" >
4898
- <bool>false</bool>
4900
- <property name="buddy" >
4901
- <cstring>passwdChatEdit</cstring>
4905
- <item row="5" column="0" colspan="4" >
4906
- <widget class="QCheckBox" name="passwdChatDebugChk" >
4907
- <property name="font" >
4910
- <property name="text" >
4911
- <string>Passwd chat debug</string>
4915
- <item row="4" column="3" >
4916
- <widget class="QLabel" name="TextLabel5_2_3_4_3" >
4917
- <property name="text" >
4918
- <string comment="seconds" >Sec</string>
4920
- <property name="wordWrap" >
4921
- <bool>false</bool>
4925
- <item row="4" column="0" colspan="2" >
4926
- <widget class="QLabel" name="TextLabel3_5_3_3" >
4927
- <property name="font" >
4930
- <property name="text" >
4931
- <string>Passwd chat timeout:</string>
4933
- <property name="wordWrap" >
4934
- <bool>false</bool>
4936
- <property name="buddy" >
4937
- <cstring>passwdChatEdit</cstring>
4941
- <item row="4" column="2" >
4942
- <widget class="KIntSpinBox" name="passwdChatTimeoutSpin" >
4943
- <property name="maximum" >
4944
- <number>2147483647</number>
4951
- <item row="0" column="1" >
4952
- <widget class="QGroupBox" name="groupBox74" >
4953
- <property name="title" >
4954
- <string>Password</string>
4956
- <layout class="QGridLayout" >
4957
- <item row="0" column="0" >
4958
- <widget class="QCheckBox" name="nullPasswordsChk" >
4959
- <property name="font" >
4962
- <property name="text" >
4963
- <string>Nu&ll passwords</string>
4967
- <item row="1" column="0" >
4968
- <widget class="QLabel" name="TextLabel6_7" >
4969
- <property name="font" >
4972
- <property name="text" >
4973
- <string>Password level:</string>
4975
- <property name="wordWrap" >
4976
- <bool>false</bool>
4978
- <property name="buddy" >
4979
- <cstring>passwordLevelSpin</cstring>
4983
- <item row="1" column="1" >
4984
- <widget class="KIntSpinBox" name="passwordLevelSpin" >
4985
- <property name="font" >
4988
- <property name="maximum" >
4989
- <number>2147483647</number>
4993
- <item row="2" column="0" >
4994
- <widget class="QLabel" name="TextLabel6_3_2" >
4995
- <property name="font" >
4998
- <property name="text" >
4999
- <string>Min password length:</string>
5001
- <property name="wordWrap" >
5002
- <bool>false</bool>
5004
- <property name="buddy" >
5005
- <cstring>minPasswdLengthSpin</cstring>
5009
- <item row="2" column="1" >
5010
- <widget class="KIntSpinBox" name="minPasswdLengthSpin" >
5011
- <property name="font" >
5014
- <property name="maximum" >
5015
- <number>2147483647</number>
5019
- <item row="3" column="0" >
5020
- <widget class="QLabel" name="TextLabel1" >
5021
- <property name="text" >
5022
- <string>Machine password timeout:</string>
5024
- <property name="wordWrap" >
5025
- <bool>false</bool>
5027
- <property name="buddy" >
5028
- <cstring>machinePasswordTimeoutSpin</cstring>
5032
- <item row="3" column="1" >
5033
- <widget class="KIntSpinBox" name="machinePasswordTimeoutSpin" >
5034
- <property name="maximum" >
5035
- <number>2147483647</number>
5039
- <item row="3" column="2" >
5040
- <widget class="QLabel" name="TextLabel5_2_3_4_2" >
5041
- <property name="text" >
5042
- <string comment="seconds" >Sec</string>
5044
- <property name="wordWrap" >
5045
- <bool>false</bool>
5049
- <item row="3" column="3" >
5051
- <property name="orientation" >
5052
- <enum>Qt::Horizontal</enum>
5054
- <property name="sizeHint" >
5057
- <height>20</height>
5065
- <item row="1" column="1" >
5066
- <widget class="QGroupBox" name="groupBox73" >
5067
- <property name="title" >
5068
- <string>Migration</string>
5070
- <layout class="QVBoxLayout" >
5071
- <property name="spacing" >
5072
- <number>6</number>
5074
- <property name="leftMargin" >
5075
- <number>11</number>
5077
- <property name="topMargin" >
5078
- <number>11</number>
5080
- <property name="rightMargin" >
5081
- <number>11</number>
5083
- <property name="bottomMargin" >
5084
- <number>11</number>
5087
- <widget class="QCheckBox" name="updateEncryptedChk" >
5088
- <property name="font" >
5091
- <property name="text" >
5092
- <string>Update encr&ypted</string>
5099
- <item row="2" column="0" colspan="2" >
5100
- <widget class="QGroupBox" name="groupBox76" >
5101
- <property name="title" >
5102
- <string>UNIX Passwords</string>
5104
- <layout class="QGridLayout" >
5105
- <property name="leftMargin" >
5106
- <number>11</number>
5108
- <property name="topMargin" >
5109
- <number>11</number>
5111
- <property name="rightMargin" >
5112
- <number>11</number>
5114
- <property name="bottomMargin" >
5115
- <number>11</number>
5117
- <property name="horizontalSpacing" >
5118
- <number>6</number>
5120
- <property name="verticalSpacing" >
5121
- <number>6</number>
5123
- <item row="0" column="0" >
5124
- <widget class="QLabel" name="TextLabel8_2_2_3_2" >
5125
- <property name="font" >
5128
- <property name="text" >
5129
- <string>Passwd program:</string>
5131
- <property name="wordWrap" >
5132
- <bool>false</bool>
5134
- <property name="buddy" >
5135
- <cstring>passwdProgramUrlRq</cstring>
5139
- <item row="0" column="1" >
5140
- <widget class="KUrlRequester" name="passwdProgramUrlRq" >
5141
- <property name="font" >
5146
- <item row="1" column="0" colspan="2" >
5147
- <widget class="QCheckBox" name="unixPasswordSyncChk" >
5148
- <property name="font" >
5151
- <property name="text" >
5152
- <string>UNI&X password sync</string>
5159
- <item row="3" column="0" >
5161
- <property name="orientation" >
5162
- <enum>Qt::Vertical</enum>
5164
- <property name="sizeType" >
5165
- <enum>QSizePolicy::Expanding</enum>
5167
- <property name="sizeHint" >
5170
- <height>40</height>
5177
- <widget class="QWidget" name="TabPage" >
5178
- <attribute name="title" >
5179
- <string>Userna&me</string>
5181
- <layout class="QGridLayout" >
5182
- <property name="leftMargin" >
5183
- <number>11</number>
5185
- <property name="topMargin" >
5186
- <number>11</number>
5188
- <property name="rightMargin" >
5189
- <number>11</number>
5191
- <property name="bottomMargin" >
5192
- <number>11</number>
5194
- <property name="horizontalSpacing" >
5195
- <number>6</number>
5197
- <property name="verticalSpacing" >
5198
- <number>6</number>
5200
- <item row="1" column="0" >
5201
- <widget class="QLabel" name="TextLabel3_5_2_2" >
5202
- <property name="font" >
5205
- <property name="text" >
5206
- <string>User&name map:</string>
5208
- <property name="wordWrap" >
5209
- <bool>false</bool>
5211
- <property name="buddy" >
5212
- <cstring>usernameMapUrlRq</cstring>
5216
- <item row="1" column="1" colspan="2" >
5217
- <widget class="KUrlRequester" name="usernameMapUrlRq" >
5218
- <property name="font" >
5223
- <item row="0" column="0" >
5224
- <widget class="QLabel" name="TextLabel6_4_2" >
5225
- <property name="font" >
5228
- <property name="text" >
5229
- <string>Username &level:</string>
5231
- <property name="wordWrap" >
5232
- <bool>false</bool>
5234
- <property name="buddy" >
5235
- <cstring>usernameLevelSpin</cstring>
5239
- <item row="0" column="1" >
5240
- <widget class="KIntSpinBox" name="usernameLevelSpin" >
5241
- <property name="font" >
5244
- <property name="maximum" >
5245
- <number>255</number>
5249
- <item row="2" column="0" colspan="2" >
5250
- <widget class="QCheckBox" name="hideLocalUsersChk" >
5251
- <property name="font" >
5254
- <property name="text" >
5255
- <string>Hide local users</string>
5259
- <item row="3" column="0" colspan="2" >
5260
- <widget class="QCheckBox" name="restrictAnonymousChk" >
5261
- <property name="font" >
5264
- <property name="text" >
5265
- <string>Restrict anon&ymous</string>
5269
- <item row="4" column="0" colspan="3" >
5270
- <widget class="QCheckBox" name="useRhostsChk" >
5271
- <property name="font" >
5274
- <property name="text" >
5275
- <string>Use rhosts</string>
5279
- <item row="5" column="0" >
5281
- <property name="orientation" >
5282
- <enum>Qt::Vertical</enum>
5284
- <property name="sizeType" >
5285
- <enum>QSizePolicy::Expanding</enum>
5287
- <property name="sizeHint" >
5290
- <height>170</height>
5295
- <item row="0" column="2" >
5297
- <property name="orientation" >
5298
- <enum>Qt::Horizontal</enum>
5300
- <property name="sizeHint" >
5303
- <height>20</height>
5310
- <widget class="QWidget" name="tab" >
5311
- <attribute name="title" >
5312
- <string>Authenticati&on</string>
5314
- <layout class="QGridLayout" >
5315
- <property name="leftMargin" >
5316
- <number>11</number>
5318
- <property name="topMargin" >
5319
- <number>11</number>
5321
- <property name="rightMargin" >
5322
- <number>11</number>
5324
- <property name="bottomMargin" >
5325
- <number>11</number>
5327
- <property name="horizontalSpacing" >
5328
- <number>6</number>
5330
- <property name="verticalSpacing" >
5331
- <number>6</number>
5333
- <item row="0" column="1" >
5334
- <widget class="QGroupBox" name="groupBox13" >
5335
- <property name="title" >
5336
- <string>Client</string>
5338
- <layout class="QGridLayout" >
5339
- <property name="leftMargin" >
5340
- <number>11</number>
5342
- <property name="topMargin" >
5343
- <number>11</number>
5345
- <property name="rightMargin" >
5346
- <number>11</number>
5348
- <property name="bottomMargin" >
5349
- <number>11</number>
5351
- <property name="horizontalSpacing" >
5352
- <number>6</number>
5354
- <property name="verticalSpacing" >
5355
- <number>6</number>
5357
- <item row="5" column="0" >
5358
- <widget class="QLabel" name="TextLabel3_5_2_3" >
5359
- <property name="text" >
5360
- <string>C&lient signing:</string>
5362
- <property name="wordWrap" >
5363
- <bool>false</bool>
5365
- <property name="buddy" >
5366
- <cstring>clientSigningCombo</cstring>
5370
- <item row="1" column="0" colspan="3" >
5371
- <widget class="QCheckBox" name="clientPlaintextAuthChk" >
5372
- <property name="font" >
5375
- <property name="text" >
5376
- <string>Client plainte&xt authentication</string>
5380
- <item row="0" column="0" colspan="3" >
5381
- <widget class="QCheckBox" name="clientLanmanAuthChk" >
5382
- <property name="font" >
5385
- <property name="text" >
5386
- <string>Client lanman authentication</string>
5390
- <item row="5" column="1" >
5391
- <widget class="QComboBox" name="clientSigningCombo" >
5393
- <property name="text" >
5394
- <string>Auto</string>
5398
- <property name="text" >
5399
- <string>Mandatory</string>
5403
- <property name="text" >
5404
- <string>Disabled</string>
5409
- <item row="4" column="1" >
5410
- <widget class="QComboBox" name="clientSchannelCombo" >
5412
- <property name="text" >
5413
- <string>Yes</string>
5417
- <property name="text" >
5418
- <string>No</string>
5422
- <property name="text" >
5423
- <string>Auto</string>
5428
- <item row="4" column="0" >
5429
- <widget class="QLabel" name="TextLabel3_5_2" >
5430
- <property name="text" >
5431
- <string>Client channel:</string>
5433
- <property name="wordWrap" >
5434
- <bool>false</bool>
5436
- <property name="buddy" >
5437
- <cstring>clientSchannelCombo</cstring>
5441
- <item row="3" column="0" colspan="3" >
5442
- <widget class="QCheckBox" name="clientUseSpnegoChk" >
5443
- <property name="font" >
5446
- <property name="text" >
5447
- <string>Client use spnego</string>
5451
- <item row="2" column="0" colspan="3" >
5452
- <widget class="QCheckBox" name="clientNTLMv2AuthChk" >
5453
- <property name="font" >
5456
- <property name="text" >
5457
- <string>Client NTLMv&2 authentication</string>
5464
- <item row="0" column="0" >
5465
- <widget class="QGroupBox" name="groupBox13_2" >
5466
- <property name="title" >
5467
- <string>Server</string>
5469
- <layout class="QGridLayout" >
5470
- <property name="leftMargin" >
5471
- <number>11</number>
5473
- <property name="topMargin" >
5474
- <number>11</number>
5476
- <property name="rightMargin" >
5477
- <number>11</number>
5479
- <property name="bottomMargin" >
5480
- <number>11</number>
5482
- <property name="horizontalSpacing" >
5483
- <number>6</number>
5485
- <property name="verticalSpacing" >
5486
- <number>6</number>
5488
- <item row="5" column="0" >
5489
- <widget class="QLabel" name="TextLabel3_5_2_3_3" >
5490
- <property name="text" >
5491
- <string>Server signing:</string>
5493
- <property name="wordWrap" >
5494
- <bool>false</bool>
5496
- <property name="buddy" >
5497
- <cstring>serverSigningCombo</cstring>
5501
- <item row="0" column="0" colspan="3" >
5502
- <widget class="QCheckBox" name="lanmanAuthChk" >
5503
- <property name="font" >
5506
- <property name="text" >
5507
- <string>Lanman authentication</string>
5511
- <item row="5" column="1" >
5512
- <widget class="QComboBox" name="serverSigningCombo" >
5514
- <property name="text" >
5515
- <string>Auto</string>
5519
- <property name="text" >
5520
- <string>Mandatory</string>
5524
- <property name="text" >
5525
- <string>Disabled</string>
5530
- <item row="4" column="1" >
5531
- <widget class="QComboBox" name="serverSchannelCombo" >
5533
- <property name="text" >
5534
- <string>Yes</string>
5538
- <property name="text" >
5539
- <string>No</string>
5543
- <property name="text" >
5544
- <string>Auto</string>
5549
- <item row="4" column="0" >
5550
- <widget class="QLabel" name="TextLabel3_5_2_5" >
5551
- <property name="text" >
5552
- <string>Server channel:</string>
5554
- <property name="wordWrap" >
5555
- <bool>false</bool>
5557
- <property name="buddy" >
5558
- <cstring>serverSchannelCombo</cstring>
5562
- <item row="3" column="0" colspan="3" >
5563
- <widget class="QCheckBox" name="useSpnegoChk" >
5564
- <property name="font" >
5567
- <property name="text" >
5568
- <string>Use sp&nego</string>
5572
- <item row="2" column="0" colspan="3" >
5573
- <widget class="QCheckBox" name="ntlmAuthChk" >
5574
- <property name="font" >
5577
- <property name="text" >
5578
- <string>NTLM authentication</string>
5585
- <item row="1" column="0" >
5587
- <property name="orientation" >
5588
- <enum>Qt::Vertical</enum>
5590
- <property name="sizeType" >
5591
- <enum>QSizePolicy::Expanding</enum>
5593
- <property name="sizeHint" >
5596
- <height>20</height>
5607
- <widget class="QWidget" name="tab" >
5608
- <attribute name="title" >
5609
- <string>Logging</string>
5611
- <layout class="QVBoxLayout" >
5612
- <property name="spacing" >
5613
- <number>6</number>
5615
- <property name="leftMargin" >
5616
- <number>0</number>
5618
- <property name="topMargin" >
5619
- <number>0</number>
5621
- <property name="rightMargin" >
5622
- <number>0</number>
5624
- <property name="bottomMargin" >
5625
- <number>0</number>
5628
- <widget class="QFrame" name="loggingFrame" >
5629
- <property name="sizePolicy" >
5630
- <sizepolicy vsizetype="Preferred" hsizetype="Expanding" >
5631
- <horstretch>100</horstretch>
5632
- <verstretch>0</verstretch>
5635
- <property name="frameShape" >
5636
- <enum>QFrame::NoFrame</enum>
5638
- <property name="frameShadow" >
5639
- <enum>QFrame::Plain</enum>
5641
- <layout class="QVBoxLayout" >
5642
- <property name="spacing" >
5643
- <number>6</number>
5645
- <property name="leftMargin" >
5646
- <number>0</number>
5648
- <property name="topMargin" >
5649
- <number>0</number>
5651
- <property name="rightMargin" >
5652
- <number>0</number>
5654
- <property name="bottomMargin" >
5655
- <number>0</number>
5658
- <widget class="QGroupBox" name="groupBox36_2" >
5659
- <property name="title" >
5660
- <string>General</string>
5662
- <layout class="QGridLayout" >
5663
- <property name="leftMargin" >
5664
- <number>11</number>
5666
- <property name="topMargin" >
5667
- <number>11</number>
5669
- <property name="rightMargin" >
5670
- <number>11</number>
5672
- <property name="bottomMargin" >
5673
- <number>11</number>
5675
- <property name="horizontalSpacing" >
5676
- <number>6</number>
5678
- <property name="verticalSpacing" >
5679
- <number>6</number>
5681
- <item row="0" column="0" >
5682
- <widget class="QLabel" name="TextLabel4_3_2_2_2_2" >
5683
- <property name="text" >
5684
- <string>L&og file:</string>
5686
- <property name="wordWrap" >
5687
- <bool>false</bool>
5689
- <property name="buddy" >
5690
- <cstring>logFileUrlRq</cstring>
5694
- <item row="0" column="1" colspan="3" >
5695
- <widget class="KUrlRequester" name="logFileUrlRq" />
5697
- <item row="2" column="2" >
5698
- <widget class="QLabel" name="TextLabel3_3_2_2_2_2" >
5699
- <property name="text" >
5700
- <string>kB</string>
5702
- <property name="wordWrap" >
5703
- <bool>false</bool>
5707
- <item row="2" column="0" >
5708
- <widget class="QLabel" name="TextLabel2_2_2_2_2_2" >
5709
- <property name="text" >
5710
- <string>Ma&x log size:</string>
5712
- <property name="wordWrap" >
5713
- <bool>false</bool>
5715
- <property name="buddy" >
5716
- <cstring>maxLogSizeSpin</cstring>
5720
- <item row="3" column="0" >
5721
- <widget class="QLabel" name="TextLabel5_3_2_2_2_2" >
5722
- <property name="text" >
5723
- <string>S&yslog:</string>
5725
- <property name="wordWrap" >
5726
- <bool>false</bool>
5728
- <property name="buddy" >
5729
- <cstring>syslogSpin</cstring>
5733
- <item row="2" column="1" >
5734
- <widget class="KIntSpinBox" name="maxLogSizeSpin" >
5735
- <property name="maximum" >
5736
- <number>2147483647</number>
5740
- <item row="1" column="0" >
5741
- <widget class="QLabel" name="TextLabel6_2_2_2_2_2" >
5742
- <property name="sizePolicy" >
5743
- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" >
5744
- <horstretch>0</horstretch>
5745
- <verstretch>0</verstretch>
5748
- <property name="minimumSize" >
5751
- <height>0</height>
5754
- <property name="text" >
5755
- <string>Log &level:</string>
5757
- <property name="wordWrap" >
5758
- <bool>false</bool>
5760
- <property name="buddy" >
5761
- <cstring>logLevelEdit</cstring>
5765
- <item row="1" column="1" colspan="3" >
5766
- <widget class="QLineEdit" name="logLevelEdit" />
5768
- <item row="3" column="1" >
5769
- <widget class="KIntSpinBox" name="syslogSpin" >
5770
- <property name="maximum" >
5771
- <number>4</number>
5779
- <widget class="QGroupBox" name="groupBox48" >
5780
- <property name="title" >
5781
- <string>S&witches</string>
5783
- <layout class="QVBoxLayout" >
5784
- <property name="spacing" >
5785
- <number>6</number>
5787
- <property name="leftMargin" >
5788
- <number>11</number>
5790
- <property name="topMargin" >
5791
- <number>11</number>
5793
- <property name="rightMargin" >
5794
- <number>11</number>
5796
- <property name="bottomMargin" >
5797
- <number>11</number>
5800
- <widget class="QCheckBox" name="syslogOnlyChk" >
5801
- <property name="sizePolicy" >
5802
- <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
5803
- <horstretch>0</horstretch>
5804
- <verstretch>0</verstretch>
5807
- <property name="text" >
5808
- <string>Syslog o&nly</string>
5813
- <widget class="QCheckBox" name="statusChk" >
5814
- <property name="text" >
5815
- <string>Status</string>
5817
- <property name="checked" >
5823
- <widget class="QCheckBox" name="timestampChk" >
5824
- <property name="sizePolicy" >
5825
- <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
5826
- <horstretch>0</horstretch>
5827
- <verstretch>0</verstretch>
5830
- <property name="text" >
5831
- <string>Ti&mestamp</string>
5833
- <property name="checked" >
5834
- <bool>false</bool>
5839
- <widget class="QCheckBox" name="microsecondsChk" >
5840
- <property name="enabled" >
5841
- <bool>false</bool>
5843
- <property name="text" >
5844
- <string>microseconds</string>
5849
- <widget class="QCheckBox" name="debugPidChk" >
5850
- <property name="sizePolicy" >
5851
- <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
5852
- <horstretch>0</horstretch>
5853
- <verstretch>0</verstretch>
5856
- <property name="text" >
5857
- <string>Debug pid</string>
5862
- <widget class="QCheckBox" name="debugUidChk" >
5863
- <property name="text" >
5864
- <string>Debu&g uid</string>
5873
- <property name="orientation" >
5874
- <enum>Qt::Vertical</enum>
5876
- <property name="sizeType" >
5877
- <enum>QSizePolicy::Expanding</enum>
5879
- <property name="sizeHint" >
5882
- <height>60</height>
5892
- <widget class="QWidget" name="tab" >
5893
- <attribute name="title" >
5894
- <string>Tuning</string>
5896
- <layout class="QGridLayout" >
5897
- <item row="0" column="0" colspan="2" >
5898
- <widget class="QGroupBox" name="groupBox37_2" >
5899
- <property name="title" >
5900
- <string>Modules</string>
5902
- <layout class="QHBoxLayout" >
5903
- <property name="spacing" >
5904
- <number>6</number>
5906
- <property name="leftMargin" >
5907
- <number>11</number>
5909
- <property name="topMargin" >
5910
- <number>11</number>
5912
- <property name="rightMargin" >
5913
- <number>11</number>
5915
- <property name="bottomMargin" >
5916
- <number>11</number>
5919
- <widget class="QLabel" name="TextLabel4_2_2" >
5920
- <property name="text" >
5921
- <string>Pre&load modules:</string>
5923
- <property name="wordWrap" >
5924
- <bool>false</bool>
5926
- <property name="buddy" >
5927
- <cstring>preloadModulesEdit</cstring>
5932
- <widget class="QLineEdit" name="preloadModulesEdit" />
5937
- <item row="1" column="0" >
5938
- <widget class="QGroupBox" name="groupBox44" >
5939
- <property name="title" >
5940
- <string>Switches</string>
5942
- <layout class="QVBoxLayout" >
5943
- <property name="spacing" >
5944
- <number>6</number>
5946
- <property name="leftMargin" >
5947
- <number>11</number>
5949
- <property name="topMargin" >
5950
- <number>11</number>
5952
- <property name="rightMargin" >
5953
- <number>11</number>
5955
- <property name="bottomMargin" >
5956
- <number>11</number>
5959
- <widget class="QCheckBox" name="getwdCacheChk" >
5960
- <property name="text" >
5961
- <string>&Getwd cache</string>
5966
- <widget class="QCheckBox" name="useMmapChk" >
5967
- <property name="text" >
5968
- <string>Use &mmap</string>
5973
- <widget class="QCheckBox" name="kernelChangeNotifyChk" >
5974
- <property name="text" >
5975
- <string>Kernel change notif&y</string>
5980
- <widget class="QCheckBox" name="hostnameLookupsChk" >
5981
- <property name="text" >
5982
- <string>H&ostname lookups</string>
5987
- <widget class="QCheckBox" name="readRawChk" >
5988
- <property name="font" >
5991
- <property name="text" >
5992
- <string>Read ra&w</string>
5994
- <property name="checked" >
6000
- <widget class="QCheckBox" name="writeRawChk" >
6001
- <property name="font" >
6004
- <property name="text" >
6005
- <string>Write raw</string>
6007
- <property name="checked" >
6015
- <item row="1" column="1" >
6016
- <widget class="QGroupBox" name="groupBox45" >
6017
- <property name="title" >
6018
- <string>Times</string>
6020
- <layout class="QGridLayout" >
6021
- <property name="leftMargin" >
6022
- <number>11</number>
6024
- <property name="topMargin" >
6025
- <number>11</number>
6027
- <property name="rightMargin" >
6028
- <number>11</number>
6030
- <property name="bottomMargin" >
6031
- <number>11</number>
6033
- <property name="horizontalSpacing" >
6034
- <number>6</number>
6036
- <property name="verticalSpacing" >
6037
- <number>6</number>
6039
- <item row="0" column="0" >
6040
- <widget class="QLabel" name="TextLabel4_2_5" >
6041
- <property name="text" >
6042
- <string>Change notify timeout:</string>
6044
- <property name="wordWrap" >
6045
- <bool>false</bool>
6047
- <property name="buddy" >
6048
- <cstring>changeNotifyTimeoutSpin</cstring>
6052
- <item row="2" column="2" >
6053
- <widget class="QLabel" name="TextLabel5_2_3_4" >
6054
- <property name="text" >
6055
- <string comment="seconds" >Sec</string>
6057
- <property name="wordWrap" >
6058
- <bool>false</bool>
6062
- <item row="2" column="0" >
6063
- <widget class="QLabel" name="TextLabel4_2_3_4" >
6064
- <property name="text" >
6065
- <string>&Keepalive:</string>
6067
- <property name="wordWrap" >
6068
- <bool>false</bool>
6070
- <property name="buddy" >
6071
- <cstring>keepaliveSpin</cstring>
6075
- <item row="0" column="1" >
6076
- <widget class="KIntSpinBox" name="changeNotifyTimeoutSpin" >
6077
- <property name="maximum" >
6078
- <number>2147483647</number>
6082
- <item row="0" column="2" >
6083
- <widget class="QLabel" name="TextLabel5_2_5" >
6084
- <property name="text" >
6085
- <string comment="seconds" >Sec</string>
6087
- <property name="wordWrap" >
6088
- <bool>false</bool>
6092
- <item row="2" column="1" >
6093
- <widget class="KIntSpinBox" name="keepaliveSpin" >
6094
- <property name="maximum" >
6095
- <number>2147483647</number>
6099
- <item row="1" column="2" >
6100
- <widget class="QLabel" name="TextLabel5_2_2_3" >
6101
- <property name="text" >
6102
- <string comment="minutes" >Min</string>
6104
- <property name="wordWrap" >
6105
- <bool>false</bool>
6109
- <item row="1" column="0" >
6110
- <widget class="QLabel" name="TextLabel4_2_2_3" >
6111
- <property name="text" >
6112
- <string>Deadtime:</string>
6114
- <property name="wordWrap" >
6115
- <bool>false</bool>
6117
- <property name="buddy" >
6118
- <cstring>deadtimeSpin</cstring>
6122
- <item row="1" column="1" >
6123
- <widget class="KIntSpinBox" name="deadtimeSpin" >
6124
- <property name="maximum" >
6125
- <number>2147483647</number>
6129
- <item row="3" column="0" >
6130
- <widget class="QLabel" name="TextLabel4_2_3_2_4" >
6131
- <property name="text" >
6132
- <string>Lp&q cache time:</string>
6134
- <property name="wordWrap" >
6135
- <bool>false</bool>
6137
- <property name="buddy" >
6138
- <cstring>lpqCacheTimeSpin</cstring>
6142
- <item row="3" column="1" >
6143
- <widget class="KIntSpinBox" name="lpqCacheTimeSpin" >
6144
- <property name="maximum" >
6145
- <number>2147483647</number>
6149
- <item row="3" column="2" >
6150
- <widget class="QLabel" name="TextLabel5_2_3_2_4" >
6151
- <property name="text" >
6152
- <string comment="seconds" >Sec</string>
6154
- <property name="wordWrap" >
6155
- <bool>false</bool>
6159
- <item row="4" column="2" >
6160
- <widget class="QLabel" name="TextLabel5_2_3_2_4_2" >
6161
- <property name="text" >
6162
- <string comment="seconds" >Sec</string>
6164
- <property name="wordWrap" >
6165
- <bool>false</bool>
6169
- <item row="4" column="0" >
6170
- <widget class="QLabel" name="TextLabel4_2_3_2_4_2" >
6171
- <property name="text" >
6172
- <string>&Name cache timeout:</string>
6174
- <property name="wordWrap" >
6175
- <bool>false</bool>
6177
- <property name="buddy" >
6178
- <cstring>nameCacheTimeoutSpin</cstring>
6182
- <item row="4" column="1" >
6183
- <widget class="KIntSpinBox" name="nameCacheTimeoutSpin" >
6184
- <property name="maximum" >
6185
- <number>2147483647</number>
6192
- <item row="2" column="0" >
6193
- <widget class="QGroupBox" name="groupBox46" >
6194
- <property name="title" >
6195
- <string>Sizes</string>
6197
- <layout class="QGridLayout" >
6198
- <item row="0" column="0" >
6199
- <widget class="QLabel" name="TextLabel4_2_3_2_2_2_5" >
6200
- <property name="text" >
6201
- <string>Max disk size:</string>
6203
- <property name="wordWrap" >
6204
- <bool>false</bool>
6206
- <property name="buddy" >
6207
- <cstring>maxDiskSizeSpin</cstring>
6211
- <item row="0" column="1" >
6212
- <widget class="KIntSpinBox" name="maxDiskSizeSpin" >
6213
- <property name="maximum" >
6214
- <number>2147483647</number>
6218
- <item row="0" column="2" >
6219
- <widget class="QLabel" name="TextLabel5_2_3_2_2_3" >
6220
- <property name="text" >
6221
- <string comment="mega byte" >MB</string>
6223
- <property name="wordWrap" >
6224
- <bool>false</bool>
6228
- <item row="0" column="3" >
6230
- <property name="orientation" >
6231
- <enum>Qt::Horizontal</enum>
6233
- <property name="sizeHint" >
6236
- <height>20</height>
6241
- <item row="1" column="0" >
6242
- <widget class="QLabel" name="TextLabel4_2_3_2_2_2_2_2_3" >
6243
- <property name="text" >
6244
- <string>Read si&ze:</string>
6246
- <property name="wordWrap" >
6247
- <bool>false</bool>
6249
- <property name="buddy" >
6250
- <cstring>readSizeSpin</cstring>
6254
- <item row="1" column="1" >
6255
- <widget class="KIntSpinBox" name="readSizeSpin" >
6256
- <property name="maximum" >
6257
- <number>65536</number>
6261
- <item row="2" column="0" >
6262
- <widget class="QLabel" name="TextLabel4_2_3_2_2_2_3_3" >
6263
- <property name="text" >
6264
- <string>Stat cache size:</string>
6266
- <property name="wordWrap" >
6267
- <bool>false</bool>
6269
- <property name="buddy" >
6270
- <cstring>statCacheSizeSpin</cstring>
6274
- <item row="2" column="1" >
6275
- <widget class="KIntSpinBox" name="statCacheSizeSpin" >
6276
- <property name="maximum" >
6277
- <number>2147483647</number>
6281
- <item row="3" column="0" >
6282
- <widget class="QLabel" name="TextLabel4_4_2_7_2_2_2" >
6283
- <property name="font" >
6286
- <property name="text" >
6287
- <string>Ma&x xmit:</string>
6289
- <property name="wordWrap" >
6290
- <bool>false</bool>
6292
- <property name="buddy" >
6293
- <cstring>maxXmitSpin</cstring>
6297
- <item row="3" column="1" >
6298
- <widget class="KIntSpinBox" name="maxXmitSpin" >
6299
- <property name="minimum" >
6300
- <number>0</number>
6302
- <property name="maximum" >
6303
- <number>65535</number>
6310
- <item row="2" column="1" >
6311
- <widget class="QGroupBox" name="groupBox47" >
6312
- <property name="title" >
6313
- <string>Numbers</string>
6315
- <layout class="QGridLayout" >
6316
- <item row="0" column="0" >
6317
- <widget class="QLabel" name="TextLabel4_2_3_2_2_4" >
6318
- <property name="text" >
6319
- <string>Max smbd processes:</string>
6321
- <property name="wordWrap" >
6322
- <bool>false</bool>
6324
- <property name="buddy" >
6325
- <cstring>maxSmbdProcessesSpin</cstring>
6329
- <item row="0" column="1" >
6330
- <widget class="KIntSpinBox" name="maxSmbdProcessesSpin" >
6331
- <property name="maximum" >
6332
- <number>2147483647</number>
6336
- <item row="0" column="2" >
6338
- <property name="orientation" >
6339
- <enum>Qt::Horizontal</enum>
6341
- <property name="sizeHint" >
6344
- <height>20</height>
6349
- <item row="1" column="0" >
6350
- <widget class="QLabel" name="TextLabel4_2_3_2_2_2_2_4" >
6351
- <property name="text" >
6352
- <string>Max open files:</string>
6354
- <property name="wordWrap" >
6355
- <bool>false</bool>
6357
- <property name="buddy" >
6358
- <cstring>maxOpenFilesSpin</cstring>
6362
- <item row="1" column="1" >
6363
- <widget class="KIntSpinBox" name="maxOpenFilesSpin" >
6364
- <property name="maximum" >
6365
- <number>2147483647</number>
6372
- <item row="3" column="0" >
6374
- <property name="orientation" >
6375
- <enum>Qt::Vertical</enum>
6377
- <property name="sizeType" >
6378
- <enum>QSizePolicy::Expanding</enum>
6380
- <property name="sizeHint" >
6383
- <height>50</height>
6390
- <widget class="QWidget" name="tab" >
6391
- <attribute name="title" >
6392
- <string>Printing</string>
6394
- <layout class="QVBoxLayout" >
6396
- <widget class="QGroupBox" name="groupBox52" >
6397
- <property name="title" >
6398
- <string>&General</string>
6400
- <layout class="QHBoxLayout" >
6402
- <widget class="QLabel" name="TextLabel1_3" >
6403
- <property name="text" >
6404
- <string>Total print &jobs:</string>
6406
- <property name="wordWrap" >
6407
- <bool>false</bool>
6409
- <property name="buddy" >
6410
- <cstring>totalPrintJobsSpin</cstring>
6415
- <widget class="KIntSpinBox" name="totalPrintJobsSpin" >
6416
- <property name="maximum" >
6417
- <number>2147483647</number>
6423
- <property name="orientation" >
6424
- <enum>Qt::Horizontal</enum>
6426
- <property name="sizeHint" >
6429
- <height>20</height>
6438
- <widget class="QGroupBox" name="groupBox51" >
6439
- <property name="title" >
6440
- <string>Drivers</string>
6442
- <layout class="QGridLayout" >
6443
- <property name="leftMargin" >
6444
- <number>11</number>
6446
- <property name="topMargin" >
6447
- <number>11</number>
6449
- <property name="rightMargin" >
6450
- <number>11</number>
6452
- <property name="bottomMargin" >
6453
- <number>11</number>
6455
- <property name="horizontalSpacing" >
6456
- <number>6</number>
6458
- <property name="verticalSpacing" >
6459
- <number>6</number>
6461
- <item row="1" column="0" >
6462
- <widget class="QLabel" name="TextLabel4_2_4" >
6463
- <property name="text" >
6464
- <string>OS&2 driver map:</string>
6466
- <property name="wordWrap" >
6467
- <bool>false</bool>
6469
- <property name="buddy" >
6470
- <cstring>os2DriverMapUrlRq</cstring>
6474
- <item row="0" column="0" >
6475
- <widget class="QLabel" name="TextLabel1_3_4" >
6476
- <property name="text" >
6477
- <string>Printcap na&me:</string>
6479
- <property name="wordWrap" >
6480
- <bool>false</bool>
6482
- <property name="buddy" >
6483
- <cstring>printcapNameUrlRq</cstring>
6487
- <item row="0" column="1" >
6488
- <widget class="KUrlRequester" name="printcapNameUrlRq" />
6490
- <item row="1" column="1" >
6491
- <widget class="KUrlRequester" name="os2DriverMapUrlRq" />
6493
- <item row="2" column="0" >
6494
- <widget class="QLabel" name="printerDriverLbl" >
6495
- <property name="font" >
6497
- <italic>true</italic>
6500
- <property name="text" >
6501
- <string>Pri&nter driver file: </string>
6503
- <property name="wordWrap" >
6504
- <bool>false</bool>
6506
- <property name="buddy" >
6507
- <cstring>printerDriverFileUrlRq</cstring>
6511
- <item row="2" column="1" >
6512
- <widget class="KUrlRequester" name="printerDriverFileUrlRq" />
6518
- <widget class="QGroupBox" name="groupBox50" >
6519
- <property name="title" >
6520
- <string>Commands</string>
6522
- <layout class="QGridLayout" >
6523
- <property name="leftMargin" >
6524
- <number>11</number>
6526
- <property name="topMargin" >
6527
- <number>11</number>
6529
- <property name="rightMargin" >
6530
- <number>11</number>
6532
- <property name="bottomMargin" >
6533
- <number>11</number>
6535
- <property name="horizontalSpacing" >
6536
- <number>6</number>
6538
- <property name="verticalSpacing" >
6539
- <number>6</number>
6541
- <item row="2" column="0" >
6542
- <widget class="QLabel" name="TextLabel2_2_2" >
6543
- <property name="text" >
6544
- <string>Enumports command:</string>
6546
- <property name="wordWrap" >
6547
- <bool>false</bool>
6549
- <property name="buddy" >
6550
- <cstring>enumportsCommandEdit</cstring>
6554
- <item row="0" column="0" >
6555
- <widget class="QLabel" name="TextLabel3_3_3" >
6556
- <property name="text" >
6557
- <string>Addprinter command:</string>
6559
- <property name="wordWrap" >
6560
- <bool>false</bool>
6562
- <property name="buddy" >
6563
- <cstring>addprinterCommandEdit</cstring>
6567
- <item row="1" column="0" >
6568
- <widget class="QLabel" name="TextLabel3_3_2" >
6569
- <property name="text" >
6570
- <string>Deleteprinter command:</string>
6572
- <property name="wordWrap" >
6573
- <bool>false</bool>
6575
- <property name="buddy" >
6576
- <cstring>deleteprinterCommandEdit</cstring>
6580
- <item row="0" column="1" >
6581
- <widget class="QLineEdit" name="addprinterCommandEdit" />
6583
- <item row="1" column="1" >
6584
- <widget class="QLineEdit" name="deleteprinterCommandEdit" />
6586
- <item row="2" column="1" >
6587
- <widget class="QLineEdit" name="enumportsCommandEdit" />
6593
- <widget class="QGroupBox" name="groupBox49" >
6594
- <property name="title" >
6595
- <string>S&witches</string>
6597
- <layout class="QHBoxLayout" >
6598
- <property name="spacing" >
6599
- <number>6</number>
6601
- <property name="leftMargin" >
6602
- <number>11</number>
6604
- <property name="topMargin" >
6605
- <number>11</number>
6607
- <property name="rightMargin" >
6608
- <number>11</number>
6610
- <property name="bottomMargin" >
6611
- <number>11</number>
6614
- <widget class="QCheckBox" name="loadPrintersChk" >
6615
- <property name="text" >
6616
- <string>L&oad printers</string>
6621
- <widget class="QCheckBox" name="disableSpoolssChk" >
6622
- <property name="text" >
6623
- <string>Disab&le spools</string>
6628
- <widget class="QCheckBox" name="showAddPrinterWizardChk" >
6629
- <property name="text" >
6630
- <string>Show add printer wi&zard</string>
6639
- <property name="orientation" >
6640
- <enum>Qt::Vertical</enum>
6642
- <property name="sizeType" >
6643
- <enum>QSizePolicy::Expanding</enum>
6645
- <property name="sizeHint" >
6648
- <height>40</height>
6655
- <widget class="QWidget" name="TabPage" >
6656
- <attribute name="title" >
6657
- <string>Domain</string>
6659
- <layout class="QGridLayout" >
6660
- <property name="leftMargin" >
6661
- <number>0</number>
6663
- <property name="topMargin" >
6664
- <number>0</number>
6666
- <property name="rightMargin" >
6667
- <number>0</number>
6669
- <property name="bottomMargin" >
6670
- <number>0</number>
6672
- <property name="horizontalSpacing" >
6673
- <number>6</number>
6675
- <property name="verticalSpacing" >
6676
- <number>6</number>
6678
- <item row="4" column="1" >
6679
- <widget class="KIntSpinBox" name="osLevelSpin" >
6680
- <property name="sizePolicy" >
6681
- <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
6682
- <horstretch>0</horstretch>
6683
- <verstretch>0</verstretch>
6686
- <property name="maximum" >
6687
- <number>2147483647</number>
6691
- <item row="1" column="0" >
6692
- <widget class="QCheckBox" name="localMasterChk" >
6693
- <property name="sizePolicy" >
6694
- <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
6695
- <horstretch>0</horstretch>
6696
- <verstretch>0</verstretch>
6699
- <property name="text" >
6700
- <string>L&ocal master</string>
6704
- <item row="2" column="0" colspan="3" >
6705
- <widget class="QCheckBox" name="domainMasterChk" >
6706
- <property name="text" >
6707
- <string>Domai&n master</string>
6711
- <item row="3" column="0" colspan="3" >
6712
- <widget class="QCheckBox" name="domainLogonsChk" >
6713
- <property name="text" >
6714
- <string>Domain lo&gons</string>
6718
- <item row="0" column="0" >
6719
- <widget class="QCheckBox" name="preferredMasterChk" >
6720
- <property name="sizePolicy" >
6721
- <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
6722
- <horstretch>0</horstretch>
6723
- <verstretch>0</verstretch>
6726
- <property name="text" >
6727
- <string>Preferred &master</string>
6731
- <item row="4" column="0" >
6732
- <widget class="QLabel" name="TextLabel5" >
6733
- <property name="sizePolicy" >
6734
- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" >
6735
- <horstretch>0</horstretch>
6736
- <verstretch>0</verstretch>
6739
- <property name="text" >
6740
- <string>OS &level:</string>
6742
- <property name="wordWrap" >
6743
- <bool>false</bool>
6745
- <property name="buddy" >
6746
- <cstring>osLevelSpin</cstring>
6750
- <item row="5" column="0" >
6751
- <widget class="QLabel" name="TextLabel3_3_3_3" >
6752
- <property name="font" >
6755
- <property name="text" >
6756
- <string>Domain admin group:</string>
6758
- <property name="wordWrap" >
6759
- <bool>false</bool>
6761
- <property name="buddy" >
6762
- <cstring>domainAdminGroupEdit</cstring>
6766
- <item row="6" column="0" >
6767
- <widget class="QLabel" name="TextLabel3_3_3_4" >
6768
- <property name="font" >
6771
- <property name="text" >
6772
- <string>Domain guest group:</string>
6774
- <property name="wordWrap" >
6775
- <bool>false</bool>
6777
- <property name="buddy" >
6778
- <cstring>domainGuestGroupEdit</cstring>
6782
- <item row="6" column="1" colspan="2" >
6783
- <widget class="QLineEdit" name="domainGuestGroupEdit" />
6785
- <item row="5" column="1" colspan="2" >
6786
- <widget class="QLineEdit" name="domainAdminGroupEdit" />
6788
- <item row="4" column="2" >
6790
- <property name="orientation" >
6791
- <enum>Qt::Horizontal</enum>
6793
- <property name="sizeHint" >
6796
- <height>20</height>
6801
- <item row="7" column="1" >
6803
- <property name="orientation" >
6804
- <enum>Qt::Vertical</enum>
6806
- <property name="sizeHint" >
6809
- <height>40</height>
6816
- <widget class="QWidget" name="TabPage" >
6817
- <attribute name="title" >
6818
- <string>WINS</string>
6820
- <layout class="QVBoxLayout" >
6822
- <widget class="Q3ButtonGroup" name="buttonGroup4" >
6823
- <property name="title" >
6826
- <property name="lineWidth" >
6827
- <number>0</number>
6829
- <layout class="QVBoxLayout" >
6830
- <property name="spacing" >
6831
- <number>6</number>
6833
- <property name="leftMargin" >
6834
- <number>7</number>
6836
- <property name="topMargin" >
6837
- <number>7</number>
6839
- <property name="rightMargin" >
6840
- <number>7</number>
6842
- <property name="bottomMargin" >
6843
- <number>7</number>
6846
- <widget class="QRadioButton" name="noWinsSupportRadio" >
6847
- <property name="text" >
6848
- <string>Deactivate &WINS</string>
6850
- <property name="checked" >
6853
- <property name="autoRepeat" >
6859
- <widget class="QRadioButton" name="winsSupportRadio" >
6860
- <property name="text" >
6861
- <string>Act as a WI&NS server</string>
6866
- <widget class="QRadioButton" name="otherWinsRadio" >
6867
- <property name="text" >
6868
- <string>Use an&other WINS server</string>
6876
- <widget class="QGroupBox" name="groupBox35" >
6877
- <property name="enabled" >
6878
- <bool>false</bool>
6880
- <property name="title" >
6881
- <string>WINS Server Settin&gs</string>
6883
- <layout class="QGridLayout" >
6884
- <item row="0" column="0" colspan="4" >
6885
- <widget class="QCheckBox" name="dnsProxyChk" >
6886
- <property name="enabled" >
6887
- <bool>false</bool>
6889
- <property name="text" >
6890
- <string>DNS prox&y</string>
6892
- <property name="tristate" >
6893
- <bool>false</bool>
6897
- <item row="1" column="0" >
6898
- <widget class="QLabel" name="winsHookLbl" >
6899
- <property name="enabled" >
6900
- <bool>false</bool>
6902
- <property name="text" >
6903
- <string>WINS hoo&k:</string>
6905
- <property name="wordWrap" >
6906
- <bool>false</bool>
6908
- <property name="buddy" >
6909
- <cstring>winsHookEdit</cstring>
6913
- <item row="1" column="1" colspan="3" >
6914
- <widget class="QLineEdit" name="winsHookEdit" >
6915
- <property name="enabled" >
6916
- <bool>false</bool>
6920
- <item row="2" column="0" >
6921
- <widget class="QLabel" name="TextLabel4_4_2_4_3_2_2_2" >
6922
- <property name="font" >
6925
- <property name="text" >
6926
- <string>Max WINS tt&l:</string>
6928
- <property name="wordWrap" >
6929
- <bool>false</bool>
6931
- <property name="buddy" >
6932
- <cstring>maxWinsTtlSpin</cstring>
6936
- <item row="2" column="1" >
6937
- <widget class="KIntSpinBox" name="maxWinsTtlSpin" >
6938
- <property name="enabled" >
6939
- <bool>false</bool>
6941
- <property name="minimum" >
6942
- <number>0</number>
6944
- <property name="maximum" >
6945
- <number>2147483647</number>
6949
- <item row="2" column="2" >
6950
- <widget class="QLabel" name="TextLabel6_5_2_2_3_2_2_2" >
6951
- <property name="text" >
6952
- <string comment="seconds" >Sec</string>
6954
- <property name="wordWrap" >
6955
- <bool>false</bool>
6959
- <item row="2" column="3" >
6961
- <property name="orientation" >
6962
- <enum>Qt::Horizontal</enum>
6964
- <property name="sizeHint" >
6967
- <height>20</height>
6972
- <item row="3" column="0" >
6973
- <widget class="QLabel" name="TextLabel4_4_2_5_3_2_2_2" >
6974
- <property name="font" >
6977
- <property name="text" >
6978
- <string>&Min WINS ttl:</string>
6980
- <property name="wordWrap" >
6981
- <bool>false</bool>
6983
- <property name="buddy" >
6984
- <cstring>minWinsTtlSpin</cstring>
6988
- <item row="3" column="1" >
6989
- <widget class="KIntSpinBox" name="minWinsTtlSpin" >
6990
- <property name="enabled" >
6991
- <bool>false</bool>
6993
- <property name="minimum" >
6994
- <number>0</number>
6996
- <property name="maximum" >
6997
- <number>2147483647</number>
7001
- <item row="3" column="2" >
7002
- <widget class="QLabel" name="TextLabel6_5_2_4_2_2_2" >
7003
- <property name="text" >
7004
- <string comment="seconds" >Sec</string>
7006
- <property name="wordWrap" >
7007
- <bool>false</bool>
7015
- <widget class="QGroupBox" name="groupBox36" >
7016
- <property name="enabled" >
7017
- <bool>false</bool>
7019
- <property name="title" >
7020
- <string>WINS Server IP or DNS Name</string>
7022
- <layout class="QVBoxLayout" >
7023
- <property name="spacing" >
7024
- <number>6</number>
7026
- <property name="leftMargin" >
7027
- <number>11</number>
7029
- <property name="topMargin" >
7030
- <number>11</number>
7032
- <property name="rightMargin" >
7033
- <number>11</number>
7035
- <property name="bottomMargin" >
7036
- <number>11</number>
7039
- <widget class="KLineEdit" name="winsServerEdit" >
7040
- <property name="enabled" >
7041
- <bool>false</bool>
7049
- <widget class="QGroupBox" name="groupBox37" >
7050
- <property name="title" >
7051
- <string>General Options</string>
7053
- <layout class="QGridLayout" >
7054
- <property name="leftMargin" >
7055
- <number>11</number>
7057
- <property name="topMargin" >
7058
- <number>11</number>
7060
- <property name="rightMargin" >
7061
- <number>11</number>
7063
- <property name="bottomMargin" >
7064
- <number>11</number>
7066
- <property name="horizontalSpacing" >
7067
- <number>6</number>
7069
- <property name="verticalSpacing" >
7070
- <number>6</number>
7072
- <item row="1" column="0" >
7073
- <widget class="QLabel" name="TextLabel3_3_3_2" >
7074
- <property name="text" >
7075
- <string>WINS partners:</string>
7077
- <property name="wordWrap" >
7078
- <bool>false</bool>
7080
- <property name="buddy" >
7081
- <cstring>winsPartnersEdit</cstring>
7085
- <item row="1" column="1" >
7086
- <widget class="QLineEdit" name="winsPartnersEdit" />
7088
- <item row="0" column="0" colspan="2" >
7089
- <widget class="QCheckBox" name="winsProxyChk" >
7090
- <property name="enabled" >
7093
- <property name="sizePolicy" >
7094
- <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
7095
- <horstretch>0</horstretch>
7096
- <verstretch>0</verstretch>
7099
- <property name="text" >
7100
- <string>WINS pro&xy</string>
7102
- <property name="tristate" >
7103
- <bool>false</bool>
7112
- <property name="orientation" >
7113
- <enum>Qt::Vertical</enum>
7115
- <property name="sizeType" >
7116
- <enum>QSizePolicy::Expanding</enum>
7118
- <property name="sizeHint" >
7121
- <height>120</height>
7128
- <widget class="QWidget" name="tab" >
7129
- <attribute name="title" >
7130
- <string>Filenames</string>
7132
- <layout class="QVBoxLayout" >
7134
- <widget class="QGroupBox" name="groupBox54" >
7135
- <property name="title" >
7136
- <string>Ge&neral</string>
7138
- <layout class="QVBoxLayout" >
7139
- <property name="spacing" >
7140
- <number>6</number>
7142
- <property name="leftMargin" >
7143
- <number>11</number>
7145
- <property name="topMargin" >
7146
- <number>11</number>
7148
- <property name="rightMargin" >
7149
- <number>11</number>
7151
- <property name="bottomMargin" >
7152
- <number>11</number>
7155
- <widget class="QCheckBox" name="stripDotChk" >
7156
- <property name="text" >
7157
- <string>Strip d&ot</string>
7165
- <widget class="QGroupBox" name="groupBox55" >
7166
- <property name="title" >
7167
- <string>&Mangling</string>
7169
- <layout class="QGridLayout" >
7170
- <item row="0" column="0" >
7171
- <widget class="QLabel" name="TextLabel6_2_2" >
7172
- <property name="sizePolicy" >
7173
- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" >
7174
- <horstretch>0</horstretch>
7175
- <verstretch>0</verstretch>
7178
- <property name="text" >
7179
- <string>Mangled stac&k:</string>
7181
- <property name="wordWrap" >
7182
- <bool>false</bool>
7184
- <property name="buddy" >
7185
- <cstring>mangledStackSpin</cstring>
7189
- <item row="0" column="1" >
7190
- <widget class="KIntSpinBox" name="mangledStackSpin" >
7191
- <property name="sizePolicy" >
7192
- <sizepolicy vsizetype="Fixed" hsizetype="Maximum" >
7193
- <horstretch>0</horstretch>
7194
- <verstretch>0</verstretch>
7197
- <property name="maximum" >
7198
- <number>2147483647</number>
7202
- <item row="0" column="2" >
7204
- <property name="orientation" >
7205
- <enum>Qt::Horizontal</enum>
7207
- <property name="sizeHint" >
7210
- <height>20</height>
7215
- <item row="1" column="0" >
7216
- <widget class="QLabel" name="TextLabel6_2_2_2" >
7217
- <property name="sizePolicy" >
7218
- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" >
7219
- <horstretch>0</horstretch>
7220
- <verstretch>0</verstretch>
7223
- <property name="text" >
7224
- <string>Mangle prefi&x:</string>
7226
- <property name="wordWrap" >
7227
- <bool>false</bool>
7229
- <property name="buddy" >
7230
- <cstring>manglePrefixSpin</cstring>
7234
- <item row="1" column="1" >
7235
- <widget class="KIntSpinBox" name="manglePrefixSpin" >
7236
- <property name="minimum" >
7237
- <number>1</number>
7239
- <property name="maximum" >
7240
- <number>6</number>
7248
- <widget class="QGroupBox" name="groupBox53" >
7249
- <property name="title" >
7250
- <string>Specia&l</string>
7252
- <layout class="QVBoxLayout" >
7253
- <property name="spacing" >
7254
- <number>6</number>
7256
- <property name="leftMargin" >
7257
- <number>11</number>
7259
- <property name="topMargin" >
7260
- <number>11</number>
7262
- <property name="rightMargin" >
7263
- <number>11</number>
7265
- <property name="bottomMargin" >
7266
- <number>11</number>
7269
- <widget class="QCheckBox" name="statCacheChk" >
7270
- <property name="text" >
7271
- <string>Stat cache</string>
7280
- <property name="orientation" >
7281
- <enum>Qt::Vertical</enum>
7283
- <property name="sizeType" >
7284
- <enum>QSizePolicy::Expanding</enum>
7286
- <property name="sizeHint" >
7289
- <height>280</height>
7296
- <widget class="QWidget" name="tab" >
7297
- <attribute name="title" >
7298
- <string>Locking</string>
7300
- <layout class="QVBoxLayout" >
7302
- <widget class="QGroupBox" name="groupBox59" >
7303
- <property name="title" >
7304
- <string>&General</string>
7306
- <layout class="QHBoxLayout" >
7307
- <property name="spacing" >
7308
- <number>6</number>
7310
- <property name="leftMargin" >
7311
- <number>11</number>
7313
- <property name="topMargin" >
7314
- <number>11</number>
7316
- <property name="rightMargin" >
7317
- <number>11</number>
7319
- <property name="bottomMargin" >
7320
- <number>11</number>
7323
- <widget class="QCheckBox" name="kernelOplocksChk" >
7324
- <property name="text" >
7325
- <string>Use ker&nel oplocks</string>
7333
- <widget class="QGroupBox" name="groupBox56" >
7334
- <property name="title" >
7335
- <string>Direct&ories</string>
7337
- <layout class="QGridLayout" >
7338
- <property name="leftMargin" >
7339
- <number>11</number>
7341
- <property name="topMargin" >
7342
- <number>11</number>
7344
- <property name="rightMargin" >
7345
- <number>11</number>
7347
- <property name="bottomMargin" >
7348
- <number>11</number>
7350
- <property name="horizontalSpacing" >
7351
- <number>6</number>
7353
- <property name="verticalSpacing" >
7354
- <number>6</number>
7356
- <item row="0" column="0" >
7357
- <widget class="QLabel" name="TextLabel5_2" >
7358
- <property name="text" >
7359
- <string>Loc&k directory:</string>
7361
- <property name="wordWrap" >
7362
- <bool>false</bool>
7364
- <property name="buddy" >
7365
- <cstring>lockDirectoryUrlRq</cstring>
7369
- <item row="0" column="1" >
7370
- <widget class="KUrlRequester" name="lockDirectoryUrlRq" />
7372
- <item row="1" column="0" >
7373
- <widget class="QLabel" name="TextLabel6_2" >
7374
- <property name="text" >
7375
- <string>Pid director&y:</string>
7377
- <property name="wordWrap" >
7378
- <bool>false</bool>
7380
- <property name="buddy" >
7381
- <cstring>pidDirectoryUrlRq</cstring>
7385
- <item row="1" column="1" >
7386
- <widget class="KUrlRequester" name="pidDirectoryUrlRq" />
7392
- <widget class="QGroupBox" name="groupBox57" >
7393
- <property name="title" >
7394
- <string>Lock Spin</string>
7396
- <layout class="QGridLayout" >
7397
- <item row="0" column="0" >
7398
- <widget class="QLabel" name="textLabel2_2" >
7399
- <property name="text" >
7400
- <string>&Lock spin count:</string>
7402
- <property name="wordWrap" >
7403
- <bool>false</bool>
7405
- <property name="buddy" >
7406
- <cstring>lockSpinCountSpin</cstring>
7410
- <item row="0" column="1" >
7411
- <widget class="KIntSpinBox" name="lockSpinCountSpin" >
7412
- <property name="maximum" >
7413
- <number>2147483647</number>
7417
- <item row="1" column="0" >
7418
- <widget class="QLabel" name="textLabel2_2_2" >
7419
- <property name="text" >
7420
- <string>Lock spin ti&me:</string>
7422
- <property name="wordWrap" >
7423
- <bool>false</bool>
7425
- <property name="buddy" >
7426
- <cstring>lockSpinTimeSpin</cstring>
7430
- <item row="1" column="1" >
7431
- <widget class="KIntSpinBox" name="lockSpinTimeSpin" >
7432
- <property name="maximum" >
7433
- <number>2147483647</number>
7437
- <item row="1" column="2" >
7438
- <widget class="QLabel" name="textLabel3_2" >
7439
- <property name="text" >
7440
- <string>microseconds</string>
7442
- <property name="wordWrap" >
7443
- <bool>false</bool>
7447
- <item row="1" column="3" >
7449
- <property name="orientation" >
7450
- <enum>Qt::Horizontal</enum>
7452
- <property name="sizeHint" >
7455
- <height>20</height>
7464
- <widget class="QGroupBox" name="groupBox58" >
7465
- <property name="title" >
7466
- <string>Very Advanced</string>
7468
- <layout class="QHBoxLayout" >
7470
- <widget class="QLabel" name="textLabel2" >
7471
- <property name="font" >
7474
- <property name="text" >
7475
- <string>Oplock break &wait time:</string>
7477
- <property name="alignment" >
7478
- <set>Qt::AlignVCenter</set>
7480
- <property name="wordWrap" >
7481
- <bool>false</bool>
7483
- <property name="buddy" >
7484
- <cstring>oplockBreakWaitTimeSpin</cstring>
7489
- <widget class="KIntSpinBox" name="oplockBreakWaitTimeSpin" >
7490
- <property name="maximum" >
7491
- <number>2147483647</number>
7496
- <widget class="QLabel" name="textLabel3" >
7497
- <property name="text" >
7498
- <string>milliseconds</string>
7500
- <property name="wordWrap" >
7501
- <bool>false</bool>
7507
- <property name="orientation" >
7508
- <enum>Qt::Horizontal</enum>
7510
- <property name="sizeHint" >
7513
- <height>20</height>
7523
- <property name="orientation" >
7524
- <enum>Qt::Vertical</enum>
7526
- <property name="sizeType" >
7527
- <enum>QSizePolicy::Expanding</enum>
7529
- <property name="sizeHint" >
7532
- <height>120</height>
7539
- <widget class="QWidget" name="tab" >
7540
- <attribute name="title" >
7541
- <string>Charset</string>
7543
- <layout class="QVBoxLayout" >
7544
- <property name="spacing" >
7545
- <number>6</number>
7547
- <property name="leftMargin" >
7548
- <number>0</number>
7550
- <property name="topMargin" >
7551
- <number>0</number>
7553
- <property name="rightMargin" >
7554
- <number>0</number>
7556
- <property name="bottomMargin" >
7557
- <number>0</number>
7560
- <widget class="QGroupBox" name="groupBox40" >
7561
- <property name="title" >
7562
- <string>Samba &3.x</string>
7564
- <layout class="QGridLayout" >
7565
- <property name="leftMargin" >
7566
- <number>11</number>
7568
- <property name="topMargin" >
7569
- <number>11</number>
7571
- <property name="rightMargin" >
7572
- <number>11</number>
7574
- <property name="bottomMargin" >
7575
- <number>11</number>
7577
- <property name="horizontalSpacing" >
7578
- <number>6</number>
7580
- <property name="verticalSpacing" >
7581
- <number>6</number>
7583
- <item row="3" column="0" >
7584
- <widget class="QLabel" name="TextLabel1_2_4_2_2_2_2_3" >
7585
- <property name="font" >
7588
- <property name="text" >
7589
- <string>D&OS charset:</string>
7591
- <property name="wordWrap" >
7592
- <bool>false</bool>
7594
- <property name="buddy" >
7595
- <cstring>dosCharsetEdit</cstring>
7599
- <item row="3" column="1" >
7600
- <widget class="QLineEdit" name="dosCharsetEdit" >
7601
- <property name="font" >
7606
- <item row="2" column="0" >
7607
- <widget class="QLabel" name="TextLabel1_2_4_2_2_2_2_2" >
7608
- <property name="font" >
7611
- <property name="text" >
7612
- <string>UNI&X charset:</string>
7614
- <property name="wordWrap" >
7615
- <bool>false</bool>
7617
- <property name="buddy" >
7618
- <cstring>unixCharsetEdit</cstring>
7622
- <item row="2" column="1" >
7623
- <widget class="QLineEdit" name="unixCharsetEdit" >
7624
- <property name="font" >
7629
- <item row="1" column="0" >
7630
- <widget class="QLabel" name="TextLabel1_2_4_2_2_2_2" >
7631
- <property name="font" >
7634
- <property name="text" >
7635
- <string>Displa&y charset:</string>
7637
- <property name="wordWrap" >
7638
- <bool>false</bool>
7640
- <property name="buddy" >
7641
- <cstring>displayCharsetEdit</cstring>
7645
- <item row="1" column="1" >
7646
- <widget class="QLineEdit" name="displayCharsetEdit" >
7647
- <property name="font" >
7652
- <item row="0" column="0" colspan="2" >
7653
- <widget class="QCheckBox" name="unicodeChk" >
7654
- <property name="text" >
7655
- <string>U&nicode</string>
7663
- <widget class="QGroupBox" name="groupBox39" >
7664
- <property name="title" >
7665
- <string>Samba &2.x</string>
7667
- <layout class="QGridLayout" >
7668
- <property name="leftMargin" >
7669
- <number>11</number>
7671
- <property name="topMargin" >
7672
- <number>11</number>
7674
- <property name="rightMargin" >
7675
- <number>11</number>
7677
- <property name="bottomMargin" >
7678
- <number>11</number>
7680
- <property name="horizontalSpacing" >
7681
- <number>6</number>
7683
- <property name="verticalSpacing" >
7684
- <number>6</number>
7686
- <item row="0" column="0" >
7687
- <widget class="QLabel" name="TextLabel5_2_4" >
7688
- <property name="text" >
7689
- <string>Character set:</string>
7691
- <property name="wordWrap" >
7692
- <bool>false</bool>
7694
- <property name="buddy" >
7695
- <cstring>characterSetEdit</cstring>
7699
- <item row="0" column="1" >
7700
- <widget class="QLineEdit" name="characterSetEdit" />
7702
- <item row="1" column="1" >
7703
- <widget class="QLineEdit" name="clientCodePageEdit" >
7704
- <property name="font" >
7709
- <item row="4" column="0" >
7710
- <widget class="QLabel" name="TextLabel12" >
7711
- <property name="text" >
7712
- <string>Va&lid chars:</string>
7714
- <property name="wordWrap" >
7715
- <bool>false</bool>
7717
- <property name="buddy" >
7718
- <cstring>validCharsEdit</cstring>
7722
- <item row="2" column="1" >
7723
- <widget class="KUrlRequester" name="codePageDirUrlRq" >
7724
- <property name="font" >
7729
- <item row="4" column="1" >
7730
- <widget class="QLineEdit" name="validCharsEdit" />
7732
- <item row="2" column="0" >
7733
- <widget class="QLabel" name="TextLabel1_2_4_3_2" >
7734
- <property name="font" >
7737
- <property name="text" >
7738
- <string>Code page directory:</string>
7740
- <property name="wordWrap" >
7741
- <bool>false</bool>
7743
- <property name="buddy" >
7744
- <cstring>codePageDirUrlRq</cstring>
7748
- <item row="3" column="1" >
7749
- <widget class="QLineEdit" name="codingSystemEdit" >
7750
- <property name="font" >
7755
- <item row="3" column="0" >
7756
- <widget class="QLabel" name="TextLabel1_2_4_2_2_2" >
7757
- <property name="font" >
7760
- <property name="text" >
7761
- <string>Codin&g system:</string>
7763
- <property name="wordWrap" >
7764
- <bool>false</bool>
7766
- <property name="buddy" >
7767
- <cstring>codingSystemEdit</cstring>
7771
- <item row="1" column="0" >
7772
- <widget class="QLabel" name="TextLabel1_2_3_2_2" >
7773
- <property name="font" >
7776
- <property name="text" >
7777
- <string>Client code page:</string>
7779
- <property name="wordWrap" >
7780
- <bool>false</bool>
7782
- <property name="buddy" >
7783
- <cstring>clientCodePageEdit</cstring>
7792
- <property name="orientation" >
7793
- <enum>Qt::Vertical</enum>
7795
- <property name="sizeType" >
7796
- <enum>QSizePolicy::Expanding</enum>
7798
- <property name="sizeHint" >
7801
- <height>80</height>
7808
- <widget class="QWidget" name="tab" >
7809
- <attribute name="title" >
7810
- <string>Logon</string>
7812
- <layout class="QGridLayout" >
7813
- <property name="leftMargin" >
7814
- <number>0</number>
7816
- <property name="topMargin" >
7817
- <number>0</number>
7819
- <property name="rightMargin" >
7820
- <number>0</number>
7822
- <property name="bottomMargin" >
7823
- <number>0</number>
7825
- <property name="horizontalSpacing" >
7826
- <number>6</number>
7828
- <property name="verticalSpacing" >
7829
- <number>6</number>
7831
- <item row="0" column="0" >
7832
- <widget class="QGroupBox" name="groupBox60" >
7833
- <property name="title" >
7834
- <string>Add Scripts</string>
7836
- <layout class="QGridLayout" >
7837
- <property name="leftMargin" >
7838
- <number>11</number>
7840
- <property name="topMargin" >
7841
- <number>11</number>
7843
- <property name="rightMargin" >
7844
- <number>11</number>
7846
- <property name="bottomMargin" >
7847
- <number>11</number>
7849
- <property name="horizontalSpacing" >
7850
- <number>6</number>
7852
- <property name="verticalSpacing" >
7853
- <number>6</number>
7855
- <item row="0" column="0" >
7856
- <widget class="QLabel" name="TextLabel7_2" >
7857
- <property name="text" >
7858
- <string>Add user script:</string>
7860
- <property name="wordWrap" >
7861
- <bool>false</bool>
7863
- <property name="buddy" >
7864
- <cstring>addUserScriptEdit</cstring>
7868
- <item row="0" column="1" >
7869
- <widget class="QLineEdit" name="addUserScriptEdit" />
7871
- <item row="2" column="0" >
7872
- <widget class="QLabel" name="TextLabel7_2_5_2" >
7873
- <property name="text" >
7874
- <string>Add user to group script:</string>
7876
- <property name="wordWrap" >
7877
- <bool>false</bool>
7879
- <property name="buddy" >
7880
- <cstring>addUserToGroupScriptEdit</cstring>
7884
- <item row="1" column="0" >
7885
- <widget class="QLabel" name="TextLabel7_2_5" >
7886
- <property name="text" >
7887
- <string>Add gr&oup script:</string>
7889
- <property name="wordWrap" >
7890
- <bool>false</bool>
7892
- <property name="buddy" >
7893
- <cstring>addGroupScriptEdit</cstring>
7897
- <item row="1" column="1" >
7898
- <widget class="QLineEdit" name="addGroupScriptEdit" />
7900
- <item row="2" column="1" >
7901
- <widget class="QLineEdit" name="addUserToGroupScriptEdit" />
7903
- <item row="3" column="0" >
7904
- <widget class="QLabel" name="TextLabel7_2_6" >
7905
- <property name="text" >
7906
- <string>Add machine script:</string>
7908
- <property name="wordWrap" >
7909
- <bool>false</bool>
7911
- <property name="buddy" >
7912
- <cstring>addMachineScriptEdit</cstring>
7916
- <item row="3" column="1" >
7917
- <widget class="QLineEdit" name="addMachineScriptEdit" />
7922
- <item row="3" column="0" >
7924
- <property name="orientation" >
7925
- <enum>Qt::Vertical</enum>
7927
- <property name="sizeType" >
7928
- <enum>QSizePolicy::Expanding</enum>
7930
- <property name="sizeHint" >
7933
- <height>20</height>
7938
- <item row="0" column="1" >
7939
- <widget class="QGroupBox" name="groupBox61" >
7940
- <property name="title" >
7941
- <string>Delete Scripts</string>
7943
- <layout class="QGridLayout" >
7944
- <property name="leftMargin" >
7945
- <number>11</number>
7947
- <property name="topMargin" >
7948
- <number>11</number>
7950
- <property name="rightMargin" >
7951
- <number>11</number>
7953
- <property name="bottomMargin" >
7954
- <number>11</number>
7956
- <property name="horizontalSpacing" >
7957
- <number>6</number>
7959
- <property name="verticalSpacing" >
7960
- <number>6</number>
7962
- <item row="0" column="1" >
7963
- <widget class="QLineEdit" name="deleteUserScriptEdit" />
7965
- <item row="2" column="1" >
7966
- <widget class="QLineEdit" name="deleteUserFromGroupScriptEdit" />
7968
- <item row="1" column="1" >
7969
- <widget class="QLineEdit" name="deleteGroupScriptEdit" />
7971
- <item row="1" column="0" >
7972
- <widget class="QLabel" name="TextLabel7_2_2_2" >
7973
- <property name="text" >
7974
- <string>Delete group script:</string>
7976
- <property name="wordWrap" >
7977
- <bool>false</bool>
7979
- <property name="buddy" >
7980
- <cstring>deleteGroupScriptEdit</cstring>
7984
- <item row="0" column="0" >
7985
- <widget class="QLabel" name="TextLabel7_2_2" >
7986
- <property name="text" >
7987
- <string>Delete user script:</string>
7989
- <property name="wordWrap" >
7990
- <bool>false</bool>
7992
- <property name="buddy" >
7993
- <cstring>deleteUserScriptEdit</cstring>
7997
- <item row="2" column="0" >
7998
- <widget class="QLabel" name="TextLabel7_2_2_2_2" >
7999
- <property name="text" >
8000
- <string>Delete user from group script:</string>
8002
- <property name="wordWrap" >
8003
- <bool>false</bool>
8005
- <property name="buddy" >
8006
- <cstring>deleteUserFromGroupScriptEdit</cstring>
8013
- <item row="2" column="0" >
8014
- <widget class="QGroupBox" name="groupBox64" >
8015
- <property name="title" >
8016
- <string>Primary Group Script</string>
8018
- <layout class="QHBoxLayout" >
8019
- <property name="spacing" >
8020
- <number>6</number>
8022
- <property name="leftMargin" >
8023
- <number>11</number>
8025
- <property name="topMargin" >
8026
- <number>11</number>
8028
- <property name="rightMargin" >
8029
- <number>11</number>
8031
- <property name="bottomMargin" >
8032
- <number>11</number>
8035
- <widget class="QLabel" name="TextLabel7_2_5_3" >
8036
- <property name="text" >
8037
- <string>Set primar&y group script:</string>
8039
- <property name="wordWrap" >
8040
- <bool>false</bool>
8042
- <property name="buddy" >
8043
- <cstring>SetPrimaryGroupScriptEdit</cstring>
8048
- <widget class="QLineEdit" name="SetPrimaryGroupScriptEdit" />
8053
- <item row="1" column="0" >
8054
- <widget class="QGroupBox" name="groupBox62" >
8055
- <property name="title" >
8056
- <string>Shutdown</string>
8058
- <layout class="QGridLayout" >
8059
- <property name="leftMargin" >
8060
- <number>11</number>
8062
- <property name="topMargin" >
8063
- <number>11</number>
8065
- <property name="rightMargin" >
8066
- <number>11</number>
8068
- <property name="bottomMargin" >
8069
- <number>11</number>
8071
- <property name="horizontalSpacing" >
8072
- <number>6</number>
8074
- <property name="verticalSpacing" >
8075
- <number>6</number>
8077
- <item row="0" column="0" >
8078
- <widget class="QLabel" name="TextLabel7_2_3_2" >
8079
- <property name="text" >
8080
- <string>Shutdo&wn script:</string>
8082
- <property name="wordWrap" >
8083
- <bool>false</bool>
8085
- <property name="buddy" >
8086
- <cstring>shutdownScriptEdit</cstring>
8090
- <item row="1" column="0" >
8091
- <widget class="QLabel" name="TextLabel7_2_3_3" >
8092
- <property name="text" >
8093
- <string>Abort shutdown script:</string>
8095
- <property name="wordWrap" >
8096
- <bool>false</bool>
8098
- <property name="buddy" >
8099
- <cstring>abortShutdownScriptEdit</cstring>
8103
- <item row="0" column="1" >
8104
- <widget class="QLineEdit" name="shutdownScriptEdit" />
8106
- <item row="1" column="1" >
8107
- <widget class="QLineEdit" name="abortShutdownScriptEdit" />
8112
- <item rowspan="2" row="1" column="1" >
8113
- <widget class="QGroupBox" name="groupBox63" >
8114
- <property name="title" >
8115
- <string>Logon</string>
8117
- <layout class="QGridLayout" >
8118
- <property name="leftMargin" >
8119
- <number>11</number>
8121
- <property name="topMargin" >
8122
- <number>11</number>
8124
- <property name="rightMargin" >
8125
- <number>11</number>
8127
- <property name="bottomMargin" >
8128
- <number>11</number>
8130
- <property name="horizontalSpacing" >
8131
- <number>6</number>
8133
- <property name="verticalSpacing" >
8134
- <number>6</number>
8136
- <item row="2" column="0" >
8137
- <widget class="QLabel" name="TextLabel8_2_2" >
8138
- <property name="text" >
8139
- <string>Logo&n path:</string>
8141
- <property name="wordWrap" >
8142
- <bool>false</bool>
8144
- <property name="buddy" >
8145
- <cstring>logonPathUrlRq</cstring>
8149
- <item row="3" column="1" >
8150
- <widget class="KUrlRequester" name="logonHomeUrlRq" />
8152
- <item row="3" column="0" >
8153
- <widget class="QLabel" name="TextLabel8_2" >
8154
- <property name="text" >
8155
- <string>Logon ho&me:</string>
8157
- <property name="wordWrap" >
8158
- <bool>false</bool>
8160
- <property name="buddy" >
8161
- <cstring>logonHomeUrlRq</cstring>
8165
- <item row="1" column="1" >
8166
- <widget class="QLineEdit" name="logonDriveEdit" />
8168
- <item row="1" column="0" >
8169
- <widget class="QLabel" name="TextLabel7_2_4" >
8170
- <property name="text" >
8171
- <string>&Logon drive:</string>
8173
- <property name="wordWrap" >
8174
- <bool>false</bool>
8176
- <property name="buddy" >
8177
- <cstring>logonDriveEdit</cstring>
8181
- <item row="2" column="1" >
8182
- <widget class="KUrlRequester" name="logonPathUrlRq" />
8184
- <item row="0" column="0" >
8185
- <widget class="QLabel" name="TextLabel7_2_3" >
8186
- <property name="text" >
8187
- <string>Lo&gon script:</string>
8189
- <property name="wordWrap" >
8190
- <bool>false</bool>
8192
- <property name="buddy" >
8193
- <cstring>logonScriptEdit</cstring>
8197
- <item row="0" column="1" >
8198
- <widget class="QLineEdit" name="logonScriptEdit" />
8205
- <widget class="QWidget" name="tab" >
8206
- <attribute name="title" >
8207
- <string>Socket</string>
8209
- <layout class="QVBoxLayout" >
8211
- <layout class="QHBoxLayout" >
8212
- <property name="spacing" >
8213
- <number>6</number>
8215
- <property name="leftMargin" >
8216
- <number>0</number>
8218
- <property name="topMargin" >
8219
- <number>0</number>
8221
- <property name="rightMargin" >
8222
- <number>0</number>
8224
- <property name="bottomMargin" >
8225
- <number>0</number>
8228
- <widget class="QLabel" name="TextLabel15" >
8229
- <property name="text" >
8230
- <string>Socket address:</string>
8232
- <property name="wordWrap" >
8233
- <bool>false</bool>
8235
- <property name="buddy" >
8236
- <cstring>socketAddressEdit</cstring>
8241
- <widget class="QLineEdit" name="socketAddressEdit" />
8246
- <widget class="QGroupBox" name="GroupBox7" >
8247
- <property name="title" >
8248
- <string>Socket Options</string>
8250
- <layout class="QGridLayout" >
8251
- <item row="0" column="0" >
8252
- <widget class="QCheckBox" name="TCP_NODELAYChk" >
8253
- <property name="text" >
8254
- <string>TCP_NODELA&Y</string>
8258
- <item row="0" column="1" >
8259
- <widget class="QCheckBox" name="SO_SNDBUFChk" >
8260
- <property name="text" >
8261
- <string>SO_S&NDBUF:</string>
8265
- <item row="0" column="2" >
8266
- <widget class="KIntSpinBox" name="SO_SNDBUFSpin" >
8267
- <property name="enabled" >
8268
- <bool>false</bool>
8270
- <property name="maximum" >
8271
- <number>2147483647</number>
8275
- <item row="0" column="3" >
8277
- <property name="orientation" >
8278
- <enum>Qt::Horizontal</enum>
8280
- <property name="sizeHint" >
8283
- <height>20</height>
8288
- <item row="1" column="0" >
8289
- <widget class="QCheckBox" name="IPTOS_LOWDELAYChk" >
8290
- <property name="text" >
8291
- <string>IPTOS_LOWDELAY</string>
8295
- <item row="1" column="1" >
8296
- <widget class="QCheckBox" name="SO_RCVBUFChk" >
8297
- <property name="text" >
8298
- <string>SO_RCVBUF:</string>
8302
- <item row="1" column="2" >
8303
- <widget class="KIntSpinBox" name="SO_RCVBUFSpin" >
8304
- <property name="enabled" >
8305
- <bool>false</bool>
8307
- <property name="maximum" >
8308
- <number>2147483647</number>
8312
- <item row="2" column="0" >
8313
- <widget class="QCheckBox" name="IPTOS_THROUGHPUTChk" >
8314
- <property name="text" >
8315
- <string>IPTOS_THROU&GHPUT</string>
8319
- <item row="2" column="1" >
8320
- <widget class="QCheckBox" name="SO_SNDLOWATChk" >
8321
- <property name="text" >
8322
- <string>SO_SNDLO&WAT:</string>
8326
- <item row="2" column="2" >
8327
- <widget class="KIntSpinBox" name="SO_SNDLOWATSpin" >
8328
- <property name="enabled" >
8329
- <bool>false</bool>
8331
- <property name="maximum" >
8332
- <number>2147483647</number>
8336
- <item row="3" column="0" >
8337
- <widget class="QCheckBox" name="SO_KEEPALIVEChk" >
8338
- <property name="text" >
8339
- <string>SO_&KEEPALIVE</string>
8343
- <item row="3" column="1" >
8344
- <widget class="QCheckBox" name="SO_RCVLOWATChk" >
8345
- <property name="text" >
8346
- <string>SO_RCV&LOWAT:</string>
8350
- <item row="3" column="2" >
8351
- <widget class="KIntSpinBox" name="SO_RCVLOWATSpin" >
8352
- <property name="enabled" >
8353
- <bool>false</bool>
8355
- <property name="maximum" >
8356
- <number>2147483647</number>
8360
- <item row="4" column="0" >
8361
- <widget class="QCheckBox" name="SO_REUSEADDRChk" >
8362
- <property name="text" >
8363
- <string>S&O_REUSEADDR</string>
8367
- <item row="5" column="0" >
8368
- <widget class="QCheckBox" name="SO_BROADCASTChk" >
8369
- <property name="text" >
8370
- <string>SO_BROADCAST</string>
8379
- <property name="orientation" >
8380
- <enum>Qt::Vertical</enum>
8382
- <property name="sizeType" >
8383
- <enum>QSizePolicy::Expanding</enum>
8385
- <property name="sizeHint" >
8388
- <height>70</height>
8395
- <widget class="QWidget" name="tab" >
8396
- <attribute name="title" >
8397
- <string>SSL</string>
8399
- <layout class="QVBoxLayout" >
8401
- <widget class="QCheckBox" name="sslChk" >
8402
- <property name="toolTip" >
8403
- <string>Enables or disables the entire SSL mode</string>
8405
- <property name="whatsThis" >
8406
- <string>This enables or disables the entire SSL mode. If it is set to no, the SSL-enabled Samba behaves exactly like the non-SSL Samba. If set to yes, it depends on the variables ssl hosts and ssl hosts resign whether an SSL connection will be required.
8408
-This is only available if the SSL libraries have been compiled on your system and the configure option --with-ssl was given at configure time.</string>
8410
- <property name="text" >
8411
- <string>E&nable SSL</string>
8416
- <widget class="QFrame" name="SSLFrame" >
8417
- <property name="enabled" >
8418
- <bool>false</bool>
8420
- <property name="frameShape" >
8421
- <enum>QFrame::NoFrame</enum>
8423
- <property name="frameShadow" >
8424
- <enum>QFrame::Plain</enum>
8426
- <layout class="QVBoxLayout" >
8427
- <property name="spacing" >
8428
- <number>6</number>
8430
- <property name="leftMargin" >
8431
- <number>0</number>
8433
- <property name="topMargin" >
8434
- <number>0</number>
8436
- <property name="rightMargin" >
8437
- <number>0</number>
8439
- <property name="bottomMargin" >
8440
- <number>0</number>
8443
- <layout class="QGridLayout" >
8444
- <property name="leftMargin" >
8445
- <number>0</number>
8447
- <property name="topMargin" >
8448
- <number>0</number>
8450
- <property name="rightMargin" >
8451
- <number>0</number>
8453
- <property name="bottomMargin" >
8454
- <number>0</number>
8456
- <property name="horizontalSpacing" >
8457
- <number>6</number>
8459
- <property name="verticalSpacing" >
8460
- <number>6</number>
8462
- <item row="1" column="0" >
8463
- <widget class="QLabel" name="TextLabel2_4_2" >
8464
- <property name="text" >
8465
- <string>SSL h&osts:</string>
8467
- <property name="wordWrap" >
8468
- <bool>false</bool>
8470
- <property name="buddy" >
8471
- <cstring>sslHostsEdit</cstring>
8475
- <item row="6" column="1" >
8476
- <layout class="QHBoxLayout" >
8477
- <property name="spacing" >
8478
- <number>6</number>
8480
- <property name="leftMargin" >
8481
- <number>0</number>
8483
- <property name="topMargin" >
8484
- <number>0</number>
8486
- <property name="rightMargin" >
8487
- <number>0</number>
8489
- <property name="bottomMargin" >
8490
- <number>0</number>
8493
- <widget class="KUrlRequester" name="sslEntropyFileUrlRq" />
8496
- <widget class="QLabel" name="TextLabel12_2_2" >
8497
- <property name="text" >
8498
- <string>SSL entrop&y bytes:</string>
8500
- <property name="wordWrap" >
8501
- <bool>false</bool>
8503
- <property name="buddy" >
8504
- <cstring>sslEntropyBytesSpin</cstring>
8509
- <widget class="KIntSpinBox" name="sslEntropyBytesSpin" >
8510
- <property name="maximum" >
8511
- <number>2147483647</number>
8517
- <item row="2" column="1" >
8518
- <widget class="QLineEdit" name="sslHostsResignEdit" />
8520
- <item row="3" column="1" >
8521
- <widget class="KUrlRequester" name="sslCACertDirUrlRq" />
8523
- <item row="7" column="1" >
8524
- <widget class="QLineEdit" name="sslCiphersEdit" />
8526
- <item row="5" column="1" >
8527
- <widget class="QLineEdit" name="sslEgdSocketEdit" />
8529
- <item row="7" column="0" >
8530
- <widget class="QLabel" name="TextLabel14_2_2" >
8531
- <property name="text" >
8532
- <string>SSL ciphers:</string>
8534
- <property name="wordWrap" >
8535
- <bool>false</bool>
8537
- <property name="buddy" >
8538
- <cstring>sslCiphersEdit</cstring>
8542
- <item row="2" column="0" >
8543
- <widget class="QLabel" name="TextLabel3_7" >
8544
- <property name="text" >
8545
- <string>SSL hosts resi&gn:</string>
8547
- <property name="wordWrap" >
8548
- <bool>false</bool>
8550
- <property name="buddy" >
8551
- <cstring>sslHostsResignEdit</cstring>
8555
- <item row="0" column="1" >
8556
- <layout class="QHBoxLayout" >
8557
- <property name="spacing" >
8558
- <number>6</number>
8560
- <property name="leftMargin" >
8561
- <number>0</number>
8563
- <property name="topMargin" >
8564
- <number>0</number>
8566
- <property name="rightMargin" >
8567
- <number>0</number>
8569
- <property name="bottomMargin" >
8570
- <number>0</number>
8573
- <widget class="QComboBox" name="sslVersionCombo" >
8575
- <property name="text" >
8576
- <string>ssl2</string>
8580
- <property name="text" >
8581
- <string>ssl3</string>
8585
- <property name="text" >
8586
- <string>ssl2or3</string>
8590
- <property name="text" >
8591
- <string>tls1</string>
8597
- <widget class="QCheckBox" name="sslCompatibilityChk" >
8598
- <property name="text" >
8599
- <string>SSL co&mpatibility</string>
8605
- <property name="orientation" >
8606
- <enum>Qt::Horizontal</enum>
8608
- <property name="sizeHint" >
8611
- <height>20</height>
8618
- <item row="3" column="0" >
8619
- <widget class="QLabel" name="TextLabel4_4" >
8620
- <property name="text" >
8621
- <string>SSL CA certDir:</string>
8623
- <property name="wordWrap" >
8624
- <bool>false</bool>
8626
- <property name="buddy" >
8627
- <cstring>sslCACertDirUrlRq</cstring>
8631
- <item row="4" column="1" >
8632
- <widget class="KUrlRequester" name="sslCACertFileUrlRq" />
8634
- <item row="6" column="0" >
8635
- <widget class="QLabel" name="TextLabel11_2_2" >
8636
- <property name="text" >
8637
- <string>SSL entropy file:</string>
8639
- <property name="wordWrap" >
8640
- <bool>false</bool>
8642
- <property name="buddy" >
8643
- <cstring>sslEntropyFileUrlRq</cstring>
8647
- <item row="5" column="0" >
8648
- <widget class="QLabel" name="TextLabel10_2_2" >
8649
- <property name="text" >
8650
- <string>SSL egd socket:</string>
8652
- <property name="wordWrap" >
8653
- <bool>false</bool>
8655
- <property name="buddy" >
8656
- <cstring>sslEgdSocketEdit</cstring>
8660
- <item row="0" column="0" >
8661
- <widget class="QLabel" name="TextLabel15_2_2" >
8662
- <property name="text" >
8663
- <string>SSL version:</string>
8665
- <property name="wordWrap" >
8666
- <bool>false</bool>
8668
- <property name="buddy" >
8669
- <cstring>sslVersionCombo</cstring>
8673
- <item row="1" column="1" >
8674
- <widget class="QLineEdit" name="sslHostsEdit" />
8676
- <item row="4" column="0" >
8677
- <widget class="QLabel" name="TextLabel5_4_3" >
8678
- <property name="text" >
8679
- <string>SSL CA certFile:</string>
8681
- <property name="wordWrap" >
8682
- <bool>false</bool>
8684
- <property name="buddy" >
8685
- <cstring>sslCACertFileUrlRq</cstring>
8692
- <layout class="QGridLayout" >
8693
- <property name="leftMargin" >
8694
- <number>0</number>
8696
- <property name="topMargin" >
8697
- <number>0</number>
8699
- <property name="rightMargin" >
8700
- <number>0</number>
8702
- <property name="bottomMargin" >
8703
- <number>0</number>
8705
- <property name="horizontalSpacing" >
8706
- <number>6</number>
8708
- <property name="verticalSpacing" >
8709
- <number>6</number>
8711
- <item row="1" column="3" >
8712
- <widget class="KUrlRequester" name="sslClientCertUrlRq" />
8714
- <item row="0" column="2" colspan="2" >
8715
- <widget class="QCheckBox" name="sslRequireClientcertChk" >
8716
- <property name="text" >
8717
- <string>SSL require clientcert</string>
8721
- <item row="2" column="2" >
8722
- <widget class="QLabel" name="TextLabel9_2_2" >
8723
- <property name="text" >
8724
- <string>SSL client key:</string>
8726
- <property name="wordWrap" >
8727
- <bool>false</bool>
8729
- <property name="buddy" >
8730
- <cstring>sslClientKeyUrlRq</cstring>
8734
- <item row="0" column="0" colspan="2" >
8735
- <widget class="QCheckBox" name="sslRequireServercertChk" >
8736
- <property name="text" >
8737
- <string>SSL re&quire servercert</string>
8741
- <item row="2" column="3" >
8742
- <widget class="KUrlRequester" name="sslClientKeyUrlRq" />
8744
- <item row="1" column="0" >
8745
- <widget class="QLabel" name="TextLabel6_6_2" >
8746
- <property name="text" >
8747
- <string>SS&L server cert:</string>
8749
- <property name="wordWrap" >
8750
- <bool>false</bool>
8752
- <property name="buddy" >
8753
- <cstring>sslServerCertUrlRq</cstring>
8757
- <item row="1" column="2" >
8758
- <widget class="QLabel" name="TextLabel8_4" >
8759
- <property name="text" >
8760
- <string>SSL client cert:</string>
8762
- <property name="wordWrap" >
8763
- <bool>false</bool>
8765
- <property name="buddy" >
8766
- <cstring>sslClientCertUrlRq</cstring>
8770
- <item row="1" column="1" >
8771
- <widget class="KUrlRequester" name="sslServerCertUrlRq" />
8773
- <item row="2" column="1" >
8774
- <widget class="KUrlRequester" name="sslServerKeyUrlRq" />
8776
- <item row="2" column="0" >
8777
- <widget class="QLabel" name="TextLabel7_5" >
8778
- <property name="text" >
8779
- <string>SSL server &key:</string>
8781
- <property name="wordWrap" >
8782
- <bool>false</bool>
8784
- <property name="buddy" >
8785
- <cstring>sslServerKeyUrlRq</cstring>
8796
- <property name="orientation" >
8797
- <enum>Qt::Vertical</enum>
8799
- <property name="sizeType" >
8800
- <enum>QSizePolicy::Expanding</enum>
8802
- <property name="sizeHint" >
8805
- <height>30</height>
8812
- <widget class="QWidget" name="tab" >
8813
- <attribute name="title" >
8814
- <string>Protocol</string>
8816
- <layout class="QGridLayout" >
8817
- <item row="0" column="0" >
8818
- <widget class="QGroupBox" name="groupBox70" >
8819
- <property name="title" >
8820
- <string>S&witches</string>
8822
- <layout class="QGridLayout" >
8823
- <item row="0" column="0" colspan="2" >
8824
- <widget class="QCheckBox" name="timeServerChk" >
8825
- <property name="text" >
8826
- <string>Ti&me server</string>
8830
- <item row="1" column="0" colspan="2" >
8831
- <widget class="QCheckBox" name="largeReadWriteChk" >
8832
- <property name="text" >
8833
- <string>Lar&ge readwrite</string>
8837
- <item row="2" column="0" >
8838
- <widget class="QCheckBox" name="unixExtensionsChk" >
8839
- <property name="text" >
8840
- <string>UNIX extensions</string>
8842
- <property name="shortcut" >
8843
- <string>Alt+</string>
8847
- <item row="2" column="1" >
8849
- <property name="orientation" >
8850
- <enum>Qt::Horizontal</enum>
8852
- <property name="sizeHint" >
8855
- <height>20</height>
8860
- <item row="3" column="0" colspan="2" >
8861
- <widget class="QCheckBox" name="readBmpxChk" >
8862
- <property name="font" >
8865
- <property name="text" >
8866
- <string>Read bmpx</string>
8873
- <item row="0" column="1" >
8874
- <widget class="QGroupBox" name="groupBox71" >
8875
- <property name="title" >
8876
- <string>Protocol Versions</string>
8878
- <layout class="QGridLayout" >
8879
- <item row="0" column="0" >
8880
- <widget class="QLabel" name="TextLabel3_6_2" >
8881
- <property name="text" >
8882
- <string>A&nnounce as:</string>
8884
- <property name="wordWrap" >
8885
- <bool>false</bool>
8887
- <property name="buddy" >
8888
- <cstring>announceAsCombo</cstring>
8892
- <item row="0" column="1" >
8893
- <widget class="QComboBox" name="announceAsCombo" >
8894
- <property name="sizePolicy" >
8895
- <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
8896
- <horstretch>0</horstretch>
8897
- <verstretch>0</verstretch>
8901
- <property name="text" >
8902
- <string>NT</string>
8906
- <property name="text" >
8907
- <string>NT Workstation</string>
8911
- <property name="text" >
8912
- <string>win95</string>
8916
- <property name="text" >
8917
- <string>WfW</string>
8922
- <item row="0" column="2" >
8924
- <property name="orientation" >
8925
- <enum>Qt::Horizontal</enum>
8927
- <property name="sizeHint" >
8930
- <height>20</height>
8935
- <item row="1" column="0" >
8936
- <widget class="QLabel" name="TextLabel2_3_2" >
8937
- <property name="text" >
8938
- <string>Announce version:</string>
8940
- <property name="wordWrap" >
8941
- <bool>false</bool>
8943
- <property name="buddy" >
8944
- <cstring>announceVersionEdit</cstring>
8948
- <item row="1" column="1" >
8949
- <widget class="QLineEdit" name="announceVersionEdit" >
8950
- <property name="sizePolicy" >
8951
- <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
8952
- <horstretch>0</horstretch>
8953
- <verstretch>0</verstretch>
8956
- <property name="text" >
8957
- <string>4.2</string>
8961
- <item row="2" column="0" >
8962
- <widget class="QLabel" name="TextLabel1_3_4_2" >
8963
- <property name="text" >
8964
- <string>Pr&otocol:</string>
8966
- <property name="wordWrap" >
8967
- <bool>false</bool>
8969
- <property name="buddy" >
8970
- <cstring>protocolCombo</cstring>
8974
- <item row="2" column="1" >
8975
- <widget class="QComboBox" name="protocolCombo" >
8976
- <property name="sizePolicy" >
8977
- <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
8978
- <horstretch>0</horstretch>
8979
- <verstretch>0</verstretch>
8983
- <property name="text" >
8984
- <string>NT1</string>
8988
- <property name="text" >
8989
- <string>LANMAN2</string>
8993
- <property name="text" >
8994
- <string>LANMAN1</string>
8998
- <property name="text" >
8999
- <string>CORE</string>
9003
- <property name="text" >
9004
- <string>COREPLUS</string>
9009
- <item row="3" column="0" >
9010
- <widget class="QLabel" name="TextLabel1_3_2_2" >
9011
- <property name="text" >
9012
- <string>Max protocol:</string>
9014
- <property name="wordWrap" >
9015
- <bool>false</bool>
9017
- <property name="buddy" >
9018
- <cstring>maxProtocolCombo</cstring>
9022
- <item row="3" column="1" >
9023
- <widget class="QComboBox" name="maxProtocolCombo" >
9024
- <property name="sizePolicy" >
9025
- <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
9026
- <horstretch>0</horstretch>
9027
- <verstretch>0</verstretch>
9031
- <property name="text" >
9032
- <string>NT1</string>
9036
- <property name="text" >
9037
- <string>LANMAN2</string>
9041
- <property name="text" >
9042
- <string>LANMAN1</string>
9046
- <property name="text" >
9047
- <string>CORE</string>
9051
- <property name="text" >
9052
- <string>COREPLUS</string>
9057
- <item row="4" column="0" >
9058
- <widget class="QLabel" name="TextLabel1_3_3_2" >
9059
- <property name="text" >
9060
- <string>Min protocol:</string>
9062
- <property name="wordWrap" >
9063
- <bool>false</bool>
9065
- <property name="buddy" >
9066
- <cstring>minProtocolCombo</cstring>
9070
- <item row="4" column="1" >
9071
- <widget class="QComboBox" name="minProtocolCombo" >
9072
- <property name="sizePolicy" >
9073
- <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
9074
- <horstretch>0</horstretch>
9075
- <verstretch>0</verstretch>
9079
- <property name="text" >
9080
- <string>NT1</string>
9084
- <property name="text" >
9085
- <string>LANMAN2</string>
9089
- <property name="text" >
9090
- <string>LANMAN1</string>
9094
- <property name="text" >
9095
- <string>CORE</string>
9099
- <property name="text" >
9100
- <string>COREPLUS</string>
9108
- <item row="1" column="0" colspan="2" >
9109
- <widget class="QGroupBox" name="groupBox69" >
9110
- <property name="title" >
9111
- <string>Limits</string>
9113
- <layout class="QGridLayout" >
9114
- <item row="0" column="0" >
9115
- <widget class="QLabel" name="TextLabel4_4_4_2_2_2" >
9116
- <property name="font" >
9119
- <property name="text" >
9120
- <string>Ma&x mux:</string>
9122
- <property name="wordWrap" >
9123
- <bool>false</bool>
9125
- <property name="buddy" >
9126
- <cstring>maxMuxSpin</cstring>
9130
- <item row="0" column="1" >
9131
- <widget class="KIntSpinBox" name="maxMuxSpin" >
9132
- <property name="minimum" >
9133
- <number>0</number>
9135
- <property name="maximum" >
9136
- <number>2147483647</number>
9140
- <item row="1" column="0" >
9141
- <widget class="QLabel" name="TextLabel4_4_2_3_3_2_2_2" >
9142
- <property name="font" >
9145
- <property name="text" >
9146
- <string>Max tt&l:</string>
9148
- <property name="wordWrap" >
9149
- <bool>false</bool>
9151
- <property name="buddy" >
9152
- <cstring>maxTtlSpin</cstring>
9156
- <item row="1" column="1" >
9157
- <widget class="KIntSpinBox" name="maxTtlSpin" >
9158
- <property name="minimum" >
9159
- <number>0</number>
9161
- <property name="maximum" >
9162
- <number>2147483647</number>
9166
- <item row="1" column="2" >
9167
- <widget class="QLabel" name="TextLabel6_5_4_2_2_2" >
9168
- <property name="text" >
9169
- <string comment="seconds" >Sec</string>
9171
- <property name="wordWrap" >
9172
- <bool>false</bool>
9176
- <item row="1" column="3" >
9178
- <property name="orientation" >
9179
- <enum>Qt::Horizontal</enum>
9181
- <property name="sizeHint" >
9184
- <height>20</height>
9192
- <item row="2" column="0" colspan="2" >
9193
- <widget class="QGroupBox" name="groupBox72" >
9194
- <property name="title" >
9195
- <string>Listening SMB Ports</string>
9197
- <layout class="QHBoxLayout" >
9198
- <property name="spacing" >
9199
- <number>6</number>
9201
- <property name="leftMargin" >
9202
- <number>11</number>
9204
- <property name="topMargin" >
9205
- <number>11</number>
9207
- <property name="rightMargin" >
9208
- <number>11</number>
9210
- <property name="bottomMargin" >
9211
- <number>11</number>
9214
- <widget class="QLabel" name="TextLabel5_4_2_2" >
9215
- <property name="text" >
9216
- <string>SMB ports:</string>
9218
- <property name="wordWrap" >
9219
- <bool>false</bool>
9221
- <property name="buddy" >
9222
- <cstring>smbPortsEdit</cstring>
9227
- <widget class="QLineEdit" name="smbPortsEdit" >
9228
- <property name="sizePolicy" >
9229
- <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
9230
- <horstretch>0</horstretch>
9231
- <verstretch>0</verstretch>
9234
- <property name="minimumSize" >
9236
- <width>150</width>
9237
- <height>0</height>
9240
- <property name="text" >
9248
- <item row="3" column="1" >
9250
- <property name="orientation" >
9251
- <enum>Qt::Vertical</enum>
9253
- <property name="sizeType" >
9254
- <enum>QSizePolicy::Expanding</enum>
9256
- <property name="sizeHint" >
9259
- <height>50</height>
9266
- <widget class="QWidget" name="tab" >
9267
- <attribute name="title" >
9268
- <string>Browsing</string>
9270
- <layout class="QGridLayout" >
9271
- <property name="leftMargin" >
9272
- <number>0</number>
9274
- <property name="topMargin" >
9275
- <number>0</number>
9277
- <property name="rightMargin" >
9278
- <number>0</number>
9280
- <property name="bottomMargin" >
9281
- <number>0</number>
9283
- <property name="horizontalSpacing" >
9284
- <number>6</number>
9286
- <property name="verticalSpacing" >
9287
- <number>6</number>
9289
- <item row="3" column="0" >
9290
- <widget class="QLabel" name="TextLabel2" >
9291
- <property name="text" >
9292
- <string>LM i&nterval:</string>
9294
- <property name="wordWrap" >
9295
- <bool>false</bool>
9297
- <property name="buddy" >
9298
- <cstring>lmIntervalSpin</cstring>
9302
- <item row="2" column="0" >
9303
- <widget class="QLabel" name="TextLabel3_5" >
9304
- <property name="text" >
9305
- <string>L&M announce:</string>
9307
- <property name="wordWrap" >
9308
- <bool>false</bool>
9310
- <property name="buddy" >
9311
- <cstring>lmAnnounceCombo</cstring>
9315
- <item row="4" column="1" colspan="3" >
9316
- <widget class="QLineEdit" name="remoteBrowseSyncEdit" />
9318
- <item row="3" column="2" >
9319
- <widget class="QLabel" name="TextLabel27_2" >
9320
- <property name="text" >
9321
- <string>Sec</string>
9323
- <property name="wordWrap" >
9324
- <bool>false</bool>
9328
- <item row="3" column="1" >
9329
- <widget class="KIntSpinBox" name="lmIntervalSpin" >
9330
- <property name="maximum" >
9331
- <number>2147483647</number>
9335
- <item row="4" column="0" >
9336
- <widget class="QLabel" name="TextLabel14" >
9337
- <property name="text" >
9338
- <string>Remote browse s&ync:</string>
9340
- <property name="wordWrap" >
9341
- <bool>false</bool>
9343
- <property name="buddy" >
9344
- <cstring>remoteBrowseSyncEdit</cstring>
9348
- <item row="2" column="1" >
9349
- <widget class="QComboBox" name="lmAnnounceCombo" >
9351
- <property name="text" >
9352
- <string>Yes</string>
9356
- <property name="text" >
9357
- <string>No</string>
9361
- <property name="text" >
9362
- <string>Auto</string>
9367
- <item row="1" column="0" >
9368
- <widget class="QCheckBox" name="browseListChk" >
9369
- <property name="text" >
9370
- <string>Bro&wse list</string>
9374
- <item row="0" column="0" colspan="4" >
9375
- <widget class="QCheckBox" name="enhancedBrowsingChk" >
9376
- <property name="text" >
9377
- <string>Enhanced browsin&g</string>
9381
- <item row="6" column="0" >
9383
- <property name="orientation" >
9384
- <enum>Qt::Vertical</enum>
9386
- <property name="sizeType" >
9387
- <enum>QSizePolicy::Expanding</enum>
9389
- <property name="sizeHint" >
9392
- <height>300</height>
9397
- <item row="5" column="0" >
9398
- <widget class="QLabel" name="TextLabel4_2" >
9399
- <property name="text" >
9400
- <string>Pre&load:</string>
9402
- <property name="wordWrap" >
9403
- <bool>false</bool>
9405
- <property name="buddy" >
9406
- <cstring>preloadEdit</cstring>
9410
- <item row="5" column="1" colspan="3" >
9411
- <widget class="QLineEdit" name="preloadEdit" />
9413
- <item row="3" column="3" >
9415
- <property name="orientation" >
9416
- <enum>Qt::Horizontal</enum>
9418
- <property name="sizeHint" >
9421
- <height>20</height>
9428
- <widget class="QWidget" name="tab" >
9429
- <attribute name="title" >
9430
- <string>Winbind</string>
9432
- <layout class="QGridLayout" >
9433
- <property name="leftMargin" >
9434
- <number>0</number>
9436
- <property name="topMargin" >
9437
- <number>0</number>
9439
- <property name="rightMargin" >
9440
- <number>0</number>
9442
- <property name="bottomMargin" >
9443
- <number>0</number>
9445
- <item row="0" column="0" >
9446
- <widget class="QLabel" name="TextLabel21" >
9447
- <property name="text" >
9448
- <string>&Winbind/Idmap UID:</string>
9450
- <property name="wordWrap" >
9451
- <bool>false</bool>
9453
- <property name="buddy" >
9454
- <cstring>winbindUidEdit</cstring>
9458
- <item row="0" column="2" colspan="3" >
9459
- <widget class="QLineEdit" name="winbindUidEdit" />
9461
- <item row="1" column="2" colspan="3" >
9462
- <widget class="QLineEdit" name="winbindGidEdit" />
9464
- <item row="1" column="0" >
9465
- <widget class="QLabel" name="TextLabel21_2" >
9466
- <property name="text" >
9467
- <string>Winbind/Idmap &GID:</string>
9469
- <property name="wordWrap" >
9470
- <bool>false</bool>
9472
- <property name="buddy" >
9473
- <cstring>winbindGidEdit</cstring>
9477
- <item row="2" column="0" colspan="2" >
9478
- <widget class="QLabel" name="TextLabel22" >
9479
- <property name="text" >
9480
- <string>Template h&omedir:</string>
9482
- <property name="wordWrap" >
9483
- <bool>false</bool>
9485
- <property name="buddy" >
9486
- <cstring>templateHomedirEdit</cstring>
9490
- <item row="2" column="2" colspan="3" >
9491
- <widget class="QLineEdit" name="templateHomedirEdit" />
9493
- <item row="3" column="0" colspan="2" >
9494
- <widget class="QLabel" name="TextLabel23" >
9495
- <property name="text" >
9496
- <string>Temp&late shell:</string>
9498
- <property name="wordWrap" >
9499
- <bool>false</bool>
9501
- <property name="buddy" >
9502
- <cstring>templateShellEdit</cstring>
9506
- <item row="3" column="2" colspan="3" >
9507
- <widget class="QLineEdit" name="templateShellEdit" />
9509
- <item row="4" column="0" colspan="2" >
9510
- <widget class="QLabel" name="TextLabel24" >
9511
- <property name="text" >
9512
- <string>Winbind separator:</string>
9514
- <property name="wordWrap" >
9515
- <bool>false</bool>
9517
- <property name="buddy" >
9518
- <cstring>winbindSeparatorEdit</cstring>
9522
- <item row="4" column="2" colspan="3" >
9523
- <widget class="QLineEdit" name="winbindSeparatorEdit" />
9525
- <item row="5" column="0" colspan="2" >
9526
- <widget class="QLabel" name="TextLabel24_2" >
9527
- <property name="text" >
9528
- <string>Template primary group:</string>
9530
- <property name="wordWrap" >
9531
- <bool>false</bool>
9533
- <property name="buddy" >
9534
- <cstring>templatePrimaryGroupEdit</cstring>
9538
- <item row="5" column="2" colspan="3" >
9539
- <widget class="QLineEdit" name="templatePrimaryGroupEdit" />
9541
- <item row="6" column="3" >
9542
- <widget class="QLabel" name="TextLabel27" >
9543
- <property name="text" >
9544
- <string>Sec</string>
9546
- <property name="wordWrap" >
9547
- <bool>false</bool>
9551
- <item row="6" column="0" colspan="2" >
9552
- <widget class="QLabel" name="TextLabel25" >
9553
- <property name="text" >
9554
- <string>Winbind cache ti&me:</string>
9556
- <property name="wordWrap" >
9557
- <bool>false</bool>
9559
- <property name="buddy" >
9560
- <cstring>winbindCacheTimeSpin</cstring>
9564
- <item row="6" column="2" >
9565
- <widget class="KIntSpinBox" name="winbindCacheTimeSpin" >
9566
- <property name="minimum" >
9567
- <number>0</number>
9569
- <property name="maximum" >
9570
- <number>2147483647</number>
9574
- <item row="7" column="2" colspan="2" >
9575
- <widget class="QComboBox" name="aclCompatibilityCombo" >
9577
- <property name="text" >
9578
- <string>Windows NT 4</string>
9582
- <property name="text" >
9583
- <string>Windows 2000</string>
9587
- <property name="text" >
9588
- <string>Auto</string>
9593
- <item row="7" column="0" colspan="2" >
9594
- <widget class="QLabel" name="textLabel3_2_2" >
9595
- <property name="text" >
9596
- <string>Acl compatibilit&y:</string>
9598
- <property name="wordWrap" >
9599
- <bool>false</bool>
9601
- <property name="buddy" >
9602
- <cstring>aclCompatibilityCombo</cstring>
9606
- <item row="8" column="0" colspan="2" >
9607
- <widget class="QCheckBox" name="winbindEnumUsersChk" >
9608
- <property name="text" >
9609
- <string>Wi&nbind enum users</string>
9613
- <item row="9" column="0" colspan="2" >
9614
- <widget class="QCheckBox" name="winbindEnumGroupsChk" >
9615
- <property name="text" >
9616
- <string>Winbind enum groups</string>
9620
- <item row="10" column="0" colspan="5" >
9621
- <widget class="QCheckBox" name="winbindUseDefaultDomainChk" >
9622
- <property name="text" >
9623
- <string>Winbind use default domain</string>
9627
- <item row="11" column="0" colspan="5" >
9628
- <widget class="QCheckBox" name="winbindEnableLocalAccountsChk" >
9629
- <property name="text" >
9630
- <string>Winbind enable local accounts</string>
9634
- <item row="12" column="0" colspan="5" >
9635
- <widget class="QCheckBox" name="winbindTrustedDomainsOnlyChk" >
9636
- <property name="text" >
9637
- <string>Winbind trusted domains only</string>
9641
- <item row="13" column="0" colspan="5" >
9642
- <widget class="QCheckBox" name="winbindNestedGroupsChk" >
9643
- <property name="text" >
9644
- <string>Winbind nested groups</string>
9648
- <item row="14" column="1" >
9650
- <property name="orientation" >
9651
- <enum>Qt::Vertical</enum>
9653
- <property name="sizeType" >
9654
- <enum>QSizePolicy::Expanding</enum>
9656
- <property name="sizeHint" >
9659
- <height>100</height>
9664
- <item row="6" column="4" >
9666
- <property name="orientation" >
9667
- <enum>Qt::Horizontal</enum>
9669
- <property name="sizeHint" >
9672
- <height>20</height>
9679
- <widget class="QWidget" name="tab" >
9680
- <attribute name="title" >
9681
- <string>NetBIOS</string>
9683
- <layout class="QGridLayout" >
9684
- <property name="leftMargin" >
9685
- <number>0</number>
9687
- <property name="topMargin" >
9688
- <number>0</number>
9690
- <property name="rightMargin" >
9691
- <number>0</number>
9693
- <property name="bottomMargin" >
9694
- <number>0</number>
9696
- <property name="horizontalSpacing" >
9697
- <number>6</number>
9699
- <property name="verticalSpacing" >
9700
- <number>6</number>
9702
- <item row="4" column="0" >
9704
- <property name="orientation" >
9705
- <enum>Qt::Vertical</enum>
9707
- <property name="sizeType" >
9708
- <enum>QSizePolicy::Expanding</enum>
9710
- <property name="sizeHint" >
9713
- <height>280</height>
9718
- <item row="2" column="0" >
9719
- <widget class="QLabel" name="TextLabel3_4" >
9720
- <property name="font" >
9723
- <property name="text" >
9724
- <string>NetBIOS sc&ope:</string>
9726
- <property name="wordWrap" >
9727
- <bool>false</bool>
9729
- <property name="buddy" >
9730
- <cstring>netbiosScopeEdit</cstring>
9734
- <item row="1" column="0" >
9735
- <widget class="QLabel" name="TextLabel3_2" >
9736
- <property name="font" >
9739
- <property name="text" >
9740
- <string>&NetBIOS aliases:</string>
9742
- <property name="wordWrap" >
9743
- <bool>false</bool>
9745
- <property name="buddy" >
9746
- <cstring>netbiosAliasesEdit</cstring>
9750
- <item row="0" column="0" colspan="2" >
9751
- <widget class="QCheckBox" name="disableNetbiosChk" >
9752
- <property name="text" >
9753
- <string>Disab&le netbios</string>
9757
- <item row="3" column="0" >
9758
- <widget class="QLabel" name="TextLabel5_4_2" >
9759
- <property name="text" >
9760
- <string>Na&me resolve order:</string>
9762
- <property name="wordWrap" >
9763
- <bool>false</bool>
9765
- <property name="buddy" >
9766
- <cstring>nameResolveOrderEdit</cstring>
9770
- <item row="2" column="1" >
9771
- <widget class="KLineEdit" name="netbiosScopeEdit" >
9772
- <property name="font" >
9777
- <item row="1" column="1" >
9778
- <widget class="KLineEdit" name="netbiosAliasesEdit" >
9779
- <property name="font" >
9784
- <item row="3" column="1" >
9785
- <widget class="QLineEdit" name="nameResolveOrderEdit" >
9786
- <property name="sizePolicy" >
9787
- <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
9788
- <horstretch>0</horstretch>
9789
- <verstretch>0</verstretch>
9792
- <property name="minimumSize" >
9794
- <width>150</width>
9795
- <height>0</height>
9798
- <property name="text" >
9799
- <string>lmhosts host wins bcast</string>
9805
- <widget class="QWidget" name="tab" >
9806
- <attribute name="title" >
9807
- <string>VFS</string>
9809
- <layout class="QVBoxLayout" >
9810
- <property name="spacing" >
9811
- <number>6</number>
9813
- <property name="leftMargin" >
9814
- <number>0</number>
9816
- <property name="topMargin" >
9817
- <number>0</number>
9819
- <property name="rightMargin" >
9820
- <number>0</number>
9822
- <property name="bottomMargin" >
9823
- <number>0</number>
9826
- <widget class="QCheckBox" name="hostMsdfsChk" >
9827
- <property name="text" >
9828
- <string>H&ost msdfs</string>
9834
- <property name="orientation" >
9835
- <enum>Qt::Vertical</enum>
9837
- <property name="sizeType" >
9838
- <enum>QSizePolicy::Expanding</enum>
9840
- <property name="sizeHint" >
9843
- <height>30</height>
9850
- <widget class="QWidget" name="TabPage" >
9851
- <attribute name="title" >
9852
- <string>LDAP</string>
9854
- <layout class="QGridLayout" >
9855
- <item row="0" column="0" >
9856
- <widget class="QLabel" name="TextLabel3_2_2" >
9857
- <property name="font" >
9860
- <property name="text" >
9861
- <string>LDAP suffi&x:</string>
9863
- <property name="wordWrap" >
9864
- <bool>false</bool>
9866
- <property name="buddy" >
9867
- <cstring>ldapSuffixEdit</cstring>
9871
- <item row="0" column="1" colspan="3" >
9872
- <widget class="KLineEdit" name="ldapSuffixEdit" >
9873
- <property name="font" >
9878
- <item row="1" column="0" >
9879
- <widget class="QLabel" name="TextLabel3_2_2_2" >
9880
- <property name="font" >
9883
- <property name="text" >
9884
- <string>LDAP machine suffix:</string>
9886
- <property name="wordWrap" >
9887
- <bool>false</bool>
9889
- <property name="buddy" >
9890
- <cstring>ldapMachineSuffixEdit</cstring>
9894
- <item row="1" column="1" colspan="3" >
9895
- <widget class="KLineEdit" name="ldapMachineSuffixEdit" >
9896
- <property name="font" >
9901
- <item row="2" column="0" >
9902
- <widget class="QLabel" name="TextLabel3_2_2_2_2" >
9903
- <property name="font" >
9906
- <property name="text" >
9907
- <string>LDAP user suffix:</string>
9909
- <property name="wordWrap" >
9910
- <bool>false</bool>
9912
- <property name="buddy" >
9913
- <cstring>ldapUserSuffixEdit</cstring>
9917
- <item row="2" column="1" colspan="3" >
9918
- <widget class="KLineEdit" name="ldapUserSuffixEdit" >
9919
- <property name="font" >
9924
- <item row="3" column="0" >
9925
- <widget class="QLabel" name="TextLabel3_2_2_2_3" >
9926
- <property name="font" >
9929
- <property name="text" >
9930
- <string>LDAP &group suffix:</string>
9932
- <property name="wordWrap" >
9933
- <bool>false</bool>
9935
- <property name="buddy" >
9936
- <cstring>ldapGroupSuffixEdit</cstring>
9940
- <item row="3" column="1" colspan="3" >
9941
- <widget class="KLineEdit" name="ldapGroupSuffixEdit" >
9942
- <property name="font" >
9947
- <item row="4" column="0" >
9948
- <widget class="QLabel" name="TextLabel3_2_2_2_4" >
9949
- <property name="font" >
9952
- <property name="text" >
9953
- <string>LDAP idmap suffix:</string>
9955
- <property name="wordWrap" >
9956
- <bool>false</bool>
9958
- <property name="buddy" >
9959
- <cstring>ldapIdmapSuffixEdit</cstring>
9963
- <item row="4" column="1" colspan="3" >
9964
- <widget class="KLineEdit" name="ldapIdmapSuffixEdit" >
9965
- <property name="font" >
9970
- <item row="5" column="0" >
9971
- <widget class="QLabel" name="TextLabel3_2_2_2_5" >
9972
- <property name="font" >
9975
- <property name="text" >
9976
- <string>LDAP filter:</string>
9978
- <property name="wordWrap" >
9979
- <bool>false</bool>
9981
- <property name="buddy" >
9982
- <cstring>ldapFilterEdit</cstring>
9986
- <item row="5" column="1" colspan="3" >
9987
- <widget class="KLineEdit" name="ldapFilterEdit" >
9988
- <property name="font" >
9993
- <item row="6" column="0" >
9994
- <widget class="QLabel" name="TextLabel3_2_2_2_6" >
9995
- <property name="font" >
9998
- <property name="text" >
9999
- <string>LDAP ad&min dn:</string>
10001
- <property name="wordWrap" >
10002
- <bool>false</bool>
10004
- <property name="buddy" >
10005
- <cstring>ldapAdminDnEdit</cstring>
10009
- <item row="6" column="1" colspan="3" >
10010
- <widget class="KLineEdit" name="ldapAdminDnEdit" >
10011
- <property name="font" >
10016
- <item row="7" column="0" >
10017
- <widget class="QLabel" name="TextLabel3_4_2" >
10018
- <property name="font" >
10021
- <property name="text" >
10022
- <string>Idmap bac&kend:</string>
10024
- <property name="wordWrap" >
10025
- <bool>false</bool>
10027
- <property name="buddy" >
10028
- <cstring>idmapBackendEdit</cstring>
10032
- <item row="7" column="1" colspan="3" >
10033
- <widget class="KLineEdit" name="idmapBackendEdit" >
10034
- <property name="font" >
10039
- <item row="8" column="0" >
10040
- <widget class="QLabel" name="TextLabel3_4_2_2" >
10041
- <property name="font" >
10044
- <property name="text" >
10045
- <string>LDAP replication sleep:</string>
10047
- <property name="wordWrap" >
10048
- <bool>false</bool>
10050
- <property name="buddy" >
10051
- <cstring>idmapBackendEdit</cstring>
10055
- <item row="8" column="1" >
10056
- <widget class="KIntSpinBox" name="ldapReplicationSleepSpin" >
10057
- <property name="maximum" >
10058
- <number>2147483647</number>
10062
- <item row="8" column="2" >
10063
- <widget class="QLabel" name="textLabel3_3" >
10064
- <property name="text" >
10065
- <string>milliseconds</string>
10067
- <property name="wordWrap" >
10068
- <bool>false</bool>
10072
- <item row="8" column="3" >
10074
- <property name="orientation" >
10075
- <enum>Qt::Horizontal</enum>
10077
- <property name="sizeHint" >
10079
- <width>40</width>
10080
- <height>20</height>
10085
- <item row="9" column="0" >
10086
- <widget class="QLabel" name="TextLabel3_5_4" >
10087
- <property name="text" >
10088
- <string>&LDAP ssl:</string>
10090
- <property name="wordWrap" >
10091
- <bool>false</bool>
10093
- <property name="buddy" >
10094
- <cstring>ldapSslCombo</cstring>
10098
- <item row="9" column="1" >
10099
- <widget class="QComboBox" name="ldapSslCombo" >
10101
- <property name="text" >
10102
- <string>Off</string>
10106
- <property name="text" >
10107
- <string>Start_tls</string>
10111
- <property name="text" >
10112
- <string>On</string>
10117
- <item row="10" column="0" >
10118
- <widget class="QLabel" name="TextLabel3_5_4_2" >
10119
- <property name="text" >
10120
- <string>LDAP s&ync:</string>
10122
- <property name="wordWrap" >
10123
- <bool>false</bool>
10125
- <property name="buddy" >
10126
- <cstring>ldapSyncCombo</cstring>
10130
- <item row="10" column="1" >
10131
- <widget class="QComboBox" name="ldapSyncCombo" >
10133
- <property name="text" >
10134
- <string>Yes</string>
10138
- <property name="text" >
10139
- <string>No</string>
10143
- <property name="text" >
10144
- <string>Only</string>
10149
- <item row="11" column="0" >
10150
- <widget class="QCheckBox" name="ldapDeleteDnChk" >
10151
- <property name="text" >
10152
- <string>LDAP delete d&n</string>
10156
- <item row="12" column="0" >
10158
- <property name="orientation" >
10159
- <enum>Qt::Vertical</enum>
10161
- <property name="sizeType" >
10162
- <enum>QSizePolicy::Expanding</enum>
10164
- <property name="sizeHint" >
10166
- <width>20</width>
10167
- <height>130</height>
10174
- <widget class="QWidget" name="TabPage" >
10175
- <attribute name="title" >
10176
- <string>Commands</string>
10178
- <layout class="QGridLayout" >
10179
- <property name="leftMargin" >
10180
- <number>0</number>
10182
- <property name="topMargin" >
10183
- <number>0</number>
10185
- <property name="rightMargin" >
10186
- <number>0</number>
10188
- <property name="bottomMargin" >
10189
- <number>0</number>
10191
- <property name="horizontalSpacing" >
10192
- <number>6</number>
10194
- <property name="verticalSpacing" >
10195
- <number>6</number>
10197
- <item row="0" column="0" >
10198
- <widget class="QLabel" name="TextLabel1_5" >
10199
- <property name="text" >
10200
- <string>Add share c&ommand:</string>
10202
- <property name="wordWrap" >
10203
- <bool>false</bool>
10205
- <property name="buddy" >
10206
- <cstring>addShareCommandEdit</cstring>
10210
- <item row="1" column="0" >
10211
- <widget class="QLabel" name="TextLabel2_2" >
10212
- <property name="text" >
10213
- <string>Change share command:</string>
10215
- <property name="wordWrap" >
10216
- <bool>false</bool>
10218
- <property name="buddy" >
10219
- <cstring>changeShareCommandEdit</cstring>
10223
- <item row="2" column="0" >
10224
- <widget class="QLabel" name="TextLabel3_3" >
10225
- <property name="text" >
10226
- <string>De&lete share command:</string>
10228
- <property name="wordWrap" >
10229
- <bool>false</bool>
10231
- <property name="buddy" >
10232
- <cstring>deleteShareCommandEdit</cstring>
10236
- <item row="3" column="0" >
10237
- <widget class="QLabel" name="TextLabel10" >
10238
- <property name="text" >
10239
- <string>Messa&ge command:</string>
10241
- <property name="wordWrap" >
10242
- <bool>false</bool>
10244
- <property name="buddy" >
10245
- <cstring>messageCommandEdit</cstring>
10249
- <item row="4" column="0" >
10250
- <widget class="QLabel" name="TextLabel11" >
10251
- <property name="text" >
10252
- <string>Dfree co&mmand:</string>
10254
- <property name="wordWrap" >
10255
- <bool>false</bool>
10257
- <property name="buddy" >
10258
- <cstring>dfreeCommandEdit</cstring>
10262
- <item row="5" column="0" >
10263
- <widget class="QLabel" name="TextLabel1_5_2" >
10264
- <property name="text" >
10265
- <string>Set &quota command:</string>
10267
- <property name="wordWrap" >
10268
- <bool>false</bool>
10270
- <property name="buddy" >
10271
- <cstring>setQuotaCommandEdit</cstring>
10275
- <item row="6" column="0" >
10276
- <widget class="QLabel" name="TextLabel2_2_3" >
10277
- <property name="text" >
10278
- <string>Get quota command:</string>
10280
- <property name="wordWrap" >
10281
- <bool>false</bool>
10283
- <property name="buddy" >
10284
- <cstring>getQuotaCommandEdit</cstring>
10288
- <item row="8" column="0" >
10290
- <property name="orientation" >
10291
- <enum>Qt::Vertical</enum>
10293
- <property name="sizeType" >
10294
- <enum>QSizePolicy::Expanding</enum>
10296
- <property name="sizeHint" >
10298
- <width>20</width>
10299
- <height>230</height>
10304
- <item row="7" column="0" >
10305
- <widget class="QLabel" name="TextLabel20" >
10306
- <property name="text" >
10307
- <string>Pa&nic action:</string>
10309
- <property name="wordWrap" >
10310
- <bool>false</bool>
10312
- <property name="buddy" >
10313
- <cstring>panicActionEdit</cstring>
10317
- <item row="3" column="1" >
10318
- <widget class="QLineEdit" name="messageCommandEdit" />
10320
- <item row="4" column="1" >
10321
- <widget class="QLineEdit" name="dfreeCommandEdit" />
10323
- <item row="5" column="1" >
10324
- <widget class="QLineEdit" name="setQuotaCommandEdit" />
10326
- <item row="6" column="1" >
10327
- <widget class="QLineEdit" name="getQuotaCommandEdit" />
10329
- <item row="7" column="1" >
10330
- <widget class="QLineEdit" name="panicActionEdit" />
10332
- <item row="2" column="1" >
10333
- <widget class="QLineEdit" name="deleteShareCommandEdit" />
10335
- <item row="1" column="1" >
10336
- <widget class="QLineEdit" name="changeShareCommandEdit" />
10338
- <item row="0" column="1" >
10339
- <widget class="QLineEdit" name="addShareCommandEdit" />
10343
- <widget class="QWidget" name="tab" >
10344
- <attribute name="title" >
10345
- <string>Misc</string>
10347
- <layout class="QVBoxLayout" >
10349
- <widget class="QGroupBox" name="groupBox12" >
10350
- <property name="title" >
10351
- <string>Miscellaneous</string>
10353
- <layout class="QGridLayout" >
10354
- <item row="0" column="0" >
10355
- <widget class="QCheckBox" name="CheckBox68" >
10356
- <property name="text" >
10357
- <string>Hide &local users</string>
10361
- <item row="1" column="0" >
10362
- <widget class="QLabel" name="TextLabel9" >
10363
- <property name="text" >
10364
- <string>Default service:</string>
10366
- <property name="wordWrap" >
10367
- <bool>false</bool>
10369
- <property name="buddy" >
10370
- <cstring>defaultServiceEdit</cstring>
10374
- <item row="1" column="1" colspan="3" >
10375
- <widget class="QLineEdit" name="defaultServiceEdit" />
10377
- <item row="2" column="0" >
10378
- <widget class="QLabel" name="TextLabel17" >
10379
- <property name="text" >
10380
- <string>Time &offset:</string>
10382
- <property name="wordWrap" >
10383
- <bool>false</bool>
10385
- <property name="buddy" >
10386
- <cstring>timeOffsetSpin</cstring>
10390
- <item row="2" column="1" >
10391
- <widget class="KIntSpinBox" name="timeOffsetSpin" >
10392
- <property name="minimum" >
10393
- <number>0</number>
10395
- <property name="maximum" >
10396
- <number>1440</number>
10400
- <item row="2" column="2" >
10401
- <widget class="QLabel" name="TextLabel18" >
10402
- <property name="text" >
10403
- <string comment="minurtes" >Min</string>
10405
- <property name="wordWrap" >
10406
- <bool>false</bool>
10410
- <item row="2" column="3" >
10412
- <property name="orientation" >
10413
- <enum>Qt::Horizontal</enum>
10415
- <property name="sizeHint" >
10417
- <width>40</width>
10418
- <height>20</height>
10423
- <item row="3" column="0" >
10424
- <widget class="QLabel" name="TextLabel13" >
10425
- <property name="text" >
10426
- <string>Remote a&nnounce:</string>
10428
- <property name="wordWrap" >
10429
- <bool>false</bool>
10431
- <property name="buddy" >
10432
- <cstring>remoteAnnounceEdit</cstring>
10436
- <item row="3" column="1" colspan="3" >
10437
- <widget class="QLineEdit" name="remoteAnnounceEdit" />
10439
- <item row="4" column="0" >
10440
- <widget class="QLabel" name="TextLabel19" >
10441
- <property name="text" >
10442
- <string>Source environment:</string>
10444
- <property name="wordWrap" >
10445
- <bool>false</bool>
10447
- <property name="buddy" >
10448
- <cstring>sourceEnvironmentEdit</cstring>
10452
- <item row="4" column="1" colspan="3" >
10453
- <widget class="QLineEdit" name="sourceEnvironmentEdit" />
10459
- <widget class="QGroupBox" name="groupBox11" >
10460
- <property name="title" >
10461
- <string>NIS</string>
10463
- <layout class="QGridLayout" >
10464
- <property name="leftMargin" >
10465
- <number>11</number>
10467
- <property name="topMargin" >
10468
- <number>11</number>
10470
- <property name="rightMargin" >
10471
- <number>11</number>
10473
- <property name="bottomMargin" >
10474
- <number>11</number>
10476
- <property name="horizontalSpacing" >
10477
- <number>6</number>
10479
- <property name="verticalSpacing" >
10480
- <number>6</number>
10482
- <item row="0" column="0" >
10483
- <widget class="QCheckBox" name="nisHomedirChk" >
10484
- <property name="text" >
10485
- <string>NIS homedir</string>
10489
- <item row="1" column="0" >
10490
- <widget class="QLabel" name="TextLabel16" >
10491
- <property name="text" >
10492
- <string>Homedir map:</string>
10494
- <property name="wordWrap" >
10495
- <bool>false</bool>
10497
- <property name="buddy" >
10498
- <cstring>homedirMapEdit</cstring>
10502
- <item row="1" column="1" >
10503
- <widget class="QLineEdit" name="homedirMapEdit" />
10509
- <widget class="QGroupBox" name="groupBox9" >
10510
- <property name="title" >
10511
- <string>UTMP</string>
10513
- <layout class="QGridLayout" >
10514
- <property name="leftMargin" >
10515
- <number>11</number>
10517
- <property name="topMargin" >
10518
- <number>11</number>
10520
- <property name="rightMargin" >
10521
- <number>11</number>
10523
- <property name="bottomMargin" >
10524
- <number>11</number>
10526
- <property name="horizontalSpacing" >
10527
- <number>6</number>
10529
- <property name="verticalSpacing" >
10530
- <number>6</number>
10532
- <item row="1" column="0" >
10533
- <widget class="QLabel" name="TextLabel7_3" >
10534
- <property name="text" >
10535
- <string>Utmp director&y:</string>
10537
- <property name="wordWrap" >
10538
- <bool>false</bool>
10540
- <property name="buddy" >
10541
- <cstring>utmpDirectoryUrlRq</cstring>
10545
- <item row="2" column="1" >
10546
- <widget class="KUrlRequester" name="wtmpDirectoryUrlRq" />
10548
- <item row="2" column="0" >
10549
- <widget class="QLabel" name="TextLabel8_3" >
10550
- <property name="text" >
10551
- <string>&Wtmp directory:</string>
10553
- <property name="wordWrap" >
10554
- <bool>false</bool>
10556
- <property name="buddy" >
10557
- <cstring>wtmpDirectoryUrlRq</cstring>
10561
- <item row="1" column="1" >
10562
- <widget class="KUrlRequester" name="utmpDirectoryUrlRq" />
10564
- <item row="0" column="0" >
10565
- <widget class="QCheckBox" name="CheckBox51" >
10566
- <property name="text" >
10567
- <string>Ut&mp</string>
10576
- <property name="orientation" >
10577
- <enum>Qt::Vertical</enum>
10579
- <property name="sizeType" >
10580
- <enum>QSizePolicy::Expanding</enum>
10582
- <property name="sizeHint" >
10584
- <width>20</width>
10585
- <height>40</height>
10592
- <widget class="QWidget" name="tab" >
10593
- <attribute name="title" >
10594
- <string>Debug</string>
10596
- <layout class="QVBoxLayout" >
10597
- <property name="spacing" >
10598
- <number>6</number>
10600
- <property name="leftMargin" >
10601
- <number>0</number>
10603
- <property name="topMargin" >
10604
- <number>0</number>
10606
- <property name="rightMargin" >
10607
- <number>0</number>
10609
- <property name="bottomMargin" >
10610
- <number>0</number>
10613
- <widget class="QCheckBox" name="ntStatusSupportChk" >
10614
- <property name="text" >
10615
- <string>&NT status support</string>
10620
- <widget class="QCheckBox" name="ntSmbSupportChk" >
10621
- <property name="font" >
10624
- <property name="text" >
10625
- <string>NT S&MB support</string>
10627
- <property name="checked" >
10628
- <bool>true</bool>
10633
- <widget class="QCheckBox" name="ntPipeSupportChk" >
10634
- <property name="font" >
10637
- <property name="text" >
10638
- <string>NT pipe supp&ort</string>
10640
- <property name="checked" >
10641
- <bool>true</bool>
10647
- <property name="orientation" >
10648
- <enum>Qt::Vertical</enum>
10650
- <property name="sizeType" >
10651
- <enum>QSizePolicy::Expanding</enum>
10653
- <property name="sizeHint" >
10655
- <width>20</width>
10656
- <height>320</height>
10673
- <class>Q3ButtonGroup</class>
10674
- <extends>Q3GroupBox</extends>
10675
- <header>Qt3Support/Q3ButtonGroup</header>
10676
- <container>1</container>
10679
- <class>K3ListView</class>
10680
- <extends>Q3ListView</extends>
10681
- <header>k3listview.h</header>
10684
- <class>KIntSpinBox</class>
10685
- <extends>QSpinBox</extends>
10686
- <header>knuminput.h</header>
10689
- <class>KLineEdit</class>
10690
- <extends>QLineEdit</extends>
10691
- <header>klineedit.h</header>
10694
- <class>KUrlLabel</class>
10695
- <extends>QLabel</extends>
10696
- <header>kurllabel.h</header>
10699
- <class>KUrlRequester</class>
10700
- <extends>QFrame</extends>
10701
- <header>kurlrequester.h</header>
10705
- <tabstop>ntStatusSupportChk</tabstop>
10706
- <tabstop>ntSmbSupportChk</tabstop>
10707
- <tabstop>ntPipeSupportChk</tabstop>
10708
- <tabstop>CheckBox68</tabstop>
10709
- <tabstop>defaultServiceEdit</tabstop>
10710
- <tabstop>timeOffsetSpin</tabstop>
10711
- <tabstop>remoteAnnounceEdit</tabstop>
10712
- <tabstop>sourceEnvironmentEdit</tabstop>
10713
- <tabstop>nisHomedirChk</tabstop>
10714
- <tabstop>homedirMapEdit</tabstop>
10715
- <tabstop>CheckBox51</tabstop>
10716
- <tabstop>utmpDirectoryUrlRq</tabstop>
10717
- <tabstop>wtmpDirectoryUrlRq</tabstop>
10718
- <tabstop>advancedTab</tabstop>
10719
- <tabstop>addShareCommandEdit</tabstop>
10720
- <tabstop>changeShareCommandEdit</tabstop>
10721
- <tabstop>deleteShareCommandEdit</tabstop>
10722
- <tabstop>messageCommandEdit</tabstop>
10723
- <tabstop>dfreeCommandEdit</tabstop>
10724
- <tabstop>setQuotaCommandEdit</tabstop>
10725
- <tabstop>getQuotaCommandEdit</tabstop>
10726
- <tabstop>panicActionEdit</tabstop>
10727
- <tabstop>ldapSuffixEdit</tabstop>
10728
- <tabstop>ldapMachineSuffixEdit</tabstop>
10729
- <tabstop>ldapUserSuffixEdit</tabstop>
10730
- <tabstop>ldapGroupSuffixEdit</tabstop>
10731
- <tabstop>ldapIdmapSuffixEdit</tabstop>
10732
- <tabstop>ldapFilterEdit</tabstop>
10733
- <tabstop>ldapAdminDnEdit</tabstop>
10734
- <tabstop>idmapBackendEdit</tabstop>
10735
- <tabstop>ldapSslCombo</tabstop>
10736
- <tabstop>ldapSyncCombo</tabstop>
10737
- <tabstop>ldapDeleteDnChk</tabstop>
10738
- <tabstop>hostMsdfsChk</tabstop>
10739
- <tabstop>disableNetbiosChk</tabstop>
10740
- <tabstop>netbiosAliasesEdit</tabstop>
10741
- <tabstop>netbiosScopeEdit</tabstop>
10742
- <tabstop>nameResolveOrderEdit</tabstop>
10743
- <tabstop>winbindUidEdit</tabstop>
10744
- <tabstop>winbindGidEdit</tabstop>
10745
- <tabstop>templateHomedirEdit</tabstop>
10746
- <tabstop>templateShellEdit</tabstop>
10747
- <tabstop>winbindSeparatorEdit</tabstop>
10748
- <tabstop>templatePrimaryGroupEdit</tabstop>
10749
- <tabstop>winbindCacheTimeSpin</tabstop>
10750
- <tabstop>aclCompatibilityCombo</tabstop>
10751
- <tabstop>winbindEnumUsersChk</tabstop>
10752
- <tabstop>winbindEnumGroupsChk</tabstop>
10753
- <tabstop>winbindUseDefaultDomainChk</tabstop>
10754
- <tabstop>winbindEnableLocalAccountsChk</tabstop>
10755
- <tabstop>winbindTrustedDomainsOnlyChk</tabstop>
10756
- <tabstop>enhancedBrowsingChk</tabstop>
10757
- <tabstop>browseListChk</tabstop>
10758
- <tabstop>lmAnnounceCombo</tabstop>
10759
- <tabstop>lmIntervalSpin</tabstop>
10760
- <tabstop>remoteBrowseSyncEdit</tabstop>
10761
- <tabstop>preloadEdit</tabstop>
10762
- <tabstop>timeServerChk</tabstop>
10763
- <tabstop>largeReadWriteChk</tabstop>
10764
- <tabstop>unixExtensionsChk</tabstop>
10765
- <tabstop>readBmpxChk</tabstop>
10766
- <tabstop>announceAsCombo</tabstop>
10767
- <tabstop>announceVersionEdit</tabstop>
10768
- <tabstop>protocolCombo</tabstop>
10769
- <tabstop>maxProtocolCombo</tabstop>
10770
- <tabstop>minProtocolCombo</tabstop>
10771
- <tabstop>maxMuxSpin</tabstop>
10772
- <tabstop>maxTtlSpin</tabstop>
10773
- <tabstop>smbPortsEdit</tabstop>
10774
- <tabstop>sslChk</tabstop>
10775
- <tabstop>sslVersionCombo</tabstop>
10776
- <tabstop>sslCompatibilityChk</tabstop>
10777
- <tabstop>sslHostsEdit</tabstop>
10778
- <tabstop>sslHostsResignEdit</tabstop>
10779
- <tabstop>sslCACertDirUrlRq</tabstop>
10780
- <tabstop>sslCACertFileUrlRq</tabstop>
10781
- <tabstop>sslEgdSocketEdit</tabstop>
10782
- <tabstop>sslEntropyFileUrlRq</tabstop>
10783
- <tabstop>sslEntropyBytesSpin</tabstop>
10784
- <tabstop>sslCiphersEdit</tabstop>
10785
- <tabstop>sslRequireServercertChk</tabstop>
10786
- <tabstop>sslServerCertUrlRq</tabstop>
10787
- <tabstop>sslServerKeyUrlRq</tabstop>
10788
- <tabstop>sslRequireClientcertChk</tabstop>
10789
- <tabstop>sslClientCertUrlRq</tabstop>
10790
- <tabstop>sslClientKeyUrlRq</tabstop>
10791
- <tabstop>socketAddressEdit</tabstop>
10792
- <tabstop>TCP_NODELAYChk</tabstop>
10793
- <tabstop>IPTOS_LOWDELAYChk</tabstop>
10794
- <tabstop>IPTOS_THROUGHPUTChk</tabstop>
10795
- <tabstop>SO_KEEPALIVEChk</tabstop>
10796
- <tabstop>SO_REUSEADDRChk</tabstop>
10797
- <tabstop>SO_BROADCASTChk</tabstop>
10798
- <tabstop>SO_SNDBUFChk</tabstop>
10799
- <tabstop>SO_SNDBUFSpin</tabstop>
10800
- <tabstop>SO_RCVBUFChk</tabstop>
10801
- <tabstop>SO_RCVBUFSpin</tabstop>
10802
- <tabstop>SO_SNDLOWATChk</tabstop>
10803
- <tabstop>SO_SNDLOWATSpin</tabstop>
10804
- <tabstop>SO_RCVLOWATChk</tabstop>
10805
- <tabstop>SO_RCVLOWATSpin</tabstop>
10806
- <tabstop>addUserScriptEdit</tabstop>
10807
- <tabstop>addGroupScriptEdit</tabstop>
10808
- <tabstop>addUserToGroupScriptEdit</tabstop>
10809
- <tabstop>addMachineScriptEdit</tabstop>
10810
- <tabstop>shutdownScriptEdit</tabstop>
10811
- <tabstop>abortShutdownScriptEdit</tabstop>
10812
- <tabstop>SetPrimaryGroupScriptEdit</tabstop>
10813
- <tabstop>deleteUserScriptEdit</tabstop>
10814
- <tabstop>deleteGroupScriptEdit</tabstop>
10815
- <tabstop>deleteUserFromGroupScriptEdit</tabstop>
10816
- <tabstop>logonScriptEdit</tabstop>
10817
- <tabstop>logonDriveEdit</tabstop>
10818
- <tabstop>logonPathUrlRq</tabstop>
10819
- <tabstop>logonHomeUrlRq</tabstop>
10820
- <tabstop>unicodeChk</tabstop>
10821
- <tabstop>displayCharsetEdit</tabstop>
10822
- <tabstop>unixCharsetEdit</tabstop>
10823
- <tabstop>dosCharsetEdit</tabstop>
10824
- <tabstop>characterSetEdit</tabstop>
10825
- <tabstop>clientCodePageEdit</tabstop>
10826
- <tabstop>codePageDirUrlRq</tabstop>
10827
- <tabstop>codingSystemEdit</tabstop>
10828
- <tabstop>validCharsEdit</tabstop>
10829
- <tabstop>mainTab</tabstop>
10830
- <tabstop>configUrlRq</tabstop>
10831
- <tabstop>loadBtn</tabstop>
10832
- <tabstop>workgroupEdit</tabstop>
10833
- <tabstop>netbiosNameEdit</tabstop>
10834
- <tabstop>serverStringEdit</tabstop>
10835
- <tabstop>shareRadio</tabstop>
10836
- <tabstop>userRadio</tabstop>
10837
- <tabstop>serverRadio</tabstop>
10838
- <tabstop>domainRadio</tabstop>
10839
- <tabstop>adsRadio</tabstop>
10840
- <tabstop>passwordServerEdit</tabstop>
10841
- <tabstop>realmEdit</tabstop>
10842
- <tabstop>guestAccountCombo</tabstop>
10843
- <tabstop>allowGuestLoginsChk</tabstop>
10844
- <tabstop>shareListView</tabstop>
10845
- <tabstop>editDefaultShareBtn</tabstop>
10846
- <tabstop>addShareBtn</tabstop>
10847
- <tabstop>editShareBtn</tabstop>
10848
- <tabstop>removeShareBtn</tabstop>
10849
- <tabstop>printerListView</tabstop>
10850
- <tabstop>editDefaultPrinterBtn</tabstop>
10851
- <tabstop>addPrinterBtn</tabstop>
10852
- <tabstop>editPrinterBtn</tabstop>
10853
- <tabstop>removePrinterBtn</tabstop>
10854
- <tabstop>sambaUsersListView</tabstop>
10855
- <tabstop>addSambaUserBtn</tabstop>
10856
- <tabstop>removeSambaUserBtn</tabstop>
10857
- <tabstop>unixUsersListView</tabstop>
10858
- <tabstop>sambaUserPasswordBtn</tabstop>
10859
- <tabstop>joinADomainBtn</tabstop>
10860
- <tabstop>tabWidget4</tabstop>
10861
- <tabstop>mapToGuestCombo</tabstop>
10862
- <tabstop>interfacesEdit</tabstop>
10863
- <tabstop>bindInterfacesOnlyChk</tabstop>
10864
- <tabstop>rootDirectoryEdit</tabstop>
10865
- <tabstop>authMethodsEdit</tabstop>
10866
- <tabstop>hostsEquivUrlRq</tabstop>
10867
- <tabstop>privateDirUrlRq</tabstop>
10868
- <tabstop>algorithmicRidBaseSpin</tabstop>
10869
- <tabstop>obeyPamRestrictionsChk</tabstop>
10870
- <tabstop>pamPasswordChangeChk</tabstop>
10871
- <tabstop>allowTrustedDomainsChk</tabstop>
10872
- <tabstop>paranoidServerSecurityChk</tabstop>
10873
- <tabstop>encryptPasswordsChk</tabstop>
10874
- <tabstop>smbPasswdFileUrlRq</tabstop>
10875
- <tabstop>passdbBackendEdit</tabstop>
10876
- <tabstop>passwdChatEdit</tabstop>
10877
- <tabstop>passwdChatDebugChk</tabstop>
10878
- <tabstop>passwdProgramUrlRq</tabstop>
10879
- <tabstop>unixPasswordSyncChk</tabstop>
10880
- <tabstop>nullPasswordsChk</tabstop>
10881
- <tabstop>passwordLevelSpin</tabstop>
10882
- <tabstop>minPasswdLengthSpin</tabstop>
10883
- <tabstop>machinePasswordTimeoutSpin</tabstop>
10884
- <tabstop>updateEncryptedChk</tabstop>
10885
- <tabstop>usernameLevelSpin</tabstop>
10886
- <tabstop>usernameMapUrlRq</tabstop>
10887
- <tabstop>hideLocalUsersChk</tabstop>
10888
- <tabstop>restrictAnonymousChk</tabstop>
10889
- <tabstop>useRhostsChk</tabstop>
10890
- <tabstop>lanmanAuthChk</tabstop>
10891
- <tabstop>ntlmAuthChk</tabstop>
10892
- <tabstop>useSpnegoChk</tabstop>
10893
- <tabstop>serverSchannelCombo</tabstop>
10894
- <tabstop>serverSigningCombo</tabstop>
10895
- <tabstop>clientLanmanAuthChk</tabstop>
10896
- <tabstop>clientPlaintextAuthChk</tabstop>
10897
- <tabstop>clientNTLMv2AuthChk</tabstop>
10898
- <tabstop>clientUseSpnegoChk</tabstop>
10899
- <tabstop>clientSchannelCombo</tabstop>
10900
- <tabstop>clientSigningCombo</tabstop>
10901
- <tabstop>logFileUrlRq</tabstop>
10902
- <tabstop>logLevelEdit</tabstop>
10903
- <tabstop>maxLogSizeSpin</tabstop>
10904
- <tabstop>syslogSpin</tabstop>
10905
- <tabstop>syslogOnlyChk</tabstop>
10906
- <tabstop>statusChk</tabstop>
10907
- <tabstop>timestampChk</tabstop>
10908
- <tabstop>microsecondsChk</tabstop>
10909
- <tabstop>debugPidChk</tabstop>
10910
- <tabstop>debugUidChk</tabstop>
10911
- <tabstop>preloadModulesEdit</tabstop>
10912
- <tabstop>getwdCacheChk</tabstop>
10913
- <tabstop>useMmapChk</tabstop>
10914
- <tabstop>kernelChangeNotifyChk</tabstop>
10915
- <tabstop>hostnameLookupsChk</tabstop>
10916
- <tabstop>readRawChk</tabstop>
10917
- <tabstop>writeRawChk</tabstop>
10918
- <tabstop>changeNotifyTimeoutSpin</tabstop>
10919
- <tabstop>deadtimeSpin</tabstop>
10920
- <tabstop>keepaliveSpin</tabstop>
10921
- <tabstop>lpqCacheTimeSpin</tabstop>
10922
- <tabstop>nameCacheTimeoutSpin</tabstop>
10923
- <tabstop>maxDiskSizeSpin</tabstop>
10924
- <tabstop>readSizeSpin</tabstop>
10925
- <tabstop>statCacheSizeSpin</tabstop>
10926
- <tabstop>maxXmitSpin</tabstop>
10927
- <tabstop>maxSmbdProcessesSpin</tabstop>
10928
- <tabstop>maxOpenFilesSpin</tabstop>
10929
- <tabstop>totalPrintJobsSpin</tabstop>
10930
- <tabstop>printcapNameUrlRq</tabstop>
10931
- <tabstop>os2DriverMapUrlRq</tabstop>
10932
- <tabstop>printerDriverFileUrlRq</tabstop>
10933
- <tabstop>addprinterCommandEdit</tabstop>
10934
- <tabstop>deleteprinterCommandEdit</tabstop>
10935
- <tabstop>enumportsCommandEdit</tabstop>
10936
- <tabstop>loadPrintersChk</tabstop>
10937
- <tabstop>disableSpoolssChk</tabstop>
10938
- <tabstop>showAddPrinterWizardChk</tabstop>
10939
- <tabstop>preferredMasterChk</tabstop>
10940
- <tabstop>localMasterChk</tabstop>
10941
- <tabstop>domainMasterChk</tabstop>
10942
- <tabstop>domainLogonsChk</tabstop>
10943
- <tabstop>osLevelSpin</tabstop>
10944
- <tabstop>domainAdminGroupEdit</tabstop>
10945
- <tabstop>domainGuestGroupEdit</tabstop>
10946
- <tabstop>noWinsSupportRadio</tabstop>
10947
- <tabstop>dnsProxyChk</tabstop>
10948
- <tabstop>winsHookEdit</tabstop>
10949
- <tabstop>maxWinsTtlSpin</tabstop>
10950
- <tabstop>minWinsTtlSpin</tabstop>
10951
- <tabstop>winsServerEdit</tabstop>
10952
- <tabstop>winsProxyChk</tabstop>
10953
- <tabstop>winsPartnersEdit</tabstop>
10954
- <tabstop>stripDotChk</tabstop>
10955
- <tabstop>mangledStackSpin</tabstop>
10956
- <tabstop>manglePrefixSpin</tabstop>
10957
- <tabstop>statCacheChk</tabstop>
10958
- <tabstop>kernelOplocksChk</tabstop>
10959
- <tabstop>lockDirectoryUrlRq</tabstop>
10960
- <tabstop>pidDirectoryUrlRq</tabstop>
10961
- <tabstop>lockSpinCountSpin</tabstop>
10962
- <tabstop>lockSpinTimeSpin</tabstop>
10963
- <tabstop>oplockBreakWaitTimeSpin</tabstop>
10966
- <include location="global" >q3ptrlist.h</include>
10967
- <include location="global" >ui_share.h</include>
10968
- <include location="global" >knuminput.h</include>
10969
- <include location="local" >knuminput.h</include>
10974
- <sender>shareListView</sender>
10975
- <signal>doubleClicked(Q3ListViewItem*)</signal>
10976
- <receiver>editShareBtn</receiver>
10977
- <slot>animateClick()</slot>
10979
- <hint type="sourcelabel" >
10983
- <hint type="destinationlabel" >
10990
- <sender>printerListView</sender>
10991
- <signal>doubleClicked(Q3ListViewItem*)</signal>
10992
- <receiver>editPrinterBtn</receiver>
10993
- <slot>animateClick()</slot>
10995
- <hint type="sourcelabel" >
10999
- <hint type="destinationlabel" >
11006
- <sender>KUrlLabel1</sender>
11007
- <signal>leftClickedUrl()</signal>
11008
- <receiver>KcmInterface</receiver>
11009
- <slot>KUrlLabel1_leftClickedURL()</slot>
11011
- <hint type="sourcelabel" >
11015
- <hint type="destinationlabel" >
11022
- <sender>serverRadio</sender>
11023
- <signal>toggled(bool)</signal>
11024
- <receiver>passwordServerEdit</receiver>
11025
- <slot>setEnabled(bool)</slot>
11027
- <hint type="sourcelabel" >
11031
- <hint type="destinationlabel" >
11038
- <sender>domainRadio</sender>
11039
- <signal>toggled(bool)</signal>
11040
- <receiver>passwordServerEdit</receiver>
11041
- <slot>setEnabled(bool)</slot>
11043
- <hint type="sourcelabel" >
11047
- <hint type="destinationlabel" >
11054
- <sender>lmAnnounceCombo</sender>
11055
- <signal>activated(int)</signal>
11056
- <receiver>KcmInterface</receiver>
11057
- <slot>lmAnnounceCombo_activated(int)</slot>
11059
- <hint type="sourcelabel" >
11063
- <hint type="destinationlabel" >
11070
- <sender>allowGuestLoginsChk</sender>
11071
- <signal>toggled(bool)</signal>
11072
- <receiver>KcmInterface</receiver>
11073
- <slot>allowGuestLoginsChk_toggled(bool)</slot>
11075
- <hint type="sourcelabel" >
11079
- <hint type="destinationlabel" >
11086
- <sender>allowGuestLoginsChk</sender>
11087
- <signal>pressed()</signal>
11088
- <receiver>KcmInterface</receiver>
11089
- <slot>changedSlot()</slot>
11091
- <hint type="sourcelabel" >
11095
- <hint type="destinationlabel" >
11102
- <sender>SO_SNDBUFChk</sender>
11103
- <signal>toggled(bool)</signal>
11104
- <receiver>SO_SNDBUFSpin</receiver>
11105
- <slot>setEnabled(bool)</slot>
11107
- <hint type="sourcelabel" >
11111
- <hint type="destinationlabel" >
11118
- <sender>SO_RCVBUFChk</sender>
11119
- <signal>toggled(bool)</signal>
11120
- <receiver>SO_RCVBUFSpin</receiver>
11121
- <slot>setEnabled(bool)</slot>
11123
- <hint type="sourcelabel" >
11127
- <hint type="destinationlabel" >
11134
- <sender>SO_SNDLOWATChk</sender>
11135
- <signal>toggled(bool)</signal>
11136
- <receiver>SO_SNDLOWATSpin</receiver>
11137
- <slot>setEnabled(bool)</slot>
11139
- <hint type="sourcelabel" >
11143
- <hint type="destinationlabel" >
11150
- <sender>SO_RCVLOWATChk</sender>
11151
- <signal>toggled(bool)</signal>
11152
- <receiver>SO_RCVLOWATSpin</receiver>
11153
- <slot>setEnabled(bool)</slot>
11155
- <hint type="sourcelabel" >
11159
- <hint type="destinationlabel" >
11166
- <sender>shareRadio</sender>
11167
- <signal>toggled(bool)</signal>
11168
- <receiver>allowGuestLoginsChk</receiver>
11169
- <slot>setDisabled(bool)</slot>
11171
- <hint type="sourcelabel" >
11175
- <hint type="destinationlabel" >
11182
- <sender>userRadio</sender>
11183
- <signal>toggled(bool)</signal>
11184
- <receiver>allowGuestLoginsChk</receiver>
11185
- <slot>setEnabled(bool)</slot>
11187
- <hint type="sourcelabel" >
11191
- <hint type="destinationlabel" >
11198
- <sender>serverRadio</sender>
11199
- <signal>toggled(bool)</signal>
11200
- <receiver>allowGuestLoginsChk</receiver>
11201
- <slot>setEnabled(bool)</slot>
11203
- <hint type="sourcelabel" >
11207
- <hint type="destinationlabel" >
11214
- <sender>domainRadio</sender>
11215
- <signal>toggled(bool)</signal>
11216
- <receiver>allowGuestLoginsChk</receiver>
11217
- <slot>setEnabled(bool)</slot>
11219
- <hint type="sourcelabel" >
11223
- <hint type="destinationlabel" >
11230
- <sender>shareRadio</sender>
11231
- <signal>clicked()</signal>
11232
- <receiver>KcmInterface</receiver>
11233
- <slot>changedSlot()</slot>
11235
- <hint type="sourcelabel" >
11239
- <hint type="destinationlabel" >
11246
- <sender>shareRadio</sender>
11247
- <signal>clicked()</signal>
11248
- <receiver>KcmInterface</receiver>
11249
- <slot>shareRadio_clicked()</slot>
11251
- <hint type="sourcelabel" >
11255
- <hint type="destinationlabel" >
11262
- <sender>userRadio</sender>
11263
- <signal>clicked()</signal>
11264
- <receiver>KcmInterface</receiver>
11265
- <slot>changedSlot()</slot>
11267
- <hint type="sourcelabel" >
11271
- <hint type="destinationlabel" >
11278
- <sender>userRadio</sender>
11279
- <signal>clicked()</signal>
11280
- <receiver>KcmInterface</receiver>
11281
- <slot>userRadio_clicked()</slot>
11283
- <hint type="sourcelabel" >
11287
- <hint type="destinationlabel" >
11294
- <sender>serverRadio</sender>
11295
- <signal>clicked()</signal>
11296
- <receiver>KcmInterface</receiver>
11297
- <slot>serverRadio_clicked()</slot>
11299
- <hint type="sourcelabel" >
11303
- <hint type="destinationlabel" >
11310
- <sender>serverRadio</sender>
11311
- <signal>clicked()</signal>
11312
- <receiver>KcmInterface</receiver>
11313
- <slot>changedSlot()</slot>
11315
- <hint type="sourcelabel" >
11319
- <hint type="destinationlabel" >
11326
- <sender>domainRadio</sender>
11327
- <signal>clicked()</signal>
11328
- <receiver>KcmInterface</receiver>
11329
- <slot>changedSlot()</slot>
11331
- <hint type="sourcelabel" >
11335
- <hint type="destinationlabel" >
11342
- <sender>domainRadio</sender>
11343
- <signal>clicked()</signal>
11344
- <receiver>KcmInterface</receiver>
11345
- <slot>domainRadio_clicked()</slot>
11347
- <hint type="sourcelabel" >
11351
- <hint type="destinationlabel" >
11358
- <sender>passwordServerEdit</sender>
11359
- <signal>textChanged(QString)</signal>
11360
- <receiver>KcmInterface</receiver>
11361
- <slot>changedSlot()</slot>
11363
- <hint type="sourcelabel" >
11367
- <hint type="destinationlabel" >
11374
- <sender>sslChk</sender>
11375
- <signal>toggled(bool)</signal>
11376
- <receiver>SSLFrame</receiver>
11377
- <slot>setEnabled(bool)</slot>
11379
- <hint type="sourcelabel" >
11383
- <hint type="destinationlabel" >
11390
- <sender>timestampChk</sender>
11391
- <signal>toggled(bool)</signal>
11392
- <receiver>microsecondsChk</receiver>
11393
- <slot>setEnabled(bool)</slot>
11395
- <hint type="sourcelabel" >
11399
- <hint type="destinationlabel" >
11406
- <sender>adsRadio</sender>
11407
- <signal>toggled(bool)</signal>
11408
- <receiver>passwordServerEdit</receiver>
11409
- <slot>setEnabled(bool)</slot>
11411
- <hint type="sourcelabel" >
11415
- <hint type="destinationlabel" >
11422
- <sender>adsRadio</sender>
11423
- <signal>toggled(bool)</signal>
11424
- <receiver>passwordServerLabel</receiver>
11425
- <slot>setEnabled(bool)</slot>
11427
- <hint type="sourcelabel" >
11431
- <hint type="destinationlabel" >
11438
- <sender>adsRadio</sender>
11439
- <signal>toggled(bool)</signal>
11440
- <receiver>realmLabel</receiver>
11441
- <slot>setEnabled(bool)</slot>
11443
- <hint type="sourcelabel" >
11447
- <hint type="destinationlabel" >
11454
- <sender>adsRadio</sender>
11455
- <signal>toggled(bool)</signal>
11456
- <receiver>realmEdit</receiver>
11457
- <slot>setEnabled(bool)</slot>
11459
- <hint type="sourcelabel" >
11463
- <hint type="destinationlabel" >
11470
- <sender>allowGuestLoginsChk</sender>
11471
- <signal>toggled(bool)</signal>
11472
- <receiver>TextLabel6_5</receiver>
11473
- <slot>setEnabled(bool)</slot>
11475
- <hint type="sourcelabel" >
11479
- <hint type="destinationlabel" >
11486
- <sender>allowGuestLoginsChk</sender>
11487
- <signal>toggled(bool)</signal>
11488
- <receiver>guestAccountCombo</receiver>
11489
- <slot>setEnabled(bool)</slot>
11491
- <hint type="sourcelabel" >
11495
- <hint type="destinationlabel" >
11502
- <sender>domainRadio</sender>
11503
- <signal>toggled(bool)</signal>
11504
- <receiver>passwordServerLabel</receiver>
11505
- <slot>setEnabled(bool)</slot>
11507
- <hint type="sourcelabel" >
11511
- <hint type="destinationlabel" >
11518
- <sender>domainRadio</sender>
11519
- <signal>toggled(bool)</signal>
11520
- <receiver>passwordServerEdit</receiver>
11521
- <slot>setEnabled(bool)</slot>
11523
- <hint type="sourcelabel" >
11527
- <hint type="destinationlabel" >
11534
- <sender>serverRadio</sender>
11535
- <signal>toggled(bool)</signal>
11536
- <receiver>passwordServerLabel</receiver>
11537
- <slot>setEnabled(bool)</slot>
11539
- <hint type="sourcelabel" >
11543
- <hint type="destinationlabel" >
11550
- <sender>serverRadio</sender>
11551
- <signal>toggled(bool)</signal>
11552
- <receiver>passwordServerEdit</receiver>
11553
- <slot>setEnabled(bool)</slot>
11555
- <hint type="sourcelabel" >
11559
- <hint type="destinationlabel" >
11566
- <sender>adsRadio</sender>
11567
- <signal>toggled(bool)</signal>
11568
- <receiver>allowGuestLoginsChk</receiver>
11569
- <slot>setEnabled(bool)</slot>
11571
- <hint type="sourcelabel" >
11575
- <hint type="destinationlabel" >
11582
- <sender>shareRadio</sender>
11583
- <signal>toggled(bool)</signal>
11584
- <receiver>TextLabel6_5</receiver>
11585
- <slot>setDisabled(bool)</slot>
11587
- <hint type="sourcelabel" >
11591
- <hint type="destinationlabel" >
11598
- <sender>shareRadio</sender>
11599
- <signal>toggled(bool)</signal>
11600
- <receiver>guestAccountCombo</receiver>
11601
- <slot>setDisabled(bool)</slot>
11603
- <hint type="sourcelabel" >
11607
- <hint type="destinationlabel" >
11614
- <sender>winsSupportRadio</sender>
11615
- <signal>toggled(bool)</signal>
11616
- <receiver>groupBox35</receiver>
11617
- <slot>setEnabled(bool)</slot>
11619
- <hint type="sourcelabel" >
11623
- <hint type="destinationlabel" >
11630
- <sender>otherWinsRadio</sender>
11631
- <signal>toggled(bool)</signal>
11632
- <receiver>groupBox36</receiver>
11633
- <slot>setEnabled(bool)</slot>
11635
- <hint type="sourcelabel" >
11639
- <hint type="destinationlabel" >
11646
- <sender>winsSupportRadio</sender>
11647
- <signal>toggled(bool)</signal>
11648
- <receiver>dnsProxyChk</receiver>
11649
- <slot>setEnabled(bool)</slot>
11651
- <hint type="sourcelabel" >
11655
- <hint type="destinationlabel" >
11662
- <sender>winsSupportRadio</sender>
11663
- <signal>toggled(bool)</signal>
11664
- <receiver>winsHookEdit</receiver>
11665
- <slot>setEnabled(bool)</slot>
11667
- <hint type="sourcelabel" >
11671
- <hint type="destinationlabel" >
11678
- <sender>winsSupportRadio</sender>
11679
- <signal>toggled(bool)</signal>
11680
- <receiver>winsHookEdit</receiver>
11681
- <slot>setEnabled(bool)</slot>
11683
- <hint type="sourcelabel" >
11687
- <hint type="destinationlabel" >
11694
- <sender>winsSupportRadio</sender>
11695
- <signal>toggled(bool)</signal>
11696
- <receiver>maxWinsTtlSpin</receiver>
11697
- <slot>setEnabled(bool)</slot>
11699
- <hint type="sourcelabel" >
11703
- <hint type="destinationlabel" >
11710
- <sender>winsSupportRadio</sender>
11711
- <signal>toggled(bool)</signal>
11712
- <receiver>minWinsTtlSpin</receiver>
11713
- <slot>setEnabled(bool)</slot>
11715
- <hint type="sourcelabel" >
11719
- <hint type="destinationlabel" >
11726
- <sender>otherWinsRadio</sender>
11727
- <signal>toggled(bool)</signal>
11728
- <receiver>winsServerEdit</receiver>
11729
- <slot>setEnabled(bool)</slot>
11731
- <hint type="sourcelabel" >
11735
- <hint type="destinationlabel" >
11742
- <sender>winsSupportRadio</sender>
11743
- <signal>toggled(bool)</signal>
11744
- <receiver>winsHookLbl</receiver>
11745
- <slot>setEnabled(bool)</slot>
11747
- <hint type="sourcelabel" >
11751
- <hint type="destinationlabel" >
11758
- <sender>adsRadio</sender>
11759
- <signal>clicked()</signal>
11760
- <receiver>KcmInterface</receiver>
11761
- <slot>adsRadioClicked()</slot>
11763
- <hint type="sourcelabel" >
11767
- <hint type="destinationlabel" >
11775
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/kcminterface.ui.h
11776
===================================================================
11777
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/kcminterface.ui.h 2011-01-19 17:21:04.000000000 -0500
11778
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
11780
-/****************************************************************************
11781
-** ui.h extension file, included from the uic-generated form implementation.
11783
-** If you wish to add, delete or rename slots use Qt Designer which will
11784
-** update this file, preserving your code. Create an init() slot in place of
11785
-** a constructor, and a destroy() slot in place of a destructor.
11786
-*****************************************************************************/
11788
-/******************************************************************************
11790
- * This file is part of KSambaPlugin. *
11792
- * KSambaPlugin is free software; you can redistribute it and/or modify *
11793
- * it under the terms of the GNU General Public License as published by *
11794
- * the Free Software Foundation; either version 2 of the License, or *
11795
- * (at your option) any later version. *
11797
- * KSambaPlugin is distributed in the hope that it will be useful, *
11798
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11799
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
11800
- * GNU General Public License for more details. *
11802
- * You should have received a copy of the GNU General Public License *
11803
- * along with KSambaPlugin; if not, write to the Free Software Foundation, *
11804
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
11806
- ******************************************************************************/
11808
-#ifndef KCM_SAMBACONF_KCMINTERFACE_UI_H
11809
-#define KCM_SAMBACONF_KCMINTERFACE_UI_H
11811
-void KcmInterface::init()
11813
- addShareBtn->setIconSet(SmallIconSet("document-new"));
11814
- editShareBtn->setIconSet(SmallIconSet("document-properties"));
11815
- removeShareBtn->setIconSet(SmallIconSet("edit-delete"));
11816
- editDefaultShareBtn->setIconSet(SmallIconSet("queue"));
11818
- addPrinterBtn->setIconSet(SmallIconSet("document-new"));
11819
- editPrinterBtn->setIconSet(SmallIconSet("document-properties"));
11820
- removePrinterBtn->setIconSet(SmallIconSet("edit-delete"));
11821
- editDefaultPrinterBtn->setIconSet(SmallIconSet("printer-multiple"));
11823
- advancedWarningPixLbl->setPixmap(SmallIcon("dialog-warning"));
11827
-void KcmInterface::changedSlot()
11833
-void KcmInterface::securityLevelCombo_activated( int i )
11835
- passwordServerEdit->setDisabled(i<2);
11836
- allowGuestLoginsChk->setDisabled(i==0);
11840
-void KcmInterface::shareRadio_clicked()
11842
- securityLevelHelpLbl->setText(i18n("Use the <i>share</i> security level if you have a home network "
11843
- "or a small office network.<br /> It allows everyone to read the list "
11844
- "of all your shared directories and printers before a login is required."));
11848
-void KcmInterface::userRadio_clicked()
11850
- securityLevelHelpLbl->setText(i18n("Use the <i>user</i> security level if you have a bigger network "
11851
- "and you do not want to allow everyone to read your list of shared "
11852
- "directories and printers without a login.<br /><br />"
11853
- "If you want to run your Samba server as a <b>Primary Domain controller</b> (PDC) "
11854
- "you also have to set this option."));
11857
-void KcmInterface::serverRadio_clicked()
11859
- securityLevelHelpLbl->setText(i18n("Use the <i>server</i> security level if you have a big network "
11860
- "and the samba server should validate the username/password "
11861
- "by passing it to another SMB server, such as an NT box."));
11865
-void KcmInterface::domainRadio_clicked()
11867
- securityLevelHelpLbl->setText(i18n("Use the <i>domain</i> security level if you have a big network "
11868
- "and the samba server should validate the username/password "
11869
- "by passing it to a Windows NT Primary or Backup Domain Controller."));
11873
-void KcmInterface::adsRadioClicked()
11875
- securityLevelHelpLbl->setText(i18n("Use the <i>ADS</i> security level if you have a big network "
11876
- "and the samba server should act as a domain member in an ADS realm."));
11880
-void KcmInterface::KUrlLabel1_leftClickedURL()
11882
- K3Process* p = new K3Process();
11884
- *p << "konqueror";
11885
- *p << "man:smb.conf";
11890
-void KcmInterface::lmAnnounceCombo_activated( int i)
11892
- lmIntervalSpin->setEnabled(i==0);
11896
-void KcmInterface::allowGuestLoginsChk_toggled( bool b)
11902
- mapToGuestCombo->setCurrentItem(i);
11906
-void KcmInterface::mapToGuestCombo_activated( int i)
11908
- allowGuestLoginsChk->setChecked(i>0);
11911
-#endif // KCM_SAMBACONF_KCMINTERFACE_UI_H
11912
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/kcmsambaconf.cpp
11913
===================================================================
11914
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/kcmsambaconf.cpp 2011-01-19 17:21:04.000000000 -0500
11915
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
11917
-/***************************************************************************
11918
- kcmsambaconf.cpp - description
11919
- -------------------
11920
- begin : Mon Apr 8 13:35:56 CEST 2002
11921
- copyright : (C) 2002 by Christian Nitschkowski,
11922
- email : segfault_ii@web.de
11924
- copyright : (C) 2002-2004 by Jan Schaefer
11925
- email : janschaefer@users.sourceforge.net
11926
-***************************************************************************/
11928
-/******************************************************************************
11930
-* This file is part of KSambaPlugin. *
11932
-* KSambaPlugin is free software; you can redistribute it and/or modify *
11933
-* it under the terms of the GNU General Public License as published by *
11934
-* the Free Software Foundation; either version 2 of the License, or *
11935
-* (at your option) any later version. *
11937
-* KSambaPlugin is distributed in the hope that it will be useful, *
11938
-* but WITHOUT ANY WARRANTY; without even the implied warranty of *
11939
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
11940
-* GNU General Public License for more details. *
11942
-* You should have received a copy of the GNU General Public License *
11943
-* along with KSambaPlugin; if not, write to the Free Software *
11944
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
11946
-******************************************************************************/
11948
-#include <assert.h>
11949
-#include <unistd.h>
11951
-#include <qlayout.h>
11952
-#include <q3groupbox.h>
11953
-#include <qpainter.h>
11954
-#include <qcheckbox.h>
11955
-#include <q3listbox.h>
11956
-#include <qradiobutton.h>
11957
-#include <q3buttongroup.h>
11958
-#include <qtabwidget.h>
11959
-#include <qtabbar.h>
11960
-#include <q3vbox.h>
11961
-#include <qlabel.h>
11962
-//Added by qt3to4:
11963
-#include <QPixmap>
11964
-#include <Q3PtrList>
11965
-#include <QHBoxLayout>
11966
-#include <QBoxLayout>
11967
-#include <QVBoxLayout>
11969
-#include <klocale.h>
11970
-#include <kglobal.h>
11971
-#include <klineedit.h>
11972
-#include <kurlrequester.h>
11973
-#include <kcombobox.h>
11974
-#include <kdebug.h>
11975
-#include <kiconloader.h>
11976
-#include <knuminput.h>
11977
-#include <krestrictedline.h>
11978
-#include <kmessagebox.h>
11979
-#include <KPageWidget>
11980
-#include <k3listview.h>
11981
-#include <kconfig.h>
11982
-#include <kcomponentdata.h>
11983
-#include <k3passworddialog.h>
11985
-#include "sambashare.h"
11986
-#include "sambafile.h"
11987
-#include "sharedlgimpl.h"
11988
-#include "dictmanager.h"
11989
-#include "kcmsambaconf.h"
11990
-#include "smbpasswdfile.h"
11991
-#include "passwd.h"
11992
-#include "qmultichecklistitem.h"
11993
-#include "joindomaindlg.h"
11994
-#include "smbconfconfigwidget.h"
11996
-#define DEBUG 5009
11998
-#define COL_DISABLED 2
11999
-#define COL_NOPASSWORD 3
12002
-ShareListViewItem::ShareListViewItem(Q3ListView * parent, SambaShare* share)
12003
- : Q3ListViewItem(parent)
12008
-SambaShare* ShareListViewItem::getShare() const
12013
-void ShareListViewItem::setShare(SambaShare* share)
12020
-void ShareListViewItem::updateShare()
12024
- setText(0,_share->getName());
12025
- setText(2,_share->getValue("comment"));
12027
- if (_share->isPrinter())
12029
- if ( _share->getName() == "printers" )
12030
- setPixmap(0,SmallIcon("printer-multiple"));
12032
- setPixmap(0,SmallIcon("printer"));
12033
- setText(1,_share->getValue("printer name"));
12037
- if ( _share->getName() == "homes" )
12038
- setPixmap(0,SmallIcon("user-home"));
12040
- setPixmap(0,SmallIcon("folder"));
12041
- setText(1,_share->getValue("path"));
12044
- setPixmap(3,createPropertyPixmap());
12047
-QPixmap ShareListViewItem::createPropertyPixmap()
12049
- // Create a big pixmap which holds the
12050
- // icons which are needed
12052
- int numberOfPix = 4; // the max number of pixmaps to join
12054
- int w = 16; // Standard size of one pixmap
12055
- int margin = 4; // Margin between pixmaps
12058
- int totalWidth = (w+margin)*numberOfPix;
12060
- QPixmap pix(totalWidth,h);
12062
- pix.fill(Qt::transparent);
12064
- QPainter p(&pix);
12068
- if (_share->getBoolValue("public"))
12070
- p.drawPixmap(x,0,SmallIcon("network-wired"));
12074
- if (!_share->getBoolValue("read only"))
12076
- p.drawPixmap(x,0,SmallIcon("document-properties"));
12080
- if (_share->getBoolValue("printable"))
12082
- p.drawPixmap(x,0,SmallIcon("document-print"));
12086
- if (_share->getBoolValue("browseable"))
12088
- p.drawPixmap(x,0,SmallIcon("system-run"));
12092
- if (!_share->getBoolValue("available"))
12093
- p.drawPixmap(x,0,SmallIcon("dialog-error"));
12098
- return QPixmap(pix);
12101
-KcmSambaConf::KcmSambaConf(const KComponentData &inst,QWidget *parent, const char *name)
12102
- : KCModule(inst,parent)
12106
- m_smbConfConfigWidget = 0L;
12109
- QBoxLayout * l = new QHBoxLayout( this );
12110
- l->setAutoAdd( true );
12112
- QString smbFile = SambaFile::findSambaConf();
12113
- if (smbFile.isNull()) {
12114
- createSmbConfigWidget();
12118
- slotSpecifySmbConf(smbFile);
12123
-KcmSambaConf::~KcmSambaConf() {
12124
- delete _dictMngr;
12127
-void KcmSambaConf::createSmbConfigWidget() {
12128
- m_smbConfConfigWidget = new SmbConfConfigWidget(this);
12129
- connect( m_smbConfConfigWidget, SIGNAL(smbConfChoosed(const QString &)),
12130
- this, SLOT(slotSpecifySmbConf(const QString &)));
12133
-void KcmSambaConf::slotSpecifySmbConf(const QString & smbConf) {
12134
- if (m_smbConfConfigWidget) {
12135
- m_smbConfConfigWidget->hide();
12139
- initAdvancedTab();
12143
- if (getuid() != 0) {
12144
- for (int i=0;i<_interface->mainTab->count();i++) {
12145
- QWidget* w = _interface->mainTab->widget(i);
12146
- w->setEnabled(false);
12150
- _interface->show();
12153
-void KcmSambaConf::init() {
12156
- kDebug(DEBUG) << "creating KcmInterface ..." << endl;
12158
- _interface = new KcmInterface(this);
12161
- connect ( _interface->sambaUserPasswordBtn, SIGNAL(clicked()), this, SLOT(sambaUserPasswordBtnClicked()));
12163
- connect ( _interface->editShareBtn, SIGNAL(clicked()), this, SLOT(editShare()));
12164
- connect ( _interface->addShareBtn, SIGNAL(clicked()), this, SLOT(addShare()));
12165
- connect ( _interface->removeShareBtn, SIGNAL(clicked()), this, SLOT(removeShare()));
12168
- connect ( _interface->editPrinterBtn, SIGNAL(clicked()), this, SLOT(editPrinter()));
12169
- connect ( _interface->addPrinterBtn, SIGNAL(clicked()), this, SLOT(addPrinter()));
12170
- connect ( _interface->removePrinterBtn, SIGNAL(clicked()), this, SLOT(removePrinter()));
12172
- connect ( _interface->editDefaultPrinterBtn, SIGNAL(clicked()), this, SLOT(editPrinterDefaults()));
12174
- connect ( _interface->editDefaultShareBtn, SIGNAL(clicked()), this, SLOT(editShareDefaults()));
12176
- connect( _interface->domainRadio, SIGNAL(toggled(bool)),
12177
- _interface->joinADomainBtn, SLOT( setEnabled(bool) ));
12179
- connect(_interface->nullPasswordsChk,SIGNAL(toggled(bool)),
12180
- this, SLOT(nullPasswordsEnabled(bool)));
12182
- connect( _interface->addSambaUserBtn, SIGNAL(clicked()),
12183
- this, SLOT( addSambaUserBtnClicked() ));
12185
- connect( _interface->removeSambaUserBtn, SIGNAL(clicked()),
12186
- this, SLOT( removeSambaUserBtnClicked() ));
12188
- _interface->removeSambaUserBtn->setIcon(KIcon("go-next"));
12189
- _interface->addSambaUserBtn->setIcon(KIcon("go-previous"));
12192
- connect( _interface->sambaUsersListView, SIGNAL(mouseButtonPressed(int,Q3ListViewItem*,const QPoint &,int)),
12193
- this, SLOT(slotMouseButtonPressed(int,Q3ListViewItem*,const QPoint &,int)));
12195
- connect( _interface->joinADomainBtn, SIGNAL(clicked()),
12196
- this, SLOT( joinADomainBtnClicked() ));
12198
- connect( _interface->loadBtn, SIGNAL(clicked()),
12199
- this, SLOT( loadBtnClicked() ));
12201
- connect( _interface, SIGNAL(changed()), this, SLOT(configChanged()));
12205
-void KcmSambaConf::initAdvancedTab()
12207
- kDebug(DEBUG) << "..." << endl;
12209
- QVBoxLayout *l = new QVBoxLayout(_interface->advancedFrame);
12210
- l->setAutoAdd(true);
12212
- _janus = new KPageWidget(_interface->advancedFrame);
12213
- _janus->setFaceType(KPageView::Tree);
12214
-// _janus->setRootIsDecorated(false);
12215
-// _janus->setShowIconsInTreeList(true);
12220
- QList<QWidget*> widgets;
12221
- QList<QString> labels;
12223
- for (int i=0;i<_interface->advancedTab->count();i++) {
12224
- kDebug(DEBUG) << _interface->advancedTab->tabText(i) << endl;
12225
- widgets.append(_interface->advancedTab->widget(i));
12226
- labels.append(_interface->advancedTab->tabText(i));
12229
- KIconLoader* il = KIconLoader::global();
12231
- for (int i=0; i<widgets.size(); i++)
12233
- QWidget* w = widgets.at(i);
12234
- QString label = labels.at(i);
12236
- if (label == i18n("Security"))
12237
- icon = il->loadIcon("dialog-password",KIconLoader::Small);
12239
- if (label == i18n("Logging"))
12240
- icon = il->loadIcon("view-history",KIconLoader::Small);
12242
- if (label == i18n("Tuning"))
12243
- icon = il->loadIcon("preferences-system-performance",KIconLoader::Small);
12245
- if (label == i18n("Filenames"))
12246
- icon = il->loadIcon("text-plain",KIconLoader::Small);
12248
- if (label == i18n("Locking"))
12249
- icon = il->loadIcon("object-locked",KIconLoader::Small);
12251
- if (label == i18n("Printing"))
12252
- icon = il->loadIcon("printer",KIconLoader::Small);
12254
- if (label == i18n("Logon"))
12255
- icon = il->loadIcon("preferences-system-login",KIconLoader::Small);
12257
- if (label == i18n("Charset"))
12258
- icon = il->loadIcon("character-set",KIconLoader::Small);
12260
- if (label == i18n("Socket"))
12261
- icon = il->loadIcon("socket",KIconLoader::Small);
12263
- if (label == i18n("SSL"))
12264
- icon = il->loadIcon("security-high",KIconLoader::Small);
12266
- if (label == i18n("Browsing"))
12267
- icon = il->loadIcon("fileview-icon",KIconLoader::Small);
12269
- if (label == i18n("Misc"))
12270
- icon = il->loadIcon("preferences-other",KIconLoader::Small);
12272
- if (label == i18n("Commands"))
12273
- icon = il->loadIcon("utilities-terminal",KIconLoader::Small);
12275
- if (label == i18n("VFS"))
12276
- icon = il->loadIcon("folder",KIconLoader::Small);
12278
- if (label == i18n("Debug"))
12279
- icon = il->loadIcon("tools-report-bug",KIconLoader::Small);
12281
- if (label == i18n("LDAP"))
12282
- icon = il->loadIcon("network-server-database",KIconLoader::Small);
12284
- icon = QPixmap(16,16);
12285
- icon.fill(Qt::transparent);
12287
- //SmallIcon("empty2");
12289
- QWidget* frame = new QWidget();
12290
- QVBoxLayout* l = new QVBoxLayout(frame);
12291
- KPageWidgetItem *page = new KPageWidgetItem( frame, label );
12294
- kDebug(DEBUG) << "adding page ..." << endl;
12295
- _janus->addPage(page);
12297
- page->setIcon(KIcon(icon));
12301
- QWidget* w = _interface->mainTab->page(5);
12302
- _interface->mainTab->removeTab(5);
12304
- _interface->advancedWarningPixLbl->setPixmap(DesktopIcon("dialog-warning"));
12306
- kDebug(DEBUG) << "finished" << endl;
12310
-void KcmSambaConf::editShare()
12312
- ShareListViewItem* item = static_cast<ShareListViewItem*>(_interface->shareListView->selectedItem());
12317
- ShareDlgImpl* dlg = new ShareDlgImpl(_interface,item->getShare());
12318
- connect(dlg, SIGNAL(changed()), this, SLOT(configChanged()));
12320
- item->updateShare();
12322
- disconnect(dlg, SIGNAL(changed()), this, SLOT(configChanged()));
12328
-void KcmSambaConf::addShare()
12330
- SambaShare* share = _sambaFile->newShare(_sambaFile->getUnusedName(),"");
12331
- ShareListViewItem* item = new ShareListViewItem( _interface->shareListView, share );
12332
- _interface->shareListView->setSelected(item,true);
12334
- ShareDlgImpl* dlg = new ShareDlgImpl(_interface,share);
12337
- if (dlg->result() == QDialog::Rejected )
12340
- item->updateShare();
12341
- emit changed(true);
12347
-void KcmSambaConf::removeShare()
12349
- ShareListViewItem* item = static_cast<ShareListViewItem*>(_interface->shareListView->selectedItem());
12354
- SambaShare *share = item->getShare();
12356
- _sambaFile->removeShare(share);
12358
- emit changed(true);
12363
-void KcmSambaConf::editPrinter()
12365
- ShareListViewItem* item = static_cast<ShareListViewItem*>(_interface->printerListView->selectedItem());
12370
- PrinterDlgImpl* dlg = new PrinterDlgImpl(_interface,item->getShare());
12372
- item->updateShare();
12376
- emit changed(true);
12379
-void KcmSambaConf::addPrinter()
12381
- SambaShare* share = _sambaFile->newPrinter(_sambaFile->getUnusedName(),"");
12382
- ShareListViewItem* item = new ShareListViewItem( _interface->shareListView, share );
12383
- _interface->printerListView->setSelected(item,true);
12385
- PrinterDlgImpl* dlg = new PrinterDlgImpl(_interface,share);
12388
- if (dlg->result() == QDialog::Rejected )
12392
- item->updateShare();
12393
- emit changed(true);
12399
-void KcmSambaConf::removePrinter()
12401
- ShareListViewItem* item = static_cast<ShareListViewItem*>(_interface->printerListView->selectedItem());
12406
- SambaShare *share = item->getShare();
12408
- _sambaFile->removeShare(share);
12410
- emit changed(true);
12414
-void KcmSambaConf::editShareDefaults()
12416
- SambaShare* share = _sambaFile->getShare("global");
12418
- ShareDlgImpl* dlg = new ShareDlgImpl(_interface,share);
12419
- dlg->directoryGrp->setEnabled(false);
12420
- dlg->identifierGrp->setEnabled(false);
12424
- emit changed(true);
12428
-void KcmSambaConf::editPrinterDefaults()
12430
- SambaShare* share = _sambaFile->getShare("global");
12432
- PrinterDlgImpl* dlg = new PrinterDlgImpl(_interface,share);
12433
- dlg->printerGrp->setEnabled(false);
12434
- dlg->identifierGrp->setEnabled(false);
12439
- emit changed(true);
12445
-void KcmSambaConf::loadBtnClicked() {
12446
- load( _interface->configUrlRq->url().url());
12449
-void KcmSambaConf::load(const QString & smbFile)
12451
- kDebug(5009) << "loading " << smbFile;
12452
- _smbconf = smbFile;
12454
- delete _sambaFile;
12456
- _sambaFile = new SambaFile(_smbconf,false);
12458
- connect( _sambaFile, SIGNAL(completed()), this, SLOT(fillFields()));
12459
- connect( _sambaFile, SIGNAL(canceled(const QString &)), this, SLOT(loadCanceled(const QString &)));
12461
- _sambaFile->load();
12463
- kDebug(DEBUG) << "finished" << endl;
12467
-void KcmSambaConf::loadCanceled(const QString & msg) {
12468
- KMessageBox::sorry(0L,msg,i18n("Error while opening file"));
12471
-void KcmSambaConf::fillFields()
12473
- kDebug(DEBUG) << "..." << endl;
12475
- kDebug(DEBUG) << "filling share list views ..." << endl;
12476
- // Fill the ListViews
12477
- SambaShareList* list = _sambaFile->getSharedDirs();
12479
- SambaShare *share = 0L;
12480
- _interface->shareListView->clear();
12481
- for ( share = list->first(); share; share = list->next() )
12483
- new ShareListViewItem(_interface->shareListView, share);
12487
- _interface->printerListView->clear();
12488
- list = _sambaFile->getSharedPrinters();
12489
- for ( share = list->first(); share; share = list->next() )
12491
- new ShareListViewItem(_interface->printerListView, share);
12494
- share = _sambaFile->getShare("global");
12497
- share = _sambaFile->newShare("global");
12499
- Q_ASSERT( share);
12500
- delete _dictMngr;
12502
- _dictMngr = new DictManager(share);
12505
- _interface->configUrlRq->setUrl( _smbconf );
12506
- _interface->configUrlRq->setMode( KFile::File | KFile::ExistingOnly);
12509
- loadBaseSettings( share );
12510
- loadSecurity( share );
12511
- loadTuning( share );
12512
- loadLogging( share );
12513
- loadDomain( share );
12514
- loadWins( share );
12515
- loadPrinting( share );
12516
- loadFilenames( share );
12517
- loadLocking( share );
12518
- loadProtocol( share );
12519
- loadSocket( share );
12520
- loadSSL( share );
12521
- loadLogon( share );
12522
- loadCharset( share );
12523
- loadWinbind( share );
12524
- loadNetbios( share );
12525
- loadVFS( share );
12526
- loadLDAP( share );
12527
- loadBrowsing( share );
12528
- loadCommands( share );
12529
- loadMisc( share );
12530
- loadDebug( share );
12532
- _dictMngr->load( share, false,true );
12536
- connect(_dictMngr, SIGNAL(changed()), this, SLOT(configChanged()));
12541
-void KcmSambaConf::loadBaseSettings(SambaShare* share)
12543
- kDebug(DEBUG) << "..." << endl;
12545
- _dictMngr->add("workgroup", _interface->workgroupEdit);
12546
- _dictMngr->add("server string", _interface->serverStringEdit);
12547
- _dictMngr->add("netbios name", _interface->netbiosNameEdit);
12548
- _dictMngr->add("interfaces", _interface->interfacesEdit);
12550
- kDebug(DEBUG) << "filling guestAccountCombo ..." << endl;
12551
- _interface->guestAccountCombo->addItems( getUnixUsers() );
12552
- setComboIndexToValue(_interface->guestAccountCombo,"guest account",share);
12554
- QString value = share->getValue("map to guest",false,true);
12556
- _interface->allowGuestLoginsChk->setChecked( value.toLower()!="never" );
12558
- _dictMngr->add("guest ok",_interface->allowGuestLoginsChk);
12560
- _dictMngr->add("bind interfaces only",_interface->bindInterfacesOnlyChk);
12562
- QString s = share->getValue("security",false,true).toLower();
12565
- if ( s == "share" ) i = 0; else
12566
- if ( s == "user" ) i = 1; else
12567
- if ( s == "server" ) i = 2; else
12568
- if ( s == "domain" ) i = 3; else
12569
- if ( s == "ads" ) i = 4;
12571
- _interface->securityLevelBtnGrp->setButton(i);
12572
- _interface->updateSecurityLevelHelpLbl();
12577
-void KcmSambaConf::loadSecurity(SambaShare*)
12579
- kDebug(DEBUG) << "..." << endl;
12581
- _dictMngr->add("map to guest",_interface->mapToGuestCombo,
12582
- new QStringList(QStringList() << "Never" << "Bad User" << "Bad Password" ));
12585
- _dictMngr->add("password server", _interface->passwordServerEdit);
12586
- _dictMngr->add("passwd chat", _interface->passwdChatEdit);
12587
- _dictMngr->add("root directory", _interface->rootDirectoryEdit);
12588
- _dictMngr->add("passdb backend", _interface->passdbBackendEdit);
12589
- _dictMngr->add("auth methods", _interface->authMethodsEdit);
12590
- _dictMngr->add("realm", _interface->realmEdit);
12592
- _dictMngr->add("password level", _interface->passwordLevelSpin);
12593
- _dictMngr->add("min passwd length", _interface->minPasswdLengthSpin);
12594
- _dictMngr->add("username level", _interface->usernameLevelSpin);
12595
- _dictMngr->add("algorithmic rid base", _interface->algorithmicRidBaseSpin);
12596
- _dictMngr->add("passwd chat timeout", _interface->passwdChatTimeoutSpin);
12598
- _dictMngr->add("encrypt passwords",_interface->encryptPasswordsChk);
12599
- _dictMngr->add("update encrypted",_interface->updateEncryptedChk);
12600
- _dictMngr->add("passwd chat debug",_interface->passwdChatDebugChk);
12601
- _dictMngr->add("unix password sync",_interface->unixPasswordSyncChk);
12602
- _dictMngr->add("use rhosts",_interface->useRhostsChk);
12603
- _dictMngr->add("hide local users",_interface->hideLocalUsersChk);
12606
- _dictMngr->add("allow trusted domains",_interface->allowTrustedDomainsChk);
12607
- _dictMngr->add("obey pam restrictions",_interface->obeyPamRestrictionsChk);
12608
- _dictMngr->add("pam password change",_interface->pamPasswordChangeChk);
12609
- _dictMngr->add("restrict anonymous",_interface->restrictAnonymousChk);
12610
- _dictMngr->add("null passwords",_interface->nullPasswordsChk);
12611
- _dictMngr->add("paranoid server security",_interface->paranoidServerSecurityChk);
12613
- _dictMngr->add("smb passwd file",_interface->smbPasswdFileUrlRq);
12614
- _dictMngr->add("passwd program",_interface->passwdProgramUrlRq);
12615
- _dictMngr->add("username map",_interface->usernameMapUrlRq);
12616
- _dictMngr->add("hosts equiv",_interface->hostsEquivUrlRq);
12617
- _dictMngr->add("private dir",_interface->privateDirUrlRq);
12619
- // Authentication
12621
- _dictMngr->add("lanman auth",_interface->lanmanAuthChk);
12622
- _dictMngr->add("ntlm auth",_interface->ntlmAuthChk);
12623
- _dictMngr->add("use spnego",_interface->useSpnegoChk);
12624
- _dictMngr->add("server schannel",_interface->serverSchannelCombo,
12625
- new QStringList(QStringList() << "Yes" << "No" << "Auto" ));
12626
- _dictMngr->add("server signing",_interface->serverSigningCombo,
12627
- new QStringList(QStringList() << "Auto" << "Mandatory" << "No" ));
12629
- _dictMngr->add("client lanman auth",_interface->clientLanmanAuthChk);
12630
- _dictMngr->add("client plaintext auth",_interface->clientPlaintextAuthChk);
12631
- _dictMngr->add("client ntlmv2 auth",_interface->clientNTLMv2AuthChk);
12632
- _dictMngr->add("client use spnego",_interface->clientUseSpnegoChk);
12633
- _dictMngr->add("client schannel",_interface->clientSchannelCombo,
12634
- new QStringList(QStringList() << "Yes" << "No" << "Auto" ));
12635
- _dictMngr->add("client signing",_interface->clientSigningCombo,
12636
- new QStringList(QStringList() << "Auto" << "Mandatory" << "No" ));
12644
-void KcmSambaConf::loadLogging(SambaShare* )
12646
- kDebug(DEBUG) << "..." << endl;
12647
- _dictMngr->add("log file",_interface->logFileUrlRq);
12649
- _dictMngr->add("max log size", _interface->maxLogSizeSpin);
12650
- _dictMngr->add("syslog", _interface->syslogSpin);
12651
- _dictMngr->add("log level", _interface->logLevelEdit);
12653
- _dictMngr->add("status",_interface->statusChk);
12654
- _dictMngr->add("debug uid",_interface->debugUidChk);
12655
- _dictMngr->add("debug pid",_interface->debugPidChk);
12656
- _dictMngr->add("debug hires timestamp",_interface->microsecondsChk);
12657
- _dictMngr->add("syslog only",_interface->syslogOnlyChk);
12658
- _dictMngr->add("debug timestamp",_interface->timestampChk);
12663
-void KcmSambaConf::loadTuning(SambaShare* )
12665
- kDebug(DEBUG) << "..." << endl;
12666
- _dictMngr->add("change notify timeout", _interface->changeNotifyTimeoutSpin);
12667
- _dictMngr->add("deadtime", _interface->deadtimeSpin);
12668
- _dictMngr->add("keepalive", _interface->keepaliveSpin);
12669
- _dictMngr->add("lpq cache time", _interface->lpqCacheTimeSpin);
12670
- _dictMngr->add("max open files", _interface->maxOpenFilesSpin);
12671
- _dictMngr->add("read size", _interface->readSizeSpin);
12672
- _dictMngr->add("max disk size", _interface->maxDiskSizeSpin);
12673
- _dictMngr->add("stat cache size", _interface->statCacheSizeSpin);
12674
- _dictMngr->add("max smbd processes", _interface->maxSmbdProcessesSpin);
12675
- _dictMngr->add("name cache timeout", _interface->nameCacheTimeoutSpin);
12677
- _dictMngr->add("getwd cache",_interface->getwdCacheChk);
12678
- _dictMngr->add("use mmap",_interface->useMmapChk);
12679
- _dictMngr->add("hostname lookups",_interface->hostnameLookupsChk);
12680
- _dictMngr->add("kernel change notify",_interface->kernelChangeNotifyChk);
12684
-void KcmSambaConf::loadLocking(SambaShare* )
12686
- kDebug(DEBUG) << "..." << endl;
12687
- _dictMngr->add("kernel oplocks",_interface->kernelOplocksChk);
12688
- _dictMngr->add("lock directory",_interface->lockDirectoryUrlRq);
12689
- _dictMngr->add("pid directory",_interface->pidDirectoryUrlRq);
12690
- _dictMngr->add("oplock break wait time",_interface->oplockBreakWaitTimeSpin);
12691
- _dictMngr->add("lock spin time",_interface->lockSpinTimeSpin);
12692
- _dictMngr->add("lock spin count",_interface->lockSpinCountSpin);
12697
-void KcmSambaConf::loadDomain(SambaShare*)
12699
- kDebug(DEBUG) << "..." << endl;
12700
- _dictMngr->add("preferred master",_interface->preferredMasterChk);
12701
- _dictMngr->add("local master",_interface->localMasterChk);
12702
- _dictMngr->add("domain master",_interface->domainMasterChk);
12703
- _dictMngr->add("domain logons",_interface->domainLogonsChk);
12704
- _dictMngr->add("machine password timeout", _interface->machinePasswordTimeoutSpin);
12705
- _dictMngr->add("os level", _interface->osLevelSpin);
12706
- _dictMngr->add("domain admin group", _interface->domainAdminGroupEdit);
12707
- _dictMngr->add("domain guest group", _interface->domainGuestGroupEdit);
12711
-void KcmSambaConf::loadWins(SambaShare* share)
12713
- kDebug(DEBUG) << "..." << endl;
12714
- _dictMngr->add("wins proxy",_interface->winsProxyChk);
12715
- _dictMngr->add("dns proxy",_interface->dnsProxyChk);
12716
- _dictMngr->add("wins server", _interface->winsServerEdit);
12717
- _dictMngr->add("wins hook", _interface->winsHookEdit);
12718
- _interface->winsSupportRadio->setChecked( share->getBoolValue("wins support",false,true));
12719
- _interface->otherWinsRadio->setChecked( !share->getValue("wins server",false,true).isEmpty() );
12723
-void KcmSambaConf::loadPrinting(SambaShare* )
12725
- kDebug(DEBUG) << "..." << endl;
12726
- _dictMngr->add("load printers",_interface->loadPrintersChk);
12727
- _dictMngr->add("disable spoolss",_interface->disableSpoolssChk);
12728
- _dictMngr->add("show add printer wizard",_interface->showAddPrinterWizardChk);
12730
- _dictMngr->add("addprinter command", _interface->addprinterCommandEdit);
12731
- _dictMngr->add("deleteprinter command", _interface->deleteprinterCommandEdit);
12732
- _dictMngr->add("enumports command", _interface->enumportsCommandEdit);
12734
- _dictMngr->add("printcap name",_interface->printcapNameUrlRq);
12735
- _dictMngr->add("os2 driver map",_interface->os2DriverMapUrlRq);
12736
- _dictMngr->add("printer driver file",_interface->printerDriverFileUrlRq);
12738
- _dictMngr->add("total print jobs", _interface->totalPrintJobsSpin);
12741
-void KcmSambaConf::loadFilenames(SambaShare* )
12743
- kDebug(DEBUG) << "..." << endl;
12744
- _dictMngr->add("strip dot",_interface->stripDotChk);
12745
- _dictMngr->add("stat cache",_interface->statCacheChk);
12748
- _dictMngr->add("mangled stack", _interface->mangledStackSpin);
12749
- _dictMngr->add("mangle prefix", _interface->manglePrefixSpin);
12753
-void KcmSambaConf::loadProtocol(SambaShare*)
12755
- kDebug(DEBUG) << "..." << endl;
12758
- _dictMngr->add("write raw",_interface->writeRawChk);
12759
- _dictMngr->add("read raw",_interface->readRawChk);
12760
- _dictMngr->add("read bmpx",_interface->readBmpxChk);
12761
- _dictMngr->add("large readwrite",_interface->largeReadWriteChk);
12762
- _dictMngr->add("nt smb support",_interface->ntSmbSupportChk);
12763
- _dictMngr->add("nt pipe support",_interface->ntPipeSupportChk);
12764
- _dictMngr->add("time server",_interface->timeServerChk);
12765
- _dictMngr->add("unix extensions",_interface->unixExtensionsChk);
12767
- _dictMngr->add("max mux", _interface->maxMuxSpin);
12768
- _dictMngr->add("max xmit", _interface->maxXmitSpin);
12769
- _dictMngr->add("max ttl", _interface->maxTtlSpin);
12770
- _dictMngr->add("max wins ttl", _interface->maxWinsTtlSpin);
12771
- _dictMngr->add("min wins ttl", _interface->minWinsTtlSpin);
12773
- _dictMngr->add("announce version", _interface->announceVersionEdit);
12774
- _dictMngr->add("name resolve order", _interface->nameResolveOrderEdit);
12775
- _dictMngr->add("smb ports", _interface->smbPortsEdit);
12777
- _dictMngr->add("announce as", _interface->announceAsCombo,
12778
- new QStringList(QStringList() << "NT" << "NT workstation" << "win95" << "WfW"));
12780
- _dictMngr->add("protocol", _interface->protocolCombo,
12781
- new QStringList(QStringList() << "NT1" << "lanman2" << "lanman1" << "core" << "coreplus" ));
12783
- _dictMngr->add("max protocol", _interface->maxProtocolCombo,
12784
- new QStringList(QStringList() << "NT1" << "lanman2" << "lanman1" << "core" << "coreplus"));
12786
- _dictMngr->add("min protocol", _interface->minProtocolCombo,
12787
- new QStringList(QStringList() << "NT1" << "lanman2" << "lanman1" << "core" << "coreplus"));
12791
-void KcmSambaConf::loadSocket(SambaShare* share)
12793
- kDebug(DEBUG) << "..." << endl;
12794
- // SOCKET options
12796
- _dictMngr->add("socket address", _interface->socketAddressEdit);
12798
- QString s = share->getValue("socket options");
12799
- s = s.simplified();
12801
- // The string s has now the form :
12802
- // "OPTION1=1 OPTION2=0 OPTION3=2234 OPTION4"
12804
- _interface->SO_KEEPALIVEChk->setChecked(getSocketBoolValue( s, "SO_KEEPALIVE") );
12805
- _interface->SO_REUSEADDRChk->setChecked( getSocketBoolValue( s, "SO_REUSEADDR") );
12806
- _interface->SO_BROADCASTChk->setChecked( getSocketBoolValue( s, "SO_BROADCAST") );
12807
- _interface->TCP_NODELAYChk->setChecked( getSocketBoolValue( s, "TCP_NODELAY") );
12808
- _interface->IPTOS_LOWDELAYChk->setChecked( getSocketBoolValue( s, "IPTOS_LOWDELAY") );
12809
- _interface->IPTOS_THROUGHPUTChk->setChecked( getSocketBoolValue( s, "IPTOS_THROUGHPUT") );
12811
- _interface->SO_SNDBUFChk->setChecked( getSocketBoolValue( s, "SO_SNDBUF") );
12812
- _interface->SO_RCVBUFChk->setChecked( getSocketBoolValue( s, "SO_RCVBUF") );
12813
- _interface->SO_SNDLOWATChk->setChecked( getSocketBoolValue( s, "SO_SNDLOWAT") );
12814
- _interface->SO_RCVLOWATChk->setChecked( getSocketBoolValue( s, "SO_RCVLOWAT") );
12816
- _interface->SO_SNDBUFSpin->setValue( getSocketIntValue( s, "SO_SNDBUF") );
12817
- _interface->SO_RCVBUFSpin->setValue( getSocketIntValue( s, "SO_RCVBUF") );
12818
- _interface->SO_SNDLOWATSpin->setValue( getSocketIntValue( s, "SO_SNDLOWAT") );
12819
- _interface->SO_RCVLOWATSpin->setValue( getSocketIntValue( s, "SO_RCVLOWAT") );
12823
-void KcmSambaConf::loadSSL(SambaShare*)
12825
- kDebug(DEBUG) << "..." << endl;
12828
- _dictMngr->add("ssl version",_interface->sslVersionCombo,
12829
- new QStringList(QStringList() << "ssl2" << "ssl3" << "ssl2or3" << "tls1" ));
12831
- _dictMngr->add("ssl",_interface->sslChk);
12832
- _dictMngr->add("ssl require server cert",_interface->sslRequireServercertChk);
12833
- _dictMngr->add("ssl compatibility",_interface->sslCompatibilityChk);
12834
- _dictMngr->add("ssl require clientcert",_interface->sslRequireClientcertChk);
12836
- _dictMngr->add("ssl hosts edit", _interface->sslHostsEdit);
12837
- _dictMngr->add("ssl hosts resign", _interface->sslHostsResignEdit);
12838
- _dictMngr->add("ssl egd socket", _interface->sslEgdSocketEdit);
12839
- _dictMngr->add("ssl ciphers edit", _interface->sslCiphersEdit);
12841
- _dictMngr->add("ssl CA cert dir",_interface->sslCACertDirUrlRq);
12842
- _dictMngr->add("ssl CA cert file",_interface->sslCACertFileUrlRq);
12843
- _dictMngr->add("ssl entropy file",_interface->sslEntropyFileUrlRq);
12844
- _dictMngr->add("ssl client cert",_interface->sslClientCertUrlRq);
12845
- _dictMngr->add("ssl client key",_interface->sslClientKeyUrlRq);
12846
- _dictMngr->add("ssl server cert",_interface->sslServerCertUrlRq);
12847
- _dictMngr->add("ssl server key",_interface->sslServerKeyUrlRq);
12849
- _dictMngr->add("ssl entropy bytes", _interface->sslEntropyBytesSpin);
12853
-void KcmSambaConf::loadLogon(SambaShare* )
12855
- kDebug(DEBUG) << "..." << endl;
12858
- _dictMngr->add("add user script", _interface->addUserScriptEdit);
12859
- _dictMngr->add("add group script", _interface->addGroupScriptEdit);
12860
- _dictMngr->add("add machine script", _interface->addMachineScriptEdit);
12861
- _dictMngr->add("add user to group script", _interface->addUserToGroupScriptEdit);
12862
- _dictMngr->add("delete user script", _interface->deleteUserScriptEdit);
12863
- _dictMngr->add("delete group script", _interface->deleteGroupScriptEdit);
12864
- _dictMngr->add("delete user from group script", _interface->deleteUserFromGroupScriptEdit);
12865
- _dictMngr->add("set primary group script", _interface->addGroupScriptEdit);
12866
- _dictMngr->add("shutdown script", _interface->shutdownScriptEdit);
12867
- _dictMngr->add("abort shutdown script", _interface->abortShutdownScriptEdit);
12868
- _dictMngr->add("logon script", _interface->logonScriptEdit);
12869
- _dictMngr->add("logon drive", _interface->logonDriveEdit);
12870
- _dictMngr->add("logon path",_interface->logonPathUrlRq);
12871
- _dictMngr->add("logon home",_interface->logonHomeUrlRq);
12876
-void KcmSambaConf::loadCharset(SambaShare* )
12878
- kDebug(DEBUG) << "..." << endl;
12879
- _dictMngr->add("coding system", _interface->codingSystemEdit);
12880
- _dictMngr->add("client code page", _interface->clientCodePageEdit);
12881
- _dictMngr->add("code page directory",_interface->codePageDirUrlRq);
12882
- _dictMngr->add("display charset", _interface->displayCharsetEdit);
12883
- _dictMngr->add("unix charset", _interface->unixCharsetEdit);
12884
- _dictMngr->add("dos charset", _interface->dosCharsetEdit);
12885
- _dictMngr->add("character set", _interface->characterSetEdit);
12886
- _dictMngr->add("valid chars", _interface->validCharsEdit);
12888
- _dictMngr->add("unicode",_interface->unicodeChk);
12891
-void KcmSambaConf::loadWinbind(SambaShare* )
12893
- kDebug(DEBUG) << "..." << endl;
12894
- _dictMngr->add("winbind uid", _interface->winbindUidEdit);
12895
- _dictMngr->add("winbind gid", _interface->winbindGidEdit);
12896
- _dictMngr->add("template homedir", _interface->templateHomedirEdit);
12897
- _dictMngr->add("template shell", _interface->templateShellEdit);
12898
- _dictMngr->add("winbind separator", _interface->winbindSeparatorEdit);
12899
- _dictMngr->add("template primary group", _interface->templatePrimaryGroupEdit);
12901
- _dictMngr->add("winbind cache time", _interface->winbindCacheTimeSpin);
12902
- _dictMngr->add("acl compatibility",_interface->aclCompatibilityCombo,
12903
- new QStringList(QStringList() << "winnt" << "win2k" << "auto"));
12905
- _dictMngr->add("winbind enum users",_interface->winbindEnumUsersChk);
12906
- _dictMngr->add("winbind enum groups",_interface->winbindEnumGroupsChk);
12907
- _dictMngr->add("winbind use default domain",_interface->winbindUseDefaultDomainChk);
12908
- _dictMngr->add("winbind trusted domains only",_interface->winbindTrustedDomainsOnlyChk);
12909
- _dictMngr->add("winbind enable local accounts",_interface->winbindEnableLocalAccountsChk);
12910
- _dictMngr->add("winbind nested groups",_interface->winbindNestedGroupsChk);
12915
-void KcmSambaConf::loadNetbios(SambaShare* )
12917
- kDebug(DEBUG) << "..." << endl;
12918
- _dictMngr->add("disable netbios",_interface->disableNetbiosChk);
12920
- _dictMngr->add("netbios aliases", _interface->netbiosAliasesEdit);
12921
- _dictMngr->add("netbios scope", _interface->netbiosScopeEdit);
12924
- _dictMngr->add("netbios aliases", _interface->netbiosAliasesEdit);
12925
- _dictMngr->add("netbios scope", _interface->netbiosScopeEdit);
12930
-void KcmSambaConf::loadVFS(SambaShare*)
12932
- kDebug(DEBUG) << "..." << endl;
12933
- _dictMngr->add("host msdfs",_interface->hostMsdfsChk);
12937
-void KcmSambaConf::loadLDAP(SambaShare*)
12939
- kDebug(DEBUG) << "..." << endl;
12940
- _dictMngr->add("ldap suffix", _interface->ldapSuffixEdit);
12941
- _dictMngr->add("ldap machine suffix", _interface->ldapMachineSuffixEdit);
12942
- _dictMngr->add("ldap user suffix", _interface->ldapUserSuffixEdit);
12943
- _dictMngr->add("ldap group suffix", _interface->ldapGroupSuffixEdit);
12944
- _dictMngr->add("ldap idmap suffix", _interface->ldapIdmapSuffixEdit);
12945
- _dictMngr->add("ldap filter", _interface->ldapFilterEdit);
12946
- _dictMngr->add("ldap admin dn", _interface->ldapAdminDnEdit);
12947
- _dictMngr->add("idmap backend", _interface->idmapBackendEdit);
12949
- _dictMngr->add("ldap replication sleep",_interface->ldapReplicationSleepSpin);
12951
- _dictMngr->add("ldap delete dn",_interface->ldapDeleteDnChk);
12953
- _dictMngr->add("ldap ssl", _interface->ldapSslCombo,
12954
- new QStringList(QStringList() << "No" << "Start_tls" << "Yes"));
12956
- _dictMngr->add("ldap sync", _interface->ldapSyncCombo,
12957
- new QStringList(QStringList() << "Yes" << "No" << "Only"));
12962
-void KcmSambaConf::loadBrowsing(SambaShare*)
12964
- kDebug(DEBUG) << "..." << endl;
12965
- _dictMngr->add("enhanced browsing",_interface->enhancedBrowsingChk);
12966
- _dictMngr->add("browse list",_interface->browseListChk);
12967
- _dictMngr->add("lm interval", _interface->lmIntervalSpin);
12968
- _dictMngr->add("remote browse sync", _interface->remoteBrowseSyncEdit);
12969
- _dictMngr->add("preload", _interface->preloadEdit);
12971
- _dictMngr->add("lm announce", _interface->lmAnnounceCombo,
12972
- new QStringList(QStringList() << "Yes" << "No" << "Auto"));
12975
-void KcmSambaConf::loadCommands(SambaShare*)
12977
- kDebug(DEBUG) << "..." << endl;
12978
- _dictMngr->add("add share command", _interface->addShareCommandEdit);
12979
- _dictMngr->add("change share command", _interface->changeShareCommandEdit);
12980
- _dictMngr->add("delete share command", _interface->deleteShareCommandEdit);
12981
- _dictMngr->add("message command", _interface->messageCommandEdit);
12982
- _dictMngr->add("dfree command", _interface->dfreeCommandEdit);
12983
- _dictMngr->add("set quota command", _interface->setQuotaCommandEdit);
12984
- _dictMngr->add("get quota command", _interface->getQuotaCommandEdit);
12985
- _dictMngr->add("panic action", _interface->panicActionEdit);
12989
-void KcmSambaConf::setComboIndexToValue(QComboBox* box, const QString & value, SambaShare* share)
12991
- kDebug(DEBUG) << "..." << endl;
12992
- QString text = share->getValue(value,false,true);
12993
- int i = box->findText(text,Qt::MatchExactly);
12994
- box->setCurrentItem(i);
12998
-void KcmSambaConf::loadMisc(SambaShare*)
13000
- kDebug(DEBUG) << "..." << endl;
13001
- _dictMngr->add("preload modules", _interface->preloadModulesEdit);
13002
- _dictMngr->add("default service", _interface->defaultServiceEdit);
13003
- _dictMngr->add("remote announce", _interface->remoteAnnounceEdit);
13004
- _dictMngr->add("homedir map", _interface->homedirMapEdit);
13005
- _dictMngr->add("source environment", _interface->sourceEnvironmentEdit);
13007
- _dictMngr->add("utmp directory",_interface->utmpDirectoryUrlRq);
13008
- _dictMngr->add("wtmp directory",_interface->wtmpDirectoryUrlRq);
13010
- _dictMngr->add("NIS homedir", _interface->nisHomedirChk);
13011
- _dictMngr->add("time offset", _interface->timeOffsetSpin);
13014
-void KcmSambaConf::loadDebug(SambaShare*) {
13015
- kDebug(DEBUG) << "..." << endl;
13016
- _dictMngr->add("nt status support", _interface->ntStatusSupportChk);
13021
-void KcmSambaConf::loadUserTab()
13023
- kDebug(DEBUG) << "..." << endl;
13024
- // Remote editing of users isn't supported yet
13025
- if ( _sambaFile->isRemoteFile()) {
13026
- _interface->mainTab->widget(3)->setEnabled(false);
13029
- _interface->mainTab->widget(3)->setEnabled(true);
13032
- SambaShare* share = _sambaFile->getShare("global");
13034
- QStringList added;
13036
- SmbPasswdFile passwd( KUrl(share->getValue("smb passwd file",true,true)) );
13037
- SambaUserList sambaList = passwd.getSambaUserList();
13038
- _interface->sambaUsersListView->clear();
13040
- for ( user = sambaList.first(); user; user = sambaList.next() )
13042
- QMultiCheckListItem* item = new QMultiCheckListItem(_interface->sambaUsersListView);
13043
- item->setText(0,user->name);
13044
- item->setText(1,QString::number(user->uid));
13045
- item->setOn(COL_DISABLED,user->isDisabled);
13046
- item->setOn(COL_NOPASSWORD,user->hasNoPassword);
13048
- if ( ! _interface->nullPasswordsChk->isOn())
13049
- item->setDisabled(COL_NOPASSWORD, true);
13051
- added.append(user->name);
13056
- _interface->unixUsersListView->clear();
13058
- UnixUserList unixList = getUnixUserList();
13059
- UnixUser *unixUser;
13060
- for ( unixUser = unixList.first(); unixUser; unixUser = unixList.next() )
13062
- QStringList::Iterator it;
13064
- it=added.find(unixUser->name);
13065
- if (it == added.end())
13066
- new K3ListViewItem(_interface->unixUsersListView, unixUser->name, QString::number(unixUser->uid));
13069
- _interface->unixUsersListView->setSelectionMode(Q3ListView::Extended);
13070
- _interface->sambaUsersListView->setSelectionMode(Q3ListView::Extended);
13074
-void KcmSambaConf::joinADomainBtnClicked() {
13075
- JoinDomainDlg *dlg = new JoinDomainDlg();
13076
- dlg->domainEdit->setText(_interface->workgroupEdit->text());
13077
- dlg->domainControllerEdit->setText(_interface->passwordServerEdit->text());
13079
- int result = dlg->exec();
13081
- if (result == QDialog::Accepted) {
13082
- SmbPasswdFile passwd;
13083
- if (!passwd.joinADomain(dlg->domainEdit->text(),
13084
- dlg->domainControllerEdit->text(),
13085
- dlg->usernameEdit->text(),
13086
- dlg->passwordEdit->text()))
13088
- KMessageBox::sorry(0,i18n("Joining the domain %1 failed.", dlg->domainEdit->text()));
13095
-void KcmSambaConf::slotMouseButtonPressed(int,Q3ListViewItem* item,const QPoint &,int col) {
13099
- SambaShare* share = _sambaFile->getShare("global");
13100
- SmbPasswdFile passwd( KUrl(share->getValue("smb passwd file",true,true)) );
13101
- QMultiCheckListItem* i = static_cast<QMultiCheckListItem*>(item);
13102
- SambaUser user( item->text(0), item->text(1).toInt() );
13103
- user.isDisabled = i->isOn(COL_DISABLED);
13104
- user.hasNoPassword = i->isOn(COL_NOPASSWORD);
13106
- if (!i->isDisabled(col))
13110
- case COL_DISABLED :
13111
- if (i->isOn(col))
13112
- passwd.enableUser(user);
13114
- passwd.disableUser(user);
13116
- case COL_NOPASSWORD :
13117
- if (i->isOn(col)) {
13118
- sambaUserPasswordBtnClicked();
13119
- return; // the item is already set off by the btnClicked method
13122
- passwd.setNoPassword(user);
13130
-void KcmSambaConf::nullPasswordsEnabled(bool b)
13132
- Q3ListViewItemIterator it( _interface->sambaUsersListView );
13133
- for ( ; it.current(); ++it ) {
13134
- QMultiCheckListItem* sambaItem = static_cast<QMultiCheckListItem*>(it.current());
13135
- sambaItem->setDisabled(COL_NOPASSWORD,!b);
13140
-void KcmSambaConf::saveUserTab()
13144
-void KcmSambaConf::addSambaUserBtnClicked()
13146
- QList<Q3ListViewItem*> list = _interface->unixUsersListView->selectedItems();
13148
- SambaShare* share = _sambaFile->getShare("global");
13149
- SmbPasswdFile passwd( KUrl(share->getValue("smb passwd file",true,true)) );
13151
- foreach ( Q3ListViewItem* item, list ) {
13152
- SambaUser user( item->text(0), item->text(1).toInt() );
13154
- QByteArray password;
13155
- int passResult = K3PasswordDialog::getNewPassword(this,password,
13156
- i18n("<qt>Please enter a password for the user <b>%1</b></qt>", user.name));
13157
- if (passResult != K3PasswordDialog::Accepted) {
13158
- list.removeAll(item);
13162
- if (!passwd.addUser(user,password))
13164
- KMessageBox::sorry(0,i18n("<qt>Adding the user <b>%1</b> to the Samba user database failed.</qt>", user.name));
13168
- QMultiCheckListItem* sambaItem = new QMultiCheckListItem(_interface->sambaUsersListView);
13169
- sambaItem->setText(0,user.name);
13170
- sambaItem->setText(1,QString::number(user.uid));
13171
- sambaItem->setOn(COL_DISABLED,false);
13172
- sambaItem->setOn(COL_NOPASSWORD,false);
13173
- if ( ! _interface->nullPasswordsChk->isOn())
13174
- sambaItem->setDisabled(COL_NOPASSWORD, true);
13177
- list.removeAll(item);
13182
-void KcmSambaConf::removeSambaUserBtnClicked()
13184
- QList<Q3ListViewItem*> list = _interface->sambaUsersListView->selectedItems();
13186
- SambaShare* share = _sambaFile->getShare("global");
13187
- SmbPasswdFile passwd( KUrl(share->getValue("smb passwd file",true,true)) );
13189
- foreach ( Q3ListViewItem* item, list ) {
13190
- SambaUser user( item->text(0), item->text(1).toInt() );
13191
- if (!passwd.removeUser(user))
13193
- KMessageBox::sorry(0,i18n("Removing the user %1 from the Samba user database failed.", user.name));
13197
- new K3ListViewItem(_interface->unixUsersListView, item->text(0), item->text(1));
13198
- list.removeAll(item);
13203
-void KcmSambaConf::sambaUserPasswordBtnClicked()
13205
- QList<Q3ListViewItem*> list = _interface->sambaUsersListView->selectedItems();
13207
- SambaShare* share = _sambaFile->getShare("global");
13208
- SmbPasswdFile passwd( KUrl(share->getValue("smb passwd file",true,true)) );
13210
- foreach ( Q3ListViewItem* item, list ) {
13211
- SambaUser user( item->text(0), item->text(1).toInt() );
13213
- QByteArray password;
13214
- int passResult = K3PasswordDialog::getNewPassword(this,password,
13215
- i18n("Please enter a password for the user %1", user.name));
13216
- if (passResult != K3PasswordDialog::Accepted)
13219
- if (!passwd.changePassword(user,password))
13221
- KMessageBox::sorry(0,i18n("Changing the password of the user %1 failed.", user.name));
13223
- static_cast<QMultiCheckListItem*>(item)->setOn(COL_NOPASSWORD,false);
13231
-void KcmSambaConf::defaults() {
13232
- // insert your default settings code here...
13233
- emit changed(true);
13236
-#define FILESHARECONF "/etc/security/fileshare.conf"
13238
-void KcmSambaConf::save() {
13239
- SambaShare *share = _sambaFile->getShare("global");
13242
- kDebug(5009) << "saving ... ";
13246
- _smbconf = _interface->configUrlRq->url().path();
13247
- KConfig config(QString::fromLatin1(FILESHARECONF), KConfig::SimpleConfig);
13248
- config.group("").writeEntry("SMBCONF",_smbconf);
13255
- switch (_interface->securityLevelBtnGrp->id(_interface->securityLevelBtnGrp->selected())) {
13256
- case 0 : s = "share";break;
13257
- case 1 : s = "user";break;
13258
- case 2 : s = "server";break;
13259
- case 3 : s = "domain";break;
13260
- case 4 : s = "ads";break;
13263
- share->setValue("security",s);
13266
-// share->setValue("security",_interface->securityLevelCombo->currentText());
13267
- share->setValue("map to guest",_interface->mapToGuestCombo->currentText());
13269
- share->setValue("guest account",_interface->guestAccountCombo->currentText());
13271
- if (_interface->otherWinsRadio->isChecked())
13272
- share->setValue("wins server",_interface->winsServerEdit->text(), false,true);
13274
- share->setValue("wins server",QString(""), false,true);
13276
- // socket options
13278
- s = socketOptions();
13279
- share->setValue("socket options",s,false,true);
13282
- _dictMngr->save( share,false,true );
13284
- _sambaFile->slotApply();
13288
-bool KcmSambaConf::getSocketBoolValue( const QString & str, const QString & name )
13291
- int i = s.indexOf(name, Qt::CaseInsensitive );
13295
- s = s.remove(0,i+1+QString(name).length());
13297
- if ( s.startsWith("=") )
13299
- s = s.remove(0,1);
13300
- if ( s.startsWith("0"))
13312
-int KcmSambaConf::getSocketIntValue( const QString & str, const QString & name )
13315
- int i = s.indexOf(name,Qt::CaseInsensitive );
13319
- s = s.remove(0,i+name.length());
13320
- if ( s.startsWith("=") )
13322
- s = s.remove(0,1);
13324
- i = s.indexOf(' ');
13332
- return s.toInt();
13341
-QString KcmSambaConf::socketOptions()
13345
- if ( _interface->SO_KEEPALIVEChk->isChecked() )
13346
- s+="SO_KEEPALIVE ";
13348
- if ( _interface->SO_REUSEADDRChk->isChecked() )
13349
- s+= "SO_REUSEADDR ";
13351
- if ( _interface->SO_BROADCASTChk->isChecked() )
13352
- s+= "SO_BROADCAST ";
13354
- if ( _interface->TCP_NODELAYChk->isChecked() )
13355
- s+= "TCP_NODELAY ";
13357
- if ( _interface->IPTOS_LOWDELAYChk->isChecked() )
13358
- s+= "IPTOS_LOWDELAY ";
13360
- if ( _interface->IPTOS_THROUGHPUTChk->isChecked() )
13361
- s+= "IPTOS_THROUGHPUT ";
13363
- if ( _interface->SO_SNDBUFChk->isChecked() ) {
13364
- s+= "SO_SNDBUF=";
13365
- s+= QString::number( _interface->SO_SNDBUFSpin->value() );
13369
- if ( _interface->SO_RCVBUFChk->isChecked() ) {
13370
- s+= "SO_RCVBUF=";
13371
- s+= QString::number( _interface->SO_RCVBUFSpin->value() );
13375
- if ( _interface->SO_SNDLOWATChk->isChecked() ) {
13376
- s+= "SO_SNDLOWAT=";
13377
- s+= QString::number( _interface->SO_SNDLOWATSpin->value() );
13381
- if ( _interface->SO_RCVLOWATChk->isChecked() ) {
13382
- s+= "SO_RCVLOWAT=";
13383
- s+= QString::number( _interface->SO_RCVLOWATSpin->value() );
13393
-int KcmSambaConf::buttons () {
13394
- // KCModule::Default|KCModule::Apply|KCModule::Help;
13395
- return KCModule::Apply;
13398
-void KcmSambaConf::configChanged() {
13399
- // insert your saving code here...
13400
- emit changed(true);
13403
-QString KcmSambaConf::quickHelp() const
13405
- return i18n("<h1>Samba Configuration</h1> here you can configure your SAMBA server.");
13408
-// ------------------------------------------------------------------------
13412
- KDE_EXPORT KCModule *create_KcmSambaConf(QWidget *parent, const char *name)
13414
- KGlobal::locale()->insertCatalog("kfileshare");
13415
- KComponentData inst("kfileshare");
13416
- return new KcmSambaConf(inst,parent, name);
13420
-#include "kcmsambaconf.moc"
13421
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/kcmsambaconf.desktop
13422
===================================================================
13423
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/kcmsambaconf.desktop 2011-02-25 16:47:35.000000000 -0500
13424
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
13427
-Exec=kcmshell4 kcmsambaconf
13428
-Icon=preferences-system-network-share-windows
13430
-X-KDE-ServiceTypes=KCModule
13434
-X-KDE-FactoryName=KcmSambaConf
13435
-X-KDE-Library=kcm_kcmsambaconf
13436
-X-KDE-ModuleType=Library
13437
-X-KDE-SubstituteUID=false
13438
-X-KDE-HasReadOnlyMode=true
13439
-X-KDE-RootOnly=true
13440
-X-KDE-ParentApp=kcontrol
13441
-X-KDE-System-Settings-Parent-Category=sharing
13442
-Categories=Qt;KDE;X-KDE-settings-network;Settings;
13445
-Comment=A module to configure shares for Microsoft Windows
13446
-Comment[ar]=وحدة لإعداد مشاركة ميكروسوفت ويندوز
13447
-Comment[ast]=Un módulu pa configurar recursos compartíos de Microsoft Windows
13448
-Comment[be]=Модуль настаўлення агульных рэсурсаў для Microsoft Windows
13449
-Comment[bg]=Настройване споделянето на ресурси с Майкрософт Уиндоус
13450
-Comment[bn]=মাইক্রোসফ্ট উইন্ডোজের জন্য ভাগাভাগি কনফিগার করতে একটি মডিউল
13451
-Comment[ca]=Un mòdul per configurar els recursos compartits de Microsoft Windows
13452
-Comment[ca@valencia]=Un mòdul per configurar els recursos compartits de Microsoft Windows
13453
-Comment[cs]=Modul pro konfiguraci sdílených prostředků MS Windows
13454
-Comment[da]=Et modul til at indstille delte ressourcer til Microsoft Windows
13455
-Comment[de]=Modul zum Einrichten von Windows-Freigaben
13456
-Comment[el]=Ένα άρθρωμα για τη ρύθμιση κοινοχρήστων για τα Microsoft Windows
13457
-Comment[en_GB]=A module to configure shares for Microsoft Windows
13458
-Comment[eo]=Modulo por agordi la komunajn dosierojn por Vindozo
13459
-Comment[es]=Un módulo para configurar recursos compartidos de Microsoft Windows
13460
-Comment[et]=Microsoft Windowsi jagatud ressursside seadistusmoodul
13461
-Comment[eu]=Microsoft Windows-entzako partekatzea konfiguratzeko modulu bat
13462
-Comment[fa]=یک پیمانه جهت پیکربندی مشترکات برای میکروسافت ویندوز
13463
-Comment[fi]=Moduuli Microsoft Windows -jakojen asettamiseen
13464
-Comment[fr]=Un module permettant de configurer les partages Microsoft Windows
13465
-Comment[ga]=Modúl lenar féidir comhranna Windows a chumrú
13466
-Comment[gl]=Un módulo para configurar os compartimentos con Microsoft Windows
13467
-Comment[he]=מודול להגדרת שיתופים עם חלונות של מיקרוסופט
13468
-Comment[hi]=एक मॉड्यूल जो आपको माइक्रोसॉफ़्ट विंडोज के लिए साझा को कॉन्फ़िगर करने देता है.
13469
-Comment[hne]=एक माड्यूल जऊन आप मन ल माइक्रोसाफ्ट विंडोज बर साझा ल कान्फिगर करन देथे .
13470
-Comment[hr]=Modul za podešavanje dijeljenja za Microsoft Windows
13471
-Comment[hu]=Beállítómodul Microsoft Windows-os megosztásokhoz
13472
-Comment[ia]=Un modulo pro configurar areas compartite per Microsoft Windows
13473
-Comment[is]=Eining til að stilla sameignir fyrir Microsoft Windows
13474
-Comment[it]=Un modulo per configurare le condivisioni per Microsoft Windows
13475
-Comment[ja]=Microsoft Windows との共有設定
13476
-Comment[kk]=Microsoft Windows-пен ортақ ресурстарды баптау модулі
13477
-Comment[km]=ម៉ូឌុលដើម្បីកំណត់រចនាសម្ព័ន្ធការចែករំលែកសម្រាប់ម៉ៃក្រូសូហ្វវីនដូ
13478
-Comment[ko]=마이크로소프트 윈도 공유 설정 모듈
13479
-Comment[lt]=Modulis MS Windows dalinamų diskų konfigūravimui
13480
-Comment[lv]=Microsoft Windows kopīgojumu konfigurācijas modulis
13481
-Comment[ml]=മൈക്രോസോഫ്റ്റ് വിന്ഡോസുമായി പങ്കിടുന്നതു് ക്രമീകരിയ്ക്കാനുള്ള ഒരു ഘടകം
13482
-Comment[nb]=En modul som setter opp delte ressurser for Microsoft Windows
13483
-Comment[nds]=Moduul för't Instellen vun Microsoft-Windows-Freegaven
13484
-Comment[ne]=माइक्रोसफ्ट विन्डोजका लागि साझेदारी कन्फिगर गर्न मोड्युल
13485
-Comment[nl]=Een module voor het instellen van shares voor Microsoft Windows
13486
-Comment[nn]=Ein modul for oppsett av delte Microsoft Windows-ressursar
13487
-Comment[pa]=ਮਾਈਕਰੋਸਾਫਟ ਵਿੰਡੋਜ਼ ਲਈ ਸ਼ੇਅਰ ਸੰਰਚਨਾ ਲਈ ਇੱਕ ਮੋਡੀਊਲ
13488
-Comment[pl]=Moduł do konfigurowania udziałów Microsoft Windows
13489
-Comment[pt]=Um módulo para configurar partilhas para o Microsoft Windows
13490
-Comment[pt_BR]=Um módulo para configurar compartilhamentos com o Microsoft Windows
13491
-Comment[ro]=Modul de configurare a partajărilor pentru Microsoft Windows
13492
-Comment[ru]=Модуль настройки общих ресурсов для Microsoft Windows
13493
-Comment[sk]=Modul na konfiguráciu zdieľaní pre Microsoft Windows
13494
-Comment[sl]=Modul za nastavitev souporabe map za Microsoft Windows
13495
-Comment[sr]=Модул за подешавање дељења за Мајкрософтов Виндоуз
13496
-Comment[sr@ijekavian]=Модул за подешавање дијељења за Мајкрософтов Виндоуз
13497
-Comment[sr@ijekavianlatin]=Modul za podešavanje dijeljenja za Microsoftov Windows
13498
-Comment[sr@latin]=Modul za podešavanje deljenja za Microsoftov Windows
13499
-Comment[sv]=En modul för att ställa in kataloger delade med Microsoft Windows
13500
-Comment[tr]=Microsoft Windows paylaşımlarını yapılandırmak için bir modül
13501
-Comment[uk]=Модуль налаштування спільних ресурсів для Microsoft Windows
13502
-Comment[vi]=Một môđun để cấu hình chia sẻ với Microsoft Windows
13503
-Comment[x-test]=xxA module to configure shares for Microsoft Windowsxx
13504
-Comment[zh_CN]=配置 Microsoft Windows 共享的模块
13505
-Comment[zh_HK]=設定 Microsoft Windows 分享資源的模組
13506
-Comment[zh_TW]=設定 Microsoft Windows 分享的模組
13507
-X-KDE-Keywords=KcmSambaConf,kcmsambaconf,samba,windows,share
13508
-X-KDE-Keywords[bg]=Keywords=Самба, Уиндоус, мрежа, споделяне, KcmSambaConf, kcmsambaconf, samba, windows, share
13509
-X-KDE-Keywords[ca]=KcmSambaConf,kcmsambaconf,samba,windows,share,recurs compartit
13510
-X-KDE-Keywords[cs]=Samba,nastavení,windows,sdílení
13511
-X-KDE-Keywords[de]=KcmSambaConf,kcmsambaconf,samba,windows,freigabe,share
13512
-X-KDE-Keywords[et]=KcmSambaConf,kcmsambaconf,samba,windows,jagatud ressursid
13513
-X-KDE-Keywords[eu]=KcmSambaConf,kcmsambaconf,samba,windows,partekatze
13514
-X-KDE-Keywords[fa]=KcmSambaConf، kcmsambaconf، samba، ویندوز، مشترک
13515
-X-KDE-Keywords[fi]=KcmSambaConf,kcmsambaconf,samba,windows,jako
13516
-X-KDE-Keywords[fr]=KcmSambaConf,kcmsambaconf,samba,windows,partage
13517
-X-KDE-Keywords[gl]=KcmSambaConf,kcmsambaconf,samba,widows,compartir
13518
-X-KDE-Keywords[he]=KcmSambaConf,kcmsambaconf,samba,windows,share, סמבה, חלונות, שיתוף, שיתופי חלונות
13519
-X-KDE-Keywords[hu]=KcmSambaConf,kcmsambaconf,samba,windows,megosztás
13520
-X-KDE-Keywords[is]=KcmSambaConf,kcmsambaconf,samba,windows,sameign
13521
-X-KDE-Keywords[it]=KcmSambaConf,kcmsambaconf,samba,windows,condivisione
13522
-X-KDE-Keywords[ja]=KcmSambaConf,kcmsambaconf,samba,windows,共有
13523
-X-KDE-Keywords[km]=KcmSambaConf,kcmsambaconf,samba,បង្អួច,ចែករំលែក
13524
-X-KDE-Keywords[ko]=KcmSambaConf,kcmsambaconf,samba,윈도,windows,공유
13525
-X-KDE-Keywords[lt]=KcmSambaConf,kcmsambaconf,samba,windows,share,dalinimasis,dalintis,pasidalinti
13526
-X-KDE-Keywords[nb]=KcmSambaConf,kcmsambaconf,samba,windows,delt,ressurs
13527
-X-KDE-Keywords[nds]=KcmSambaConf,kcmsambaconf,samba,windows,share,freegaav,freegaven
13528
-X-KDE-Keywords[ne]=KcmSambaConf,kcmsambaconf,साम्बा,विन्डोज,साझेदारी
13529
-X-KDE-Keywords[nl]=KcmSambaConf,kcmsambaconf,samba,windows netwerk,share,gedeelde mappen,gedeelde printers
13530
-X-KDE-Keywords[nn]=KcmSambaConf,kcmsambaconf,samba,Windows,delt ressurs
13531
-X-KDE-Keywords[pl]=KcmSambaConf,kcmsambaconf,samba,Samba,serwer,SMB,smb,windows,udział,dysk sieciowy
13532
-X-KDE-Keywords[pt]=KcmSambaConf,kcmsambaconf,Samba,Windows,partilha
13533
-X-KDE-Keywords[sl]=KcmSambaConf,kcmsambaconf,Samba,samba,souporaba,deljeno
13534
-X-KDE-Keywords[sv]=IM SAMBA-inställning,IM samba-inställning,Windows,dela
13535
-X-KDE-Keywords[uk]=KcmSambaConf,kcmsambaconf,samba,windows,share,спільні ресурси
13536
-X-KDE-Keywords[vi]=KcmSambaConf,kcmsambaconf,samba,windows,share, chia sẻ
13537
-X-KDE-Keywords[x-test]=xxKcmSambaConf,kcmsambaconf,samba,windows,sharexx
13538
-X-KDE-Keywords[zh_CN]=KcmSambaConf,kcmsambaconf,samba,windows,share,共享
13546
-Name[ca@valencia]=Samba
13591
-Name[sr@ijekavian]=Самба
13592
-Name[sr@ijekavianlatin]=Samba
13593
-Name[sr@latin]=Samba
13598
-Name[uz@cyrillic]=Samba
13601
-Name[x-test]=xxSambaxx
13605
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/kcmsambaconf.h
13606
===================================================================
13607
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/kcmsambaconf.h 2011-01-19 17:21:04.000000000 -0500
13608
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
13610
-/***************************************************************************
13611
- kcmsambaconf.h - description
13612
- -------------------
13613
- begin : Mon Apr 8 13:35:56 CEST 2002
13614
- copyright : (C) 2002 by Christian Nitschkowski
13615
- email : segfault_ii@web.de
13616
- copyright : (C) 2002-2003 by Jan Schäfer
13617
- email : janschaefer@users.sourceforge.net
13618
-***************************************************************************/
13620
-/******************************************************************************
13622
-* This file is part of KSambaPlugin. *
13624
-* KSambaPlugin is free software; you can redistribute it and/or modify *
13625
-* it under the terms of the GNU General Public License as published by *
13626
-* the Free Software Foundation; either version 2 of the License, or *
13627
-* (at your option) any later version. *
13629
-* KSambaPlugin is distributed in the hope that it will be useful, *
13630
-* but WITHOUT ANY WARRANTY; without even the implied warranty of *
13631
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13632
-* GNU General Public License for more details. *
13634
-* You should have received a copy of the GNU General Public License *
13635
-* along with KSambaPlugin; if not, write to the Free Software *
13636
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
13638
-******************************************************************************/
13640
-#ifndef KCMSAMBACONF_H_
13641
-#define KCMSAMBACONF_H_
13643
-#include <kcmodule.h>
13644
-#include "kcminterface.h"
13645
-#include "ui_share.h"
13646
-#include <q3ptrlist.h>
13647
-#include <q3listview.h>
13648
-//Added by qt3to4:
13649
-#include <QPixmap>
13656
-* A QListViewItem which holds a SambaShare object
13658
-class ShareListViewItem : public Q3ListViewItem
13661
- ShareListViewItem(Q3ListView * parent, SambaShare* share);
13663
- SambaShare* getShare() const;
13664
- void setShare(SambaShare* share);
13665
- void updateShare();
13668
- SambaShare* _share;
13669
- QPixmap createPropertyPixmap();
13673
-class KPageWidget;
13674
-class DictManager;
13675
-class SmbConfConfigWidget;
13677
-class KcmSambaConf: public KCModule
13681
- KcmSambaConf(const KComponentData &inst ,QWidget *parent = 0L, const char *name = 0L);
13682
- virtual ~KcmSambaConf();
13684
- void load(const QString &);
13688
- QString quickHelp() const;
13691
- void configChanged();
13693
- void editShare();
13695
- void removeShare();
13698
- void editPrinter();
13699
- void addPrinter();
13700
- void removePrinter();
13703
- void editShareDefaults();
13705
- void editPrinterDefaults();
13711
- * The path of the smb.conf file
13713
- QString _smbconf;
13714
- SambaFile* _sambaFile;
13716
- DictManager* _dictMngr;
13719
- void loadUserTab();
13720
- void saveUserTab();
13721
- bool getSocketBoolValue( const QString & str, const QString & name );
13722
- int getSocketIntValue( const QString & str, const QString & name );
13723
- QString socketOptions();
13724
- void setComboIndexToValue(QComboBox* box, const QString & value, SambaShare* share);
13726
- void loadBaseSettings(SambaShare*s=0L);
13727
- void loadSecurity(SambaShare* );
13728
- void loadLogging(SambaShare* );
13729
- void loadTuning(SambaShare* );
13730
- void loadDomain(SambaShare* );
13731
- void loadWins(SambaShare* );
13732
- void loadPrinting(SambaShare* );
13733
- void loadFilenames(SambaShare* );
13734
- void loadLocking(SambaShare* );
13735
- void loadCharset(SambaShare*);
13736
- void loadLogon(SambaShare* );
13737
- void loadSocket(SambaShare* );
13738
- void loadSSL(SambaShare* );
13739
- void loadProtocol(SambaShare* );
13740
- void loadWinbind(SambaShare* );
13741
- void loadNetbios(SambaShare* );
13742
- void loadVFS(SambaShare* );
13743
- void loadBrowsing(SambaShare* );
13744
- void loadCommands(SambaShare*);
13745
- void loadMisc(SambaShare* );
13746
- void loadDebug(SambaShare* );
13747
- void loadLDAP(SambaShare*);
13749
- void initAdvancedTab();
13751
- void createSmbConfigWidget();
13754
- void addSambaUserBtnClicked();
13755
- void removeSambaUserBtnClicked();
13756
- void sambaUserPasswordBtnClicked();
13757
- void slotMouseButtonPressed(int,Q3ListViewItem*,const QPoint &,int);
13758
- void joinADomainBtnClicked();
13759
- void nullPasswordsEnabled(bool);
13760
- void loadBtnClicked();
13761
- void loadCanceled(const QString & msg);
13762
- void fillFields();
13763
- void slotSpecifySmbConf(const QString &);
13766
- KcmInterface* _interface;
13767
- KPageWidget* _janus;
13768
- SmbConfConfigWidget* m_smbConfConfigWidget;
13772
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/linuxpermissionchecker.cpp
13773
===================================================================
13774
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/linuxpermissionchecker.cpp 2011-01-19 17:21:04.000000000 -0500
13775
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
13777
-/***************************************************************************
13778
- begin : Tue May 17 2003
13779
- copyright : (C) 2003 by Jan Sch�er
13780
- email : janschaefer@users.sourceforge.net
13781
- ***************************************************************************/
13783
-/******************************************************************************
13785
- * This file is part of KSambaPlugin. *
13787
- * KSambaPlugin is free software; you can redistribute it and/or modify *
13788
- * it under the terms of the GNU General Public License as published by *
13789
- * the Free Software Foundation; either version 2 of the License, or *
13790
- * (at your option) any later version. *
13792
- * KSambaPlugin is distributed in the hope that it will be useful, *
13793
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13794
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13795
- * GNU General Public License for more details. *
13797
- * You should have received a copy of the GNU General Public License *
13798
- * along with KSambaPlugin; if not, write to the Free Software *
13799
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
13801
- ******************************************************************************/
13802
-#include <qregexp.h>
13803
-#include <qstringlist.h>
13805
-#include <kmessagebox.h>
13806
-#include <klocale.h>
13807
-#include <kdebug.h>
13809
-#include "passwd.h"
13810
-#include "sambashare.h"
13811
-#include "linuxpermissionchecker.h"
13813
-LinuxPermissionChecker::LinuxPermissionChecker(SambaShare* share,QWidget* parent = 0L)
13815
- m_sambaShare = share;
13816
- m_parent = parent;
13819
- kWarning() << "WARNING: LinuxPermissionChecker: share is null !";
13823
- m_fi = QFileInfo(share->getValue("path"));
13825
- if ( ! m_fi.exists()) {
13826
- kDebug(5009) << "LinuxPermissionChecker: path does not exists !";
13832
-LinuxPermissionChecker::~LinuxPermissionChecker()
13836
-bool LinuxPermissionChecker::checkAllPermissions() {
13837
- if (! m_sambaShare )
13840
- if ( ! m_fi.exists())
13843
- if (! checkPublicPermissions())
13846
- if (! checkAllUserPermissions())
13852
-bool LinuxPermissionChecker::checkAllUserPermissions() {
13853
- if (! m_sambaShare )
13856
- if ( ! m_fi.exists())
13859
- QStringList readList = QStringList::split(QRegExp("[,\\s]+"),m_sambaShare->getValue("read list"));
13861
- for ( QStringList::Iterator it = readList.begin(); it != readList.end(); ++it )
13863
- if (!checkUserReadPermissions(*it))
13867
- QStringList writeList = QStringList::split(QRegExp("[,\\s]+"),m_sambaShare->getValue("write list"));
13869
- for ( QStringList::Iterator it = writeList.begin(); it != writeList.end(); ++it )
13871
- if (!checkUserWritePermissions(*it))
13878
-bool LinuxPermissionChecker::checkPublicPermissions() {
13879
- if (! m_sambaShare )
13882
- bool isPublic = m_sambaShare->getBoolValue("public");
13886
- QString guestAccount = m_sambaShare->getValue("guest account");
13888
- if ( ! checkUserReadPermissions(guestAccount,false))
13890
- if (KMessageBox::Cancel == KMessageBox::warningContinueCancel(
13892
- "<qt>You have specified <b>public read access</b> for this directory, but "
13893
- "the guest account <b>%1</b> does not have the necessary read permissions;<br />"
13894
- "do you want to continue anyway?</qt>", guestAccount)
13896
- ,KStandardGuiItem::cont()
13897
- ,KStandardGuiItem::cancel()
13898
- ,"KSambaPlugin_guestAccountHasNoReadPermissionsWarning"))
13903
- if ( ! checkUserWritePermissions(guestAccount,false))
13905
- if (KMessageBox::Cancel == KMessageBox::warningContinueCancel(
13907
- "<qt>You have specified <b>public write access</b> for this directory, but "
13908
- "the guest account <b>%1</b> does not have the necessary write permissions;<br />"
13909
- "do you want to continue anyway?</qt>", guestAccount)
13911
- ,KStandardGuiItem::cont()
13912
- ,KStandardGuiItem::cancel()
13913
- ,"KSambaPlugin_guestAccountHasNoWritePermissionsWarning"))
13920
-bool LinuxPermissionChecker::checkUserPermissions(const QString & user) {
13921
- if ( ! checkUserReadPermissions(user))
13924
- if ( ! checkUserWritePermissions(user))
13930
-bool LinuxPermissionChecker::checkUserWritePermissions(const QString & user, bool showMessageBox) {
13931
- // If no write permissions are given, we don't need to check them.
13932
- if (m_sambaShare->getBoolValue("read only"))
13935
- if (! ((m_fi.permission(QFileInfo::WriteOther)) ||
13936
- (m_fi.permission(QFileInfo::WriteUser) && user == m_fi.owner()) ||
13937
- (m_fi.permission(QFileInfo::WriteGroup) && isUserInGroup(user, m_fi.group())))
13940
- if (!showMessageBox)
13943
- if (KMessageBox::Cancel == KMessageBox::warningContinueCancel(
13945
- "<qt>You have specified <b>write access</b> to the user <b>%1</b> for this directory, but "
13946
- "the user does not have the necessary write permissions;<br />"
13947
- "do you want to continue anyway?</qt>", user)
13949
- ,KStandardGuiItem::cont()
13950
- ,KStandardGuiItem::cancel()
13951
- ,"KSambaPlugin_userHasNoWritePermissionsWarning"))
13957
-bool LinuxPermissionChecker::checkUserReadPermissions(const QString & user, bool showMessageBox) {
13958
- if (! ((m_fi.permission(QFileInfo::ReadOther)) ||
13959
- (m_fi.permission(QFileInfo::ReadUser) && user == m_fi.owner()) ||
13960
- (m_fi.permission(QFileInfo::ReadGroup) && isUserInGroup(user, m_fi.group())))
13963
- if (!showMessageBox)
13966
- if (KMessageBox::Cancel == KMessageBox::warningContinueCancel(
13968
- "<qt>You have specified <b>read access</b> to the user <b>%1</b> for this directory, but "
13969
- "the user does not have the necessary read permissions;<br />"
13970
- "do you want to continue anyway?</qt>", user)
13972
- ,KStandardGuiItem::cont()
13973
- ,KStandardGuiItem::cancel()
13974
- ,"KSambaPlugin_userHasNoReadPermissionsWarning"))
13980
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/linuxpermissionchecker.h
13981
===================================================================
13982
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/linuxpermissionchecker.h 2011-01-19 17:21:04.000000000 -0500
13983
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
13985
-/***************************************************************************
13986
- begin : Tue May 17 2003
13987
- copyright : (C) 2003 by Jan Schäfer
13988
- email : janschaefer@users.sourceforge.net
13989
- ***************************************************************************/
13991
-/******************************************************************************
13993
- * This file is part of KSambaPlugin. *
13995
- * KSambaPlugin is free software; you can redistribute it and/or modify *
13996
- * it under the terms of the GNU General Public License as published by *
13997
- * the Free Software Foundation; either version 2 of the License, or *
13998
- * (at your option) any later version. *
14000
- * KSambaPlugin is distributed in the hope that it will be useful, *
14001
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14002
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14003
- * GNU General Public License for more details. *
14005
- * You should have received a copy of the GNU General Public License *
14006
- * along with KSambaPlugin; if not, write to the Free Software *
14007
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
14009
- ******************************************************************************/
14010
-#ifndef LINUXPERMISSIONCHECKER_H
14011
-#define LINUXPERMISSIONCHECKER_H
14013
-#include <qfileinfo.h>
14019
- * A class to check if the Samba permissions specified in the SambaShare fit
14020
- * to the un?x permissions of the directory. E.g. a user specifies a SambaShare as writeable
14021
- * for the public, but the guest account has no write permissions for the directory of the
14022
- * SambaShare. This will cause a dialog (which can be turned of) to popup and inform the
14023
- * user about the missing rights and ask him to continue nevertheless or to cancel.
14024
- * This class works for all un?x systems not only for Linux, but I couldn't call the
14025
- * class Un?xPermissionChecker ;-)
14026
- * @author Jan Schaefer
14028
-class LinuxPermissionChecker{
14030
- LinuxPermissionChecker(SambaShare*,QWidget* parent );
14031
- ~LinuxPermissionChecker();
14034
- * Checks all possible errors that the user could made
14036
- * <li><code>false</code> if the un?x permissions of the directory doesn't fit
14037
- * to the specified permissions in the Samba share and the user has pushed
14038
- * the cancel button of one of the dialogs, that informed her.
14039
- * <li><code>true</code> if either there haven't been any problems with the un?x
14040
- * permissions, or there have been problems, but the user pressed always the continue button.
14042
- bool checkAllPermissions();
14045
- * Checks only the public permissions of the directory. First checks
14046
- * if the Samba share is specified public and then checks if the guest account
14047
- * has the appropriate rights.
14048
- * @return @see #check
14050
- bool checkPublicPermissions();
14053
- * Checks all permissions of all users specified in
14054
- * the Samba share
14055
- * @return @see #check
14057
- bool checkAllUserPermissions();
14063
- * Checks all permissions of the given un?x user
14064
- * @return @see #check
14066
- bool checkUserPermissions(const QString & user);
14069
- * Checks the write permissions of the given un?x user
14070
- * Does not show a dialog if showMessageBox is false
14071
- * @return @see #check
14073
- bool checkUserWritePermissions(const QString & user,bool showMessageBox = true);
14076
- * Checks the read permissions of the given un?x user
14077
- * Does not show a dialog if showMessageBox is false
14078
- * @return @see #check
14080
- bool checkUserReadPermissions(const QString & user,bool showMessageBox = true);
14082
- QWidget* m_parent;
14083
- SambaShare* m_sambaShare;
14088
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/passwd.cpp
14089
===================================================================
14090
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/passwd.cpp 2011-01-19 17:21:04.000000000 -0500
14091
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
14093
-/***************************************************************************
14094
- passwd.cpp - description
14095
- -------------------
14096
- begin : Tue June 6 2002
14097
- copyright : (C) 2002 by Jan Schaefer
14098
- email : janschaefer@users.sourceforge.net
14099
- ***************************************************************************/
14101
-/******************************************************************************
14103
- * This file is part of KSambaPlugin. *
14105
- * KSambaPlugin is free software; you can redistribute it and/or modify *
14106
- * it under the terms of the GNU General Public License as published by *
14107
- * the Free Software Foundation; either version 2 of the License, or *
14108
- * (at your option) any later version. *
14110
- * KSambaPlugin is distributed in the hope that it will be useful, *
14111
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14112
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14113
- * GNU General Public License for more details. *
14115
- * You should have received a copy of the GNU General Public License *
14116
- * along with KSambaPlugin; if not, write to the Free Software *
14117
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
14119
- ******************************************************************************/
14122
-#include <sys/types.h>
14125
-#include <iostream>
14127
-#include "passwd.h"
14129
-UnixUserList getUnixUserList()
14131
- UnixUserList list;
14133
- struct passwd* p;
14135
- while ((p = getpwent()))
14137
- if (!p) continue;
14139
- UnixUser *u = new UnixUser();
14140
- u->name = p->pw_name;
14141
- u->uid = p->pw_uid;
14152
-QStringList getUnixUsers()
14154
- QStringList list;
14156
- struct passwd* p;
14158
- while ((p = getpwent()))
14161
- list.append(QString(p->pw_name));
14171
-QStringList getUnixGroups()
14173
- QStringList list;
14177
- while ((g = getgrent()))
14180
- list.append(QString(g->gr_name));
14190
-int getUserUID(const QString & name)
14192
- if (name.isNull()) return -1;
14194
- struct passwd* p;
14196
- p = getpwnam(name.toLocal8Bit());
14199
- return p->pw_uid;
14204
-int getUserGID(const QString & name)
14206
- if (name.isNull()) return -1;
14208
- struct passwd* p;
14210
- p = getpwnam(name.toLocal8Bit());
14213
- return p->pw_gid;
14218
-int getGroupGID(const QString & name)
14220
- if (name.isNull()) return -1;
14224
- g = getgrnam(name.toLocal8Bit());
14227
- return g->gr_gid;
14232
-bool isUserInGroup(const QString & user, const QString & group) {
14235
- while ((g = getgrent()))
14237
- if (g && QString(g->gr_name) == group) {
14238
- char** names = g->gr_mem;
14241
- char* name = names[0];
14242
- while (name != 0L) {
14244
- if (QString(name) == user) {
14257
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/passwd.h
14258
===================================================================
14259
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/passwd.h 2011-01-19 17:21:04.000000000 -0500
14260
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
14262
-/***************************************************************************
14263
- passwd.h - description
14264
- -------------------
14265
- begin : Tue June 6 2002
14266
- copyright : (C) 2002 by Jan Schäfer
14267
- email : janschaefer@users.sourceforge.net
14268
- ***************************************************************************/
14270
-/******************************************************************************
14272
- * This file is part of KSambaPlugin. *
14274
- * KSambaPlugin is free software; you can redistribute it and/or modify *
14275
- * it under the terms of the GNU General Public License as published by *
14276
- * the Free Software Foundation; either version 2 of the License, or *
14277
- * (at your option) any later version. *
14279
- * KSambaPlugin is distributed in the hope that it will be useful, *
14280
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14281
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14282
- * GNU General Public License for more details. *
14284
- * You should have received a copy of the GNU General Public License *
14285
- * along with KSambaPlugin; if not, write to the Free Software *
14286
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
14288
- ******************************************************************************/
14293
-#include <qstringlist.h>
14294
-#include <qstring.h>
14295
-#include <q3ptrlist.h>
14306
-typedef Q3PtrList<UnixUser> UnixUserList;
14308
-UnixUserList getUnixUserList();
14309
-QStringList getUnixUsers();
14310
-QStringList getUnixGroups();
14311
-int getUserUID(const QString &);
14312
-int getUserGID(const QString &);
14313
-int getGroupGID(const QString &);
14314
-bool isUserInGroup(const QString &, const QString &);
14318
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/printerdlgimpl.cpp
14319
===================================================================
14320
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/printerdlgimpl.cpp 2011-01-19 17:21:04.000000000 -0500
14321
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
14323
-/***************************************************************************
14324
- printerdlgimpl.cpp - description
14325
- -------------------
14326
- begin : Tue June 6 2002
14327
- copyright : (C) 2002 by Jan Schäfer
14328
- email : janschaefer@users.sourceforge.net
14329
- ***************************************************************************/
14331
-/******************************************************************************
14333
- * This file is part of KSambaPlugin. *
14335
- * KSambaPlugin is free software; you can redistribute it and/or modify *
14336
- * it under the terms of the GNU General Public License as published by *
14337
- * the Free Software Foundation; either version 2 of the License, or *
14338
- * (at your option) any later version. *
14340
- * KSambaPlugin is distributed in the hope that it will be useful, *
14341
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14342
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14343
- * GNU General Public License for more details. *
14345
- * You should have received a copy of the GNU General Public License *
14346
- * along with KSambaPlugin; if not, write to the Free Software *
14347
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
14349
- ******************************************************************************/
14353
- * @author Jan Schäfer
14355
-#include <qcheckbox.h>
14356
-#include <qlineedit.h>
14357
-#include <qcombobox.h>
14358
-#include <qlabel.h>
14359
-#include <q3listbox.h>
14360
-#include <qpainter.h>
14361
-#include <q3groupbox.h>
14362
-#include <qpixmap.h>
14363
-#include <qbitmap.h>
14364
-#include <qlayout.h>
14365
-#include <qtabwidget.h>
14366
-//Added by qt3to4:
14367
-#include <Q3PtrList>
14369
-#include <klineedit.h>
14370
-#include <kurlrequester.h>
14371
-#include <knuminput.h>
14372
-#include <kdebug.h>
14373
-#include <kdeprint/kmmanager.h>
14374
-#include <kdeprint/kmprinter.h>
14375
-#include <kcombobox.h>
14376
-#include <kiconloader.h>
14377
-#include <klocale.h>
14379
-#include <assert.h>
14381
-#include "sambafile.h"
14382
-#include "printerdlgimpl.h"
14383
-#include "usertabimpl.h"
14384
-#include "passwd.h"
14385
-#include "dictmanager.h"
14388
-PrinterDlgImpl::PrinterDlgImpl(QWidget* parent, SambaShare* share)
14389
- : KcmPrinterDlg(parent,"sharedlgimpl")
14392
- kWarning() << "PrinterDlgImpl::Constructor : share parameter is null!";
14397
- _dictMngr = new DictManager(share);
14402
-void PrinterDlgImpl::initDialog()
14408
- QList<KMPrinter*> printerList = KMManager::self()->printerListComplete();
14410
- QListIterator<KMPrinter*> it(printerList);
14411
- while (it.hasNext())
14413
- KMPrinter *item = it.next();
14414
- if (!item->isSpecial()){
14415
- queueCombo->insertItem(item->printerName());
14419
- setComboToString(queueCombo,_share->getValue("printer name"));
14422
- _dictMngr->add("path",pathUrlRq);
14423
- printersChk->setChecked( _share->getName() == "printers" );
14425
- shareNameEdit->setText( _share->getName() );
14426
- _dictMngr->add("comment",commentEdit);
14428
- _dictMngr->add("available",availableBaseChk);
14429
- _dictMngr->add("browseable",browseableBaseChk);
14430
- _dictMngr->add("public",publicBaseChk);
14434
- _userTab = new UserTabImpl(this,_share);
14435
- _tabs->insertTab(_userTab,i18n("&Users"),1);
14436
- _userTab->load();
14437
- connect(_userTab, SIGNAL(changed()), this, SLOT(changedSlot()));
14442
- _dictMngr->add("postscript",postscriptChk);
14443
- _dictMngr->add("use client driver",useClientDriverChk);
14444
- _dictMngr->add("default devmode",defaultDevmodeChk);
14446
- _dictMngr->add("max print jobs",maxPrintJobsSpin);
14447
- _dictMngr->add("max reported print jobs",maxReportedPrintJobsSpin);
14448
- _dictMngr->add("printing",printingCombo,
14449
- new QStringList(QStringList()
14450
- << "sysv" << "aix" << "hpux" << "bsd" << "qnx"
14451
- << "plp" << "lprng" << "softq" << "cups" << "nt" << "os2"));
14453
- _dictMngr->add("printer driver",printerDriverEdit);
14454
- _dictMngr->add("printer driver location",printerDriverLocationEdit);
14458
- _dictMngr->add("print command",printCommandEdit);
14459
- _dictMngr->add("lpq command",lpqCommandEdit);
14460
- _dictMngr->add("lprm command",lprmCommandEdit);
14461
- _dictMngr->add("lppause",lppauseEdit);
14462
- _dictMngr->add("lpresume",lpresumeEdit);
14463
- _dictMngr->add("queuepause",queuepauseEdit);
14464
- _dictMngr->add("queueresume",queueresumeEdit);
14468
- _dictMngr->add("printer admin",printerAdminEdit);
14469
- _dictMngr->add("hosts allow",hostsAllowEdit);
14470
- _dictMngr->add("hosts deny",hostsDenyEdit);
14472
- guestAccountCombo->addItems( getUnixUsers() );
14473
- setComboToString(guestAccountCombo,_share->getValue("guest account"));
14477
- _dictMngr->add("min print space",minPrintSpaceSpin);
14478
- _dictMngr->add("status",statusChk);
14479
- _dictMngr->add("preexec",preExecEdit);
14480
- _dictMngr->add("postexec",postExecEdit);
14481
- _dictMngr->add("root preexec",rootPreExecEdit);
14482
- _dictMngr->add("root postexec",rootPostExecEdit);
14484
- _dictMngr->load( _share );
14485
- connect(_dictMngr, SIGNAL(changed()), this, SLOT(changedSlot()));
14489
-void PrinterDlgImpl::accept()
14496
- _share->setValue("guest account",guestAccountCombo->currentText( ) );
14497
- _share->setValue("printer name",queueCombo->currentText());
14499
- if (printersChk->isChecked())
14501
- _share->setName("printers");
14504
- _share->setName(shareNameEdit->text());
14507
- _userTab->save();
14508
- _dictMngr->save( _share );
14511
- KcmPrinterDlg::accept();
14514
-PrinterDlgImpl::~PrinterDlgImpl()
14518
-void PrinterDlgImpl::printersChkToggled(bool b)
14522
- shareNameEdit->setText("printers");
14523
- shareNameEdit->setEnabled(false);
14526
- int w = 64 + dist;
14527
- int h = 64 + 2*dist;
14529
- QPixmap pix(w,h);
14530
- pix.fill(Qt::transparent);
14532
- QPixmap pix2 = DesktopIcon("printer1");
14534
- // Draw the printericon three times
14535
- QPainter p(&pix);
14536
- p.drawPixmap(dist+dist/2,0,pix2);
14537
- p.drawPixmap(dist/2,dist,pix2);
14538
- p.drawPixmap(dist+dist/2,2*dist,pix2);
14541
- QBitmap mask(w,h);
14543
- mask.fill(Qt::black); // everything is transparent
14547
- //p.setRasterOp(Qt::OrROP);
14548
- p.drawPixmap(dist+dist/2,0,pix2.mask());
14549
- p.drawPixmap(dist/2,dist,pix2.mask());
14550
- p.drawPixmap(dist+dist/2,2*dist,pix2.mask());
14553
- pix.setMask(mask);
14555
- printerPixLbl->setPixmap(pix);
14556
- pixFrame->layout()->setMargin( 2 );
14560
- shareNameEdit->setEnabled(true);
14561
- shareNameEdit->setText( _share->getName() );
14562
- printerPixLbl->setPixmap(DesktopIcon("printer1"));
14563
- pixFrame->layout()->setMargin( 11 );
14567
-#include "printerdlgimpl.moc"
14568
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/printerdlgimpl.h
14569
===================================================================
14570
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/printerdlgimpl.h 2011-01-19 17:21:04.000000000 -0500
14571
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
14573
-/***************************************************************************
14574
- printerdlgimpl.h - description
14575
- -------------------
14576
- begin : Tue June 6 2002
14577
- copyright : (C) 2002 by Jan Schäfer
14578
- email : janschaefer@users.sourceforge.net
14579
- ***************************************************************************/
14581
-/******************************************************************************
14583
- * This file is part of KSambaPlugin. *
14585
- * KSambaPlugin is free software; you can redistribute it and/or modify *
14586
- * it under the terms of the GNU General Public License as published by *
14587
- * the Free Software Foundation; either version 2 of the License, or *
14588
- * (at your option) any later version. *
14590
- * KSambaPlugin is distributed in the hope that it will be useful, *
14591
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14592
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14593
- * GNU General Public License for more details. *
14595
- * You should have received a copy of the GNU General Public License *
14596
- * along with KSambaPlugin; if not, write to the Free Software *
14597
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
14599
- ******************************************************************************/
14601
-#ifndef PRINTERDLGIMPL_H
14602
-#define PRINTERDLGIMPL_H
14606
- * @author Jan Schäfer
14609
-#include "kcmprinterdlg.h"
14613
-class UserTabImpl;
14614
-class DictManager;
14617
- * This class implements the tcmprinterdlg.ui interface
14619
-class PrinterDlgImpl : public KcmPrinterDlg
14625
- PrinterDlgImpl(QWidget* parent, SambaShare* share);
14626
- ~PrinterDlgImpl();
14631
- * Fills all dialog fields with the values
14632
- * of the SambaShare object
14634
- void initDialog();
14637
- * The share object to change with this dialog
14639
- SambaShare* _share;
14641
- UserTabImpl* _userTab;
14642
- DictManager* _dictMngr;
14646
- virtual void printersChkToggled(bool);
14651
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/programmingconventions.txt
14652
===================================================================
14653
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/programmingconventions.txt 2011-01-19 17:21:04.000000000 -0500
14654
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
14656
-Programming conventions :
14658
-Class member variable : starting with _ e.g. _name
14660
-QCheckBox variable : ending to Chk e.g. nameChk
14661
-QLineEdit variable : ending to Edit e.g. nameEdit
14662
-KUrlRequerster variable : ending to UrlRq e.g. pathUrlRq
14663
-QPushButton : ending to Btn e.g. addBtn
14665
-QListView: ending to ListView e.g. sharesListView
14666
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/qmultichecklistitem.cpp
14667
===================================================================
14668
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/qmultichecklistitem.cpp 2011-01-19 17:21:04.000000000 -0500
14669
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
14671
-/***************************************************************************
14672
- qmultichecklistitem.cpp - description
14673
- -------------------
14674
- begin : Sun Jan 26 2003
14675
- copyright : (C) 2003 by Jan Schäfer
14676
- email : janschaefer@users.sourceforge.net
14677
- ***************************************************************************/
14679
-/******************************************************************************
14681
- * This file is part of KSambaPlugin. *
14683
- * KSambaPlugin is free software; you can redistribute it and/or modify *
14684
- * it under the terms of the GNU General Public License as published by *
14685
- * the Free Software Foundation; either version 2 of the License, or *
14686
- * (at your option) any later version. *
14688
- * KSambaPlugin is distributed in the hope that it will be useful, *
14689
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14690
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14691
- * GNU General Public License for more details. *
14693
- * You should have received a copy of the GNU General Public License *
14694
- * along with KSambaPlugin; if not, write to the Free Software *
14695
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
14697
- ******************************************************************************/
14700
-#include <qpainter.h>
14701
-#include <q3header.h>
14702
-//Added by qt3to4:
14703
-#include <QPolygon>
14705
-#include <kdebug.h>
14706
-#include <kmessagebox.h>
14708
-#include "qmultichecklistitem.moc"
14709
-#include "qmultichecklistitem.h"
14711
-static const int BoxSize = 16;
14714
-QMultiCheckListItem::QMultiCheckListItem( Q3ListView *parent) :
14715
- Q3ListViewItem(parent)
14719
-void QMultiCheckListItem::resize(int column) {
14720
- if (column >= (int) checkBoxColumns.size()) {
14721
- checkBoxColumns.resize(column*2);
14722
- checkStates.resize(column*2);
14723
- disableStates.resize(column*2);
14728
-void QMultiCheckListItem::setOn(int column, bool b) {
14730
- checkStates.setBit(column,b);
14731
- checkBoxColumns.setBit(column);
14732
- kDebug(5009) << "setOn : " << column;
14736
-bool QMultiCheckListItem::isOn(int column) {
14738
- return checkStates.testBit(column);
14741
-bool QMultiCheckListItem::isDisabled(int column) {
14743
- return disableStates.testBit(column);
14746
-void QMultiCheckListItem::toggle(int column) {
14748
- checkBoxColumns.setBit(column);
14749
- checkStates.toggleBit(column);
14750
- emit stateChanged(column,checkStates.testBit(column));
14755
-void QMultiCheckListItem::setDisabled(int column, bool b) {
14758
- disableStates.setBit(column,b);
14759
-// KMessageBox::information(0L,QString("setDisabled"),QString("disable %1 ").arg(column));
14763
-void QMultiCheckListItem::paintCell(QPainter *p,const QColorGroup & cg, int col, int width, int align)
14770
- Q3ListView *lv = listView();
14774
- Q3ListViewItem::paintCell(p,cg,col,width,align );
14776
- int marg = lv->itemMargin();
14777
-// int width = BoxSize + marg*2;
14778
- // use a provate color group and set the text/highlighted text colors
14779
- QColorGroup mcg = cg;
14781
- if (checkBoxColumns.testBit(col)) {
14782
- // Bold/Italic/use default checkboxes
14783
- // code almost identical to QCheckListItem
14784
- Q_ASSERT( lv ); //###
14785
- // I use the text color of defaultStyles[0], normalcol in parent listview
14786
-// mcg.setColor( QPalette::Text, ((StyleListView*)lv)->normalcol );
14788
- if ( align == Qt::AlignCenter ) {
14789
- QFontMetrics fm( lv->font() );
14790
- x = (width - BoxSize - fm.width(text(0)))/2;
14792
- int y = (height() - BoxSize) / 2;
14794
- if ( !isEnabled() || disableStates.testBit(col))
14795
- p->setPen( QPen( lv->palette().color( QPalette::Disabled, QPalette::Text ), 2 ) );
14797
- p->setPen( QPen( mcg.text(), 2 ) );
14799
- if ( isSelected() && lv->header()->mapToSection( 0 ) != 0 ) {
14800
- p->fillRect( 0, 0, x + marg + BoxSize + 4, height(),
14801
- mcg.brush( QPalette::Highlight ) );
14802
- if ( isEnabled() )
14803
- p->setPen( QPen( mcg.color( QPalette::HighlightedText), 2 ) ); // FIXME! - use defaultstyles[0].selecol. luckily not used :)
14805
- p->drawRect( x+marg, y+2, BoxSize-4, BoxSize-4 );
14808
- if ( checkStates.testBit(col) ) {
14809
- QPolygon a( 7*2 );
14813
- for ( i=0; i<3; i++ ) {
14814
- a.setPoint( 2*i, xx, yy );
14815
- a.setPoint( 2*i+1, xx, yy+2 );
14819
- for ( i=3; i<7; i++ ) {
14820
- a.setPoint( 2*i, xx, yy );
14821
- a.setPoint( 2*i+1, xx, yy+2 );
14824
- p->drawLineSegments( a );
14834
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/qmultichecklistitem.h
14835
===================================================================
14836
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/qmultichecklistitem.h 2011-01-19 17:21:04.000000000 -0500
14837
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
14839
-/***************************************************************************
14840
- qextendedchecklistitem.h - description
14841
- -------------------
14842
- begin : Sun Jan 26 2003
14843
- copyright : (C) 2003 by Jan Schäfer
14844
- email : janschaefer@users.sourceforge.net
14845
- ***************************************************************************/
14847
-/******************************************************************************
14849
- * This file is part of KSambaPlugin. *
14851
- * KSambaPlugin is free software; you can redistribute it and/or modify *
14852
- * it under the terms of the GNU General Public License as published by *
14853
- * the Free Software Foundation; either version 2 of the License, or *
14854
- * (at your option) any later version. *
14856
- * KSambaPlugin is distributed in the hope that it will be useful, *
14857
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14858
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14859
- * GNU General Public License for more details. *
14861
- * You should have received a copy of the GNU General Public License *
14862
- * along with KSambaPlugin; if not, write to the Free Software *
14863
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
14865
- ******************************************************************************/
14867
-#ifndef _QMULTICHECKLISTITEM_H_
14868
-#define _QMULTICHECKLISTITEM_H_
14870
-#include <q3listview.h>
14872
-#include <qbitarray.h>
14874
-class QMultiCheckListItem : public QObject, public Q3ListViewItem {
14878
- QMultiCheckListItem( Q3ListView *parent=0);
14879
- ~QMultiCheckListItem() {}
14881
- virtual bool isOn(int column);
14882
- virtual bool isDisabled(int column);
14887
- virtual void paintCell(QPainter *, const QColorGroup &, int, int, int);
14890
- virtual void setOn(int, bool);
14891
- virtual void toggle(int);
14892
- virtual void setDisabled(int, bool);
14895
- void stateChanged(int, bool);
14897
- QBitArray checkStates;
14898
- QBitArray checkBoxColumns;
14899
- QBitArray disableStates;
14900
- void resize(int column);
14904
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/sambafile.cpp
14905
===================================================================
14906
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/sambafile.cpp 2011-01-19 17:21:04.000000000 -0500
14907
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
14910
- Copyright (c) 2002-2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
14912
- This program is free software; you can redistribute it and/or modify
14913
- it under the terms of the GNU General Public License as published by
14914
- the Free Software Foundation; either version 2 of the License, or
14915
- (at your option) any later version.
14917
- This program is distributed in the hope that it will be useful,
14918
- but WITHOUT ANY WARRANTY; without even the implied warranty of
14919
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14920
- GNU General Public License for more details.
14922
- You should have received a copy of the GNU General Public License
14923
- along with this program; if not, write to the Free Software
14924
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
14928
-#include <qfile.h>
14929
-#include <q3process.h>
14930
-#include <qfileinfo.h>
14931
-//Added by qt3to4:
14932
-#include <QTextStream>
14934
-#include <kconfig.h>
14935
-#include <kconfiggroup.h>
14936
-#include <kdebug.h>
14937
-#include <kio/job.h>
14938
-#include <k3process.h>
14939
-#include <kprocess.h>
14940
-#include <kshell.h>
14941
-#include <kmessagebox.h>
14942
-#include <klocale.h>
14943
-#include <ktemporaryfile.h>
14944
-#include <ksambashare.h>
14945
-#include <KStandardDirs>
14948
-#include <unistd.h>
14950
-#include "sambafile.h"
14952
-#define FILESHARE_DEBUG 5009
14954
-SambaConfigFile::SambaConfigFile(SambaFile* sambaFile)
14956
- Q3Dict<QString>(10,false);
14957
- setAutoDelete(true);
14958
- _sambaFile = sambaFile;
14961
-QString SambaConfigFile::getDefaultValue(const QString & name)
14963
- SambaShare* defaults = _sambaFile->getTestParmValues();
14964
- QString s = defaults->getValue(name,false,false);
14969
-SambaShare* SambaConfigFile::addShare(const QString & name)
14971
- kDebug(FILESHARE_DEBUG) << "adding " << name << endl;
14972
- SambaShare* newShare = new SambaShare(name,this);
14973
- addShare(name,newShare);
14978
-void SambaConfigFile::addShare(const QString & name, SambaShare* share)
14980
- insert(name,share),
14981
- _shareList.append(name);
14984
-void SambaConfigFile::removeShare(const QString & name)
14987
- _shareList.removeAll(name);
14991
-QStringList SambaConfigFile::getShareList()
14993
- return _shareList;
14996
-SambaFile::SambaFile(const QString & _path, bool _readonly)
14997
- : readonly(_readonly),
15000
- localPath(_path),
15002
- _testParmValues(0),
15003
- _sambaVersion(-1),
15008
-SambaFile::~SambaFile()
15010
- delete _sambaConfig;
15011
- delete _testParmValues;
15012
- delete _tempFile;
15016
-bool SambaFile::isRemoteFile() {
15017
- return ! KUrl(path).isLocalFile();
15020
-/** No descriptions */
15021
-QString SambaFile::findShareByPath(const QString & path) const
15023
- Q3DictIterator<SambaShare> it(*_sambaConfig);
15025
- url.adjustPath(KUrl::RemoveTrailingSlash);
15027
- for ( ; it.current(); ++it )
15029
- SambaShare* share = it.current();
15031
- QString *s = share->find("path");
15034
- curUrl.adjustPath(KUrl::RemoveTrailingSlash);
15036
- kDebug(5009) << url.path() << " =? " << curUrl.path();
15038
- if (url.path() == curUrl.path())
15039
- return it.currentKey();
15043
- return QString();
15046
-bool SambaFile::save() {
15047
- return slotApply();
15051
-bool SambaFile::slotApply()
15054
- kDebug(FILESHARE_DEBUG) << "SambaFile::slotApply: readonly=true";
15058
- // If we have write access to the smb.conf
15059
- // we simply save the values to it
15060
- // if not we have to save the results in
15061
- // a temporary file and copy it afterwards
15062
- // over the smb.conf file with kdesu.
15063
- if (QFileInfo(path).isWritable())
15070
- // Create a temporary smb.conf file
15071
- delete _tempFile;
15072
- _tempFile = new KTemporaryFile();
15074
- if (!_tempFile->open() || !saveTo(_tempFile->fileName())) {
15075
- kDebug(5009) << "SambaFile::slotApply: Could not save to temporary file";
15076
- delete _tempFile;
15081
- QFileInfo fi(path);
15084
- if (KUrl(path).isLocalFile()) {
15086
- kDebug(5009) << "SambaFile::slotApply: is local file!";
15088
- QString suCommand=QString("cp %1 %2; rm %3")
15089
- .arg(KShell::quoteArg(_tempFile->fileName()),
15090
- KShell::quoteArg(path),
15091
- KShell::quoteArg(_tempFile->fileName()));
15092
- proc << KStandardDirs::findExe("kdesu") << "-d" << suCommand;
15094
- if (proc.execute()) {
15095
- kDebug(5009) << "SambaFile::slotApply: saving to " << path << " failed!";
15096
- //KMessageBox::sorry(0,i18n("Saving the results to %1 failed.",path));
15097
- delete _tempFile;
15103
- delete _tempFile;
15105
- kDebug(5009) << "SambaFile::slotApply: changes successfully saved!";
15109
- kDebug(5009) << "SambaFile::slotApply: is remote file!";
15111
- srcURL.setPath( _tempFile->fileName() );
15113
- KIO::FileCopyJob * job = KIO::file_copy( srcURL, url, -1, KIO::Overwrite );
15114
- connect( job, SIGNAL( result( KJob * ) ),
15115
- this, SLOT( slotSaveJobFinished ( KJob * ) ) );
15116
- return (job->error()==0);
15123
- * Returns a name which isn't already used for a share
15125
-QString SambaFile::getUnusedName(const QString alreadyUsedName) const
15128
- QString init = i18n("Unnamed");
15129
- if (alreadyUsedName != QString())
15130
- init = alreadyUsedName;
15132
- QString s = init;
15136
- while (_sambaConfig->find(s))
15138
- s = init+QString::number(i);
15147
-SambaShare* SambaFile::newShare(const QString & name)
15149
- if (_sambaConfig->find(name))
15152
- SambaShare* share = new SambaShare(name,_sambaConfig);
15153
- _sambaConfig->addShare(name,share);
15161
-SambaShare* SambaFile::newShare(const QString & name, const QString & path)
15163
- SambaShare* share = newShare(name);
15166
- share->setValue("path",path);
15172
-SambaShare* SambaFile::newPrinter(const QString & name, const QString & printer)
15174
- SambaShare* share = newShare(name);
15178
- share->setValue("printable",true);
15179
- share->setValue("printer name",printer);
15186
-/** No descriptions */
15187
-void SambaFile::removeShare(const QString & share)
15191
- _sambaConfig->removeShare(share);
15194
-void SambaFile::removeShare(SambaShare* share)
15196
- removeShare(share->getName());
15199
-void SambaFile::removeShareByPath(const QString & path) {
15200
- QString share = findShareByPath(path);
15201
- removeShare(share);
15204
-/** No descriptions */
15205
-SambaShare* SambaFile::getShare(const QString & share) const
15207
- SambaShare *s = _sambaConfig->find(share);
15213
-* Returns a list of all shared directories
15215
-SambaShareList* SambaFile::getSharedDirs() const
15217
- SambaShareList* list = new SambaShareList();
15219
- Q3DictIterator<SambaShare> it(*_sambaConfig);
15221
- for( ; it.current(); ++it )
15223
- if (!it.current()->isPrinter() &&
15224
- it.current()->getName() != "global")
15226
- list->append(it.current());
15234
-* Returns a list of all shared printers
15236
-SambaShareList* SambaFile::getSharedPrinters() const
15238
- SambaShareList* list = new SambaShareList();
15240
- Q3DictIterator<SambaShare> it(*_sambaConfig);
15242
- for( ; it.current(); ++it )
15244
- if (it.current()->isPrinter())
15245
- list->append(it.current());
15251
-int SambaFile::getSambaVersion() {
15252
- if (_sambaVersion > -1)
15253
- return _sambaVersion;
15255
- K3Process testParam;
15256
- testParam << "testparm";
15257
- testParam << "-V";
15258
- _parmOutput.clear();
15259
- _sambaVersion = 2;
15261
- connect( &testParam, SIGNAL(receivedStdout(K3Process*,char*,int)),
15262
- this, SLOT(testParmStdOutReceived(K3Process*,char*,int)));
15266
- if (testParam.start(K3Process::Block,K3Process::Stdout)) {
15267
- if (_parmOutput.contains('3') )
15268
- _sambaVersion = 3;
15271
- kDebug(5009) << "Samba version = " << _sambaVersion;
15273
- return _sambaVersion;
15277
-SambaShare* SambaFile::getTestParmValues(bool reload)
15279
- if (_testParmValues && !reload)
15280
- return _testParmValues;
15283
- K3Process testParam;
15284
- testParam << "testparm";
15285
- testParam << "-s";
15287
- if (getSambaVersion() == 3)
15288
- testParam << "-v";
15291
- testParam << "/dev/null";
15292
- _parmOutput.clear();
15294
- connect( &testParam, SIGNAL(receivedStdout(K3Process*,char*,int)),
15295
- this, SLOT(testParmStdOutReceived(K3Process*,char*,int)));
15297
- if (testParam.start(K3Process::Block,K3Process::Stdout))
15299
- parseParmStdOutput();
15301
- _testParmValues = new SambaShare(_sambaConfig);
15303
- return _testParmValues;
15306
-void SambaFile::testParmStdOutReceived(K3Process *, char *buffer, int buflen)
15308
- _parmOutput+=QString::fromLatin1(buffer,buflen);
15311
-void SambaFile::parseParmStdOutput()
15314
- QTextIStream s(&_parmOutput);
15316
- delete _testParmValues;
15317
- _testParmValues = new SambaShare(_sambaConfig);
15319
- QString section="";
15321
- while (!s.atEnd())
15323
- QString line = s.readLine().trimmed();
15326
- if (line.isEmpty())
15330
- if ('#' == line[0])
15334
- if ('[' == line[0])
15336
- // get the name of the section
15337
- section = line.mid(1,line.length()-2).toLower();
15341
- // we are only interested in the global section
15342
- if (section != KGlobal::staticQString("global"))
15347
- int i = line.indexOf('=');
15350
- QString name = line.left(i).trimmed();
15351
- QString value = line.mid(i+1).trimmed();
15352
- _testParmValues->setValue(name,value,false,false);
15362
-* Try to find the samba config file position
15363
-* First tries the config file, then checks
15364
-* several common positions
15365
-* If nothing is found returns QString()
15367
-QString SambaFile::findSambaConf()
15369
- return KSambaShare::instance()->smbConfPath();
15372
-void SambaFile::slotSaveJobFinished( KJob * job ) {
15373
- delete _tempFile;
15377
-void SambaFile::slotJobFinished( KJob * job )
15379
- if (job->error())
15380
- emit canceled( job->errorString() );
15384
- emit completed();
15388
-bool SambaFile::load()
15390
- if (path.isNull() || path.isEmpty())
15393
- kDebug(FILESHARE_DEBUG) << "path=" << path;
15396
- if (!url.isLocalFile()) {
15397
- KTemporaryFile tempFile;
15399
- localPath = tempFile.fileName();
15401
- destURL.setPath( localPath );
15402
- KIO::FileCopyJob * job = KIO::file_copy( url, destURL, 0600, KIO::Overwrite );
15403
-// emit started( d->m_job );
15404
- connect( job, SIGNAL( result( KJob * ) ), this, SLOT( slotJobFinished ( KJob * ) ) );
15407
- localPath = path;
15408
- bool ret = openFile();
15410
- emit completed();
15415
-bool SambaFile::openFile() {
15416
- kDebug(FILESHARE_DEBUG) << "..." << endl;
15417
- QFile f(localPath);
15419
- if (!f.open(QIODevice::ReadOnly)) {
15420
- //throw SambaFileLoadException(QString("<qt>Could not open file <em>%1</em> for reading.</qt>").arg(path));
15424
- QTextStream s(&f);
15426
- delete _sambaConfig;
15428
- kDebug(FILESHARE_DEBUG) << "creating SambaConfigFile ..." << endl;
15429
- _sambaConfig = new SambaConfigFile(this);
15431
- kDebug(FILESHARE_DEBUG) << "start parsing ..." << endl;
15433
- SambaShare *currentShare = 0L;
15434
- bool continuedLine = false; // is true if the line before ended with a backslash
15435
- QString completeLine;
15436
- QStringList comments;
15437
- while (!s.atEnd())
15439
- QString currentLine = s.readLine().trimmed();
15440
- if (continuedLine)
15442
- completeLine += currentLine;
15443
- continuedLine = false;
15445
- completeLine = currentLine;
15446
- // is the line continued in the next line ?
15447
- if ( !completeLine.isEmpty() && completeLine[completeLine.length()-1] == '\\' )
15449
- continuedLine = true;
15450
- // remove the ending backslash
15451
- completeLine.truncate( completeLine.length()-1 );
15455
- // comments or empty lines
15456
- if (completeLine.isEmpty() ||
15457
- '#' == completeLine[0] ||
15458
- ';' == completeLine[0])
15460
- comments.append(completeLine);
15466
- if (!completeLine.isEmpty() && '[' == completeLine[0])
15468
- // get the name of the section
15469
- QString section = completeLine.mid(1,completeLine.length()-2);
15470
- currentShare = _sambaConfig->addShare(section);
15471
- currentShare->setComments(comments);
15472
- comments.clear();
15478
- int i = completeLine.indexOf('=');
15480
- //completeLine is not empty
15483
- QString name = completeLine.left(i).trimmed();
15484
- QString value = completeLine.mid(i+1).trimmed();
15486
- if (currentShare)
15488
- currentShare->setComments(name,comments);
15489
- currentShare->setValue(name,value,true,true);
15491
- comments.clear();
15498
- // Make sure there is a global share
15499
- if (!getShare("global")) {
15500
- _sambaConfig->addShare("global");
15503
- kDebug(FILESHARE_DEBUG) << "finished" << endl;
15508
-bool SambaFile::saveTo(const QString & path)
15512
- if (!f.open(QIODevice::WriteOnly))
15515
- QTextStream s(&f);
15517
- QStringList shareList = _sambaConfig->getShareList();
15519
- for ( QStringList::Iterator it = shareList.begin(); it != shareList.end(); ++it )
15521
- SambaShare* share = _sambaConfig->find(*it);
15523
- // First add all comments of the share to the file
15524
- QStringList comments = share->getComments();
15525
- for ( QStringList::Iterator cmtIt = comments.begin(); cmtIt != comments.end(); ++cmtIt )
15527
- s << *cmtIt << endl;
15529
- kDebug(5009) << *cmtIt;
15532
- // If there are no lines before the section add
15534
- if (comments.isEmpty())
15537
- // Add the name of the share / section
15538
- s << "[" << share->getName() << "]" << endl;
15540
- // Add all options of the share
15541
- QStringList optionList = share->getOptionList();
15543
- for ( QStringList::Iterator optionIt = optionList.begin(); optionIt != optionList.end(); ++optionIt )
15546
- // Add the comments of the option
15547
- comments = share->getComments(*optionIt);
15548
- for ( QStringList::Iterator cmtIt = comments.begin(); cmtIt != comments.end(); ++cmtIt )
15550
- s << *cmtIt << endl;
15553
- // Add the option
15554
- s << *optionIt << " = " << *share->find(*optionIt) << endl;
15566
-SambaConfigFile* SambaFile::getSambaConfigFile(KConfig* config)
15568
- QStringList groups = config->groupList();
15570
- SambaConfigFile* samba = new SambaConfigFile(this);
15572
- for ( QStringList::Iterator it = groups.begin(); it != groups.end(); ++it )
15574
- QMap<QString,QString> entries = config->entryMap(*it);
15576
- SambaShare *share = new SambaShare(*it,samba);
15577
- samba->insert(*it,share);
15579
- for (QMap<QString,QString>::Iterator it2 = entries.begin(); it2 != entries.end(); ++it2 )
15581
- if (!it2.value().isEmpty())
15582
- share->setValue(it2.key(),QString(it2.value()),false,false);
15591
-KConfig* SambaFile::getSimpleConfig(SambaConfigFile* sambaConfig, const QString & path)
15593
- KConfig *config = new KConfig(path, KConfig::SimpleConfig);
15595
- Q3DictIterator<SambaShare> it(*sambaConfig);
15597
- for ( ; it.current(); ++it )
15599
- SambaShare* share = it.current();
15601
- KConfigGroup cg(config, it.currentKey());
15603
- Q3DictIterator<QString> it2(*share);
15605
- for (; it2.current(); ++it2 )
15607
- cg.writeEntry(it2.currentKey(), *it2.current());
15615
-#include "sambafile.moc"
15616
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/sambafile.h
15617
===================================================================
15618
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/sambafile.h 2011-01-19 17:21:04.000000000 -0500
15619
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
15622
- Copyright (c) 2002-2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
15624
- This program is free software; you can redistribute it and/or modify
15625
- it under the terms of the GNU General Public License as published by
15626
- the Free Software Foundation; either version 2 of the License, or
15627
- (at your option) any later version.
15629
- This program is distributed in the hope that it will be useful,
15630
- but WITHOUT ANY WARRANTY; without even the implied warranty of
15631
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15632
- GNU General Public License for more details.
15634
- You should have received a copy of the GNU General Public License
15635
- along with this program; if not, write to the Free Software
15636
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15640
-#ifndef SAMBAFILE_H
15641
-#define SAMBAFILE_H
15644
-#include <q3dict.h>
15645
-#include <qstring.h>
15646
-#include <qobject.h>
15647
-#include <kio/job.h>
15649
-#include "sambashare.h"
15655
-class KTemporaryFile;
15659
-class SambaFileLoadException
15662
- SambaFileLoadException(const QString & msg) { message = msg; }
15664
- QString getMessage() { return message; }
15669
-class SambaConfigFile : public Q3Dict<SambaShare>
15672
- SambaConfigFile(SambaFile*);
15673
- QString getDefaultValue(const QString & name);
15674
- QStringList getShareList();
15675
- void addShare(const QString & name, SambaShare* share);
15676
- SambaShare* addShare(const QString & name);
15677
- void removeShare(const QString & name);
15679
- SambaFile* _sambaFile;
15680
- QStringList _shareList;
15683
-class SambaFile : public QObject
15687
- SambaFile(const QString & _path, bool _readonly=true);
15690
- /** No descriptions */
15691
- QString findShareByPath(const QString & path) const;
15692
- void removeShareByPath(const QString & path);
15695
- SambaShare* newShare(const QString & name);
15696
- SambaShare* newShare(const QString & name, const QString & path);
15697
- SambaShare* newPrinter(const QString & name, const QString & printer);
15699
- void removeShare(const QString & share);
15700
- void removeShare(SambaShare* share);
15702
- void renameShare(const QString & oldName, const QString & newName);
15704
- SambaShare* getShare(const QString & share) const;
15707
- * Returns a list of all shared directories
15709
- SambaShareList* getSharedDirs() const;
15712
- * Returns a list of all shared printers
15714
- SambaShareList* getSharedPrinters() const;
15717
- * Returns a name which isn't already used for a share
15718
- * if the alreadyUsedName parameter is given, then
15719
- * a name based on this name is returned.
15720
- * E.g.: if public is already used, the method could return
15723
- QString getUnusedName(const QString alreadyUsedName=QString()) const;
15726
- * Returns all values of the global section
15727
- * which are returned by the testparam program
15728
- * if the values were already loaded then these
15729
- * values are returned except the reload parameter
15732
- SambaShare* getTestParmValues(bool reload=false);
15734
- static QString findSambaConf();
15737
- int getSambaVersion();
15740
- * Load all data from the smb.conf file
15741
- * Can load a remote file
15748
- * Reads the local smb.conf
15752
- bool isRemoteFile();
15755
- * Save all data to the specified file
15756
- * if successful returns true otherwise false
15758
- bool saveTo(const QString & path);
15764
- QString localPath;
15765
- SambaConfigFile *_sambaConfig;
15766
- SambaShare* _testParmValues;
15767
- QString _parmOutput;
15768
- int _sambaVersion;
15770
- void parseParmStdOutput();
15771
- SambaConfigFile* getSambaConfigFile(KConfig* config);
15772
- KConfig* getSimpleConfig(SambaConfigFile* sambaConfig, const QString & filename);
15777
- void copyConfigs(KConfig* first, KConfig* second);
15778
- KTemporaryFile * _tempFile;
15782
- * Saves all changes to the smb.conf file
15783
- * if the user is not allowed she'll be asked
15784
- * for a root password
15786
- bool slotApply();
15788
- void testParmStdOutReceived(K3Process *proc, char *buffer, int buflen);
15789
- void slotJobFinished( KJob *);
15790
- void slotSaveJobFinished( KJob *);
15793
- void canceled(const QString &);
15794
- void completed();
15799
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/sambashare.cpp
15800
===================================================================
15801
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/sambashare.cpp 2011-01-19 17:21:04.000000000 -0500
15802
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
15804
-/***************************************************************************
15805
- sambashare.cpp - description
15806
- -------------------
15807
- begin : Mon Jun 12 2002
15808
- copyright : (C) 2002 by Jan Schäfer
15809
- email : janschaefer@users.sourceforge.net
15810
-***************************************************************************/
15812
-/******************************************************************************
15814
-* This file is part of KSambaPlugin. *
15816
-* KSambaPlugin is free software; you can redistribute it and/or modify *
15817
-* it under the terms of the GNU General Public License as published by *
15818
-* the Free Software Foundation; either version 2 of the License, or *
15819
-* (at your option) any later version. *
15821
-* KSambaPlugin is distributed in the hope that it will be useful, *
15822
-* but WITHOUT ANY WARRANTY; without even the implied warranty of *
15823
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15824
-* GNU General Public License for more details. *
15826
-* You should have received a copy of the GNU General Public License *
15827
-* along with KSambaPlugin; if not, write to the Free Software *
15828
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
15830
-******************************************************************************/
15832
-#include <kdebug.h>
15833
-#include <qstringlist.h>
15835
-#include "sambafile.h"
15836
-#include "sambashare.h"
15837
-#include "common.h"
15839
-SambaShare::SambaShare(SambaConfigFile* sambaFile)
15840
- : Q3Dict<QString>(10,false)
15842
- _sambaFile = sambaFile;
15843
- setName("defaults");
15844
- setAutoDelete(true);
15847
-SambaShare::SambaShare(const QString & name, SambaConfigFile* sambaFile)
15848
- : Q3Dict<QString>(10,false)
15850
- _sambaFile = sambaFile;
15852
- setAutoDelete(true);
15855
-const QString& SambaShare::getName() const
15860
-bool SambaShare::setName(const QString & name, bool testWetherExists)
15863
- if ( testWetherExists &&
15864
- _sambaFile->find(name) &&
15865
- _sambaFile->find(name) != this)
15872
-bool SambaShare::optionSupported(const QString & name)
15874
- QString defaultValue = _sambaFile->getDefaultValue(name);
15875
-// kDebug(5009) << name << " = " << defaultValue << " null : " << defaultValue.isNull();
15876
- return ! defaultValue.isNull();
15880
-* Returns the value of the given parameter
15881
-* if no value is set yet the default value
15882
-* will be returned.
15884
-QString SambaShare::getValue(const QString & name, bool globalValue, bool defaultValue)
15886
- QString synonym = getSynonym(name);
15888
- QString* str = find(synonym);
15896
- ret = getGlobalValue(synonym,defaultValue);
15898
- if (defaultValue)
15899
- ret = getDefaultValue(synonym);
15902
- if (name=="writable" || name=="write ok" || name=="writeable")
15903
- ret = textFromBool( ! boolFromText(ret) );
15908
-bool SambaShare::getBoolValue(const QString & name, bool globalValue, bool defaultValue)
15910
- return boolFromText(getValue(name,globalValue,defaultValue));
15914
-QString SambaShare::getGlobalValue(const QString & name, bool defaultValue)
15917
- return getValue(name,false,defaultValue);
15919
- SambaShare* globals = _sambaFile->find("global");
15922
- if (globals != 0)
15923
- ret = globals->getValue(name,false,defaultValue);
15924
- else if (defaultValue)
15925
- ret = getDefaultValue(name);
15932
-* Returns the default synonym for the given parameter
15933
-* if no synonym exists the original parameter in lower
15934
-* case is returned
15936
-QString SambaShare::getSynonym(const QString & name) const
15938
- QString lname = name.toLower().trimmed();
15940
- if (lname == "browsable") return "browseable";
15941
- if (lname == "allow hosts") return "hosts allow";
15942
- if (lname == "auto services") return "preload";
15943
- if (lname == "casesignames") return "case sensitive";
15944
- if (lname == "create mode") return "create mask";
15945
- if (lname == "debuglevel") return "log level";
15946
- if (lname == "default") return "default service";
15947
- if (lname == "deny hosts") return "hosts deny";
15948
- if (lname == "directory") return "path";
15949
- if (lname == "directory mode") return "directory mask";
15950
- if (lname == "exec") return "preexec";
15951
- if (lname == "group") return "force group";
15952
- if (lname == "lock dir") return "lock directory";
15953
- if (lname == "min passwd length") return "min password length";
15954
- if (lname == "only guest") return "guest only";
15955
- if (lname == "preferred master") return "preferred master";
15956
- if (lname == "print ok") return "printable";
15957
- if (lname == "printcap") return "printcap name";
15958
- if (lname == "printer") return "printer name";
15959
- if (lname == "protocol") return "max protocol";
15960
- if (lname == "public") return "guest ok";
15961
- if (lname == "writable") return "read only";
15962
- if (lname == "write ok") return "read only";
15963
- if (lname == "read only") return "read only";
15964
- if (lname == "root") return "root directory";
15965
- if (lname == "root") return "root dir";
15966
- if (lname == "timestamp logs") return "debug timestamp";
15967
- if (lname == "user") return "username";
15968
- if (lname == "users") return "username";
15969
- if (lname == "idmap uid") return "winbind uid";
15970
- if (lname == "idmap gid") return "winbind gid";
15971
- if (lname == "vfs object") return "vfs objects";
15976
-void SambaShare::setValue(const QString & name, const QString & value, bool globalValue, bool defaultValue)
15978
- QString synonym = getSynonym(name);
15980
- QString newValue = value;
15982
- if (newValue.isNull())
15985
- if (getName().toLower() == "global")
15986
- globalValue = false;
15988
- if (name=="writable" || name=="write ok" || name=="writeable")
15990
- synonym = "read only";
15991
- newValue = textFromBool(!boolFromText(value));
15994
- QString global = "";
15996
- if (globalValue && !hasComments(synonym))
15998
- global = getGlobalValue(synonym, false);
16000
- if ( newValue.compare(global, Qt::CaseInsensitive) == 0 )
16003
- _optionList.removeAll(synonym);
16008
- // If the option has a comment we don't remove
16009
- // it if the value is equal to the default value.
16010
- // That's because the author of the option has thought about it.
16011
- if (defaultValue && global.isEmpty() && !hasComments(synonym))
16013
- if ( newValue.trimmed().toLower() == getDefaultValue(synonym).trimmed().toLower() )
16015
- kDebug(5009) << getName() << " global: " << global << " remove " << synonym;
16017
- _optionList.removeAll(synonym);
16023
- if (!find(synonym))
16025
- _optionList.append(synonym);
16028
- replace(synonym,new QString(newValue));
16031
-void SambaShare::setValue(const QString & name, bool value, bool globalValue, bool defaultValue)
16033
- setValue(name,textFromBool(value),globalValue, defaultValue);
16036
-void SambaShare::setValue(const QString & name, int value, bool globalValue, bool defaultValue)
16038
- setValue(name,QString::number(value),globalValue, defaultValue);
16042
-* Returns the default value of the parameter
16044
-QString SambaShare::getDefaultValue(const QString & name)
16046
- QString defaultValue = _sambaFile->getDefaultValue(name);
16047
- if (defaultValue.isNull())
16048
- defaultValue = "";
16050
- return defaultValue;
16053
-bool SambaShare::getDefaultBoolValue(const QString & name)
16056
- return boolFromText(getDefaultValue(name));
16060
-* Sets the comments for the passed option
16062
-void SambaShare::setComments(const QString & name, const QStringList & commentList)
16064
- // Only add inempty lists
16065
- if (commentList.empty())
16068
- QString synonym = getSynonym(name);
16070
- _commentList.replace(name,new QStringList(commentList));
16074
-* Returns the comments of the passed option
16076
-QStringList SambaShare::getComments(const QString & name)
16078
- QStringList* list = _commentList.find(getSynonym(name));
16081
- return QStringList(*list);
16083
- return QStringList();
16087
-bool SambaShare::hasComments(const QString & name)
16089
- return 0L != _commentList.find(getSynonym(name));
16093
-* Returns the comments of the share
16094
-* e.g. the text above the [...] section
16096
-QStringList SambaShare::getComments()
16098
- return _comments;
16102
-* Sets the comments for the share
16103
-* e.g. the text above the [...] section
16105
-void SambaShare::setComments(const QStringList & commentList)
16107
- _comments = commentList;
16110
-QStringList SambaShare::getOptionList()
16112
- return _optionList;
16116
-* Returns true if this share is a printer
16118
-bool SambaShare::isPrinter()
16120
- QString* str = find("printable");
16123
- str = find("print ok");
16129
-* Returns true if the share name is
16130
-* global, printers or homes
16132
-bool SambaShare::isSpecialSection()
16134
- if ( _name.toLower() == "global" ||
16135
- _name.toLower() == "printers" ||
16136
- _name.toLower() == "homes" )
16141
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/sambashare.h
16142
===================================================================
16143
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/sambashare.h 2011-01-19 17:21:04.000000000 -0500
16144
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
16146
-/***************************************************************************
16147
- sambashare.h - description
16148
- -------------------
16149
- begin : Mon 12 2002
16150
- copyright : (C) 2002 by Jan Schäfer
16151
- email : janschaefer@users.sourceforge.net
16152
- ***************************************************************************/
16154
-/******************************************************************************
16156
- * This file is part of KSambaPlugin. *
16158
- * KSambaPlugin is free software; you can redistribute it and/or modify *
16159
- * it under the terms of the GNU General Public License as published by *
16160
- * the Free Software Foundation; either version 2 of the License, or *
16161
- * (at your option) any later version. *
16163
- * KSambaPlugin is distributed in the hope that it will be useful, *
16164
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
16165
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16166
- * GNU General Public License for more details. *
16168
- * You should have received a copy of the GNU General Public License *
16169
- * along with KSambaPlugin; if not, write to the Free Software *
16170
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
16172
- ******************************************************************************/
16174
-#ifndef SAMBASHARE_H
16175
-#define SAMBASHARE_H
16177
-#include <q3dict.h>
16178
-#include <qstring.h>
16179
-#include <qstringlist.h>
16180
-#include <q3ptrlist.h>
16182
-class SambaConfigFile;
16183
-class QStringList;
16186
- * A class which represents a Samba share
16187
- * @author Jan Schäfer
16189
-class SambaShare :public Q3Dict<QString>
16194
- * Creates a new SambaShare with an empty name
16196
- SambaShare(SambaConfigFile* sambaFile);
16199
- * Creates a new SambaShare with the given name
16200
- * @param name the name of the share
16202
- SambaShare(const QString & name, SambaConfigFile* sambaFile);
16205
- * Returns the name of the share
16207
- const QString& getName() const;
16211
- * Sets the name of the share
16212
- * returns false if the name already exists and the testWetherExists
16213
- * parameter is set to true
16215
- bool setName(const QString & name, bool testWetherExists=true);
16218
- * Tests whether or not the given option is supported by Samba.
16219
- * It does this by testing the output of testparm for this option
16221
- bool optionSupported(const QString & name);
16224
- * Returns the value of the given parameter
16225
- * if the parameter doesn't exists, the
16226
- * global and then the default value is returned.
16227
- * @param name the name of the parameter
16228
- * @param gobalValue if the gobal value should be returend
16229
- * @param defaultValue if the default value should be returned or a null string
16231
- QString getValue(const QString & name, bool globalValue=true, bool defaultValue=true);
16234
- * Same as above but for boolean parameters
16235
- * Don't use defaultValue = false with this function
16236
- * because you can't distinguish an unset parameter
16237
- * from a false parameter
16239
- bool getBoolValue(const QString & name, bool globalValue=true, bool defaultValue=true);
16242
- * Returns the value from the [globals] section
16244
- QString getGlobalValue(const QString & name, bool defaultValue=true);
16247
- * Sets the parameter name to the given value
16248
- * @param value the value of the parameter
16249
- * @param name the name of the parameter
16250
- * @param globalValue if true then the value is only set if it is different to the global value
16251
- * @param defaultValue if true then the value is only set if it is different to the default value
16252
- * if globalValue and defaultValue is true then the value is set when a global value
16253
- * exists and it it is different to it. If no global value exists then it is only
16254
- * set if different to the default value.
16256
- void setValue(const QString & name,const QString & value, bool globalValue=true, bool defaultValue=true);
16259
- * Same as above but for boolean parameters
16261
- void setValue(const QString & name, bool value, bool globalValue=true, bool defaultValue=true);
16264
- * Same as above but for integer parameters
16266
- void setValue(const QString & name, int value, bool globalValue=true, bool defaultValue=true);
16269
- * Returns the default value of the parameter
16270
- * @param name the name of the parameter
16272
- QString getDefaultValue(const QString & name);
16275
- * Same as above but for booleans
16277
- bool getDefaultBoolValue(const QString & name);
16280
- * Returns the default synonym for the given parameter
16281
- * if no synonym exists the original parameter in lower
16282
- * case is returned
16284
- QString getSynonym(const QString & name) const;
16287
- * Returns the comments of the share
16288
- * e.g. the text above the [...] section
16290
- QStringList getComments();
16293
- * Sets the comments for the share
16294
- * e.g. the text above the [...] section
16296
- void setComments(const QStringList & commentList);
16299
- * Sets the comments for the passed option
16301
- void setComments(const QString & name, const QStringList & commentList);
16304
- * Returns the comments of the passed option
16306
- QStringList getComments(const QString & name);
16309
- * Returns true if the passed option has comments
16310
- * otherwise returns false
16312
- bool hasComments(const QString & name);
16315
- * Returns the list of all options
16316
- * the order of the options is exactly the
16317
- * order of the insertion of the options
16319
- QStringList getOptionList();
16322
- * Returns true if this share is a printer
16323
- * that's if printable = true
16325
- bool isPrinter();
16328
- * Returns true if the share name is
16329
- * global, printers or homes
16331
- bool isSpecialSection();
16335
- * The name of the share
16336
- * could be also printers, global and homes
16339
- SambaConfigFile* _sambaFile;
16342
- * This attribute stores all option comments.
16343
- * the comments which stood above the option name
16344
- * are stored in this QStringList
16346
- Q3Dict<QStringList> _commentList;
16349
- * The comments for this share
16351
- QStringList _comments;
16354
- * An extra list which holds
16355
- * all stored options
16356
- * You might say, hey for what is this ?
16357
- * We have them already stored in the QDict.
16358
- * That's right, but there is a problem :
16359
- * QDict doesn't preserve the order of
16360
- * the inserted items, but when saving
16361
- * the options back to the smb.conf
16362
- * we want to have exactly the same order
16363
- * so this QStringList is only for saving
16364
- * the order of the options.
16365
- * On the other side we need a very fast lookup
16366
- * of the options, because we lookup very frequently
16367
- * so this is the best way to do both.
16369
- QStringList _optionList;
16373
-typedef Q3PtrList<SambaShare> SambaShareList;
16377
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/sharedlgimpl.cpp
16378
===================================================================
16379
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/sharedlgimpl.cpp 2011-01-19 17:21:04.000000000 -0500
16380
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
16382
-/***************************************************************************
16383
- sharedlgimpl.cpp - description
16384
- -------------------
16385
- begin : Tue June 6 2002
16386
- copyright : (C) 2002 by Jan Schäfer
16387
- email : janschaefer@users.sourceforge.net
16388
- ***************************************************************************/
16390
-/******************************************************************************
16392
- * This file is part of KSambaPlugin. *
16394
- * KSambaPlugin is free software; you can redistribute it and/or modify *
16395
- * it under the terms of the GNU General Public License as published by *
16396
- * the Free Software Foundation; either version 2 of the License, or *
16397
- * (at your option) any later version. *
16399
- * KSambaPlugin is distributed in the hope that it will be useful, *
16400
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
16401
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16402
- * GNU General Public License for more details. *
16404
- * You should have received a copy of the GNU General Public License *
16405
- * along with KSambaPlugin; if not, write to the Free Software *
16406
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
16408
- ******************************************************************************/
16411
- * @author Jan Schäfer
16414
-#include <qcheckbox.h>
16415
-#include <qlineedit.h>
16416
-#include <qcombobox.h>
16417
-#include <qlabel.h>
16418
-#include <q3groupbox.h>
16419
-#include <qlayout.h>
16420
-#include <qtabwidget.h>
16421
-#include <qregexp.h>
16422
-#include <qstringlist.h>
16423
-#include <q3grid.h>
16424
-#include <qcursor.h>
16425
-#include <q3table.h>
16426
-#include <q3listbox.h>
16427
-#include <qtoolbutton.h>
16428
-#include <qpixmap.h>
16429
-#include <q3frame.h>
16430
-#include <qwidget.h>
16431
-#include <QVBoxLayout>
16435
-#include <klineedit.h>
16436
-#include <kurlrequester.h>
16437
-#include <knuminput.h>
16438
-#include <kdebug.h>
16439
-#include <kcombobox.h>
16440
-#include <kiconloader.h>
16441
-#include <klocale.h>
16442
-#include <kdirlister.h>
16443
-#include <kmessagebox.h>
16444
-#include <kmenu.h>
16445
-#include <kaction.h>
16446
-#include <krestrictedline.h>
16447
-#include <KPageWidget>
16449
-#include "smbpasswdfile.h"
16450
-#include "sambafile.h"
16451
-#include "common.h"
16452
-#include "passwd.h"
16453
-#include "usertabimpl.h"
16454
-#include "filemodedlgimpl.h"
16455
-#include "hiddenfileview.h"
16456
-#include "dictmanager.h"
16458
-#include "sharedlgimpl.h"
16460
-#define DEBUG 5009
16462
-ShareDlgImpl::ShareDlgImpl(QWidget* parent, SambaShare* share)
16463
- : QDialog(parent)
16466
- kWarning() << "share parameter is null!";
16470
- kDebug(DEBUG) << "setting up ui ..." << endl;
16473
- kDebug(DEBUG) << "creating DictManager ..." << endl;
16474
- _dictMngr = new DictManager(share);
16478
- initAdvancedTab();
16480
- kDebug(DEBUG) << "finished" << endl;
16484
-void ShareDlgImpl::initDialog()
16489
- kDebug(DEBUG) << "started" << endl;
16494
- kDebug(DEBUG) << "setting pathUrlRq mode ..." << endl;
16496
- pathUrlRq->setMode(KFile::Directory | KFile::ExistingOnly | KFile::LocalOnly);
16498
- kDebug(DEBUG) << "checking homes ..." << endl;
16500
- homeChk->setChecked(_share->getName().toLower() == "homes");
16501
- shareNameEdit->setText( _share->getName() );
16503
- directoryPixLbl->setPixmap(DesktopIcon("folder"));
16504
- PixmapLabel1->setPixmap(SmallIcon("dialog-warning"));
16507
- _dictMngr->add("path",pathUrlRq);
16509
- _dictMngr->add("comment",commentEdit);
16510
- _dictMngr->add("available",availableBaseChk);
16511
- _dictMngr->add("browseable",browseableBaseChk);
16512
- _dictMngr->add("public",publicBaseChk);
16514
- _dictMngr->add("read only",readOnlyBaseChk);
16518
- kDebug(DEBUG) << "creating UserTab ..." << endl;
16519
- _userTab = new UserTabImpl(this,_share);
16520
- _tabs->insertTab(1,_userTab,i18n("&Users"));
16521
- kDebug(DEBUG) << "loading UserTab ..." << endl;
16522
- _userTab->load();
16523
- connect(_userTab, SIGNAL(changed()), this, SLOT(changedSlot()));
16525
- // Filename settings
16527
- _dictMngr->add("case sensitive",caseSensitiveCombo,
16528
- new QStringList(QStringList() << "auto" << "yes" << "no"));
16530
- _dictMngr->add("preserve case",preserveCaseChk);
16531
- _dictMngr->add("short preserve case",shortPreserveCaseChk);
16532
- _dictMngr->add("mangled names",mangledNamesChk);
16533
- _dictMngr->add("mangle case",mangleCaseChk);
16534
- _dictMngr->add("mangling char",manglingCharEdit);
16535
- _dictMngr->add("mangled map",mangledMapEdit);
16538
- _dictMngr->add("mangling method",manglingMethodCombo,
16539
- new QStringList(QStringList() << "hash" << "hash2"));
16541
- _dictMngr->add("default case",defaultCaseCombo,
16542
- new QStringList(QStringList() << "Lower" << "Upper"));
16544
- _dictMngr->add("hide dot files",hideDotFilesChk);
16545
- _dictMngr->add("strip dot",hideTrailingDotChk);
16546
- _dictMngr->add("hide unreadable",hideUnreadableChk);
16547
- _dictMngr->add("hide unwriteable files",hideUnwriteableFilesChk);
16548
- _dictMngr->add("hide special files",hideSpecialFilesChk);
16549
- _dictMngr->add("dos filemode",dosFilemodeChk);
16550
- _dictMngr->add("dos filetimes",dosFiletimesChk);
16551
- _dictMngr->add("dos filetime resolution",dosFiletimeResolutionChk);
16555
- _dictMngr->add("guest only",guestOnlyChk);
16556
- _dictMngr->add("hosts allow",hostsAllowEdit);
16558
- _dictMngr->add("only user",onlyUserChk);
16559
- _dictMngr->add("username",userNameEdit);
16562
- guestAccountCombo->insertStringList( getUnixUsers() );
16563
- setComboToString(guestAccountCombo,_share->getValue("guest account"));
16565
- _dictMngr->add("hosts deny",hostsDenyEdit);
16566
- _dictMngr->add("force directory security mode",forceDirectorySecurityModeEdit);
16567
- _dictMngr->add("force directory mode",forceDirectoryModeEdit);
16568
- _dictMngr->add("force security mode",forceSecurityModeEdit);
16570
- _dictMngr->add("force create mode",forceCreateModeEdit);
16571
- _dictMngr->add("directory security mask",directorySecurityMaskEdit);
16572
- _dictMngr->add("directory mask",directoryMaskEdit);
16573
- _dictMngr->add("security mask",securityMaskEdit);
16574
- _dictMngr->add("create mask",createMaskEdit);
16575
- _dictMngr->add("inherit permissions",inheritPermissionsChk);
16576
- _dictMngr->add("inherit acls",inheritAclsChk);
16577
- _dictMngr->add("nt acl support",ntAclSupportChk);
16578
- _dictMngr->add("delete readonly",deleteReadonlyChk);
16580
- _dictMngr->add("wide links",wideLinksChk);
16581
- _dictMngr->add("follow symlinks",followSymlinksChk);
16583
- _dictMngr->add("map hidden",mapHiddenChk);
16584
- _dictMngr->add("map archive",mapArchiveChk);
16585
- _dictMngr->add("map system",mapSystemChk);
16586
- _dictMngr->add("store dos attributes",eaSupportChk);
16588
- _dictMngr->add("ea support",eaSupportChk);
16591
- _dictMngr->add("force unknown acl user",forceUnknownAclUserEdit);
16592
- _dictMngr->add("profile acls",profileAclsChk);
16593
- _dictMngr->add("map acl inherit",mapAclInheritChk);
16598
- _dictMngr->add("blocking locks",blockingLocksChk);
16599
- _dictMngr->add("fake oplocks",fakeOplocksChk);
16600
- _dictMngr->add("locking",lockingChk);
16601
- _dictMngr->add("level2 oplocks",level2OplocksChk);
16602
- _dictMngr->add("posix locking",posixLockingChk);
16603
- _dictMngr->add("strict locking",strictLockingCombo,
16604
- new QStringList(QStringList() << "auto" << "yes" << "no"));
16605
- _dictMngr->add("share modes",shareModesChk);
16606
- _dictMngr->add("oplocks",oplocksChk);
16609
- _dictMngr->add("oplock contention limit",oplockContentionLimitSpin);
16610
- _dictMngr->add("strict sync",strictSyncChk);
16614
- _dictMngr->add("strict allocate",strictAllocateChk);
16616
- _dictMngr->add("max connections",maxConnectionsSpin);
16617
- _dictMngr->add("write cache size",writeCacheSizeSpin);
16618
- _dictMngr->add("block size",blockSizeSpin);
16621
- _dictMngr->add("sync always",syncAlwaysChk);
16622
- _dictMngr->add("use sendfile",useSendfileChk);
16624
- _dictMngr->add("csc policy",cscPolicyCombo,
16625
- new QStringList(QStringList() << "manual" << "documents" << "programs" << "disable"));
16631
- _dictMngr->add("vfs objects",vfsObjectsEdit);
16632
- _dictMngr->add("vfs options",vfsOptionsEdit);
16636
- _dictMngr->add("preexec",preexecEdit);
16637
- _dictMngr->add("postexec",postexecEdit);
16638
- _dictMngr->add("root preexec",rootPreexecEdit);
16639
- _dictMngr->add("root postexec",rootPostexecEdit);
16641
- _dictMngr->add("preexec close",preexecCloseChk);
16642
- _dictMngr->add("root preexec close",rootPreexecCloseChk);
16644
- _dictMngr->add("volume",volumeEdit);
16645
- _dictMngr->add("fstype",fstypeEdit);
16646
- _dictMngr->add("magic script",magicScriptEdit);
16647
- _dictMngr->add("magic output",magicOutputEdit);
16648
- _dictMngr->add("do not descend",dontDescendEdit);
16649
- _dictMngr->add("set directory",setDirectoryChk);
16650
- _dictMngr->add("fake directory create times",fakeDirectoryCreateTimesChk);
16652
- _dictMngr->add("msdfs root",msdfsRootChk);
16653
- _dictMngr->add("msdfs proxy",msdfsProxyEdit);
16655
- kDebug(DEBUG) << "dictMngr: loading share ..." << endl;
16657
- _dictMngr->load( _share );
16660
- connect( _tabs, SIGNAL(currentChanged(QWidget*)), this, SLOT(tabChangedSlot(QWidget*)));
16661
- connect(_dictMngr, SIGNAL(changed()), this, SLOT(changedSlot()));
16664
-ShareDlgImpl::~ShareDlgImpl()
16666
- delete _fileView;
16669
-void ShareDlgImpl::initAdvancedTab()
16671
- kDebug(DEBUG) << "started" << endl;
16673
- QVBoxLayout *l = new QVBoxLayout(advancedFrame);
16675
- _janus = new KPageWidget(advancedFrame);
16676
- _janus->setFaceType(KPageView::List);
16677
- l->addWidget(_janus);
16678
-// _janus->setRootIsDecorated(false);
16679
-// _janus->setShowIconsInTreeList(true);
16681
- KPageWidgetItem *f;
16684
- QList<QWidget*> widgets;
16685
- QList<QString> labels;
16687
- for (int i=0;i<advancedDumpTab->count();i++) {
16688
- kDebug(DEBUG) << advancedDumpTab->tabText(i) << endl;
16689
- widgets.append(advancedDumpTab->widget(i));
16690
- labels.append(advancedDumpTab->tabText(i));
16693
- KIconLoader* il = KIconLoader::global();
16695
- for (int i=0; i<widgets.size(); i++)
16697
- QWidget* w = widgets.at(i);
16698
- QString label = labels.at(i);
16700
- kDebug(DEBUG) << "handling widget " << label << endl;
16701
- if (label.toLower() == "security")
16702
- // icon = il->loadIcon("kgpg-key1-kgpg",KIconLoader::Small);
16703
- icon = il->loadIcon("dialog-password",KIconLoader::Small);
16705
- if (label.toLower() == "tuning")
16706
- icon = il->loadIcon("preferences-system-performance",KIconLoader::Small);
16708
- if (label.toLower() == "vfs")
16709
- icon = il->loadIcon("folder",KIconLoader::Small);
16711
- if (label.toLower() == "filenames")
16712
- icon = il->loadIcon("text-plain",KIconLoader::Small);//SmallIcon("folder");
16714
- if (label.toLower() == "exec")
16715
- icon = il->loadIcon("gear",KIconLoader::Small);
16717
- if (label.toLower() == "locking")
16718
- icon = il->loadIcon("object-locked",KIconLoader::Small);//SmallIcon("folder");
16720
- if (label.toLower() == "misc")
16721
- icon = il->loadIcon("preferences-other",KIconLoader::Small);
16723
- icon = QPixmap(16,16);
16726
- //SmallIcon("empty2");
16728
- QWidget* frame = new QWidget();
16729
- QVBoxLayout* l = new QVBoxLayout(frame);
16730
- KPageWidgetItem *page = new KPageWidgetItem( frame, label );
16733
- kDebug(DEBUG) << "adding page ..." << endl;
16734
- _janus->addPage(page);
16736
- page->setIcon(KIcon(icon));
16738
- // advancedDumpTab->removeTab(advancedDumpTab->indexOf(w));
16741
- QWidget *w = _tabs->page(5);
16742
- _tabs->removeTab(5);
16745
- storeDosAttributesChk_toggled( false );
16749
-void ShareDlgImpl::tabChangedSlot(QWidget* w)
16751
- // We are only interested in the Hidden files tab
16752
- if ( QString(w->objectName()) == "hiddenFilesTab" )
16753
- loadHiddenFilesView();
16757
-void ShareDlgImpl::loadHiddenFilesView()
16763
- kDebug(DEBUG) << "creating HiddenFileView ..." << endl;
16765
- _fileView = new HiddenFileView( this, _share );
16767
- if ( ! _share->isSpecialSection()) {
16768
- kDebug(DEBUG) << "loading HiddenFileView ..." << endl;
16769
- _fileView->load();
16775
-void ShareDlgImpl::accept()
16780
- if (homeChk->isChecked())
16781
- _share->setName("homes");
16783
- _share->setName(shareNameEdit->text());
16785
- _userTab->save();
16787
- _share->setValue("guest account",guestAccountCombo->currentText( ) );
16790
- _fileView->save();
16792
- _dictMngr->save( _share );
16794
- QDialog::accept();
16797
-void ShareDlgImpl::homeChkToggled(bool b)
16799
- shareNameEdit->setDisabled(b);
16800
- pathUrlRq->setDisabled(b);
16804
- shareNameEdit->setText("homes");
16805
- pathUrlRq->setUrl(KUrl(""));
16806
- directoryPixLbl->setPixmap(DesktopIcon("user-home",48));
16811
- shareNameEdit->setText( _share->getName() );
16812
- pathUrlRq->setUrl( _share->getValue("path") );
16813
- directoryPixLbl->setPixmap(DesktopIcon("folder"));
16817
-void ShareDlgImpl::accessModifierBtnClicked()
16819
- if (!QObject::sender()) {
16820
- kWarning() << "ShareDlgImpl::accessModifierBtnClicked() : QObject::sender() is null!";
16825
- QString name = QObject::sender()->objectName();
16827
- QLineEdit *edit = 0L;
16829
- if (name == "forceCreateModeBtn")
16830
- edit = forceCreateModeEdit;
16832
- if (name == "forceSecurityModeBtn")
16833
- edit = forceSecurityModeEdit;
16835
- if (name == "forceDirectoryModeBtn")
16836
- edit = forceDirectoryModeEdit;
16838
- if (name == "forceDirectorySecurityModeBtn")
16839
- edit = forceDirectorySecurityModeEdit;
16841
- if (name == "createMaskBtn")
16842
- edit = createMaskEdit;
16844
- if (name == "securityMaskBtn")
16845
- edit = securityMaskEdit;
16847
- if (name == "directoryMaskBtn")
16848
- edit = directoryMaskEdit;
16850
- if (name == "directorySecurityMaskBtn")
16851
- edit = directorySecurityMaskEdit;
16854
- kWarning() << "ShareDlgImpl::accessModifierBtnClicked() : edit is null! name=" << name;
16858
- FileModeDlgImpl dlg(this, edit);
16863
-void ShareDlgImpl::changedSlot() {
16864
- m_changed = true;
16865
- kDebug(5009) << "ShareDlgImpl::changedSlot()";
16869
-void ShareDlgImpl::pathUrlRq_textChanged( const QString &)
16871
- if (_fileView && ! _share->isSpecialSection())
16872
- _fileView->load();
16876
-void ShareDlgImpl::checkValues()
16879
- bool state = true;
16880
- // Check if the ok-button should be enabled
16881
- if (directory->isChecked()){
16882
- if (homes->isChecked()){
16885
- if (shareName->text() == "")
16887
- if (path->url() == "")
16891
- if (printers->isChecked()){
16894
- if (shareName->text() == ""){
16899
- buttonOk->setEnabled(state);
16904
-void ShareDlgImpl::guestOnlyChk_toggled( bool b)
16908
- onlyUserChk->setChecked(false);
16909
- publicBaseChk->setChecked(true);
16912
- onlyUserChk->setDisabled(b);
16913
- publicBaseChk->setDisabled(b);
16917
-void ShareDlgImpl::userOnlyChk_toggled( bool b)
16921
- guestOnlyChk->setChecked(false);
16922
- publicBaseChk->setChecked(false);
16925
- guestOnlyChk->setDisabled(b);
16926
- publicBaseChk->setDisabled(b);
16929
-void ShareDlgImpl::publicBaseChk_toggled( bool b)
16931
- guestOnlyChk->setEnabled(b);
16933
- guestOnlyChk->setChecked(false);
16935
- guestAccountCombo->setEnabled(b);
16936
- guestAccountLbl->setEnabled(b);
16941
-void ShareDlgImpl::oplocksChk_toggled( bool b)
16944
- fakeOplocksChk->setChecked(false);
16948
-void ShareDlgImpl::lockingChk_toggled( bool b)
16950
- // It is Dangerous to disable locking !
16953
- enableLockingWarnPix->setPixmap(SmallIcon("dialog-warning"));
16954
- enableLockingWarnPix->show();
16956
- enableLockingWarnPix->hide();
16963
-void ShareDlgImpl::fakeOplocksChk_toggled( bool b)
16967
- fakeOplocksWarnPix->setPixmap(SmallIcon("dialog-information"));
16968
- fakeOplocksWarnPix->setText(i18n("Better use the real oplocks support than this parameter"));
16969
- fakeOplocksWarnPix->showMaximized();
16970
- fakeOplocksWarnPix->show();
16972
- fakeOplocksWarnPix->hide();
16978
-void ShareDlgImpl::oplockContentionLimitSpin_valueChanged( int i)
16981
- oplockContentionLimitWarnPix->setMaximumWidth(32767);
16982
- oplockContentionLimitWarnPix->setPixmap(SmallIcon("dialog-error"));
16984
- //oplockContentionLimitWarnPix->show();
16989
-void ShareDlgImpl::storeDosAttributesChk_toggled( bool b)
16991
- mapArchiveChk->setDisabled(b);
16992
- mapSystemChk->setDisabled(b);
16993
- mapHiddenChk->setDisabled(b);
16996
- mapArchiveChk->setChecked(false);
16997
- mapSystemChk->setChecked(false);
16998
- mapHiddenChk->setChecked(false);
17003
-void ShareDlgImpl::buttonHelp_clicked()
17005
- K3Process* p = new K3Process();
17006
- *p << "konqueror";
17007
- *p << "man:smb.conf";
17012
-#include "sharedlgimpl.moc"
17013
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/sharedlgimpl.h
17014
===================================================================
17015
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/sharedlgimpl.h 2011-01-19 17:21:04.000000000 -0500
17016
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
17018
-/***************************************************************************
17019
- sharedlgimpl.h - description
17020
- -------------------
17021
- begin : Tue June 6 2002
17022
- copyright : (C) 2002 by Jan Schäfer
17023
- email : janschaefer@users.sourceforge.net
17024
- ***************************************************************************/
17026
-/******************************************************************************
17028
- * This file is part of KSambaPlugin. *
17030
- * KSambaPlugin is free software; you can redistribute it and/or modify *
17031
- * it under the terms of the GNU General Public License as published by *
17032
- * the Free Software Foundation; either version 2 of the License, or *
17033
- * (at your option) any later version. *
17035
- * KSambaPlugin is distributed in the hope that it will be useful, *
17036
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
17037
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
17038
- * GNU General Public License for more details. *
17040
- * You should have received a copy of the GNU General Public License *
17041
- * along with KSambaPlugin; if not, write to the Free Software *
17042
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
17044
- ******************************************************************************/
17046
-#ifndef SHAREDLGIMPL_H
17047
-#define SHAREDLGIMPL_H
17051
- * @author Jan Schäfer
17054
-#include <q3ptrlist.h>
17055
-#include <QDialog>
17056
-#include <K3Process>
17058
-#include <ui_share.h>
17062
-class UserTabImpl;
17063
-class HiddenFileView;
17064
-class DictManager;
17065
-class KPageWidget;
17068
- * This class implements the share.ui interface
17070
-class ShareDlgImpl : public QDialog, public Ui::KcmShareDlg
17076
- ShareDlgImpl(QWidget* parent, SambaShare* share);
17079
- bool hasChanged() { return m_changed; }
17084
- * Fills all dialog fields with the values
17085
- * of the SambaShare object
17087
- void initDialog();
17090
- * The share object to change with this dialog
17092
- SambaShare* _share;
17094
- HiddenFileView* _fileView;
17095
- UserTabImpl* _userTab;
17096
- KPageWidget* _janus;
17098
- DictManager* _dictMngr;
17100
- void loadHiddenFilesView();
17101
- void initAdvancedTab();
17104
- virtual void accept();
17105
- virtual void homeChkToggled(bool);
17106
- virtual void accessModifierBtnClicked();
17107
- virtual void changedSlot();
17108
- virtual void pathUrlRq_textChanged( const QString & );
17109
- void buttonHelp_clicked();
17110
- void oplocksChk_toggled( bool b);
17111
- void tabChangedSlot(QWidget* w);
17112
- void publicBaseChk_toggled( bool b);
17113
- void lockingChk_toggled( bool b);
17114
- void oplockContentionLimitSpin_valueChanged( int i);
17115
- void fakeOplocksChk_toggled( bool b);
17116
- void storeDosAttributesChk_toggled( bool b);
17117
- void checkValues();
17118
- void userOnlyChk_toggled( bool b);
17119
- void guestOnlyChk_toggled( bool b);
17127
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/share.ui
17128
===================================================================
17129
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/share.ui 2011-01-19 17:21:04.000000000 -0500
17130
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
17132
-<ui version="4.0" >
17134
- ******************************************************************************
17136
- * This file is part of KSambaPlugin. *
17138
- * KSambaPlugin is free software; you can redistribute it and/or modify *
17139
- * it under the terms of the GNU General Public License as published by *
17140
- * the Free Software Foundation; either version 2 of the License, or *
17141
- * (at your option) any later version. *
17143
- * KSambaPlugin is distributed in the hope that it will be useful, *
17144
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
17145
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
17146
- * GNU General Public License for more details. *
17148
- * You should have received a copy of the GNU General Public License *
17149
- * along with KSambaPlugin; if not, write to the Free Software *
17150
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
17152
- ******************************************************************************
17154
- <class>KcmShareDlg</class>
17155
- <widget class="QDialog" name="KcmShareDlg" >
17156
- <property name="geometry" >
17160
- <width>674</width>
17161
- <height>643</height>
17164
- <property name="windowTitle" >
17165
- <string>Add/Edit Share</string>
17167
- <property name="sizeGripEnabled" >
17168
- <bool>true</bool>
17170
- <layout class="QVBoxLayout" >
17172
- <widget class="QTabWidget" name="_tabs" >
17173
- <property name="currentIndex" >
17174
- <number>4</number>
17176
- <widget class="QWidget" name="baseTab" >
17177
- <attribute name="title" >
17178
- <string>&Base Settings</string>
17180
- <layout class="QGridLayout" >
17181
- <item row="0" column="0" >
17182
- <layout class="QHBoxLayout" >
17183
- <property name="spacing" >
17184
- <number>6</number>
17186
- <property name="leftMargin" >
17187
- <number>0</number>
17189
- <property name="topMargin" >
17190
- <number>0</number>
17192
- <property name="rightMargin" >
17193
- <number>0</number>
17195
- <property name="bottomMargin" >
17196
- <number>0</number>
17199
- <widget class="QFrame" name="pixmapFrame" >
17200
- <property name="frameShape" >
17201
- <enum>QFrame::NoFrame</enum>
17203
- <property name="frameShadow" >
17204
- <enum>QFrame::Plain</enum>
17206
- <layout class="QVBoxLayout" >
17207
- <property name="spacing" >
17208
- <number>6</number>
17210
- <property name="leftMargin" >
17211
- <number>11</number>
17213
- <property name="topMargin" >
17214
- <number>11</number>
17216
- <property name="rightMargin" >
17217
- <number>11</number>
17219
- <property name="bottomMargin" >
17220
- <number>11</number>
17223
- <widget class="QLabel" name="directoryPixLbl" >
17224
- <property name="sizePolicy" >
17225
- <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
17226
- <horstretch>0</horstretch>
17227
- <verstretch>0</verstretch>
17230
- <property name="text" >
17231
- <string>Pixmap</string>
17233
- <property name="scaledContents" >
17234
- <bool>true</bool>
17236
- <property name="wordWrap" >
17237
- <bool>false</bool>
17245
- <widget class="QGroupBox" name="directoryGrp" >
17246
- <property name="title" >
17247
- <string>D&irectory</string>
17249
- <layout class="QVBoxLayout" >
17250
- <property name="spacing" >
17251
- <number>6</number>
17253
- <property name="leftMargin" >
17254
- <number>11</number>
17256
- <property name="topMargin" >
17257
- <number>11</number>
17259
- <property name="rightMargin" >
17260
- <number>11</number>
17262
- <property name="bottomMargin" >
17263
- <number>11</number>
17266
- <layout class="QHBoxLayout" >
17267
- <property name="spacing" >
17268
- <number>6</number>
17270
- <property name="leftMargin" >
17271
- <number>0</number>
17273
- <property name="topMargin" >
17274
- <number>0</number>
17276
- <property name="rightMargin" >
17277
- <number>0</number>
17279
- <property name="bottomMargin" >
17280
- <number>0</number>
17283
- <widget class="QLabel" name="TextLabel1" >
17284
- <property name="enabled" >
17285
- <bool>true</bool>
17287
- <property name="text" >
17288
- <string>&Path:</string>
17290
- <property name="wordWrap" >
17291
- <bool>false</bool>
17293
- <property name="buddy" >
17294
- <cstring>pathUrlRq</cstring>
17299
- <widget class="KUrlRequester" name="pathUrlRq" >
17300
- <property name="enabled" >
17301
- <bool>true</bool>
17308
- <widget class="QCheckBox" name="homeChk" >
17309
- <property name="text" >
17310
- <string>Share all home &directories</string>
17319
- <item row="1" column="0" >
17320
- <widget class="QGroupBox" name="identifierGrp" >
17321
- <property name="title" >
17322
- <string>Iden&tifier</string>
17324
- <layout class="QGridLayout" >
17325
- <property name="leftMargin" >
17326
- <number>11</number>
17328
- <property name="topMargin" >
17329
- <number>11</number>
17331
- <property name="rightMargin" >
17332
- <number>11</number>
17334
- <property name="bottomMargin" >
17335
- <number>11</number>
17337
- <property name="horizontalSpacing" >
17338
- <number>6</number>
17340
- <property name="verticalSpacing" >
17341
- <number>6</number>
17343
- <item row="0" column="0" >
17344
- <widget class="QLabel" name="Lbl_shareName" >
17345
- <property name="text" >
17346
- <string>Na&me:</string>
17348
- <property name="wordWrap" >
17349
- <bool>false</bool>
17351
- <property name="buddy" >
17352
- <cstring>shareNameEdit</cstring>
17356
- <item row="1" column="0" >
17357
- <widget class="QLabel" name="TextLabel3" >
17358
- <property name="text" >
17359
- <string>Comme&nt:</string>
17361
- <property name="wordWrap" >
17362
- <bool>false</bool>
17364
- <property name="buddy" >
17365
- <cstring>commentEdit</cstring>
17369
- <item row="1" column="1" >
17370
- <widget class="KLineEdit" name="commentEdit" />
17372
- <item row="0" column="1" >
17373
- <widget class="KLineEdit" name="shareNameEdit" />
17378
- <item row="2" column="0" >
17379
- <widget class="QGroupBox" name="GroupBox4" >
17380
- <property name="title" >
17381
- <string>Main P&roperties</string>
17383
- <layout class="QVBoxLayout" >
17384
- <property name="spacing" >
17385
- <number>6</number>
17387
- <property name="leftMargin" >
17388
- <number>11</number>
17390
- <property name="topMargin" >
17391
- <number>11</number>
17393
- <property name="rightMargin" >
17394
- <number>11</number>
17396
- <property name="bottomMargin" >
17397
- <number>11</number>
17400
- <widget class="QCheckBox" name="readOnlyBaseChk" >
17401
- <property name="text" >
17402
- <string>Read onl&y</string>
17404
- <property name="checked" >
17405
- <bool>true</bool>
17410
- <widget class="QCheckBox" name="publicBaseChk" >
17411
- <property name="text" >
17412
- <string>Pub&lic</string>
17417
- <widget class="QCheckBox" name="browseableBaseChk" >
17418
- <property name="text" >
17419
- <string>Bro&wseable</string>
17424
- <widget class="QCheckBox" name="availableBaseChk" >
17425
- <property name="text" >
17426
- <string>A&vailable</string>
17433
- <item row="4" column="0" >
17435
- <property name="orientation" >
17436
- <enum>Qt::Vertical</enum>
17438
- <property name="sizeType" >
17439
- <enum>QSizePolicy::Expanding</enum>
17441
- <property name="sizeHint" >
17443
- <width>20</width>
17444
- <height>90</height>
17451
- <widget class="QWidget" name="securityTab" >
17452
- <attribute name="title" >
17453
- <string>&Security</string>
17455
- <layout class="QVBoxLayout" >
17457
- <widget class="QGroupBox" name="groupBox19" >
17458
- <property name="title" >
17459
- <string>Gu&ests</string>
17461
- <layout class="QVBoxLayout" >
17463
- <layout class="QHBoxLayout" >
17465
- <widget class="QLabel" name="guestAccountLbl" >
17466
- <property name="enabled" >
17467
- <bool>false</bool>
17469
- <property name="whatsThis" >
17470
- <string>This is a username which will be used for access to services which are specified as guest ok. Whatever privileges this user has will be available to any client connecting to the guest service. Typically this user will exist in the password file, but will not have a valid login. The user account \"ftp\" is often a good choice for this parameter. If a username is specified in a given service, the specified username overrides this one.</string>
17472
- <property name="text" >
17473
- <string>&Guest account:</string>
17475
- <property name="wordWrap" >
17476
- <bool>false</bool>
17478
- <property name="buddy" >
17479
- <cstring>guestAccountCombo</cstring>
17484
- <widget class="QComboBox" name="guestAccountCombo" />
17488
- <property name="orientation" >
17489
- <enum>Qt::Horizontal</enum>
17491
- <property name="sizeHint" >
17493
- <width>40</width>
17494
- <height>20</height>
17502
- <widget class="QCheckBox" name="guestOnlyChk" >
17503
- <property name="enabled" >
17504
- <bool>false</bool>
17506
- <property name="whatsThis" >
17507
- <string>If this is checked , then no password is required to connect to the service. Privileges will be those of the guest account.</string>
17509
- <property name="text" >
17510
- <string>Only allow guest connect&ions</string>
17518
- <widget class="QGroupBox" name="groupBox18" >
17519
- <property name="title" >
17520
- <string>Hos&ts</string>
17522
- <layout class="QGridLayout" >
17523
- <property name="leftMargin" >
17524
- <number>11</number>
17526
- <property name="topMargin" >
17527
- <number>11</number>
17529
- <property name="rightMargin" >
17530
- <number>11</number>
17532
- <property name="bottomMargin" >
17533
- <number>11</number>
17535
- <property name="horizontalSpacing" >
17536
- <number>6</number>
17538
- <property name="verticalSpacing" >
17539
- <number>6</number>
17541
- <item row="1" column="1" >
17542
- <widget class="QLineEdit" name="hostsDenyEdit" >
17543
- <property name="whatsThis" >
17544
- <string>The opposite of hosts allow - hosts listed here are NOT permitted access to services unless the specific services have their own lists to override this one. Where the lists conflict, the allow list takes precedence.</string>
17548
- <item row="0" column="0" >
17549
- <widget class="QLabel" name="TextLabel5" >
17550
- <property name="whatsThis" >
17551
- <string>This parameter is a comma, space, or tab delimited set of hosts which are permitted to access a service.</string>
17553
- <property name="text" >
17554
- <string>Hosts allo&w:</string>
17556
- <property name="wordWrap" >
17557
- <bool>false</bool>
17559
- <property name="buddy" >
17560
- <cstring>hostsAllowEdit</cstring>
17564
- <item row="1" column="0" >
17565
- <widget class="QLabel" name="TextLabel6" >
17566
- <property name="whatsThis" >
17567
- <string>The opposite of hosts allow - hosts listed here are NOT permitted access to services unless the specific services have their own lists to override this one. Where the lists conflict, the allow list takes precedence.</string>
17569
- <property name="text" >
17570
- <string>Hosts &deny:</string>
17572
- <property name="wordWrap" >
17573
- <bool>false</bool>
17575
- <property name="buddy" >
17576
- <cstring>hostsDenyEdit</cstring>
17580
- <item row="0" column="1" >
17581
- <widget class="QLineEdit" name="hostsAllowEdit" >
17582
- <property name="whatsThis" >
17583
- <string>This parameter is a comma, space, or tab delimited set of hosts which are permitted to access a service.</string>
17591
- <widget class="QGroupBox" name="groupBox17" >
17592
- <property name="title" >
17593
- <string>Sy&mbolic Links</string>
17595
- <layout class="QVBoxLayout" >
17596
- <property name="spacing" >
17597
- <number>6</number>
17599
- <property name="leftMargin" >
17600
- <number>11</number>
17602
- <property name="topMargin" >
17603
- <number>11</number>
17605
- <property name="rightMargin" >
17606
- <number>11</number>
17608
- <property name="bottomMargin" >
17609
- <number>11</number>
17612
- <widget class="QCheckBox" name="followSymlinksChk" >
17613
- <property name="text" >
17614
- <string>Allow following of symbolic lin&ks</string>
17619
- <widget class="QCheckBox" name="wideLinksChk" >
17620
- <property name="enabled" >
17621
- <bool>false</bool>
17623
- <property name="text" >
17624
- <string>Allow following of symbolic links that &point to areas outside the directory tree</string>
17632
- <widget class="QLabel" name="TextLabel2_4_2" >
17633
- <property name="text" >
17634
- <string><qt>Validate password against the following usernames if the client cannot supply a username:</qt></string>
17636
- <property name="wordWrap" >
17637
- <bool>false</bool>
17639
- <property name="buddy" >
17640
- <cstring>userNameEdit</cstring>
17645
- <widget class="QLineEdit" name="userNameEdit" />
17648
- <widget class="QCheckBox" name="onlyUserChk" >
17649
- <property name="whatsThis" >
17650
- <string>If this is checked , then no password is required to connect to the service. Privileges will be those of the guest account.</string>
17652
- <property name="text" >
17653
- <string>Only allow connections with use&rnames specified in this username list</string>
17659
- <property name="orientation" >
17660
- <enum>Qt::Vertical</enum>
17662
- <property name="sizeHint" >
17664
- <width>20</width>
17665
- <height>40</height>
17672
- <widget class="QWidget" name="hiddenFilesTab" >
17673
- <attribute name="title" >
17674
- <string>Hidden &Files</string>
17676
- <layout class="QVBoxLayout" >
17677
- <property name="spacing" >
17678
- <number>6</number>
17680
- <property name="leftMargin" >
17681
- <number>11</number>
17683
- <property name="topMargin" >
17684
- <number>11</number>
17686
- <property name="rightMargin" >
17687
- <number>11</number>
17689
- <property name="bottomMargin" >
17690
- <number>11</number>
17693
- <widget class="K3ListView" name="hiddenListView" >
17694
- <property name="showSortIndicator" >
17695
- <bool>true</bool>
17698
- <property name="text" >
17699
- <string>Name</string>
17703
- <property name="text" >
17704
- <string>Hidden</string>
17708
- <property name="text" >
17709
- <string>Veto</string>
17713
- <property name="text" >
17714
- <string>Veto Oplock</string>
17718
- <property name="text" >
17719
- <string>Size</string>
17723
- <property name="text" >
17724
- <string>Date</string>
17728
- <property name="text" >
17729
- <string>Permissions</string>
17733
- <property name="text" >
17734
- <string>Owner</string>
17738
- <property name="text" >
17739
- <string>Group</string>
17745
- <widget class="QGroupBox" name="selGrpBx" >
17746
- <property name="title" >
17747
- <string>Se&lected Files</string>
17749
- <layout class="QHBoxLayout" >
17750
- <property name="spacing" >
17751
- <number>6</number>
17753
- <property name="leftMargin" >
17754
- <number>11</number>
17756
- <property name="topMargin" >
17757
- <number>11</number>
17759
- <property name="rightMargin" >
17760
- <number>11</number>
17762
- <property name="bottomMargin" >
17763
- <number>11</number>
17766
- <widget class="QCheckBox" name="hiddenChk" >
17767
- <property name="text" >
17768
- <string>Hi&de</string>
17773
- <widget class="QCheckBox" name="vetoChk" >
17774
- <property name="text" >
17775
- <string>&Veto</string>
17780
- <widget class="QCheckBox" name="vetoOplockChk" >
17781
- <property name="text" >
17782
- <string>Veto oploc&k</string>
17790
- <widget class="QGroupBox" name="GroupBox13_2" >
17791
- <property name="title" >
17792
- <string>&Manual Configuration</string>
17794
- <layout class="QVBoxLayout" >
17795
- <property name="spacing" >
17796
- <number>6</number>
17798
- <property name="leftMargin" >
17799
- <number>11</number>
17801
- <property name="topMargin" >
17802
- <number>11</number>
17804
- <property name="rightMargin" >
17805
- <number>11</number>
17807
- <property name="bottomMargin" >
17808
- <number>11</number>
17811
- <layout class="QGridLayout" >
17812
- <property name="leftMargin" >
17813
- <number>0</number>
17815
- <property name="topMargin" >
17816
- <number>0</number>
17818
- <property name="rightMargin" >
17819
- <number>0</number>
17821
- <property name="bottomMargin" >
17822
- <number>0</number>
17824
- <property name="horizontalSpacing" >
17825
- <number>6</number>
17827
- <property name="verticalSpacing" >
17828
- <number>6</number>
17830
- <item row="1" column="0" >
17831
- <widget class="QLabel" name="TextLabel2_2" >
17832
- <property name="text" >
17833
- <string>Ve&to files:</string>
17835
- <property name="wordWrap" >
17836
- <bool>false</bool>
17838
- <property name="buddy" >
17839
- <cstring>vetoEdit</cstring>
17843
- <item row="2" column="0" >
17844
- <widget class="QLabel" name="TextLabel2_2_2" >
17845
- <property name="text" >
17846
- <string>Veto oplock f&iles:</string>
17848
- <property name="wordWrap" >
17849
- <bool>false</bool>
17851
- <property name="buddy" >
17852
- <cstring>vetoOplockEdit</cstring>
17856
- <item row="0" column="1" >
17857
- <widget class="QLineEdit" name="hiddenEdit" />
17859
- <item row="2" column="1" >
17860
- <widget class="QLineEdit" name="vetoOplockEdit" />
17862
- <item row="1" column="1" >
17863
- <widget class="QLineEdit" name="vetoEdit" />
17865
- <item row="0" column="0" >
17866
- <widget class="QLabel" name="TextLabel1_3" >
17867
- <property name="text" >
17868
- <string>Hidde&n files:</string>
17870
- <property name="wordWrap" >
17871
- <bool>false</bool>
17873
- <property name="buddy" >
17874
- <cstring>hiddenEdit</cstring>
17881
- <layout class="QGridLayout" >
17882
- <property name="leftMargin" >
17883
- <number>0</number>
17885
- <property name="topMargin" >
17886
- <number>0</number>
17888
- <property name="rightMargin" >
17889
- <number>0</number>
17891
- <property name="bottomMargin" >
17892
- <number>0</number>
17894
- <property name="horizontalSpacing" >
17895
- <number>6</number>
17897
- <property name="verticalSpacing" >
17898
- <number>6</number>
17900
- <item row="1" column="0" >
17901
- <widget class="QCheckBox" name="hideUnwriteableFilesChk" >
17902
- <property name="text" >
17903
- <string>Hide un&writable files</string>
17907
- <item row="1" column="1" >
17908
- <widget class="QCheckBox" name="hideSpecialFilesChk" >
17909
- <property name="text" >
17910
- <string>Hide s&pecial files</string>
17914
- <item row="0" column="1" >
17915
- <widget class="QCheckBox" name="hideDotFilesChk" >
17916
- <property name="text" >
17917
- <string>Hide files startin&g with a dot </string>
17921
- <item row="0" column="0" >
17922
- <widget class="QCheckBox" name="hideUnreadableChk" >
17923
- <property name="text" >
17924
- <string>Hide un&readable files</string>
17935
- <widget class="QWidget" name="advancedTab" >
17936
- <attribute name="title" >
17937
- <string>&Advanced</string>
17939
- <layout class="QVBoxLayout" >
17940
- <property name="spacing" >
17941
- <number>6</number>
17943
- <property name="leftMargin" >
17944
- <number>11</number>
17946
- <property name="topMargin" >
17947
- <number>11</number>
17949
- <property name="rightMargin" >
17950
- <number>11</number>
17952
- <property name="bottomMargin" >
17953
- <number>11</number>
17956
- <widget class="QFrame" name="advancedFrame" >
17957
- <property name="frameShape" >
17958
- <enum>QFrame::NoFrame</enum>
17960
- <property name="frameShadow" >
17961
- <enum>QFrame::Plain</enum>
17966
- <widget class="QFrame" name="Frame26" >
17967
- <property name="frameShape" >
17968
- <enum>QFrame::NoFrame</enum>
17970
- <property name="frameShadow" >
17971
- <enum>QFrame::Plain</enum>
17976
- <layout class="QHBoxLayout" >
17977
- <property name="spacing" >
17978
- <number>6</number>
17980
- <property name="leftMargin" >
17981
- <number>0</number>
17983
- <property name="topMargin" >
17984
- <number>0</number>
17986
- <property name="rightMargin" >
17987
- <number>0</number>
17989
- <property name="bottomMargin" >
17990
- <number>0</number>
17993
- <widget class="QLabel" name="PixmapLabel1" >
17994
- <property name="sizePolicy" >
17995
- <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
17996
- <horstretch>0</horstretch>
17997
- <verstretch>0</verstretch>
18000
- <property name="scaledContents" >
18001
- <bool>true</bool>
18003
- <property name="wordWrap" >
18004
- <bool>false</bool>
18009
- <widget class="QLabel" name="TextLabel1_4" >
18010
- <property name="font" >
18012
- <weight>75</weight>
18013
- <bold>true</bold>
18016
- <property name="text" >
18017
- <string>Here you can change advanced options of the SAMBA server.
18018
-Only change something if you know what you are doing.</string>
18020
- <property name="wordWrap" >
18021
- <bool>false</bool>
18029
- <widget class="QWidget" name="advancedDumpTabPage" >
18030
- <attribute name="title" >
18031
- <string>Advanced Dump</string>
18033
- <layout class="QVBoxLayout" >
18035
- <widget class="QTabWidget" name="advancedDumpTab" >
18036
- <property name="currentIndex" >
18037
- <number>3</number>
18039
- <widget class="QWidget" name="tab" >
18040
- <attribute name="title" >
18041
- <string>Security</string>
18043
- <layout class="QGridLayout" >
18044
- <property name="leftMargin" >
18045
- <number>0</number>
18047
- <property name="topMargin" >
18048
- <number>0</number>
18050
- <property name="rightMargin" >
18051
- <number>0</number>
18053
- <property name="bottomMargin" >
18054
- <number>0</number>
18056
- <item row="3" column="0" >
18057
- <widget class="QGroupBox" name="GroupBox11_2" >
18058
- <property name="title" >
18059
- <string>Force Modes</string>
18061
- <layout class="QGridLayout" >
18062
- <property name="leftMargin" >
18063
- <number>11</number>
18065
- <property name="topMargin" >
18066
- <number>11</number>
18068
- <property name="rightMargin" >
18069
- <number>11</number>
18071
- <property name="bottomMargin" >
18072
- <number>11</number>
18074
- <property name="horizontalSpacing" >
18075
- <number>6</number>
18077
- <property name="verticalSpacing" >
18078
- <number>6</number>
18080
- <item row="3" column="0" >
18081
- <widget class="QLabel" name="TextLabel5_2_3_2_2_2_2" >
18082
- <property name="whatsThis" >
18083
- <string>This parameter is a comma, space, or tab delimited set of hosts which are permitted to access a service.</string>
18085
- <property name="text" >
18086
- <string>Forc&e directory security mode:</string>
18088
- <property name="wordWrap" >
18089
- <bool>false</bool>
18091
- <property name="buddy" >
18092
- <cstring>forceDirectorySecurityModeEdit</cstring>
18096
- <item row="1" column="0" >
18097
- <widget class="QLabel" name="TextLabel5_2_3_2_3" >
18098
- <property name="whatsThis" >
18099
- <string>This parameter is a comma, space, or tab delimited set of hosts which are permitted to access a service.</string>
18101
- <property name="text" >
18102
- <string>Fo&rce security mode:</string>
18104
- <property name="wordWrap" >
18105
- <bool>false</bool>
18107
- <property name="buddy" >
18108
- <cstring>forceSecurityModeEdit</cstring>
18112
- <item row="2" column="0" >
18113
- <widget class="QLabel" name="TextLabel5_2_3_2_2_3" >
18114
- <property name="whatsThis" >
18115
- <string>This parameter is a comma, space, or tab delimited set of hosts which are permitted to access a service.</string>
18117
- <property name="text" >
18118
- <string>Force director&y mode:</string>
18120
- <property name="wordWrap" >
18121
- <bool>false</bool>
18123
- <property name="buddy" >
18124
- <cstring>forceDirectoryModeEdit</cstring>
18128
- <item row="0" column="0" >
18129
- <widget class="QLabel" name="TextLabel5_2_3_3" >
18130
- <property name="whatsThis" >
18131
- <string>This parameter is a comma, space, or tab delimited set of hosts which are permitted to access a service.</string>
18133
- <property name="text" >
18134
- <string>Force create mo&de:</string>
18136
- <property name="wordWrap" >
18137
- <bool>false</bool>
18139
- <property name="buddy" >
18140
- <cstring>forceCreateModeEdit</cstring>
18144
- <item row="2" column="2" >
18145
- <widget class="QToolButton" name="forceDirectoryModeBtn" >
18146
- <property name="sizePolicy" >
18147
- <sizepolicy vsizetype="Minimum" hsizetype="Minimum" >
18148
- <horstretch>0</horstretch>
18149
- <verstretch>0</verstretch>
18152
- <property name="minimumSize" >
18154
- <width>20</width>
18155
- <height>0</height>
18158
- <property name="text" >
18159
- <string>...</string>
18163
- <item row="3" column="2" >
18164
- <widget class="QToolButton" name="forceDirectorySecurityModeBtn" >
18165
- <property name="sizePolicy" >
18166
- <sizepolicy vsizetype="Minimum" hsizetype="Minimum" >
18167
- <horstretch>0</horstretch>
18168
- <verstretch>0</verstretch>
18171
- <property name="minimumSize" >
18173
- <width>20</width>
18174
- <height>0</height>
18177
- <property name="text" >
18178
- <string>...</string>
18182
- <item row="0" column="1" >
18183
- <widget class="KRestrictedLine" name="forceCreateModeEdit" >
18184
- <property name="minimumSize" >
18186
- <width>40</width>
18187
- <height>0</height>
18190
- <property name="validChars" >
18191
- <string>01234567</string>
18195
- <item row="1" column="1" >
18196
- <widget class="KRestrictedLine" name="forceSecurityModeEdit" >
18197
- <property name="minimumSize" >
18199
- <width>40</width>
18200
- <height>0</height>
18203
- <property name="validChars" >
18204
- <string>01234567</string>
18208
- <item row="2" column="1" >
18209
- <widget class="KRestrictedLine" name="forceDirectoryModeEdit" >
18210
- <property name="minimumSize" >
18212
- <width>40</width>
18213
- <height>0</height>
18216
- <property name="validChars" >
18217
- <string>01234567</string>
18221
- <item row="3" column="1" >
18222
- <widget class="KRestrictedLine" name="forceDirectorySecurityModeEdit" >
18223
- <property name="minimumSize" >
18225
- <width>40</width>
18226
- <height>0</height>
18229
- <property name="validChars" >
18230
- <string>01234567</string>
18234
- <item row="1" column="2" >
18235
- <widget class="QToolButton" name="forceSecurityModeBtn" >
18236
- <property name="sizePolicy" >
18237
- <sizepolicy vsizetype="Minimum" hsizetype="Minimum" >
18238
- <horstretch>0</horstretch>
18239
- <verstretch>0</verstretch>
18242
- <property name="minimumSize" >
18244
- <width>20</width>
18245
- <height>0</height>
18248
- <property name="text" >
18249
- <string>...</string>
18253
- <item row="0" column="2" >
18254
- <widget class="QToolButton" name="forceCreateModeBtn" >
18255
- <property name="sizePolicy" >
18256
- <sizepolicy vsizetype="Minimum" hsizetype="Minimum" >
18257
- <horstretch>0</horstretch>
18258
- <verstretch>0</verstretch>
18261
- <property name="minimumSize" >
18263
- <width>20</width>
18264
- <height>0</height>
18267
- <property name="text" >
18268
- <string>...</string>
18275
- <item row="4" column="0" >
18277
- <property name="orientation" >
18278
- <enum>Qt::Vertical</enum>
18280
- <property name="sizeType" >
18281
- <enum>QSizePolicy::Expanding</enum>
18283
- <property name="sizeHint" >
18285
- <width>20</width>
18286
- <height>16</height>
18291
- <item row="3" column="1" >
18292
- <widget class="QGroupBox" name="GroupBox10_2" >
18293
- <property name="title" >
18294
- <string>Masks</string>
18296
- <layout class="QGridLayout" >
18297
- <property name="leftMargin" >
18298
- <number>11</number>
18300
- <property name="topMargin" >
18301
- <number>11</number>
18303
- <property name="rightMargin" >
18304
- <number>11</number>
18306
- <property name="bottomMargin" >
18307
- <number>11</number>
18309
- <property name="horizontalSpacing" >
18310
- <number>6</number>
18312
- <property name="verticalSpacing" >
18313
- <number>6</number>
18315
- <item row="3" column="0" >
18316
- <widget class="QLabel" name="TextLabel5_2_4_2_2_2" >
18317
- <property name="whatsThis" >
18318
- <string>This parameter is a comma, space, or tab delimited set of hosts which are permitted to access a service.</string>
18320
- <property name="text" >
18321
- <string>Directory security mask:</string>
18323
- <property name="wordWrap" >
18324
- <bool>false</bool>
18326
- <property name="buddy" >
18327
- <cstring>directorySecurityMaskEdit</cstring>
18331
- <item row="1" column="0" >
18332
- <widget class="QLabel" name="TextLabel5_2_4_3" >
18333
- <property name="whatsThis" >
18334
- <string>This parameter is a comma, space, or tab delimited set of hosts which are permitted to access a service.</string>
18336
- <property name="text" >
18337
- <string>Security &mask:</string>
18339
- <property name="wordWrap" >
18340
- <bool>false</bool>
18342
- <property name="buddy" >
18343
- <cstring>securityMaskEdit</cstring>
18347
- <item row="2" column="0" >
18348
- <widget class="QLabel" name="TextLabel5_2_4_2_3" >
18349
- <property name="whatsThis" >
18350
- <string>This parameter is a comma, space, or tab delimited set of hosts which are permitted to access a service.</string>
18352
- <property name="text" >
18353
- <string>Direc&tory mask:</string>
18355
- <property name="wordWrap" >
18356
- <bool>false</bool>
18358
- <property name="buddy" >
18359
- <cstring>directoryMaskEdit</cstring>
18363
- <item row="1" column="2" >
18364
- <widget class="QToolButton" name="securityMaskBtn" >
18365
- <property name="sizePolicy" >
18366
- <sizepolicy vsizetype="Minimum" hsizetype="Minimum" >
18367
- <horstretch>0</horstretch>
18368
- <verstretch>0</verstretch>
18371
- <property name="minimumSize" >
18373
- <width>20</width>
18374
- <height>0</height>
18377
- <property name="text" >
18378
- <string>...</string>
18382
- <item row="2" column="2" >
18383
- <widget class="QToolButton" name="directoryMaskBtn" >
18384
- <property name="sizePolicy" >
18385
- <sizepolicy vsizetype="Minimum" hsizetype="Minimum" >
18386
- <horstretch>0</horstretch>
18387
- <verstretch>0</verstretch>
18390
- <property name="minimumSize" >
18392
- <width>20</width>
18393
- <height>0</height>
18396
- <property name="text" >
18397
- <string>...</string>
18401
- <item row="3" column="2" >
18402
- <widget class="QToolButton" name="directorySecurityMaskBtn" >
18403
- <property name="sizePolicy" >
18404
- <sizepolicy vsizetype="Minimum" hsizetype="Minimum" >
18405
- <horstretch>0</horstretch>
18406
- <verstretch>0</verstretch>
18409
- <property name="minimumSize" >
18411
- <width>20</width>
18412
- <height>0</height>
18415
- <property name="text" >
18416
- <string>...</string>
18420
- <item row="1" column="1" >
18421
- <widget class="KRestrictedLine" name="securityMaskEdit" >
18422
- <property name="minimumSize" >
18424
- <width>40</width>
18425
- <height>0</height>
18428
- <property name="validChars" >
18429
- <string>01234567</string>
18433
- <item row="2" column="1" >
18434
- <widget class="KRestrictedLine" name="directoryMaskEdit" >
18435
- <property name="minimumSize" >
18437
- <width>40</width>
18438
- <height>0</height>
18441
- <property name="validChars" >
18442
- <string>01234567</string>
18446
- <item row="3" column="1" >
18447
- <widget class="KRestrictedLine" name="directorySecurityMaskEdit" >
18448
- <property name="minimumSize" >
18450
- <width>40</width>
18451
- <height>0</height>
18454
- <property name="validChars" >
18455
- <string>01234567</string>
18459
- <item row="0" column="0" >
18460
- <widget class="QLabel" name="TextLabel5_2_2" >
18461
- <property name="whatsThis" >
18462
- <string>This parameter is a comma, space, or tab delimited set of hosts which are permitted to access a service.</string>
18464
- <property name="text" >
18465
- <string>Create mas&k:</string>
18467
- <property name="wordWrap" >
18468
- <bool>false</bool>
18470
- <property name="buddy" >
18471
- <cstring>createMaskEdit</cstring>
18475
- <item row="0" column="1" >
18476
- <widget class="KRestrictedLine" name="createMaskEdit" >
18477
- <property name="minimumSize" >
18479
- <width>40</width>
18480
- <height>0</height>
18483
- <property name="validChars" >
18484
- <string>01234567</string>
18488
- <item row="0" column="2" >
18489
- <widget class="QToolButton" name="createMaskBtn" >
18490
- <property name="sizePolicy" >
18491
- <sizepolicy vsizetype="Minimum" hsizetype="Minimum" >
18492
- <horstretch>0</horstretch>
18493
- <verstretch>0</verstretch>
18496
- <property name="minimumSize" >
18498
- <width>20</width>
18499
- <height>0</height>
18502
- <property name="text" >
18503
- <string>...</string>
18510
- <item rowspan="2" row="0" column="1" >
18511
- <widget class="QGroupBox" name="groupBox56" >
18512
- <property name="title" >
18513
- <string>ACL</string>
18515
- <layout class="QGridLayout" >
18516
- <property name="leftMargin" >
18517
- <number>11</number>
18519
- <property name="topMargin" >
18520
- <number>11</number>
18522
- <property name="rightMargin" >
18523
- <number>11</number>
18525
- <property name="bottomMargin" >
18526
- <number>11</number>
18528
- <property name="horizontalSpacing" >
18529
- <number>6</number>
18531
- <property name="verticalSpacing" >
18532
- <number>6</number>
18534
- <item row="2" column="0" colspan="3" >
18535
- <widget class="QCheckBox" name="profileAclsChk" >
18536
- <property name="text" >
18537
- <string>&Profile acls</string>
18541
- <item row="1" column="0" colspan="3" >
18542
- <widget class="QCheckBox" name="inheritAclsChk" >
18543
- <property name="text" >
18544
- <string>Inherit ac&ls</string>
18548
- <item row="0" column="0" >
18549
- <widget class="QCheckBox" name="ntAclSupportChk" >
18550
- <property name="text" >
18551
- <string>&NT ACL support</string>
18553
- <property name="checked" >
18554
- <bool>true</bool>
18558
- <item row="4" column="0" >
18559
- <widget class="QLabel" name="TextLabel5_2_2_2" >
18560
- <property name="whatsThis" >
18561
- <string>This parameter is a comma, space, or tab delimited set of hosts which are permitted to access a service.</string>
18563
- <property name="text" >
18564
- <string>Force unkno&wn acl user:</string>
18566
- <property name="wordWrap" >
18567
- <bool>false</bool>
18569
- <property name="buddy" >
18570
- <cstring>forceUnknownAclUserEdit</cstring>
18574
- <item row="3" column="0" colspan="3" >
18575
- <widget class="QCheckBox" name="mapAclInheritChk" >
18576
- <property name="text" >
18577
- <string>Map acl &inherit</string>
18581
- <item row="4" column="1" colspan="2" >
18582
- <widget class="KRestrictedLine" name="forceUnknownAclUserEdit" >
18583
- <property name="minimumSize" >
18585
- <width>40</width>
18586
- <height>0</height>
18589
- <property name="validChars" >
18590
- <string>01234567</string>
18597
- <item row="0" column="0" >
18598
- <widget class="QGroupBox" name="groupBox58" >
18599
- <property name="title" >
18600
- <string>General</string>
18602
- <layout class="QVBoxLayout" >
18603
- <property name="spacing" >
18604
- <number>6</number>
18606
- <property name="leftMargin" >
18607
- <number>11</number>
18609
- <property name="topMargin" >
18610
- <number>11</number>
18612
- <property name="rightMargin" >
18613
- <number>11</number>
18615
- <property name="bottomMargin" >
18616
- <number>11</number>
18619
- <widget class="QCheckBox" name="inheritPermissionsChk" >
18620
- <property name="text" >
18621
- <string>Inherit permissions from parent directory</string>
18626
- <widget class="QCheckBox" name="deleteReadonlyChk" >
18627
- <property name="text" >
18628
- <string>Allow deletion of readonly files</string>
18635
- <item rowspan="2" row="1" column="0" >
18636
- <widget class="QGroupBox" name="groupBox57" >
18637
- <property name="title" >
18638
- <string>DOS Attribute Mapping</string>
18640
- <layout class="QVBoxLayout" >
18641
- <property name="spacing" >
18642
- <number>6</number>
18644
- <property name="leftMargin" >
18645
- <number>11</number>
18647
- <property name="topMargin" >
18648
- <number>11</number>
18650
- <property name="rightMargin" >
18651
- <number>11</number>
18653
- <property name="bottomMargin" >
18654
- <number>11</number>
18657
- <widget class="QCheckBox" name="mapArchiveChk" >
18658
- <property name="text" >
18659
- <string>Map DOS archi&ve to UNIX owner execute</string>
18664
- <widget class="QCheckBox" name="mapHiddenChk" >
18665
- <property name="text" >
18666
- <string>Map DOS hidden to UNI&X world execute</string>
18671
- <widget class="QCheckBox" name="mapSystemChk" >
18672
- <property name="text" >
18673
- <string>Map DOS system to UNIX &group execute</string>
18678
- <widget class="QCheckBox" name="storeDosAttributesChk" >
18679
- <property name="text" >
18680
- <string>Store DOS attributes onto extended attribute</string>
18682
- <property name="shortcut" >
18690
- <item row="2" column="1" >
18691
- <widget class="QGroupBox" name="groupBox76" >
18692
- <property name="title" >
18693
- <string>OS/2</string>
18695
- <layout class="QVBoxLayout" >
18697
- <widget class="QCheckBox" name="eaSupportChk" >
18698
- <property name="text" >
18699
- <string>OS/2 style extended attributes support</string>
18708
- <widget class="QWidget" name="tab" >
18709
- <attribute name="title" >
18710
- <string>Tuning</string>
18712
- <layout class="QGridLayout" >
18713
- <item row="0" column="0" colspan="2" >
18714
- <widget class="QCheckBox" name="strictSyncChk" >
18715
- <property name="text" >
18716
- <string>Strict s&ync</string>
18720
- <item row="1" column="0" colspan="2" >
18721
- <widget class="QCheckBox" name="syncAlwaysChk" >
18722
- <property name="enabled" >
18723
- <bool>false</bool>
18725
- <property name="text" >
18726
- <string>Sync al&ways</string>
18730
- <item row="2" column="0" colspan="3" >
18731
- <widget class="QCheckBox" name="strictAllocateChk" >
18732
- <property name="text" >
18733
- <string>St&rict allocate</string>
18737
- <item row="3" column="0" colspan="2" >
18738
- <widget class="QCheckBox" name="useSendfileChk" >
18739
- <property name="text" >
18740
- <string>Use sen&dfile</string>
18744
- <item row="4" column="0" colspan="2" >
18745
- <widget class="QLabel" name="TextLabel5_3_4" >
18746
- <property name="text" >
18747
- <string>&Maximum number of simultaneous connections:</string>
18749
- <property name="wordWrap" >
18750
- <bool>false</bool>
18752
- <property name="buddy" >
18753
- <cstring>maxConnectionsSpin</cstring>
18757
- <item row="4" column="2" >
18758
- <widget class="KIntSpinBox" name="maxConnectionsSpin" >
18759
- <property name="buttonSymbols" >
18760
- <enum>QAbstractSpinBox::UpDownArrows</enum>
18762
- <property name="maximum" >
18763
- <number>2147483647</number>
18767
- <item row="5" column="0" colspan="2" >
18768
- <widget class="QLabel" name="TextLabel5_3_2_2" >
18769
- <property name="text" >
18770
- <string>Write cache si&ze:</string>
18772
- <property name="wordWrap" >
18773
- <bool>false</bool>
18775
- <property name="buddy" >
18776
- <cstring>writeCacheSizeSpin</cstring>
18780
- <item row="5" column="2" >
18781
- <widget class="KIntSpinBox" name="writeCacheSizeSpin" >
18782
- <property name="buttonSymbols" >
18783
- <enum>QAbstractSpinBox::UpDownArrows</enum>
18785
- <property name="maximum" >
18786
- <number>2147483647</number>
18790
- <item row="5" column="3" >
18791
- <widget class="QLabel" name="TextLabel1_7" >
18792
- <property name="text" >
18793
- <string>bytes</string>
18795
- <property name="wordWrap" >
18796
- <bool>false</bool>
18800
- <item row="6" column="0" >
18801
- <widget class="QLabel" name="textLabel1" >
18802
- <property name="text" >
18803
- <string>Bloc&k size:</string>
18805
- <property name="wordWrap" >
18806
- <bool>false</bool>
18808
- <property name="buddy" >
18809
- <cstring>blockSizeSpin</cstring>
18813
- <item row="6" column="2" >
18814
- <widget class="KIntSpinBox" name="blockSizeSpin" >
18815
- <property name="buttonSymbols" >
18816
- <enum>QAbstractSpinBox::UpDownArrows</enum>
18818
- <property name="maximum" >
18819
- <number>2147483647</number>
18823
- <item row="6" column="3" >
18824
- <widget class="QLabel" name="TextLabel1_7_2" >
18825
- <property name="text" >
18826
- <string>bytes</string>
18828
- <property name="wordWrap" >
18829
- <bool>false</bool>
18833
- <item row="7" column="0" >
18834
- <widget class="QLabel" name="textLabel3" >
18835
- <property name="text" >
18836
- <string>Client-side cachin&g policy:</string>
18838
- <property name="wordWrap" >
18839
- <bool>false</bool>
18841
- <property name="buddy" >
18842
- <cstring>cscPolicyCombo</cstring>
18846
- <item row="7" column="2" colspan="2" >
18847
- <widget class="QComboBox" name="cscPolicyCombo" >
18849
- <property name="text" >
18850
- <string>manual</string>
18854
- <property name="text" >
18855
- <string>documents</string>
18859
- <property name="text" >
18860
- <string>programs</string>
18864
- <property name="text" >
18865
- <string>disable</string>
18870
- <item row="8" column="1" >
18872
- <property name="orientation" >
18873
- <enum>Qt::Vertical</enum>
18875
- <property name="sizeType" >
18876
- <enum>QSizePolicy::Expanding</enum>
18878
- <property name="sizeHint" >
18880
- <width>20</width>
18881
- <height>120</height>
18888
- <widget class="QWidget" name="tab" >
18889
- <attribute name="title" >
18890
- <string>Filenames</string>
18892
- <layout class="QHBoxLayout" >
18894
- <widget class="QGroupBox" name="GroupBox5" >
18895
- <property name="sizePolicy" >
18896
- <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
18897
- <horstretch>0</horstretch>
18898
- <verstretch>0</verstretch>
18901
- <property name="title" >
18902
- <string>Name Mangling</string>
18904
- <layout class="QGridLayout" >
18905
- <item row="0" column="0" colspan="2" >
18906
- <widget class="QCheckBox" name="mangledNamesChk" >
18907
- <property name="text" >
18908
- <string>Enable na&me mangling</string>
18912
- <item row="1" column="0" colspan="2" >
18913
- <widget class="QCheckBox" name="mangleCaseChk" >
18914
- <property name="text" >
18915
- <string>Man&gle case</string>
18919
- <item row="2" column="0" colspan="2" >
18920
- <widget class="QCheckBox" name="preserveCaseChk" >
18921
- <property name="text" >
18922
- <string>Preser&ve case</string>
18924
- <property name="checked" >
18925
- <bool>true</bool>
18929
- <item row="3" column="0" colspan="2" >
18930
- <widget class="QCheckBox" name="shortPreserveCaseChk" >
18931
- <property name="text" >
18932
- <string>Short pr&eserve case</string>
18936
- <item row="4" column="0" >
18937
- <widget class="QLabel" name="label" >
18938
- <property name="text" >
18939
- <string>Case sensi&tive</string>
18941
- <property name="buddy" >
18942
- <cstring>caseSensitiveCombo</cstring>
18946
- <item row="4" column="1" >
18947
- <widget class="QComboBox" name="caseSensitiveCombo" >
18949
- <property name="text" >
18950
- <string>Auto</string>
18954
- <property name="text" >
18955
- <string>Yes</string>
18959
- <property name="text" >
18960
- <string>No</string>
18965
- <item row="5" column="0" >
18966
- <widget class="QLabel" name="TextLabel2_3" >
18967
- <property name="text" >
18968
- <string>Defau&lt case:</string>
18970
- <property name="wordWrap" >
18971
- <bool>false</bool>
18973
- <property name="buddy" >
18974
- <cstring>defaultCaseCombo</cstring>
18978
- <item row="5" column="1" >
18979
- <widget class="QComboBox" name="defaultCaseCombo" >
18980
- <property name="sizePolicy" >
18981
- <sizepolicy vsizetype="Fixed" hsizetype="Minimum" >
18982
- <horstretch>0</horstretch>
18983
- <verstretch>0</verstretch>
18987
- <property name="text" >
18988
- <string>Lower</string>
18992
- <property name="text" >
18993
- <string>Upper</string>
18998
- <item row="6" column="0" >
18999
- <widget class="QLabel" name="TextLabel3_2_2" >
19000
- <property name="sizePolicy" >
19001
- <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
19002
- <horstretch>0</horstretch>
19003
- <verstretch>0</verstretch>
19006
- <property name="text" >
19007
- <string>Mangling cha&r:</string>
19009
- <property name="wordWrap" >
19010
- <bool>false</bool>
19012
- <property name="buddy" >
19013
- <cstring>manglingCharEdit</cstring>
19017
- <item row="6" column="1" >
19018
- <layout class="QHBoxLayout" >
19020
- <widget class="QLineEdit" name="manglingCharEdit" >
19021
- <property name="maximumSize" >
19023
- <width>40</width>
19024
- <height>16777215</height>
19031
- <property name="orientation" >
19032
- <enum>Qt::Horizontal</enum>
19034
- <property name="sizeHint" >
19036
- <width>40</width>
19037
- <height>20</height>
19044
- <item row="7" column="0" >
19045
- <widget class="QLabel" name="TextLabel1_5" >
19046
- <property name="text" >
19047
- <string>Mangled ma&p:</string>
19049
- <property name="wordWrap" >
19050
- <bool>false</bool>
19052
- <property name="buddy" >
19053
- <cstring>mangledMapEdit</cstring>
19057
- <item row="7" column="1" >
19058
- <widget class="QLineEdit" name="mangledMapEdit" />
19060
- <item row="8" column="0" >
19061
- <widget class="QLabel" name="textLabel2" >
19062
- <property name="text" >
19063
- <string>Mangling method:</string>
19065
- <property name="wordWrap" >
19066
- <bool>false</bool>
19068
- <property name="buddy" >
19069
- <cstring>manglingMethodCombo</cstring>
19073
- <item row="8" column="1" >
19074
- <widget class="QComboBox" name="manglingMethodCombo" >
19076
- <property name="text" >
19077
- <string>hash</string>
19081
- <property name="text" >
19082
- <string>hash2</string>
19091
- <layout class="QVBoxLayout" >
19093
- <widget class="QGroupBox" name="GroupBox9" >
19094
- <property name="sizePolicy" >
19095
- <sizepolicy vsizetype="Preferred" hsizetype="Expanding" >
19096
- <horstretch>0</horstretch>
19097
- <verstretch>0</verstretch>
19100
- <property name="title" >
19101
- <string>Other Options</string>
19103
- <layout class="QVBoxLayout" >
19105
- <widget class="QCheckBox" name="hideTrailingDotChk" >
19106
- <property name="text" >
19107
- <string>Hide traili&ng dot</string>
19115
- <widget class="QGroupBox" name="GroupBox15" >
19116
- <property name="title" >
19117
- <string>DOS</string>
19119
- <layout class="QVBoxLayout" >
19120
- <property name="spacing" >
19121
- <number>6</number>
19123
- <property name="leftMargin" >
19124
- <number>11</number>
19126
- <property name="topMargin" >
19127
- <number>11</number>
19129
- <property name="rightMargin" >
19130
- <number>11</number>
19132
- <property name="bottomMargin" >
19133
- <number>11</number>
19136
- <widget class="QCheckBox" name="dosFilemodeChk" >
19137
- <property name="text" >
19138
- <string>&DOS file mode</string>
19143
- <widget class="QCheckBox" name="dosFiletimesChk" >
19144
- <property name="text" >
19145
- <string>DOS f&ile times</string>
19150
- <widget class="QCheckBox" name="dosFiletimeResolutionChk" >
19151
- <property name="text" >
19152
- <string>DOS file time resolution</string>
19163
- <widget class="QWidget" name="tab" >
19164
- <attribute name="title" >
19165
- <string>Locking</string>
19167
- <layout class="QVBoxLayout" >
19169
- <widget class="QCheckBox" name="lockingChk" >
19170
- <property name="text" >
19171
- <string>Enable lock&ing</string>
19176
- <widget class="QGroupBox" name="groupBox47" >
19177
- <property name="enabled" >
19178
- <bool>false</bool>
19180
- <property name="title" >
19181
- <string>Locki&ng</string>
19183
- <layout class="QVBoxLayout" >
19185
- <layout class="QHBoxLayout" >
19187
- <widget class="QLabel" name="label_2" >
19188
- <property name="text" >
19189
- <string>S&trict locking</string>
19191
- <property name="buddy" >
19192
- <cstring>strictLockingCombo</cstring>
19197
- <widget class="QComboBox" name="strictLockingCombo" >
19199
- <property name="text" >
19200
- <string>Auto</string>
19204
- <property name="text" >
19205
- <string>Yes</string>
19209
- <property name="text" >
19210
- <string>No</string>
19217
- <property name="orientation" >
19218
- <enum>Qt::Horizontal</enum>
19220
- <property name="sizeHint" >
19222
- <width>40</width>
19223
- <height>20</height>
19231
- <widget class="QCheckBox" name="blockingLocksChk" >
19232
- <property name="text" >
19233
- <string>Blockin&g locks</string>
19238
- <widget class="QCheckBox" name="posixLockingChk" >
19239
- <property name="text" >
19240
- <string>Posi&x locking</string>
19245
- <widget class="QCheckBox" name="shareModesChk" >
19246
- <property name="text" >
19247
- <string>Share mo&des</string>
19252
- <widget class="QCheckBox" name="oplocksChk" >
19253
- <property name="text" >
19254
- <string>Issue oppo&rtunistic locks (oplocks) </string>
19259
- <widget class="QGroupBox" name="groupBox59" >
19260
- <property name="title" >
19261
- <string>O&plocks</string>
19263
- <layout class="QVBoxLayout" >
19265
- <widget class="QCheckBox" name="level2OplocksChk" >
19266
- <property name="text" >
19267
- <string>Le&vel2 oplocks</string>
19272
- <layout class="QHBoxLayout" >
19274
- <widget class="QLabel" name="TextLabel5_3_3_2_2" >
19275
- <property name="font" >
19278
- <property name="text" >
19279
- <string>Oplock contention li&mit:</string>
19281
- <property name="wordWrap" >
19282
- <bool>false</bool>
19284
- <property name="buddy" >
19285
- <cstring>oplockContentionLimitSpin</cstring>
19290
- <widget class="KIntSpinBox" name="oplockContentionLimitSpin" >
19291
- <property name="buttonSymbols" >
19292
- <enum>QAbstractSpinBox::UpDownArrows</enum>
19294
- <property name="maximum" >
19295
- <number>2147483647</number>
19301
- <property name="orientation" >
19302
- <enum>Qt::Horizontal</enum>
19304
- <property name="sizeHint" >
19306
- <width>40</width>
19307
- <height>20</height>
19318
- <widget class="QCheckBox" name="fakeOplocksChk" >
19319
- <property name="text" >
19320
- <string>Fak&e oplocks</string>
19322
- <property name="checked" >
19323
- <bool>true</bool>
19332
- <property name="orientation" >
19333
- <enum>Qt::Vertical</enum>
19335
- <property name="sizeType" >
19336
- <enum>QSizePolicy::Expanding</enum>
19338
- <property name="sizeHint" >
19340
- <width>626</width>
19341
- <height>71</height>
19348
- <widget class="QWidget" name="tab" >
19349
- <attribute name="title" >
19350
- <string>VFS</string>
19352
- <layout class="QGridLayout" >
19353
- <item row="0" column="0" >
19354
- <widget class="QLabel" name="TextLabel1_6" >
19355
- <property name="text" >
19356
- <string>Vfs ob&jects:</string>
19358
- <property name="wordWrap" >
19359
- <bool>false</bool>
19361
- <property name="buddy" >
19362
- <cstring>vfsObjectsEdit</cstring>
19366
- <item row="0" column="1" >
19367
- <widget class="QLineEdit" name="vfsObjectsEdit" />
19369
- <item row="1" column="0" >
19370
- <widget class="QLabel" name="TextLabel1_6_2" >
19371
- <property name="text" >
19372
- <string>Vfs o&ptions:</string>
19374
- <property name="wordWrap" >
19375
- <bool>false</bool>
19377
- <property name="buddy" >
19378
- <cstring>vfsOptionsEdit</cstring>
19382
- <item row="1" column="1" >
19383
- <widget class="QLineEdit" name="vfsOptionsEdit" />
19385
- <item row="2" column="1" >
19387
- <property name="orientation" >
19388
- <enum>Qt::Vertical</enum>
19390
- <property name="sizeType" >
19391
- <enum>QSizePolicy::Expanding</enum>
19393
- <property name="sizeHint" >
19395
- <width>20</width>
19396
- <height>260</height>
19403
- <widget class="QWidget" name="tab" >
19404
- <attribute name="title" >
19405
- <string>Exec</string>
19407
- <layout class="QGridLayout" >
19408
- <item row="0" column="0" >
19409
- <widget class="QLabel" name="TextLabel2" >
19410
- <property name="text" >
19411
- <string>P&reexec:</string>
19413
- <property name="wordWrap" >
19414
- <bool>false</bool>
19416
- <property name="buddy" >
19417
- <cstring>preexecEdit</cstring>
19421
- <item row="0" column="1" >
19422
- <widget class="QLineEdit" name="preexecEdit" />
19424
- <item row="1" column="0" >
19425
- <widget class="QLabel" name="TextLabel5_2" >
19426
- <property name="text" >
19427
- <string>Root pr&eexec:</string>
19429
- <property name="wordWrap" >
19430
- <bool>false</bool>
19432
- <property name="buddy" >
19433
- <cstring>postexecEdit</cstring>
19437
- <item row="1" column="1" >
19438
- <widget class="QLineEdit" name="rootPreexecEdit" />
19440
- <item row="2" column="0" >
19441
- <widget class="QLabel" name="TextLabel4" >
19442
- <property name="text" >
19443
- <string>Pos&texec:</string>
19445
- <property name="wordWrap" >
19446
- <bool>false</bool>
19448
- <property name="buddy" >
19449
- <cstring>rootPreexecEdit</cstring>
19453
- <item row="2" column="1" >
19454
- <widget class="QLineEdit" name="postexecEdit" />
19456
- <item row="3" column="0" >
19457
- <widget class="QLabel" name="TextLabel5_2_4" >
19458
- <property name="text" >
19459
- <string>Root &postexec:</string>
19461
- <property name="wordWrap" >
19462
- <bool>false</bool>
19464
- <property name="buddy" >
19465
- <cstring>rootPostexecEdit</cstring>
19469
- <item row="3" column="1" >
19470
- <widget class="QLineEdit" name="rootPostexecEdit" />
19472
- <item row="4" column="0" colspan="2" >
19473
- <widget class="QCheckBox" name="preexecCloseChk" >
19474
- <property name="text" >
19475
- <string>preexec c&lose</string>
19479
- <item row="5" column="0" colspan="2" >
19480
- <widget class="QCheckBox" name="rootPreexecCloseChk" >
19481
- <property name="text" >
19482
- <string>root pree&xec close</string>
19486
- <item row="6" column="1" >
19488
- <property name="orientation" >
19489
- <enum>Qt::Vertical</enum>
19491
- <property name="sizeType" >
19492
- <enum>QSizePolicy::Expanding</enum>
19494
- <property name="sizeHint" >
19496
- <width>16</width>
19497
- <height>284</height>
19504
- <widget class="QWidget" name="tab" >
19505
- <attribute name="title" >
19506
- <string>Misc</string>
19508
- <layout class="QGridLayout" >
19509
- <item row="0" column="0" >
19510
- <widget class="QLabel" name="TextLabel6_2" >
19511
- <property name="text" >
19512
- <string>&Volume:</string>
19514
- <property name="wordWrap" >
19515
- <bool>false</bool>
19517
- <property name="buddy" >
19518
- <cstring>volumeEdit</cstring>
19522
- <item row="0" column="1" >
19523
- <widget class="QLineEdit" name="volumeEdit" />
19525
- <item row="1" column="0" >
19526
- <widget class="QLabel" name="TextLabel6_2_2" >
19527
- <property name="text" >
19528
- <string>Fst&ype:</string>
19530
- <property name="wordWrap" >
19531
- <bool>false</bool>
19533
- <property name="buddy" >
19534
- <cstring>fstypeEdit</cstring>
19538
- <item row="1" column="1" >
19539
- <widget class="QLineEdit" name="fstypeEdit" />
19541
- <item row="2" column="0" >
19542
- <widget class="QLabel" name="TextLabel6_2_3" >
19543
- <property name="text" >
19544
- <string>Ma&gic script:</string>
19546
- <property name="wordWrap" >
19547
- <bool>false</bool>
19549
- <property name="buddy" >
19550
- <cstring>magicScriptEdit</cstring>
19554
- <item row="2" column="1" >
19555
- <widget class="QLineEdit" name="magicScriptEdit" />
19557
- <item row="3" column="0" >
19558
- <widget class="QLabel" name="TextLabel6_2_2_2" >
19559
- <property name="text" >
19560
- <string>Mag&ic output:</string>
19562
- <property name="wordWrap" >
19563
- <bool>false</bool>
19565
- <property name="buddy" >
19566
- <cstring>magicOutputEdit</cstring>
19570
- <item row="3" column="1" >
19571
- <widget class="QLineEdit" name="magicOutputEdit" />
19573
- <item row="4" column="0" >
19574
- <widget class="QLabel" name="TextLabel6_2_3_2" >
19575
- <property name="text" >
19576
- <string>Do &not descend:</string>
19578
- <property name="wordWrap" >
19579
- <bool>false</bool>
19581
- <property name="buddy" >
19582
- <cstring>dontDescendEdit</cstring>
19586
- <item row="4" column="1" >
19587
- <widget class="QLineEdit" name="dontDescendEdit" />
19589
- <item row="5" column="0" >
19590
- <widget class="QLabel" name="TextLabel6_2_3_3" >
19591
- <property name="text" >
19592
- <string>Msdfs pro&xy</string>
19594
- <property name="wordWrap" >
19595
- <bool>false</bool>
19597
- <property name="buddy" >
19598
- <cstring>msdfsProxyEdit</cstring>
19602
- <item row="5" column="1" >
19603
- <widget class="QLineEdit" name="msdfsProxyEdit" />
19605
- <item row="6" column="0" colspan="2" >
19606
- <widget class="QCheckBox" name="setDirectoryChk" >
19607
- <property name="text" >
19608
- <string>Setdir command allo&wed</string>
19612
- <item row="7" column="0" colspan="2" >
19613
- <widget class="QCheckBox" name="fakeDirectoryCreateTimesChk" >
19614
- <property name="text" >
19615
- <string>Fa&ke directory create times</string>
19619
- <item row="8" column="0" colspan="2" >
19620
- <widget class="QCheckBox" name="msdfsRootChk" >
19621
- <property name="text" >
19622
- <string>Ms&dfs root</string>
19626
- <item row="9" column="1" >
19628
- <property name="orientation" >
19629
- <enum>Qt::Vertical</enum>
19631
- <property name="sizeType" >
19632
- <enum>QSizePolicy::Expanding</enum>
19634
- <property name="sizeHint" >
19636
- <width>20</width>
19637
- <height>171</height>
19651
- <layout class="QHBoxLayout" >
19652
- <property name="spacing" >
19653
- <number>6</number>
19655
- <property name="leftMargin" >
19656
- <number>0</number>
19658
- <property name="topMargin" >
19659
- <number>0</number>
19661
- <property name="rightMargin" >
19662
- <number>0</number>
19664
- <property name="bottomMargin" >
19665
- <number>0</number>
19668
- <widget class="QPushButton" name="buttonHelp" >
19669
- <property name="text" >
19670
- <string>&Help</string>
19672
- <property name="shortcut" >
19673
- <string>F1</string>
19675
- <property name="autoDefault" >
19676
- <bool>true</bool>
19682
- <property name="orientation" >
19683
- <enum>Qt::Horizontal</enum>
19685
- <property name="sizeHint" >
19687
- <width>40</width>
19688
- <height>20</height>
19694
- <widget class="QPushButton" name="buttonOk" >
19695
- <property name="text" >
19696
- <string>&OK</string>
19698
- <property name="autoDefault" >
19699
- <bool>true</bool>
19701
- <property name="default" >
19702
- <bool>true</bool>
19707
- <widget class="QPushButton" name="buttonCancel" >
19708
- <property name="text" >
19709
- <string>&Cancel</string>
19711
- <property name="autoDefault" >
19712
- <bool>true</bool>
19722
- <class>K3ListView</class>
19723
- <extends>Q3ListView</extends>
19724
- <header>k3listview.h</header>
19727
- <class>KIntSpinBox</class>
19728
- <extends>QSpinBox</extends>
19729
- <header>knuminput.h</header>
19732
- <class>KLineEdit</class>
19733
- <extends>QLineEdit</extends>
19734
- <header>klineedit.h</header>
19737
- <class>KRestrictedLine</class>
19738
- <extends>KLineEdit</extends>
19739
- <header>krestrictedline.h</header>
19742
- <class>KUrlRequester</class>
19743
- <extends>QFrame</extends>
19744
- <header>kurlrequester.h</header>
19748
- <tabstop>volumeEdit</tabstop>
19749
- <tabstop>fstypeEdit</tabstop>
19750
- <tabstop>magicScriptEdit</tabstop>
19751
- <tabstop>magicOutputEdit</tabstop>
19752
- <tabstop>dontDescendEdit</tabstop>
19753
- <tabstop>setDirectoryChk</tabstop>
19754
- <tabstop>fakeDirectoryCreateTimesChk</tabstop>
19755
- <tabstop>msdfsRootChk</tabstop>
19756
- <tabstop>preexecEdit</tabstop>
19757
- <tabstop>rootPreexecEdit</tabstop>
19758
- <tabstop>postexecEdit</tabstop>
19759
- <tabstop>rootPostexecEdit</tabstop>
19760
- <tabstop>preexecCloseChk</tabstop>
19761
- <tabstop>rootPreexecCloseChk</tabstop>
19762
- <tabstop>lockingChk</tabstop>
19763
- <tabstop>blockingLocksChk</tabstop>
19764
- <tabstop>posixLockingChk</tabstop>
19765
- <tabstop>shareModesChk</tabstop>
19766
- <tabstop>oplocksChk</tabstop>
19767
- <tabstop>level2OplocksChk</tabstop>
19768
- <tabstop>oplockContentionLimitSpin</tabstop>
19769
- <tabstop>fakeOplocksChk</tabstop>
19770
- <tabstop>mangledNamesChk</tabstop>
19771
- <tabstop>mangleCaseChk</tabstop>
19772
- <tabstop>preserveCaseChk</tabstop>
19773
- <tabstop>shortPreserveCaseChk</tabstop>
19774
- <tabstop>defaultCaseCombo</tabstop>
19775
- <tabstop>manglingCharEdit</tabstop>
19776
- <tabstop>mangledMapEdit</tabstop>
19777
- <tabstop>manglingMethodCombo</tabstop>
19778
- <tabstop>hideTrailingDotChk</tabstop>
19779
- <tabstop>dosFilemodeChk</tabstop>
19780
- <tabstop>dosFiletimesChk</tabstop>
19781
- <tabstop>dosFiletimeResolutionChk</tabstop>
19782
- <tabstop>strictSyncChk</tabstop>
19783
- <tabstop>syncAlwaysChk</tabstop>
19784
- <tabstop>strictAllocateChk</tabstop>
19785
- <tabstop>useSendfileChk</tabstop>
19786
- <tabstop>maxConnectionsSpin</tabstop>
19787
- <tabstop>writeCacheSizeSpin</tabstop>
19788
- <tabstop>blockSizeSpin</tabstop>
19789
- <tabstop>cscPolicyCombo</tabstop>
19790
- <tabstop>inheritPermissionsChk</tabstop>
19791
- <tabstop>deleteReadonlyChk</tabstop>
19792
- <tabstop>mapArchiveChk</tabstop>
19793
- <tabstop>mapHiddenChk</tabstop>
19794
- <tabstop>mapSystemChk</tabstop>
19795
- <tabstop>forceCreateModeEdit</tabstop>
19796
- <tabstop>forceSecurityModeEdit</tabstop>
19797
- <tabstop>forceDirectoryModeEdit</tabstop>
19798
- <tabstop>forceDirectorySecurityModeEdit</tabstop>
19799
- <tabstop>ntAclSupportChk</tabstop>
19800
- <tabstop>inheritAclsChk</tabstop>
19801
- <tabstop>profileAclsChk</tabstop>
19802
- <tabstop>mapAclInheritChk</tabstop>
19803
- <tabstop>forceUnknownAclUserEdit</tabstop>
19804
- <tabstop>createMaskEdit</tabstop>
19805
- <tabstop>securityMaskEdit</tabstop>
19806
- <tabstop>directoryMaskEdit</tabstop>
19807
- <tabstop>directorySecurityMaskEdit</tabstop>
19808
- <tabstop>advancedDumpTab</tabstop>
19809
- <tabstop>hiddenListView</tabstop>
19810
- <tabstop>hiddenChk</tabstop>
19811
- <tabstop>vetoChk</tabstop>
19812
- <tabstop>vetoOplockChk</tabstop>
19813
- <tabstop>hiddenEdit</tabstop>
19814
- <tabstop>vetoEdit</tabstop>
19815
- <tabstop>vetoOplockEdit</tabstop>
19816
- <tabstop>hideUnreadableChk</tabstop>
19817
- <tabstop>hideUnwriteableFilesChk</tabstop>
19818
- <tabstop>hideDotFilesChk</tabstop>
19819
- <tabstop>hideSpecialFilesChk</tabstop>
19820
- <tabstop>pathUrlRq</tabstop>
19821
- <tabstop>homeChk</tabstop>
19822
- <tabstop>shareNameEdit</tabstop>
19823
- <tabstop>commentEdit</tabstop>
19824
- <tabstop>readOnlyBaseChk</tabstop>
19825
- <tabstop>publicBaseChk</tabstop>
19826
- <tabstop>browseableBaseChk</tabstop>
19827
- <tabstop>availableBaseChk</tabstop>
19828
- <tabstop>guestAccountCombo</tabstop>
19829
- <tabstop>guestOnlyChk</tabstop>
19830
- <tabstop>hostsAllowEdit</tabstop>
19831
- <tabstop>hostsDenyEdit</tabstop>
19832
- <tabstop>followSymlinksChk</tabstop>
19833
- <tabstop>wideLinksChk</tabstop>
19834
- <tabstop>userNameEdit</tabstop>
19835
- <tabstop>onlyUserChk</tabstop>
19836
- <tabstop>_tabs</tabstop>
19837
- <tabstop>vfsObjectsEdit</tabstop>
19838
- <tabstop>vfsOptionsEdit</tabstop>
19839
- <tabstop>buttonHelp</tabstop>
19840
- <tabstop>buttonOk</tabstop>
19841
- <tabstop>buttonCancel</tabstop>
19846
- <sender>buttonCancel</sender>
19847
- <signal>clicked()</signal>
19848
- <receiver>KcmShareDlg</receiver>
19849
- <slot>reject()</slot>
19851
- <hint type="sourcelabel" >
19855
- <hint type="destinationlabel" >
19862
- <sender>shareNameEdit</sender>
19863
- <signal>textChanged(QString)</signal>
19864
- <receiver>KcmShareDlg</receiver>
19865
- <slot>checkValues()</slot>
19867
- <hint type="sourcelabel" >
19871
- <hint type="destinationlabel" >
19878
- <sender>buttonOk</sender>
19879
- <signal>clicked()</signal>
19880
- <receiver>KcmShareDlg</receiver>
19881
- <slot>accept()</slot>
19883
- <hint type="sourcelabel" >
19887
- <hint type="destinationlabel" >
19894
- <sender>homeChk</sender>
19895
- <signal>toggled(bool)</signal>
19896
- <receiver>KcmShareDlg</receiver>
19897
- <slot>homeChkToggled(bool)</slot>
19899
- <hint type="sourcelabel" >
19903
- <hint type="destinationlabel" >
19910
- <sender>strictSyncChk</sender>
19911
- <signal>toggled(bool)</signal>
19912
- <receiver>syncAlwaysChk</receiver>
19913
- <slot>setEnabled(bool)</slot>
19915
- <hint type="sourcelabel" >
19919
- <hint type="destinationlabel" >
19926
- <sender>inheritPermissionsChk</sender>
19927
- <signal>toggled(bool)</signal>
19928
- <receiver>forceCreateModeEdit</receiver>
19929
- <slot>setDisabled(bool)</slot>
19931
- <hint type="sourcelabel" >
19935
- <hint type="destinationlabel" >
19942
- <sender>inheritPermissionsChk</sender>
19943
- <signal>toggled(bool)</signal>
19944
- <receiver>forceCreateModeBtn</receiver>
19945
- <slot>setDisabled(bool)</slot>
19947
- <hint type="sourcelabel" >
19951
- <hint type="destinationlabel" >
19958
- <sender>inheritPermissionsChk</sender>
19959
- <signal>toggled(bool)</signal>
19960
- <receiver>forceDirectoryModeEdit</receiver>
19961
- <slot>setDisabled(bool)</slot>
19963
- <hint type="sourcelabel" >
19967
- <hint type="destinationlabel" >
19974
- <sender>inheritPermissionsChk</sender>
19975
- <signal>toggled(bool)</signal>
19976
- <receiver>forceDirectoryModeBtn</receiver>
19977
- <slot>setDisabled(bool)</slot>
19979
- <hint type="sourcelabel" >
19983
- <hint type="destinationlabel" >
19990
- <sender>inheritPermissionsChk</sender>
19991
- <signal>toggled(bool)</signal>
19992
- <receiver>createMaskEdit</receiver>
19993
- <slot>setDisabled(bool)</slot>
19995
- <hint type="sourcelabel" >
19999
- <hint type="destinationlabel" >
20006
- <sender>inheritPermissionsChk</sender>
20007
- <signal>toggled(bool)</signal>
20008
- <receiver>createMaskBtn</receiver>
20009
- <slot>setDisabled(bool)</slot>
20011
- <hint type="sourcelabel" >
20015
- <hint type="destinationlabel" >
20022
- <sender>inheritPermissionsChk</sender>
20023
- <signal>toggled(bool)</signal>
20024
- <receiver>directoryMaskEdit</receiver>
20025
- <slot>setDisabled(bool)</slot>
20027
- <hint type="sourcelabel" >
20031
- <hint type="destinationlabel" >
20038
- <sender>inheritPermissionsChk</sender>
20039
- <signal>toggled(bool)</signal>
20040
- <receiver>directoryMaskBtn</receiver>
20041
- <slot>setDisabled(bool)</slot>
20043
- <hint type="sourcelabel" >
20047
- <hint type="destinationlabel" >
20054
- <sender>followSymlinksChk</sender>
20055
- <signal>toggled(bool)</signal>
20056
- <receiver>wideLinksChk</receiver>
20057
- <slot>setChecked(bool)</slot>
20059
- <hint type="sourcelabel" >
20063
- <hint type="destinationlabel" >
20070
- <sender>followSymlinksChk</sender>
20071
- <signal>toggled(bool)</signal>
20072
- <receiver>wideLinksChk</receiver>
20073
- <slot>setEnabled(bool)</slot>
20075
- <hint type="sourcelabel" >
20079
- <hint type="destinationlabel" >
20086
- <sender>publicBaseChk</sender>
20087
- <signal>toggled(bool)</signal>
20088
- <receiver>KcmShareDlg</receiver>
20089
- <slot>publicBaseChk_toggled(bool)</slot>
20091
- <hint type="sourcelabel" >
20095
- <hint type="destinationlabel" >
20102
- <sender>pathUrlRq</sender>
20103
- <signal>textChanged(QString)</signal>
20104
- <receiver>KcmShareDlg</receiver>
20105
- <slot>pathUrlRq_textChanged(QString)</slot>
20107
- <hint type="sourcelabel" >
20111
- <hint type="destinationlabel" >
20118
- <sender>lockingChk</sender>
20119
- <signal>toggled(bool)</signal>
20120
- <receiver>KcmShareDlg</receiver>
20121
- <slot>lockingChk_toggled(bool)</slot>
20123
- <hint type="sourcelabel" >
20127
- <hint type="destinationlabel" >
20134
- <sender>vetoOplockChk</sender>
20135
- <signal>stateChanged(int)</signal>
20136
- <receiver>KcmShareDlg</receiver>
20137
- <slot>changedSlot()</slot>
20139
- <hint type="sourcelabel" >
20143
- <hint type="destinationlabel" >
20150
- <sender>lockingChk</sender>
20151
- <signal>toggled(bool)</signal>
20152
- <receiver>groupBox47</receiver>
20153
- <slot>setEnabled(bool)</slot>
20155
- <hint type="sourcelabel" >
20159
- <hint type="destinationlabel" >
20166
- <sender>oplockContentionLimitSpin</sender>
20167
- <signal>valueChanged(int)</signal>
20168
- <receiver>KcmShareDlg</receiver>
20169
- <slot>oplockContentionLimitSpin_valueChanged(int)</slot>
20171
- <hint type="sourcelabel" >
20175
- <hint type="destinationlabel" >
20182
- <sender>fakeOplocksChk</sender>
20183
- <signal>toggled(bool)</signal>
20184
- <receiver>KcmShareDlg</receiver>
20185
- <slot>fakeOplocksChk_toggled(bool)</slot>
20187
- <hint type="sourcelabel" >
20191
- <hint type="destinationlabel" >
20198
- <sender>oplocksChk</sender>
20199
- <signal>toggled(bool)</signal>
20200
- <receiver>groupBox59</receiver>
20201
- <slot>setEnabled(bool)</slot>
20203
- <hint type="sourcelabel" >
20207
- <hint type="destinationlabel" >
20214
- <sender>forceCreateModeBtn</sender>
20215
- <signal>clicked()</signal>
20216
- <receiver>KcmShareDlg</receiver>
20217
- <slot>accessModifierBtnClicked()</slot>
20219
- <hint type="sourcelabel" >
20223
- <hint type="destinationlabel" >
20230
- <sender>forceSecurityModeBtn</sender>
20231
- <signal>clicked()</signal>
20232
- <receiver>KcmShareDlg</receiver>
20233
- <slot>accessModifierBtnClicked()</slot>
20235
- <hint type="sourcelabel" >
20239
- <hint type="destinationlabel" >
20246
- <sender>forceDirectoryModeBtn</sender>
20247
- <signal>clicked()</signal>
20248
- <receiver>KcmShareDlg</receiver>
20249
- <slot>accessModifierBtnClicked()</slot>
20251
- <hint type="sourcelabel" >
20255
- <hint type="destinationlabel" >
20262
- <sender>forceDirectorySecurityModeBtn</sender>
20263
- <signal>clicked()</signal>
20264
- <receiver>KcmShareDlg</receiver>
20265
- <slot>accessModifierBtnClicked()</slot>
20267
- <hint type="sourcelabel" >
20271
- <hint type="destinationlabel" >
20278
- <sender>createMaskBtn</sender>
20279
- <signal>clicked()</signal>
20280
- <receiver>KcmShareDlg</receiver>
20281
- <slot>accessModifierBtnClicked()</slot>
20283
- <hint type="sourcelabel" >
20287
- <hint type="destinationlabel" >
20294
- <sender>securityMaskBtn</sender>
20295
- <signal>clicked()</signal>
20296
- <receiver>KcmShareDlg</receiver>
20297
- <slot>accessModifierBtnClicked()</slot>
20299
- <hint type="sourcelabel" >
20303
- <hint type="destinationlabel" >
20310
- <sender>directoryMaskBtn</sender>
20311
- <signal>clicked()</signal>
20312
- <receiver>KcmShareDlg</receiver>
20313
- <slot>accessModifierBtnClicked()</slot>
20315
- <hint type="sourcelabel" >
20319
- <hint type="destinationlabel" >
20326
- <sender>directorySecurityMaskBtn</sender>
20327
- <signal>clicked()</signal>
20328
- <receiver>KcmShareDlg</receiver>
20329
- <slot>accessModifierBtnClicked()</slot>
20331
- <hint type="sourcelabel" >
20335
- <hint type="destinationlabel" >
20342
- <sender>storeDosAttributesChk</sender>
20343
- <signal>toggled(bool)</signal>
20344
- <receiver>KcmShareDlg</receiver>
20345
- <slot>storeDosAttributesChk_toggled(bool)</slot>
20347
- <hint type="sourcelabel" >
20351
- <hint type="destinationlabel" >
20358
- <sender>buttonHelp</sender>
20359
- <signal>clicked()</signal>
20360
- <receiver>KcmShareDlg</receiver>
20361
- <slot>buttonHelp_clicked()</slot>
20363
- <hint type="sourcelabel" >
20367
- <hint type="destinationlabel" >
20375
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/smbconfconfigwidget.cpp
20376
===================================================================
20377
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/smbconfconfigwidget.cpp 2011-01-19 17:21:04.000000000 -0500
20378
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
20380
-/***************************************************************************
20381
- smbconfconfigwidget.cpp - description
20382
- -------------------
20383
- begin : Tue May 16 2003
20384
- copyright : (C) 2003 by Jan Sch�er
20385
- email : janschaefer@users.sourceforge.net
20386
- ***************************************************************************/
20388
-/******************************************************************************
20390
- * This file is part of KSambaPlugin. *
20392
- * KSambaPlugin is free software; you can redistribute it and/or modify *
20393
- * it under the terms of the GNU General Public License as published by *
20394
- * the Free Software Foundation; either version 2 of the License, or *
20395
- * (at your option) any later version. *
20397
- * KSambaPlugin is distributed in the hope that it will be useful, *
20398
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
20399
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
20400
- * GNU General Public License for more details. *
20402
- * You should have received a copy of the GNU General Public License *
20403
- * along with KSambaPlugin; if not, write to the Free Software *
20404
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
20406
- ******************************************************************************/
20408
-#include <qfileinfo.h>
20409
-#include <qlayout.h>
20410
-#include <qpushbutton.h>
20411
-#include <qlabel.h>
20412
-//Added by qt3to4:
20413
-#include <QVBoxLayout>
20414
-#include <QHBoxLayout>
20416
-#include <kfiledialog.h>
20417
-#include <klocale.h>
20418
-#include <kmessagebox.h>
20421
-#include "smbconfconfigwidget.h"
20423
-SmbConfConfigWidget::SmbConfConfigWidget(QWidget* parent)
20424
- : QWidget(parent,"configWidget")
20427
- QVBoxLayout *layout = new QVBoxLayout(this);
20428
- layout->setSpacing(5);
20430
- QLabel *lbl = new QLabel(i18n("<p>The SAMBA configuration file <strong>'smb.conf'</strong>" \
20431
- " could not be found;</p>" \
20432
- "make sure you have SAMBA installed.\n\n"), this);
20434
- QHBoxLayout *hbox = new QHBoxLayout;
20435
- QPushButton *btn = new QPushButton(i18n("Specify Location"), this);
20436
- connect(btn, SIGNAL(pressed()), this, SLOT( btnPressed()));
20438
- btn->setDefault(false);
20439
- btn->setAutoDefault(false);
20441
- hbox->addStretch();
20442
- hbox->addWidget(btn);
20444
- layout->addWidget(lbl);
20445
- layout->addLayout(hbox);
20446
- layout->addStretch();
20449
-void SmbConfConfigWidget::btnPressed() {
20450
- QString smbConf = KFileDialog::getOpenFileName(KUrl("file:///"),
20451
- i18n("smb.conf|Samba conf. File\n"
20452
- "*|All Files"),0,i18n("Get smb.conf Location"));
20454
- if (smbConf.isEmpty())
20456
- if ( ! QFileInfo(smbConf).isReadable() ) {
20457
- KMessageBox::sorry(this,i18n("<qt>The file <i>%1</i> could not be read.</qt>", smbConf),i18n("Could Not Read File"));
20461
- KConfig config("ksambaplugin");
20463
- KConfigGroup group = config.group("KSambaKonqiPlugin");
20464
- group.writeEntry("smb.conf",smbConf);
20467
- emit smbConfChoosed(smbConf);
20471
-#include "smbconfconfigwidget.moc"
20472
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/smbconfconfigwidget.h
20473
===================================================================
20474
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/smbconfconfigwidget.h 2011-01-19 17:21:04.000000000 -0500
20475
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
20477
-/***************************************************************************
20478
- smbconfconfigwidget.h - description
20479
- -------------------
20480
- begin : Tue May 16 2003
20481
- copyright : (C) 2003 by Jan Schäfer
20482
- email : janschaefer@users.sourceforge.net
20483
- ***************************************************************************/
20485
-/******************************************************************************
20487
- * This file is part of KSambaPlugin. *
20489
- * KSambaPlugin is free software; you can redistribute it and/or modify *
20490
- * it under the terms of the GNU General Public License as published by *
20491
- * the Free Software Foundation; either version 2 of the License, or *
20492
- * (at your option) any later version. *
20494
- * KSambaPlugin is distributed in the hope that it will be useful, *
20495
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
20496
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
20497
- * GNU General Public License for more details. *
20499
- * You should have received a copy of the GNU General Public License *
20500
- * along with KSambaPlugin; if not, write to the Free Software *
20501
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
20503
- ******************************************************************************/
20505
-#ifndef SMBCONFCONFIGWIDGET_H
20506
-#define SMBCONFCONFIGWIDGET_H
20508
-#include <qwidget.h>
20510
-class SmbConfConfigWidget : public QWidget {
20513
- SmbConfConfigWidget(QWidget*);
20516
- void btnPressed();
20518
- void smbConfChoosed(const QString &);
20523
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/smbpasswdfile.cpp
20524
===================================================================
20525
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/smbpasswdfile.cpp 2011-01-19 17:21:04.000000000 -0500
20526
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
20528
-/***************************************************************************
20529
- smbpasswdfile.cpp - description
20530
- -------------------
20531
- begin : Tue June 6 2002
20532
- copyright : (C) 2002 by Jan Schäfer
20533
- email : janschaefer@users.sourceforge.net
20534
- ***************************************************************************/
20536
-/******************************************************************************
20538
- * This file is part of KSambaPlugin. *
20540
- * KSambaPlugin is free software; you can redistribute it and/or modify *
20541
- * it under the terms of the GNU General Public License as published by *
20542
- * the Free Software Foundation; either version 2 of the License, or *
20543
- * (at your option) any later version. *
20545
- * KSambaPlugin is distributed in the hope that it will be useful, *
20546
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
20547
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
20548
- * GNU General Public License for more details. *
20550
- * You should have received a copy of the GNU General Public License *
20551
- * along with KSambaPlugin; if not, write to the Free Software *
20552
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
20554
- ******************************************************************************/
20556
-#include <qstring.h>
20557
-#include <qfile.h>
20558
-#include <qtextstream.h>
20559
-#include <qstringlist.h>
20562
-#include <kdebug.h>
20563
-#include <kpassworddialog.h>
20564
-#include <klocale.h>
20565
-#include <k3process.h>
20566
-#include <kprocess.h>
20568
-#include "sambafile.h"
20569
-#include "smbpasswdfile.h"
20570
-#include "passwd.h"
20573
-QStringList SambaUserList::getUserNames()
20575
- QStringList list;
20578
- for ( user = first(); user; user = next() )
20580
- list.append(user->name);
20587
-SmbPasswdFile::SmbPasswdFile() {
20591
-SmbPasswdFile::SmbPasswdFile(const KUrl & url)
20596
-SmbPasswdFile::~SmbPasswdFile()
20600
-void SmbPasswdFile::setUrl(const KUrl & url) {
20605
- * Returns a list of all users stored in
20606
- * the smbpasswd file
20608
-SambaUserList SmbPasswdFile::getSambaUserList()
20610
- QFile f(_url.path());
20612
- SambaUserList list;
20614
- if ( f.open(QIODevice::ReadOnly) )
20616
- QTextStream t( &f );
20618
- while ( !t.atEnd() )
20620
- s = t.readLine().trimmed();
20622
- // Ignore comments
20623
- if (s.left(1)=="#")
20626
- QStringList l = QStringList::split(":",s);
20628
- SambaUser* user = new SambaUser(l[0],l[1].toInt());
20629
- user->gid = getUserGID(l[0]);
20630
- user->isUserAccount = l[4].contains('U');
20631
- user->hasNoPassword = l[4].contains('N');;
20632
- user->isDisabled = l[4].contains('D');;
20633
- user->isWorkstationTrustAccount = l[4].contains('W');;
20634
- list.append(user);
20642
-bool SmbPasswdFile::executeSmbpasswd(const QStringList & args) {
20644
- p << "smbpasswd" << args;
20646
- connect( &p, SIGNAL(receivedStdout(K3Process*,char*,int)),
20647
- this, SLOT(smbpasswdStdOutReceived(K3Process*,char*,int)));
20649
- _smbpasswdOutput = "";
20651
- bool result = p.start(K3Process::Block,K3Process::Stdout);
20655
- kDebug(5009) << _smbpasswdOutput;
20662
- * Tries to add the passed user to the smbpasswd file
20663
- * returns true if successful otherwise false
20665
-bool SmbPasswdFile::addUser(const SambaUser & user,const QString & password)
20668
- p << "smbpasswd" << "-s" << "-a" << user.name;
20670
- // connect( &p, SIGNAL(receivedStdout(K3Process*,char*,int)),
20671
- // this, SLOT(smbpasswdStdOutReceived(K3Process*,char*,int)));
20673
- _smbpasswdOutput = "";
20674
- QString pw = password;
20678
- if (!p.waitForStarted()) {
20679
- kWarning(5009) << "smbpasswd could not be started!" << endl;
20683
- kDebug(5009) << "smbpasswd started" << endl;
20685
- p.write(pw.toLocal8Bit());
20686
- p.write(pw.toLocal8Bit());
20688
- p.closeWriteChannel();
20690
- if (!p.waitForFinished())
20693
- kDebug(5009) << "smbpasswd finished" << endl;
20699
- * Tries to remove the passed user from the smbpasswd file
20700
- * returns true if successful otherwise false
20702
-bool SmbPasswdFile::removeUser(const SambaUser & user)
20705
- l << "-x" << user.name;
20706
- return executeSmbpasswd(l);
20709
-bool SmbPasswdFile::changePassword(const SambaUser & user, const QString & newPassword)
20711
- return addUser(user,newPassword);
20715
-void SmbPasswdFile::smbpasswdStdOutReceived(K3Process *, char *buffer, int buflen)
20717
- _smbpasswdOutput+=QString::fromLatin1(buffer,buflen);
20722
- * Returns the Url of the smbpasswd file
20723
- * specified in the [global] section of
20724
- * the smb.conf file.
20725
- * If there is no entry in the [global] section
20726
- * it tries to guess the location.
20728
-KUrl SmbPasswdFile::getUrlFromSambaFile(const SambaFile * /*file*/)
20730
- kWarning() << "SmbPasswdFile::getUrlFromSambaFile unimplemeneted!";
20734
-bool SmbPasswdFile::enableUser(const SambaUser & user) {
20736
- l << "-e" << user.name;
20737
- return executeSmbpasswd(l);
20740
-bool SmbPasswdFile::disableUser(const SambaUser & user) {
20742
- l << "-d" << user.name;
20743
- return executeSmbpasswd(l);
20746
-bool SmbPasswdFile::setNoPassword(const SambaUser & user) {
20748
- l << "-n" << user.name;
20749
- return executeSmbpasswd(l);
20752
-bool SmbPasswdFile::setMachineTrustAccount(const SambaUser & user) {
20754
- l << "-m" << user.name;
20755
- return executeSmbpasswd(l);
20758
-bool SmbPasswdFile::joinADomain(const QString & domain, const QString & server,
20759
- const QString & user, const QString & password) {
20761
- l << "-j" << domain;
20762
- l << "-r" << server;
20763
- l << "-U" << user << "%" << password;
20764
- return executeSmbpasswd(l);
20768
-#include "smbpasswdfile.moc"
20769
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/smbpasswdfile.h
20770
===================================================================
20771
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/smbpasswdfile.h 2011-01-19 17:21:04.000000000 -0500
20772
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
20774
-/***************************************************************************
20775
- smbpasswdfile.h - description
20776
- -------------------
20777
- begin : Tue June 6 2002
20778
- copyright : (C) 2002 by Jan Schäfer
20779
- email : janschaefer@users.sourceforge.net
20780
- ***************************************************************************/
20782
-/******************************************************************************
20784
- * This file is part of KSambaPlugin. *
20786
- * KSambaPlugin is free software; you can redistribute it and/or modify *
20787
- * it under the terms of the GNU General Public License as published by *
20788
- * the Free Software Foundation; either version 2 of the License, or *
20789
- * (at your option) any later version. *
20791
- * KSambaPlugin is distributed in the hope that it will be useful, *
20792
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
20793
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
20794
- * GNU General Public License for more details. *
20796
- * You should have received a copy of the GNU General Public License *
20797
- * along with KSambaPlugin; if not, write to the Free Software *
20798
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
20800
- ******************************************************************************/
20802
-#ifndef SMBPASSWDFILE_H
20803
-#define SMBPASSWDFILE_H
20807
- *@author Jan Schäfer
20810
-#include <qstring.h>
20811
-//Added by qt3to4:
20812
-#include <Q3PtrList>
20819
- * Simple class to store a Samba User
20824
- SambaUser(const QString & aName = QString(), int anUid = -1) {name = aName; uid = anUid;}
20829
- bool isUserAccount;
20830
- bool hasNoPassword;
20832
- bool isWorkstationTrustAccount;
20836
- * A QPtrList of SambaUser
20838
-class SambaUserList : public Q3PtrList<SambaUser>
20841
- QStringList getUserNames();
20845
- * This class represents the SAMBA smbpasswd file.
20847
- * - getting a list of all SAMBA users
20848
- * - adding a new user -> uses smbpasswd program
20849
- * - removing an existing user -> uses smbpasswd program
20851
-class SmbPasswdFile : public QObject
20856
- SmbPasswdFile(const KUrl &);
20857
- ~SmbPasswdFile();
20859
- void setUrl(const KUrl &);
20862
- * Returns a list of all users stored in
20863
- * the smbpasswd file
20865
- SambaUserList getSambaUserList();
20868
- * Calls smbpasswd with the given arguments
20870
- bool executeSmbpasswd(const QStringList & args);
20873
- * Tries to add the passed user to the smbpasswd file
20874
- * returns true if successful otherwise false
20876
- bool addUser(const SambaUser &, const QString & password);
20879
- * Tries to remove the passed user from the smbpasswd file
20880
- * returns true if successful otherwise false
20882
- bool removeUser(const SambaUser &);
20885
- * Tries to change the password of the passed user
20886
- * if it fails returns false otherwise true
20888
- bool changePassword(const SambaUser &, const QString & password);
20890
- bool enableUser(const SambaUser &);
20892
- bool disableUser(const SambaUser &);
20894
- bool setNoPassword(const SambaUser &);
20896
- bool setMachineTrustAccount(const SambaUser &);
20898
- bool joinADomain(const QString &, const QString &, const QString &, const QString &);
20901
- * Returns the Url of the smbpasswd file
20902
- * specified in the [global] section of
20903
- * the smb.conf file.
20904
- * If there is no entry in the [global] section
20905
- * it tries to guess the location.
20907
- static KUrl getUrlFromSambaFile(const SambaFile *file);
20910
- QString _smbpasswdOutput;
20913
- void smbpasswdStdOutReceived(K3Process*,char*,int);
20917
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/socketoptionsdlg.ui
20918
===================================================================
20919
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/socketoptionsdlg.ui 2011-01-19 17:21:04.000000000 -0500
20920
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
20922
-<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
20923
-<class>SocketOptionsDlg</class>
20925
-/******************************************************************************
20927
- * This file is part of KSambaPlugin. *
20929
- * KSambaPlugin is free software; you can redistribute it and/or modify *
20930
- * it under the terms of the GNU General Public License as published by *
20931
- * the Free Software Foundation; either version 2 of the License, or *
20932
- * (at your option) any later version. *
20934
- * KSambaPlugin is distributed in the hope that it will be useful, *
20935
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
20936
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
20937
- * GNU General Public License for more details. *
20939
- * You should have received a copy of the GNU General Public License *
20940
- * along with KSambaPlugin; if not, write to the Free Software *
20941
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
20943
- ******************************************************************************/
20945
-<widget class="QDialog">
20946
- <property name="name">
20947
- <cstring>SocketOptionsDlg</cstring>
20949
- <property name="geometry">
20953
- <width>457</width>
20954
- <height>240</height>
20957
- <property name="windowTitle">
20958
- <string>Socket Options</string>
20960
- <property name="sizeGripEnabled">
20961
- <bool>true</bool>
20964
- <property name="name">
20965
- <cstring>unnamed</cstring>
20967
- <property name="margin">
20968
- <number>11</number>
20970
- <property name="spacing">
20971
- <number>6</number>
20973
- <widget class="QLayoutWidget">
20974
- <property name="name">
20975
- <cstring>Layout106</cstring>
20978
- <property name="name">
20979
- <cstring>unnamed</cstring>
20981
- <property name="margin">
20982
- <number>0</number>
20984
- <property name="spacing">
20985
- <number>6</number>
20987
- <widget class="QCheckBox" row="2" column="1">
20988
- <property name="name">
20989
- <cstring>SO_SNDLOWATChk</cstring>
20991
- <property name="text">
20992
- <string>SO_SNDLOWAT:</string>
20995
- <widget class="QCheckBox" row="2" column="0">
20996
- <property name="name">
20997
- <cstring>IPTOS_THROUGHPUTChk</cstring>
20999
- <property name="text">
21000
- <string>IPTOS_THROUGHPUT</string>
21003
- <widget class="QCheckBox" row="0" column="1">
21004
- <property name="name">
21005
- <cstring>SO_SNDBUFChk</cstring>
21007
- <property name="text">
21008
- <string>SO_SNDBUF:</string>
21011
- <widget class="QCheckBox" row="3" column="0">
21012
- <property name="name">
21013
- <cstring>SO_KEEPALIVEChk</cstring>
21015
- <property name="text">
21016
- <string>SO_KEEPALIVE</string>
21019
- <widget class="QCheckBox" row="1" column="1">
21020
- <property name="name">
21021
- <cstring>SO_RCVBUFChk</cstring>
21023
- <property name="text">
21024
- <string>SO_RCVBUF:</string>
21027
- <widget class="QSpinBox" row="0" column="2">
21028
- <property name="name">
21029
- <cstring>SO_SNDBUFSpin</cstring>
21031
- <property name="enabled">
21032
- <bool>false</bool>
21034
- <property name="maximum">
21035
- <number>100000</number>
21038
- <widget class="QSpinBox" row="3" column="2">
21039
- <property name="name">
21040
- <cstring>SO_RCVLOWATSpin</cstring>
21042
- <property name="enabled">
21043
- <bool>false</bool>
21045
- <property name="maximum">
21046
- <number>100000</number>
21049
- <widget class="QCheckBox" row="5" column="0">
21050
- <property name="name">
21051
- <cstring>SO_BROADCASTChk</cstring>
21053
- <property name="text">
21054
- <string>SO_BROADCAST</string>
21057
- <widget class="QCheckBox" row="1" column="0">
21058
- <property name="name">
21059
- <cstring>IPTOS_LOWDELAYChk</cstring>
21061
- <property name="text">
21062
- <string>IPTOS_LOWDELAY</string>
21065
- <widget class="QCheckBox" row="0" column="0">
21066
- <property name="name">
21067
- <cstring>TCP_NODELAYChk</cstring>
21069
- <property name="text">
21070
- <string>TCP_NODELAY</string>
21073
- <widget class="QCheckBox" row="3" column="1">
21074
- <property name="name">
21075
- <cstring>SO_RCVLOWATChk</cstring>
21077
- <property name="text">
21078
- <string>SO_RCVLOWAT:</string>
21081
- <widget class="QSpinBox" row="1" column="2">
21082
- <property name="name">
21083
- <cstring>SO_RCVBUFSpin</cstring>
21085
- <property name="enabled">
21086
- <bool>false</bool>
21088
- <property name="maximum">
21089
- <number>100000</number>
21092
- <widget class="QSpinBox" row="2" column="2">
21093
- <property name="name">
21094
- <cstring>SO_SNDLOWATSpin</cstring>
21096
- <property name="enabled">
21097
- <bool>false</bool>
21099
- <property name="maximum">
21100
- <number>100000</number>
21103
- <widget class="QCheckBox" row="4" column="0">
21104
- <property name="name">
21105
- <cstring>SO_REUSEADDRChk</cstring>
21107
- <property name="text">
21108
- <string>SO_REUSEADDR</string>
21113
- <widget class="QFrame">
21114
- <property name="name">
21115
- <cstring>Frame8</cstring>
21117
- <property name="frameShape">
21118
- <enum>HLine</enum>
21120
- <property name="frameShadow">
21121
- <enum>Sunken</enum>
21124
- <widget class="QLayoutWidget">
21125
- <property name="name">
21126
- <cstring>Layout1</cstring>
21129
- <property name="name">
21130
- <cstring>unnamed</cstring>
21132
- <property name="margin">
21133
- <number>0</number>
21135
- <property name="spacing">
21136
- <number>6</number>
21138
- <widget class="QPushButton">
21139
- <property name="name">
21140
- <cstring>buttonHelp</cstring>
21142
- <property name="text">
21143
- <string>&Help</string>
21145
- <property name="accel">
21146
- <string>F1</string>
21148
- <property name="autoDefault">
21149
- <bool>true</bool>
21153
- <property name="name">
21154
- <cstring>Qt::Horizontal Spacing2</cstring>
21156
- <property name="orientation">
21157
- <enum>Qt::Horizontal</enum>
21159
- <property name="sizeType">
21160
- <enum>Expanding</enum>
21162
- <property name="sizeHint">
21164
- <width>20</width>
21165
- <height>20</height>
21169
- <widget class="QPushButton">
21170
- <property name="name">
21171
- <cstring>buttonOk</cstring>
21173
- <property name="text">
21174
- <string>&OK</string>
21176
- <property name="autoDefault">
21177
- <bool>true</bool>
21179
- <property name="default">
21180
- <bool>true</bool>
21183
- <widget class="QPushButton">
21184
- <property name="name">
21185
- <cstring>buttonCancel</cstring>
21187
- <property name="text">
21188
- <string>&Cancel</string>
21190
- <property name="autoDefault">
21191
- <bool>true</bool>
21200
- <sender>buttonOk</sender>
21201
- <signal>clicked()</signal>
21202
- <receiver>SocketOptionsDlg</receiver>
21203
- <slot>accept()</slot>
21206
- <sender>buttonCancel</sender>
21207
- <signal>clicked()</signal>
21208
- <receiver>SocketOptionsDlg</receiver>
21209
- <slot>reject()</slot>
21212
- <sender>SO_RCVLOWATChk</sender>
21213
- <signal>toggled(bool)</signal>
21214
- <receiver>SO_RCVLOWATSpin</receiver>
21215
- <slot>setEnabled(bool)</slot>
21218
- <sender>SO_SNDLOWATChk</sender>
21219
- <signal>toggled(bool)</signal>
21220
- <receiver>SO_SNDLOWATSpin</receiver>
21221
- <slot>setEnabled(bool)</slot>
21224
- <sender>SO_RCVBUFChk</sender>
21225
- <signal>toggled(bool)</signal>
21226
- <receiver>SO_RCVBUFSpin</receiver>
21227
- <slot>setEnabled(bool)</slot>
21230
- <sender>SO_SNDBUFChk</sender>
21231
- <signal>toggled(bool)</signal>
21232
- <receiver>SO_SNDBUFSpin</receiver>
21233
- <slot>setEnabled(bool)</slot>
21237
- <include location="local" impldecl="in implementation">assert.h</include>
21238
- <include location="local" impldecl="in implementation">sambashare.h</include>
21239
- <include location="local" impldecl="in implementation">socketoptionsdlg.ui.h</include>
21242
- <forward>class SambaShare;</forward>
21245
- <variable>SambaShare* _share;</variable>
21248
- <slot>setShare( SambaShare * share )</slot>
21249
- <slot access="private" returnType="bool">getBoolValue( const QString & str, const QString & name )</slot>
21250
- <slot access="private" returnType="int">getIntValue( const QString & str, const QString & name )</slot>
21253
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/socketoptionsdlg.ui.h
21254
===================================================================
21255
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/socketoptionsdlg.ui.h 2011-01-19 17:21:04.000000000 -0500
21256
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
21258
-/****************************************************************************
21259
-** ui.h extension file, included from the uic-generated form implementation.
21261
-** If you wish to add, delete or rename slots use Qt Designer which will
21262
-** update this file, preserving your code. Create an init() slot in place of
21263
-** a constructor, and a destroy() slot in place of a destructor.
21264
-*****************************************************************************/
21266
-/******************************************************************************
21268
- * This file is part of KSambaPlugin. *
21270
- * KSambaPlugin is free software; you can redistribute it and/or modify *
21271
- * it under the terms of the GNU General Public License as published by *
21272
- * the Free Software Foundation; either version 2 of the License, or *
21273
- * (at your option) any later version. *
21275
- * KSambaPlugin is distributed in the hope that it will be useful, *
21276
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
21277
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
21278
- * GNU General Public License for more details. *
21280
- * You should have received a copy of the GNU General Public License *
21281
- * along with KSambaPlugin; if not, write to the Free Software *
21282
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
21284
- ******************************************************************************/
21286
-#ifndef KCM_SAMBACONF_SOCKETOPTIONSDLG_UI_H
21287
-#define KCM_SAMBACONF_SOCKETOPTIONSDLG_UI_H
21289
-void SocketOptionsDlg::setShare( SambaShare * share )
21295
- QString s = _share->getValue("socket options");
21297
- s = s.simplified();
21299
- // The string s has now the form e.g. :
21300
- // "OPTION1=1 OPTION2=0 OPTION3=2234 OPTION4"
21302
-SO_KEEPALIVEChk->setChecked(getBoolValue( s, "SO_KEEPALIVE") );
21303
-SO_REUSEADDRChk->setChecked( getBoolValue( s, "SO_REUSEADDR") );
21304
-SO_BROADCASTChk->setChecked( getBoolValue( s, "SO_BROADCAST") );
21305
-TCP_NODELAYChk->setChecked( getBoolValue( s, "TCP_NODELAY") );
21306
-IPTOS_LOWDELAYChk->setChecked( getBoolValue( s, "IPTOS_LOWDELAY") );
21307
-IPTOS_THROUGHPUTChk->setChecked( getBoolValue( s, "IPTOS_THROUGHPUT") );
21308
-SO_SNDBUFChk->setChecked( getBoolValue( s, "SO_SNDBUF") );
21309
-SO_RCVBUFChk->setChecked( getBoolValue( s, "SO_RCVBUF") );
21310
-SO_SNDLOWATChk->setChecked( getBoolValue( s, "SO_SNDLOWAT") );
21311
-SO_RCVLOWATChk->setChecked( getBoolValue( s, "SO_RCVLOWAT") );
21313
-SO_SNDBUFSpin->setValue( getIntValue( s, "SO_SNDBUF") );
21314
-SO_RCVBUFSpin->setValue( getIntValue( s, "SO_RCVBUF") );
21315
-SO_SNDLOWATSpin->setValue( getIntValue( s, "SO_SNDLOWAT") );
21316
-SO_RCVLOWATSpin->setValue( getIntValue( s, "SO_RCVLOWAT") );
21322
-bool SocketOptionsDlg::getBoolValue( const QString & str, const QString & name )
21325
- int i = s.find(name ,0,false);
21329
- s = s.remove(0,i+1+QString(name).length());
21330
- if ( s.startsWith("=") )
21332
- s = s.remove(0,1);
21333
- if ( s.startsWith("0"))
21345
-int SocketOptionsDlg::getIntValue( const QString & str, const QString & name )
21348
- int i = s.find(name ,0,false);
21352
- s = s.remove(0,i+1+QString(name).length());
21353
- if ( s.startsWith("=") )
21355
- s = s.remove(0,1);
21365
- return s.toInt();
21374
-#endif // KCM_SAMBACONF_SOCKETOPTIONSDLG_UI_H
21375
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/TODO
21376
===================================================================
21377
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/TODO 2011-01-19 17:21:04.000000000 -0500
21378
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
21380
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/userselectdlg.ui
21381
===================================================================
21382
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/userselectdlg.ui 2011-01-19 17:21:04.000000000 -0500
21383
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
21385
-<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
21386
-<class>UserSelectDlg</class>
21387
-<widget class="QDialog">
21388
- <property name="name">
21389
- <cstring>UserSelectDlg</cstring>
21391
- <property name="geometry">
21395
- <width>485</width>
21396
- <height>269</height>
21399
- <property name="windowTitle">
21400
- <string>Select Users</string>
21402
- <property name="sizeGripEnabled">
21403
- <bool>true</bool>
21406
- <property name="name">
21407
- <cstring>unnamed</cstring>
21409
- <property name="margin">
21410
- <number>11</number>
21412
- <property name="spacing">
21413
- <number>6</number>
21415
- <widget class="QGroupBox" row="0" column="0" rowspan="2" colspan="1">
21416
- <property name="name">
21417
- <cstring>groupBox87</cstring>
21419
- <property name="title">
21420
- <string>Select &Users</string>
21423
- <property name="name">
21424
- <cstring>unnamed</cstring>
21426
- <property name="margin">
21427
- <number>11</number>
21429
- <property name="spacing">
21430
- <number>6</number>
21432
- <widget class="QListView">
21434
- <property name="text">
21435
- <string>Name</string>
21437
- <property name="clickable">
21438
- <bool>true</bool>
21440
- <property name="resizeable">
21441
- <bool>true</bool>
21445
- <property name="text">
21446
- <string>UID</string>
21448
- <property name="clickable">
21449
- <bool>true</bool>
21451
- <property name="resizeable">
21452
- <bool>true</bool>
21456
- <property name="text">
21457
- <string>GID</string>
21459
- <property name="clickable">
21460
- <bool>true</bool>
21462
- <property name="resizeable">
21463
- <bool>true</bool>
21466
- <property name="name">
21467
- <cstring>userListView</cstring>
21469
- <property name="selectionMode">
21470
- <enum>Extended</enum>
21475
- <widget class="QButtonGroup" row="0" column="1">
21476
- <property name="name">
21477
- <cstring>accessBtnGrp</cstring>
21479
- <property name="sizePolicy">
21481
- <hsizetype>0</hsizetype>
21482
- <vsizetype>5</vsizetype>
21483
- <horstretch>0</horstretch>
21484
- <verstretch>0</verstretch>
21487
- <property name="title">
21488
- <string>Acc&ess</string>
21491
- <property name="name">
21492
- <cstring>unnamed</cstring>
21494
- <property name="margin">
21495
- <number>11</number>
21497
- <property name="spacing">
21498
- <number>6</number>
21500
- <widget class="QRadioButton">
21501
- <property name="name">
21502
- <cstring>defaultRadio</cstring>
21504
- <property name="text">
21505
- <string>&Default</string>
21507
- <property name="accel">
21508
- <number>8388676</number>
21510
- <property name="checked">
21511
- <bool>true</bool>
21514
- <widget class="QRadioButton">
21515
- <property name="name">
21516
- <cstring>readRadio</cstring>
21518
- <property name="text">
21519
- <string>&Read access</string>
21521
- <property name="accel">
21522
- <number>8388690</number>
21525
- <widget class="QRadioButton">
21526
- <property name="name">
21527
- <cstring>writeRadio</cstring>
21529
- <property name="text">
21530
- <string>&Write access</string>
21532
- <property name="accel">
21533
- <number>8388695</number>
21536
- <widget class="QRadioButton">
21537
- <property name="name">
21538
- <cstring>adminRadio</cstring>
21540
- <property name="text">
21541
- <string>&Admin access</string>
21543
- <property name="accel">
21544
- <number>8388673</number>
21547
- <widget class="QRadioButton">
21548
- <property name="name">
21549
- <cstring>noAccessRadio</cstring>
21551
- <property name="text">
21552
- <string>&No access at all</string>
21554
- <property name="accel">
21555
- <number>8388686</number>
21560
- <spacer row="1" column="1">
21561
- <property name="name">
21562
- <cstring>spacer90</cstring>
21564
- <property name="orientation">
21565
- <enum>Qt::Vertical</enum>
21567
- <property name="sizeType">
21568
- <enum>Expanding</enum>
21570
- <property name="sizeHint">
21572
- <width>20</width>
21573
- <height>50</height>
21577
- <widget class="QFrame" row="2" column="0" rowspan="1" colspan="2">
21578
- <property name="name">
21579
- <cstring>frame16</cstring>
21581
- <property name="frameShape">
21582
- <enum>HLine</enum>
21584
- <property name="frameShadow">
21585
- <enum>Raised</enum>
21588
- <widget class="QLayoutWidget" row="3" column="0" rowspan="1" colspan="2">
21589
- <property name="name">
21590
- <cstring>Layout1</cstring>
21593
- <property name="name">
21594
- <cstring>unnamed</cstring>
21596
- <property name="margin">
21597
- <number>0</number>
21599
- <property name="spacing">
21600
- <number>6</number>
21603
- <property name="name">
21604
- <cstring>Qt::Horizontal Spacing2</cstring>
21606
- <property name="orientation">
21607
- <enum>Qt::Horizontal</enum>
21609
- <property name="sizeType">
21610
- <enum>Expanding</enum>
21612
- <property name="sizeHint">
21614
- <width>285</width>
21615
- <height>20</height>
21619
- <widget class="QPushButton">
21620
- <property name="name">
21621
- <cstring>buttonOk</cstring>
21623
- <property name="text">
21624
- <string>&OK</string>
21626
- <property name="accel">
21627
- <number>0</number>
21629
- <property name="autoDefault">
21630
- <bool>true</bool>
21632
- <property name="default">
21633
- <bool>true</bool>
21636
- <widget class="QPushButton">
21637
- <property name="name">
21638
- <cstring>buttonCancel</cstring>
21640
- <property name="text">
21641
- <string>&Cancel</string>
21643
- <property name="accel">
21644
- <number>0</number>
21646
- <property name="autoDefault">
21647
- <bool>true</bool>
21656
- <sender>buttonOk</sender>
21657
- <signal>clicked()</signal>
21658
- <receiver>UserSelectDlg</receiver>
21659
- <slot>accept()</slot>
21662
- <sender>buttonCancel</sender>
21663
- <signal>clicked()</signal>
21664
- <receiver>UserSelectDlg</receiver>
21665
- <slot>reject()</slot>
21669
- <include location="local" impldecl="in declaration">sambashare.h</include>
21670
- <include location="local" impldecl="in implementation">smbpasswdfile.h</include>
21671
- <include location="local" impldecl="in implementation">kurl.h</include>
21672
- <include location="local" impldecl="in implementation">userselectdlg.ui.h</include>
21675
- <variable>QStringList selectedUsers;</variable>
21676
- <variable>int access;</variable>
21679
- <slot>init( const QStringList & specifiedUsers, SambaShare * share )</slot>
21680
- <slot access="protected">accept()</slot>
21681
- <slot specifier="non virtual" returnType="QStringList">getSelectedUsers()</slot>
21682
- <slot specifier="non virtual" returnType="int">getAccess()</slot>
21685
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/userselectdlg.ui.h
21686
===================================================================
21687
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/userselectdlg.ui.h 2011-01-19 17:21:04.000000000 -0500
21688
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
21690
-/****************************************************************************
21691
-** ui.h extension file, included from the uic-generated form implementation.
21693
-** If you wish to add, delete or rename functions or slots use
21694
-** Qt Designer which will update this file, preserving your code. Create an
21695
-** init() function in place of a constructor, and a destroy() function in
21696
-** place of a destructor.
21697
-*****************************************************************************/
21699
-#ifndef KCM_SAMBACONF_USERSELECTDLG_UI_H
21700
-#define KCM_SAMBACONF_USERSELECTDLG_UI_H
21702
-void UserSelectDlg::init(const QStringList & specifiedUsers, SambaShare* share)
21704
- SmbPasswdFile passwd( KUrl(share->getValue("smb passwd file",true,true)) );
21705
- SambaUserList sambaList = passwd.getSambaUserList();
21707
- for (SambaUser * user = sambaList.first(); user; user = sambaList.next() )
21709
- if (! specifiedUsers.contains(user->name))
21710
- new Q3ListViewItem(userListView, user->name, QString::number(user->uid), QString::number(user->gid));
21716
-void UserSelectDlg::accept()
21718
- Q3ListViewItemIterator it( userListView);
21720
- for ( ; it.current(); ++it ) {
21721
- if ( it.current()->isSelected() )
21722
- selectedUsers << it.current()->text(0);
21725
- access = accessBtnGrp->id(accessBtnGrp->selected());
21727
- QDialog::accept();
21732
-QStringList UserSelectDlg::getSelectedUsers()
21734
- return selectedUsers;
21738
-int UserSelectDlg::getAccess()
21743
-#endif // KCM_SAMBACONF_USERSELECTDLG_UI_H
21744
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/usertabimpl.cpp
21745
===================================================================
21746
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/usertabimpl.cpp 2011-01-19 17:21:04.000000000 -0500
21747
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
21749
-/***************************************************************************
21750
- usertabimpl.cpp - description
21751
- -------------------
21752
- begin : Mon Jul 15 2002
21753
- copyright : (C) 2002 by Jan Sch�er
21754
- email : janschaefer@users.sourceforge.net
21755
- ***************************************************************************/
21757
-/******************************************************************************
21759
- * This file is part of KSambaPlugin. *
21761
- * KSambaPlugin is free software; you can redistribute it and/or modify *
21762
- * it under the terms of the GNU General Public License as published by *
21763
- * the Free Software Foundation; either version 2 of the License, or *
21764
- * (at your option) any later version. *
21766
- * KSambaPlugin is distributed in the hope that it will be useful, *
21767
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
21768
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
21769
- * GNU General Public License for more details. *
21771
- * You should have received a copy of the GNU General Public License *
21772
- * along with KSambaPlugin; if not, write to the Free Software *
21773
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
21775
- ******************************************************************************/
21777
-#include <unistd.h> // for getuid
21779
-#include <qcombobox.h>
21780
-#include <qstringlist.h>
21781
-//Added by qt3to4:
21782
-#include <Q3MemArray>
21783
-#include <passwd.h>
21784
-#include <qregexp.h>
21785
-#include <q3table.h>
21786
-#include <qcheckbox.h>
21787
-#include <qpushbutton.h>
21788
-#include <qlineedit.h>
21790
-#include <k3listview.h>
21791
-#include <klocale.h>
21792
-#include <kdebug.h>
21793
-#include <kiconloader.h>
21794
-#include <kinputdialog.h>
21796
-#include "usertabimpl.h"
21797
-#include "sambashare.h"
21798
-#include "smbpasswdfile.h"
21799
-#include "groupselectdlg.h"
21800
-#include "userselectdlg.h"
21802
-#include <assert.h>
21805
- * @pre share is not null
21806
- * @post _share = share
21808
-UserTabImpl::UserTabImpl(QWidget* parent, SambaShare* share)
21809
- : UserTab(parent)
21811
- if (share == 0L) {
21812
- kWarning() << "WARNING: UserTabImpl constructor: share parameter is null!";
21817
- userTable->setLeftMargin(0);
21818
- // userTable->setColumnStretchable ( 3, true );
21822
-UserTabImpl::~UserTabImpl()
21826
-void UserTabImpl::load()
21828
- if (_share == 0L)
21831
- loadForceCombos();
21832
- loadUsers(_share->getValue("valid users"),
21833
- _share->getValue("read list"),
21834
- _share->getValue("write list"),
21835
- _share->getValue("admin users"),
21836
- _share->getValue("invalid users"));
21839
-void UserTabImpl::loadUsers(const QString & validUsersStr,
21840
- const QString & readListStr,
21841
- const QString & writeListStr,
21842
- const QString & adminUsersStr,
21843
- const QString & invalidUsersStr)
21845
- userTable->setNumRows(0);
21846
- QStringList validUsers = QStringList::split(QRegExp("[,\\s]+"),validUsersStr);
21847
- QStringList readList = QStringList::split(QRegExp("[,\\s]+"),readListStr);
21848
- QStringList writeList = QStringList::split(QRegExp("[,\\s]+"),writeListStr);
21849
- QStringList adminUsers = QStringList::split(QRegExp("[,\\s]+"),adminUsersStr);
21850
- QStringList invalidUsers = QStringList::split(QRegExp("[,\\s]+"),invalidUsersStr);
21852
- // if the valid users list contains no entries
21853
- // then all users are allowed, except those that are
21854
- // in the invalid list
21855
- if (validUsers.empty())
21856
- allUnspecifiedUsersCombo->setCurrentItem(0);
21858
- allUnspecifiedUsersCombo->setCurrentItem(1);
21860
- removeDuplicates(validUsers,readList,writeList,adminUsers,invalidUsers);
21862
- addListToUserTable(adminUsers,3);
21863
- addListToUserTable(writeList,2);
21864
- addListToUserTable(readList,1);
21865
- addListToUserTable(validUsers,0);
21866
- addListToUserTable(invalidUsers,4);
21871
-void UserTabImpl::loadForceCombos() {
21872
- forceUserCombo->insertItem("");
21873
- forceGroupCombo->insertItem("");
21875
- QStringList unixGroups = getUnixGroups();
21877
- forceUserCombo->insertStringList( getUnixUsers() );
21878
- forceGroupCombo->insertStringList( unixGroups );
21880
- setComboToString(forceUserCombo, _share->getValue("force user"));
21881
- setComboToString(forceGroupCombo, _share->getValue("force group"));
21885
- * Remove all duplicates of the different list, so that
21886
- * all lists are disjunct.
21888
-void UserTabImpl::removeDuplicates( QStringList & validUsers, QStringList & readList,
21889
- QStringList & writeList, QStringList & adminUsers,
21890
- QStringList & invalidUsers)
21892
- removeAll(adminUsers, writeList);
21894
- removeAll(writeList, readList);
21895
- removeAll(adminUsers, readList);
21897
- removeAll(readList, validUsers);
21898
- removeAll(writeList, validUsers);
21899
- removeAll(adminUsers, validUsers);
21901
- removeAll(invalidUsers, validUsers);
21902
- removeAll(invalidUsers, readList);
21903
- removeAll(invalidUsers, writeList);
21904
- removeAll(invalidUsers, adminUsers);
21908
- * Remove all entries of entryList from the fromList
21910
-void UserTabImpl::removeAll(QStringList & entryList, QStringList & fromList) {
21911
- for (QStringList::Iterator it = entryList.begin(); it != entryList.end(); ++it) {
21912
- fromList.removeAll(*it);
21917
-void UserTabImpl::addListToUserTable(const QStringList & list, int accessRight) {
21919
- for (QStringList::ConstIterator it = list.begin(); it != list.end(); ++it) {
21920
- addUserToUserTable(*it,accessRight);
21924
-void UserTabImpl::addUserToUserTable(const QString & user, int accessRight) {
21925
- int row = userTable->numRows();
21926
- userTable->setNumRows(row+1);
21927
- setAllowedUser(row, user);
21929
- Q3ComboTableItem* comboItem = static_cast<Q3ComboTableItem*>(userTable->item(row,3));
21930
- comboItem->setCurrentItem(accessRight);
21933
-QString UserTabImpl::removeQuotationMarks(const QString & name) {
21934
- QString result = name;
21935
- if (name.left(1) == "\"") {
21936
- result = result.left(result.length()-1);
21937
- result = result.right(result.length()-1);
21942
-QString UserTabImpl::removeGroupTag(const QString & name) {
21943
- QString result = name;
21946
- if (nameIsGroup(result)) {
21947
- result = result.right(result.length()-1);
21948
- if (nameIsGroup(result))
21949
- result = result.right(result.length()-1);
21956
-bool UserTabImpl::nameIsGroup(const QString & name) {
21957
- QString quoteless = removeQuotationMarks(name);
21958
- if (quoteless.left(1) == "@" ||
21959
- quoteless.left(1) == "+" ||
21960
- quoteless.left(1) == "&")
21967
-void UserTabImpl::setAllowedUser(int i, const QString & name)
21969
- QStringList accessRights;
21970
- accessRights << i18n("Default") << i18n("Read only") << i18n("Writeable") << i18n("Admin") << i18n("Reject");
21975
- QString name2 = name;
21977
- if (nameIsGroup(name2))
21979
- QString name3 = removeGroupTag(name2);
21981
- gid = QString::number(getGroupGID(name3));
21982
- _specifiedGroups << name3;
21986
- uid = QString::number(getUserUID(name2));
21987
- gid = QString::number(getUserGID(name2));
21988
- _specifiedUsers << name2;
21991
- if (name2.contains(' '))
21992
- name2 = "\""+name2+"\"";
21995
- Q3TableItem* item = new Q3TableItem( userTable,Q3TableItem::Never, name2 );
21996
- userTable->setItem(i,0,item);
21998
- item = new Q3TableItem( userTable,Q3TableItem::Never, uid );
21999
- userTable->setItem(i,1,item);
22001
- item = new Q3TableItem( userTable,Q3TableItem::Never, gid );
22002
- userTable->setItem(i,2,item);
22004
- Q3ComboTableItem* comboItem = new Q3ComboTableItem( userTable,accessRights);
22005
- userTable->setItem(i,3,comboItem);
22009
-void UserTabImpl::addUserBtnClicked()
22011
- if (getuid() == 0) {
22012
- UserSelectDlg *dlg = new UserSelectDlg();
22013
- dlg->init(_specifiedUsers,_share);
22015
- QStringList selectedUsers = dlg->getSelectedUsers();
22017
- if (dlg->exec()) {
22018
- for (QStringList::Iterator it = selectedUsers.begin(); it != selectedUsers.end(); ++it)
22020
- addUserToUserTable(*it,dlg->getAccess());
22027
- QString name = KInputDialog::getText(i18n("Add User"),i18n("Name:"),
22028
- QString(), &ok );
22031
- addUserToUserTable(name,0);
22035
-void UserTabImpl::removeSelectedBtnClicked()
22037
- Q3MemArray<int>rows;
22041
- for (int i=0; i<userTable->numRows(); i++)
22043
- if (userTable->isRowSelected(i))
22045
- if (nameIsGroup(userTable->item(i,0)->text())) {
22046
- _specifiedGroups.removeAll( removeGroupTag(removeQuotationMarks(userTable->item(i,0)->text())));
22048
- _specifiedUsers.removeAll(userTable->item(i,0)->text());
22050
- rows.resize(j+1);
22056
- userTable->removeRows(rows);
22060
-void UserTabImpl::addGroupBtnClicked()
22062
- GroupSelectDlg *dlg = new GroupSelectDlg();
22063
- dlg->init(_specifiedGroups);
22064
- QStringList selectedGroups = dlg->getSelectedGroups();
22065
- if (dlg->exec()) {
22066
- for (QStringList::Iterator it = selectedGroups.begin(); it != selectedGroups.end(); ++it)
22068
- kDebug(5009) << "GroupKind: " << dlg->getGroupKind();
22069
- QString name = dlg->getGroupKind() + (*it);
22070
- addUserToUserTable(name,dlg->getAccess());
22077
-void UserTabImpl::expertBtnClicked() {
22078
- ExpertUserDlg *dlg = new ExpertUserDlg(this);
22079
- QString validUsersStr;
22080
- QString readListStr;
22081
- QString writeListStr;
22082
- QString adminUsersStr;
22083
- QString invalidUsersStr;
22085
- saveUsers(validUsersStr,readListStr,writeListStr,adminUsersStr,invalidUsersStr);
22087
- dlg->validUsersEdit->setText(validUsersStr);
22088
- dlg->readListEdit->setText(readListStr);
22089
- dlg->writeListEdit->setText(writeListStr);
22090
- dlg->adminUsersEdit->setText(adminUsersStr);
22091
- dlg->invalidUsersEdit->setText(invalidUsersStr);
22093
- if (dlg->exec()) {
22094
- loadUsers(dlg->validUsersEdit->text(),
22095
- dlg->readListEdit->text(),
22096
- dlg->writeListEdit->text(),
22097
- dlg->adminUsersEdit->text(),
22098
- dlg->invalidUsersEdit->text());
22105
-void UserTabImpl::save()
22107
- QString validUsersStr;
22108
- QString readListStr;
22109
- QString writeListStr;
22110
- QString adminUsersStr;
22111
- QString invalidUsersStr;
22113
- saveUsers(validUsersStr,readListStr,writeListStr,adminUsersStr,invalidUsersStr);
22115
- _share->setValue("valid users",validUsersStr);
22116
- _share->setValue("read list", readListStr);
22117
- _share->setValue("write list", writeListStr);
22118
- _share->setValue("admin users", adminUsersStr);
22119
- _share->setValue("invalid users", invalidUsersStr);
22121
- _share->setValue("force user",forceUserCombo->currentText( ) );
22122
- _share->setValue("force group",forceGroupCombo->currentText( ) );
22125
-void UserTabImpl::saveUsers(QString & validUsersStr,
22126
- QString & readListStr,
22127
- QString & writeListStr,
22128
- QString & adminUsersStr,
22129
- QString & invalidUsersStr)
22131
- QStringList validUsers;
22132
- QStringList writeList;
22133
- QStringList readList;
22134
- QStringList adminUsers;
22135
- QStringList invalidUsers;
22137
- bool allowAllUsers = allUnspecifiedUsersCombo->currentItem() == 0;
22139
- for (int i=0; i<userTable->numRows(); i++)
22141
- Q3TableItem* item = userTable->item(i,0);
22142
- Q3ComboTableItem* comboItem = static_cast<Q3ComboTableItem*>(userTable->item(i,3));
22144
- if (! allowAllUsers && comboItem->currentItem() < 4)
22145
- validUsers.append(item->text());
22147
- switch (comboItem->currentItem())
22150
- case 1 : readList.append(item->text());break;
22151
- case 2 : writeList.append(item->text());break;
22152
- case 3 : adminUsers.append(item->text());break;
22153
- case 4 : invalidUsers.append(item->text());break;
22157
- validUsersStr = validUsers.join(",");
22158
- readListStr = readList.join(",");
22159
- writeListStr = writeList.join(",");
22160
- adminUsersStr = adminUsers.join(",");
22161
- invalidUsersStr = invalidUsers.join(",");
22166
-#include "usertabimpl.moc"
22167
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/usertabimpl.h
22168
===================================================================
22169
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/usertabimpl.h 2011-01-19 17:21:04.000000000 -0500
22170
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
22172
-/***************************************************************************
22173
- usertabimpl.h - description
22174
- -------------------
22175
- begin : Mon Jul 15 2002
22176
- copyright : (C) 2002 by Jan Schäfer
22177
- email : janschaefer@users.sourceforge.net
22178
- ***************************************************************************/
22180
-/******************************************************************************
22182
- * This file is part of KSambaPlugin. *
22184
- * KSambaPlugin is free software; you can redistribute it and/or modify *
22185
- * it under the terms of the GNU General Public License as published by *
22186
- * the Free Software Foundation; either version 2 of the License, or *
22187
- * (at your option) any later version. *
22189
- * KSambaPlugin is distributed in the hope that it will be useful, *
22190
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
22191
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
22192
- * GNU General Public License for more details. *
22194
- * You should have received a copy of the GNU General Public License *
22195
- * along with KSambaPlugin; if not, write to the Free Software *
22196
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
22198
- ******************************************************************************/
22200
-#ifndef USERTABIMPL_H
22201
-#define USERTABIMPL_H
22203
-#include "usertab.h"
22204
-#include "common.h"
22205
-#include "qstringlist.h"
22206
-#include "ui_expertuserdlg.h"
22209
- *@author Jan Schäfer
22215
-class ExpertUserDlg : public QDialog, public Ui::ExpertUserDlg
22219
- ExpertUserDlg( QWidget *parent ): QDialog(parent) {
22225
- * Implements the usertab.ui interface
22226
- * A Widget where you can add SambaUsers to the valid users, rejected users,
22227
- * write list, read list and admin list parameters of the smb.conf file
22229
-class UserTabImpl : public UserTab
22233
- UserTabImpl(QWidget* parent, SambaShare* share);
22239
- SambaShare* _share;
22240
- QStringList _specifiedUsers;
22241
- QStringList _specifiedGroups;
22243
- void setAllowedUser(int, const QString &);
22244
- void removeDuplicates( QStringList & validUsers, QStringList & readList,
22245
- QStringList & writeList, QStringList & adminUsers,
22246
- QStringList & invalidUsers);
22248
- void removeAll(QStringList & entryList, QStringList & fromList);
22249
- void addListToUserTable(const QStringList & list, int accessRight);
22250
- void loadForceCombos();
22252
- void loadUsers(const QString & validUsersStr,
22253
- const QString & readListStr,
22254
- const QString & writeListStr,
22255
- const QString & adminUsersStr,
22256
- const QString & invalidUsersStr);
22258
- void saveUsers(QString & validUsersStr,
22259
- QString & readListStr,
22260
- QString & writeListStr,
22261
- QString & adminUsersStr,
22262
- QString & invalidUsersStr);
22264
- bool nameIsGroup(const QString & name);
22265
- QString removeGroupTag(const QString & name);
22266
- QString removeQuotationMarks(const QString & name);
22267
- void addUserToUserTable(const QString & user, int accessRight);
22270
- virtual void addUserBtnClicked();
22271
- virtual void addGroupBtnClicked();
22272
- virtual void removeSelectedBtnClicked();
22273
- virtual void expertBtnClicked();
22277
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/usertab.ui
22278
===================================================================
22279
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/usertab.ui 2011-01-19 17:21:04.000000000 -0500
22280
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
22282
-<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
22283
-<class>UserTab</class>
22284
-<widget class="QWidget">
22285
- <property name="name">
22286
- <cstring>UserTab</cstring>
22288
- <property name="geometry">
22292
- <width>548</width>
22293
- <height>396</height>
22296
- <property name="windowTitle">
22297
- <string>Users</string>
22300
- <property name="name">
22301
- <cstring>unnamed</cstring>
22303
- <widget class="QGroupBox">
22304
- <property name="name">
22305
- <cstring>groupBox53</cstring>
22307
- <property name="title">
22308
- <string>All U&nspecified Users</string>
22311
- <property name="name">
22312
- <cstring>unnamed</cstring>
22314
- <widget class="QComboBox">
22316
- <property name="text">
22317
- <string>Allow</string>
22321
- <property name="text">
22322
- <string>Reject</string>
22325
- <property name="name">
22326
- <cstring>allUnspecifiedUsersCombo</cstring>
22331
- <widget class="QGroupBox">
22332
- <property name="name">
22333
- <cstring>groupBox77</cstring>
22335
- <property name="sizePolicy">
22337
- <hsizetype>7</hsizetype>
22338
- <vsizetype>7</vsizetype>
22339
- <horstretch>0</horstretch>
22340
- <verstretch>0</verstretch>
22343
- <property name="title">
22344
- <string>Spec&ified Users</string>
22347
- <property name="name">
22348
- <cstring>unnamed</cstring>
22350
- <widget class="QTable" row="0" column="0" rowspan="5" colspan="1">
22352
- <property name="text">
22353
- <string>Name</string>
22357
- <property name="text">
22358
- <string>UID</string>
22362
- <property name="text">
22363
- <string>GID</string>
22367
- <property name="text">
22368
- <string>Access Rights</string>
22371
- <property name="name">
22372
- <cstring>userTable</cstring>
22374
- <property name="sizePolicy">
22376
- <hsizetype>7</hsizetype>
22377
- <vsizetype>7</vsizetype>
22378
- <horstretch>100</horstretch>
22379
- <verstretch>50</verstretch>
22382
- <property name="numRows">
22383
- <number>0</number>
22385
- <property name="numCols">
22386
- <number>4</number>
22388
- <property name="showGrid">
22389
- <bool>false</bool>
22391
- <property name="columnMovingEnabled">
22392
- <bool>true</bool>
22394
- <property name="selectionMode">
22395
- <enum>MultiRow</enum>
22397
- <property name="focusStyle">
22398
- <enum>FollowStyle</enum>
22401
- <widget class="QPushButton" row="0" column="1">
22402
- <property name="name">
22403
- <cstring>addUserBtn</cstring>
22405
- <property name="text">
22406
- <string>A&dd User...</string>
22409
- <widget class="QPushButton" row="4" column="1">
22410
- <property name="name">
22411
- <cstring>expertBtn</cstring>
22413
- <property name="text">
22414
- <string>E&xpert</string>
22417
- <widget class="QPushButton" row="1" column="1">
22418
- <property name="name">
22419
- <cstring>addGroupBtn</cstring>
22421
- <property name="text">
22422
- <string>Add &Group...</string>
22425
- <widget class="QPushButton" row="2" column="1">
22426
- <property name="name">
22427
- <cstring>removeSelectedBtn</cstring>
22429
- <property name="text">
22430
- <string>Remo&ve Selected</string>
22433
- <spacer row="3" column="1">
22434
- <property name="name">
22435
- <cstring>spacer88</cstring>
22437
- <property name="orientation">
22438
- <enum>Qt::Vertical</enum>
22440
- <property name="sizeType">
22441
- <enum>Expanding</enum>
22443
- <property name="sizeHint">
22445
- <width>20</width>
22446
- <height>100</height>
22452
- <widget class="QGroupBox">
22453
- <property name="name">
22454
- <cstring>groupBox35</cstring>
22456
- <property name="sizePolicy">
22458
- <hsizetype>1</hsizetype>
22459
- <vsizetype>1</vsizetype>
22460
- <horstretch>0</horstretch>
22461
- <verstretch>0</verstretch>
22464
- <property name="title">
22465
- <string>All Users Should be Forced to the Follo&wing User/Group</string>
22468
- <property name="name">
22469
- <cstring>unnamed</cstring>
22471
- <widget class="QLabel">
22472
- <property name="name">
22473
- <cstring>TextLabel12</cstring>
22475
- <property name="sizePolicy">
22477
- <hsizetype>1</hsizetype>
22478
- <vsizetype>5</vsizetype>
22479
- <horstretch>0</horstretch>
22480
- <verstretch>0</verstretch>
22483
- <property name="text">
22484
- <string>Forc&e user:</string>
22486
- <property name="buddy" stdset="0">
22487
- <cstring>forceUserCombo</cstring>
22490
- <widget class="QComboBox">
22491
- <property name="name">
22492
- <cstring>forceUserCombo</cstring>
22494
- <property name="sizePolicy">
22496
- <hsizetype>7</hsizetype>
22497
- <vsizetype>0</vsizetype>
22498
- <horstretch>0</horstretch>
22499
- <verstretch>0</verstretch>
22503
- <widget class="QLabel">
22504
- <property name="name">
22505
- <cstring>TextLabel13</cstring>
22507
- <property name="sizePolicy">
22509
- <hsizetype>1</hsizetype>
22510
- <vsizetype>5</vsizetype>
22511
- <horstretch>0</horstretch>
22512
- <verstretch>0</verstretch>
22515
- <property name="text">
22516
- <string>Fo&rce group:</string>
22518
- <property name="buddy" stdset="0">
22519
- <cstring>forceGroupCombo</cstring>
22522
- <widget class="QComboBox">
22523
- <property name="name">
22524
- <cstring>forceGroupCombo</cstring>
22526
- <property name="sizePolicy">
22528
- <hsizetype>7</hsizetype>
22529
- <vsizetype>0</vsizetype>
22530
- <horstretch>0</horstretch>
22531
- <verstretch>0</verstretch>
22541
- <sender>addUserBtn</sender>
22542
- <signal>clicked()</signal>
22543
- <receiver>UserTab</receiver>
22544
- <slot>addUserBtnClicked()</slot>
22547
- <sender>addGroupBtn</sender>
22548
- <signal>clicked()</signal>
22549
- <receiver>UserTab</receiver>
22550
- <slot>addGroupBtnClicked()</slot>
22553
- <sender>removeSelectedBtn</sender>
22554
- <signal>clicked()</signal>
22555
- <receiver>UserTab</receiver>
22556
- <slot>removeSelectedBtnClicked()</slot>
22559
- <sender>expertBtn</sender>
22560
- <signal>clicked()</signal>
22561
- <receiver>UserTab</receiver>
22562
- <slot>expertBtnClicked()</slot>
22565
- <sender>allUnspecifiedUsersCombo</sender>
22566
- <signal>textChanged(const QString&)</signal>
22567
- <receiver>UserTab</receiver>
22568
- <slot>changedSlot()</slot>
22571
- <sender>addUserBtn</sender>
22572
- <signal>clicked()</signal>
22573
- <receiver>UserTab</receiver>
22574
- <slot>changedSlot()</slot>
22577
- <sender>addGroupBtn</sender>
22578
- <signal>clicked()</signal>
22579
- <receiver>UserTab</receiver>
22580
- <slot>changedSlot()</slot>
22583
- <sender>removeSelectedBtn</sender>
22584
- <signal>clicked()</signal>
22585
- <receiver>UserTab</receiver>
22586
- <slot>changedSlot()</slot>
22589
- <sender>expertBtn</sender>
22590
- <signal>clicked()</signal>
22591
- <receiver>UserTab</receiver>
22592
- <slot>changedSlot()</slot>
22595
- <sender>forceUserCombo</sender>
22596
- <signal>textChanged(const QString&)</signal>
22597
- <receiver>UserTab</receiver>
22598
- <slot>changedSlot()</slot>
22601
- <sender>forceGroupCombo</sender>
22602
- <signal>textChanged(const QString&)</signal>
22603
- <receiver>UserTab</receiver>
22604
- <slot>changedSlot()</slot>
22608
- <tabstop>allUnspecifiedUsersCombo</tabstop>
22609
- <tabstop>userTable</tabstop>
22610
- <tabstop>addUserBtn</tabstop>
22611
- <tabstop>addGroupBtn</tabstop>
22612
- <tabstop>removeSelectedBtn</tabstop>
22613
- <tabstop>expertBtn</tabstop>
22614
- <tabstop>forceUserCombo</tabstop>
22615
- <tabstop>forceGroupCombo</tabstop>
22618
- <include location="local" impldecl="in implementation">userselectdlg.h</include>
22619
- <include location="local" impldecl="in implementation">groupselectdlg.h</include>
22620
- <include location="local" impldecl="in implementation">usertab.ui.h</include>
22623
- <signal>changed()</signal>
22626
- <slot>addUserBtnClicked()</slot>
22627
- <slot>removeSelectedBtnClicked()</slot>
22628
- <slot>addGroupBtnClicked()</slot>
22629
- <slot>expertBtnClicked()</slot>
22630
- <slot>changedSlot()</slot>
22633
Index: kdenetwork-4.6.3/filesharing/advanced/kcm_sambaconf/usertab.ui.h
22634
===================================================================
22635
--- kdenetwork-4.6.3.orig/filesharing/advanced/kcm_sambaconf/usertab.ui.h 2011-01-19 17:21:04.000000000 -0500
22636
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
22638
-/****************************************************************************
22639
-** ui.h extension file, included from the uic-generated form implementation.
22641
-** If you wish to add, delete or rename functions or slots use
22642
-** Qt Designer which will update this file, preserving your code. Create an
22643
-** init() function in place of a constructor, and a destroy() function in
22644
-** place of a destructor.
22645
-*****************************************************************************/
22647
-#ifndef KCM_SAMBACONF_USERTAAB_UI_H
22648
-#define KCM_SAMBACONF_USERTAAB_UI_H
22650
-void UserTab::addUserBtnClicked()
22656
-void UserTab::removeSelectedBtnClicked()
22662
-void UserTab::addGroupBtnClicked()
22669
-void UserTab::expertBtnClicked()
22675
-void UserTab::changedSlot()
22680
-#endif // KCM_SAMBACONF_USERTAAB_UI_H
22681
Index: kdenetwork-4.6.3/filesharing/advanced/nfs/hostprops.ui
22682
===================================================================
22683
--- kdenetwork-4.6.3.orig/filesharing/advanced/nfs/hostprops.ui 2011-01-19 17:21:04.000000000 -0500
22684
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
22686
-<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
22687
-<class>HostProps</class>
22688
-<widget class="QWidget">
22689
- <property name="name">
22690
- <cstring>HostProps</cstring>
22692
- <property name="geometry">
22696
- <width>333</width>
22697
- <height>332</height>
22701
- <property name="name">
22702
- <cstring>unnamed</cstring>
22704
- <property name="margin">
22705
- <number>0</number>
22707
- <property name="spacing">
22708
- <number>6</number>
22710
- <widget class="QGroupBox" row="0" column="0" rowspan="1" colspan="2">
22711
- <property name="name">
22712
- <cstring>propertiesGrp</cstring>
22714
- <property name="sizePolicy">
22716
- <hsizetype>5</hsizetype>
22717
- <vsizetype>0</vsizetype>
22718
- <horstretch>0</horstretch>
22719
- <verstretch>0</verstretch>
22722
- <property name="minimumSize">
22724
- <width>180</width>
22725
- <height>0</height>
22728
- <property name="frameShape">
22731
- <property name="frameShadow">
22732
- <enum>Sunken</enum>
22734
- <property name="title">
22735
- <string>Host Properties</string>
22738
- <property name="name">
22739
- <cstring>unnamed</cstring>
22741
- <property name="margin">
22742
- <number>11</number>
22744
- <property name="spacing">
22745
- <number>6</number>
22747
- <widget class="QLabel">
22748
- <property name="name">
22749
- <cstring>TextLabel1</cstring>
22751
- <property name="text">
22752
- <string>&Name/address:</string>
22754
- <property name="buddy" stdset="0">
22755
- <cstring>nameEdit</cstring>
22758
- <widget class="QLineEdit">
22759
- <property name="name">
22760
- <cstring>nameEdit</cstring>
22762
- <property name="frameShape">
22763
- <enum>LineEditPanel</enum>
22765
- <property name="frameShadow">
22766
- <enum>Sunken</enum>
22768
- <property name="whatsThis" stdset="0">
22769
- <string><b>Name / Address field</b>
22771
-Here you can enter the host name or address.<br>
22772
-The host may be specified in a number of ways:
22774
-<i>single host</i>
22776
- This is the most common format. You may specify a host either by an abbreviated name recognized by the resolver, the fully qualified domain name, or an IP address.
22779
-<i>netgroups</i>
22781
- NIS netgroups may be given as @group. Only the host part of each netgroup members is consider in checking for membership. Empty host parts or those containing a single dash (-) are ignored.
22784
-<i>wildcards</i>
22786
- Machine names may contain the wildcard characters * and ?. This can be used to make the exports file more compact; for instance, *.cs.foo.edu matches all hosts in the domain cs.foo.edu. However, these wildcard characters do not match the dots in a domain name, so the above pattern does not include hosts such as a.b.cs.foo.edu.
22789
-<i>IP networks</i>
22791
- You can also export directories to all hosts on an IP (sub-) network simultaneously. This is done by specifying an IP address and netmask pair as address/netmask where the netmask can be specified in dotted-decimal format, or as a contiguous mask length (for example, either `/255.255.252.0' or `/22' appended to the network base address result in identical subnetworks with 10 bits of host).
22792
-</p></string>
22795
- <widget class="QCheckBox">
22796
- <property name="name">
22797
- <cstring>publicChk</cstring>
22799
- <property name="text">
22800
- <string>&Public access</string>
22802
- <property name="whatsThis" stdset="0">
22803
- <string><b>Public access</b>
22805
-If you check this, the host address will be a single wildcard , which means public access.
22806
-This is just the same as if you would enter a wildcard in the address field.
22807
-</p></string>
22812
- <widget class="QGroupBox" row="1" column="0">
22813
- <property name="name">
22814
- <cstring>GroupBox7</cstring>
22816
- <property name="sizePolicy">
22818
- <hsizetype>5</hsizetype>
22819
- <vsizetype>5</vsizetype>
22820
- <horstretch>0</horstretch>
22821
- <verstretch>0</verstretch>
22824
- <property name="title">
22825
- <string>Options</string>
22828
- <property name="name">
22829
- <cstring>unnamed</cstring>
22831
- <property name="margin">
22832
- <number>11</number>
22834
- <property name="spacing">
22835
- <number>6</number>
22837
- <widget class="QCheckBox" row="0" column="0">
22838
- <property name="name">
22839
- <cstring>readOnlyChk</cstring>
22841
- <property name="text">
22842
- <string>&Writable</string>
22844
- <property name="whatsThis" stdset="0">
22845
- <string><b>Writable</b>
22847
-Allow both read and write requests on this NFS volume.
22850
-The default is to disallow any request which changes the filesystem
22851
-</p></string>
22854
- <widget class="QCheckBox" row="1" column="0">
22855
- <property name="name">
22856
- <cstring>secureChk</cstring>
22858
- <property name="text">
22859
- <string>&Insecure</string>
22861
- <property name="whatsThis" stdset="0">
22862
- <string><b>Insecure</b>
22864
-If this option is checked, it is not required that requests originate on an internet port less than IPPORT_RESERVED (1024).
22867
-If unsure leave it unchecked.
22868
-</p></string>
22871
- <widget class="QCheckBox" row="2" column="0">
22872
- <property name="name">
22873
- <cstring>syncChk</cstring>
22875
- <property name="text">
22876
- <string>&Sync</string>
22878
- <property name="whatsThis" stdset="0">
22879
- <string><b>Sync</b>
22881
-This option requests that all file writes be committed to disk before the write request completes. This is required for complete safety of data in the face of a server crash, but incurs a performance hit.
22884
-The default is to allow the server to write the data out whenever it is ready.
22885
-</p></string>
22888
- <widget class="QCheckBox" row="3" column="0">
22889
- <property name="name">
22890
- <cstring>wdelayChk</cstring>
22892
- <property name="enabled">
22893
- <bool>false</bool>
22895
- <property name="text">
22896
- <string>No w&delay</string>
22898
- <property name="whatsThis" stdset="0">
22899
- <string><b>No wdelay</b>
22901
-This option only has effect if sync is also set. The NFS server will normally delay committing a write request to disk slightly if it suspects that another related write request may be in progress or may arrive soon. This allows multiple write requests to be committed to disk with the one operation which can improve performance. If an NFS server received mainly small unrelated requests, this behavior could actually reduce performance, so no wdelay is available to turn it off. </p></string>
22904
- <widget class="QCheckBox" row="4" column="0">
22905
- <property name="name">
22906
- <cstring>hideChk</cstring>
22908
- <property name="text">
22909
- <string>No &hide</string>
22911
- <property name="whatsThis" stdset="0">
22912
- <string><b>No hide</b>
22914
-This option is based on the option of the same name provided in IRIX NFS. Normally, if a server exports two filesystems one of which is mounted on the other, then the client will have to mount both filesystems explicitly to get access to them. If it just mounts the parent, it will see an empty directory at the place where the other filesystem is mounted. That filesystem is "hidden".
22917
-Setting the nohide option on a filesystem causes it not to be hidden, and an appropriately authorized client will be able to move from the parent to that filesystem without noticing the change.
22920
-However, some NFS clients do not cope well with this situation as, for instance, it is then possible for two files in the one apparent filesystem to have the same inode number.
22923
-The nohide option is currently only effective on single host exports. It does not work reliably with netgroup, subnet, or wildcard exports.
22926
-This option can be very useful in some situations, but it should be used with due care, and only after confirming that the client system copes with the situation effectively.
22927
-</p></string>
22930
- <widget class="QCheckBox" row="5" column="0">
22931
- <property name="name">
22932
- <cstring>subtreeChk</cstring>
22934
- <property name="text">
22935
- <string>No su&btree check</string>
22937
- <property name="whatsThis" stdset="0">
22938
- <string><b>No subtree check</b>
22940
-This option disables subtree checking, which has mild security implications, but can improve reliability is some circumstances.
22943
-If a subdirectory of a filesystem is exported, but the whole filesystem is not, then whenever a NFS request arrives, the server must check not only that the accessed file is in the appropriate filesystem (which is easy) but also that it is in the exported tree (which is harder). This check is called the subtree_check.
22946
-In order to perform this check, the server must include some information about the location of the file in the "filehandle" that is given to the client. This can cause problems with accessing files that are renamed while a client has them open (though in many simple cases it will still work).
22949
-subtree checking is also used to make sure that files inside directories to which only root has access can only be accessed if the filesystem is exported with no_root_squash (see below), even the file itself allows more general access.
22952
-As a general guide, a home directory filesystem, which is normally exported at the root and may see lots of file renames, should be exported with subtree checking disabled. A filesystem which is mostly read-only, and at least does not see many file renames (e.g. /usr or /var) and for which subdirectories may be exported, should probably be exported with subtree checks enabled.
22953
-</p></string>
22956
- <widget class="QCheckBox" row="6" column="0">
22957
- <property name="name">
22958
- <cstring>secureLocksChk</cstring>
22960
- <property name="text">
22961
- <string>Insecure loc&ks</string>
22963
- <property name="whatsThis" stdset="0">
22964
- <string><b>Insecure locks</b>
22966
-This option tells the NFS server not to require authentication of locking requests (i.e. requests which use the NLM protocol). Normally the NFS server will require a lock request to hold a credential for a user who has read access to the file. With this flag no access checks will be performed.
22969
-Early NFS client implementations did not send credentials with lock requests, and many current NFS clients still exist which are based on the old implementations. Use this flag if you find that you can only lock files which are world readable.
22970
-</p></string>
22975
- <widget class="QGroupBox" row="1" column="1">
22976
- <property name="name">
22977
- <cstring>GroupBox3</cstring>
22979
- <property name="sizePolicy">
22981
- <hsizetype>5</hsizetype>
22982
- <vsizetype>7</vsizetype>
22983
- <horstretch>0</horstretch>
22984
- <verstretch>0</verstretch>
22987
- <property name="title">
22988
- <string>User Mapping</string>
22990
- <property name="alignment">
22991
- <set>AlignAuto</set>
22994
- <property name="name">
22995
- <cstring>unnamed</cstring>
22997
- <property name="margin">
22998
- <number>11</number>
23000
- <property name="spacing">
23001
- <number>6</number>
23003
- <widget class="QCheckBox">
23004
- <property name="name">
23005
- <cstring>allSquashChk</cstring>
23007
- <property name="text">
23008
- <string>All s&quash</string>
23010
- <property name="whatsThis" stdset="0">
23011
- <string><b>All squash</b>
23013
-Map all uids and gids to the anonymous user. Useful for NFS-exported public FTP directories, news spool directories, etc. </p></string>
23016
- <widget class="QCheckBox">
23017
- <property name="name">
23018
- <cstring>rootSquashChk</cstring>
23020
- <property name="text">
23021
- <string>No &root squash</string>
23023
- <property name="whatsThis" stdset="0">
23024
- <string><b>No root squash</b>
23026
-Turn of root squashing. This option is mainly useful for diskless clients.
23028
-<i>root squashing</i>
23030
-Map requests from uid/gid 0 to the anonymous uid/gid. Note that this does not apply to any other uids that might be equally sensitive, such as user bin.
23031
-</p></string>
23034
- <widget class="QLayoutWidget">
23035
- <property name="name">
23036
- <cstring>layout15</cstring>
23039
- <property name="name">
23040
- <cstring>unnamed</cstring>
23042
- <widget class="QLabel">
23043
- <property name="name">
23044
- <cstring>TextLabel1_2</cstring>
23046
- <property name="text">
23047
- <string>Anonym. &UID:</string>
23049
- <property name="buddy" stdset="0">
23050
- <cstring>anonuidEdit</cstring>
23052
- <property name="whatsThis" stdset="0">
23053
- <string><b>Anonym. UID/GID</b> <p> These options explicitly set the uid and gid of the anonymous account. This option is primarily useful for PC/NFS clients, where you might want all requests appear to be from one user. </p></string>
23056
- <widget class="QLineEdit">
23057
- <property name="name">
23058
- <cstring>anonuidEdit</cstring>
23060
- <property name="sizePolicy">
23062
- <hsizetype>5</hsizetype>
23063
- <vsizetype>0</vsizetype>
23064
- <horstretch>100</horstretch>
23065
- <verstretch>0</verstretch>
23068
- <property name="minimumSize">
23070
- <width>50</width>
23071
- <height>0</height>
23074
- <property name="text">
23075
- <string>FF</string>
23080
- <widget class="QLayoutWidget">
23081
- <property name="name">
23082
- <cstring>layout16</cstring>
23085
- <property name="name">
23086
- <cstring>unnamed</cstring>
23088
- <widget class="QLabel">
23089
- <property name="name">
23090
- <cstring>TextLabel2</cstring>
23092
- <property name="text">
23093
- <string>Anonym. &GID:</string>
23095
- <property name="buddy" stdset="0">
23096
- <cstring>anongidEdit</cstring>
23098
- <property name="whatsThis" stdset="0">
23099
- <string><b>Anonym. UID/GID</b> <p> These options explicitly set the uid and gid of the anonymous account. This option is primarily useful for PC/NFS clients, where you might want all requests appear to be from one user. </p></string>
23102
- <widget class="QLineEdit">
23103
- <property name="name">
23104
- <cstring>anongidEdit</cstring>
23106
- <property name="sizePolicy">
23108
- <hsizetype>4</hsizetype>
23109
- <vsizetype>0</vsizetype>
23110
- <horstretch>0</horstretch>
23111
- <verstretch>0</verstretch>
23114
- <property name="minimumSize">
23116
- <width>50</width>
23117
- <height>0</height>
23120
- <property name="text">
23121
- <string>FF</string>
23128
- <spacer row="2" column="0">
23129
- <property name="name">
23130
- <cstring>spacer3</cstring>
23132
- <property name="orientation">
23133
- <enum>Vertical</enum>
23135
- <property name="sizeType">
23136
- <enum>Expanding</enum>
23138
- <property name="sizeHint">
23140
- <width>20</width>
23141
- <height>16</height>
23149
- <sender>publicChk</sender>
23150
- <signal>toggled(bool)</signal>
23151
- <receiver>nameEdit</receiver>
23152
- <slot>setDisabled(bool)</slot>
23155
- <sender>readOnlyChk</sender>
23156
- <signal>clicked()</signal>
23157
- <receiver>HostProps</receiver>
23158
- <slot>setModified()</slot>
23161
- <sender>secureChk</sender>
23162
- <signal>clicked()</signal>
23163
- <receiver>HostProps</receiver>
23164
- <slot>setModified()</slot>
23167
- <sender>syncChk</sender>
23168
- <signal>clicked()</signal>
23169
- <receiver>HostProps</receiver>
23170
- <slot>setModified()</slot>
23173
- <sender>wdelayChk</sender>
23174
- <signal>pressed()</signal>
23175
- <receiver>HostProps</receiver>
23176
- <slot>setModified()</slot>
23179
- <sender>subtreeChk</sender>
23180
- <signal>pressed()</signal>
23181
- <receiver>HostProps</receiver>
23182
- <slot>setModified()</slot>
23185
- <sender>secureLocksChk</sender>
23186
- <signal>pressed()</signal>
23187
- <receiver>HostProps</receiver>
23188
- <slot>setModified()</slot>
23191
- <sender>allSquashChk</sender>
23192
- <signal>pressed()</signal>
23193
- <receiver>HostProps</receiver>
23194
- <slot>setModified()</slot>
23197
- <sender>rootSquashChk</sender>
23198
- <signal>pressed()</signal>
23199
- <receiver>HostProps</receiver>
23200
- <slot>setModified()</slot>
23203
- <sender>nameEdit</sender>
23204
- <signal>textChanged(const QString&)</signal>
23205
- <receiver>HostProps</receiver>
23206
- <slot>setModified()</slot>
23209
- <sender>hideChk</sender>
23210
- <signal>clicked()</signal>
23211
- <receiver>HostProps</receiver>
23212
- <slot>setModified()</slot>
23215
- <sender>syncChk</sender>
23216
- <signal>toggled(bool)</signal>
23217
- <receiver>wdelayChk</receiver>
23218
- <slot>setEnabled(bool)</slot>
23221
- <sender>anonuidEdit</sender>
23222
- <signal>textChanged(const QString&)</signal>
23223
- <receiver>HostProps</receiver>
23224
- <slot>setModified()</slot>
23227
- <sender>anongidEdit</sender>
23228
- <signal>textChanged(const QString&)</signal>
23229
- <receiver>HostProps</receiver>
23230
- <slot>setModified()</slot>
23234
- <include location="local" impldecl="in implementation">hostprops.ui.h</include>
23237
- <signal>modified()</signal>
23240
- <slot>setModified()</slot>
23243
Index: kdenetwork-4.6.3/filesharing/advanced/nfs/hostprops.ui.h
23244
===================================================================
23245
--- kdenetwork-4.6.3.orig/filesharing/advanced/nfs/hostprops.ui.h 2011-01-19 17:21:04.000000000 -0500
23246
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
23248
-/****************************************************************************
23249
-** ui.h extension file, included from the uic-generated form implementation.
23251
-** If you wish to add, delete or rename slots use Qt Designer which will
23252
-** update this file, preserving your code. Create an init() slot in place of
23253
-** a constructor, and a destroy() slot in place of a destructor.
23254
-*****************************************************************************/
23256
-#ifndef NFS_HOSTPROPS_UI_H
23257
-#define NFS_HOSTPROPS_UI_H
23259
-void HostProps::setModified()
23264
-#endif // NFS_HOSTPROPS_UI_H
23265
Index: kdenetwork-4.6.3/filesharing/advanced/nfs/nfsdialog.cpp
23266
===================================================================
23267
--- kdenetwork-4.6.3.orig/filesharing/advanced/nfs/nfsdialog.cpp 2011-01-19 17:21:04.000000000 -0500
23268
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
23271
- Copyright (c) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
23273
- This program is free software; you can redistribute it and/or modify
23274
- it under the terms of the GNU General Public License as published by
23275
- the Free Software Foundation; either version 2 of the License, or
23276
- (at your option) any later version.
23278
- This program is distributed in the hope that it will be useful,
23279
- but WITHOUT ANY WARRANTY; without even the implied warranty of
23280
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23281
- GNU General Public License for more details.
23283
- You should have received a copy of the GNU General Public License
23284
- along with this program; if not, write to the Free Software
23285
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
23290
-#include <qradiobutton.h>
23291
-#include <qpushbutton.h>
23292
-#include <q3groupbox.h>
23293
-#include <qlineedit.h>
23294
-#include <q3buttongroup.h>
23295
-#include <qlayout.h>
23296
-//Added by qt3to4:
23297
-#include <QVBoxLayout>
23298
-#include <Q3PtrList>
23300
-#include <kdebug.h>
23301
-#include <kmessagebox.h>
23302
-#include <kfiledialog.h>
23303
-#include <klocale.h>
23304
-#include <k3listview.h>
23307
-#include "nfsdialog.h"
23308
-#include "nfsentry.h"
23309
-#include "nfshostdlg.h"
23310
-#include "nfsfile.h"
23313
-NFSDialogGUI::NFSDialogGUI( QWidget *parent )
23314
- : QWidget( parent )
23317
- connect( listView, SIGNAL( selectionChanged() ), this, SLOT( listView_selectionChanged() ) );
23320
-void NFSDialogGUI::listView_selectionChanged()
23322
- bool empty = listView->selectedItems().isEmpty();
23323
- modifyHostBtn->setDisabled(empty);
23324
- removeHostBtn->setDisabled(empty);
23328
-NFSDialog::NFSDialog(QWidget * parent, NFSEntry* entry)
23329
- : KDialog(parent),
23330
- m_nfsEntry(entry),
23331
- m_modified(false)
23333
- setCaption(i18n("NFS Options"));
23334
- setButtons(Ok|Cancel);
23335
- setDefaultButton(Ok);
23337
- m_workEntry = m_nfsEntry->copy();
23339
- kWarning() << "NFSDialog::NFSDialog: entry is null!";
23344
- connect(this,SIGNAL(okClicked()),this,SLOT(slotOk()));
23347
-NFSDialog::~NFSDialog()
23349
- delete m_workEntry;
23352
-void NFSDialog::initGUI() {
23353
- QWidget* page = new QWidget(this);
23354
- setMainWidget(page);
23355
- m_gui = new NFSDialogGUI(page);
23357
- QVBoxLayout *layout = new QVBoxLayout( page );
23358
- layout->addWidget( m_gui );
23360
-#warning "kde4 port it"
23362
- //KAccel* accel = new KAccel( m_gui->listView );
23363
- //accel->insert( "Delete", Qt::Key_Delete, this, SLOT(slotRemoveHost()));
23366
-void NFSDialog::initSlots()
23368
- connect( m_gui->removeHostBtn, SIGNAL(clicked()), this, SLOT( slotRemoveHost()));
23369
- connect( m_gui->addHostBtn, SIGNAL(clicked()), this, SLOT( slotAddHost()));
23370
- connect( m_gui->modifyHostBtn, SIGNAL(clicked()), this, SLOT( slotModifyHost()));
23371
- connect( m_gui->listView, SIGNAL(doubleClicked(Q3ListViewItem*)),
23372
- this, SLOT( slotModifyHost()));
23376
-void NFSDialog::initListView()
23378
- if (m_workEntry) {
23379
- HostIterator it = m_workEntry->getHosts();
23382
- while ( (host = it.current()) != 0 ) {
23384
- createItemFromHost(host);
23389
-Q3ListViewItem* NFSDialog::createItemFromHost(NFSHost* host)
23394
- Q3ListViewItem* item = new Q3ListViewItem(m_gui->listView);
23395
- updateItem(item, host);
23399
-void NFSDialog::updateItem(Q3ListViewItem* item, NFSHost* host)
23401
- item->setText(0,host->name);
23402
- item->setText(1,host->paramString());
23405
-void NFSDialog::slotAddHost()
23407
- NFSHost *host = new NFSHost();
23409
- // Set some secure parameters
23410
- //host->allSquash=true;
23411
- host->readonly=true;
23413
- HostList hostList;
23414
- hostList.append(host);
23416
- NFSHostDlg *dlg = new NFSHostDlg(this, &hostList, m_workEntry);
23420
- if (dlg->result()==QDialog::Accepted) {
23421
- m_workEntry->addHost(host);
23422
- createItemFromHost(host);
23431
-void NFSDialog::slotOk() {
23432
- if (m_modified) {
23433
- m_nfsEntry->copyFrom(m_workEntry);
23435
- KDialog::accept();
23438
-void NFSDialog::slotRemoveHost()
23440
- QList<Q3ListViewItem *> items = m_gui->listView->selectedItems();
23441
- if (items.count()==0)
23443
- foreach ( Q3ListViewItem* item, items ) {
23444
- QString name = item->text(0);
23445
- m_gui->listView->takeItem(item);
23447
- NFSHost* host = m_workEntry->getHostByName(name);
23449
- m_workEntry->removeHost(host);
23451
- kWarning() << "NFSDialog::slotRemoveHost: no host "
23452
- << name << " << found!" << endl;
23457
- m_gui->modifyHostBtn->setDisabled(true);
23458
- m_gui->removeHostBtn->setDisabled(true);
23462
-void NFSDialog::slotModifyHost()
23464
- QList<Q3ListViewItem*> items = m_gui->listView->selectedItems();
23465
- if (items.count()==0)
23468
- HostList hostList;
23469
- foreach ( Q3ListViewItem* item, items ) {
23470
- NFSHost* host = m_workEntry->getHostByName(item->text(0));
23472
- hostList.append(host);
23474
- kWarning() << "NFSDialog::slogModifyHost: host "
23475
- << item->text(0) << " is null!" << endl;
23478
- NFSHostDlg *dlg = new NFSHostDlg(this, &hostList, m_workEntry);
23479
- if (dlg->exec() == QDialog::Accepted &&
23480
- dlg->isModified())
23487
- NFSHost* host = hostList.first();
23488
- foreach ( Q3ListViewItem* item, items ) {
23489
- if (item && host)
23490
- updateItem( item,host);
23491
- host = hostList.next();
23495
-void NFSDialog::setModified()
23497
- m_modified = true;
23500
-bool NFSDialog::modified() {
23501
- return m_modified;
23504
-#include "nfsdialog.moc"
23506
Index: kdenetwork-4.6.3/filesharing/advanced/nfs/nfsdialoggui.ui
23507
===================================================================
23508
--- kdenetwork-4.6.3.orig/filesharing/advanced/nfs/nfsdialoggui.ui 2011-01-19 17:21:04.000000000 -0500
23509
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
23511
-<ui version="4.0" stdsetdef="1" >
23512
- <class>NFSDialogGUI</class>
23513
- <widget class="QWidget" name="NFSDialogGUI" >
23514
- <property name="geometry" >
23518
- <width>466</width>
23519
- <height>338</height>
23522
- <layout class="QVBoxLayout" >
23523
- <property name="margin" >
23524
- <number>0</number>
23526
- <property name="spacing" >
23527
- <number>6</number>
23530
- <widget class="Q3GroupBox" name="groupBox" >
23531
- <property name="enabled" >
23532
- <bool>true</bool>
23534
- <property name="title" >
23535
- <string>Allowed &Hosts</string>
23537
- <property name="toolTip" stdset="0" >
23538
- <string>A list of allowed hosts</string>
23540
- <property name="whatsThis" stdset="0" >
23541
- <string>Here you can see a list of hosts which are allowed to access this directory via NFS.
23542
-The first column shows the name or address of the host, the second column shows the access parameters. The name '*' donates public access.</string>
23544
- <layout class="QGridLayout" >
23545
- <property name="margin" >
23546
- <number>11</number>
23548
- <property name="spacing" >
23549
- <number>6</number>
23551
- <item row="0" column="1" >
23552
- <widget class="QPushButton" name="addHostBtn" >
23553
- <property name="text" >
23554
- <string>&Add Host...</string>
23558
- <item row="1" column="1" >
23559
- <widget class="QPushButton" name="modifyHostBtn" >
23560
- <property name="enabled" >
23561
- <bool>false</bool>
23563
- <property name="text" >
23564
- <string>Mo&dify Host...</string>
23568
- <item row="2" column="1" >
23569
- <widget class="QPushButton" name="removeHostBtn" >
23570
- <property name="enabled" >
23571
- <bool>false</bool>
23573
- <property name="text" >
23574
- <string>&Remove Host</string>
23578
- <item row="3" column="1" >
23579
- <spacer name="spacer3" >
23580
- <property name="sizeHint" >
23582
- <width>20</width>
23583
- <height>40</height>
23586
- <property name="sizeType" >
23587
- <enum>QSizePolicy::Expanding</enum>
23589
- <property name="orientation" >
23590
- <enum>Qt::Vertical</enum>
23594
- <item rowspan="4" row="0" column="0" colspan="1" >
23595
- <widget class="K3ListView" name="listView" >
23596
- <property name="selectionMode" stdset="0" >
23597
- <enum>Extended</enum>
23599
- <property name="fullWidth" >
23600
- <bool>true</bool>
23603
- <property name="text" >
23604
- <string>Name/Address</string>
23606
- <property name="clickable" >
23607
- <bool>true</bool>
23609
- <property name="resizable" >
23610
- <bool>true</bool>
23614
- <property name="text" >
23615
- <string>Parameters</string>
23617
- <property name="clickable" >
23618
- <bool>true</bool>
23620
- <property name="resizable" >
23621
- <bool>true</bool>
23633
- <class>K3ListView</class>
23634
- <extends>Q3ListView</extends>
23635
- <header location="global" >k3listview.h</header>
23639
- <tabstop>addHostBtn</tabstop>
23640
- <tabstop>modifyHostBtn</tabstop>
23641
- <tabstop>removeHostBtn</tabstop>
23645
- <sender>listView</sender>
23646
- <signal>selectionChanged()</signal>
23647
- <receiver>NFSDialogGUI</receiver>
23648
- <slot>listView_selectionChanged()</slot>
23652
Index: kdenetwork-4.6.3/filesharing/advanced/nfs/nfsdialog.h
23653
===================================================================
23654
--- kdenetwork-4.6.3.orig/filesharing/advanced/nfs/nfsdialog.h 2011-01-19 17:21:04.000000000 -0500
23655
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
23658
- Copyright (c) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
23660
- This program is free software; you can redistribute it and/or modify
23661
- it under the terms of the GNU General Public License as published by
23662
- the Free Software Foundation; either version 2 of the License, or
23663
- (at your option) any later version.
23665
- This program is distributed in the hope that it will be useful,
23666
- but WITHOUT ANY WARRANTY; without even the implied warranty of
23667
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23668
- GNU General Public License for more details.
23670
- You should have received a copy of the GNU General Public License
23671
- along with this program; if not, write to the Free Software
23672
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
23676
-#ifndef NFSDIALOG_H
23677
-#define NFSDIALOG_H
23679
-#include <kdialog.h>
23680
-#include "ui_nfsdialoggui.h"
23684
-class Q3ListViewItem;
23686
-class NFSDialogGUI : public QWidget, public Ui::NFSDialogGUI
23690
- NFSDialogGUI( QWidget *parent );
23693
- void listView_selectionChanged();
23697
-class NFSDialog : public KDialog
23701
- NFSDialog(QWidget * parent, NFSEntry* entry);
23705
- NFSEntry * m_nfsEntry;
23706
- NFSEntry * m_workEntry;
23707
- NFSDialogGUI* m_gui;
23710
- Q3ListViewItem* createItemFromHost(NFSHost* host);
23711
- void updateItem(Q3ListViewItem* item, NFSHost* host);
23713
- void initListView();
23714
- void initSlots();
23715
- void initWorkEntry();
23717
- void slotAddHost();
23718
- void slotRemoveHost();
23719
- void slotModifyHost();
23720
- virtual void slotOk();
23721
- void setModified();
23725
Index: kdenetwork-4.6.3/filesharing/advanced/nfs/nfsentry.cpp
23726
===================================================================
23727
--- kdenetwork-4.6.3.orig/filesharing/advanced/nfs/nfsentry.cpp 2011-01-19 17:21:04.000000000 -0500
23728
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
23731
- Copyright (c) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
23733
- This program is free software; you can redistribute it and/or modify
23734
- it under the terms of the GNU General Public License as published by
23735
- the Free Software Foundation; either version 2 of the License, or
23736
- (at your option) any later version.
23738
- This program is distributed in the hope that it will be useful,
23739
- but WITHOUT ANY WARRANTY; without even the implied warranty of
23740
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23741
- GNU General Public License for more details.
23743
- You should have received a copy of the GNU General Public License
23744
- along with this program; if not, write to the Free Software
23745
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
23749
-#include <kdebug.h>
23751
-#include "nfsentry.h"
23753
-NFSHost::NFSHost(const QString & hostString)
23757
- QString s = hostString;
23759
- int l = s.indexOf('(');
23760
- int r = s.indexOf(')');
23766
- name = s.left(l);
23770
- kDebug(5009) << "NFSHost: name='" << name << "'";
23772
- if (l>=0 && r>=0)
23774
- QString params = s.mid(l+1,r-l-1);
23776
- parseParamsString(params);
23780
-NFSHost::NFSHost() {
23785
-NFSHost::~NFSHost()
23790
- * Set the parameters to their default values
23792
-void NFSHost::initParams()
23799
- subtreeCheck = true;
23800
- secureLocks = true;
23801
- allSquash = false;
23802
- rootSquash = true;
23809
-void NFSHost::parseParamsString(const QString & s)
23817
- QString rest = s;
23822
- i = rest.indexOf(",",0);
23828
- p = rest.left( i );
23829
- rest = rest.mid(i+1);
23838
-QString NFSHost::paramString() const
23842
- if (!readonly) s+="rw,";
23843
- if (!rootSquash) s+="no_root_squash,";
23844
- if (!secure) s+="insecure,";
23845
- if (!secureLocks) s+="insecure_locks,";
23846
- if (!subtreeCheck) s+="no_subtree_check,";
23852
- if (!wdelay) s+="wdelay,";
23853
- if (allSquash) s+="all_squash,";
23854
- if (!hide) s+="nohide,";
23856
- if (anongid!=65534)
23857
- s+=QString("anongid=%1,").arg(anongid);
23859
- if (anonuid!=65534)
23860
- s+=QString("anonuid=%1,").arg(anonuid);
23862
- // get rid of the last ','
23863
- s.truncate(s.length()-1);
23868
-QString NFSHost::toString() const
23870
- QString s = name;
23873
- s+=paramString();
23880
-NFSHost* NFSHost::copy() const {
23881
- NFSHost* result = new NFSHost();
23883
- result->name = name;
23885
- result->readonly = readonly;
23886
- result->sync = sync;
23887
- result->secure = secure;
23888
- result->wdelay = wdelay;
23889
- result->hide = hide;
23890
- result->subtreeCheck = subtreeCheck;
23891
- result->secureLocks = secureLocks;
23892
- result->allSquash = allSquash;
23893
- result->rootSquash = rootSquash;
23895
- result->anonuid = anonuid;
23896
- result->anongid = anongid;
23901
-bool NFSHost::isPublic() const {
23902
- return name == "*";
23905
-void NFSHost::setParam(const QString & s)
23907
- QString p = s.toLower();
23914
- readonly = false;
23921
- if (p=="async") {
23925
- if (p=="secure") {
23929
- if (p=="insecure") {
23933
- if (p=="wdelay") {
23937
- if (p=="no_wdelay") {
23945
- if (p=="nohide") {
23949
- if (p=="subtree_check") {
23950
- subtreeCheck = true;
23953
- if (p=="no_subtree_check") {
23954
- subtreeCheck = false;
23957
- if (p=="secure_locks" ||
23959
- secureLocks = true;
23962
- if (p=="insecure_locks" ||
23963
- p=="no_auth_nlm" ) {
23964
- secureLocks = true;
23967
- if (p=="all_squash") {
23968
- allSquash = true;
23971
- if (p=="no_all_squash") {
23972
- allSquash = false;
23975
- if (p=="root_squash") {
23976
- rootSquash = true;
23979
- if (p=="no_root_squash") {
23980
- rootSquash = false;
23983
- int i = p.indexOf('=',0);
23985
- // get anongid or anonuid
23988
- QString name = p.left(i).toLower();
23989
- kDebug(5009) << name;
23991
- QString value = p.mid(i+1);
23992
- kDebug(5009) << value;
23994
- if (name=="anongid")
23995
- anongid = value.toInt();
23997
- if (name=="anonuid")
23998
- anonuid = value.toInt();
24003
-NFSEntry::NFSEntry(const QString & path)
24005
- _hosts.setAutoDelete(true);
24009
-NFSEntry::~NFSEntry()
24013
-void NFSEntry::clear() {
24017
-NFSEntry* NFSEntry::copy() {
24018
- NFSEntry* result = new NFSEntry(path());
24019
- result->copyFrom(this);
24023
-void NFSEntry::copyFrom(NFSEntry* entry) {
24025
- HostIterator it = entry->getHosts();
24028
- while ( (host = it.current()) != 0 ) {
24030
- addHost(host->copy());
24034
-QString NFSEntry::toString() const
24036
- QString s = _path.trimmed();
24038
- if (_path.contains(' ')) {
24044
- HostIterator it = getHosts();
24048
- while ( (host = it.current()) != 0 )
24051
- s+= host->toString() ;
24052
- if (it.current())
24060
-void NFSEntry::addHost(NFSHost * host)
24062
- _hosts.append(host);
24065
-void NFSEntry::removeHost(NFSHost * host)
24067
- _hosts.remove(host);
24070
-NFSHost* NFSEntry::getHostByName(const QString & name) const
24072
- HostIterator it = getHosts();
24075
- while ( (host = it.current()) != 0 )
24079
- if (host->name==name)
24086
-NFSHost* NFSEntry::getPublicHost() const
24088
- NFSHost* result = getHostByName("*");
24092
- return getHostByName(QString::null); //krazy:exclude=nullstrassign for old broken gcc
24096
-HostIterator NFSEntry::getHosts() const
24098
- return HostIterator(_hosts);
24101
-QString NFSEntry::path() const
24106
-void NFSEntry::setPath(const QString & path)
24111
Index: kdenetwork-4.6.3/filesharing/advanced/nfs/nfsentry.h
24112
===================================================================
24113
--- kdenetwork-4.6.3.orig/filesharing/advanced/nfs/nfsentry.h 2011-01-19 17:21:04.000000000 -0500
24114
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
24117
- Copyright (c) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
24119
- This program is free software; you can redistribute it and/or modify
24120
- it under the terms of the GNU General Public License as published by
24121
- the Free Software Foundation; either version 2 of the License, or
24122
- (at your option) any later version.
24124
- This program is distributed in the hope that it will be useful,
24125
- but WITHOUT ANY WARRANTY; without even the implied warranty of
24126
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24127
- GNU General Public License for more details.
24129
- You should have received a copy of the GNU General Public License
24130
- along with this program; if not, write to the Free Software
24131
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24135
-#ifndef NFSENTRY_H
24136
-#define NFSENTRY_H
24139
-#include <qstring.h>
24140
-#include <q3ptrlist.h>
24146
- NFSHost(const QString & hostString);
24155
- bool subtreeCheck;
24156
- bool secureLocks;
24165
- QString paramString() const;
24166
- QString toString() const;
24167
- bool isPublic() const;
24169
- /** returns a copy of this host */
24170
- NFSHost* copy() const;
24172
- void parseParamsString(const QString &);
24173
- void setParam(const QString &);
24174
- void initParams();
24179
-typedef Q3PtrList<NFSHost> HostList;
24180
-typedef Q3PtrListIterator<NFSHost> HostIterator;
24184
- virtual ~NFSLine(){}
24185
- virtual QString toString() const = 0;
24188
-typedef Q3PtrList<NFSLine> NFSLineList;
24189
-typedef Q3PtrListIterator<NFSLine> NFSLineIterator;
24191
-class NFSEmptyLine : public NFSLine {
24193
- virtual QString toString() const { return QString::fromLatin1("\n"); }
24194
- virtual ~NFSEmptyLine() {}
24197
-class NFSComment : public NFSLine {
24199
- NFSComment(const QString & s) { comment = s; }
24200
- virtual ~NFSComment() {}
24202
- virtual QString toString() const { return comment; }
24205
-class NFSEntry : public NFSLine {
24207
- NFSEntry(const QString & path);
24208
- virtual ~NFSEntry();
24210
- void addHost(NFSHost * host);
24211
- void removeHost(NFSHost * host);
24212
- NFSHost* getHostByName(const QString & name) const;
24213
- NFSHost* getPublicHost() const;
24214
- HostIterator getHosts() const;
24216
- /** Creates a deep copy of this entry */
24217
- NFSEntry * copy();
24219
- /** clears all hosts and makes a deep copy of
24220
- * the given entry
24222
- void copyFrom(NFSEntry* entry);
24224
- /** removes all hosts */
24226
- QString path() const;
24227
- void setPath(const QString &);
24229
- virtual QString toString() const;
24237
Index: kdenetwork-4.6.3/filesharing/advanced/nfs/nfsfile.cpp
24238
===================================================================
24239
--- kdenetwork-4.6.3.orig/filesharing/advanced/nfs/nfsfile.cpp 2011-01-19 17:21:04.000000000 -0500
24240
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
24243
- Copyright (c) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
24245
- This program is free software; you can redistribute it and/or modify
24246
- it under the terms of the GNU General Public License as published by
24247
- the Free Software Foundation; either version 2 of the License, or
24248
- (at your option) any later version.
24250
- This program is distributed in the hope that it will be useful,
24251
- but WITHOUT ANY WARRANTY; without even the implied warranty of
24252
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24253
- GNU General Public License for more details.
24255
- You should have received a copy of the GNU General Public License
24256
- along with this program; if not, write to the Free Software
24257
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24263
-#include <unistd.h>
24265
-#include <qfileinfo.h>
24266
-#include <qfile.h>
24267
-#include <qtextstream.h>
24268
-#include <qstringlist.h>
24269
-#include <KStandardDirs>
24270
-#include <kdebug.h>
24271
-#include <kmessagebox.h>
24272
-#include <klocale.h>
24273
-#include <knfsshare.h>
24274
-#include <ktemporaryfile.h>
24275
-#include <kprocess.h>
24276
-#include <kshell.h>
24277
-#include "nfsfile.h"
24279
-NFSFile::NFSFile(const KUrl & url, bool readonly)
24281
- _lines.setAutoDelete(true);
24282
- _entries.setAutoDelete(false);
24284
- _readonly = readonly;
24287
-NFSFile::~NFSFile()
24291
-void NFSFile::addEntry(NFSEntry *entry)
24293
- _lines.append(entry);
24294
- _entries.append(entry);
24297
-void NFSFile::removeEntry(NFSEntry *entry)
24299
- _entries.remove(entry);
24300
- _lines.remove(entry);
24303
-bool NFSFile::hasEntry(NFSEntry *entry)
24305
- return 0 < _entries.contains(entry);
24309
-NFSEntry* NFSFile::getEntryByPath(const QString & path)
24311
- if( path.isEmpty())
24314
- QString testPath = path.trimmed();
24315
- if ( !testPath.endsWith('/') )
24318
- for (NFSEntry* entry = _entries.first(); entry; entry = _entries.next())
24320
- if (entry->path()==testPath)
24327
-bool NFSFile::removeEntryByPath(const QString & path) {
24328
- NFSEntry* entry = getEntryByPath(path);
24332
- removeEntry(entry);
24336
-EntryIterator NFSFile::getEntries()
24338
- return EntryIterator(_entries);
24344
-bool NFSFile::load()
24346
- QFile f(_url.path());
24348
- if ( !f.open(QIODevice::ReadOnly) ) {
24349
- kError() << "NFSFile::load: Could not open " << _url.path() << endl;
24353
- _entries.clear();
24356
- QTextStream s( &f );
24358
- bool continuedLine = false; // is true if the line before ended with a backslash
24359
- QString completeLine;
24361
- while ( !s.atEnd() )
24363
- QString currentLine = s.readLine().trimmed();
24365
- if (continuedLine) {
24366
- completeLine += currentLine;
24367
- continuedLine = false;
24370
- completeLine = currentLine;
24372
- // is the line continued in the next line ?
24373
- if ( completeLine.endsWith('\\') )
24375
- continuedLine = true;
24376
- // remove the ending backslash
24377
- completeLine.truncate( completeLine.length()-1 );
24382
- if (completeLine.isEmpty()) {
24383
- _lines.append(new NFSEmptyLine());
24388
- if (completeLine.startsWith('#') ) {
24389
- _lines.append(new NFSComment(completeLine));
24396
- // Handle quotation marks
24397
- if ( completeLine.startsWith('"') ) {
24398
- int i = completeLine.indexOf('"',1);
24400
- kError() << "NFSFile: Parse error: Missing quotation mark: "
24401
- << completeLine << endl;
24404
- path = completeLine.mid(1,i-1);
24405
- hosts = completeLine.mid(i+1);
24407
- } else { // no quotation marks
24408
- int i = completeLine.indexOf(' ');
24410
- i = completeLine.indexOf('\t');
24413
- path = completeLine;
24415
- path = completeLine.left(i);
24416
- hosts = completeLine.mid(i+1).trimmed();
24420
- // normalize path
24421
- if ( !path.endsWith('/') )
24424
- kDebug(5009) << "KNFSShare: Found path: '" << path << "'";
24425
- NFSEntry *entry = new NFSEntry(path);
24426
- QStringList hostList = QStringList::split(' ', hosts);
24428
- if (hostList.isEmpty()) {
24429
- NFSHost* host = new NFSHost("*");
24430
- entry->addHost(host);
24432
- QStringList::iterator it;
24433
- for ( it = hostList.begin(); it != hostList.end(); ++it ) {
24434
- NFSHost* host = new NFSHost((*it).trimmed());
24435
- entry->addHost(host);
24436
- kDebug(5009) << "KNFSShare: Found host: " << (*it) << " name='"
24437
- << host->name << "'" << endl;
24441
- kDebug(5009) << "KNFSShare: Found hosts: " << hosts << "'";
24442
- this->addEntry(entry);
24452
-void NFSFile::saveTo(QTextStream * stream) {
24453
- Q3PtrListIterator<NFSLine> it(_lines);
24456
- while ( (line = it.current()) != 0 ) {
24458
- *stream << line->toString() << endl;
24462
-bool NFSFile::saveTo(const QString& fileName) {
24463
- QFile file(fileName);
24464
- if (!file.open(QIODevice::WriteOnly))
24467
- QTextStream stream(&file);
24473
-bool NFSFile::save()
24475
- if (QFileInfo(_url.path()).isWritable() ) {
24476
- saveTo(_url.path());
24480
- KTemporaryFile tempFile;
24482
- saveTo(tempFile.fileName());
24484
- QString command = QString("cp %1 %2")
24485
- .arg(KShell::quoteArg( tempFile.fileName() ),
24486
- KShell::quoteArg( _url.path() ));
24488
- if (restartNFSServer)
24489
- command +=" && exportfs -ra";
24492
- if (!QFileInfo(_url.path()).isWritable() || restartNFSServer)
24493
- proc<<KStandardDirs::findExe("kdesu") << "-d" << "-c"<<command;
24495
- proc.setShellCommand(command);
24497
- if (proc.execute()) {
24506
Index: kdenetwork-4.6.3/filesharing/advanced/nfs/nfsfile.h
24507
===================================================================
24508
--- kdenetwork-4.6.3.orig/filesharing/advanced/nfs/nfsfile.h 2011-01-19 17:21:04.000000000 -0500
24509
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
24512
- Copyright (c) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
24514
- This program is free software; you can redistribute it and/or modify
24515
- it under the terms of the GNU General Public License as published by
24516
- the Free Software Foundation; either version 2 of the License, or
24517
- (at your option) any later version.
24519
- This program is distributed in the hope that it will be useful,
24520
- but WITHOUT ANY WARRANTY; without even the implied warranty of
24521
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24522
- GNU General Public License for more details.
24524
- You should have received a copy of the GNU General Public License
24525
- along with this program; if not, write to the Free Software
24526
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24535
-#include "nfsentry.h"
24536
-//Added by qt3to4:
24537
-#include <QTextStream>
24538
-#include <Q3PtrList>
24540
-typedef Q3PtrList<NFSEntry> EntryList;
24541
-typedef Q3PtrListIterator<NFSEntry> EntryIterator;
24543
-class QTextStream;
24547
- NFSFile(const KUrl & , bool readonly = true);
24550
- void addEntry(NFSEntry *);
24551
- void removeEntry(NFSEntry *);
24552
- bool hasEntry(NFSEntry *);
24553
- NFSEntry* getEntryByPath(const QString &);
24554
- bool removeEntryByPath(const QString &);
24555
- EntryIterator getEntries();
24558
- bool saveTo(const QString& fileName);
24559
- void saveTo(QTextStream * stream);
24562
- bool restartNFSServer;
24568
- EntryList _entries;
24569
- NFSLineList _lines;
24573
Index: kdenetwork-4.6.3/filesharing/advanced/nfs/nfshostdlg.cpp
24574
===================================================================
24575
--- kdenetwork-4.6.3.orig/filesharing/advanced/nfs/nfshostdlg.cpp 2011-01-19 17:21:04.000000000 -0500
24576
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
24578
-/***************************************************************************
24579
- nfshostdlg.cpp - description
24580
- -------------------
24581
- begin : Mon Apr 29 2002
24582
- copyright : (C) 2002 by Jan Sch�er
24583
- email : janschaefer@users.sourceforge.net
24584
- ***************************************************************************/
24586
-/***************************************************************************
24588
- * This program is free software; you can redistribute it and/or modify *
24589
- * it under the terms of the GNU General Public License as published by *
24590
- * the Free Software Foundation; either version 2 of the License, or *
24591
- * (at your option) any later version. *
24593
- ***************************************************************************/
24595
-#include <qcheckbox.h>
24596
-#include <qlayout.h>
24597
-#include <qlineedit.h>
24598
-#include <q3whatsthis.h>
24599
-#include <q3groupbox.h>
24600
-//Added by qt3to4:
24601
-#include <QVBoxLayout>
24602
-#include <klocale.h>
24603
-#include <kdebug.h>
24604
-#include <kmessagebox.h>
24606
-#include <assert.h>
24608
-#include "nfshostdlg.h"
24609
-#include "hostprops.h"
24610
-#include "nfsentry.h"
24613
-NFSHostDlg::NFSHostDlg(QWidget* parent, HostList* hosts, NFSEntry* entry)
24614
- : KDialog(parent),
24615
- m_hosts(hosts), m_nfsEntry(entry), m_modified(false)
24617
- setCaption(i18n("Host Properties"));
24618
- setButtons(Ok|Cancel);
24619
- setDefaultButton(Ok);
24621
- QWidget* page = new QWidget(this);
24622
- setMainWidget(page);
24624
- m_gui = new HostProps(page);
24626
- QVBoxLayout *layout = new QVBoxLayout( page );
24627
- layout->setSpacing( 6 );
24628
- layout->setMargin( 0 );
24629
- layout->addWidget( m_gui );
24631
- connect( m_gui, SIGNAL(modified()), this, SLOT(setModified()));
24632
- connect(this,SIGNAL(okClicked()),this,SLOT(slotOk()));
24637
-NFSHostDlg::~NFSHostDlg()
24641
-void NFSHostDlg::init()
24643
- if (m_hosts->count()==1) {
24644
- NFSHost* host = m_hosts->first();
24646
- m_gui->nameEdit->setText(host->name);
24647
- m_gui->publicChk->setChecked(host->isPublic());
24649
- setHostValues(host);
24651
- m_gui->nameEdit->setFocus();
24653
- m_gui->nameEdit->setDisabled(true);
24654
- m_gui->publicChk->setDisabled(true);
24656
- m_gui->readOnlyChk->setTristate();
24657
- m_gui->allSquashChk->setTristate();
24658
- m_gui->rootSquashChk->setTristate();
24659
- m_gui->hideChk->setTristate();
24660
- m_gui->secureChk->setTristate();
24661
- m_gui->secureLocksChk->setTristate();
24662
- m_gui->subtreeChk->setTristate();
24663
- m_gui->syncChk->setTristate();
24664
- m_gui->wdelayChk->setTristate();
24666
- for (NFSHost* host = m_hosts->first(); host; host = m_hosts->next()) {
24667
- setHostValues(host);
24672
-void NFSHostDlg::setHostValues(NFSHost* host) {
24673
- setCheckBoxValue(m_gui->readOnlyChk, ! host->readonly);
24674
- setCheckBoxValue(m_gui->allSquashChk, host->allSquash);
24675
- setCheckBoxValue(m_gui->rootSquashChk, ! host->rootSquash);
24676
- setCheckBoxValue(m_gui->hideChk, ! host->hide);
24677
- setCheckBoxValue(m_gui->secureChk, ! host->secure);
24678
- setCheckBoxValue(m_gui->secureLocksChk, ! host->secureLocks);
24679
- setCheckBoxValue(m_gui->subtreeChk, ! host->subtreeCheck);
24680
- setCheckBoxValue(m_gui->syncChk, host->sync);
24681
- setCheckBoxValue(m_gui->wdelayChk, ! host->wdelay);
24683
- setEditValue(m_gui->anonuidEdit,QString::number(host->anonuid));
24684
- setEditValue(m_gui->anongidEdit,QString::number(host->anongid));
24687
-void NFSHostDlg::setEditValue(QLineEdit* edit, const QString & value) {
24688
- if (edit->text().isEmpty())
24691
- if (edit->text() == "FF")
24692
- edit->setText(value);
24694
- if (edit->text() != value)
24698
-void NFSHostDlg::setCheckBoxValue(QCheckBox* chk, bool value) {
24699
- if (chk->checkState() == Qt::PartiallyChecked)
24702
- if (chk->isChecked()) {
24704
- chk->setCheckState(Qt::PartiallyChecked);
24707
- chk->setChecked(true);
24712
-void NFSHostDlg::slotOk()
24714
- if (m_hosts->count()==1) {
24715
- NFSHost* host = m_hosts->first();
24716
- if (! saveName(host))
24719
- saveValues(host);
24721
- for (NFSHost* host = m_hosts->first(); host; host = m_hosts->next()) {
24722
- saveValues(host);
24726
- KDialog::accept();
24729
-bool NFSHostDlg::saveName(NFSHost* host) {
24730
- if (m_gui->publicChk->isChecked()) {
24731
- NFSHost* publicHost = m_nfsEntry->getPublicHost();
24732
- if (publicHost && publicHost != host) {
24733
- KMessageBox::sorry(this,i18n("There already exists a public entry."),
24734
- i18n("Host Already Exists"));
24735
- m_gui->publicChk->setChecked(false);
24740
- QString name = m_gui->nameEdit->text().trimmed();
24741
- if (name.isEmpty()) {
24742
- KMessageBox::sorry(this,
24743
- i18n("Please enter a hostname or an IP address."),
24744
- i18n("No Hostname/IP-Address"));
24745
- m_gui->nameEdit->setFocus();
24748
- NFSHost* host2 = m_nfsEntry->getHostByName(name);
24749
- if (host2 && host2 != host) {
24750
- KMessageBox::sorry(this,i18n("The host '%1' already exists.", name),
24751
- i18n("Host Already Exists"));
24752
- m_gui->nameEdit->setFocus();
24763
-void NFSHostDlg::saveValues(NFSHost* host) {
24765
- saveCheckBoxValue(host->readonly,m_gui->readOnlyChk,true);
24766
- saveCheckBoxValue(host->allSquash,m_gui->allSquashChk,false);
24767
- saveCheckBoxValue(host->rootSquash,m_gui->rootSquashChk,true);
24768
- saveCheckBoxValue(host->hide,m_gui->hideChk,true);
24769
- saveCheckBoxValue(host->secure,m_gui->secureChk,true);
24770
- saveCheckBoxValue(host->secureLocks,m_gui->secureLocksChk,true);
24771
- saveCheckBoxValue(host->subtreeCheck,m_gui->subtreeChk,true);
24772
- saveCheckBoxValue(host->sync,m_gui->syncChk,false);
24773
- saveCheckBoxValue(host->wdelay,m_gui->wdelayChk,true);
24775
- saveEditValue(host->anonuid,m_gui->anonuidEdit);
24776
- saveEditValue(host->anongid,m_gui->anongidEdit);
24779
-void NFSHostDlg::saveEditValue(int & value, QLineEdit* edit) {
24780
- if ( edit->text().isEmpty())
24783
- value = edit->text().toInt();
24786
-void NFSHostDlg::saveCheckBoxValue(bool & value, QCheckBox* chk, bool neg) {
24787
- if (chk->checkState() == Qt::PartiallyChecked)
24791
- value = ! chk->isChecked();
24793
- value = chk->isChecked();
24798
-bool NFSHostDlg::isModified() {
24799
- return m_modified;
24803
-void NFSHostDlg::setModified()
24805
- m_modified = true;
24808
-#include "nfshostdlg.moc"
24811
Index: kdenetwork-4.6.3/filesharing/advanced/nfs/nfshostdlg.h
24812
===================================================================
24813
--- kdenetwork-4.6.3.orig/filesharing/advanced/nfs/nfshostdlg.h 2011-01-19 17:21:04.000000000 -0500
24814
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
24816
-/***************************************************************************
24817
- nfshostdlg.h - description
24818
- -------------------
24819
- begin : Mon Apr 29 2002
24820
- copyright : (C) 2002 by Jan Schäfer
24821
- email : janschaefer@users.sourceforge.net
24822
- ***************************************************************************/
24824
-/***************************************************************************
24826
- * This program is free software; you can redistribute it and/or modify *
24827
- * it under the terms of the GNU General Public License as published by *
24828
- * the Free Software Foundation; either version 2 of the License, or *
24829
- * (at your option) any later version. *
24831
- ***************************************************************************/
24833
-#ifndef NFSHOSTDLG_H
24834
-#define NFSHOSTDLG_H
24836
-#include <kdialog.h>
24837
-#include "nfsentry.h"
24846
-class NFSHostDlg : public KDialog
24850
- NFSHostDlg(QWidget* parent, HostList* hosts, NFSEntry* entry);
24851
- virtual ~NFSHostDlg();
24852
- bool isModified();
24854
- HostList* m_hosts;
24855
- NFSEntry* m_nfsEntry;
24856
- HostProps* m_gui;
24861
- virtual void slotOk();
24862
- void setModified();
24865
- void setHostValues(NFSHost* host);
24866
- void setEditValue(QLineEdit* edit, const QString & value);
24867
- void setCheckBoxValue(QCheckBox* chk, bool value);
24868
- bool saveName(NFSHost* host);
24869
- void saveValues(NFSHost* host);
24870
- void saveEditValue(int & value, QLineEdit* edit);
24871
- void saveCheckBoxValue(bool & value, QCheckBox* chk, bool neg);
24875
Index: kdenetwork-4.6.3/filesharing/advanced/propsdlgplugin/CMakeLists.txt
24876
===================================================================
24877
--- kdenetwork-4.6.3.orig/filesharing/advanced/propsdlgplugin/CMakeLists.txt 2011-01-19 17:21:04.000000000 -0500
24878
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
24880
-include_directories(${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/ ${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/)
24882
-########### next target ###############
24884
-set(fileshare_propsdlgplugin_PART_SRCS propsdlgshareplugin.cpp ${libpropsdlgplugin_common_SRCS} ${libfilesharesamba_SRCS} ${libfilesharenfs_SRCS})
24886
-kde4_add_ui3_files(fileshare_propsdlgplugin_PART_SRCS
24887
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/hostprops.ui
24888
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/socketoptionsdlg.ui
24889
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/userselectdlg.ui
24890
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/groupselectdlg.ui
24891
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/usertab.ui
24892
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/filemodedlg.ui
24895
-kde4_add_ui_files(fileshare_propsdlgplugin_PART_SRCS
24896
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/share.ui
24897
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/expertuserdlg.ui
24898
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/nfsdialoggui.ui
24899
- propertiespagegui.ui
24903
-kde4_add_plugin(fileshare_propsdlgplugin ${fileshare_propsdlgplugin_PART_SRCS})
24905
-target_link_libraries(fileshare_propsdlgplugin ${KDE4_KIO_LIBS} ${KDE4_KDE3SUPPORT_LIBS})
24907
-install(TARGETS fileshare_propsdlgplugin DESTINATION ${PLUGIN_INSTALL_DIR})
24909
-########### install files ###############
24911
-install(FILES fileshare_propsdlgplugin.desktop DESTINATION ${SERVICES_INSTALL_DIR})
24912
Index: kdenetwork-4.6.3/filesharing/advanced/propsdlgplugin/fileshare_propsdlgplugin.desktop
24913
===================================================================
24914
--- kdenetwork-4.6.3.orig/filesharing/advanced/propsdlgplugin/fileshare_propsdlgplugin.desktop 2011-02-25 16:47:35.000000000 -0500
24915
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
24919
-Icon=preferences-system-network-share-windows
24920
-Name=Fileshare Konqueror Directory Properties Page
24921
-Name[ar]=صفحة دليل خصائص مشاركة ملفات كونكيورر
24922
-Name[ast]=Páxina de propiedaes del direutoriu pa compartir ficheros de Konqueror
24923
-Name[bg]=Настройки за приставката за браузъра за споделяна на файлове
24924
-Name[bn]=ফাইল ভাগাভাগি কনকরার ডিরেক্টরী বৈশিষ্ট্যাবলী পাতা
24925
-Name[ca]=Pàgina de propietats del directori de compartició de fitxers del Konqueror
24926
-Name[ca@valencia]=Pàgina de propietats del directori de compartició de fitxers del Konqueror
24927
-Name[cs]=Stránka vlastností adresáře sdílení Konqueroru
24928
-Name[da]=Fileshare Konqueror-mappens side med egenskaber
24929
-Name[de]=Ordnerfreigabe-Eigenschaftenseite für Konqueror
24930
-Name[el]=Σελίδα ιδιοτήτων κοινόχρηστου καταλόγου του Konqueror
24931
-Name[en_GB]=Fileshare Konqueror Directory Properties Page
24932
-Name[eo]=Paĝo de ecoj de la komunaj dosierujoj de Konkeranto
24933
-Name[es]=Página de propiedades del directorio para compartir archivos de Konqueror
24934
-Name[et]=Failijagamise Konquerori kataloogi omaduste lehekülg
24935
-Name[eu]=Fitxategiak partekatzeko Konqueror direktorioaren propietateen orria
24936
-Name[fa]=صفحۀ ویژگیهای فهرست راهنمای اشتراک پروندۀ Konqueror
24937
-Name[fi]=Konquerorin tiedostojakojen ominaisuussivu
24938
-Name[fr]=Page des propriétés d'un dossier de partage de Konqueror
24939
-Name[ga]=Leathanach Airíonna Konqueror: Comhroinnt Comhadlainne
24940
-Name[gl]=Páxina coas propiedades do directorio de ficheiros compartidos de Konqueror
24941
-Name[he]=דף מאפייני ספרית קבצים משותפת של Konqueror
24942
-Name[hi]=फ़ाइलशेयर कॉन्करर डिरेक्ट्रीज़ गुण पृष्ठ
24943
-Name[hne]=फाइलसेयर कान्करर डिरेक्टरीज गुन पेज
24944
-Name[hr]=Stranica sa postavkama svojstava Konqueror Directoryja za dijeljenje datoteka
24945
-Name[hu]=Fájlmegosztási lap a Konqueror könyvtártulajdonságainál
24946
-Name[ia]=Pagina de proprietates de directorio de Konqueror pro compartir de file
24947
-Name[is]=Skráastjóraeiginleikar Konqueror
24948
-Name[it]=Pagina delle proprietà di Konqueror per la condivisione
24949
-Name[ja]=Konqueror でファイル共有するディレクトリのプロパティのページ
24950
-Name[kk]=Konqueror файлдарын ортақтастыру каталогының қасиеттер беті
24951
-Name[km]=ទំព័រលក្ខណៈសម្បត្តិថត Konqueror សម្រាប់ការចែករំលែក
24952
-Name[ko]=Konqueror 디렉터리 속성 페이지의 파일 공유 탭
24953
-Name[lt]=Failų dalinimosi Konqueror aplanko nustatymų puslapis
24954
-Name[lv]=Konqueror mapes koplietošanas īpašību lapa
24955
-Name[mk]=Страница со параметри за делен именик во Konqueror
24956
-Name[ml]=ഫയല്ഷെയര് കോണ്ക്വറര് തട്ടിന്റെ ഗുണവിശേഷങ്ങളുടെ താള്
24957
-Name[nb]=Fildeler – Side i Konquerors mappegenskaper
24958
-Name[nds]=Konqueror Ornerfreegaav-Egenschappensiet
24959
-Name[ne]=फाइल साझेदारी कन्क्वेरर डाइरेक्टरी विशेषता पृष्ठ
24960
-Name[nl]=Configuratiepagina Konqueror bestanden delen
24961
-Name[nn]=Side for katalogeigenskapar til fildeling i Konqueror
24962
-Name[pa]=ਫਾਇਲ ਸਾਂਝ ਕੋਨਕਿਊਰੋਰ ਡਾਇਰੈਕਟਰੀ ਵਿਸ਼ੇਸ਼ਤਾ ਪੇਜ਼
24963
-Name[pl]=Strona współdzielenia we właściwościach katalogu w Konquerorze
24964
-Name[pt]=Página de Propriedades da Pasta de Partilha do Konqueror
24965
-Name[pt_BR]=Página de propriedades da pasta de compartilhamento de arquivos do Konqueror
24966
-Name[ru]=Общий доступ к файлам - диалог Konqueror
24967
-Name[sk]=Zdieľanie adresárov pre Konqueror
24968
-Name[sl]=Stran z lastnostmi za souporabo mape
24969
-Name[sr]=Страница К‑освајача са својствима фасцикле за дељење фајлова
24970
-Name[sr@ijekavian]=Страница К‑освајача са својствима фасцикле за дељење фајлова
24971
-Name[sr@ijekavianlatin]=Stranica K‑osvajača sa svojstvima fascikle za deljenje fajlova
24972
-Name[sr@latin]=Stranica K‑osvajača sa svojstvima fascikle za deljenje fajlova
24973
-Name[sv]=Konquerors fildelningssida med katalogegenskaper
24974
-Name[ta]=Fileshare Konqueror அடைவு பண்புகளின் பக்கம்
24975
-Name[tg]=Саҳифаи Феҳристи Хусусиятҳо оиди Konqueror Истифодабарии Муштараки Файлҳо
24976
-Name[tr]=Dosya Paylaşımı Konqueror Dizin Özellikleri Sayfası
24977
-Name[uk]=Сторінка властивостей каталогу для спільного доступу
24978
-Name[vi]=Trang thuộc tính của chia sẻ thư mục Konqueror
24979
-Name[x-test]=xxFileshare Konqueror Directory Properties Pagexx
24980
-Name[zh_CN]=Konqueror 文件共享目录属性页
24981
-Name[zh_HK]=檔案分享 Konqueror 目錄屬性頁
24982
-Name[zh_TW]=Konqueror 檔案分享目錄屬性頁
24983
-Comment=Konqueror properties dialog plugin to share a directory with the local network
24984
-Comment[ar]=خصائص حوار إضافة كونكيورر لمشاركة مسار مع الشبكة المحلية
24985
-Comment[ast]=Complementu de diálogu de propiedaes de Konqueror pa compartir un direutoriu cola rede llocal
24986
-Comment[bg]=Настройка на приставката за браузъра Konqueror за споделяна на директории в локалната мрежа
24987
-Comment[bn]=স্থানীয় নেটওয়ার্কের সঙ্গে একটি ডিরেক্টরী ভাগাভাগি করতে কনকরার বৈশিষ্ট্যাবলী ডায়ালগ প্লাগিন
24988
-Comment[ca]=Diàleg de propietats del connector del Konqueror per compartir un directori amb la xarxa local
24989
-Comment[ca@valencia]=Diàleg de propietats del connector del Konqueror per compartir un directori amb la xarxa local
24990
-Comment[cs]=Modul dialogu vlastností Konqueroru pro sdílení adresářů v lokální síti
24991
-Comment[da]=Konqueror egenskaber-dialog plugin til at dele en mappe med det lokale netværk
24992
-Comment[de]=Modul für den Konqueror-Eigenschaftendialog zur Freigabe eines Ordners im Netzwerk
24993
-Comment[el]=Πρόσθετος διάλογος ρυθμίσεων του Konqueror για την κοινή χρήση ενός καταλόγου με το τοπικό δίκτυο
24994
-Comment[en_GB]=Konqueror properties dialogue plugin to share a directory with the local network
24995
-Comment[eo]=Kromaĵo de Konkeranto por komunigi dosierujon sur la loka reto
24996
-Comment[es]=Complemento de diálogo de propiedades de Konqueror para compartir un directorio con la red local
24997
-Comment[et]=Konquerori omaduste dialoogi plugin kataloogi jagamiseks kohtvõrgus
24998
-Comment[eu]=Konqueror-en propietateen elkarrizketa-koadro plugina direktorio bat sare lokalean partekatzeko
24999
-Comment[fa]=ویژگیهای وصلۀ محاورۀ Konqueror برای اشتراک فهرست راهنما با شبکۀ محلی
25000
-Comment[fi]=Konquerorin liitännäinen, jolla voi jakaa kansioita lähiverkossa
25001
-Comment[fr]=Module de Konqueror pour le partage d'un dossier sur le réseau local
25002
-Comment[ga]=Breiseán dialóige airíonna Konqueror lenar féidir comhadlann a chomhroinnt leis an líonra logánta
25003
-Comment[gl]=Diálogo de propiedades do engadido de Konqueror para compartir un directorio pola rede local
25004
-Comment[he]=תוסף מאפייני דו-שיח של Konqueror כדי לשתף סיפריה עם רשת מקומית
25005
-Comment[hi]=स्थानीय नेटवर्क के साथ डिरेक्ट्री साझा करने के लिए कॉन्करर गुण संवाद प्लगइन
25006
-Comment[hne]=लोकल नेटवर्क के साथ डिरेक्टरी साझा करे बर कान्करर गुन गोठ प्लगइन
25007
-Comment[hr]=Dijalogni priključak postavki za Konqueror za dijeljenje direktorija na lokalnoj mreži
25008
-Comment[hu]=Konqueror párbeszédablak könyvtár megosztásához a helyi hálózaton
25009
-Comment[ia]=Plug-in de dialogo de proprietate de Konqueror pro compartir un directorio con le rete local
25010
-Comment[is]=Konqueror properties dialog plugin to share a directory with the local network
25011
-Comment[it]=Estensione delle proprietà di Konqueror per condividere una cartella con la rete locale
25012
-Comment[ja]=ローカルネットワークでディレクトリを共有する Konqueror プロパティダイアログのプラグイン
25013
-Comment[kk]=Каталогты жергілікті желімен ортақтастыратын Konqueror қасиеттер диалогының плагині
25014
-Comment[km]=ប្រអប់លក្ខណៈសម្បត្តិ Konqueror ដើម្បីចែករំលែកថតនៅក្នុងបណ្ដាញមូលដ្ឋាន
25015
-Comment[ko]=로컬 네트워크에서 파일을 공유하기 위한 Konqueror 속성 대화 상자 플러그인
25016
-Comment[lt]=Konqueror nustatymų dialogo įskiepis, skirtas dalintis aplanku vietiniame tinkle
25017
-Comment[lv]=Konqueror īpašību dialoga spraudnis mapes publicēšanai koplietošanai lokālajā tīklā
25018
-Comment[mk]=Приклучок со дијалог за својства во Konqueror за делење на датотеки со локалната мрежа
25019
-Comment[ml]=കോണ്ക്വററിലെ പ്രാദേശിക ശൃഖലയുമായി തട്ടു് പങ്കുവെക്കാനുള്ള സംയോജകത്തിന്റെ ഗുണവിശേഷങ്ങളുടെ സംവാദജാലകം
25020
-Comment[nb]=Programtillegg for Konquerors egenskapsdialog for å dele en mappe på lokalnettet
25021
-Comment[nds]=Moduul för en Konqueror-Egenschappendialoog för't Freegeven vun Ornern in't lokale Nettwark
25022
-Comment[ne]=स्थानीय सञ्जालसँग डाइरेक्टरी साझेदार गर्न कन्क्वेरर विशेषता संवाद प्लगइन
25023
-Comment[nl]=Konqueror-plugin met instellingen om bestanden te delen via het lokale netwerk
25024
-Comment[nn]=Konqueror-vising av eigenskapar til ein delt katalog i det lokale nettverket
25025
-Comment[pa]=ਕੋਨਕਿਉਰੋਰ ਵਿਸ਼ੇਸ਼ਤਾ ਡਾਈਲਾਗ ਪਲੱਗਇਨ ਜੋ ਲੋਕਲ ਨੈੱਟਵਰਕ ਨਾਲ ਡਾਇਰੈਕਟਰੀ ਸਾਂਝੀ ਕਰਦੀ ਹੈ
25026
-Comment[pl]=Wtyczka właściwości dla Konquerora umożliwiająca współdzielenie katalogu w sieci lokalnej
25027
-Comment[pt]='Plugin' de janela de propriedades do Konqueror para partilhar uma pasta na rede local
25028
-Comment[pt_BR]=Plug-in de diálogo de propriedades do Konqueror para o compartilhamento de uma pasta em uma rede local
25029
-Comment[ro]=Modul pentru dialogul de proprietăți Konqueror pentru a partaja un director cu rețeaua locală
25030
-Comment[ru]=Модуль свойств Konqueror для организации общего доступа к каталогу по локальной сети
25031
-Comment[sk]=Modul Konquerora pre zdieľanie adresára v lokálnej sieti
25032
-Comment[sl]=Vstavek za Konqueror s pogovornim oknom za lastnosti za souporabo mape v krajevnem omrežju
25033
-Comment[sr]=Прикључак дијалога К‑освајача за својства дељења фасцикли у локалној мрежи
25034
-Comment[sr@ijekavian]=Прикључак дијалога К‑освајача за својства дијељења фасцикли у локалној мрежи
25035
-Comment[sr@ijekavianlatin]=Priključak dijaloga K‑osvajača za svojstva dijeljenja fascikli u lokalnoj mreži
25036
-Comment[sr@latin]=Priključak dijaloga K‑osvajača za svojstva deljenja fascikli u lokalnoj mreži
25037
-Comment[sv]=Konqueror-insticksprogram med egenskapsdialogruta för att dela en katalog i det lokala nätverket
25038
-Comment[ta]=Konqueror பண்புகளின் உரையாடல் செருகுகள் அடைவை சம்பா சேவையகத்துடன் பகிரவேண்டிய செருகுகள்
25039
-Comment[tg]=Модули муколамаи хусусиятҳои Konqueror барои истифодабарии муштараки феҳрист бо шабакаи маҳалллӣ
25040
-Comment[tr]=Yerel ağ ile dizin paylaşımı için Konqueror iletişim eklentisi özellikleri
25041
-Comment[uk]=Додаток діалогового вікна властивостей Konqueror для уможливлення спільного доступу до каталогу з локальної мережі
25042
-Comment[vi]=Phần bổ sung hộp thoại thuộc tính Konqueror dùng để chia sẻ một thư mục trên mạng nội bộ
25043
-Comment[x-test]=xxKonqueror properties dialog plugin to share a directory with the local networkxx
25044
-Comment[zh_CN]=可将目录与局域网共享的 Konqueror 属性页对话框插件
25045
-Comment[zh_HK]=用於與本地網絡分享目錄的 Konqueror 屬性對話盒插件
25046
-Comment[zh_TW]=Konqueror 屬性對話框外掛程式,用於在本地端網路上分享目錄
25047
-X-KDE-Library=fileshare_propsdlgplugin
25048
-X-KDE-Protocol=file
25049
-X-KDE-ServiceTypes=KPropertiesDialog/Plugin,inode/directory
25050
Index: kdenetwork-4.6.3/filesharing/advanced/propsdlgplugin/propertiespage.cpp
25051
===================================================================
25052
--- kdenetwork-4.6.3.orig/filesharing/advanced/propsdlgplugin/propertiespage.cpp 2011-01-19 17:21:04.000000000 -0500
25053
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
25056
- Copyright (c) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
25058
- This program is free software; you can redistribute it and/or modify
25059
- it under the terms of the GNU General Public License as published by
25060
- the Free Software Foundation; either version 2 of the License, or
25061
- (at your option) any later version.
25063
- This program is distributed in the hope that it will be useful,
25064
- but WITHOUT ANY WARRANTY; without even the implied warranty of
25065
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25066
- GNU General Public License for more details.
25068
- You should have received a copy of the GNU General Public License
25069
- along with this program; if not, write to the Free Software
25070
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
25074
-#include <qcheckbox.h>
25075
-#include <qbuttongroup.h>
25076
-#include <qfileinfo.h>
25077
-#include <qlabel.h>
25078
-#include <kpushbutton.h>
25079
-#include <qtimer.h>
25081
-#include <kfileshare.h>
25082
-#include <knfsshare.h>
25083
-#include <ksambashare.h>
25084
-#include <klocale.h>
25086
-#include <kdebug.h>
25087
-#include <kfile.h>
25088
-#include <kurlrequester.h>
25089
-#include <kmessagebox.h>
25090
-#include <klineedit.h>
25091
-#include <kprocess.h>
25092
-#include <ktemporaryfile.h>
25093
-#include <kshell.h>
25094
-#include <KStandardDirs>
25096
-#include "../nfs/nfsfile.h"
25097
-#include "../nfs/nfsentry.h"
25098
-#include "../nfs/nfsdialog.h"
25101
-#include "../kcm_sambaconf/sambafile.h"
25102
-#include "../kcm_sambaconf/sambashare.h"
25103
-#include "../kcm_sambaconf/sharedlgimpl.h"
25105
-#include "propertiespage.h"
25107
-#define FILESHARE_DEBUG 5009
25109
-PropertiesPageGUI::PropertiesPageGUI( QWidget *parent )
25110
- : QWidget( parent )
25115
-void PropertiesPageGUI::changedSlot()
25117
- m_hasChanged = true;
25121
-void PropertiesPageGUI::moreNFSBtn_clicked()
25126
-bool PropertiesPageGUI::hasChanged() const
25128
- return m_hasChanged;
25132
-void PropertiesPageGUI::sambaChkToggled( bool )
25137
-void PropertiesPageGUI::publicSambaChkToggled( bool b)
25140
- writableSambaChk->setChecked(false);
25144
-void PropertiesPageGUI::publicNFSChkToggled( bool b)
25147
- writableNFSChk->setChecked(false);
25152
-void PropertiesPageGUI::moreSambaBtnClicked()
25157
-PropertiesPage::PropertiesPage(QWidget* parent, const KFileItemList &items,bool enterUrl)
25158
- : PropertiesPageGUI(parent),
25159
- m_enterUrl(enterUrl),
25165
- m_sambaChanged(false),
25166
- m_nfsChanged(false),
25169
- if (m_items.isEmpty()) {
25170
- shareFrame->setDisabled(true);
25172
- shareFrame->setEnabled(true);
25173
- // currently only one dir is allowed
25174
- m_path = m_items.first().url().path(KUrl::AddTrailingSlash);
25177
- if (m_enterUrl) {
25178
- shareChk->hide();
25179
- urlRq->setMode(KFile::Directory |
25180
- KFile::ExistingOnly |
25181
- KFile::LocalOnly );
25182
- urlRq->setUrl(m_path);
25183
- connect( urlRq, SIGNAL(textChanged(const QString&)),
25184
- this, SLOT(urlRqTextChanged(const QString&)));
25187
- folderLbl->hide();
25191
- enableSamba(false,i18n("Reading Samba configuration file ..."));
25192
- enableNFS(false,i18n("Reading NFS configuration file ..."));
25195
- //QTimer::singleShot(1, this, SLOT(load));
25199
-PropertiesPage::~PropertiesPage()
25201
- delete m_nfsFile;
25202
- delete m_sambaFile;
25205
-void PropertiesPage::urlRqTextChanged(const QString&) {
25209
- KUrl url(urlRq->url());
25210
- if (url.isLocalFile()) {
25211
- QFileInfo info(url.path(KUrl::AddTrailingSlash));
25212
- if (info.exists() &&
25215
- shareFrame->setEnabled(true);
25220
- shareFrame->setDisabled(true);
25223
-void PropertiesPage::load() {
25227
- bool nfsShared = KNFSShare::instance()->isDirectoryShared(m_path);
25228
- bool sambaShared = KSambaShare::instance()->isDirectoryShared(m_path);
25230
- nfsChk->setChecked(nfsShared);
25231
- sambaChk->setChecked(sambaShared);
25234
- shareChk->setChecked(nfsShared || sambaShared);
25239
-void PropertiesPage::enableNFS(bool b, const QString & message) {
25240
- nfsChk->setEnabled(b);
25241
- nfsGrp->setEnabled(b);
25242
- nfsChk->setToolTip(message);
25243
- nfsGrp->setToolTip(message);
25246
-void PropertiesPage::enableSamba(bool b, const QString & message) {
25247
- sambaChk->setEnabled(b);
25248
- sambaGrp->setEnabled(b);
25249
- sambaChk->setToolTip(message);
25250
- sambaGrp->setToolTip(message);
25254
-bool PropertiesPage::save() {
25255
- if (!hasChanged()) {
25256
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::save: nothing changed.";
25260
- if (!checkURL()) {
25261
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::save: url check failed.";
25265
- updateNFSEntry();
25266
- if (!updateSambaShare()) {
25267
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::save: updateSambaShare failed!";
25271
- return save(m_nfsFile, m_sambaFile, m_nfsChanged, m_sambaChanged);
25274
-bool PropertiesPage::save(NFSFile* nfsFile, SambaFile* sambaFile, bool nfs, bool samba)
25276
- QString nfsFileName = KNFSShare::instance()->exportsPath();
25277
- bool nfsNeedsKDEsu = false;
25280
- if (QFileInfo(nfsFileName).isWritable()) {
25281
- nfsFile->saveTo(nfsFileName);
25283
- nfsNeedsKDEsu = true;
25284
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::save: nfs needs kdesu.";
25287
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::save: nfs has not changed.";
25290
- QString sambaFileName = KSambaShare::instance()->smbConfPath();
25291
- bool sambaNeedsKDEsu = false;
25293
- if (QFileInfo(sambaFileName).isWritable()) {
25294
- sambaFile->saveTo(sambaFileName);
25296
- sambaNeedsKDEsu = true;
25297
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::save: samba needs kdesu.";
25300
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::save: samba has not changed.";
25303
- if (nfsNeedsKDEsu || sambaNeedsKDEsu) {
25304
- KTemporaryFile nfsTempFile;
25305
- nfsTempFile.open();
25306
- KTemporaryFile sambaTempFile;
25307
- sambaTempFile.open();
25313
- if (nfsNeedsKDEsu) {
25314
- nfsFile->saveTo(nfsTempFile.fileName());
25315
- command += QString("cp %1 %2;exportfs -ra;")
25316
- .arg(KShell::quoteArg( nfsTempFile.fileName() ),
25317
- KShell::quoteArg( nfsFileName ));
25320
- if (sambaNeedsKDEsu) {
25321
- sambaFile->saveTo(sambaTempFile.fileName());
25322
- command += QString("cp %1 %2;")
25323
- .arg(KShell::quoteArg( sambaTempFile.fileName() ),
25324
- KShell::quoteArg( sambaFileName ));
25327
- proc<<KStandardDirs::findExe("kdesu") << "-d" << "-c"<<command;
25329
- if (proc.execute()) {
25330
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::save: kdesu command failed";
25335
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::save: Saving successful.";
25339
-bool PropertiesPage::saveSamba() {
25340
- if (!updateSambaShare()) {
25344
- if (m_sambaChanged) {
25345
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::saveSamba: saving...";
25346
- return m_sambaFile->save();
25349
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::saveSamba: samba has not changed.";
25353
-bool PropertiesPage::saveNFS() {
25354
- updateNFSEntry();
25355
- if (!m_nfsChanged) {
25356
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::saveNFS: NFS did not change.";
25360
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::saveNFS: saving...";
25361
- return m_nfsFile->save();
25367
-bool PropertiesPage::checkURL() {
25369
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::checkURL";
25374
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::checkURL: enterUrl=true";
25376
- KUrl url(urlRq->url());
25377
- QString path = url.path(KUrl::AddTrailingSlash);
25379
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::checkURL: m_path='"
25380
- << m_path << "'" << endl;
25382
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::checkURL: path='"
25383
- << path << "'" << endl;
25385
- if (m_path == path) {
25386
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::checkURL: paths are equal";
25390
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::checkURL: different path";
25393
- if (!url.isValid()) {
25394
- KMessageBox::sorry(this,i18n("Please enter a valid path."));
25395
- urlRq->setFocus();
25396
- urlRq->lineEdit()->selectAll();
25400
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::checkURL: url is valid";
25402
- if (!url.isLocalFile()) {
25403
- KMessageBox::sorry(this,i18n("Only local folders can be shared."));
25404
- urlRq->setFocus();
25405
- urlRq->lineEdit()->selectAll();
25409
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::checkURL: url is local file";
25411
- QFileInfo info(path);
25413
- if (!info.exists())
25415
- KMessageBox::sorry(this,i18n("The folder does not exists."));
25416
- urlRq->setFocus();
25417
- urlRq->lineEdit()->selectAll();
25421
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::checkURL: folder exits";
25424
- if (!info.isDir())
25426
- KMessageBox::sorry(this,i18n("Only folders can be shared."));
25427
- urlRq->setFocus();
25428
- urlRq->lineEdit()->selectAll();
25432
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::checkURL: path is dir";
25434
- if (KSambaShare::instance()->isDirectoryShared(path) ||
25435
- KNFSShare::instance()->isDirectoryShared(path))
25437
- KMessageBox::sorry(this,i18n("The folder is already shared."));
25438
- urlRq->setFocus();
25439
- urlRq->lineEdit()->selectAll();
25443
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::checkURL: folder not shared yet";
25449
-bool PropertiesPage::loadNFS() {
25450
- if (!KFileShare::nfsEnabled()) {
25451
- enableNFS(false,i18n("The administrator does not allow sharing with NFS."));
25455
- delete m_nfsFile;
25456
- m_nfsFile = new NFSFile(KNFSShare::instance()->exportsPath());
25458
- if (!m_nfsFile->load()) {
25459
- enableNFS(false,i18n("Error: could not read NFS configuration file."));
25463
- enableNFS(true,"");
25469
-void PropertiesPage::loadNFSEntry() {
25470
- m_nfsEntry = m_nfsFile->getEntryByPath(m_path);
25471
- m_nfsChanged = false;
25473
- if (!m_nfsEntry) {
25474
- nfsChk->setChecked(false);
25479
- NFSHost* publicHost = m_nfsEntry->getPublicHost();
25481
- if (publicHost) {
25482
- publicNFSChk->setChecked(true);
25483
- writableNFSChk->setChecked(!publicHost->readonly);
25485
- publicNFSChk->setChecked(false);
25488
-void PropertiesPage::updateNFSEntry() {
25489
- if (shareChk->isChecked() &&
25490
- nfsChk->isChecked())
25492
- if (!m_nfsEntry) {
25493
- m_nfsEntry = new NFSEntry(m_path);
25494
- m_nfsFile->addEntry(m_nfsEntry);
25495
- m_nfsChanged = true;
25498
- NFSHost* publicHost = m_nfsEntry->getPublicHost();
25500
- if (publicNFSChk->isChecked()) {
25501
- if (!publicHost) {
25502
- publicHost = new NFSHost("*");
25503
- publicHost->allSquash=true;
25504
- m_nfsEntry->addHost(publicHost);
25505
- m_nfsChanged = true;
25508
- if (publicHost->readonly != !writableNFSChk->isChecked()) {
25509
- publicHost->readonly = !writableNFSChk->isChecked();
25510
- m_nfsChanged = true;
25513
- if (publicHost) {
25514
- m_nfsEntry->removeHost(publicHost);
25515
- m_nfsChanged = true;
25518
- } else { // unshare
25519
- if (m_nfsEntry) {
25520
- m_nfsFile->removeEntry(m_nfsEntry);
25522
- m_nfsChanged = true;
25527
-void PropertiesPage::moreNFSBtn_clicked() {
25528
- updateNFSEntry();
25529
- NFSDialog* dlg = new NFSDialog(this,m_nfsEntry);
25530
- if (dlg->exec()==QDialog::Accepted &&
25533
- kDebug(FILESHARE_DEBUG) << "NFSDialog::ok";
25535
- m_nfsChanged = true;
25541
-bool PropertiesPage::loadSamba() {
25542
- if (!KFileShare::sambaEnabled()) {
25543
- enableSamba(false,i18n("The administrator does not allow sharing with Samba."));
25547
- delete m_sambaFile;
25548
- m_sambaFile = new SambaFile(KSambaShare::instance()->smbConfPath(), false);
25549
- if (! m_sambaFile->load()) {
25550
- enableSamba(false,i18n("Error: could not read Samba configuration file."));
25554
- enableSamba(true,"");
25555
- QString shareName = m_sambaFile->findShareByPath(m_path);
25556
- if (shareName.isNull()) {
25557
- sambaChk->setChecked(false);
25558
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::loadSamba: shareName is null!"
25563
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::loadSamba: shareName="
25564
- << shareName << endl;
25566
- m_sambaShare = m_sambaFile->getShare(shareName);
25568
- loadSambaShare();
25573
-void PropertiesPage::loadSambaShare() {
25574
- if (! m_sambaShare) {
25575
- sambaChk->setChecked(false);
25576
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::loadSambaShare: m_sambaShare is null" << endl;
25580
- if (m_sambaShare->getBoolValue("public")) {
25581
- publicSambaChk->setChecked(true);
25582
- writableSambaChk->setChecked(m_sambaShare->getBoolValue("writable"));
25584
- publicSambaChk->setChecked(false);
25587
- sambaNameEdit->setText(m_sambaShare->getName() );
25590
-void PropertiesPage::sambaChkToggled( bool b ) {
25594
- if (sambaNameEdit->text().isEmpty())
25595
- sambaNameEdit->setText(getNewSambaName());
25598
-bool PropertiesPage::updateSambaShare() {
25599
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::updateSambaShare";
25601
- if (shareChk->isChecked() &&
25602
- sambaChk->isChecked())
25604
- if (m_enterUrl) {
25605
- if (m_path != urlRq->url().path()) {
25606
- m_path = urlRq->url().path();
25610
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::updateSambaShare: m_path"
25611
- << m_path << endl;
25613
- if (!m_sambaShare) {
25614
- createNewSambaShare();
25615
- m_sambaChanged = true;
25618
- setSambaShareBoolValue("public", publicSambaChk);
25619
- setSambaShareBoolValue("writable", writableSambaChk);
25621
- if (sambaNameEdit->text().isEmpty()) {
25622
- KMessageBox::sorry(this, i18n("You have to enter a name for the Samba share."));
25623
- sambaNameEdit->setFocus();
25627
- if (sambaNameEdit->text() != m_sambaShare->getName()) {
25628
- SambaShare* otherShare = m_sambaFile->getShare(sambaNameEdit->text());
25629
- if (otherShare && otherShare != m_sambaShare) {
25630
- // There is another Share with the same name
25631
- KMessageBox::sorry(this, i18n("<qt>There is already a share with the name <strong>%1</strong>.<br /> Please choose another name.</qt>", sambaNameEdit->text()));
25632
- sambaNameEdit->selectAll();
25633
- sambaNameEdit->setFocus();
25636
- m_sambaShare->setName(sambaNameEdit->text());
25637
- m_sambaChanged = true;
25640
- if (m_sambaShare->getValue("path") != m_path) {
25641
- m_sambaShare->setValue("path", m_path);
25642
- m_sambaChanged = true;
25646
- if (m_sambaShare) {
25647
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::updateSambaShare: removing share";
25648
- m_sambaFile->removeShare(m_sambaShare);
25649
- m_sambaShare = 0;
25650
- m_sambaChanged = true;
25656
-void PropertiesPage::setSambaShareBoolValue(const QString & value,
25659
- bool v = m_sambaShare->getBoolValue(value);
25660
- if (v == chk->isChecked())
25663
- m_sambaShare->setValue(value,chk->isChecked());
25664
- m_sambaChanged = true;
25667
-QString PropertiesPage::getNewSambaName() {
25668
- QString path = m_path;
25669
- if (path.isNull() && m_enterUrl) {
25670
- path = urlRq->url().path();
25673
- QString shareName = KUrl(path).fileName();
25675
- if (!sambaNameEdit->text().isEmpty())
25676
- shareName = sambaNameEdit->text();
25678
- // Windows could have problems with longer names
25679
- shareName = shareName.left(12).toUpper();
25681
- if ( m_sambaFile->getShare(shareName) )
25682
- shareName = m_sambaFile->getUnusedName(shareName);
25684
- return shareName;
25687
-void PropertiesPage::createNewSambaShare() {
25689
- m_sambaShare = m_sambaFile->newShare(getNewSambaName(),m_path);
25691
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::createNewSambaShare: "
25692
- << m_sambaShare->getName() << endl;
25697
-void PropertiesPage::moreSambaBtnClicked() {
25698
- kDebug(FILESHARE_DEBUG) << "PropertiesPage::moreSambaBtnClicked()";
25699
- updateSambaShare();
25700
- ShareDlgImpl* dlg = new ShareDlgImpl(this,m_sambaShare);
25701
- dlg->directoryGrp->hide();
25702
- dlg->pixmapFrame->hide();
25703
- if (dlg->exec() == QDialog::Accepted &&
25704
- dlg->hasChanged()) {
25705
- m_sambaChanged = true;
25707
- loadSambaShare();
25712
-#include "propertiespage.moc"
25714
Index: kdenetwork-4.6.3/filesharing/advanced/propsdlgplugin/propertiespagegui.ui
25715
===================================================================
25716
--- kdenetwork-4.6.3.orig/filesharing/advanced/propsdlgplugin/propertiespagegui.ui 2011-01-19 17:21:04.000000000 -0500
25717
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
25719
-<ui version="4.0" stdsetdef="1" >
25720
- <class>PropertiesPageGUI</class>
25721
- <widget class="QWidget" name="PropertiesPageGUI" >
25722
- <property name="geometry" >
25726
- <width>433</width>
25727
- <height>348</height>
25730
- <layout class="QVBoxLayout" >
25731
- <property name="margin" >
25732
- <number>0</number>
25735
- <layout class="QHBoxLayout" >
25737
- <widget class="QLabel" name="folderLbl" >
25738
- <property name="text" >
25739
- <string>Folder:</string>
25741
- <property name="wordWrap" >
25742
- <bool>false</bool>
25747
- <widget class="KUrlRequester" name="urlRq" />
25752
- <widget class="QCheckBox" name="shareChk" >
25753
- <property name="text" >
25754
- <string>S&hare this folder in the local network</string>
25756
- <property name="checked" >
25757
- <bool>true</bool>
25762
- <widget class="Line" name="line1" >
25763
- <property name="frameShape" >
25764
- <enum>QFrame::HLine</enum>
25766
- <property name="frameShadow" >
25767
- <enum>QFrame::Sunken</enum>
25772
- <widget class="Q3Frame" name="shareFrame" >
25773
- <property name="frameShape" >
25774
- <enum>NoFrame</enum>
25776
- <property name="frameShadow" >
25777
- <enum>Raised</enum>
25779
- <layout class="QVBoxLayout" >
25780
- <property name="margin" >
25781
- <number>0</number>
25784
- <widget class="QCheckBox" name="nfsChk" >
25785
- <property name="text" >
25786
- <string>Share with &NFS (Linux/UNIX)</string>
25788
- <property name="checked" >
25789
- <bool>true</bool>
25794
- <widget class="Q3GroupBox" name="nfsGrp" >
25795
- <property name="title" >
25796
- <string>NFS Options</string>
25798
- <layout class="QVBoxLayout" >
25800
- <layout class="QHBoxLayout" >
25802
- <widget class="QCheckBox" name="publicNFSChk" >
25803
- <property name="text" >
25804
- <string>Pu&blic</string>
25806
- <property name="checked" >
25807
- <bool>true</bool>
25812
- <widget class="QCheckBox" name="writableNFSChk" >
25813
- <property name="text" >
25814
- <string>W&ritable</string>
25816
- <property name="checked" >
25817
- <bool>false</bool>
25822
- <spacer name="spacer5" >
25823
- <property name="sizeHint" >
25825
- <width>40</width>
25826
- <height>20</height>
25829
- <property name="sizeType" >
25830
- <enum>QSizePolicy::Expanding</enum>
25832
- <property name="orientation" >
25833
- <enum>Qt::Horizontal</enum>
25840
- <layout class="QHBoxLayout" >
25842
- <widget class="KPushButton" name="moreNFSBtn" >
25843
- <property name="text" >
25844
- <string>More NFS Op&tions</string>
25849
- <spacer name="spacer3" >
25850
- <property name="sizeHint" >
25852
- <width>156</width>
25853
- <height>20</height>
25856
- <property name="sizeType" >
25857
- <enum>QSizePolicy::Expanding</enum>
25859
- <property name="orientation" >
25860
- <enum>Qt::Horizontal</enum>
25870
- <widget class="QCheckBox" name="sambaChk" >
25871
- <property name="text" >
25872
- <string>Share with S&amba (Microsoft(R) Windows(R))</string>
25874
- <property name="checked" >
25875
- <bool>true</bool>
25880
- <widget class="Q3GroupBox" name="sambaGrp" >
25881
- <property name="title" >
25882
- <string>Samba Options</string>
25884
- <layout class="QVBoxLayout" >
25886
- <layout class="QHBoxLayout" >
25888
- <widget class="QLabel" name="textLabel1" >
25889
- <property name="text" >
25890
- <string>Name:</string>
25892
- <property name="wordWrap" >
25893
- <bool>false</bool>
25898
- <widget class="KLineEdit" name="sambaNameEdit" />
25903
- <layout class="QHBoxLayout" >
25905
- <widget class="QCheckBox" name="publicSambaChk" >
25906
- <property name="text" >
25907
- <string>P&ublic</string>
25909
- <property name="checked" >
25910
- <bool>true</bool>
25915
- <widget class="QCheckBox" name="writableSambaChk" >
25916
- <property name="text" >
25917
- <string>&Writable</string>
25919
- <property name="checked" >
25920
- <bool>false</bool>
25925
- <spacer name="spacer4_3" >
25926
- <property name="sizeHint" >
25928
- <width>40</width>
25929
- <height>20</height>
25932
- <property name="sizeType" >
25933
- <enum>QSizePolicy::Expanding</enum>
25935
- <property name="orientation" >
25936
- <enum>Qt::Horizontal</enum>
25943
- <layout class="QHBoxLayout" >
25945
- <widget class="KPushButton" name="moreSambaBtn" >
25946
- <property name="text" >
25947
- <string>Mor&e Samba Options</string>
25952
- <spacer name="spacer4_2" >
25953
- <property name="sizeHint" >
25955
- <width>40</width>
25956
- <height>20</height>
25959
- <property name="sizeType" >
25960
- <enum>QSizePolicy::Expanding</enum>
25962
- <property name="orientation" >
25963
- <enum>Qt::Horizontal</enum>
25976
- <spacer name="spacer4" >
25977
- <property name="sizeHint" >
25979
- <width>20</width>
25980
- <height>1</height>
25983
- <property name="sizeType" >
25984
- <enum>QSizePolicy::Expanding</enum>
25986
- <property name="orientation" >
25987
- <enum>Qt::Vertical</enum>
25995
- <sender>sambaChk</sender>
25996
- <signal>toggled(bool)</signal>
25997
- <receiver>sambaGrp</receiver>
25998
- <slot>setEnabled(bool)</slot>
26001
- <sender>nfsChk</sender>
26002
- <signal>toggled(bool)</signal>
26003
- <receiver>nfsGrp</receiver>
26004
- <slot>setEnabled(bool)</slot>
26007
- <sender>publicSambaChk</sender>
26008
- <signal>toggled(bool)</signal>
26009
- <receiver>writableSambaChk</receiver>
26010
- <slot>setEnabled(bool)</slot>
26013
- <sender>publicNFSChk</sender>
26014
- <signal>toggled(bool)</signal>
26015
- <receiver>writableNFSChk</receiver>
26016
- <slot>setEnabled(bool)</slot>
26019
- <sender>shareChk</sender>
26020
- <signal>toggled(bool)</signal>
26021
- <receiver>shareFrame</receiver>
26022
- <slot>setEnabled(bool)</slot>
26025
- <sender>shareChk</sender>
26026
- <signal>clicked()</signal>
26027
- <receiver>PropertiesPageGUI</receiver>
26028
- <slot>changedSlot()</slot>
26031
- <sender>sambaChk</sender>
26032
- <signal>clicked()</signal>
26033
- <receiver>PropertiesPageGUI</receiver>
26034
- <slot>changedSlot()</slot>
26037
- <sender>publicSambaChk</sender>
26038
- <signal>clicked()</signal>
26039
- <receiver>PropertiesPageGUI</receiver>
26040
- <slot>changedSlot()</slot>
26043
- <sender>writableSambaChk</sender>
26044
- <signal>clicked()</signal>
26045
- <receiver>PropertiesPageGUI</receiver>
26046
- <slot>changedSlot()</slot>
26049
- <sender>nfsChk</sender>
26050
- <signal>clicked()</signal>
26051
- <receiver>PropertiesPageGUI</receiver>
26052
- <slot>changedSlot()</slot>
26055
- <sender>publicNFSChk</sender>
26056
- <signal>clicked()</signal>
26057
- <receiver>PropertiesPageGUI</receiver>
26058
- <slot>changedSlot()</slot>
26061
- <sender>writableNFSChk</sender>
26062
- <signal>clicked()</signal>
26063
- <receiver>PropertiesPageGUI</receiver>
26064
- <slot>changedSlot()</slot>
26067
- <sender>moreNFSBtn</sender>
26068
- <signal>clicked()</signal>
26069
- <receiver>PropertiesPageGUI</receiver>
26070
- <slot>moreNFSBtn_clicked()</slot>
26073
- <sender>sambaChk</sender>
26074
- <signal>toggled(bool)</signal>
26075
- <receiver>PropertiesPageGUI</receiver>
26076
- <slot>sambaChkToggled(bool)</slot>
26079
- <sender>sambaNameEdit</sender>
26080
- <signal>textChanged(QString)</signal>
26081
- <receiver>PropertiesPageGUI</receiver>
26082
- <slot>changedSlot()</slot>
26085
- <sender>publicSambaChk</sender>
26086
- <signal>toggled(bool)</signal>
26087
- <receiver>PropertiesPageGUI</receiver>
26088
- <slot>publicSambaChkToggled(bool)</slot>
26091
- <sender>publicNFSChk</sender>
26092
- <signal>toggled(bool)</signal>
26093
- <receiver>PropertiesPageGUI</receiver>
26094
- <slot>publicNFSChkToggled(bool)</slot>
26097
- <sender>moreSambaBtn</sender>
26098
- <signal>clicked()</signal>
26099
- <receiver>PropertiesPageGUI</receiver>
26100
- <slot>moreSambaBtnClicked()</slot>
26104
Index: kdenetwork-4.6.3/filesharing/advanced/propsdlgplugin/propertiespage.h
26105
===================================================================
26106
--- kdenetwork-4.6.3.orig/filesharing/advanced/propsdlgplugin/propertiespage.h 2011-01-19 17:21:04.000000000 -0500
26107
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
26110
- Copyright (c) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
26112
- This program is free software; you can redistribute it and/or modify
26113
- it under the terms of the GNU General Public License as published by
26114
- the Free Software Foundation; either version 2 of the License, or
26115
- (at your option) any later version.
26117
- This program is distributed in the hope that it will be useful,
26118
- but WITHOUT ANY WARRANTY; without even the implied warranty of
26119
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26120
- GNU General Public License for more details.
26122
- You should have received a copy of the GNU General Public License
26123
- along with this program; if not, write to the Free Software
26124
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
26128
-#ifndef PROPERTIESPAGE_H
26129
-#define PROPERTIESPAGE_H
26131
-#include <kfileitem.h>
26132
-#include "ui_propertiespagegui.h"
26140
-class PropertiesPageGUI : public QWidget, public Ui::PropertiesPageGUI
26144
- PropertiesPageGUI( QWidget *parent );
26145
- bool hasChanged() const ;
26147
- void changedSlot();
26148
- virtual void moreNFSBtn_clicked();
26149
- virtual void sambaChkToggled( bool );
26150
- void publicSambaChkToggled( bool b );
26151
- void publicNFSChkToggled( bool b );
26152
- virtual void moreSambaBtnClicked();
26156
- bool m_hasChanged;
26161
-class PropertiesPage : public PropertiesPageGUI
26165
- PropertiesPage(QWidget* parent, const KFileItemList &items, bool enterUrl=false);
26166
- virtual ~PropertiesPage();
26170
- static bool save(NFSFile* nfsFile, SambaFile* sambFile, bool nfs, bool samba);
26178
- KFileItemList m_items;
26179
- NFSFile *m_nfsFile;
26180
- NFSEntry *m_nfsEntry;
26182
- SambaFile *m_sambaFile;
26183
- SambaShare *m_sambaShare;
26184
- bool m_sambaChanged;
26185
- bool m_nfsChanged;
26189
- // inherited from PropertiesPageGUI
26190
- virtual void moreNFSBtn_clicked();
26191
- virtual void moreSambaBtnClicked();
26192
- virtual void sambaChkToggled( bool b );
26193
- virtual void urlRqTextChanged(const QString&);
26197
- void loadNFSEntry();
26198
- void updateNFSEntry();
26201
- bool loadSamba();
26202
- void loadSambaShare();
26203
- bool updateSambaShare();
26204
- bool saveSamba();
26207
- void setSambaShareBoolValue(const QString & value, QCheckBox* chk);
26208
- void createNewSambaShare();
26209
- QString getNewSambaName();
26211
- void enableNFS(bool b,const QString & message);
26212
- void enableSamba(bool b,const QString & message);
26217
Index: kdenetwork-4.6.3/filesharing/advanced/propsdlgplugin/propsdlgshareplugin.cpp
26218
===================================================================
26219
--- kdenetwork-4.6.3.orig/filesharing/advanced/propsdlgplugin/propsdlgshareplugin.cpp 2011-01-19 17:21:04.000000000 -0500
26220
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
26223
- Copyright (c) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
26225
- This program is free software; you can redistribute it and/or modify
26226
- it under the terms of the GNU General Public License as published by
26227
- the Free Software Foundation; either version 2 of the License, or
26228
- (at your option) any later version.
26230
- This program is distributed in the hope that it will be useful,
26231
- but WITHOUT ANY WARRANTY; without even the implied warranty of
26232
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26233
- GNU General Public License for more details.
26235
- You should have received a copy of the GNU General Public License
26236
- along with this program; if not, write to the Free Software
26237
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
26240
-#include <qstring.h>
26241
-#include <kvbox.h>
26242
-#include <qlayout.h>
26243
-#include <qlabel.h>
26244
-#include <QProcess>
26246
-#include <kgenericfactory.h>
26247
-#include <kdebug.h>
26248
-#include <kpushbutton.h>
26249
-#include <kfileshare.h>
26250
-#include <kmessagebox.h>
26251
-#include <kstandarddirs.h>
26252
-#include <kdialog.h>
26253
-#include <kglobal.h>
26255
-#include "propertiespage.h"
26256
-#include "propsdlgshareplugin.h"
26258
-typedef KGenericFactory<PropsDlgSharePlugin, KPropertiesDialog> PropsDlgSharePluginFactory;
26260
-K_EXPORT_COMPONENT_FACTORY( fileshare_propsdlgplugin,
26261
- PropsDlgSharePluginFactory("fileshare_propsdlgplugin") )
26263
-class PropsDlgSharePlugin::Private
26266
- PropertiesPage* page;
26269
-PropsDlgSharePlugin::PropsDlgSharePlugin( KPropertiesDialog *dlg,
26270
- const QStringList & )
26271
- : KPropertiesDialogPlugin(dlg), d(0)
26273
- KGlobal::locale()->insertCatalog("kfileshare");
26275
- if (KFileShare::shareMode() == KFileShare::Simple) {
26276
- kDebug(5009) << "PropsDlgSharePlugin: Sharing mode is simple. Aborting.";
26280
- KVBox *vbox = new KVBox();
26281
- properties->addPage(vbox, i18n("&Share"));
26282
- properties->setFileSharingPage(vbox);
26284
- if (KFileShare::authorization() == KFileShare::UserNotAllowed) {
26286
- QWidget* widget = new QWidget( vbox );
26287
- QVBoxLayout * vLayout = new QVBoxLayout( widget );
26288
- vLayout->setSpacing( KDialog::spacingHint() );
26289
- vLayout->setMargin( 0 );
26292
- if (KFileShare::sharingEnabled()) {
26293
- vLayout->addWidget(
26294
- new QLabel( i18n("You need to be authorized to share directories."),
26297
- vLayout->addWidget(
26298
- new QLabel( i18n("File sharing is disabled."), widget));
26301
- KPushButton* btn = new KPushButton( i18n("Configure File Sharing..."), widget );
26302
- connect( btn, SIGNAL( clicked() ), SLOT( slotConfigureFileSharing() ) );
26303
- btn->setDefault(false);
26304
- QHBoxLayout* hBox = new QHBoxLayout( (QWidget *)0L );
26305
- hBox->addWidget( btn, 0, Qt::AlignLeft );
26306
- vLayout->addLayout(hBox);
26307
- vLayout->addStretch( 10 ); // align items on top
26312
- d = new Private();
26314
- d->page = new PropertiesPage(vbox, properties->items(),false);
26315
- connect(d->page, SIGNAL(changed()),
26316
- this, SIGNAL(changed()));
26318
- kDebug(5009) << "Fileshare properties dialog plugin loaded";
26322
-void PropsDlgSharePlugin::slotConfigureFileSharing()
26325
- lst<<"kcmshell4" << "fileshare";
26326
- QProcess::startDetached(KStandardDirs::findExe("kdesu"),lst);
26330
-PropsDlgSharePlugin::~PropsDlgSharePlugin()
26335
-void PropsDlgSharePlugin::applyChanges()
26337
- if (!d->page->save()) {
26338
-// KMessageBox::sorry(d->page,
26339
-// i18n("Saving the changes failed"));
26341
- properties->abortApplying();
26346
-#include "propsdlgshareplugin.moc"
26348
Index: kdenetwork-4.6.3/filesharing/advanced/propsdlgplugin/propsdlgshareplugin.h
26349
===================================================================
26350
--- kdenetwork-4.6.3.orig/filesharing/advanced/propsdlgplugin/propsdlgshareplugin.h 2011-01-19 17:21:04.000000000 -0500
26351
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
26354
- Copyright (c) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
26356
- This program is free software; you can redistribute it and/or modify
26357
- it under the terms of the GNU General Public License as published by
26358
- the Free Software Foundation; either version 2 of the License, or
26359
- (at your option) any later version.
26361
- This program is distributed in the hope that it will be useful,
26362
- but WITHOUT ANY WARRANTY; without even the implied warranty of
26363
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26364
- GNU General Public License for more details.
26366
- You should have received a copy of the GNU General Public License
26367
- along with this program; if not, write to the Free Software
26368
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
26372
-#ifndef PROPSDLGPLUGIN_PROPSDLGSHAREPLUGIN_H
26373
-#define PROPSDLGPLUGIN_PROPSDLGSHAREPLUGIN_H
26375
-#include <kpropertiesdialog.h>
26377
-class PropsDlgSharePlugin : public KPropertiesDialogPlugin
26381
- PropsDlgSharePlugin( KPropertiesDialog *dlg, const QStringList & );
26382
- virtual ~PropsDlgSharePlugin();
26383
- virtual void applyChanges();
26386
- void slotConfigureFileSharing();
26394
-#endif // PROPSDLGPLUGIN_PROPSDLGSHAREPLUGIN_H
26395
Index: kdenetwork-4.6.3/filesharing/CMakeLists.txt
26396
===================================================================
26397
--- kdenetwork-4.6.3.orig/filesharing/CMakeLists.txt 2011-01-19 17:21:04.000000000 -0500
26398
+++ kdenetwork-4.6.3/filesharing/CMakeLists.txt 2011-05-30 12:32:04.785538054 -0400
26400
-add_definitions ( -DQT3_SUPPORT -DQT3_SUPPORT_WARNINGS)
26402
-include_directories(
26403
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/propsdlgplugin/
26404
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/
26405
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/
26406
- ${CMAKE_BINARY_DIR}/filesharing/simple/
26407
- ${CMAKE_BINARY_DIR}/advanced/propsdlgplugin/
26410
-set(libfilesharesamba_SRCS
26411
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/sambafile.cpp
26412
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/sharedlgimpl.cpp
26413
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/sambashare.cpp
26414
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/common.cpp
26415
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/usertabimpl.cpp
26416
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/filemodedlgimpl.cpp
26417
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/smbpasswdfile.cpp
26418
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/passwd.cpp
26419
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/hiddenfileview.cpp
26420
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/dictmanager.cpp
26421
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/qmultichecklistitem.cpp
26422
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/smbconfconfigwidget.cpp
26423
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/linuxpermissionchecker.cpp
26426
-set(libfilesharenfs_SRCS
26427
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/nfsdialog.cpp
26428
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/nfshostdlg.cpp
26429
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/nfsfile.cpp
26430
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/nfsentry.cpp
26433
-set(fileshare_propsdlgplugin_SRCS
26434
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/propsdlgplugin/propsdlgshareplugin.cpp
26437
-set(libpropsdlgplugin_common_SRCS
26438
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/propsdlgplugin/propertiespage.cpp)
26441
-add_subdirectory( advanced )
26442
-add_subdirectory( simple )
26445
+add_subdirectory(samba)
26446
Index: kdenetwork-4.6.3/filesharing/samba/CMakeLists.txt
26447
===================================================================
26448
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
26449
+++ kdenetwork-4.6.3/filesharing/samba/CMakeLists.txt 2011-05-30 12:32:04.785538054 -0400
26451
+add_subdirectory(filepropertiesplugin)
26452
Index: kdenetwork-4.6.3/filesharing/samba/filepropertiesplugin/CMakeLists.txt
26453
===================================================================
26454
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
26455
+++ kdenetwork-4.6.3/filesharing/samba/filepropertiesplugin/CMakeLists.txt 2011-05-30 12:32:04.793538075 -0400
26457
+########### next target ###############
26459
+set(sambausershareplugin_PART_SRCS sambausershareplugin.cpp delegate.cpp model.cpp)
26461
+kde4_add_ui_files(sambausershareplugin_PART_SRCS sambausershareplugin.ui)
26464
+kde4_add_plugin(sambausershareplugin ${sambausershareplugin_PART_SRCS})
26466
+target_link_libraries(sambausershareplugin ${KDE4_KIO_LIBS})
26468
+install(TARGETS sambausershareplugin DESTINATION ${PLUGIN_INSTALL_DIR})
26470
+########### install files ###############
26472
+install(FILES sambausershareplugin.desktop DESTINATION ${SERVICES_INSTALL_DIR})
26473
Index: kdenetwork-4.6.3/filesharing/samba/filepropertiesplugin/delegate.cpp
26474
===================================================================
26475
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
26476
+++ kdenetwork-4.6.3/filesharing/samba/filepropertiesplugin/delegate.cpp 2011-05-30 12:32:04.793538075 -0400
26479
+ * Copyright 2011 Rodrigo Belem <rclbelem@gmail.com>
26481
+ * This program is free software; you can redistribute it and/or
26482
+ * modify it under the terms of the GNU General Public License as
26483
+ * published by the Free Software Foundation; either version 2 of
26484
+ * the License or (at your option) version 3 or any later version
26485
+ * accepted by the membership of KDE e.V. (or its successor approved
26486
+ * by the membership of KDE e.V.), which shall act as a proxy
26487
+ * defined in Section 14 of version 3 of the license.
26489
+ * This program is distributed in the hope that it will be useful,
26490
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
26491
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26492
+ * GNU General Public License for more details.
26494
+ * You should have received a copy of the GNU General Public License
26495
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
26498
+#include <QComboBox>
26499
+#include <klocale.h>
26501
+#include "delegate.h"
26503
+UserPermissionDelegate::UserPermissionDelegate(QObject *parent)
26504
+ : QItemDelegate(parent)
26508
+QWidget *UserPermissionDelegate::createEditor(QWidget *parent,
26509
+ const QStyleOptionViewItem & /* option */,
26510
+ const QModelIndex &index) const
26512
+ if (index.column() != 1) {
26516
+ QComboBox *comboBox = new QComboBox(parent);
26517
+ comboBox->addItem(i18n("---"));
26518
+ comboBox->addItem(i18n("Full Control"), QLatin1String("F"));
26519
+ comboBox->addItem(i18n("Read Only"), QLatin1String("R"));
26520
+ comboBox->addItem(i18n("Deny"), QLatin1String("D"));
26522
+ connect(comboBox, SIGNAL(activated(int)), this, SLOT(emitCommitData()));
26527
+void UserPermissionDelegate::setEditorData(QWidget *editor,
26528
+ const QModelIndex &index) const
26530
+ QComboBox *comboBox = qobject_cast<QComboBox *>(editor);
26531
+ if (!comboBox || (index.column() != 1)) {
26535
+ int pos = comboBox->findData(index.model()->data(index, Qt::EditRole));
26540
+ comboBox->setCurrentIndex(pos);
26543
+void UserPermissionDelegate::setModelData(QWidget *editor, QAbstractItemModel *model,
26544
+ const QModelIndex &index) const
26546
+ QComboBox *comboBox = qobject_cast<QComboBox *>(editor);
26547
+ if (!comboBox || (index.column() != 1)) {
26551
+ model->setData(index, comboBox->itemData(comboBox->currentIndex()));
26554
+void UserPermissionDelegate::emitCommitData()
26556
+ emit commitData(qobject_cast<QWidget *>(sender()));
26558
Index: kdenetwork-4.6.3/filesharing/samba/filepropertiesplugin/delegate.h
26559
===================================================================
26560
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
26561
+++ kdenetwork-4.6.3/filesharing/samba/filepropertiesplugin/delegate.h 2011-05-30 12:32:04.793538075 -0400
26564
+ * Copyright 2011 Rodrigo Belem <rclbelem@gmail.com>
26566
+ * This program is free software; you can redistribute it and/or
26567
+ * modify it under the terms of the GNU General Public License as
26568
+ * published by the Free Software Foundation; either version 2 of
26569
+ * the License or (at your option) version 3 or any later version
26570
+ * accepted by the membership of KDE e.V. (or its successor approved
26571
+ * by the membership of KDE e.V.), which shall act as a proxy
26572
+ * defined in Section 14 of version 3 of the license.
26574
+ * This program is distributed in the hope that it will be useful,
26575
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
26576
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26577
+ * GNU General Public License for more details.
26579
+ * You should have received a copy of the GNU General Public License
26580
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
26583
+#ifndef delegate_h
26584
+#define delegate_h
26586
+#include <QItemDelegate>
26589
+class UserPermissionDelegate : public QItemDelegate
26594
+ UserPermissionDelegate(QObject *parent = 0);
26596
+ QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
26597
+ const QModelIndex &index) const;
26598
+ void setEditorData(QWidget *editor, const QModelIndex &index) const;
26599
+ void setModelData(QWidget *editor, QAbstractItemModel *model,
26600
+ const QModelIndex &index) const;
26603
+ void emitCommitData();
26607
Index: kdenetwork-4.6.3/filesharing/samba/filepropertiesplugin/model.cpp
26608
===================================================================
26609
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
26610
+++ kdenetwork-4.6.3/filesharing/samba/filepropertiesplugin/model.cpp 2011-05-30 12:32:04.797538094 -0400
26613
+ * Copyright 2011 Rodrigo Belem <rclbelem@gmail.com>
26615
+ * This program is free software; you can redistribute it and/or
26616
+ * modify it under the terms of the GNU General Public License as
26617
+ * published by the Free Software Foundation; either version 2 of
26618
+ * the License or (at your option) version 3 or any later version
26619
+ * accepted by the membership of KDE e.V. (or its successor approved
26620
+ * by the membership of KDE e.V.), which shall act as a proxy
26621
+ * defined in Section 14 of version 3 of the license.
26623
+ * This program is distributed in the hope that it will be useful,
26624
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
26625
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26626
+ * GNU General Public License for more details.
26628
+ * You should have received a copy of the GNU General Public License
26629
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
26632
+#include <kuser.h>
26634
+#include <sys/stat.h>
26636
+#include "model.h"
26638
+UserPermissionModel::UserPermissionModel(KSambaShareData &shareData, QObject *parent)
26639
+ : QAbstractTableModel(parent)
26640
+ , userList(getUsersList())
26641
+ , shareData(shareData)
26647
+void UserPermissionModel::setupData()
26649
+ QStringList acl = shareData.acl().split(",", QString::SkipEmptyParts);
26651
+ QList<QString>::const_iterator itr;
26652
+ for (itr = acl.constBegin(); itr != acl.constEnd(); ++itr) {
26653
+ QStringList userInfo = (*itr).trimmed().split(":");
26654
+ usersAcl.insert(userInfo.at(0), QVariant(userInfo.at(1)));
26656
+ if (usersAcl.isEmpty()) {
26657
+ usersAcl.insert("Everyone", QVariant("R"));
26661
+QStringList UserPermissionModel::getUsersList() const
26663
+ unsigned int defminuid;
26664
+ unsigned int defmaxuid;
26668
+ if (!stat("/etc/debian_version", &st)) { /* debian */
26669
+ defminuid = 1000;
26670
+ defmaxuid = 29999;
26671
+ } else if (!stat("/usr/portage", &st)) { /* gentoo */
26672
+ defminuid = 1000;
26673
+ defmaxuid = 65000;
26674
+ } else if (!stat("/etc/mandrake-release", &st)) { /* mandrake - check before redhat! */
26676
+ defmaxuid = 65000;
26677
+ } else if (!stat("/etc/redhat-release", &st)) { /* redhat */
26679
+ defmaxuid = 65000;
26680
+ } else /* if (!stat("/etc/SuSE-release", &st)) */ { /* suse */
26682
+ defmaxuid = 65000;
26685
+ defminuid = 1000;
26686
+ defmaxuid = 65000;
26689
+ QStringList userList;
26690
+ userList.append("Everyone");
26691
+ foreach (const QString &username, KUser::allUserNames()) {
26692
+ if (username == "nobody") {
26695
+ KUser user(username);
26696
+ if (user.uid() >= defminuid) {
26697
+ userList << username;
26704
+int UserPermissionModel::rowCount(const QModelIndex &parent) const
26706
+ return userList.count();
26709
+int UserPermissionModel::columnCount(const QModelIndex &parent) const
26714
+QVariant UserPermissionModel::data(const QModelIndex &index, int role) const
26716
+ if ((role == Qt::DisplayRole) && (index.column() == 0)) {
26717
+ return QVariant(userList.at(index.row()));
26720
+ if ((role == Qt::DisplayRole || role == Qt::EditRole) && (index.column() == 1)) {
26721
+ QMap<QString, QVariant>::ConstIterator itr;
26722
+ for (itr = usersAcl.constBegin(); itr != usersAcl.constEnd(); ++itr) {
26723
+ if (itr.key().endsWith(userList.at(index.row()))) {
26724
+ return itr.value();
26729
+ return QVariant();
26732
+Qt::ItemFlags UserPermissionModel::flags(const QModelIndex &index) const
26734
+ if (index.column() == 0) {
26735
+ return Qt::ItemIsSelectable;
26738
+ if (index.column() == 1) {
26739
+ return (Qt::ItemIsEnabled | Qt::ItemIsEditable);
26742
+ return Qt::NoItemFlags;
26745
+bool UserPermissionModel::setData(const QModelIndex &index, const QVariant &value, int role)
26747
+ if ((role != Qt::EditRole) || (index.column() != 1)) {
26752
+ QMap<QString, QVariant>::ConstIterator itr;
26753
+ for (itr = usersAcl.constBegin(); itr != usersAcl.constEnd(); ++itr) {
26754
+ if (itr.key().endsWith(userList.at(index.row()))) {
26760
+ if (key.isEmpty()) {
26761
+ key = userList.at(index.row());
26764
+ if (value.isNull()) {
26765
+ usersAcl.take(key);
26767
+ usersAcl.insert(key, value);
26770
+ emit dataChanged(index, index);
26774
+QString UserPermissionModel::getAcl() const
26776
+ QString result("");
26778
+ QMap<QString, QVariant>::ConstIterator itr;
26779
+ for (itr = usersAcl.constBegin(); itr != usersAcl.constEnd(); ++itr) {
26780
+ if (!itr.value().toString().isEmpty()) {
26781
+ result.append(itr.key() + ":" + itr.value().toString().toLower());
26782
+ if (itr != (usersAcl.constEnd() - 1)) {
26783
+ result.append(",");
26790
Index: kdenetwork-4.6.3/filesharing/samba/filepropertiesplugin/model.h
26791
===================================================================
26792
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
26793
+++ kdenetwork-4.6.3/filesharing/samba/filepropertiesplugin/model.h 2011-05-30 12:32:04.797538094 -0400
26796
+ * Copyright 2011 Rodrigo Belem <rclbelem@gmail.com>
26798
+ * This program is free software; you can redistribute it and/or
26799
+ * modify it under the terms of the GNU General Public License as
26800
+ * published by the Free Software Foundation; either version 2 of
26801
+ * the License or (at your option) version 3 or any later version
26802
+ * accepted by the membership of KDE e.V. (or its successor approved
26803
+ * by the membership of KDE e.V.), which shall act as a proxy
26804
+ * defined in Section 14 of version 3 of the license.
26806
+ * This program is distributed in the hope that it will be useful,
26807
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
26808
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26809
+ * GNU General Public License for more details.
26811
+ * You should have received a copy of the GNU General Public License
26812
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
26818
+#include <QStringList>
26819
+#include <QAbstractTableModel>
26820
+#include <ksambasharedata.h>
26822
+class KSambaShareData;
26824
+class UserPermissionModel : public QAbstractTableModel
26829
+ UserPermissionModel(KSambaShareData &shareData, QObject *parent = 0);
26831
+ int rowCount(const QModelIndex &parent = QModelIndex()) const;
26832
+ int columnCount(const QModelIndex &parent = QModelIndex()) const;
26834
+ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
26836
+ Qt::ItemFlags flags(const QModelIndex & index) const;
26837
+ bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole);
26839
+ QString getAcl() const;
26842
+ QStringList userList;
26843
+ KSambaShareData shareData;
26844
+ QVariantMap usersAcl;
26846
+ void setupData();
26847
+ QStringList getUsersList() const;
26851
Index: kdenetwork-4.6.3/filesharing/samba/filepropertiesplugin/sambausershareplugin.cpp
26852
===================================================================
26853
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
26854
+++ kdenetwork-4.6.3/filesharing/samba/filepropertiesplugin/sambausershareplugin.cpp 2011-05-30 12:44:57.229368400 -0400
26857
+ Copyright (c) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
26858
+ Copyright (c) 2011 Rodrigo Belem <rclbelem@gmail.com>
26860
+ This program is free software; you can redistribute it and/or modify
26861
+ it under the terms of the GNU General Public License as published by
26862
+ the Free Software Foundation; either version 2 of the License, or
26863
+ (at your option) any later version.
26865
+ This program is distributed in the hope that it will be useful,
26866
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
26867
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26868
+ GNU General Public License for more details.
26870
+ You should have received a copy of the GNU General Public License
26871
+ along with this program; if not, write to the Free Software
26872
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
26876
+#include <QFileInfo>
26877
+#include <QStringList>
26878
+#include <QStandardItemModel>
26879
+#include <QProcess>
26881
+#include <kvbox.h>
26882
+#include <kuser.h>
26883
+#include <kdebug.h>
26884
+#include <kpushbutton.h>
26885
+#include <ksambashare.h>
26886
+#include <ksambasharedata.h>
26887
+#include <kmessagebox.h>
26888
+#include <KDE/KPluginFactory>
26889
+#include <KDE/KPluginLoader>
26891
+#include "sambausershareplugin.h"
26892
+#include "model.h"
26893
+#include "delegate.h"
26895
+K_PLUGIN_FACTORY(SambaUserSharePluginFactory, registerPlugin<SambaUserSharePlugin>();)
26896
+K_EXPORT_PLUGIN(SambaUserSharePluginFactory("fileshare_propsdlgplugin"))
26898
+SambaUserSharePlugin::SambaUserSharePlugin(QObject *parent, const QList<QVariant> &args)
26899
+ : KPropertiesDialogPlugin(qobject_cast<KPropertiesDialog *>(parent))
26903
+ url = properties->kurl().path(KUrl::RemoveTrailingSlash);
26904
+ if (url.isEmpty()) {
26908
+ QFileInfo pathInfo(url);
26909
+ if (!pathInfo.permission(QFile::ReadUser | QFile::WriteUser)) {
26913
+ KGlobal::locale()->insertCatalog("kfileshare");
26915
+ KVBox *vbox = new KVBox();
26916
+ properties->addPage(vbox, i18n("&Share"));
26917
+ properties->setFileSharingPage(vbox);
26919
+ if (!QFile::exists("/usr/sbin/smbd")
26920
+ && !QFile::exists("/usr/local/sbin/smbd")) {
26922
+ QWidget *widget = new QWidget(vbox);
26923
+ QVBoxLayout *vLayout = new QVBoxLayout(widget);
26924
+ vLayout->setAlignment(Qt::AlignJustify);
26925
+ vLayout->setSpacing(KDialog::spacingHint());
26926
+ vLayout->setMargin(0);
26928
+ vLayout->addWidget(new QLabel(i18n("Samba is not installed on your system."), widget));
26930
+#ifdef SAMBA_INSTALL
26931
+ KPushButton *btn = new KPushButton(i18n("Install Samba..."), widget);
26932
+ btn->setDefault(false);
26933
+ vLayout->addWidget(btn);
26934
+ connect(btn, SIGNAL(clicked()), SLOT(installSamba()));
26937
+ // align items on top
26938
+ vLayout->addStretch();
26943
+ QWidget *widget = new QWidget(vbox);
26944
+ propertiesUi.setupUi(widget);
26946
+ QList<KSambaShareData> shareList = KSambaShare::instance()->getSharesByPath(url);
26948
+ if (!shareList.isEmpty()) {
26949
+ shareData = shareList.at(0); // FIXME: using just the first in the list for a while
26956
+ connect(propertiesUi.sambaChk, SIGNAL(toggled(bool)), this, SLOT(toggleShareStatus(bool)));
26957
+ connect(propertiesUi.sambaChk, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
26958
+ connect(propertiesUi.sambaNameEdit, SIGNAL(textChanged(QString)), this, SIGNAL(changed()));
26959
+ connect(propertiesUi.sambaNameEdit, SIGNAL(textChanged(QString)), this, SLOT(checkShareName(const QString &)));
26960
+ connect(propertiesUi.sambaAllowGuestChk, SIGNAL(toggled(bool)), this, SIGNAL(changed()));
26961
+ connect(model, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), this, SIGNAL(changed()));
26963
+ for (int i = 0; i < model->rowCount(); ++i) {
26964
+ propertiesUi.tableView->openPersistentEditor(model->index(i, 1, QModelIndex()));
26968
+SambaUserSharePlugin::~SambaUserSharePlugin()
26972
+void SambaUserSharePlugin::installSamba()
26974
+ QProcess *installProcess = new QProcess(this);
26975
+ installProcess->start("qapt-batch", QStringList() << "--install" << SAMBA_PACKAGE_NAME);
26978
+void SambaUserSharePlugin::setupModel()
26980
+ model = new UserPermissionModel(shareData, this);
26983
+void SambaUserSharePlugin::setupViews()
26985
+ propertiesUi.tableView->setModel(model);
26986
+ propertiesUi.tableView->setSelectionMode(QAbstractItemView::NoSelection);
26987
+ propertiesUi.tableView->setItemDelegate(new UserPermissionDelegate(this));
26990
+void SambaUserSharePlugin::load()
26992
+ bool guestAllowed = false;
26993
+ bool sambaShared = KSambaShare::instance()->isDirectoryShared(url);
26995
+ propertiesUi.sambaChk->setChecked(sambaShared);
26996
+ toggleShareStatus(sambaShared);
26997
+ if (sambaShared) {
26998
+ guestAllowed = (bool) shareData.guestPermission();
27000
+ propertiesUi.sambaAllowGuestChk->setChecked(guestAllowed);
27002
+ propertiesUi.sambaNameEdit->setText(shareData.name());
27005
+void SambaUserSharePlugin::applyChanges()
27007
+ KSambaShareData::UserShareError result;
27009
+ if (propertiesUi.sambaChk->isChecked()) {
27010
+ if (shareData.setAcl(model->getAcl()) != KSambaShareData::UserShareAclOk) {
27014
+ shareData.setName(propertiesUi.sambaNameEdit->text());
27016
+ shareData.setPath(url);
27018
+ KSambaShareData::GuestPermission guestOk(shareData.guestPermission());
27020
+ guestOk = (propertiesUi.sambaAllowGuestChk->isChecked() == false)
27021
+ ? KSambaShareData::GuestsNotAllowed : KSambaShareData::GuestsAllowed;
27023
+ shareData.setGuestPermission(guestOk);
27025
+ result = shareData.save();
27026
+ } else if (KSambaShare::instance()->isDirectoryShared(url)) {
27027
+ result = shareData.remove();
27031
+void SambaUserSharePlugin::toggleShareStatus(bool checked)
27033
+ propertiesUi.sambaNameEdit->setEnabled(checked);
27034
+ propertiesUi.sambaAllowGuestChk->setCheckable(checked);
27035
+ propertiesUi.tableView->setEnabled(checked);
27036
+ if (checked && propertiesUi.sambaNameEdit->text().isEmpty()) {
27037
+ propertiesUi.sambaNameEdit->setText(getNewShareName());
27041
+void SambaUserSharePlugin::checkShareName(const QString &name)
27043
+ bool disableButton = false;
27045
+ if (name.isEmpty()) {
27046
+ disableButton = true;
27047
+ } else if (!KSambaShare::instance()->isShareNameAvailable(name)) {
27048
+ // There is another Share with the same name
27049
+ KMessageBox::sorry(qobject_cast<KPropertiesDialog *>(this),
27050
+ i18n("<qt>There is already a share with the name <strong>%1</strong>.<br /> Please choose another name.</qt>",
27051
+ propertiesUi.sambaNameEdit->text()));
27052
+ propertiesUi.sambaNameEdit->selectAll();
27053
+ disableButton = true;
27056
+ if (disableButton) {
27057
+ properties->enableButtonOk(false);
27058
+ propertiesUi.sambaNameEdit->setFocus();
27062
+ if (!properties->isButtonEnabled(KPropertiesDialog::Ok)) {
27063
+ properties->enableButtonOk(true);
27067
+QString SambaUserSharePlugin::getNewShareName()
27069
+ QString shareName = KUrl(url).fileName();
27071
+ if (!propertiesUi.sambaNameEdit->text().isEmpty()) {
27072
+ shareName = propertiesUi.sambaNameEdit->text();
27075
+ // Windows could have problems with longer names
27076
+ shareName = shareName.left(12);
27078
+ return shareName;
27081
+#include "moc_sambausershareplugin.cpp"
27082
Index: kdenetwork-4.6.3/filesharing/samba/filepropertiesplugin/sambausershareplugin.desktop
27083
===================================================================
27084
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
27085
+++ kdenetwork-4.6.3/filesharing/samba/filepropertiesplugin/sambausershareplugin.desktop 2011-05-30 12:32:04.797538094 -0400
27089
+Icon=preferences-system-network-share-windows
27090
+Name=Fileshare Konqueror Directory Properties Page
27091
+Name[ar]=صفحة دليل خصائص مشاركة ملفات كونكيورر
27092
+Name[ast]=Páxina de propiedaes del direutoriu pa compartir ficheros de Konqueror
27093
+Name[bg]=Настройки за приставката за браузъра за споделяна на файлове
27094
+Name[bn]=ফাইল ভাগাভাগি কনকরার ডিরেক্টরী বৈশিষ্ট্যাবলী পাতা
27095
+Name[ca]=Pàgina de propietats del directori de compartició de fitxers del Konqueror
27096
+Name[ca@valencia]=Pàgina de propietats del directori de compartició de fitxers del Konqueror
27097
+Name[cs]=Stránka vlastností adresáře sdílení Konqueroru
27098
+Name[da]=Fileshare Konqueror-mappens side med egenskaber
27099
+Name[de]=Ordnerfreigabe-Eigenschaftenseite für Konqueror
27100
+Name[el]=Σελίδα ιδιοτήτων κοινόχρηστου καταλόγου του Konqueror
27101
+Name[en_GB]=Fileshare Konqueror Directory Properties Page
27102
+Name[eo]=Paĝo de ecoj de la komunaj dosierujoj de Konkeranto
27103
+Name[es]=Página de propiedades del directorio para compartir archivos de Konqueror
27104
+Name[et]=Failijagamise Konquerori kataloogi omaduste lehekülg
27105
+Name[eu]=Fitxategiak partekatzeko Konqueror direktorioaren propietateen orria
27106
+Name[fa]=صفحۀ ویژگیهای فهرست راهنمای اشتراک پروندۀ Konqueror
27107
+Name[fi]=Konquerorin tiedostojakojen ominaisuussivu
27108
+Name[fr]=Page des propriétés d'un dossier de partage de Konqueror
27109
+Name[ga]=Leathanach Airíonna Konqueror: Comhroinnt Comhadlainne
27110
+Name[gl]=Páxina coas propiedades do directorio de ficheiros compartidos de Konqueror
27111
+Name[he]=דף מאפייני ספרית קבצים משותפת של Konqueror
27112
+Name[hi]=फ़ाइलशेयर कॉन्करर डिरेक्ट्रीज़ गुण पृष्ठ
27113
+Name[hne]=फाइलसेयर कान्करर डिरेक्टरीज गुन पेज
27114
+Name[hr]=Stranica sa postavkama svojstava Konqueror Directoryja za dijeljenje datoteka
27115
+Name[hu]=Fájlmegosztási lap a Konqueror könyvtártulajdonságainál
27116
+Name[ia]=Pagina de proprietates de directorio de Konqueror pro compartir de file
27117
+Name[is]=Skráastjóraeiginleikar Konqueror
27118
+Name[it]=Pagina delle proprietà di Konqueror per la condivisione
27119
+Name[ja]=Konqueror でファイル共有するディレクトリのプロパティのページ
27120
+Name[kk]=Konqueror файлдарын ортақтастыру каталогының қасиеттер беті
27121
+Name[km]=ទំព័រលក្ខណៈសម្បត្តិថត Konqueror សម្រាប់ការចែករំលែក
27122
+Name[ko]=Konqueror 디렉터리 속성 페이지의 파일 공유 탭
27123
+Name[lt]=Failų dalinimosi Konqueror aplanko nustatymų puslapis
27124
+Name[lv]=Konqueror mapes koplietošanas īpašību lapa
27125
+Name[mk]=Страница со параметри за делен именик во Konqueror
27126
+Name[ml]=ഫയല്ഷെയര് കോണ്ക്വറര് തട്ടിന്റെ ഗുണവിശേഷങ്ങളുടെ താള്
27127
+Name[nb]=Fildeler – Side i Konquerors mappegenskaper
27128
+Name[nds]=Konqueror Ornerfreegaav-Egenschappensiet
27129
+Name[ne]=फाइल साझेदारी कन्क्वेरर डाइरेक्टरी विशेषता पृष्ठ
27130
+Name[nl]=Configuratiepagina Konqueror bestanden delen
27131
+Name[nn]=Side for katalogeigenskapar til fildeling i Konqueror
27132
+Name[pa]=ਫਾਇਲ ਸਾਂਝ ਕੋਨਕਿਊਰੋਰ ਡਾਇਰੈਕਟਰੀ ਵਿਸ਼ੇਸ਼ਤਾ ਪੇਜ਼
27133
+Name[pl]=Strona współdzielenia we właściwościach katalogu w Konquerorze
27134
+Name[pt]=Página de Propriedades da Pasta de Partilha do Konqueror
27135
+Name[pt_BR]=Página de propriedades da pasta de compartilhamento de arquivos do Konqueror
27136
+Name[ru]=Общий доступ к файлам - диалог Konqueror
27137
+Name[sk]=Zdieľanie adresárov pre Konqueror
27138
+Name[sl]=Stran z lastnostmi za souporabo mape
27139
+Name[sr]=Страница К‑освајача са својствима фасцикле за дељење фајлова
27140
+Name[sr@ijekavian]=Страница К‑освајача са својствима фасцикле за дељење фајлова
27141
+Name[sr@ijekavianlatin]=Stranica K‑osvajača sa svojstvima fascikle za deljenje fajlova
27142
+Name[sr@latin]=Stranica K‑osvajača sa svojstvima fascikle za deljenje fajlova
27143
+Name[sv]=Konquerors fildelningssida med katalogegenskaper
27144
+Name[ta]=Fileshare Konqueror அடைவு பண்புகளின் பக்கம்
27145
+Name[tg]=Саҳифаи Феҳристи Хусусиятҳо оиди Konqueror Истифодабарии Муштараки Файлҳо
27146
+Name[tr]=Dosya Paylaşımı Konqueror Dizin Özellikleri Sayfası
27147
+Name[uk]=Сторінка властивостей каталогу для спільного доступу
27148
+Name[vi]=Trang thuộc tính của chia sẻ thư mục Konqueror
27149
+Name[x-test]=xxFileshare Konqueror Directory Properties Pagexx
27150
+Name[zh_CN]=Konqueror 文件共享目录属性页
27151
+Name[zh_HK]=檔案分享 Konqueror 目錄屬性頁
27152
+Name[zh_TW]=Konqueror 檔案分享目錄屬性頁
27153
+Comment=Konqueror properties dialog plugin to share a directory with the local network
27154
+Comment[ar]=خصائص حوار إضافة كونكيورر لمشاركة مسار مع الشبكة المحلية
27155
+Comment[ast]=Complementu de diálogu de propiedaes de Konqueror pa compartir un direutoriu cola rede llocal
27156
+Comment[bg]=Настройка на приставката за браузъра Konqueror за споделяна на директории в локалната мрежа
27157
+Comment[bn]=স্থানীয় নেটওয়ার্কের সঙ্গে একটি ডিরেক্টরী ভাগাভাগি করতে কনকরার বৈশিষ্ট্যাবলী ডায়ালগ প্লাগিন
27158
+Comment[ca]=Diàleg de propietats del connector del Konqueror per compartir un directori amb la xarxa local
27159
+Comment[ca@valencia]=Diàleg de propietats del connector del Konqueror per compartir un directori amb la xarxa local
27160
+Comment[cs]=Modul dialogu vlastností Konqueroru pro sdílení adresářů v lokální síti
27161
+Comment[da]=Konqueror egenskaber-dialog plugin til at dele en mappe med det lokale netværk
27162
+Comment[de]=Modul für den Konqueror-Eigenschaftendialog zur Freigabe eines Ordners im Netzwerk
27163
+Comment[el]=Πρόσθετος διάλογος ρυθμίσεων του Konqueror για την κοινή χρήση ενός καταλόγου με το τοπικό δίκτυο
27164
+Comment[en_GB]=Konqueror properties dialogue plugin to share a directory with the local network
27165
+Comment[eo]=Kromaĵo de Konkeranto por komunigi dosierujon sur la loka reto
27166
+Comment[es]=Complemento de diálogo de propiedades de Konqueror para compartir un directorio con la red local
27167
+Comment[et]=Konquerori omaduste dialoogi plugin kataloogi jagamiseks kohtvõrgus
27168
+Comment[eu]=Konqueror-en propietateen elkarrizketa-koadro plugina direktorio bat sare lokalean partekatzeko
27169
+Comment[fa]=ویژگیهای وصلۀ محاورۀ Konqueror برای اشتراک فهرست راهنما با شبکۀ محلی
27170
+Comment[fi]=Konquerorin liitännäinen, jolla voi jakaa kansioita lähiverkossa
27171
+Comment[fr]=Module de Konqueror pour le partage d'un dossier sur le réseau local
27172
+Comment[ga]=Breiseán dialóige airíonna Konqueror lenar féidir comhadlann a chomhroinnt leis an líonra logánta
27173
+Comment[gl]=Diálogo de propiedades do engadido de Konqueror para compartir un directorio pola rede local
27174
+Comment[he]=תוסף מאפייני דו-שיח של Konqueror כדי לשתף סיפריה עם רשת מקומית
27175
+Comment[hi]=स्थानीय नेटवर्क के साथ डिरेक्ट्री साझा करने के लिए कॉन्करर गुण संवाद प्लगइन
27176
+Comment[hne]=लोकल नेटवर्क के साथ डिरेक्टरी साझा करे बर कान्करर गुन गोठ प्लगइन
27177
+Comment[hr]=Dijalogni priključak postavki za Konqueror za dijeljenje direktorija na lokalnoj mreži
27178
+Comment[hu]=Konqueror párbeszédablak könyvtár megosztásához a helyi hálózaton
27179
+Comment[ia]=Plug-in de dialogo de proprietate de Konqueror pro compartir un directorio con le rete local
27180
+Comment[is]=Konqueror properties dialog plugin to share a directory with the local network
27181
+Comment[it]=Estensione delle proprietà di Konqueror per condividere una cartella con la rete locale
27182
+Comment[ja]=ローカルネットワークでディレクトリを共有する Konqueror プロパティダイアログのプラグイン
27183
+Comment[kk]=Каталогты жергілікті желімен ортақтастыратын Konqueror қасиеттер диалогының плагині
27184
+Comment[km]=ប្រអប់លក្ខណៈសម្បត្តិ Konqueror ដើម្បីចែករំលែកថតនៅក្នុងបណ្ដាញមូលដ្ឋាន
27185
+Comment[ko]=로컬 네트워크에서 파일을 공유하기 위한 Konqueror 속성 대화 상자 플러그인
27186
+Comment[lt]=Konqueror nustatymų dialogo įskiepis, skirtas dalintis aplanku vietiniame tinkle
27187
+Comment[lv]=Konqueror īpašību dialoga spraudnis mapes publicēšanai koplietošanai lokālajā tīklā
27188
+Comment[mk]=Приклучок со дијалог за својства во Konqueror за делење на датотеки со локалната мрежа
27189
+Comment[ml]=കോണ്ക്വററിലെ പ്രാദേശിക ശൃഖലയുമായി തട്ടു് പങ്കുവെക്കാനുള്ള സംയോജകത്തിന്റെ ഗുണവിശേഷങ്ങളുടെ സംവാദജാലകം
27190
+Comment[nb]=Programtillegg for Konquerors egenskapsdialog for å dele en mappe på lokalnettet
27191
+Comment[nds]=Moduul för en Konqueror-Egenschappendialoog för't Freegeven vun Ornern in't lokale Nettwark
27192
+Comment[ne]=स्थानीय सञ्जालसँग डाइरेक्टरी साझेदार गर्न कन्क्वेरर विशेषता संवाद प्लगइन
27193
+Comment[nl]=Konqueror-plugin met instellingen om bestanden te delen via het lokale netwerk
27194
+Comment[nn]=Konqueror-vising av eigenskapar til ein delt katalog i det lokale nettverket
27195
+Comment[pa]=ਕੋਨਕਿਉਰੋਰ ਵਿਸ਼ੇਸ਼ਤਾ ਡਾਈਲਾਗ ਪਲੱਗਇਨ ਜੋ ਲੋਕਲ ਨੈੱਟਵਰਕ ਨਾਲ ਡਾਇਰੈਕਟਰੀ ਸਾਂਝੀ ਕਰਦੀ ਹੈ
27196
+Comment[pl]=Wtyczka właściwości dla Konquerora umożliwiająca współdzielenie katalogu w sieci lokalnej
27197
+Comment[pt]='Plugin' de janela de propriedades do Konqueror para partilhar uma pasta na rede local
27198
+Comment[pt_BR]=Plug-in de diálogo de propriedades do Konqueror para o compartilhamento de uma pasta em uma rede local
27199
+Comment[ro]=Modul pentru dialogul de proprietăți Konqueror pentru a partaja un director cu rețeaua locală
27200
+Comment[ru]=Модуль свойств Konqueror для организации общего доступа к каталогу по локальной сети
27201
+Comment[sk]=Modul Konquerora pre zdieľanie adresára v lokálnej sieti
27202
+Comment[sl]=Vstavek za Konqueror s pogovornim oknom za lastnosti za souporabo mape v krajevnem omrežju
27203
+Comment[sr]=Прикључак дијалога К‑освајача за својства дељења фасцикли у локалној мрежи
27204
+Comment[sr@ijekavian]=Прикључак дијалога К‑освајача за својства дијељења фасцикли у локалној мрежи
27205
+Comment[sr@ijekavianlatin]=Priključak dijaloga K‑osvajača za svojstva dijeljenja fascikli u lokalnoj mreži
27206
+Comment[sr@latin]=Priključak dijaloga K‑osvajača za svojstva deljenja fascikli u lokalnoj mreži
27207
+Comment[sv]=Konqueror-insticksprogram med egenskapsdialogruta för att dela en katalog i det lokala nätverket
27208
+Comment[ta]=Konqueror பண்புகளின் உரையாடல் செருகுகள் அடைவை சம்பா சேவையகத்துடன் பகிரவேண்டிய செருகுகள்
27209
+Comment[tg]=Модули муколамаи хусусиятҳои Konqueror барои истифодабарии муштараки феҳрист бо шабакаи маҳалллӣ
27210
+Comment[tr]=Yerel ağ ile dizin paylaşımı için Konqueror iletişim eklentisi özellikleri
27211
+Comment[uk]=Додаток діалогового вікна властивостей Konqueror для уможливлення спільного доступу до каталогу з локальної мережі
27212
+Comment[vi]=Phần bổ sung hộp thoại thuộc tính Konqueror dùng để chia sẻ một thư mục trên mạng nội bộ
27213
+Comment[x-test]=xxKonqueror properties dialog plugin to share a directory with the local networkxx
27214
+Comment[zh_CN]=可将目录与局域网共享的 Konqueror 属性页对话框插件
27215
+Comment[zh_HK]=用於與本地網絡分享目錄的 Konqueror 屬性對話盒插件
27216
+Comment[zh_TW]=Konqueror 屬性對話框外掛程式,用於在本地端網路上分享目錄
27217
+X-KDE-Library=sambausershareplugin
27218
+X-KDE-Protocol=file
27219
+X-KDE-ServiceTypes=KPropertiesDialog/Plugin,inode/directory
27220
Index: kdenetwork-4.6.3/filesharing/samba/filepropertiesplugin/sambausershareplugin.h
27221
===================================================================
27222
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
27223
+++ kdenetwork-4.6.3/filesharing/samba/filepropertiesplugin/sambausershareplugin.h 2011-05-30 12:32:04.797538094 -0400
27226
+ Copyright (c) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
27227
+ Copyright (c) 2011 Rodrigo Belem <rclbelem@gmail.com>
27229
+ This program is free software; you can redistribute it and/or modify
27230
+ it under the terms of the GNU General Public License as published by
27231
+ the Free Software Foundation; either version 2 of the License, or
27232
+ (at your option) any later version.
27234
+ This program is distributed in the hope that it will be useful,
27235
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
27236
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27237
+ GNU General Public License for more details.
27239
+ You should have received a copy of the GNU General Public License
27240
+ along with this program; if not, write to the Free Software
27241
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
27245
+#ifndef SAMBAUSERSHAREPLUGIN_H
27246
+#define SAMBAUSERSHAREPLUGIN_H
27248
+#include <QVariant>
27249
+#include <QComboBox>
27251
+#include <kpropertiesdialog.h>
27253
+#include "ui_sambausershareplugin.h"
27255
+class UserPermissionModel;
27257
+class SambaUserSharePlugin : public KPropertiesDialogPlugin
27262
+ SambaUserSharePlugin(QObject *parent, const QList<QVariant> &args);
27263
+ virtual ~SambaUserSharePlugin();
27264
+ virtual void applyChanges();
27268
+ void toggleShareStatus(bool checked);
27269
+ void installSamba();
27270
+ void checkShareName(const QString &name);
27274
+ KSambaShareData shareData;
27275
+ UserPermissionModel *model;
27276
+ Ui::PropertiesPageGUI propertiesUi;
27278
+ void setupModel();
27279
+ void setupViews();
27280
+ QStringList getUsersList();
27281
+ QString getNewShareName();
27284
+#endif // SAMBAUSERSHAREPLUGIN_H
27285
Index: kdenetwork-4.6.3/filesharing/samba/filepropertiesplugin/sambausershareplugin.ui
27286
===================================================================
27287
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
27288
+++ kdenetwork-4.6.3/filesharing/samba/filepropertiesplugin/sambausershareplugin.ui 2011-05-30 12:32:04.797538094 -0400
27290
+<?xml version="1.0" encoding="UTF-8"?>
27291
+<ui version="4.0">
27292
+ <class>PropertiesPageGUI</class>
27293
+ <widget class="QWidget" name="PropertiesPageGUI">
27294
+ <property name="geometry">
27298
+ <width>433</width>
27299
+ <height>353</height>
27302
+ <layout class="QVBoxLayout" name="verticalLayout_3">
27304
+ <layout class="QVBoxLayout" name="verticalLayout">
27306
+ <widget class="QCheckBox" name="sambaChk">
27307
+ <property name="text">
27308
+ <string>Share with S&amba (Microsoft Windows)</string>
27310
+ <property name="checked">
27311
+ <bool>true</bool>
27318
+ <layout class="QFormLayout" name="formLayout">
27319
+ <property name="fieldGrowthPolicy">
27320
+ <enum>QFormLayout::ExpandingFieldsGrow</enum>
27322
+ <item row="0" column="0">
27323
+ <widget class="QLabel" name="textLabel1">
27324
+ <property name="text">
27325
+ <string>Name:</string>
27327
+ <property name="wordWrap">
27328
+ <bool>false</bool>
27332
+ <item row="0" column="1">
27333
+ <widget class="KLineEdit" name="sambaNameEdit"/>
27338
+ <layout class="QHBoxLayout">
27340
+ <widget class="QCheckBox" name="sambaAllowGuestChk">
27341
+ <property name="enabled">
27342
+ <bool>true</bool>
27344
+ <property name="text">
27345
+ <string>Allow Guests</string>
27347
+ <property name="checked">
27348
+ <bool>false</bool>
27353
+ <spacer name="spacer1">
27354
+ <property name="orientation">
27355
+ <enum>Qt::Horizontal</enum>
27357
+ <property name="sizeType">
27358
+ <enum>QSizePolicy::Expanding</enum>
27360
+ <property name="sizeHint" stdset="0">
27362
+ <width>40</width>
27363
+ <height>20</height>
27371
+ <widget class="QTableView" name="tableView">
27372
+ <property name="selectionMode">
27373
+ <enum>QAbstractItemView::NoSelection</enum>
27375
+ <property name="showGrid">
27376
+ <bool>false</bool>
27378
+ <attribute name="horizontalHeaderVisible">
27379
+ <bool>false</bool>
27381
+ <attribute name="horizontalHeaderHighlightSections">
27382
+ <bool>false</bool>
27384
+ <attribute name="verticalHeaderVisible">
27385
+ <bool>false</bool>
27387
+ <attribute name="verticalHeaderHighlightSections">
27388
+ <bool>false</bool>
27396
+ <class>KLineEdit</class>
27397
+ <extends>QLineEdit</extends>
27398
+ <header>klineedit.h</header>
27404
Index: kdenetwork-4.6.3/filesharing/simple/CMakeLists.txt
27405
===================================================================
27406
--- kdenetwork-4.6.3.orig/filesharing/simple/CMakeLists.txt 2011-01-19 17:21:04.000000000 -0500
27407
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
27413
-########### next target ###############
27415
-set(kcm_fileshare_PART_SRCS fileshare.cpp groupconfigdlg.cpp krichtextlabel.cpp ${libfilesharesamba_SRCS} ${libfilesharenfs_SRCS} ${fileshare_propsdlgplugin_SRCS} ${libpropsdlgplugin_common_SRCS})
27419
-kde4_add_ui3_files(kcm_fileshare_PART_SRCS
27420
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/socketoptionsdlg.ui
27421
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/userselectdlg.ui
27422
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/groupselectdlg.ui
27423
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/usertab.ui
27424
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/filemodedlg.ui
27425
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/hostprops.ui
27428
-kde4_add_ui_files(kcm_fileshare_PART_SRCS
27429
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/share.ui
27430
- groupconfiggui.ui
27431
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/kcm_sambaconf/expertuserdlg.ui
27432
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/nfs/nfsdialoggui.ui
27434
- ${CMAKE_SOURCE_DIR}/filesharing/advanced/propsdlgplugin/propertiespagegui.ui
27438
-kde4_add_plugin(kcm_fileshare ${kcm_fileshare_PART_SRCS})
27441
-target_link_libraries(kcm_fileshare ${KDE4_KIO_LIBS} ${KDE4_KDE3SUPPORT_LIBS})
27443
-install(TARGETS kcm_fileshare DESTINATION ${PLUGIN_INSTALL_DIR})
27446
-########### install files ###############
27448
-install( FILES fileshare.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
27452
Index: kdenetwork-4.6.3/filesharing/simple/controlcenter.ui
27453
===================================================================
27454
--- kdenetwork-4.6.3.orig/filesharing/simple/controlcenter.ui 2011-01-19 17:21:04.000000000 -0500
27455
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
27457
-<ui version="4.0" stdsetdef="1" >
27458
- <class>ControlCenterGUI</class>
27459
- <widget class="QWidget" name="ControlCenterGUI" >
27460
- <property name="geometry" >
27464
- <width>525</width>
27465
- <height>535</height>
27468
- <layout class="QVBoxLayout" >
27469
- <property name="margin" >
27470
- <number>0</number>
27473
- <widget class="KRichTextLabel" name="infoLbl" >
27474
- <property name="margin" >
27475
- <number>11</number>
27477
- <property name="text" >
27478
- <string>SMB and NFS servers are not installed on this machine, to enable this module the servers must be installed.</string>
27480
- <property name="alignment" >
27481
- <set>Qt::AlignVCenter</set>
27483
- <property name="wordWrap" >
27484
- <bool>true</bool>
27489
- <widget class="Q3ButtonGroup" name="shareGrp" >
27490
- <property name="title" >
27491
- <string>Enable Local Networ&k File Sharing</string>
27493
- <property name="checkable" >
27494
- <bool>true</bool>
27496
- <property name="checked" >
27497
- <bool>true</bool>
27499
- <layout class="QVBoxLayout" >
27501
- <widget class="QRadioButton" name="simpleRadio" >
27502
- <property name="text" >
27503
- <string>Si&mple sharing</string>
27505
- <property name="checked" >
27506
- <bool>true</bool>
27508
- <property name="buttonGroupId" >
27509
- <number>1</number>
27514
- <layout class="QHBoxLayout" >
27516
- <widget class="Q3Frame" name="frame4_2" >
27517
- <property name="sizePolicy" >
27519
- <hsizetype>0</hsizetype>
27520
- <vsizetype>5</vsizetype>
27521
- <horstretch>0</horstretch>
27522
- <verstretch>0</verstretch>
27525
- <property name="minimumSize" >
27527
- <width>11</width>
27528
- <height>0</height>
27531
- <property name="frameShape" >
27532
- <enum>NoFrame</enum>
27534
- <property name="frameShadow" >
27535
- <enum>Raised</enum>
27537
- <property name="margin" >
27538
- <number>0</number>
27543
- <widget class="KRichTextLabel" name="textLabel1" >
27544
- <property name="font" >
27546
- <italic>true</italic>
27549
- <property name="text" >
27550
- <string>Enable simple sharing to allow users to share folders from their HOME folder, without knowing the root password.</string>
27552
- <property name="alignment" >
27553
- <set>Qt::AlignVCenter</set>
27555
- <property name="wordWrap" >
27556
- <bool>true</bool>
27563
- <widget class="QRadioButton" name="advancedRadio" >
27564
- <property name="text" >
27565
- <string>Advanced sharin&g</string>
27567
- <property name="buttonGroupId" >
27568
- <number>1</number>
27573
- <layout class="QHBoxLayout" >
27575
- <widget class="Q3Frame" name="frame4_2_2" >
27576
- <property name="sizePolicy" >
27578
- <hsizetype>0</hsizetype>
27579
- <vsizetype>5</vsizetype>
27580
- <horstretch>0</horstretch>
27581
- <verstretch>0</verstretch>
27584
- <property name="minimumSize" >
27586
- <width>11</width>
27587
- <height>0</height>
27590
- <property name="frameShape" >
27591
- <enum>NoFrame</enum>
27593
- <property name="frameShadow" >
27594
- <enum>Raised</enum>
27596
- <property name="margin" >
27597
- <number>0</number>
27602
- <widget class="KRichTextLabel" name="textLabel1_2" >
27603
- <property name="font" >
27605
- <italic>true</italic>
27608
- <property name="text" >
27609
- <string>Enable advanced sharing to allow users to share any folders, as long as they have write access to the needed configuration files, or they know the root password.</string>
27611
- <property name="alignment" >
27612
- <set>Qt::AlignVCenter</set>
27614
- <property name="wordWrap" >
27615
- <bool>true</bool>
27622
- <layout class="QGridLayout" >
27623
- <item rowspan="2" row="0" column="0" colspan="1" >
27624
- <widget class="Q3Frame" name="frame4" >
27625
- <property name="sizePolicy" >
27627
- <hsizetype>0</hsizetype>
27628
- <vsizetype>5</vsizetype>
27629
- <horstretch>0</horstretch>
27630
- <verstretch>0</verstretch>
27633
- <property name="minimumSize" >
27635
- <width>11</width>
27636
- <height>0</height>
27639
- <property name="frameShape" >
27640
- <enum>NoFrame</enum>
27642
- <property name="frameShadow" >
27643
- <enum>Raised</enum>
27645
- <property name="margin" >
27646
- <number>0</number>
27650
- <item row="1" column="1" >
27651
- <widget class="QCheckBox" name="nfsChk" >
27652
- <property name="enabled" >
27653
- <bool>false</bool>
27655
- <property name="text" >
27656
- <string>Use &NFS (Linux/UNIX)</string>
27658
- <property name="checked" >
27659
- <bool>true</bool>
27663
- <item row="0" column="1" >
27664
- <widget class="QCheckBox" name="sambaChk" >
27665
- <property name="enabled" >
27666
- <bool>false</bool>
27668
- <property name="text" >
27669
- <string>Use Sam&ba (Microsoft(R) Windows(R))</string>
27671
- <property name="checked" >
27672
- <bool>true</bool>
27679
- <layout class="QHBoxLayout" >
27681
- <widget class="KPushButton" name="allowedUsersBtn" >
27682
- <property name="text" >
27683
- <string>Allo&wed Users</string>
27688
- <spacer name="spacer9" >
27689
- <property name="sizeHint" >
27691
- <width>40</width>
27692
- <height>20</height>
27695
- <property name="sizeType" >
27696
- <enum>QSizePolicy::Expanding</enum>
27698
- <property name="orientation" >
27699
- <enum>Qt::Horizontal</enum>
27709
- <widget class="Q3GroupBox" name="sharedFoldersGroupBox" >
27710
- <property name="title" >
27711
- <string>Shared Folders</string>
27713
- <layout class="QHBoxLayout" >
27715
- <widget class="K3ListView" name="listView" >
27716
- <property name="selectionMode" stdset="0" >
27717
- <enum>NoSelection</enum>
27720
- <property name="text" >
27721
- <string>Path</string>
27723
- <property name="clickable" >
27724
- <bool>true</bool>
27726
- <property name="resizable" >
27727
- <bool>true</bool>
27731
- <property name="text" >
27732
- <string>Samba</string>
27734
- <property name="clickable" >
27735
- <bool>true</bool>
27737
- <property name="resizable" >
27738
- <bool>true</bool>
27742
- <property name="text" >
27743
- <string>NFS</string>
27745
- <property name="clickable" >
27746
- <bool>true</bool>
27748
- <property name="resizable" >
27749
- <bool>true</bool>
27755
- <widget class="Q3Frame" name="shareBtnPnl" >
27756
- <property name="enabled" >
27757
- <bool>false</bool>
27759
- <property name="frameShape" >
27760
- <enum>NoFrame</enum>
27762
- <property name="frameShadow" >
27763
- <enum>Plain</enum>
27765
- <layout class="QVBoxLayout" >
27766
- <property name="margin" >
27767
- <number>0</number>
27770
- <widget class="KPushButton" name="addShareBtn" >
27771
- <property name="text" >
27772
- <string>A&dd...</string>
27777
- <widget class="KPushButton" name="changeShareBtn" >
27778
- <property name="enabled" >
27779
- <bool>false</bool>
27781
- <property name="text" >
27782
- <string>Chang&e...</string>
27787
- <widget class="KPushButton" name="removeShareBtn" >
27788
- <property name="enabled" >
27789
- <bool>false</bool>
27791
- <property name="text" >
27792
- <string>Rem&ove</string>
27797
- <spacer name="spacer2" >
27798
- <property name="sizeHint" >
27800
- <width>20</width>
27801
- <height>20</height>
27804
- <property name="sizeType" >
27805
- <enum>QSizePolicy::Expanding</enum>
27807
- <property name="orientation" >
27808
- <enum>Qt::Vertical</enum>
27822
- <class>K3ListView</class>
27823
- <extends>Q3ListView</extends>
27824
- <header location="global" >k3listview.h</header>
27828
- <tabstop>sambaChk</tabstop>
27829
- <tabstop>nfsChk</tabstop>
27830
- <tabstop>listView</tabstop>
27833
- <include location="local" >krichtextlabel.h</include>
27837
- <sender>advancedRadio</sender>
27838
- <signal>toggled(bool)</signal>
27839
- <receiver>nfsChk</receiver>
27840
- <slot>setEnabled(bool)</slot>
27843
- <sender>advancedRadio</sender>
27844
- <signal>toggled(bool)</signal>
27845
- <receiver>sambaChk</receiver>
27846
- <slot>setEnabled(bool)</slot>
27849
- <sender>shareGrp</sender>
27850
- <signal>clicked(int)</signal>
27851
- <receiver>ControlCenterGUI</receiver>
27852
- <slot>changedSlot()</slot>
27855
- <sender>simpleRadio</sender>
27856
- <signal>clicked()</signal>
27857
- <receiver>ControlCenterGUI</receiver>
27858
- <slot>changedSlot()</slot>
27861
- <sender>advancedRadio</sender>
27862
- <signal>clicked()</signal>
27863
- <receiver>ControlCenterGUI</receiver>
27864
- <slot>changedSlot()</slot>
27867
- <sender>sambaChk</sender>
27868
- <signal>clicked()</signal>
27869
- <receiver>ControlCenterGUI</receiver>
27870
- <slot>changedSlot()</slot>
27873
- <sender>nfsChk</sender>
27874
- <signal>clicked()</signal>
27875
- <receiver>ControlCenterGUI</receiver>
27876
- <slot>changedSlot()</slot>
27879
- <sender>listView</sender>
27880
- <signal>selectionChanged()</signal>
27881
- <receiver>ControlCenterGUI</receiver>
27882
- <slot>listView_selectionChanged()</slot>
27886
Index: kdenetwork-4.6.3/filesharing/simple/fileshare.cpp
27887
===================================================================
27888
--- kdenetwork-4.6.3.orig/filesharing/simple/fileshare.cpp 2011-01-19 17:21:04.000000000 -0500
27889
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
27892
- Copyright (c) 2002 Laurent Montel <montel@kde.org>
27893
- This program is free software; you can redistribute it and/or modify
27894
- it under the terms of the GNU General Public License as published by
27895
- the Free Software Foundation; either version 2 of the License, or
27896
- (at your option) any later version.
27898
- This program is distributed in the hope that it will be useful,
27899
- but WITHOUT ANY WARRANTY; without even the implied warranty of
27900
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27901
- GNU General Public License for more details.
27903
- You should have received a copy of the GNU General Public License
27904
- along with this program; if not, write to the Free Software
27905
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
27907
-#include <unistd.h>
27909
-#include <qlayout.h>
27910
-#include <qlabel.h>
27912
-#include <qradiobutton.h>
27913
-#include <qcheckbox.h>
27915
-//Added by qt3to4:
27916
-#include <QPixmap>
27917
-#include <QVBoxLayout>
27918
-#include <QTextStream>
27919
-#include <QBoxLayout>
27921
-#include <kpushbutton.h>
27922
-#include <kdebug.h>
27923
-#include <kdialog.h>
27924
-#include <kgenericfactory.h>
27925
-#include <k3listview.h>
27926
-#include <kiconloader.h>
27927
-#include <knfsshare.h>
27928
-#include <ksambashare.h>
27929
-#include <kfileshare.h>
27930
-#include <kstandarddirs.h>
27931
-#include <kconfig.h>
27932
-#include <kmessagebox.h>
27933
-#include <kuser.h>
27935
-#include <kprocess.h>
27936
-#include <krichtextlabel.h>
27939
-#include "propertiespage.h"
27940
-#include "nfsfile.h"
27941
-#include "sambafile.h"
27943
-#include "fileshare.h"
27944
-#include "groupconfigdlg.h"
27947
-K_PLUGIN_FACTORY(ShareFactory, registerPlugin<KFileShareConfig>();)
27948
-K_EXPORT_PLUGIN(ShareFactory("kcmfileshare"))
27951
-#define FILESHARECONF "/etc/security/fileshare.conf"
27952
-#define FILESHARE_DEBUG 5009
27955
-ControlCenterGUI::ControlCenterGUI( QWidget *parent )
27956
- :QWidget( parent )
27959
- connect( listView, SIGNAL( selectionChanged() ), this, SLOT(listView_selectionChanged() ) );
27960
- connect( shareGrp, SIGNAL(clicked(int) ),this,SLOT( changedSlot() ) );
27961
- connect( simpleRadio, SIGNAL(clicked() ),this,SLOT( changedSlot() ) );
27962
- connect( advancedRadio, SIGNAL(clicked() ),this,SLOT( changedSlot() ) );
27963
- connect( sambaChk, SIGNAL(clicked() ),this,SLOT( changedSlot() ) );
27964
- connect( nfsChk, SIGNAL(clicked() ),this,SLOT( changedSlot() ) );
27967
-void ControlCenterGUI::changedSlot()
27972
-void ControlCenterGUI::listView_selectionChanged()
27974
- bool empty = listView->selectedItems ().isEmpty();
27975
- changeShareBtn->setDisabled(empty );
27976
- removeShareBtn->setDisabled(empty );
27980
-KFileShareConfig::KFileShareConfig(QWidget *parent, const QVariantList &):
27981
- KCModule(ShareFactory::componentData(), parent/*, name*/)
27983
- KGlobal::locale()->insertCatalog("kfileshare");
27985
- QBoxLayout* layout = new QVBoxLayout(this,0,
27986
- KDialog::spacingHint());
27989
- QVButtonGroup *box = new QVButtonGroup( i18n("File Sharing"), this );
27990
- box->layout()->setSpacing( KDialog::spacingHint() );
27991
- layout->addWidget(box);
27992
- noSharing=new QRadioButton( i18n("Do ¬ allow users to share files"), box );
27993
- sharing=new QRadioButton( i18n("&Allow users to share files from their HOME folder"), box);
27995
- m_ccgui = new ControlCenterGUI(this);
27996
- connect( m_ccgui, SIGNAL( changed()), this, SLOT(configChanged()));
27997
- connect( m_ccgui->allowedUsersBtn, SIGNAL( clicked()),
27998
- this, SLOT(allowedUsersBtnClicked()));
28000
- QString path = QString::fromLocal8Bit( getenv( "PATH" ) );
28001
- path += QString::fromLatin1( ":/usr/sbin" );
28002
- QString sambaExec = KStandardDirs::findExe( QString::fromLatin1("smbd"), path );
28003
- QString nfsExec = KStandardDirs::findExe( QString::fromLatin1("rpc.nfsd"), path );
28005
- if ( nfsExec.isEmpty() && sambaExec.isEmpty())
28007
- m_ccgui->shareGrp->setDisabled(true);
28008
- m_ccgui->sharedFoldersGroupBox->setDisabled(true);
28012
- if (nfsExec.isEmpty()) {
28013
- m_ccgui->nfsChk->setDisabled(true);
28014
- m_ccgui->nfsChk->setChecked(false);
28015
- m_ccgui->nfsChk->setToolTip(i18n("No NFS server installed on this system"));
28018
- if (sambaExec.isEmpty()) {
28019
- m_ccgui->sambaChk->setDisabled(true);
28020
- m_ccgui->sambaChk->setChecked(false);
28021
- m_ccgui->sambaChk->setToolTip(i18n("No Samba server installed on this system"));
28024
- m_ccgui->infoLbl->hide();
28025
- layout->addWidget(m_ccgui);
28026
- updateShareListView();
28027
- connect( KNFSShare::instance(), SIGNAL( changed()),
28028
- this, SLOT(updateShareListView()));
28029
- connect( KSambaShare::instance(), SIGNAL( changed()),
28030
- this, SLOT(updateShareListView()));
28035
- if((getuid() == 0) ||
28036
- ((KFileShare::shareMode() == KFileShare::Advanced) &&
28037
- (KFileShare::authorization() == KFileShare::Authorized)))
28039
- connect( m_ccgui->addShareBtn, SIGNAL(clicked()),
28040
- this, SLOT(addShareBtnClicked()));
28041
- connect( m_ccgui->changeShareBtn, SIGNAL(clicked()),
28042
- this, SLOT(changeShareBtnClicked()));
28043
- connect( m_ccgui->removeShareBtn, SIGNAL(clicked()),
28044
- this, SLOT(removeShareBtnClicked()));
28045
- m_ccgui->listView->setSelectionMode(Q3ListView::Extended);
28046
- m_ccgui->shareBtnPnl->setEnabled(true);
28050
- if (getuid()==0) {
28051
- setButtons(Help|Apply);
28053
- setButtons(Help);
28054
- m_ccgui->shareGrp->setDisabled( true );
28059
-void KFileShareConfig::updateShareListView()
28061
- m_ccgui->listView->clear();
28062
- KNFSShare* nfs = KNFSShare::instance();
28063
- KSambaShare* samba = KSambaShare::instance();
28065
- QStringList dirs = nfs->sharedDirectories();
28066
- const QStringList sambaDirs = samba->sharedDirectories();
28068
- for ( QStringList::ConstIterator it = sambaDirs.constBegin(); it != sambaDirs.constEnd(); ++it ) {
28069
- // Do not insert duplicates
28070
- if (nfs->isDirectoryShared(*it))
28076
- QPixmap folderPix = SmallIcon("folder", 0, KIconLoader::DefaultState, QStringList());
28077
- QPixmap okPix = SmallIcon("dialog-ok");
28078
- QPixmap cancelPix = SmallIcon("dialog-cancel");
28080
- for ( QStringList::ConstIterator it = dirs.constBegin(); it != dirs.constEnd(); ++it ) {
28081
- K3ListViewItem* item = new K3ListViewItem(m_ccgui->listView);
28082
- item->setText(0,*it);
28083
- item->setPixmap(0, folderPix);
28085
- if (samba->isDirectoryShared(*it))
28086
- item->setPixmap(1,okPix);
28088
- item->setPixmap(1,cancelPix);
28090
- if (nfs->isDirectoryShared(*it))
28091
- item->setPixmap(2,okPix);
28093
- item->setPixmap(2,cancelPix);
28099
-void KFileShareConfig::allowedUsersBtnClicked() {
28100
- GroupConfigDlg dlg(this,m_fileShareGroup,m_restricted,m_rootPassNeeded,
28101
- m_ccgui->simpleRadio->isChecked());
28102
- if (dlg.exec() == QDialog::Accepted) {
28103
- m_fileShareGroup = dlg.fileShareGroup().name();
28104
- m_restricted = dlg.restricted();
28105
- m_rootPassNeeded = dlg.rootPassNeeded();
28112
-void KFileShareConfig::load()
28114
- KConfig config(QString::fromLatin1(FILESHARECONF), KConfig::SimpleConfig);
28116
- m_ccgui->shareGrp->setChecked( config.group("").readEntry("FILESHARING", "yes") == "yes" );
28118
- m_restricted = config.group("").readEntry("RESTRICT", "yes") == "yes";
28120
- if (config.group("").readEntry("SHARINGMODE", "simple") == "simple")
28121
- m_ccgui->simpleRadio->setChecked(true);
28123
- m_ccgui->advancedRadio->setChecked(true);
28125
- m_fileShareGroup = config.group("").readEntry("FILESHAREGROUP", "fileshare");
28127
- m_ccgui->sambaChk->setChecked(
28128
- config.group("").readEntry("SAMBA", "yes") == "yes");
28130
- m_ccgui->nfsChk->setChecked(
28131
- config.group("").readEntry("NFS", "yes") == "yes");
28133
- m_rootPassNeeded = config.group("").readEntry("ROOTPASSNEEDED", "yes") == "yes";
28135
- m_smbConf = KSambaShare::instance()->smbConfPath();
28138
-bool KFileShareConfig::addGroupAccessesToFile(const QString & file) {
28140
- chgrp << "chgrp" << m_fileShareGroup << file;
28142
- chmod << "chmod" << "g=rw" << file;
28144
- if (chgrp.execute()) {
28145
- kDebug(FILESHARE_DEBUG) << "KFileShareConfig::addGroupAccessesToFile: chgrp failed";
28150
- if(chmod.execute()) {
28151
- kDebug(FILESHARE_DEBUG) << "KFileShareConfig::addGroupAccessesToFile: chmod failed";
28159
-bool KFileShareConfig::removeGroupAccessesFromFile(const QString & file) {
28161
- chgrp << "chgrp" << "root" << file;
28163
- chmod << "chmod" << "g=r" << file;
28165
- if (chgrp.execute()) {
28166
- kDebug(FILESHARE_DEBUG) << "KFileShareConfig::removeGroupAccessesFromFile: chgrp failed";
28171
- if(chmod.execute()) {
28172
- kDebug(FILESHARE_DEBUG) << "KFileShareConfig::removeGroupAccessesFromFile: chmod failed";
28180
-bool KFileShareConfig::setGroupAccesses() {
28181
- if (m_rootPassNeeded || ! m_ccgui->sambaChk->isChecked()) {
28182
- if (!removeGroupAccessesFromFile(KSambaShare::instance()->smbConfPath()))
28186
- if (m_rootPassNeeded || ! m_ccgui->nfsChk->isChecked()) {
28187
- if (!removeGroupAccessesFromFile(KNFSShare::instance()->exportsPath()))
28191
- if (! m_rootPassNeeded && m_ccgui->sambaChk->isChecked()) {
28192
- if (!addGroupAccessesToFile(KSambaShare::instance()->smbConfPath()))
28196
- if (! m_rootPassNeeded && m_ccgui->nfsChk->isChecked()) {
28197
- if (!addGroupAccessesToFile(KNFSShare::instance()->exportsPath()))
28205
-void KFileShareConfig::save()
28207
- setGroupAccesses();
28209
- QDir dir("/etc/security");
28210
- if ( !dir.exists())
28211
- dir.mkdir("/etc/security");
28213
- QFile file(FILESHARECONF);
28214
- if ( ! file.open(QIODevice::WriteOnly)) {
28215
- KMessageBox::detailedError(this,
28216
- i18n("Could not save settings."),
28217
- i18n("Could not open file '%1' for writing: %2", QString(FILESHARECONF),
28218
- file.errorString() ),
28219
- i18n("Saving Failed"));
28224
- QTextStream stream(&file);
28226
- stream << "FILESHARING=";
28227
- stream << (m_ccgui->shareGrp->isChecked() ? "yes" : "no");
28229
- stream << "\nRESTRICT=";
28230
- stream << (m_restricted ? "yes" : "no");
28232
- stream << "\nSHARINGMODE=";
28233
- stream << (m_ccgui->simpleRadio->isChecked() ? "simple" : "advanced");
28235
- stream << "\nFILESHAREGROUP=";
28236
- stream << m_fileShareGroup;
28238
- stream << "\nSAMBA=";
28239
- stream << (m_ccgui->sambaChk->isChecked() ? "yes" : "no");
28241
- stream << "\nNFS=";
28242
- stream << (m_ccgui->nfsChk->isChecked() ? "yes" : "no");
28244
- stream << "\nROOTPASSNEEDED=";
28245
- stream << (m_rootPassNeeded ? "yes" : "no");
28247
- stream << "\nSMBCONF=";
28248
- stream << m_smbConf;
28253
-void KFileShareConfig::defaults()
28255
- m_ccgui->shareGrp->setChecked( false );
28258
-QString KFileShareConfig::quickHelp() const
28260
- return i18n("<h1>File Sharing</h1><p>This module can be used "
28261
- "to enable file sharing over the network using "
28262
- "the \"Network File System\" (NFS) or SMB in Konqueror. "
28263
- "The latter enables you to share your files with Windows(R) "
28264
- "computers on your network.</p>");
28267
-void KFileShareConfig::addShareBtnClicked() {
28268
- showShareDialog(KFileItemList());
28272
-PropertiesPageDlg::PropertiesPageDlg(QWidget*parent, KFileItemList files)
28273
- : KDialog(parent)
28275
- setObjectName("sharedlg");
28277
- setButtons(Ok|Cancel);
28278
- setDefaultButton(Ok);
28279
- setCaption(i18n("Share Folder"));
28280
- showButtonSeparator(true);
28281
- KVBox* vbox = new KVBox(this);
28282
- setMainWidget(vbox);
28284
- m_page = new PropertiesPage(vbox,files,true);
28285
- connect(this,SIGNAL(okClicked()),this,SLOT(slotOk()));
28288
-bool PropertiesPageDlg::hasChanged() {
28289
- return m_page->hasChanged();
28292
-void PropertiesPageDlg::slotOk() {
28293
- if (hasChanged()) {
28294
- if (!m_page->save())
28298
- KDialog::accept();
28303
-void KFileShareConfig::showShareDialog(const KFileItemList & files) {
28304
- PropertiesPageDlg* dlg = new PropertiesPageDlg(this,files);
28305
- if (dlg->exec() == QDialog::Accepted) {
28306
- if ( dlg->hasChanged() ) {
28307
- updateShareListView();
28313
-void KFileShareConfig::changeShareBtnClicked() {
28314
- KFileItemList files;
28315
- QList<Q3ListViewItem *> items = m_ccgui->listView->selectedItems();
28317
- foreach ( Q3ListViewItem* item, items ) {
28318
- files.append(KFileItem(KUrl(item->text(0)),"",0));
28321
- showShareDialog(files);
28324
-void KFileShareConfig::removeShareBtnClicked() {
28326
- QList<Q3ListViewItem*> items = m_ccgui->listView->selectedItems();
28328
- bool nfs = false;
28329
- bool samba = false;
28331
- foreach ( Q3ListViewItem*item, items ) {
28333
- if (KNFSShare::instance()->isDirectoryShared(item->text(0)))
28336
- if (KSambaShare::instance()->isDirectoryShared(item->text(0)))
28340
- NFSFile nfsFile(KNFSShare::instance()->exportsPath());
28342
- kDebug(FILESHARE_DEBUG) << "KFileShareConfig::removeShareBtnClicked: nfs = true";
28344
- foreach ( Q3ListViewItem*item, items ) {
28345
- nfsFile.removeEntryByPath(item->text(0));
28349
- SambaFile smbFile(KSambaShare::instance()->smbConfPath(),false);
28351
- kDebug(FILESHARE_DEBUG) << "KFileShareConfig::removeShareBtnClicked: samba = true";
28353
- foreach ( Q3ListViewItem*item, items ) {
28354
- smbFile.removeShareByPath(item->text(0));
28358
- PropertiesPage::save(&nfsFile, &smbFile, nfs,samba);
28360
- updateShareListView();
28363
-#include "fileshare.moc"
28364
Index: kdenetwork-4.6.3/filesharing/simple/fileshare.desktop
28365
===================================================================
28366
--- kdenetwork-4.6.3.orig/filesharing/simple/fileshare.desktop 2011-02-25 16:47:36.000000000 -0500
28367
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
28370
-Exec=kcmshell4 fileshare
28371
-Icon=preferences-system-network-sharing
28373
-X-KDE-ServiceTypes=KCModule
28375
-X-KDE-Library=kcm_fileshare
28376
-X-KDE-ParentApp=kcontrol
28377
-X-KDE-RootOnly=true
28380
-Name[ar]=مشاركة الملفات
28381
-Name[ast]=Compartir ficheros
28382
-Name[bg]=Споделяне на файлове
28383
-Name[bn]=ফাইল ভাগাভাগি
28384
-Name[br]=Rannañ restroù
28385
-Name[ca]=Compartició de fitxers
28386
-Name[ca@valencia]=Compartició de fitxers
28387
-Name[cs]=Sdílení souborů
28388
-Name[cy]=Rhannu Ffeiliau
28389
-Name[da]=Fildeling
28390
-Name[de]=Dateifreigabe
28391
-Name[el]=Κοινή χρήση αρχείων
28392
-Name[en_GB]=File Sharing
28393
-Name[eo]=Dosiera komunigado
28394
-Name[es]=Compartir archivos
28395
-Name[et]=Failijagamine
28396
-Name[eu]=Fitxategiak partekatzea
28397
-Name[fa]=اشتراک پرونده
28398
-Name[fi]=Tiedostojen jako
28399
-Name[fr]=Partage de fichiers
28400
-Name[ga]=Roinnt na gComhad
28401
-Name[gl]=Compartimento de ficheiros
28402
-Name[he]=שיתוף קבצים
28403
-Name[hi]=फ़ाइल साझा
28404
-Name[hne]=फाइल साझा
28405
-Name[hr]=Dijeljenje datoteka
28406
-Name[hu]=Fájlmegosztás
28407
-Name[ia]=Compartir de file
28408
-Name[is]=Deila skrám
28409
-Name[it]=Condivisione di file
28411
-Name[kk]=Файлдарды ортақтастыру
28412
-Name[km]=ការចែករំលែកឯកសារ
28414
-Name[lt]=Dalinimasis failais
28415
-Name[lv]=Failu koplietošana
28416
-Name[mk]=Делење на датотеки
28417
-Name[ml]=ഫയല് പങ്കിടല്
28418
-Name[nb]=Fildeling
28419
-Name[nds]=Dateifreegaav
28420
-Name[ne]=फाइल साझेदारी
28421
-Name[nl]=Bestanden delen
28422
-Name[nn]=Fildeling
28423
-Name[pa]=ਫਾਇਲ ਸਾਂਝ
28424
-Name[pl]=Współdzielenie plików
28425
-Name[pt]=Partilha de Ficheiros
28426
-Name[pt_BR]=Compartilhamento de arquivos
28427
-Name[ro]=Partajare fișiere
28428
-Name[ru]=Общий доступ к файлам
28429
-Name[se]=Fiilajuohkkin
28430
-Name[sk]=Zdieľanie súborov
28431
-Name[sl]=Souporaba datotek
28432
-Name[sr]=Дељење фајлова
28433
-Name[sr@ijekavian]=Дељење фајлова
28434
-Name[sr@ijekavianlatin]=Deljenje fajlova
28435
-Name[sr@latin]=Deljenje fajlova
28436
-Name[sv]=Filutdelning
28437
-Name[ta]=கோப்பு பகிர்வு
28438
-Name[tg]=Истифодабарии муштараки файлҳо
28439
-Name[th]=ใช้แฟ้มร่วมกัน
28440
-Name[tr]=Dosya Paylaşımı
28441
-Name[uk]=Спільний доступ до файлів
28442
-Name[uz]=Fayl bilan boʻlishish
28443
-Name[uz@cyrillic]=Файл билан бўлишиш
28444
-Name[vi]=Chia sẻ tập tin
28445
-Name[wa]=Pårtaedje di fitchîs
28446
-Name[x-test]=xxFile Sharingxx
28451
-Comment=Enable or disable file sharing
28452
-Comment[ar]=فعل أو عطل مشاركة الملف
28453
-Comment[ast]=Activar o desactivar compartir ficheros
28454
-Comment[bg]=Настройване споделянето на файлове
28455
-Comment[bn]=ফাইল ভাগাভাগি সক্রিয় অথবা নিষ্ক্রিয় করুন
28456
-Comment[ca]=Habilita o deshabilita la compartició de fitxers
28457
-Comment[ca@valencia]=Habilita o deshabilita la compartició de fitxers
28458
-Comment[cs]=Povolit nebo zakázat sdílení souborů
28459
-Comment[da]=Aktivér eller deaktivér fildeling
28460
-Comment[de]=Dateifreigabe aktivieren/deaktivieren
28461
-Comment[el]=Ενεργοποίηση ή απενεργοποίηση της κοινής χρήσης αρχείων
28462
-Comment[en_GB]=Enable or disable file sharing
28463
-Comment[eo]=Ŝalti aŭ malŝalti la dosieran komunigadon
28464
-Comment[es]=Habilitar o deshabilitar el compartir archivos
28465
-Comment[et]=Failide jagamise lubamine või keelamine
28466
-Comment[eu]=Gaitu edo desgaitu fitxategiak partekatzea
28467
-Comment[fa]=فعال یا غیرفعالسازی اشتراک پرونده
28468
-Comment[fi]=Ota tiedostojako käyttöön tai poista se käytöstä
28469
-Comment[fr]=Activer ou désactiver le partage de fichiers
28470
-Comment[ga]=Cumasaigh nó díchumasaigh comhroinnt comhad
28471
-Comment[gl]=Activar ou desactivar o compartición de ficheiros
28472
-Comment[he]=אפשר או מנע שיתוף קבצים
28473
-Comment[hi]=फ़ाइल साझेदारी सक्षम या अक्षम करें
28474
-Comment[hne]=फाइल साझेदारी सक्छम या अक्छम करव
28475
-Comment[hr]=Omogući ili onemogući dijeljenje datoteka
28476
-Comment[hu]=Engedélyezi vagy letiltja a fájlmegosztást
28477
-Comment[ia]=habilita o dishabilita le compartir de file
28478
-Comment[is]=Virkja eða slökkva á skráardeilingu um net
28479
-Comment[it]=Abilita o disabilita la condivisione dei file
28480
-Comment[ja]=ファイル共有を有効または無効にします
28481
-Comment[kk]=Файл ортақтастыруды рұқсат ету/етпеу
28482
-Comment[km]=អនុញ្ញាត ឬមិនអនុញ្ញាតការចែករំលែកឯកសារ
28483
-Comment[ko]=파일 공유 켜거나 끄기
28484
-Comment[lt]=Įjungti ar išjungti failų dalinimąsi
28485
-Comment[lv]=Ieslēgt vai izslēgt failu koplietošanu
28486
-Comment[mk]=Овозможува или оневозможува делење на датотеки
28487
-Comment[ml]=ഫയല് പങ്കിടല് പ്രാവര്ത്തികമാക്കുക അല്ലെങ്കില് പ്രാവര്ത്തനരഹിതമാക്കുക
28488
-Comment[nb]=Slå på og av fildeling
28489
-Comment[nds]=Dateifreegaven an- oder utmaken
28490
-Comment[ne]=फाइल साझेदारी सक्षम वा अक्षम पार्नुहोस्
28491
-Comment[nl]=Bestanden delen in- en uitschakelen
28492
-Comment[nn]=Slå på eller av fildeling
28493
-Comment[pa]=ਫਾਇਲ ਸ਼ੇਅਰਿੰਗ ਯੋਗ ਜਾਂ ਆਯੋਗ ਕਰੋ
28494
-Comment[pl]=Włącza lub wyłącza współdzielenie plików
28495
-Comment[pt]=Activa ou desactiva a partilha de ficheiros
28496
-Comment[pt_BR]=Habilita ou desabilita o compartilhamento de arquivos
28497
-Comment[ro]=Activează sau dezactivează partajarea de fișiere
28498
-Comment[ru]=Включить или выключить общий доступ к файлам
28499
-Comment[se]=Suova dahje ale suova fiilajuohkkima
28500
-Comment[sk]=Povolenie alebo zakázanie zdieľania súborov
28501
-Comment[sl]=Omogoči ali onemogoči souporabo datotek
28502
-Comment[sr]=Укључи или искључи дељење фајлова
28503
-Comment[sr@ijekavian]=Укључи или искључи дељење фајлова
28504
-Comment[sr@ijekavianlatin]=Uključi ili isključi deljenje fajlova
28505
-Comment[sr@latin]=Uključi ili isključi deljenje fajlova
28506
-Comment[sv]=Aktivera eller inaktivera filutdelning
28507
-Comment[ta]=கோப்பு பகிர்வை செயல்படுத்து அல்லது செயல்நீக்கு
28508
-Comment[tg]=Фаъол сохтан ё хомӯш кардани истифобадарии муштараки файлҳо
28509
-Comment[th]=เปิดหรือปิดการใช้งานแฟ้มร่วมกัน
28510
-Comment[tr]=Dosya paylaşımını etkinleştir/kapat
28511
-Comment[uk]=Увімкнення або вимикання спільного доступу до файлів
28512
-Comment[vi]=Bật hoặc tắt chia sẻ tập tin
28513
-Comment[x-test]=xxEnable or disable file sharingxx
28514
-Comment[zh_CN]=启用或禁用文件共享
28515
-Comment[zh_HK]=啟用或停用檔案分享
28516
-Comment[zh_TW]=開啟或關閉檔案分享
28518
-X-KDE-Keywords=Share
28519
-X-KDE-Keywords[bg]=Share,споделяне
28520
-X-KDE-Keywords[br]=Rannañ
28521
-X-KDE-Keywords[ca]=Compartit
28522
-X-KDE-Keywords[cs]=sdílení
28523
-X-KDE-Keywords[da]=Del
28524
-X-KDE-Keywords[de]=Freigabe
28525
-X-KDE-Keywords[el]=Κοινόχρηστο
28526
-X-KDE-Keywords[es]=Compartir
28527
-X-KDE-Keywords[et]=Jagamine
28528
-X-KDE-Keywords[fa]=مشترک
28529
-X-KDE-Keywords[fi]=Jakaminen,Jako
28530
-X-KDE-Keywords[fr]=partage
28531
-X-KDE-Keywords[gl]=Compartir
28532
-X-KDE-Keywords[he]=שיתוף, share
28533
-X-KDE-Keywords[hu]=Megosztás
28534
-X-KDE-Keywords[is]=Deild
28535
-X-KDE-Keywords[it]=Condivisione
28536
-X-KDE-Keywords[ja]=共有
28537
-X-KDE-Keywords[km]=ការចែករំលែក
28538
-X-KDE-Keywords[ko]=공유
28539
-X-KDE-Keywords[lt]=Share,dalinimasis,dalintis,pasidalinti
28540
-X-KDE-Keywords[mk]=Делена
28541
-X-KDE-Keywords[nb]=Dele
28542
-X-KDE-Keywords[nds]=Delen,Freegaav,Freegaven
28543
-X-KDE-Keywords[ne]=साझेदार
28544
-X-KDE-Keywords[nl]=delen
28545
-X-KDE-Keywords[nn]=deling
28546
-X-KDE-Keywords[oc]=Partejar
28547
-X-KDE-Keywords[pa]=ਸਾਂਝ
28548
-X-KDE-Keywords[pl]=współdzielenie,pliki
28549
-X-KDE-Keywords[pt]=Partilhar
28550
-X-KDE-Keywords[pt_BR]=compartilhamento de arquivos
28551
-X-KDE-Keywords[ro]=partajare
28552
-X-KDE-Keywords[ru]=Общий ресурс
28553
-X-KDE-Keywords[sl]=Souporaba
28554
-X-KDE-Keywords[sr]=Share,дељење
28555
-X-KDE-Keywords[sr@latin]=Share,deljenje
28556
-X-KDE-Keywords[sv]=Dela
28557
-X-KDE-Keywords[ta]=பகிர்வு
28558
-X-KDE-Keywords[tg]=Муштаракан доштан
28559
-X-KDE-Keywords[tr]=Paylaş
28560
-X-KDE-Keywords[uk]=Спільний ресурс
28561
-X-KDE-Keywords[vi]=Chia sẻ
28562
-X-KDE-Keywords[x-test]=xxSharexx
28563
-X-KDE-Keywords[zh_CN]=Share,共享
28565
-Categories=Qt;KDE;X-KDE-settings-network;Settings;
28566
Index: kdenetwork-4.6.3/filesharing/simple/fileshare.h
28567
===================================================================
28568
--- kdenetwork-4.6.3.orig/filesharing/simple/fileshare.h 2011-01-19 17:21:04.000000000 -0500
28569
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
28572
- Copyright (c) 2002,2009 Laurent Montel <montel@kde.org>
28574
- This program is free software; you can redistribute it and/or modify
28575
- it under the terms of the GNU General Public License as published by
28576
- the Free Software Foundation; either version 2 of the License, or
28577
- (at your option) any later version.
28579
- This program is distributed in the hope that it will be useful,
28580
- but WITHOUT ANY WARRANTY; without even the implied warranty of
28581
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28582
- GNU General Public License for more details.
28584
- You should have received a copy of the GNU General Public License
28585
- along with this program; if not, write to the Free Software
28586
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
28589
-#ifndef __fileshare_h__
28590
-#define __fileshare_h__
28592
-#include <kfileitem.h>
28593
-#include <KPluginFactory>
28594
-#include "kcmodule.h"
28595
-//Added by qt3to4:
28597
-#include <QBoxLayout>
28598
-#include "ui_controlcenter.h"
28602
-class ControlCenterGUI : public QWidget, public Ui::ControlCenterGUI
28606
- ControlCenterGUI( QWidget *parent );
28608
- void changedSlot();
28610
- void listView_selectionChanged();
28617
-class KFileShareConfig : public KCModule
28622
- KFileShareConfig(QWidget *parent, const QVariantList &);
28624
- virtual void load();
28625
- virtual void save();
28626
- virtual void defaults();
28627
- virtual QString quickHelp() const;
28630
- ControlCenterGUI* m_ccgui;
28631
- QString m_fileShareGroup;
28632
- bool m_restricted;
28633
- bool m_rootPassNeeded;
28634
- QString m_smbConf;
28635
- void showShareDialog(const KFileItemList & files);
28636
- bool addGroupAccessesToFile(const QString & file);
28637
- bool removeGroupAccessesFromFile(const QString & file);
28638
- bool setGroupAccesses();
28641
- void configChanged() { emit changed( true ); }
28642
- void updateShareListView();
28643
- void allowedUsersBtnClicked();
28645
- virtual void addShareBtnClicked();
28646
- virtual void changeShareBtnClicked();
28647
- virtual void removeShareBtnClicked();
28651
-class PropertiesPageDlg : public KDialog
28655
- PropertiesPageDlg(QWidget * parent, KFileItemList files);
28656
- ~PropertiesPageDlg() {}
28657
- bool hasChanged();
28659
- PropertiesPage* m_page;
28662
- virtual void slotOk();
28669
Index: kdenetwork-4.6.3/filesharing/simple/groupconfigdlg.cpp
28670
===================================================================
28671
--- kdenetwork-4.6.3.orig/filesharing/simple/groupconfigdlg.cpp 2011-01-19 17:21:04.000000000 -0500
28672
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
28675
- Copyright (c) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
28677
- This program is free software; you can redistribute it and/or modify
28678
- it under the terms of the GNU General Public License as published by
28679
- the Free Software Foundation; either version 2 of the License, or
28680
- (at your option) any later version.
28682
- This program is distributed in the hope that it will be useful,
28683
- but WITHOUT ANY WARRANTY; without even the implied warranty of
28684
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28685
- GNU General Public License for more details.
28687
- You should have received a copy of the GNU General Public License
28688
- along with this program; if not, write to the Free Software
28689
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
28694
-#include <qradiobutton.h>
28695
-#include <qpushbutton.h>
28696
-#include <q3groupbox.h>
28697
-#include <qlabel.h>
28698
-#include <qcheckbox.h>
28699
-#include <kvbox.h>
28700
-#include <khbox.h>
28701
-//Added by qt3to4:
28703
-#include <klocale.h>
28704
-#include <kuser.h>
28705
-#include <kdebug.h>
28706
-#include <kmessagebox.h>
28707
-#include <kinputdialog.h>
28708
-#include <k3listbox.h>
28709
-#include <kprocess.h>
28710
-#include <kpushbutton.h>
28711
-#include <kcombobox.h>
28713
-#include "groupconfigdlg.h"
28716
-static QString groupListToString(const QList<KUserGroup> & list);
28717
-static QString prettyString(const KUser &user);
28718
-static QString fromPrettyString(const QString & s);
28719
-static void removeList(QList<KUser> & from, const QList<KUser> & that);
28720
-static bool userMod(const QString & user, const QList<KUserGroup> & groups);
28723
-GroupConfigGUI::GroupConfigGUI( QWidget *parent )
28724
- : QWidget( parent )
28727
- connect( listBox, SIGNAL( selectionChanged(Q3ListBoxItem*) ), this, SLOT(listBox_selectionChanged(Q3ListBoxItem*) ) );
28730
-void GroupConfigGUI::listBox_selectionChanged( Q3ListBoxItem * i)
28732
- removeBtn->setEnabled(i);
28735
-GroupConfigDlg::GroupConfigDlg(QWidget * parent,
28736
- const QString & fileShareGroup, bool restricted,
28737
- bool rootPassNeeded, bool simpleSharing)
28738
- : KDialog(parent),
28739
- m_fileShareGroup(fileShareGroup),
28740
- m_restricted(restricted) ,
28741
- m_rootPassNeeded(rootPassNeeded),
28742
- m_simpleSharing(simpleSharing)
28745
- setCaption(i18n("Allowed Users"));
28746
- setButtons(Ok|Cancel);
28747
- setDefaultButton(Ok);
28749
- showButtonSeparator(true);
28752
- setFileShareGroup(m_fileShareGroup);
28753
- connect(this,SIGNAL(okClicked()),this,SLOT(slotOk()));
28756
-GroupConfigDlg::~GroupConfigDlg() {
28759
-void GroupConfigDlg::initUsers() {
28760
- m_origUsers = m_fileShareGroup.users();
28761
- m_users = m_origUsers;
28764
-void GroupConfigDlg::initGUI() {
28765
- m_gui = new GroupConfigGUI(this);
28766
- setMainWidget(m_gui);
28767
- setFileShareGroup(m_fileShareGroup);
28769
- m_gui->allUsersRadio->setChecked(!m_restricted);
28770
- m_gui->groupUsersRadio->setChecked(m_restricted);
28771
- m_gui->writeAccessChk->setChecked(!m_rootPassNeeded);
28773
- connect( m_gui->addBtn, SIGNAL(clicked()),
28774
- this, SLOT(slotAddUser()));
28775
- connect( m_gui->removeBtn, SIGNAL(clicked()),
28776
- this, SLOT(slotRemoveUser()));
28777
- connect( m_gui->otherGroupBtn, SIGNAL(clicked()),
28778
- this, SLOT(slotChangeGroup()));
28780
- if (m_simpleSharing) {
28781
- // if simple sharing users never need the root password
28782
- m_gui->writeAccessChk->setDisabled(true);
28786
-void GroupConfigDlg::updateListBox() {
28787
- m_gui->listBox->clear();
28788
- QList<KUser>::iterator it;
28789
- for ( it = m_users.begin(); it != m_users.end(); ++it ) {
28790
- m_gui->listBox->insertItem(prettyString(*it));
28791
- kDebug(5009) << "GroupConfigDlg::updateListBox: " << (*it).loginName();
28795
-QString prettyString(const KUser &user) {
28796
- return user.fullName()+" ("+user.loginName()+')';
28799
-QString fromPrettyString(const QString & s) {
28800
- // Jan Schaefer (jan)
28802
- int i = s.indexOf('(');
28803
- int j = s.indexOf(')');
28804
- QString loginName = s.mid(i+1,j-i-1);
28805
- return loginName;
28808
-bool GroupConfigDlg::restricted() const {
28809
- return m_restricted;
28812
-void GroupConfigDlg::slotAddUser() {
28813
- QList<KUser> allUsers = KUser::allUsers();
28815
- removeList(allUsers,m_users);
28817
- if (allUsers.count()==0) {
28818
- KMessageBox::information(this,
28819
- i18n("All users are in the %1 group already.",
28820
- m_fileShareGroup.name()));
28824
- QStringList stringList;
28826
- QList<KUser>::iterator it;
28827
- for ( it = allUsers.begin(); it != allUsers.end(); ++it ) {
28828
- QString s = (*it).fullName()+" ("+(*it).loginName()+')';
28829
- stringList.append(s);
28832
- stringList.sort();
28835
- QString userName = KInputDialog::getItem(
28836
- i18n("Select User"),
28837
- i18n("Select a user:"),
28846
- QString loginName = fromPrettyString(userName);
28847
- KUser user(loginName);
28848
- m_users.append(KUser(loginName));
28852
-void removeList(QList<KUser> & from, const QList<KUser> & that) {
28853
- QList<KUser>::ConstIterator it;
28854
- for ( it = that.begin(); it != that.end(); ++it ) {
28855
- from.removeAll(*it);
28860
-bool GroupConfigDlg::addUser(const KUser & user, const KUserGroup & group) {
28861
- QList<KUserGroup> groups = user.groups();
28862
- groups.append(group);
28863
- if (!userMod(user.loginName(),groups)) {
28864
- KMessageBox::sorry(this,i18n("Could not add user '%1' to group '%2'",
28865
- user.loginName(), group.name()));
28872
-bool GroupConfigDlg::removeUser(const KUser & user, const KUserGroup & group) {
28873
- QList<KUserGroup> groups = user.groups();
28874
- groups.removeAll(group);
28875
- if (!userMod(user.loginName(),groups)) {
28876
- KMessageBox::sorry(this,i18n("Could not remove user '%1' from group '%2'",
28877
- user.loginName(), group.name()));
28883
-bool GroupConfigDlg::rootPassNeeded() const {
28884
- return m_rootPassNeeded;
28887
-void GroupConfigDlg::slotOk() {
28888
- m_restricted = m_gui->groupUsersRadio->isChecked();
28889
- m_rootPassNeeded = ! m_gui->writeAccessChk->isChecked();
28890
- if (m_restricted && !m_fileShareGroup.isValid()) {
28891
- KMessageBox::sorry(this,i18n("You have to choose a valid group."));
28895
- QList<KUser> addedUsers = m_users;
28896
- removeList(addedUsers,m_origUsers);
28897
- QList<KUser> removedUsers = m_origUsers;
28898
- removeList(removedUsers,m_users);
28900
- QList<KUser>::ConstIterator it;
28901
- for ( it = addedUsers.constBegin(); it != addedUsers.constEnd(); ++it ) {
28902
- addUser(*it, m_fileShareGroup);
28905
- for ( it = removedUsers.constBegin(); it != removedUsers.constEnd(); ++it ) {
28906
- removeUser(*it, m_fileShareGroup);
28910
- KDialog::accept();
28913
-bool userMod(const QString & user, const QList<KUserGroup> & groups) {
28915
- proc << "usermod" << "-G" << groupListToString(groups) << user;
28916
- return !proc.execute();
28919
-void GroupConfigDlg::slotRemoveUser() {
28920
- Q3ListBoxItem* item = m_gui->listBox->selectedItem();
28924
- QString loginName = fromPrettyString(item->text());
28925
- KUser user(loginName);
28926
- m_users.removeAll(KUser(loginName));
28928
- m_gui->removeBtn->setEnabled(false);
28931
-QString groupListToString(const QList<KUserGroup> & list) {
28932
- QList<KUserGroup>::ConstIterator it;
28935
- for ( it = list.begin(); it != list.end(); ++it ) {
28936
- result+=(*it).name()+',';
28940
- result.truncate(result.length()-1);
28944
-void GroupConfigDlg::slotChangeGroup() {
28945
- QList<KUserGroup> allGroups = KUserGroup::allGroups();
28947
- QStringList stringList;
28949
- QList<KUserGroup>::iterator it;
28950
- for ( it = allGroups.begin(); it != allGroups.end(); ++it ) {
28951
- QString s = (*it).name();
28952
- stringList.append(s);
28955
- stringList.sort();
28957
- KDialog* dlg = new KDialog(this);
28958
- dlg->setCaption(i18n("Allowed Users"));
28959
- dlg->setButtons(Ok|Cancel);
28960
- dlg->setDefaultButton(Ok);
28961
- dlg->setModal(true);
28962
- dlg->showButtonSeparator(true);
28963
- KVBox* vbox = new KVBox(this);
28964
- dlg->setMainWidget(vbox);
28966
- KHBox* hbox = new KHBox(vbox);
28967
- QLabel* lbl = new QLabel(i18n("New file share group:"),hbox);
28968
- KComboBox* combo = new KComboBox(hbox);
28969
- combo->insertStringList(stringList);
28970
- combo->setEditable(true);
28971
- combo->setCurrentText(m_fileShareGroup.name());
28973
- QCheckBox* addChk = new QCheckBox(
28974
- i18n("Add users from the old file share group to the new one"),
28977
- QCheckBox* removeUsersChk = new QCheckBox(
28978
- i18n("Remove users from old file share group"),
28981
- QCheckBox* removeGroupChk = new QCheckBox(
28982
- i18n("Delete the old file share group"),
28985
- if (dlg->exec() == QDialog::Accepted) {
28986
- QString groupName = combo->currentText();
28987
- if (groupName != m_fileShareGroup.name()) {
28988
- QString oldGroup = m_fileShareGroup.name();
28989
- if (allGroups.contains(KUserGroup(groupName)))
28990
- setFileShareGroup(KUserGroup(groupName));
28992
- if (!createFileShareGroup(groupName)) {
28998
- if (removeGroupChk->isChecked())
28999
- deleteGroup(oldGroup);
29001
- if (removeUsersChk->isChecked())
29002
- emptyGroup(oldGroup);
29004
- if (addChk->isChecked()) {
29005
- addUsersToGroup(m_users,KUserGroup(groupName));
29006
- // reread the users
29007
- m_fileShareGroup = KUserGroup(groupName);
29021
-void GroupConfigDlg::setFileShareGroup(const KUserGroup & group) {
29022
- m_fileShareGroup = group;
29024
- if (m_fileShareGroup.isValid()) {
29027
- m_gui->groupUsersRadio->setText(
29028
- i18n("Only users of the '%1' group are allowed to share folders",
29029
- m_fileShareGroup.name()));
29030
- m_gui->usersGrpBx->setTitle(i18n("Users of '%1' Group",
29031
- m_fileShareGroup.name()));
29032
- m_gui->otherGroupBtn->setText(i18n("Change Group..."));
29033
- m_gui->usersGrpBx->show();
29035
- m_gui->groupUsersRadio->setText(i18n("Only users of a certain group are allowed to share folders"));
29036
- m_gui->otherGroupBtn->setText(i18n("Choose Group..."));
29037
- m_gui->usersGrpBx->hide();
29044
-bool GroupConfigDlg::addUsersToGroup(QList<KUser> users,const KUserGroup & group) {
29045
- QList<KUser>::ConstIterator it;
29046
- bool result = true;
29047
- for ( it = users.constBegin(); it != users.constEnd(); ++it ) {
29048
- if (!addUser(*it, group))
29054
-bool GroupConfigDlg::emptyGroup(const QString & s) {
29055
- if (KMessageBox::No == KMessageBox::questionYesNo(this,
29056
- i18n("Do you really want to remove all users from group '%1'?", s), QString(), KStandardGuiItem::del(), KStandardGuiItem::cancel())) {
29060
- QList<KUser> allUsers = KUser::allUsers();
29061
- bool result = true;
29062
- KUserGroup group(s);
29063
- QList<KUser>::ConstIterator it;
29064
- for ( it = allUsers.constBegin(); it != allUsers.constEnd(); ++it ) {
29065
- if (!removeUser(*it, group))
29071
-bool GroupConfigDlg::deleteGroup(const QString & s) {
29072
- if (KMessageBox::No == KMessageBox::questionYesNo(this,
29073
- i18n("Do you really want to delete group '%1'?", s), QString(), KStandardGuiItem::del(), KStandardGuiItem::cancel())) {
29078
- proc << "groupdel" << s;
29079
- if (proc.execute()) {
29080
- KMessageBox::sorry(this,i18n("Deleting group '%1' failed.", s));
29087
-bool GroupConfigDlg::createFileShareGroup(const QString & s) {
29088
- if (s.isEmpty()) {
29089
- KMessageBox::sorry(this,i18n("Please choose a valid group."));
29093
- if (KMessageBox::No == KMessageBox::questionYesNo(this,
29094
- i18n("This group '%1' does not exist. Should it be created?", s), QString(), KGuiItem(i18n("Create")), KGuiItem(i18n("Do Not Create"))))
29097
- //debug("CreateFileShareGroup: "+s);
29099
- proc << "groupadd" << s;
29100
- if (proc.execute()) {
29101
- KMessageBox::sorry(this,i18n("Creation of group '%1' failed.", s));
29104
- setFileShareGroup(KUserGroup(s));
29111
-#include "groupconfigdlg.moc"
29112
Index: kdenetwork-4.6.3/filesharing/simple/groupconfigdlg.h
29113
===================================================================
29114
--- kdenetwork-4.6.3.orig/filesharing/simple/groupconfigdlg.h 2011-01-19 17:21:04.000000000 -0500
29115
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
29118
- Copyright (c) 2004 Jan Schaefer <j_schaef@informatik.uni-kl.de>
29120
- This program is free software; you can redistribute it and/or modify
29121
- it under the terms of the GNU General Public License as published by
29122
- the Free Software Foundation; either version 2 of the License, or
29123
- (at your option) any later version.
29125
- This program is distributed in the hope that it will be useful,
29126
- but WITHOUT ANY WARRANTY; without even the implied warranty of
29127
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29128
- GNU General Public License for more details.
29130
- You should have received a copy of the GNU General Public License
29131
- along with this program; if not, write to the Free Software
29132
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
29136
-#ifndef GROUPCONFIGDLG_H
29137
-#define GROUPCONFIGDLG_H
29139
-#include <kdialog.h>
29140
-#include "ui_groupconfiggui.h"
29141
-#include <kuser.h>
29142
-class Q3ListBoxItem;
29144
-class GroupConfigGUI : public QWidget, public Ui::GroupConfigGUI
29148
- GroupConfigGUI( QWidget *parent );
29150
- void listBox_selectionChanged( Q3ListBoxItem * i);
29155
-class GroupConfigDlg : public KDialog
29159
- GroupConfigDlg(QWidget * parent, const QString & fileShareGroup, bool restricted,
29160
- bool rootPassNeeded, bool simpleSharing);
29161
- ~GroupConfigDlg();
29162
- KUserGroup fileShareGroup() const { return m_fileShareGroup; }
29163
- bool restricted() const;
29164
- bool rootPassNeeded() const;
29166
- GroupConfigGUI* m_gui;
29169
- void initUsers();
29171
- void slotAddUser();
29172
- void slotRemoveUser();
29173
- void slotChangeGroup();
29174
- void updateListBox();
29175
- virtual void slotOk();
29178
- bool createFileShareGroup(const QString & s);
29179
- bool deleteGroup(const QString & s);
29180
- bool emptyGroup(const QString & s);
29181
- bool addUser(const KUser & user, const KUserGroup & group);
29182
- bool removeUser(const KUser & user, const KUserGroup & group);
29183
- bool addUsersToGroup(QList<KUser> users,const KUserGroup & group);
29184
- void setFileShareGroup(const KUserGroup & group);
29186
- QList<KUser> m_origUsers;
29187
- QList<KUser> m_users;
29188
- KUserGroup m_fileShareGroup;
29189
- bool m_restricted;
29190
- bool m_rootPassNeeded;
29191
- bool m_simpleSharing;
29195
Index: kdenetwork-4.6.3/filesharing/simple/groupconfiggui.ui
29196
===================================================================
29197
--- kdenetwork-4.6.3.orig/filesharing/simple/groupconfiggui.ui 2011-01-19 17:21:04.000000000 -0500
29198
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
29200
-<ui version="4.0" stdsetdef="1" >
29201
- <class>GroupConfigGUI</class>
29202
- <widget class="QWidget" name="GroupConfigGUI" >
29203
- <property name="geometry" >
29207
- <width>521</width>
29208
- <height>371</height>
29211
- <layout class="QVBoxLayout" >
29212
- <property name="margin" >
29213
- <number>0</number>
29216
- <widget class="Q3ButtonGroup" name="buttonGroup1" >
29217
- <property name="frameShape" >
29218
- <enum>Q3GroupBox::NoFrame</enum>
29220
- <property name="title" >
29223
- <layout class="QVBoxLayout" >
29224
- <property name="margin" >
29225
- <number>0</number>
29228
- <widget class="QRadioButton" name="allUsersRadio" >
29229
- <property name="text" >
29230
- <string>Allow all users to share folders</string>
29232
- <property name="checked" >
29233
- <bool>true</bool>
29238
- <widget class="QRadioButton" name="groupUsersRadio" >
29239
- <property name="text" >
29240
- <string>Only users of the '%1' group are allowed to share folders</string>
29248
- <widget class="Q3GroupBox" name="usersGrpBx" >
29249
- <property name="enabled" >
29250
- <bool>false</bool>
29252
- <property name="title" >
29253
- <string>Users of '%1' Group</string>
29255
- <layout class="QGridLayout" >
29256
- <item rowspan="3" row="0" column="0" colspan="1" >
29257
- <widget class="K3ListBox" name="listBox" />
29259
- <item row="2" column="1" >
29260
- <spacer name="spacer6" >
29261
- <property name="sizeHint" >
29263
- <width>20</width>
29264
- <height>20</height>
29267
- <property name="sizeType" >
29268
- <enum>QSizePolicy::Expanding</enum>
29270
- <property name="orientation" >
29271
- <enum>Qt::Vertical</enum>
29275
- <item row="1" column="1" >
29276
- <widget class="KPushButton" name="removeBtn" >
29277
- <property name="enabled" >
29278
- <bool>false</bool>
29280
- <property name="text" >
29281
- <string>Remove User</string>
29285
- <item row="0" column="1" >
29286
- <widget class="KPushButton" name="addBtn" >
29287
- <property name="text" >
29288
- <string>Add User</string>
29292
- <item rowspan="1" row="3" column="0" colspan="2" >
29293
- <widget class="QCheckBox" name="writeAccessChk" >
29294
- <property name="text" >
29295
- <string>Group members can share folders without root password</string>
29303
- <layout class="QHBoxLayout" >
29305
- <spacer name="spacer8" >
29306
- <property name="sizeHint" >
29308
- <width>180</width>
29309
- <height>20</height>
29312
- <property name="sizeType" >
29313
- <enum>QSizePolicy::Expanding</enum>
29315
- <property name="orientation" >
29316
- <enum>Qt::Horizontal</enum>
29321
- <widget class="KPushButton" name="otherGroupBtn" >
29322
- <property name="enabled" >
29323
- <bool>false</bool>
29325
- <property name="sizePolicy" >
29327
- <hsizetype>1</hsizetype>
29328
- <vsizetype>0</vsizetype>
29329
- <horstretch>0</horstretch>
29330
- <verstretch>0</verstretch>
29333
- <property name="text" >
29334
- <string>Change Group...</string>
29344
- <class>K3ListBox</class>
29345
- <extends>Q3ListBox</extends>
29346
- <header location="global" >k3listbox.h</header>
29351
- <sender>groupUsersRadio</sender>
29352
- <signal>toggled(bool)</signal>
29353
- <receiver>usersGrpBx</receiver>
29354
- <slot>setEnabled(bool)</slot>
29357
- <sender>groupUsersRadio</sender>
29358
- <signal>toggled(bool)</signal>
29359
- <receiver>otherGroupBtn</receiver>
29360
- <slot>setEnabled(bool)</slot>
29363
- <sender>listBox</sender>
29364
- <signal>selectionChanged(Q3ListBoxItem*)</signal>
29365
- <receiver>GroupConfigGUI</receiver>
29366
- <slot>listBox_selectionChanged(Q3ListBoxItem*)</slot>
29370
Index: kdenetwork-4.6.3/filesharing/simple/krichtextlabel.cpp
29371
===================================================================
29372
--- kdenetwork-4.6.3.orig/filesharing/simple/krichtextlabel.cpp 2011-01-19 17:21:04.000000000 -0500
29373
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
29375
-/* This file is part of the KDE libraries
29376
- Copyright (C) 2005 Waldo Bastian <bastian@kde.org>
29378
- This library is free software; you can redistribute it and/or
29379
- modify it under the terms of the GNU Library General Public
29380
- License version 2 as published by the Free Software Foundation.
29382
- This library is distributed in the hope that it will be useful,
29383
- but WITHOUT ANY WARRANTY; without even the implied warranty of
29384
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29385
- Library General Public License for more details.
29387
- You should have received a copy of the GNU Library General Public License
29388
- along with this library; see the file COPYING.LIB. If not, write to
29389
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
29390
- Boston, MA 02110-1301, USA.
29393
-#include "krichtextlabel.h"
29394
-#include <QTextDocument>
29397
-#include <q3stylesheet.h>
29398
-#include <q3simplerichtext.h>
29399
-#include <qtextdocument.h>
29400
-//Added by qt3to4:
29403
-#include <kglobalsettings.h>
29405
-static QString qrichtextify( const QString& text )
29407
- if ( text.isEmpty() || text[0] == '<' )
29410
- QStringList lines = QStringList::split('\n', text);
29411
- for(QStringList::Iterator it = lines.begin(); it != lines.end(); ++it)
29413
- *it = Qt::convertFromPlainText( *it, Qt::WhiteSpaceNormal );
29416
- return lines.join(QString::null); //krazy:exclude=nullstrassign for old broken gcc
29419
-KRichTextLabel::KRichTextLabel( const QString &text , QWidget *parent )
29420
- : QLabel ( parent ) {
29421
- m_defaultWidth = qMin(400, KGlobalSettings::desktopGeometry(this).width()*2/5);
29422
- setWordWrap( true );
29426
-KRichTextLabel::KRichTextLabel( QWidget *parent )
29427
- : QLabel ( parent ) {
29428
- m_defaultWidth = qMin(400, KGlobalSettings::desktopGeometry(this).width()*2/5);
29429
- setWordWrap( true );
29432
-void KRichTextLabel::setDefaultWidth(int defaultWidth)
29434
- m_defaultWidth = defaultWidth;
29435
- updateGeometry();
29438
-QSizePolicy KRichTextLabel::sizePolicy() const
29440
- return QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Minimum, false);
29443
-QSize KRichTextLabel::minimumSizeHint() const
29445
- QString qt_text = qrichtextify( text() );
29446
- int pref_width = 0;
29447
- int pref_height = 0;
29448
- QTextDocument rt;
29449
- rt.setHtml( qt_text );
29451
- pref_width = m_defaultWidth;
29452
- rt.setTextWidth(pref_width);
29453
- int used_width = rt.idealWidth();
29454
- if (used_width <= pref_width)
29458
- int new_width = (used_width * 9) / 10;
29459
- rt.setTextWidth(new_width);
29460
- int new_height = rt.size().height();
29461
- if (new_height > pref_height)
29463
- used_width = rt.idealWidth();
29464
- if (used_width > new_width)
29467
- pref_width = used_width;
29471
- if (used_width > (pref_width *2))
29472
- pref_width = pref_width *2;
29474
- pref_width = used_width;
29477
- return QSize(pref_width, rt.size().height());
29480
-QSize KRichTextLabel::sizeHint() const
29482
- return minimumSizeHint();
29485
-void KRichTextLabel::setText( const QString &text ) {
29486
- QLabel::setText(text);
29489
-void KRichTextLabel::virtual_hook( int, void* )
29490
-{ /*BASE::virtual_hook( id, data );*/ }
29492
-#include "krichtextlabel.moc"
29493
Index: kdenetwork-4.6.3/filesharing/simple/krichtextlabel.h
29494
===================================================================
29495
--- kdenetwork-4.6.3.orig/filesharing/simple/krichtextlabel.h 2011-01-19 17:21:04.000000000 -0500
29496
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
29498
-/* This file is part of the KDE libraries
29499
- Copyright (C) 2005 Waldo Bastian <bastian@kde.org>
29501
- This library is free software; you can redistribute it and/or
29502
- modify it under the terms of the GNU Library General Public
29503
- License version 2 as published by the Free Software Foundation.
29505
- This library is distributed in the hope that it will be useful,
29506
- but WITHOUT ANY WARRANTY; without even the implied warranty of
29507
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
29508
- Library General Public License for more details.
29510
- You should have received a copy of the GNU Library General Public License
29511
- along with this library; see the file COPYING.LIB. If not, write to
29512
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
29513
- Boston, MA 02110-1301, USA.
29516
-#ifndef KRICHTEXTLABEL_H
29517
-#define KRICHTEXTLABEL_H
29519
-#include <qlabel.h>
29522
- * @short A replacement for QLabel that supports richtext and proper layout management
29524
- * @author Waldo Bastian <bastian@kde.org>
29530
-class KRichTextLabel : public QLabel {
29535
- * Default constructor.
29537
- KRichTextLabel( QWidget *parent );
29538
- KRichTextLabel( const QString &text, QWidget *parent );
29540
- int defaultWidth() const { return m_defaultWidth; }
29541
- void setDefaultWidth(int defaultWidth);
29543
- virtual QSize minimumSizeHint() const;
29544
- virtual QSize sizeHint() const;
29545
- QSizePolicy sizePolicy() const;
29548
- void setText( const QString & );
29551
- int m_defaultWidth;
29554
- virtual void virtual_hook( int id, void* data );
29556
- class KRichTextLabelPrivate;
29557
- KRichTextLabelPrivate *d;
29560
-#endif // KRICHTEXTLABEL_H
29561
Index: kdenetwork-4.6.3/CMakeLists.txt
29562
===================================================================
29563
--- kdenetwork-4.6.3.orig/CMakeLists.txt 2011-01-19 17:21:09.000000000 -0500
29564
+++ kdenetwork-4.6.3/CMakeLists.txt 2011-05-30 12:32:04.861538419 -0400
29567
macro_optional_add_subdirectory(kdnssd)
29569
+option(SAMBA_INSTALL "Offer to install Samba for file sharing with PackageKit if it is not already installed, use -DSAMBA_INSTALL=off to disable, use -DSAMBA_PACKAGE_NAME= to set package name." ON)
29570
+if(NOT SAMBA_PACKAGE_NAME)
29571
+ set(SAMBA_PACKAGE_NAME \\\"samba\\\")
29572
+endif(NOT SAMBA_PACKAGE_NAME)
29574
+ message(STATUS "Samba install feature will be enabled.")
29575
+ add_definitions(-DSAMBA_INSTALL)
29576
+ add_definitions(-DSAMBA_PACKAGE_NAME=${SAMBA_PACKAGE_NAME})
29577
+else(SAMBA_INSTALL)
29578
+ message(STATUS "Samba install feature will NOT be enabled.")
29579
+endif(SAMBA_INSTALL)
29582
macro_optional_add_subdirectory(filesharing)