summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ldap.cpp22
-rw-r--r--src/ldap.h6
2 files changed, 26 insertions, 2 deletions
diff --git a/src/ldap.cpp b/src/ldap.cpp
index 54e8bff..2cd0d27 100644
--- a/src/ldap.cpp
+++ b/src/ldap.cpp
@@ -36,16 +36,28 @@
#include "ldap.h"
+// FIXME
+// Connect this to CMake/Automake
+#define KDE_CONFDIR "/etc/trinity"
+
typedef KGenericFactory<ldap, TQWidget> ldapFactory;
K_EXPORT_COMPONENT_FACTORY( kcm_ldap, ldapFactory("kcmldap"))
+KSimpleConfig *systemconfig;
+
ldap::ldap(TQWidget *parent, const char *name, const TQStringList&)
: KCModule(parent, name), myAboutData(0)
{
- // FIXME
- // Add UI base widget to 'this'
+ TQVBoxLayout *layout = new TQVBoxLayout(this, KDialog::marginHint(), KDialog::spacingHint());
+ systemconfig = new KSimpleConfig( TQString::fromLatin1( KDE_CONFDIR "/ldap/ldapconfigrc" ));
+
+ base = new LDAPConfigBase(this);
+ layout->add(base);
+ setRootOnlyMsg(i18n("<b>Bonded LDAP realms take effect system wide, and require administrator access to modify</b><br>To alter the system's bonded LDAP realms, click on the \"Administrator Mode\" button below."));
+ setUseRootOnlyMsg(true);
+
load();
KAboutData* about = new KAboutData("ldap", I18N_NOOP("TDE LDAP Manager"), "0.1",
@@ -55,9 +67,15 @@ ldap::ldap(TQWidget *parent, const char *name, const TQStringList&)
about->addAuthor("Timothy Pearson", 0, "[email protected]");
setAboutData( about );
+
+
+ if (getuid() != 0 || !systemconfig->checkConfigFilesWritable( true )) {
+ base->systemEnableSupport->setEnabled(false);
+ }
};
ldap::~ldap() {
+ delete systemconfig;
}
void ldap::load() {
diff --git a/src/ldap.h b/src/ldap.h
index 1c041c0..d543cef 100644
--- a/src/ldap.h
+++ b/src/ldap.h
@@ -29,9 +29,14 @@
#include <kglobalsettings.h>
#include <tqpushbutton.h>
#include <tqcombobox.h>
+#include <tqcheckbox.h>
#include "ldapconfigbase.h"
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
class ldap: public KCModule
{
Q_OBJECT
@@ -50,6 +55,7 @@ class ldap: public KCModule
private:
KAboutData *myAboutData;
KGlobalSettings *kgs;
+ LDAPConfigBase *base;
};
#endif