[gedit] Move the line-col button in window.ui
- From: Paolo Borelli <pborelli src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit] Move the line-col button in window.ui
- Date: Thu, 31 Jul 2014 10:47:55 +0000 (UTC)
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]