[gedit] Move the line-col button in window.ui



commit fde00443c275a797cbefdd70229666818afc7247
Author: Paolo Borelli <pborelli gnome org>
Date:   Thu Jul 31 12:29:18 2014 +0200

    Move the line-col button in window.ui
    
    It is more consistent with the other statusbar buttons and it is
    needed in preparation to grouping all buttons in a linked box

 gedit/gedit-statusbar.c               |   42 --------------------------------
 gedit/gedit-statusbar.h               |    6 ----
 gedit/gedit-window-private.h          |    3 +-
 gedit/gedit-window.c                  |   43 ++++++++++++++++++++-------------
 gedit/resources/ui/gedit-statusbar.ui |   17 -------------
 gedit/resources/ui/gedit-window.ui    |   19 +++++++++++++-
 6 files changed, 46 insertions(+), 84 deletions(-)
---
diff --git a/gedit/gedit-statusbar.c b/gedit/gedit-statusbar.c
index c7e1ab5..1390fe1 100644
--- a/gedit/gedit-statusbar.c
+++ b/gedit/gedit-statusbar.c
@@ -37,7 +37,6 @@ struct _GeditStatusbarPrivate
        GtkWidget     *load_image;
        GtkWidget     *save_image;
        GtkWidget     *print_image;
-       GtkWidget     *line_col_button;
        GtkWidget     *overwrite_mode_label;
 
        /* tmp flash timeout data */
@@ -92,7 +91,6 @@ gedit_statusbar_class_init (GeditStatusbarClass *klass)
        gtk_widget_class_bind_template_child_private (widget_class, GeditStatusbar, load_image);
        gtk_widget_class_bind_template_child_private (widget_class, GeditStatusbar, save_image);
        gtk_widget_class_bind_template_child_private (widget_class, GeditStatusbar, print_image);
-       gtk_widget_class_bind_template_child_private (widget_class, GeditStatusbar, line_col_button);
        gtk_widget_class_bind_template_child_private (widget_class, GeditStatusbar, overwrite_mode_label);
 }
 
@@ -105,10 +103,6 @@ gedit_statusbar_init (GeditStatusbar *statusbar)
 
        gtk_label_set_width_chars (GTK_LABEL (statusbar->priv->overwrite_mode_label),
                                   get_overwrite_mode_length ());
-
-       /* Line Col button */
-       gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (statusbar->priv->line_col_button),
-                                       _gedit_app_get_line_col_menu (GEDIT_APP (g_application_get_default 
())));
 }
 
 /**
@@ -124,13 +118,6 @@ gedit_statusbar_new (void)
        return GTK_WIDGET (g_object_new (GEDIT_TYPE_STATUSBAR, NULL));
 }
 
-void
-_gedit_statusbar_line_col_button_set_visible (GeditStatusbar *statusbar,
-                                              gboolean        visible)
-{
-       gtk_widget_set_visible (statusbar->priv->line_col_button, visible);
-}
-
 /**
  * gedit_statusbar_set_overwrite:
  * @statusbar: a #GeditStatusbar
@@ -159,35 +146,6 @@ gedit_statusbar_clear_overwrite (GeditStatusbar *statusbar)
        gtk_label_set_text (GTK_LABEL (statusbar->priv->overwrite_mode_label), NULL);
 }
 
-/**
- * gedit_statusbar_cursor_position:
- * @statusbar: an #GeditStatusbar
- * @line: line position
- * @col: column position
- *
- * Sets the cursor position on the statusbar.
- **/
-void
-gedit_statusbar_set_cursor_position (GeditStatusbar *statusbar,
-                                    gint            line,
-                                    gint            col)
-{
-       gchar *msg = NULL;
-
-       g_return_if_fail (GEDIT_IS_STATUSBAR (statusbar));
-
-       if ((line >= 0) || (col >= 0))
-       {
-               /* Translators: "Ln" is an abbreviation for "Line", Col is an abbreviation for "Column". 
Please,
-               use abbreviations if possible to avoid space problems. */
-               msg = g_strdup_printf (_("  Ln %d, Col %d"), line, col);
-       }
-
-       gedit_status_menu_button_set_label (GEDIT_STATUS_MENU_BUTTON (statusbar->priv->line_col_button), msg);
-
-       g_free (msg);
-}
-
 static gboolean
 remove_message_timeout (GeditStatusbar *statusbar)
 {
diff --git a/gedit/gedit-statusbar.h b/gedit/gedit-statusbar.h
index d1a2ca6..8775ea2 100644
--- a/gedit/gedit-statusbar.h
+++ b/gedit/gedit-statusbar.h
@@ -61,10 +61,6 @@ void          gedit_statusbar_set_window_state       (GeditStatusbar   *statusbar,
 void            gedit_statusbar_set_overwrite          (GeditStatusbar   *statusbar,
                                                         gboolean          overwrite);
 
-void            gedit_statusbar_set_cursor_position    (GeditStatusbar   *statusbar,
-                                                        gint              line,
-                                                        gint              col);
-
 void            gedit_statusbar_clear_overwrite        (GeditStatusbar   *statusbar);
 
 void            gedit_statusbar_flash_message          (GeditStatusbar   *statusbar,
@@ -72,8 +68,6 @@ void           gedit_statusbar_flash_message          (GeditStatusbar   *statusbar,
                                                         const gchar      *format,
                                                         ...) G_GNUC_PRINTF(3, 4);
 
-void _gedit_statusbar_line_col_button_set_visible      (GeditStatusbar *statusbar,
-                                                         gboolean        visible);
 G_END_DECLS
 
 #endif
diff --git a/gedit/gedit-window-private.h b/gedit/gedit-window-private.h
index 512f21b..6a4de4f 100644
--- a/gedit/gedit-window-private.h
+++ b/gedit/gedit-window-private.h
@@ -69,7 +69,8 @@ struct _GeditWindowPrivate
 
        /* statusbar and context ids for statusbar messages */
        GtkWidget      *statusbar;
-       GtkWidget      *tab_width_combo;
+       GtkWidget      *line_col_button;
+       GtkWidget      *tab_width_button;
        GtkWidget      *language_button;
        GtkWidget      *language_button_label;
        GtkWidget      *language_popover;
diff --git a/gedit/gedit-window.c b/gedit/gedit-window.c
index 0ad85b3..a18f821 100644
--- a/gedit/gedit-window.c
+++ b/gedit/gedit-window.c
@@ -429,7 +429,8 @@ gedit_window_class_init (GeditWindowClass *klass)
        gtk_widget_class_bind_template_child_private (widget_class, GeditWindow, bottom_panel);
        gtk_widget_class_bind_template_child_private (widget_class, GeditWindow, statusbar);
        gtk_widget_class_bind_template_child_private (widget_class, GeditWindow, language_button);
-       gtk_widget_class_bind_template_child_private (widget_class, GeditWindow, tab_width_combo);
+       gtk_widget_class_bind_template_child_private (widget_class, GeditWindow, tab_width_button);
+       gtk_widget_class_bind_template_child_private (widget_class, GeditWindow, line_col_button);
        gtk_widget_class_bind_template_child_private (widget_class, GeditWindow, fullscreen_controls);
        gtk_widget_class_bind_template_child_private (widget_class, GeditWindow, fullscreen_eventbox);
        gtk_widget_class_bind_template_child_private (widget_class, GeditWindow, fullscreen_headerbar);
@@ -825,8 +826,12 @@ setup_statusbar (GeditWindow *window)
                         "visible",
                         G_SETTINGS_BIND_GET);
 
+       /* Line Col button */
+       gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (window->priv->line_col_button),
+                                       _gedit_app_get_line_col_menu (GEDIT_APP (g_application_get_default 
())));
+
        /* Tab Width button */
-       gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (window->priv->tab_width_combo),
+       gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (window->priv->tab_width_button),
                                        _gedit_app_get_tab_width_menu (GEDIT_APP (g_application_get_default 
())));
 
        /* Language button */
@@ -944,9 +949,10 @@ static void
 update_cursor_position_statusbar (GtkTextBuffer *buffer,
                                  GeditWindow   *window)
 {
-       gint row, col;
+       gint line, col;
        GtkTextIter iter;
        GeditView *view;
+       gchar *msg = NULL;
 
        gedit_debug (DEBUG_WINDOW);
 
@@ -959,13 +965,19 @@ update_cursor_position_statusbar (GtkTextBuffer *buffer,
                                          &iter,
                                          gtk_text_buffer_get_insert (buffer));
 
-       row = gtk_text_iter_get_line (&iter);
-       col = gtk_source_view_get_visual_column (GTK_SOURCE_VIEW (view), &iter);
+       line = 1 + gtk_text_iter_get_line (&iter);
+       col = 1 + gtk_source_view_get_visual_column (GTK_SOURCE_VIEW (view), &iter);
+
+       if ((line >= 0) || (col >= 0))
+       {
+               /* Translators: "Ln" is an abbreviation for "Line", Col is an abbreviation for "Column". 
Please,
+               use abbreviations if possible to avoid space problems. */
+               msg = g_strdup_printf (_("  Ln %d, Col %d"), line, col);
+       }
+
+       gedit_status_menu_button_set_label (GEDIT_STATUS_MENU_BUTTON (window->priv->line_col_button), msg);
 
-       gedit_statusbar_set_cursor_position (
-                               GEDIT_STATUSBAR (window->priv->statusbar),
-                               row + 1,
-                               col + 1);
+       g_free (msg);
 }
 
 static void
@@ -1136,7 +1148,7 @@ tab_width_changed (GObject     *object,
        new_tab_width = gtk_source_view_get_tab_width (GTK_SOURCE_VIEW (object));
 
        label = g_strdup_printf (_("Tab Width: %u"), new_tab_width);
-       gedit_status_menu_button_set_label (GEDIT_STATUS_MENU_BUTTON (window->priv->tab_width_combo), label);
+       gedit_status_menu_button_set_label (GEDIT_STATUS_MENU_BUTTON (window->priv->tab_width_button), label);
        g_free (label);
 }
 
@@ -1326,10 +1338,9 @@ update_statusbar (GeditWindow *window,
                gedit_statusbar_set_overwrite (GEDIT_STATUSBAR (window->priv->statusbar),
                                               gtk_text_view_get_overwrite (GTK_TEXT_VIEW (new_view)));
 
-               gtk_widget_show (window->priv->tab_width_combo);
+               gtk_widget_show (window->priv->line_col_button);
+               gtk_widget_show (window->priv->tab_width_button);
                gtk_widget_show (window->priv->language_button);
-               _gedit_statusbar_line_col_button_set_visible (GEDIT_STATUSBAR (window->priv->statusbar),
-                                                             TRUE);
 
                window->priv->tab_width_id = g_signal_connect (new_view,
                                                               "notify::tab-width",
@@ -2044,11 +2055,9 @@ on_tab_removed (GeditMultiNotebook *multi,
                                GEDIT_STATUSBAR (window->priv->statusbar));
 
                /* hide the combos */
-               gtk_widget_hide (window->priv->tab_width_combo);
+               gtk_widget_hide (window->priv->line_col_button);
+               gtk_widget_hide (window->priv->tab_width_button);
                gtk_widget_hide (window->priv->language_button);
-
-               _gedit_statusbar_line_col_button_set_visible (GEDIT_STATUSBAR (window->priv->statusbar),
-                                                             FALSE);
        }
 
        if (!window->priv->dispose_has_run)
diff --git a/gedit/resources/ui/gedit-statusbar.ui b/gedit/resources/ui/gedit-statusbar.ui
index 2e79b43..7e4242a 100644
--- a/gedit/resources/ui/gedit-statusbar.ui
+++ b/gedit/resources/ui/gedit-statusbar.ui
@@ -98,22 +98,5 @@
         <property name="position">0</property>
       </packing>
     </child>
-    <child>
-      <object class="GeditStatusMenuButton" id="line_col_button">
-        <property name="visible">True</property>
-        <property name="use_popover">True</property>
-        <child internal-child="label">
-          <object class="GtkLabel">
-            <property name="width_chars">18</property>
-            <property name="can_focus">False</property>
-          </object>
-        </child>
-      </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">False</property>
-        <property name="pack_type">end</property>
-      </packing>
-    </child>
   </template>
 </interface>
diff --git a/gedit/resources/ui/gedit-window.ui b/gedit/resources/ui/gedit-window.ui
index 099dd0f..ba507d6 100644
--- a/gedit/resources/ui/gedit-window.ui
+++ b/gedit/resources/ui/gedit-window.ui
@@ -252,7 +252,24 @@
                       <object class="GeditStatusbar" id="statusbar">
                         <property name="visible">True</property>
                         <child>
-                          <object class="GeditStatusMenuButton" id="tab_width_combo">
+                          <object class="GeditStatusMenuButton" id="line_col_button">
+                            <property name="visible">True</property>
+                            <property name="use_popover">True</property>
+                            <child internal-child="label">
+                              <object class="GtkLabel">
+                                <property name="width_chars">18</property>
+                                <property name="can_focus">False</property>
+                              </object>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="pack_type">end</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GeditStatusMenuButton" id="tab_width_button">
                             <property name="visible">True</property>
                             <property name="use_popover">True</property>
                           </object>


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