diff options
Diffstat (limited to 'Swift/Controllers/UIInterfaces')
-rw-r--r-- | Swift/Controllers/UIInterfaces/MainWindow.h | 1 | ||||
-rw-r--r-- | Swift/Controllers/UIInterfaces/ProfileWindow.h | 30 | ||||
-rw-r--r-- | Swift/Controllers/UIInterfaces/ProfileWindowFactory.h | 18 | ||||
-rw-r--r-- | Swift/Controllers/UIInterfaces/UIFactory.h | 4 |
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() {} }; |