summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/Controllers/UIInterfaces')
-rw-r--r--Swift/Controllers/UIInterfaces/MainWindow.h1
-rw-r--r--Swift/Controllers/UIInterfaces/ProfileWindow.h30
-rw-r--r--Swift/Controllers/UIInterfaces/ProfileWindowFactory.h18
-rw-r--r--Swift/Controllers/UIInterfaces/UIFactory.h4
4 files changed, 52 insertions, 1 deletions
diff --git a/Swift/Controllers/UIInterfaces/MainWindow.h b/Swift/Controllers/UIInterfaces/MainWindow.h
index 125aae5..55087fe 100644
--- a/Swift/Controllers/UIInterfaces/MainWindow.h
+++ b/Swift/Controllers/UIInterfaces/MainWindow.h
@@ -36,6 +36,7 @@ namespace Swift {
boost::signal<void (StatusShow::Type, const String&)> onChangeStatusRequest;
boost::signal<void ()> onSignOutRequest;
+ boost::signal<void ()> onEditProfileRequest;
private:
bool canDelete_;
diff --git a/Swift/Controllers/UIInterfaces/ProfileWindow.h b/Swift/Controllers/UIInterfaces/ProfileWindow.h
new file mode 100644
index 0000000..e9c9a63
--- /dev/null
+++ b/Swift/Controllers/UIInterfaces/ProfileWindow.h
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2010 Remko Tronçon
+ * Licensed under the GNU General Public License v3.
+ * See Documentation/Licenses/GPLv3.txt for more information.
+ */
+
+#pragma once
+
+#include <Swiften/Base/boost_bsignals.h>
+#include <boost/shared_ptr.hpp>
+
+#include <Swiften/Elements/VCard.h>
+
+namespace Swift {
+ class ProfileWindow {
+ public:
+ virtual ~ProfileWindow() {};
+
+ virtual void setVCard(VCard::ref vcard) = 0;
+
+ virtual void setEnabled(bool b) = 0;
+ virtual void setProcessing(bool b) = 0;
+ virtual void setError(const String&) = 0;
+
+ virtual void show() = 0;
+ virtual void hide() = 0;
+
+ boost::signal<void (VCard::ref)> onVCardChangeRequest;
+ };
+}
diff --git a/Swift/Controllers/UIInterfaces/ProfileWindowFactory.h b/Swift/Controllers/UIInterfaces/ProfileWindowFactory.h
new file mode 100644
index 0000000..022c3eb
--- /dev/null
+++ b/Swift/Controllers/UIInterfaces/ProfileWindowFactory.h
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2010 Remko Tronçon
+ * Licensed under the GNU General Public License v3.
+ * See Documentation/Licenses/GPLv3.txt for more information.
+ */
+
+#pragma once
+
+#include <Swift/Controllers/UIInterfaces/ProfileWindow.h>
+
+namespace Swift {
+ class ProfileWindowFactory {
+ public:
+ virtual ~ProfileWindowFactory() {};
+
+ virtual ProfileWindow* createProfileWindow() = 0;
+ };
+}
diff --git a/Swift/Controllers/UIInterfaces/UIFactory.h b/Swift/Controllers/UIInterfaces/UIFactory.h
index 4783dc8..11623d7 100644
--- a/Swift/Controllers/UIInterfaces/UIFactory.h
+++ b/Swift/Controllers/UIInterfaces/UIFactory.h
@@ -15,6 +15,7 @@
#include <Swift/Controllers/UIInterfaces/JoinMUCWindowFactory.h>
#include <Swift/Controllers/UIInterfaces/UserSearchWindowFactory.h>
#include <Swift/Controllers/UIInterfaces/XMLConsoleWidgetFactory.h>
+#include <Swift/Controllers/UIInterfaces/ProfileWindowFactory.h>
namespace Swift {
class UIFactory :
@@ -26,7 +27,8 @@ namespace Swift {
public MUCSearchWindowFactory,
public XMLConsoleWidgetFactory,
public UserSearchWindowFactory,
- public JoinMUCWindowFactory {
+ public JoinMUCWindowFactory,
+ public ProfileWindowFactory {
public:
virtual ~UIFactory() {}
};