[ekiga] Pushed populate_menu's real implementation further down the leaves in opal's directory
- From: Julien Puydt <jpuydt src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ekiga] Pushed populate_menu's real implementation further down the leaves in opal's directory
- Date: Fri, 1 Feb 2013 08:26:17 +0000 (UTC)
commit 98ddd5763ea4c422d9bc104e5cf295c93c66c6d5
Author: Julien Puydt <jpuydt free fr>
Date: Fri Feb 1 09:24:50 2013 +0100
Pushed populate_menu's real implementation further down the leaves in opal's directory
Now the Opal::Bank's populate_menu is complete, and Opal::Account is only partial.
lib/engine/components/opal/opal-account.cpp | 22 ++++++++++++++++++++++
lib/engine/components/opal/opal-account.h | 5 +++++
lib/engine/components/opal/opal-bank.cpp | 9 ++++++++-
3 files changed, 35 insertions(+), 1 deletions(-)
---
diff --git a/lib/engine/components/opal/opal-account.cpp b/lib/engine/components/opal/opal-account.cpp
index 32c4d23..a41baae 100644
--- a/lib/engine/components/opal/opal-account.cpp
+++ b/lib/engine/components/opal/opal-account.cpp
@@ -53,6 +53,7 @@
#include "opal-account.h"
#include "form-request-simple.h"
+#include "menu-builder-tools.h"
#include "platform.h"
#include "sip-endpoint.h"
@@ -460,6 +461,27 @@ bool Opal::Account::populate_menu (Ekiga::MenuBuilder &builder)
return true;
}
+bool
+Opal::Account::populate_menu (const std::string fullname,
+ const std::string uri,
+ Ekiga::MenuBuilder& builder)
+{
+ bool result = false;
+ Ekiga::TemporaryMenuBuilder tmp_builder;
+
+ // FIXME: give tmp_builder to the call manager ;
+ // it will give it to one of the endpoints ;
+ // and this endpoint will add the real stuff!
+ if ( !tmp_builder.empty ()) {
+
+ builder.add_ghost ("", get_name ());
+ tmp_builder.populate_menu (builder);
+ result = true;
+ }
+
+ return result;
+
+}
void Opal::Account::edit ()
{
diff --git a/lib/engine/components/opal/opal-account.h b/lib/engine/components/opal/opal-account.h
index f4f1dbe..cdbb164 100644
--- a/lib/engine/components/opal/opal-account.h
+++ b/lib/engine/components/opal/opal-account.h
@@ -168,6 +168,11 @@ public:
bool populate_menu (Ekiga::MenuBuilder &builder);
+ // used by the bank to add actions on contacts/presentities
+ bool populate_menu (const std::string fullname,
+ const std::string uri,
+ Ekiga::MenuBuilder& builder);
+
const std::string as_string () const;
boost::signal0<void> trigger_saving;
diff --git a/lib/engine/components/opal/opal-bank.cpp b/lib/engine/components/opal/opal-bank.cpp
index abb1e0c..4c4ec76 100644
--- a/lib/engine/components/opal/opal-bank.cpp
+++ b/lib/engine/components/opal/opal-bank.cpp
@@ -134,7 +134,14 @@ Opal::Bank::populate_menu_helper (const std::string fullname,
const std::string& uri,
Ekiga::MenuBuilder& builder)
{
- return false; // FIXME: to implement properly
+ bool result = false;
+
+ for (iterator iter = begin ();
+ iter != end ();
+ ++iter)
+ result = (*iter)->populate_menu (fullname, uri, builder) || result;
+
+ return result;
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]