[empathy: 1/3] Add an entry in the View menu to search for contacts (#632024).



commit 2d25c8605b4e6a2cb832955de7f6e12080a658e0
Author: Vitaly Minko <vitaly minko gmail com>
Date:   Mon Oct 18 15:32:37 2010 +0400

    Add an entry in the View menu to search for contacts (#632024).

 libempathy-gtk/empathy-individual-view.c |   19 +++++++++++++++----
 libempathy-gtk/empathy-individual-view.h |    2 ++
 src/empathy-main-window.c                |   10 ++++++++++
 src/empathy-main-window.ui               |    7 +++++++
 4 files changed, 34 insertions(+), 4 deletions(-)
---
diff --git a/libempathy-gtk/empathy-individual-view.c b/libempathy-gtk/empathy-individual-view.c
index ebc71a1..b75e2a1 100644
--- a/libempathy-gtk/empathy-individual-view.c
+++ b/libempathy-gtk/empathy-individual-view.c
@@ -1223,10 +1223,7 @@ individual_view_start_search_cb (EmpathyIndividualView *view,
   if (priv->search_widget == NULL)
     return FALSE;
 
-  if (gtk_widget_get_visible (GTK_WIDGET (priv->search_widget)))
-    gtk_widget_grab_focus (GTK_WIDGET (priv->search_widget));
-  else
-    gtk_widget_show (GTK_WIDGET (priv->search_widget));
+  empathy_individual_view_start_search (view);
 
   return TRUE;
 }
@@ -2579,3 +2576,17 @@ empathy_individual_view_set_store (EmpathyIndividualView *self,
           G_CALLBACK (individual_view_store_row_deleted_cb), self, 0);
     }
 }
+
+void
+empathy_individual_view_start_search (EmpathyIndividualView *self)
+{
+  EmpathyIndividualViewPriv *priv = GET_PRIV (self);
+
+  g_return_if_fail (EMPATHY_IS_INDIVIDUAL_VIEW (self));
+  g_return_if_fail (priv->search_widget != NULL);
+
+  if (gtk_widget_get_visible (GTK_WIDGET (priv->search_widget)))
+    gtk_widget_grab_focus (GTK_WIDGET (priv->search_widget));
+  else
+    gtk_widget_show (GTK_WIDGET (priv->search_widget));
+}
diff --git a/libempathy-gtk/empathy-individual-view.h b/libempathy-gtk/empathy-individual-view.h
index 51a487d..79f279f 100644
--- a/libempathy-gtk/empathy-individual-view.h
+++ b/libempathy-gtk/empathy-individual-view.h
@@ -133,5 +133,7 @@ EmpathyIndividualStore *empathy_individual_view_get_store (
 void empathy_individual_view_set_store (EmpathyIndividualView *self,
     EmpathyIndividualStore *store);
 
+void empathy_individual_view_start_search (EmpathyIndividualView *self);
+
 G_END_DECLS
 #endif /* __EMPATHY_INDIVIDUAL_VIEW_H__ */
diff --git a/src/empathy-main-window.c b/src/empathy-main-window.c
index 85a64a3..a62c9cd 100644
--- a/src/empathy-main-window.c
+++ b/src/empathy-main-window.c
@@ -954,6 +954,15 @@ main_window_notify_contact_list_size_cb (GSettings         *gsettings,
 }
 
 static void
+main_window_view_search_contacts_cb (GtkCheckMenuItem  *item,
+				     EmpathyMainWindow *window)
+{
+	EmpathyMainWindowPriv *priv = GET_PRIV (window);
+
+	empathy_individual_view_start_search (priv->individual_view);
+}
+
+static void
 main_window_view_show_map_cb (GtkCheckMenuItem  *item,
 			      EmpathyMainWindow *window)
 {
@@ -1601,6 +1610,7 @@ empathy_main_window_init (EmpathyMainWindow *window)
 			      "view_show_protocols", "toggled", main_window_view_show_protocols_cb,
 			      "view_sort_by_name", "changed", main_window_view_sort_contacts_cb,
 			      "view_normal_size_with_avatars", "changed", main_window_view_contacts_list_size_cb,
+			      "view_search_contacts", "activate", main_window_view_search_contacts_cb,
 			      "view_show_map", "activate", main_window_view_show_map_cb,
 			      "edit", "activate", main_window_edit_cb,
 			      "edit_accounts", "activate", main_window_edit_accounts_cb,
diff --git a/src/empathy-main-window.ui b/src/empathy-main-window.ui
index 1d06b3e..a328eac 100644
--- a/src/empathy-main-window.ui
+++ b/src/empathy-main-window.ui
@@ -166,6 +166,12 @@
           <accelerator key="3" modifiers="GDK_CONTROL_MASK"/>
         </child>
         <child>
+          <object class="GtkAction" id="view_search_contacts">
+            <property name="name">view_search_contacts</property>
+            <property name="label" translatable="yes">Find in Contact _List</property>
+          </object>
+        </child>
+        <child>
           <object class="GtkAction" id="room">
             <property name="name">room</property>
             <property name="label" translatable="yes">_Room</property>
@@ -248,6 +254,7 @@
           <menuitem action="view_normal_size"/>
           <menuitem action="view_compact_size"/>
           <separator/>
+          <menuitem action="view_search_contacts"/>
           <menuitem action="view_history"/>
           <menuitem action="view_show_ft_manager"/>
           <menuitem action="view_show_map"/>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]