[glade3] * src/glade-window.c: Dont refresh notebook tabs at every update-ui, just for the appropriate pr



commit f2a93372b5213c7e2c8efb7dcfadd1b2632415b0
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date:   Sun Jan 2 15:46:19 2011 +0900

    	* src/glade-window.c: Dont refresh notebook tabs at every update-ui, just for the appropriate
    	  project when the appropriate data changes (speeds up editing, with latest changes editing labels
    	  in huge projects is smooth).

 ChangeLog          |    4 ++++
 src/glade-window.c |   16 +++-------------
 2 files changed, 7 insertions(+), 13 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 9a5a552..bf72253 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -15,6 +15,10 @@
 	  implementations... GladeProject already emits this after collapsing whenever the project
 	  changes.
 
+	* src/glade-window.c: Dont refresh notebook tabs at every update-ui, just for the appropriate
+	  project when the appropriate data changes (speeds up editing, with latest changes editing labels
+	  in huge projects is smooth).
+
 2011-01-01  Tristan Van Berkom <tristanvb openismus com>
 
 	* gladeui/glade-command.[ch], Added GladeProject member to base command structure, now
diff --git a/src/glade-window.c b/src/glade-window.c
index 17f05da..a755b07 100644
--- a/src/glade-window.c
+++ b/src/glade-window.c
@@ -560,8 +560,7 @@ refresh_notebook_tab_for_project (GladeWindow * window, GladeProject * project)
           eventbox = g_object_get_data (G_OBJECT (tab_label), "tab-event-box");
 
           str = get_formatted_project_name_for_display (project,
-                                                        FORMAT_NAME_MARK_UNSAVED
-                                                        |
+                                                        FORMAT_NAME_MARK_UNSAVED |
                                                         FORMAT_NAME_MIDDLE_TRUNCATE);
           gtk_label_set_text (GTK_LABEL (label), str);
           g_free (str);
@@ -596,15 +595,6 @@ refresh_notebook_tab_for_project (GladeWindow * window, GladeProject * project)
 }
 
 static void
-refresh_notebook_tabs (GladeWindow * window)
-{
-  GList *list;
-
-  for (list = glade_app_get_projects (); list; list = list->next)
-    refresh_notebook_tab_for_project (window, GLADE_PROJECT (list->data));
-}
-
-static void
 project_targets_changed_cb (GladeProject * project, GladeWindow * window)
 {
   refresh_notebook_tab_for_project (window, project);
@@ -702,6 +692,7 @@ project_notify_handler_cb (GladeProject * project, GParamSpec * spec,
     {
       refresh_title (window);
       refresh_projects_list_item (window, project);
+      refresh_notebook_tab_for_project (window, project);
     }
   else if (strcmp (spec->name, "read-only") == 0)
     {
@@ -2874,6 +2865,7 @@ static void
 update_ui (GladeApp * app, GladeWindow * window)
 {
   GladeProject *project;
+
   if (window->priv->active_view)
     {
       project = glade_design_view_get_project (window->priv->active_view);
@@ -2883,8 +2875,6 @@ update_ui (GladeApp * app, GladeWindow * window)
     }
 
   refresh_undo_redo (window);
-
-  refresh_notebook_tabs (window);
 }
 
 static void



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