summaryrefslogtreecommitdiffstats
path: root/src/ldapcontroller.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ldapcontroller.cpp')
-rw-r--r--src/ldapcontroller.cpp45
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() {
//
}