[dia] Bug 741153 - Allow to hide diagram scroll bars



commit 4f8e61f4212c1329b33366cca5d5492750c73daa
Author: Hans Breuer <hans breuer org>
Date:   Sun Dec 14 18:20:45 2014 +0100

    Bug 741153 - Allow to hide diagram scroll bars
    
    without the scroll bars it looks more modern and there is more space for
    the diagram (after also moving the navigation button).
    Currently the setting can be only toggled via menu and is not persistent.

 app/commands.c         |   16 ++++++++++++++++
 app/commands.h         |    2 ++
 app/display.c          |   10 ++++++++++
 app/menus.c            |    1 +
 data/integrated-ui.xml |    1 +
 5 files changed, 30 insertions(+), 0 deletions(-)
---
diff --git a/app/commands.c b/app/commands.c
index a6aacea..a5ad14f 100644
--- a/app/commands.c
+++ b/app/commands.c
@@ -1221,6 +1221,22 @@ view_toggle_rulers_callback (GtkToggleAction *action)
   }
 }
 
+void
+view_toggle_scrollbars_callback (GtkToggleAction *action)
+{
+  DDisplay *ddisp;
+
+  ddisp = ddisplay_active();
+  if (!ddisp) return;
+
+  if (gtk_toggle_action_get_active (action)) {
+    gtk_widget_show (ddisp->hsb);
+    gtk_widget_show (ddisp->vsb);
+  } else {
+    gtk_widget_hide (ddisp->hsb);
+    gtk_widget_hide (ddisp->vsb);
+  }
+}
 extern void
 view_new_view_callback (GtkAction *action)
 {
diff --git a/app/commands.h b/app/commands.h
index b94a706..077f834 100644
--- a/app/commands.h
+++ b/app/commands.h
@@ -55,6 +55,8 @@ void view_visible_grid_callback    (GtkToggleAction *action);
 void view_snap_to_grid_callback    (GtkToggleAction *action);
 void view_snap_to_objects_callback (GtkToggleAction *action);
 void view_toggle_rulers_callback   (GtkToggleAction *action);
+void view_toggle_scrollbars_callback (GtkToggleAction *action);
+
 void view_show_cx_pts_callback     (GtkToggleAction *action);
 void view_new_view_callback           (GtkAction *action);
 void view_clone_view_callback         (GtkAction *action);
diff --git a/app/display.c b/app/display.c
index 157cad6..560ad18 100644
--- a/app/display.c
+++ b/app/display.c
@@ -1325,6 +1325,7 @@ display_update_menu_state(DDisplay *ddisp)
   GtkToggleAction *snap_to_grid;
   GtkToggleAction *show_cx_pts;
   GtkToggleAction *antialiased;
+  gboolean scrollbars_shown;
 
   rulers       = GTK_TOGGLE_ACTION (menus_get_action ("ViewShowrulers"));
   visible_grid = GTK_TOGGLE_ACTION (menus_get_action ("ViewShowgrid"));
@@ -1338,6 +1339,15 @@ display_update_menu_state(DDisplay *ddisp)
   ddisplay_do_update_menu_sensitivity (ddisp);
 
   gtk_toggle_action_set_active (rulers, display_get_rulers_showing(ddisp));
+
+#if GTK_CHECK_VERSION(2,20,0)
+  scrollbars_shown = gtk_widget_get_visible (ddisp->hsb);
+#else
+  scrollbars_shown = GTK_WIDGET_VISIBLE (ddisp->hsb);
+#endif
+  gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (menus_get_action ("ViewShowscrollbars")),
+                               scrollbars_shown);
+
   gtk_toggle_action_set_active (visible_grid,
                                ddisp->grid.visible);
   gtk_toggle_action_set_active (snap_to_grid,
diff --git a/app/menus.c b/app/menus.c
index 70c44c6..b39bb73 100644
--- a/app/menus.c
+++ b/app/menus.c
@@ -261,6 +261,7 @@ static const GtkToggleActionEntry display_toggle_entries[] =
     { "ViewSnaptogrid", NULL, N_("_Snap to Grid"), NULL, NULL, G_CALLBACK (view_snap_to_grid_callback) },
     { "ViewSnaptoobjects", NULL, N_("Snap to _Objects"), NULL, NULL, G_CALLBACK 
(view_snap_to_objects_callback) },
     { "ViewShowrulers", NULL, N_("Show _Rulers"), NULL, NULL, G_CALLBACK (view_toggle_rulers_callback)  },
+    { "ViewShowscrollbars", NULL, N_("Show Scrollbars"), NULL, N_("Show or hide the toolbar"), G_CALLBACK 
(view_toggle_scrollbars_callback) },
     { "ViewShowconnectionpoints", NULL, N_("Show _Connection Points"), NULL, NULL, G_CALLBACK 
(view_show_cx_pts_callback) }
 };
 
diff --git a/data/integrated-ui.xml b/data/integrated-ui.xml
index 988c6a2..25919ff 100644
--- a/data/integrated-ui.xml
+++ b/data/integrated-ui.xml
@@ -80,6 +80,7 @@
                        <menuitem name="ViewSnaptogrid" action="ViewSnaptogrid" />
                        <menuitem name="ViewSnaptoobjects" action="ViewSnaptoobjects" />
                        <menuitem name="ViewShowrulers" action="ViewShowrulers" />
+                       <menuitem name="ViewShowscrollbars" action="ViewShowscrollbars" />
                        <menuitem name="ViewShowconnectionpoints" action="ViewShowconnectionpoints" />
                        <separator name="ViewSep3" />
                        <menuitem name="ViewNewview" action="ViewNewview" />


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