summaryrefslogtreecommitdiffstats
path: root/src/preferencesdialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/preferencesdialog.h')
-rw-r--r--src/preferencesdialog.h248
1 files changed, 248 insertions, 0 deletions
diff --git a/src/preferencesdialog.h b/src/preferencesdialog.h
new file mode 100644
index 0000000..20b88db
--- /dev/null
+++ b/src/preferencesdialog.h
@@ -0,0 +1,248 @@
+/***************************************************************************
+* Copyright (C) 2004 by Christoph Thielecke *
+* crissi99@gmx.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., *
+* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+***************************************************************************/
+#ifndef PREFERENCESDIALOG_H
+#define PREFERENCESDIALOG_H
+
+#include <kdialogbase.h>
+
+#include <qptrlist.h>
+#include <qstringlist.h>
+#include <qtextedit.h>
+#include <qcolor.h>
+#include <qscrollview.h>
+
+#include "vpnaccountdata.h"
+
+// content
+#include "configdebugoptions.h"
+#include "configgeneraloptions.h"
+#include "configconnectoptions.h"
+#include "configlogoptions.h"
+#include "configdaemonoptions.h"
+#include "confighelperprogramoptions.h"
+#include "profilecertoptions.h"
+#include "profilesmartcardoptions.h"
+#include "profilepskoptions.h"
+#include "profileciscooptions.h"
+#include "profilecmdexecafterconnectoptions.h"
+#include "profilecmdexecafterdisconnectoptions.h"
+#include "profilecmdexecbeforeconnectoptions.h"
+#include "profilecmdexecbeforedisconnectoptions.h"
+#include "profilegeneraloptions.h"
+#include "profilenetworkgeneraloptions.h"
+#include "profilenetworknatoptions.h"
+#include "profilenetworkhttpproxyoptions.h"
+#include "profilenetworkrouteoptions.h"
+#include "profilenetworkvirtualipoptions.h"
+#include "profileopenvpnoptions.h"
+#include "profilepptpoptions.h"
+#include "profileracoonoptions.h"
+#include "profileipsecoptions.h"
+#include "profilevtunoptions.h"
+#include "profilesshoptions.h"
+#include "profileuseroptions.h"
+
+
+/**
+@author Christoph Thielecke
+*/
+class PreferencesDialog : public KDialogBase
+{
+ Q_OBJECT
+public:
+
+ /**
+ * Constructor
+ * @param parent parent widget
+ * @param app pointer to main application
+ * @param LogOutput textedit for debug messages
+ * @param GlobalConfig pointer to configuration object
+ * @param showOnlyProfiles view mode. true: show as profile manager, false: show as preferences dialog
+ * @return
+ */
+ PreferencesDialog( QWidget *parent, QApplication *app,QTextEdit *LogOutput, KVpncConfig *GlobalConfig, bool showOnlyProfiles);
+ ~PreferencesDialog();
+
+public slots:
+ void accept();
+ void reject();
+ void slotApply();
+ void authTypeChanged( int authtype );
+ void connectionTypeChanged( int connectiontype );
+ void profileChanged( const QString& itemtext );
+ void saveSessionClicked();
+ void deleteSessionClicked();
+ void renameSessionClicked();
+ void newSessionClicked();
+ void importCertificate();
+ void pageChanged(QWidget *);
+ void userAuthToggled(bool);
+ void useUdpToggled(bool);
+ void useSpecialServerSmartcardificateToggled(bool);
+ void applicationVersionToggled(bool);
+ void IkeGroupToggled(bool);
+ void perfectForwardSecurityToggled(bool);
+ void singleDesToggled(bool);
+ void useKwalletToggled(bool);
+ void dpdToggled(bool);
+ void useCiscoCertStoreToggled(bool);
+ void natModeToggled( const QString &);
+ void slotProfileCreated(QString Name);
+
+private slots:
+ void OpenvpnPathChanged(const QString&);
+ void FreeswanPathChanged(const QString&);
+ void PppdPathChanged(const QString&);
+ void PptpPathChanged(const QString&);
+ void RacoonPathChanged(const QString&);
+ void VpncPathChanged(const QString&);
+ void CiscoVpncPathChanged(const QString&);
+ void L2tpdPathChanged(const QString&);
+ void Xl2tpdPathChanged(const QString&);
+ void Openl2tpPathChanged(const QString&);
+ void VtundPathChanged(const QString&);
+ void SshPathChanged(const QString&);
+ void showEvent(QShowEvent* e);
+ void detectPkcs11Ids();
+ void detectPkcs11Slots();
+ void localPortToggled(bool);
+ void tunnelDeviceTypeChanged(const QString &);
+ void useXauthToggled(bool);
+ void slotStatusMsg ( const QString &text, int id );
+ bool getVpncHasHybridSupport();
+
+
+protected:
+ void setupGui();
+ QPtrList<VpnAccountData> *AccountList;
+ QTextEdit *LogOutput;
+ VpnAccountData *currentProfile;
+ KVpncConfig *GlobalConfig;
+ QString lastProfileName;
+ int KvpncDebugLevel;
+ bool canAccept;
+ bool configChanged;
+ QPixmap ok_icon;
+ QPixmap wrong_icon;
+ QScrollView* DaemonScrollView;
+ QStringList CiscoCerts;
+ QStringList CiscoCaCerts;
+
+private:
+ QWidget *prev_page;
+ QWidget *current_page;
+
+public:
+ QApplication *app;
+
+ /* -- option pages -- */
+ // Kvpnc
+ ConfigGeneralOptions *GeneralOptionsWidget;
+ ConfigDebugOptions *DebugOptionsWidget;
+ ConfigConnectOptions *ConnectOptionsWidget;
+ ConfigLogOptions *LogOptionsWidget;
+
+ // programs
+ ConfigDaemonOptions *ConfigDaemonOptionsWidget;
+ ConfigHelperProgramOptions *HelperProgramOptionsWidget;
+
+ // profile
+ ProfileGeneralOptions *ProfileGeneralOptionsWidget;
+ ProfileNetworkRouteOptions *ProfileNetworkRouteOptionsWidget;
+ ProfileNetworkGeneralOptions *ProfileNetworkGeneralOptionsWidget;
+ ProfileNetworkNatOptions *ProfileNetworkNatOptionsWidget;
+ ProfileNetworkVirtualIpOptions *ProfileNetworkVirtualIpOptionsWidget;
+ ProfileCertOptions *ProfileCertOptionsWidget;
+ ProfileSmartcardOptions *ProfileSmartcardOptionsWidget;
+ ProfilePskOptions *ProfilePskOptionsWidget;
+ ProfileUserOptions *ProfileUserOptionsWidget;
+ ProfileOpenvpnOptions *ProfileOpenvpnOptionsWidget;
+ ProfileNetworkHttpProxyOptions *ProfileNetworkHttpProxyOptionsWidget;
+ ProfilePptpOptions *ProfilePptpOptionsWidget;
+ ProfileRacoonOptions *ProfileRacoonOptionsWidget;
+ ProfileIpsecOptions *ProfileIpsecOptionsWidget;
+ ProfileCiscoOptions *ProfileCiscoOptionsWidget;
+ ProfileVtunOptions *ProfileVtunOptionsWidget;
+ ProfileSshOptions *ProfileSshOptionsWidget;
+ ProfileCmdExecBeforeConnectOptions *ProfileCmdExecBeforeConnectOptionsWidget;
+ ProfileCmdExecBeforeDisconnectOptions *ProfileCmdExecBeforeDisconnectOptionsWidget;
+ ProfileCmdExecAfterConnectOptions *ProfileCmdExecAfterConnectOptionsWidget;
+ ProfileCmdExecAfterDisconnectOptions *ProfileCmdExecAfterDisconnectOptionsWidget;
+
+ QFrame* ProfileNetworkRouteOptionsFrame;
+ QFrame* ConfigConnectOptionsFrame;
+ QFrame* DaemonOptionsFrame;
+ QFrame* DebugFrame;
+ QFrame* LogFrame;
+ QFrame* HelperProgramFrame;
+ QFrame* ProfileGeneralOptionsFrame;
+ QFrame* ProfileUserOptionsFrame;
+ QFrame* ProfileCertOptionsFrame;
+ QFrame* ProfileCiscoOptionsFrame;
+ QFrame* ProfileNetworkHttpProxyOptionsFrame;
+ QFrame* ProfileCmdExecAfterConnectOptionsFrame;
+ QFrame* ProfileCmdExecBeforeDisconnectOptionsFrame;
+ QFrame* ProfileCmdExecAfterDisconnectOptionsFrame;
+ QFrame* ProfileCmdExecBeforeConnectOptionsFrame;
+ QFrame* GeneralFrame;
+ QFrame* ProfileSmartcardOptionsFrame;
+ QFrame* ProfilePskOptionsFrame;
+ QFrame* ProfileNetworkGeneralOptionsFrame;
+ QFrame* ProfileNetworkNatOptionsFrame;
+ QFrame* ProfileNetworkVirtualIpOptionsFrame;
+ QFrame* ProfileRacoonOptionsFrame;
+ QFrame* ProfileIpsecOptionsFrame;
+ QFrame* ProfileOpenvpnOptionsFrame;
+ QFrame* ProfilePptpOptionsFrame;
+ QFrame* ProfileVtunOptionsFrame;
+ QFrame* ProfileSshOptionsFrame;
+
+
+ QComboBox *ProfileGeneralSelector;
+ QComboBox *ProfileNetworkRouteSelector;
+ QComboBox *ProfileNetworkGeneralSelector;
+ QComboBox *ProfileNetworkNatSelector;
+ QComboBox *ProfileNetworkVirtualIpSelector;
+ QComboBox *ProfileCertSelector;
+ QComboBox *ProfileSmartcardSelector;
+ QComboBox *ProfilePskSelector;
+ QComboBox *ProfileUserSelector;
+ QComboBox *ProfileOpenvpnSelector;
+ QComboBox *ProfileNetworkHttpProxySelector;
+ QComboBox *ProfilePptpSelector;
+ QComboBox *ProfileRacoonSelector;
+ QComboBox *ProfileIpsecSelector;
+ QComboBox *ProfileCiscoSelector;
+ QComboBox *ProfileVtunSelector;
+ QComboBox *ProfileSshSelector;
+ QComboBox *ProfileCmdExecBeforeConnectSelector;
+ QComboBox *ProfileCmdExecBeforeDisconnectSelector;
+ QComboBox *ProfileCmdExecAfterConnectSelector;
+ QComboBox *ProfileCmdExecAfterDisconnectSelector;
+
+
+
+ bool profileAddedOrDeleted;
+ bool profileHasChanged;
+ bool showOnlyProfiles;
+ QString NewProfileName;
+};
+
+#endif