You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
smb4k/smb4k/configdlg/smb4ksuperuseroptions.cpp

102 lines
4.7 KiB

/***************************************************************************
smb4ksuperuseroptions - The configuration page for the super user
settings of Smb4K
-------------------
begin : Sa Okt 30 2004
copyright : (C) 2004-2007 by Alexander Reinholdt
email : dustpuppy@users.berlios.de
***************************************************************************/
/***************************************************************************
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, but *
* WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, *
* MA 02110-1301 USA *
***************************************************************************/
// TQt includes
#include <tqgroupbox.h>
#include <tqbuttongroup.h>
#include <tqlabel.h>
#include <tqlayout.h>
#include <tqradiobutton.h>
#include <tqcheckbox.h>
// KDE includes
#include <klocale.h>
#include <kpushbutton.h>
#include <kguiitem.h>
// application specific includes
#include "smb4ksuperuseroptions.h"
#include "../core/smb4ksettings.h"
Smb4KSuperUserOptions::Smb4KSuperUserOptions( TQWidget *parent, const char *name )
: TQWidget( parent, name )
{
TQGridLayout *grid = new TQGridLayout( this );
grid->setSpacing( 10 );
TQButtonGroup *suid_progs = new TQButtonGroup( 1, Qt::Horizontal,
i18n( "Programs" ), this, "kcfg_SuperUserProgram" );
suid_progs->setInsideSpacing( 5 );
new TQLabel( i18n( "Use the following program to gain super user privileges:" ), suid_progs );
suid_progs->insert( new TQRadioButton( "sudo", suid_progs, "SudoButton" ), Smb4KSettings::EnumSuperUserProgram::Sudo );
suid_progs->insert( new TQRadioButton( "super", suid_progs, "SuperButton" ), Smb4KSettings::EnumSuperUserProgram::Super );
TQButtonGroup *suid_actions = new TQButtonGroup( 1, Qt::Horizontal, i18n( "Actions" ), this, "SUIDActions" );
suid_actions->setInsideSpacing( 5 );
#ifdef __linux__
(void) new TQCheckBox( i18n( "Use super user privileges to force the unmounting of (inaccessible) shares" ), suid_actions, "kcfg_UseForceUnmount" );
#endif
(void) new TQCheckBox( i18n( "Use super user privileges to mount and unmount shares" ), suid_actions, "kcfg_AlwaysUseSuperUser" );
TQSpacerItem *spacer1 = new TQSpacerItem( 0, 0, TQSizePolicy::Expanding, TQSizePolicy::Preferred );
KGuiItem remove_item = KGuiItem( i18n( "Remove Entries" ), "editdelete",
i18n( "Remove entries from the configuration file" ),
i18n( "Depending on your choice under \"Programs\", all entries that were written by Smb4K will be removed either from /etc/super.tab or /etc/sudoers. Additionally, all your choices under \"Actions\" will be cleared." ) );
KPushButton *remove = new KPushButton( remove_item, this, "RemoveButton" );
TQSpacerItem *spacer2 = new TQSpacerItem( 0, 0, TQSizePolicy::Preferred, TQSizePolicy::Expanding );
grid->addMultiCellWidget( suid_progs, 0, 0, 0, 3, 0 );
grid->addMultiCellWidget( suid_actions, 1, 1, 0, 3, 0 );
grid->addMultiCell( spacer1, 2, 2, 0, 2, 0 );
grid->addWidget( remove, 2, 3, 0 );
grid->addMultiCell( spacer2, 3, 3, 0, 3, 0 );
connect( remove, TQT_SIGNAL( clicked() ),
this, TQT_SLOT( slotRemoveClicked() ) );
}
Smb4KSuperUserOptions::~Smb4KSuperUserOptions()
{
}
/////////////////////////////////////////////////////////////////////////////
// TQT_SLOT IMPLEMENTATIONS
/////////////////////////////////////////////////////////////////////////////
void Smb4KSuperUserOptions::slotRemoveClicked()
{
// Emit the signal that the removal of the super user
// entries has been requested.
emit removeEntries();
}
#include "smb4ksuperuseroptions.moc"