/pidgin/main: 2a390d401448: Replace GtkTable with GtkGrid in con...

Elliott Sales de Andrade <[email protected]>
Newsgroups gmane.comp.gnome.gaim.cvs
Message-ID <[email protected]>
Changeset: 2a390d40144865841bfed50c26348c1314d5741b
Author:	 Elliott Sales de Andrade <[email protected]>
Date:	 2014-11-11 00:54 -0500
Branch:	 default
URL: https://hg.pidgin.im/pidgin/main/rev/2a390d401448

Description:

Replace GtkTable with GtkGrid in conversation window.

diffstat:

 pidgin/gtk3compat.h |  53 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 pidgin/gtkconv.c    |  24 ++++++++++++------------
 2 files changed, 64 insertions(+), 13 deletions(-)

diffs (136 lines):

diff --git a/pidgin/gtk3compat.h b/pidgin/gtk3compat.h
--- a/pidgin/gtk3compat.h
+++ b/pidgin/gtk3compat.h
@@ -77,7 +77,7 @@ pidgin_color_chooser_get_rgb(GtkWidget *
 		gtk_color_button_get_color(GTK_COLOR_BUTTON(widget), color);
 }
 
-#else
+#else /* 3.4.0 */
 
 static inline void
 pidgin_color_chooser_set_rgb(GtkColorChooser *chooser, const GdkColor *rgb)
@@ -106,6 +106,57 @@ pidgin_color_chooser_get_rgb(GtkColorCho
 #endif /* 3.4.0 and gtk_color_chooser_ */
 
 
+#if GTK_CHECK_VERSION(3,0,0)
+
+static inline GtkWidget *
+gtk_grid_table_new(guint rows, guint columns)
+{
+	return gtk_grid_new();
+}
+
+static inline void
+gtk_grid_attach_defaults(GtkGrid *grid, GtkWidget *child, gint left, gint top,
+	gint width, gint height)
+{
+	gtk_grid_attach(grid, child, left, top, width, height);
+	gtk_widget_set_hexpand(child, TRUE);
+	gtk_widget_set_vexpand(child, TRUE);
+}
+
+#else /* 3.0.0 and gtk_grid_ */
+
+#define GTK_GRID GTK_TABLE
+#define GtkGrid GtkTable
+
+static inline GtkWidget *
+gtk_grid_table_new(guint rows, guint columns)
+{
+	return gtk_table_new(rows, columns, FALSE);
+}
+
+static inline void
+gtk_grid_set_row_spacing(GtkGrid *grid, guint spacing)
+{
+	gtk_table_set_row_spacings(grid, spacing);
+}
+
+static inline void
+gtk_grid_set_column_spacing(GtkGrid *grid, guint spacing)
+{
+	gtk_table_set_col_spacings(grid, spacing);
+}
+
+static inline void
+gtk_grid_attach_defaults(GtkGrid *grid, GtkWidget *child, gint left, gint top,
+	gint width, gint height)
+{
+	gtk_table_attach_defaults(grid, child, left, left + width,
+		top, top + height);
+}
+
+#endif /* 3.0.0 and gtk_grid_ */
+
+
 #if !GTK_CHECK_VERSION(3,2,0)
 
 #define GTK_FONT_CHOOSER GTK_FONT_SELECTION_DIALOG
diff --git a/pidgin/gtkconv.c b/pidgin/gtkconv.c
--- a/pidgin/gtkconv.c
+++ b/pidgin/gtkconv.c
@@ -919,7 +919,7 @@ invite_cb(GtkWidget *widget, PidginConve
 		PidginConvWindow *gtkwin;
 		GtkWidget *label;
 		GtkWidget *vbox, *hbox;
-		GtkWidget *table;
+		GtkWidget *grid;
 		GtkWidget *img;
 
 		img = gtk_image_new_from_stock(PIDGIN_STOCK_DIALOG_QUESTION,
@@ -969,42 +969,42 @@ invite_cb(GtkWidget *widget, PidginConve
 		gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
 		gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
 
-		/* hbox for the table, and to give it some spacing on the left. */
+		/* hbox for the grid, and to give it some spacing on the left. */
 		hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE);
 		gtk_container_add(GTK_CONTAINER(vbox), hbox);
 
-		/* Setup the table we're going to use to lay stuff out. */
-		table = gtk_table_new(2, 2, FALSE);
-		gtk_table_set_row_spacings(GTK_TABLE(table), PIDGIN_HIG_BOX_SPACE);
-		gtk_table_set_col_spacings(GTK_TABLE(table), PIDGIN_HIG_BOX_SPACE);
-		gtk_container_set_border_width(GTK_CONTAINER(table), PIDGIN_HIG_BORDER);
-		gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0);
+		/* Setup the grid we're going to use to lay stuff out. */
+		grid = gtk_grid_table_new(2, 2);
+		gtk_grid_set_row_spacing(GTK_GRID(grid), PIDGIN_HIG_BOX_SPACE);
+		gtk_grid_set_column_spacing(GTK_GRID(grid), PIDGIN_HIG_BOX_SPACE);
+		gtk_container_set_border_width(GTK_CONTAINER(grid), PIDGIN_HIG_BORDER);
+		gtk_box_pack_start(GTK_BOX(vbox), grid, FALSE, FALSE, 0);
 
 		/* Now the Buddy label */
 		label = gtk_label_new(NULL);
 		gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Buddy:"));
 		gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
-		gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1);
+		gtk_grid_attach_defaults(GTK_GRID(grid), label, 0, 0, 1, 1);
 
 		/* Now the Buddy drop-down entry field. */
 		info->entry = gtk_entry_new();
 		pidgin_setup_screenname_autocomplete(info->entry, NULL, chat_invite_filter,
 				purple_conversation_get_account(PURPLE_CONVERSATION(chat)));
-		gtk_table_attach_defaults(GTK_TABLE(table), info->entry, 1, 2, 0, 1);
+		gtk_grid_attach_defaults(GTK_GRID(grid), info->entry, 1, 0, 1, 1);
 		gtk_label_set_mnemonic_widget(GTK_LABEL(label), info->entry);
 
 		/* Now the label for "Message" */
 		label = gtk_label_new(NULL);
 		gtk_label_set_markup_with_mnemonic(GTK_LABEL(label), _("_Message:"));
 		gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
-		gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2);
+		gtk_grid_attach_defaults(GTK_GRID(grid), label, 0, 1, 1, 1);
 
 
 		/* And finally, the Message entry field. */
 		info->message = gtk_entry_new();
 		gtk_entry_set_activates_default(GTK_ENTRY(info->message), TRUE);
 
-		gtk_table_attach_defaults(GTK_TABLE(table), info->message, 1, 2, 1, 2);
+		gtk_grid_attach_defaults(GTK_GRID(grid), info->message, 1, 1, 1, 1);
 		gtk_label_set_mnemonic_widget(GTK_LABEL(label), info->message);
 
 		/* Connect the signals. */
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.