[telegnome] Port to new (as of GTK+ 2.4) GtkToolbar API
- From: Colin Watson <cjwatson src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [telegnome] Port to new (as of GTK+ 2.4) GtkToolbar API
- Date: Tue, 2 Feb 2016 12:17:49 +0000 (UTC)
commit 1880a9feb01e59f7bd061e417dd41a85342542b2
Author: Colin Watson <cjwatson debian org>
Date: Tue Feb 2 12:14:58 2016 +0000
Port to new (as of GTK+ 2.4) GtkToolbar API
* src/gui.c (tg_gui_new_toolbar): Use new toolbar API.
(tg_gui_new): Adjust commented-out handling of zoom button label and
state.
(tg_gui_cb_zoom): Adjust handling of zoom button label.
NEWS | 1 +
src/gui.c | 103 +++++++++++++++++++++++++++++-------------------------------
2 files changed, 51 insertions(+), 53 deletions(-)
---
diff --git a/NEWS b/NEWS
index 6d3c51c..e8dc70c 100644
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,7 @@ Changes in TeleGNOME 0.2.1
GResource and GtkUIManager.
* Port from gtk_timeout_* to GLib equivalents.
* Port from GtkCList to GtkTreeView and friends.
+ * Port to new (as of GTK+ 2.4) GtkToolbar API.
Changes in TeleGNOME 0.2.0
==========================
diff --git a/src/gui.c b/src/gui.c
index edc947c..7df6b26 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -52,10 +52,7 @@ struct _TgGui {
GtkWidget *entry;
GtkWidget *pixmap;
- GtkWidget *zoomlabel;
-
GtkWidget *zoombutton;
- GtkWidget *pagebutton;
GtkWidget *channel_menu;
@@ -405,9 +402,10 @@ tg_gui_cb_toggle_paging(GtkWidget *w, gpointer data)
static GtkWidget *
tg_gui_new_toolbar (void)
{
- GtkWidget *icon, *toolbar, *entry, *hbox, *w;
-
- toolbar= gtk_toolbar_new();
+ GtkWidget *toolbar, *entry, *hbox, *w;
+ GtkToolItem *toolitem;
+
+ toolbar = gtk_toolbar_new();
hbox = gtk_hbox_new(FALSE, 0);
@@ -419,54 +417,51 @@ tg_gui_new_toolbar (void)
gtk_widget_set_tooltip_text(entry, _("Page number"));
gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 5);
- gtk_toolbar_append_widget (GTK_TOOLBAR(toolbar), hbox, "", "");
-
- icon = gtk_image_new_from_stock(GTK_STOCK_JUMP_TO,
- GTK_ICON_SIZE_LARGE_TOOLBAR);
- gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
- NULL, _("Go To Page"),
- NULL, icon, G_CALLBACK(tg_gui_cb_goto_page), NULL);
-
- icon = gtk_image_new_from_stock(GTK_STOCK_GO_BACK,
- GTK_ICON_SIZE_LARGE_TOOLBAR);
- gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
- NULL, _("Get Previous Page"),
- NULL, icon, G_CALLBACK(tg_gui_cb_prev_page), NULL);
-
- icon = gtk_image_new_from_stock(GTK_STOCK_GO_FORWARD,
- GTK_ICON_SIZE_LARGE_TOOLBAR);
- gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
- NULL, _("Get Next Page"),
- NULL, icon, G_CALLBACK(tg_gui_cb_next_page), NULL);
-
- icon = gtk_image_new_from_stock(GTK_STOCK_HOME,
- GTK_ICON_SIZE_LARGE_TOOLBAR);
- gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
- NULL, _("Go to the home page"),
- NULL, icon, G_CALLBACK(tg_gui_cb_home), NULL);
-
- icon = gtk_image_new_from_stock(GTK_STOCK_MEDIA_PLAY,
- GTK_ICON_SIZE_LARGE_TOOLBAR);
- w = gtk_toggle_button_new();
- gui->pagebutton = w;
- gtk_container_add(GTK_CONTAINER(w), icon);
- g_signal_connect(G_OBJECT(w), "clicked",
+ toolitem = gtk_tool_item_new();
+ gtk_container_add(GTK_CONTAINER(toolitem), hbox);
+ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
+
+ toolitem = gtk_tool_button_new_from_stock(GTK_STOCK_JUMP_TO);
+ gtk_widget_set_tooltip_text(GTK_WIDGET(toolitem), _("Go To Page"));
+ g_signal_connect(G_OBJECT(toolitem), "clicked",
+ G_CALLBACK(tg_gui_cb_goto_page), NULL);
+ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
+
+ toolitem = gtk_tool_button_new_from_stock(GTK_STOCK_GO_BACK);
+ gtk_widget_set_tooltip_text(GTK_WIDGET(toolitem), _("Get Previous Page"));
+ g_signal_connect(G_OBJECT(toolitem), "clicked",
+ G_CALLBACK(tg_gui_cb_prev_page), NULL);
+ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
+
+ toolitem = gtk_tool_button_new_from_stock(GTK_STOCK_GO_FORWARD);
+ gtk_widget_set_tooltip_text(GTK_WIDGET(toolitem), _("Get Next Page"));
+ g_signal_connect(G_OBJECT(toolitem), "clicked",
+ G_CALLBACK(tg_gui_cb_next_page), NULL);
+ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
+
+ toolitem = gtk_tool_button_new_from_stock(GTK_STOCK_HOME);
+ gtk_widget_set_tooltip_text(GTK_WIDGET(toolitem),
+ _("Go to the home page"));
+ g_signal_connect(G_OBJECT(toolitem), "clicked",
+ G_CALLBACK(tg_gui_cb_home), NULL);
+ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
+
+ toolitem = gtk_toggle_tool_button_new_from_stock(GTK_STOCK_MEDIA_PLAY);
+ gtk_widget_set_tooltip_text(GTK_WIDGET(toolitem), "Toggles auto-paging");
+ g_signal_connect(G_OBJECT(toolitem), "toggled",
G_CALLBACK(tg_gui_cb_toggle_paging), NULL);
- gtk_toolbar_append_widget(GTK_TOOLBAR(toolbar), w, _("Toggles auto-paging"), NULL);
+ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
/* FIXME */ /*
- gui->zoomlabel = gtk_label_new(_("100%"));
- w = gtk_toggle_button_new();
- gui->zoombutton = w;
- gtk_container_add(GTK_CONTAINER(w), gui->zoomlabel);
- g_signal_connect(G_OBJECT(w), "clicked", G_CALLBACK(tg_gui_cb_zoom), NULL);
- gtk_toolbar_append_widget(GTK_TOOLBAR(toolbar), w, _("Toggles zooming"), NULL);
+ toolitem = gtk_toggle_tool_button_new();
+ gtk_tool_button_set_label(GTK_TOOL_BUTTON(toolitem), _("100%"));
+ gtk_widget_set_tooltip_text(GTK_WIDGET(toolitem), _("Toggles zooming"));
+ gui->zoombutton = GTK_WIDGET(toolitem);
+ g_signal_connect(G_OBJECT(toolitem), "toggled",
+ G_CALLBACK(tg_gui_cb_zoom), NULL);
+ gtk_toolbar_insert(GTK_TOOLBAR(toolbar), toolitem, -1);
*/
- /*
- w = gtk_combo_new();
- gtk_toolbar_append_widget(GTK_TOOLBAR(toolbar), w, _("Selects a channel"), NULL);
- */
gtk_widget_show_all(toolbar);
return toolbar;
@@ -771,8 +766,10 @@ tg_gui_new (GSettings *settings, gchar *startpage)
#if 0
/* the zoom button */
/* FIXME */
- gtk_label_set(GTK_LABEL(gui->zoomlabel), currentview->zoom_factor==1?"100%":"400%");
- if (currentview->zoom_factor==2) gtk_toggle_button_toggled(GTK_TOGGLE_BUTTON(gui->zoombutton));
+ gtk_tool_button_set_label(GTK_TOOL_BUTTON(gui->zoombutton),
+ currentview->zoom_factor==1?"100%":"400%");
+ if (currentview->zoom_factor==2)
+ gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(gui->zoombutton), TRUE);
#endif
/* g_print("Number: %d/%d\n", currentview->page_nr, currentview->subpage_nr); */
@@ -1015,10 +1012,10 @@ tg_gui_cb_zoom (GtkWidget *widget, gpointer data)
{
/* new: just toggle it on click */
if (currentview->zoom_factor==1) {
- gtk_label_set_text(GTK_LABEL(gui->zoomlabel),"400%");
+ gtk_tool_button_set_label(GTK_TOOL_BUTTON(gui->zoombutton), "400%");
currentview->zoom_factor=2;
} else if (currentview->zoom_factor==2) {
- gtk_label_set_text(GTK_LABEL(gui->zoomlabel),"100%");
+ gtk_tool_button_set_label(GTK_TOOL_BUTTON(gui->zoombutton), "100%");
currentview->zoom_factor=1;
}
/* now, get the page with the new zoom settings */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]