All pastes #40855 Raw Edit

Anonymous

public text v1 · immutable
#40855 ·published 2006-02-09 13:20 UTC
rendered paste body
Index: gedit/gedit-commands-view.c
===================================================================
RCS file: /cvs/gnome/gedit/gedit/gedit-commands-view.c,v
retrieving revision 1.2
diff -u -p -r1.2 gedit-commands-view.c
--- gedit/gedit-commands-view.c	12 Dec 2005 17:27:55 -0000	1.2
+++ gedit/gedit-commands-view.c	9 Feb 2006 13:19:18 -0000
@@ -71,12 +71,28 @@ gedit_cmd_view_show_side_pane (GtkAction
 			       GeditWindow *window)
 {
 	gboolean visible;
+	GeditPanel *panel;
 
-	gedit_debug (DEBUG_COMMANDS);
+        gedit_debug (DEBUG_COMMANDS);
 
 	visible = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
 
-	_gedit_window_set_side_panel_visible (window, visible);
+	panel = gedit_window_get_side_panel (window);
+
+	if (visible)
+	{
+		gtk_widget_show (panel);
+		gtk_widget_grab_focus (panel);
+	}
+	else
+	{
+		GeditTab *tab;
+
+		gtk_widget_hide (panel);
+
+		tab = gedit_window_get_active_tab (window);
+		gtk_widget_grab_focus (GTK_WIDGET (tab));
+	}
 }
 
 void
Index: gedit/gedit-session.c
===================================================================
RCS file: /cvs/gnome/gedit/gedit/gedit-session.c,v
retrieving revision 1.10
diff -u -p -r1.10 gedit-session.c
--- gedit/gedit-session.c	12 Dec 2005 17:27:55 -0000	1.10
+++ gedit/gedit-session.c	9 Feb 2006 13:19:19 -0000
@@ -701,14 +701,14 @@ parse_window (xmlNodePtr node)
 			    (strcmp ((char *) visible, "yes") == 0))
 			{
 				gedit_debug_message (DEBUG_SESSION, "Side panel visible");
-				_gedit_window_set_side_panel_visible (window, 
-								      TRUE);
+//				_gedit_window_set_side_panel_visible (window, 
+//								      TRUE);
 			}
 			else
 			{
 				gedit_debug_message (DEBUG_SESSION, "Side panel _NOT_ visible");
-				_gedit_window_set_side_panel_visible (window, 
-								      FALSE);
+//				_gedit_window_set_side_panel_visible (window, 
+//								      FALSE);
 
 			}
 
Index: gedit/gedit-window.c
===================================================================
RCS file: /cvs/gnome/gedit/gedit/gedit-window.c,v
retrieving revision 1.16
diff -u -p -r1.16 gedit-window.c
--- gedit/gedit-window.c	1 Feb 2006 08:32:42 -0000	1.16
+++ gedit/gedit-window.c	9 Feb 2006 13:19:24 -0000
@@ -2439,12 +2439,39 @@ side_panel_size_allocate (GtkWidget     
 }
 
 static void
+sync_side_panel (GtkWidget   *panel,
+		 GeditWindow *window)
+{
+	gboolean visible;
+	GtkAction *action;
+
+	visible = GTK_WIDGET_VISIBLE (window->priv->side_panel);
+
+	if (gedit_prefs_manager_side_pane_visible_can_set ())
+		gedit_prefs_manager_set_side_pane_visible (visible);
+
+	action = gtk_action_group_get_action (window->priv->always_sensitive_action_group,
+					      "ViewSidePane");		
+
+	if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)) != visible)
+		gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), visible);
+}
+
+/*
+static void
+side_panel_show (GtkWidget   *panel,
+		 GeditWindow *window)
+{
+	_gedit_window_set_side_panel_visible (window, FALSE);
+}
+
+static void
 side_panel_hide (GtkWidget   *panel,
 		 GeditWindow *window)
 {
 	_gedit_window_set_side_panel_visible (window, FALSE);
 }
-		 
+*/		 
 static void
 create_side_panel (GeditWindow *window)
 {
@@ -2465,10 +2492,14 @@ create_side_panel (GeditWindow *window)
 			  G_CALLBACK (side_panel_size_allocate),
 			  window);
 
-	g_signal_connect (window->priv->side_panel,
-			  "hide",
-			  G_CALLBACK (side_panel_hide),
-			  window);
+	g_signal_connect_after (window->priv->side_panel,
+				"show",
+				G_CALLBACK (sync_side_panel),
+				window);
+	g_signal_connect_after (window->priv->side_panel,
+				"hide",
+				G_CALLBACK (sync_side_panel),
+				window);
 
 	gtk_paned_set_position (GTK_PANED (window->priv->hpaned),
 				MAX (100, gedit_prefs_manager_get_side_panel_size ()));
@@ -3013,57 +3044,6 @@ _gedit_window_set_toolbar_visible (Gedit
 
 	if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)) != visible)
 		gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), visible);
-
-	recursion_guard = FALSE;
-}
-
-void
-_gedit_window_set_side_panel_visible (GeditWindow *window,
-				      gboolean     visible)
-{
-	GtkAction *action;
-	static gboolean recursion_guard = FALSE;
-	gboolean show = FALSE;
-
-	gedit_debug (DEBUG_WINDOW);
-
-	g_return_if_fail (GEDIT_IS_WINDOW (window));
-
-	if (recursion_guard)
-		return;
-
-	recursion_guard = TRUE;
-
-	visible = (visible != FALSE);
-
-	if (visible &&
-	    (GTK_WIDGET_VISIBLE (window->priv->side_panel) != visible))
-	{
-		gtk_widget_show (window->priv->side_panel);
-		show = TRUE;
-	}
-	else
-	{
-		gtk_widget_hide (window->priv->side_panel);
-		if (window->priv->active_tab)
-			gtk_widget_grab_focus (GTK_WIDGET (
-					gedit_tab_get_view (GEDIT_TAB (window->priv->active_tab))));
-	}
-
-	if (gedit_prefs_manager_side_pane_visible_can_set ())
-		gedit_prefs_manager_set_side_pane_visible (visible);
-
-	action = gtk_action_group_get_action (window->priv->always_sensitive_action_group,
-					      "ViewSidePane");		
-
-	if (gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)) != visible)
-		gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), visible);
-
-	if (show)
-	{
-		/* g_print ("GRAB side panel\n"); */
-		gtk_widget_grab_focus (window->priv->side_panel);
-	}
 
 	recursion_guard = FALSE;
 }