[geany/geany-plugins] ea0124: workbench: fixed deprecated gtk calls for gtk3

LarsGit223 git-noreply at xxxxx
Sat May 11 13:12:52 UTC 2019


Branch:      refs/heads/master
Author:      LarsGit223 <lars_paulsen at web.de>
Committer:   LarsGit223 <lars_paulsen at web.de>
Date:        Sat, 11 May 2019 13:12:52 UTC
Commit:      ea0124d174fca6a69404930910ec9c4a2f3f92ba
             https://github.com/geany/geany-plugins/commit/ea0124d174fca6a69404930910ec9c4a2f3f92ba

Log Message:
-----------
workbench: fixed deprecated gtk calls for gtk3


Modified Paths:
--------------
    utils/src/gp_gtkcompat.h
    workbench/src/dialogs.c
    workbench/src/popup_menu.c
    workbench/src/sidebar.c

Modified: utils/src/gp_gtkcompat.h
9 lines changed, 8 insertions(+), 1 deletions(-)
===================================================================
@@ -51,7 +51,14 @@ G_BEGIN_DECLS
 #define GTK_STOCK_OPEN   _("_Open")
 #define GTK_STOCK_CANCEL _("_Cancel")
 #endif
+
+/* Replace calls to gtk_icon_info_free() with call to
+   g_object_unref(). Starting from version 3.8.*/
+#if GTK_CHECK_VERSION(3, 8, 0)
+#define gtk_icon_info_free(icon_info) \
+        g_object_unref(icon_info)
+#endif
+
 G_END_DECLS
 
 #endif /* GP_GTKCOMPAT_H */
-


Modified: workbench/src/dialogs.c
100 lines changed, 98 insertions(+), 2 deletions(-)
===================================================================
@@ -279,7 +279,12 @@ gboolean dialogs_directory_settings(WB_PROJECT_DIR *directory)
 {
 	GtkWidget *w_file_patterns, *w_ignored_dirs_patterns, *w_ignored_file_patterns;
 	GtkWidget *dialog, *label, *content_area;
-	GtkWidget *vbox, *hbox, *hbox1, *table;
+	GtkWidget *vbox, *hbox, *hbox1;
+#if GTK_CHECK_VERSION(3, 4, 0)
+	GtkWidget *grid;
+#else
+	GtkWidget *table;
+#endif
 	GtkDialogFlags flags;
 	gchar *file_patterns_old, *ignored_file_patterns_old, *ignored_dirs_patterns_old;
 	gboolean changed;
@@ -296,14 +301,34 @@ gboolean dialogs_directory_settings(WB_PROJECT_DIR *directory)
 
 	vbox = gtk_vbox_new(FALSE, 0);
 
+#if GTK_CHECK_VERSION(3, 4, 0)
+	grid = gtk_grid_new ();
+	gtk_grid_set_row_spacing (GTK_GRID(grid), 5);
+	gtk_grid_set_column_spacing (GTK_GRID(grid), 10);
+#else
 	table = gtk_table_new(5, 2, FALSE);
 	gtk_table_set_row_spacings(GTK_TABLE(table), 5);
 	gtk_table_set_col_spacings(GTK_TABLE(table), 10);
+#endif
 
 	label = gtk_label_new(_("File patterns:"));
+#if GTK_CHECK_VERSION(3, 16, 0)
+	gtk_label_set_xalign (GTK_LABEL(label), 0);
+	gtk_label_set_yalign (GTK_LABEL(label), 0);
+#else
 	gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
+#endif
 	w_file_patterns = gtk_entry_new();
+#if GTK_CHECK_VERSION(3, 4, 0)
+	gtk_grid_attach (GTK_GRID(grid), label, 0, 0, 1, 1);
+	gtk_grid_attach (GTK_GRID(grid), w_file_patterns, 1, 0, 1, 1);
+	gtk_widget_set_valign (label, GTK_ALIGN_BASELINE);
+	gtk_widget_set_hexpand (label, FALSE);
+	gtk_widget_set_valign (w_file_patterns, GTK_ALIGN_BASELINE);
+	gtk_widget_set_hexpand (w_file_patterns, TRUE);
+#else
 	ui_table_add_row(GTK_TABLE(table), 0, label, w_file_patterns, NULL);
+#endif
 	ui_entry_add_clear_icon(GTK_ENTRY(w_file_patterns));
 	gtk_widget_set_tooltip_text(w_file_patterns,
 		_("Space separated list of patterns that are used to identify files "
@@ -312,28 +337,60 @@ gboolean dialogs_directory_settings(WB_PROJECT_DIR *directory)
 	gtk_entry_set_text(GTK_ENTRY(w_file_patterns), file_patterns_old);
 
 	label = gtk_label_new(_("Ignored file patterns:"));
+#if GTK_CHECK_VERSION(3, 16, 0)
+	gtk_label_set_xalign (GTK_LABEL(label), 0);
+	gtk_label_set_yalign (GTK_LABEL(label), 0);
+#else
 	gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
+#endif
 	w_ignored_file_patterns = gtk_entry_new();
 	ui_entry_add_clear_icon(GTK_ENTRY(w_ignored_file_patterns));
+#if GTK_CHECK_VERSION(3, 4, 0)
+	gtk_grid_attach (GTK_GRID(grid), label, 0, 1, 1, 1);
+	gtk_grid_attach (GTK_GRID(grid), w_ignored_file_patterns, 1, 1, 1, 1);
+	gtk_widget_set_valign (label, GTK_ALIGN_BASELINE);
+	gtk_widget_set_hexpand (label, FALSE);
+	gtk_widget_set_valign (w_ignored_file_patterns, GTK_ALIGN_BASELINE);
+	gtk_widget_set_hexpand (w_ignored_file_patterns, TRUE);
+#else
 	ui_table_add_row(GTK_TABLE(table), 2, label, w_ignored_file_patterns, NULL);
+#endif
 	gtk_widget_set_tooltip_text(w_ignored_file_patterns,
 		_("Space separated list of patterns that are used to identify files "
 		  "that shall not be displayed in the directory tree."));
 	ignored_file_patterns_old = g_strjoinv(" ", wb_project_dir_get_ignored_file_patterns(directory));
 	gtk_entry_set_text(GTK_ENTRY(w_ignored_file_patterns), ignored_file_patterns_old);
 
 	label = gtk_label_new(_("Ignored directory patterns:"));
+#if GTK_CHECK_VERSION(3, 16, 0)
+	gtk_label_set_xalign (GTK_LABEL(label), 0);
+	gtk_label_set_yalign (GTK_LABEL(label), 0);
+#else
 	gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
+#endif
 	w_ignored_dirs_patterns = gtk_entry_new();
 	ui_entry_add_clear_icon(GTK_ENTRY(w_ignored_dirs_patterns));
+#if GTK_CHECK_VERSION(3, 4, 0)
+	gtk_grid_attach (GTK_GRID(grid), label, 0, 2, 1, 1);
+	gtk_grid_attach (GTK_GRID(grid), w_ignored_dirs_patterns, 1, 2, 1, 1);
+	gtk_widget_set_valign (label, GTK_ALIGN_BASELINE);
+	gtk_widget_set_hexpand (label, FALSE);
+	gtk_widget_set_valign (w_ignored_dirs_patterns, GTK_ALIGN_BASELINE);
+	gtk_widget_set_hexpand (w_ignored_dirs_patterns, TRUE);
+#else
 	ui_table_add_row(GTK_TABLE(table), 3, label, w_ignored_dirs_patterns, NULL);
+#endif
 	gtk_widget_set_tooltip_text(w_ignored_dirs_patterns,
 		_("Space separated list of patterns that are used to identify directories "
 		  "that shall not be scanned for source files."));
 	ignored_dirs_patterns_old = g_strjoinv(" ", wb_project_dir_get_ignored_dirs_patterns(directory));
 	gtk_entry_set_text(GTK_ENTRY(w_ignored_dirs_patterns), ignored_dirs_patterns_old);
 
+#if GTK_CHECK_VERSION(3, 4, 0)
+	gtk_box_pack_start(GTK_BOX(vbox), grid, FALSE, FALSE, 6);
+#else
 	gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 6);
+#endif
 
 	hbox1 = gtk_hbox_new(FALSE, 0);
 	label = gtk_label_new(_("Note: the patterns above affect only the workbench directory and are not used in the Find in Files\n"
@@ -409,7 +466,12 @@ gboolean dialogs_workbench_settings(WORKBENCH *workbench)
 	gint result;
 	GtkWidget *w_rescan_projects_on_open, *w_enable_live_update, *w_expand_on_hover;
 	GtkWidget *dialog, *content_area;
-	GtkWidget *vbox, *hbox, *table;
+	GtkWidget *vbox, *hbox;
+#if GTK_CHECK_VERSION(3, 4, 0)
+	GtkWidget *grid;
+#else
+	GtkWidget *table;
+#endif
 	GtkDialogFlags flags;
 	gboolean changed, rescan_projects_on_open, rescan_projects_on_open_old;
 	gboolean enable_live_update, enable_live_update_old;
@@ -427,20 +489,42 @@ gboolean dialogs_workbench_settings(WORKBENCH *workbench)
 
 	vbox = gtk_vbox_new(FALSE, 0);
 
+#if GTK_CHECK_VERSION(3, 4, 0)
+	grid = gtk_grid_new ();
+	gtk_grid_set_row_spacing (GTK_GRID(grid), 5);
+	gtk_grid_set_column_spacing (GTK_GRID(grid), 10);
+#else
 	table = gtk_table_new(5, 2, FALSE);
 	gtk_table_set_row_spacings(GTK_TABLE(table), 5);
 	gtk_table_set_col_spacings(GTK_TABLE(table), 10);
+#endif
 
 	w_rescan_projects_on_open = gtk_check_button_new_with_mnemonic(_("_Rescan all projects on open"));
+#if GTK_CHECK_VERSION(3, 4, 0)
+	gtk_grid_attach (GTK_GRID(grid), w_rescan_projects_on_open, 0, 0, 1, 1);
+	gtk_widget_set_halign (w_rescan_projects_on_open, GTK_ALIGN_CENTER);
+	gtk_widget_set_hexpand (w_rescan_projects_on_open, TRUE);
+	gtk_widget_set_valign (w_rescan_projects_on_open, GTK_ALIGN_CENTER);
+	gtk_widget_set_vexpand (w_rescan_projects_on_open, TRUE);
+#else
 	ui_table_add_row(GTK_TABLE(table), 0, w_rescan_projects_on_open, NULL);
+#endif
 	gtk_widget_set_tooltip_text(w_rescan_projects_on_open,
 		_("If the option is activated (default), then all projects will be re-scanned "
 		  "on opening of the workbench."));
 	rescan_projects_on_open_old = workbench_get_rescan_projects_on_open(workbench);
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w_rescan_projects_on_open), rescan_projects_on_open_old);
 
 	w_enable_live_update = gtk_check_button_new_with_mnemonic(_("_Enable live update"));
+#if GTK_CHECK_VERSION(3, 4, 0)
+	gtk_grid_attach (GTK_GRID(grid), w_enable_live_update, 0, 1, 1, 1);
+	gtk_widget_set_halign (w_enable_live_update, GTK_ALIGN_CENTER);
+	gtk_widget_set_hexpand (w_enable_live_update, TRUE);
+	gtk_widget_set_valign (w_enable_live_update, GTK_ALIGN_CENTER);
+	gtk_widget_set_vexpand (w_enable_live_update, TRUE);
+#else
 	ui_table_add_row(GTK_TABLE(table), 1, w_enable_live_update, NULL);
+#endif
 	gtk_widget_set_tooltip_text(w_enable_live_update,
 		_("If the option is activated (default), then the list of files and the sidebar "
 		  "will be updated automatically if a file or directory is created, removed or renamed. "
@@ -449,14 +533,26 @@ gboolean dialogs_workbench_settings(WORKBENCH *workbench)
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w_enable_live_update), enable_live_update_old);
 
 	w_expand_on_hover = gtk_check_button_new_with_mnemonic(_("_Expand on hover"));
+#if GTK_CHECK_VERSION(3, 4, 0)
+	gtk_grid_attach (GTK_GRID(grid), w_expand_on_hover, 0, 2, 1, 1);
+	gtk_widget_set_halign (w_expand_on_hover, GTK_ALIGN_CENTER);
+	gtk_widget_set_hexpand (w_expand_on_hover, TRUE);
+	gtk_widget_set_valign (w_expand_on_hover, GTK_ALIGN_CENTER);
+	gtk_widget_set_vexpand (w_expand_on_hover, TRUE);
+#else
 	ui_table_add_row(GTK_TABLE(table), 2, w_expand_on_hover, NULL);
+#endif
 	gtk_widget_set_tooltip_text(w_expand_on_hover,
 		_("If the option is activated, then a tree node in the sidebar "
 		  "will be expanded or collapsed by hovering over it with the mouse cursor."));
 	expand_on_hover_old = workbench_get_expand_on_hover(workbench);
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w_expand_on_hover), expand_on_hover_old);
 
+#if GTK_CHECK_VERSION(3, 4, 0)
+	gtk_box_pack_start(GTK_BOX(vbox), grid, FALSE, FALSE, 6);
+#else
 	gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 6);
+#endif
 
 	hbox = gtk_hbox_new(FALSE, 0);
 	gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 6);


Modified: workbench/src/popup_menu.c
4 lines changed, 4 insertions(+), 0 deletions(-)
===================================================================
@@ -234,8 +234,12 @@ void popup_menu_show(POPUP_CONTEXT context, GdkEventButton *event)
 			gtk_widget_set_sensitive (s_popup_menu.remove_file_or_dir, FALSE);
 		break;
 	}
+#if GTK_CHECK_VERSION(3, 22, 0)
+	gtk_menu_popup_at_pointer(GTK_MENU(s_popup_menu.widget), (GdkEvent *)event);
+#else
 	gtk_menu_popup(GTK_MENU(s_popup_menu.widget), NULL, NULL, NULL, NULL,
 				   event->button, event->time);
+#endif
 }
 
 


Modified: workbench/src/sidebar.c
1 lines changed, 1 insertions(+), 0 deletions(-)
===================================================================
@@ -28,6 +28,7 @@
 #endif
 #include "wb_globals.h"
 #include <gtkcompat.h>
+#include <gp_gtkcompat.h>
 
 #include "sidebar.h"
 #include "popup_menu.h"



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Plugins-Commits mailing list