diff options
Diffstat (limited to 'src/ldapcontroller.cpp')
-rw-r--r-- | src/ldapcontroller.cpp | 45 |
1 files changed, 40 insertions, 5 deletions
diff --git a/src/ldapcontroller.cpp b/src/ldapcontroller.cpp index addb8ad..b8a75a8 100644 --- a/src/ldapcontroller.cpp +++ b/src/ldapcontroller.cpp @@ -33,9 +33,14 @@ #include <kio/job.h> #include <tqdir.h> #include <tqheader.h> +#include <kcombobox.h> #include "ldapcontroller.h" +// FIXME +// Connect this to CMake/Automake +#define KDE_CONFDIR "/etc/trinity" + typedef KGenericFactory<LDAPController, TQWidget> ldapFactory; K_EXPORT_COMPONENT_FACTORY( kcm_ldapcontroller, ldapFactory("kcmldapcontroller")) @@ -43,11 +48,10 @@ K_EXPORT_COMPONENT_FACTORY( kcm_ldapcontroller, ldapFactory("kcmldapcontroller") LDAPController::LDAPController(TQWidget *parent, const char *name, const TQStringList&) : KCModule(parent, name), myAboutData(0) { - // FIXME - // Add UI base widget to 'this' - - load(); - + TQVBoxLayout *layout = new TQVBoxLayout(this, KDialog::marginHint(), KDialog::spacingHint()); + m_systemconfig = new KSimpleConfig( TQString::fromLatin1( KDE_CONFDIR "/ldap/ldapconfigrc" )); + m_systemconfig->setFileWriteMode(S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); + KAboutData* about = new KAboutData("ldapcontroller", I18N_NOOP("TDE LDAP Controller"), "0.1", I18N_NOOP("TDE LDAP Controller Control Panel Module"), KAboutData::License_GPL, @@ -55,11 +59,42 @@ LDAPController::LDAPController(TQWidget *parent, const char *name, const TQStrin about->addAuthor("Timothy Pearson", 0, "kb9vqf@pearsoncomputing.net"); setAboutData( about ); + + m_base = new LDAPControllerConfigBase(this); + layout->add(m_base); + + m_base->systemRole->clear(); + m_base->systemRole->insertItem("Workstation", -1); + m_base->systemRole->insertItem("Realm Controller", -1); + m_base->systemRole->setCurrentItem(0); + + setRootOnlyMsg(i18n("<b>LDAP controller settings take effect system wide, and require administrator access to modify</b><br>To alter the system's realm controller settings, click on the \"Administrator Mode\" button below.")); + setUseRootOnlyMsg(true); + + connect(m_base->systemRole, TQT_SIGNAL(activated(const TQString&)), this, TQT_SLOT(systemRoleChanged())); + + load(); + + if (getuid() != 0 || !m_systemconfig->checkConfigFilesWritable( true )) { + m_base->systemRole->setEnabled(false); + } + + processLockouts(); }; LDAPController::~LDAPController() { } +void LDAPController::systemRoleChanged() { + // RAJA FIXME + // Verify that this workstation was not already bonded to an LDAP realm! + changed(); +} + +void LDAPController::processLockouts() { + // +} + void LDAPController::load() { // } |