ekiga r6797 - in trunk: . lib/engine/gui/gtk-frontend
- From: jpuydt svn gnome org
- To: svn-commits-list gnome org
- Subject: ekiga r6797 - in trunk: . lib/engine/gui/gtk-frontend
- Date: Tue, 2 Sep 2008 11:10:17 +0000 (UTC)
Author: jpuydt
Date: Tue Sep 2 11:10:17 2008
New Revision: 6797
URL: http://svn.gnome.org/viewvc/ekiga?rev=6797&view=rev
Log:
Fixed bug #550073.
Modified:
trunk/ChangeLog
trunk/lib/engine/gui/gtk-frontend/book-view-gtk.cpp
trunk/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp
Modified: trunk/lib/engine/gui/gtk-frontend/book-view-gtk.cpp
==============================================================================
--- trunk/lib/engine/gui/gtk-frontend/book-view-gtk.cpp (original)
+++ trunk/lib/engine/gui/gtk-frontend/book-view-gtk.cpp Tue Sep 2 11:10:17 2008
@@ -356,8 +356,18 @@
if (event->type == GDK_BUTTON_PRESS && event->button == 3) {
+ Ekiga::TemporaryMenuBuilder temp;
MenuBuilderGtk builder;
+
+ BOOK_VIEW_GTK (data)->priv->book.populate_menu (temp);
contact->populate_menu (builder);
+
+ if (!temp.empty ()) {
+
+ builder.add_separator ();
+ temp.populate_menu (builder);
+ }
+
if (!builder.empty ()) {
gtk_widget_show_all (builder.menu);
Modified: trunk/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp
==============================================================================
--- trunk/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp (original)
+++ trunk/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp Tue Sep 2 11:10:17 2008
@@ -145,7 +145,8 @@
static void on_clicked_show_heap_group_menu (Ekiga::Heap* heap,
const std::string name,
GdkEventButton* event);
-static void on_clicked_show_presentity_menu (Ekiga::Presentity* presentity,
+static void on_clicked_show_presentity_menu (Ekiga::Heap* heap,
+ Ekiga::Presentity* presentity,
GdkEventButton* event);
static void on_clicked_fold (RosterViewGtk* self,
@@ -427,13 +428,23 @@
}
static void
-on_clicked_show_presentity_menu (Ekiga::Presentity* presentity,
+on_clicked_show_presentity_menu (Ekiga::Heap* heap,
+ Ekiga::Presentity* presentity,
GdkEventButton* event)
{
+ Ekiga::TemporaryMenuBuilder temp;
MenuBuilderGtk builder;
+
+ heap->populate_menu (temp);
presentity->populate_menu (builder);
- if (!builder.empty ()) {
+ if (!temp.empty ()) {
+
+ builder.add_separator ();
+ temp.populate_menu (builder);
+ }
+
+ if (!builder.empty ()) {
gtk_widget_show_all (builder.menu);
gtk_menu_popup (GTK_MENU (builder.menu), NULL, NULL,
NULL, NULL, event->button, event->time);
@@ -694,7 +705,7 @@
case TYPE_PRESENTITY:
if (event->type == GDK_BUTTON_PRESS && event->button == 3)
- on_clicked_show_presentity_menu (presentity, event);
+ on_clicked_show_presentity_menu (heap, presentity, event);
if (event->type == GDK_2BUTTON_PRESS)
on_clicked_trigger_presentity (presentity);
break;
@@ -953,6 +964,7 @@
gtk_tree_store_set (self->priv->store, &iter,
COLUMN_TYPE, TYPE_PRESENTITY,
COLUMN_OFFLINE, active,
+ COLUMN_HEAP, &heap,
COLUMN_PRESENTITY, &presentity,
COLUMN_NAME, presentity.get_name ().c_str (),
COLUMN_STATUS, presentity.get_status ().c_str (),
@@ -969,6 +981,7 @@
gtk_tree_store_set (self->priv->store, &iter,
COLUMN_TYPE, TYPE_PRESENTITY,
COLUMN_OFFLINE, active,
+ COLUMN_HEAP, &heap,
COLUMN_PRESENTITY, &presentity,
COLUMN_NAME, presentity.get_name ().c_str (),
COLUMN_STATUS, presentity.get_status ().c_str (),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]