summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-05-26 02:11:54 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-05-26 02:11:54 -0500
commit15cbe6d94327f69b793312be6b6b132bb50af651 (patch)
tree30eb3e89ef061b60ce7745491e74a27cfd508f06 /src
downloadkcmldapmanager-15cbe6d94327f69b793312be6b6b132bb50af651.tar.gz
kcmldapmanager-15cbe6d94327f69b793312be6b6b132bb50af651.zip
Initial import of skeletal module for further development
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am19
-rw-r--r--src/ldap.cpp83
-rw-r--r--src/ldap.desktop17
-rw-r--r--src/ldap.h55
-rw-r--r--src/ldapconfigbase.ui101
5 files changed, 275 insertions, 0 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 0000000..dc6eb14
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,19 @@
+INCLUDES = $(all_includes)
+METASOURCES = AUTO
+
+# Install this plugin in the KDE modules directory
+kde_module_LTLIBRARIES = kcm_ldap.la
+
+kcm_ldap_la_SOURCES = ldap.cpp ldapconfigbase.ui
+kcm_ldap_la_LIBADD = -lkio $(LIB_TDEUI)
+kcm_ldap_la_LDFLAGS = -avoid-version -module -no-undefined \
+ $(all_libraries)
+
+
+xdg_apps_DATA = ldap.desktop
+
+
+messages: rc.cpp
+ $(EXTRACTRC) `find -name \*.ui -o -name \*.rc` > rc.cpp
+ $(XGETTEXT) *.cpp -o $(podir)/kcmldap.pot
+
diff --git a/src/ldap.cpp b/src/ldap.cpp
new file mode 100644
index 0000000..54e8bff
--- /dev/null
+++ b/src/ldap.cpp
@@ -0,0 +1,83 @@
+/***************************************************************************
+ * Copyright (C) 2012 by Timothy Pearson *
+ * kb9vqf@pearsoncomputing.net *
+ * *
+ * 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., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+
+#include <tqlayout.h>
+
+#include <klocale.h>
+#include <kglobal.h>
+#include <kparts/genericfactory.h>
+#include <ksimpleconfig.h>
+#include <kglobalsettings.h>
+#include <kstandarddirs.h>
+#include <kurlrequester.h>
+#include <klistview.h>
+#include <kopenwith.h>
+#include <kpropertiesdialog.h>
+#include <kio/job.h>
+#include <tqdir.h>
+#include <tqheader.h>
+
+#include "ldap.h"
+
+typedef KGenericFactory<ldap, TQWidget> ldapFactory;
+
+K_EXPORT_COMPONENT_FACTORY( kcm_ldap, ldapFactory("kcmldap"))
+
+ldap::ldap(TQWidget *parent, const char *name, const TQStringList&)
+ : KCModule(parent, name), myAboutData(0)
+{
+ // FIXME
+ // Add UI base widget to 'this'
+
+ load();
+
+ KAboutData* about = new KAboutData("ldap", I18N_NOOP("TDE LDAP Manager"), "0.1",
+ I18N_NOOP("TDE LDAP Manager Control Panel Module"),
+ KAboutData::License_GPL,
+ I18N_NOOP("(c) 2012 Timothy Pearson"), 0, 0);
+
+ about->addAuthor("Timothy Pearson", 0, "kb9vqf@pearsoncomputing.net");
+ setAboutData( about );
+};
+
+ldap::~ldap() {
+}
+
+void ldap::load() {
+ kgs = new KGlobalSettings();
+ KStandardDirs *ksd = new KStandardDirs();
+}
+
+void ldap::defaults() {
+
+}
+
+void ldap::save() {
+
+}
+
+int ldap::buttons() {
+ return KCModule::Apply|KCModule::Help;
+}
+
+TQString ldap::quickHelp() const
+{
+ return i18n("This module configures which LDAP realms TDE uses for authentication.");
+}
diff --git a/src/ldap.desktop b/src/ldap.desktop
new file mode 100644
index 0000000..72246c2
--- /dev/null
+++ b/src/ldap.desktop
@@ -0,0 +1,17 @@
+[Desktop Entry]
+Encoding=UTF-8
+Exec=kcmshell ldap
+Icon=tdmconfig
+Type=Application
+
+X-KDE-ModuleType=Library
+X-KDE-Library=ldap
+X-KDE-HasReadOnlyMode=false
+X-KDE-ParentApp=kcontrol
+
+[Desktop Entry]
+Encoding=UTF-8
+Comment=A KControl tool for managing TDE connections to LDAP realms.
+Keywords=ldap manager
+Name=LDAP Realm Manager
+Categories=Qt;KDE;X-KDE-settings-components;
diff --git a/src/ldap.h b/src/ldap.h
new file mode 100644
index 0000000..1c041c0
--- /dev/null
+++ b/src/ldap.h
@@ -0,0 +1,55 @@
+/***************************************************************************
+ * Copyright (C) 2012 by Timothy Pearson *
+ * kb9vqf@pearsoncomputing.net *
+ * *
+ * 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., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+
+#ifndef _LDAP_H_
+#define _LDAP_H_
+
+#include <kcmodule.h>
+#include <kaboutdata.h>
+#include <kpushbutton.h>
+#include <klistview.h>
+#include <kfileitem.h>
+#include <kglobalsettings.h>
+#include <tqpushbutton.h>
+#include <tqcombobox.h>
+
+#include "ldapconfigbase.h"
+
+class ldap: public KCModule
+{
+ Q_OBJECT
+
+ public:
+ ldap( TQWidget *parent=0, const char *name=0, const TQStringList& = TQStringList() );
+ ~ldap();
+
+ virtual void load();
+ virtual void save();
+ virtual void defaults();
+ virtual int buttons();
+ virtual TQString quickHelp() const;
+ virtual const KAboutData *aboutData() const { return myAboutData; };
+
+ private:
+ KAboutData *myAboutData;
+ KGlobalSettings *kgs;
+};
+
+#endif
diff --git a/src/ldapconfigbase.ui b/src/ldapconfigbase.ui
new file mode 100644
index 0000000..8d00fad
--- /dev/null
+++ b/src/ldapconfigbase.ui
@@ -0,0 +1,101 @@
+<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
+<class>LDAPConfigBase</class>
+<widget class="TQWidget">
+ <property name="name">
+ <cstring>LDAPConfigBase</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>519</width>
+ <height>356</height>
+ </rect>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="TQTabWidget" row="0" column="0">
+ <property name="name">
+ <cstring>TabWidget2</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <widget class="TQWidget">
+ <property name="name">
+ <cstring>tab</cstring>
+ </property>
+ <attribute name="title">
+ <string>LDAP Realms</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="TQGroupBox" row="0" column="0">
+ <property name="name">
+ <cstring>groupGlobal</cstring>
+ </property>
+ <property name="title">
+ <string>Global Settings</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="TQCheckBox" row="0" column="0" colspan="2">
+ <property name="name">
+ <cstring>systemEnableSupport</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Enable LDAP</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="TQGroupBox" row="1" column="0">
+ <property name="name">
+ <cstring>groupRealms</cstring>
+ </property>
+ <property name="title">
+ <string>Bonded Realms</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ </grid>
+ </widget>
+ <spacer row="4" column="0">
+ <property name="name" stdset="0">
+ <cstring>Spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ </widget>
+ </grid>
+</widget>
+<includes>
+ <include location="local" impldecl="in implementation">LDAPConfigBase.ui.h</include>
+</includes>
+<includes>
+ <include location="local" impldecl="in implementation">kdialog.h</include>
+</includes>
+<layoutdefaults spacing="3" margin="6"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+</UI>