summaryrefslogtreecommitdiffstats
path: root/krdc/hostpreferences.h
diff options
context:
space:
mode:
Diffstat (limited to 'krdc/hostpreferences.h')
-rw-r--r--krdc/hostpreferences.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/krdc/hostpreferences.h b/krdc/hostpreferences.h
new file mode 100644
index 00000000..09b4abe6
--- /dev/null
+++ b/krdc/hostpreferences.h
@@ -0,0 +1,85 @@
+/***************************************************************************
+ hostpreferences.h - per host preferences
+ -------------------
+ begin : Fri May 09 19:02 CET 2003
+ copyright : (C) 2003 by Tim Jansen
+ : (C) 2004 Nadeem Hasan <nhasan@kde.org>
+ email : tim@tjansen.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. *
+ * *
+ ***************************************************************************/
+
+#ifndef HOSTPREFERENCES_H
+#define HOSTPREFERENCES_H
+
+#include <qstring.h>
+#include <qstringlist.h>
+#include "smartptr.h"
+
+class HostPreferences;
+class KConfig;
+
+class HostPref {
+protected:
+ friend class HostPreferences;
+ QString m_host;
+ QString m_type;
+ KConfig *m_config;
+
+ HostPref(KConfig *conf, const QString &host, const QString &type);
+
+ virtual void load() = 0;
+ virtual void setDefaults() = 0;
+ virtual void save() = 0;
+ virtual void remove() = 0;
+public:
+ virtual ~HostPref();
+
+ virtual QString prefDescription() const = 0;
+ QString host() const;
+ QString type() const;
+ QString prefix() const;
+ static QString prefix(const QString &host, const QString &type);
+};
+
+typedef SmartPtr<HostPref> HostPrefPtr;
+typedef QValueList<HostPrefPtr> HostPrefPtrList;
+
+class HostPreferences {
+public:
+ static HostPreferences *instance();
+ ~HostPreferences();
+
+ HostPrefPtr getHostPref(const QString &host, const QString &type);
+ HostPrefPtr createHostPref(const QString &host, const QString &type);
+ HostPrefPtrList getAllHostPrefs();
+ HostPrefPtr vncDefaults();
+ HostPrefPtr rdpDefaults();
+ void removeHostPref(HostPref *hostPref);
+
+ void setShowBrowsingPanel( bool b );
+ void setServerCompletions( const QStringList &list );
+ void setServerHistory( const QStringList &list );
+
+ bool showBrowsingPanel();
+ QStringList serverCompletions();
+ QStringList serverHistory();
+
+ void sync();
+
+private:
+ HostPreferences();
+
+ KConfig *m_config;
+ static HostPreferences *m_instance;
+
+};
+
+#endif