Skip to content

Commit 9755d16

Browse files
committed
kconfig: gconf: migrate to GTK 3
This commit switches from GTK 2.x to GTK 3, applying the following necessary changes: - Do not include individual headers - GtkObject is gone - Convert Glade to GtkBuilder Link: https://docs.gtk.org/gtk3/migrating-2to3.html Signed-off-by: Masahiro Yamada <[email protected]> Acked-by: Randy Dunlap <[email protected]> Tested-by: Randy Dunlap <[email protected]>
1 parent e06030c commit 9755d16

File tree

3 files changed

+135
-146
lines changed

3 files changed

+135
-146
lines changed

scripts/kconfig/gconf-cfg.sh

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ set -eu
66
cflags=$1
77
libs=$2
88

9-
PKG="gtk+-2.0 gmodule-2.0 libglade-2.0"
9+
PKG=gtk+-3.0
1010

1111
if [ -z "$(command -v ${HOSTPKG_CONFIG})" ]; then
1212
echo >&2 "*"
@@ -18,18 +18,11 @@ fi
1818
if ! ${HOSTPKG_CONFIG} --exists $PKG; then
1919
echo >&2 "*"
2020
echo >&2 "* Unable to find the GTK+ installation. Please make sure that"
21-
echo >&2 "* the GTK+ 2.0 development package is correctly installed."
21+
echo >&2 "* the GTK 3 development package is correctly installed."
2222
echo >&2 "* You need $PKG"
2323
echo >&2 "*"
2424
exit 1
2525
fi
2626

27-
if ! ${HOSTPKG_CONFIG} --atleast-version=2.0.0 gtk+-2.0; then
28-
echo >&2 "*"
29-
echo >&2 "* GTK+ is present but version >= 2.0.0 is required."
30-
echo >&2 "*"
31-
exit 1
32-
fi
33-
3427
${HOSTPKG_CONFIG} --cflags ${PKG} > ${cflags}
3528
${HOSTPKG_CONFIG} --libs ${PKG} > ${libs}

scripts/kconfig/gconf.c

Lines changed: 34 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@
77
#include "lkc.h"
88
#include "images.h"
99

10-
#include <glade/glade.h>
1110
#include <gtk/gtk.h>
12-
#include <glib.h>
13-
#include <gdk/gdkkeysyms.h>
1411

1512
#include <stdio.h>
1613
#include <string.h>
@@ -601,7 +598,7 @@ static void on_expand_clicked(GtkButton *button, gpointer user_data)
601598

602599
/* Main Windows Callbacks */
603600

604-
static void on_window1_destroy(GtkObject *object, gpointer user_data)
601+
static void on_window1_destroy(GtkWidget *widget, gpointer user_data)
605602
{
606603
gtk_main_quit();
607604
}
@@ -1001,135 +998,135 @@ static void replace_button_icon(GtkWidget *widget, const char * const xpm[])
1001998

1002999
static void init_main_window(const gchar *glade_file)
10031000
{
1004-
GladeXML *xml;
1001+
GtkBuilder *builder;
10051002
GtkWidget *widget;
10061003
GtkTextBuffer *txtbuf;
10071004

1008-
xml = glade_xml_new(glade_file, "window1", NULL);
1009-
if (!xml)
1005+
builder = gtk_builder_new_from_file(glade_file);
1006+
if (!builder)
10101007
g_error("GUI loading failed !\n");
10111008

1012-
main_wnd = glade_xml_get_widget(xml, "window1");
1009+
main_wnd = GTK_WIDGET(gtk_builder_get_object(builder, "window1"));
10131010
g_signal_connect(main_wnd, "destroy",
10141011
G_CALLBACK(on_window1_destroy), NULL);
10151012
g_signal_connect(main_wnd, "configure-event",
10161013
G_CALLBACK(on_window1_configure), NULL);
10171014
g_signal_connect(main_wnd, "delete_event",
10181015
G_CALLBACK(on_window1_delete_event), NULL);
10191016

1020-
hpaned = glade_xml_get_widget(xml, "hpaned1");
1021-
vpaned = glade_xml_get_widget(xml, "vpaned1");
1022-
tree1_w = glade_xml_get_widget(xml, "treeview1");
1017+
hpaned = GTK_WIDGET(gtk_builder_get_object(builder, "hpaned1"));
1018+
vpaned = GTK_WIDGET(gtk_builder_get_object(builder, "vpaned1"));
1019+
tree1_w = GTK_WIDGET(gtk_builder_get_object(builder, "treeview1"));
10231020
g_signal_connect(tree1_w, "cursor_changed",
10241021
G_CALLBACK(on_treeview2_cursor_changed), NULL);
10251022
g_signal_connect(tree1_w, "button_press_event",
10261023
G_CALLBACK(on_treeview1_button_press_event), NULL);
10271024
g_signal_connect(tree1_w, "key_press_event",
10281025
G_CALLBACK(on_treeview2_key_press_event), NULL);
10291026

1030-
tree2_w = glade_xml_get_widget(xml, "treeview2");
1027+
tree2_w = GTK_WIDGET(gtk_builder_get_object(builder, "treeview2"));
10311028
g_signal_connect(tree2_w, "cursor_changed",
10321029
G_CALLBACK(on_treeview2_cursor_changed), NULL);
10331030
g_signal_connect(tree2_w, "button_press_event",
10341031
G_CALLBACK(on_treeview2_button_press_event), NULL);
10351032
g_signal_connect(tree2_w, "key_press_event",
10361033
G_CALLBACK(on_treeview2_key_press_event), NULL);
10371034

1038-
text_w = glade_xml_get_widget(xml, "textview3");
1035+
text_w = GTK_WIDGET(gtk_builder_get_object(builder, "textview3"));
10391036

10401037
/* menubar */
1041-
widget = glade_xml_get_widget(xml, "load1");
1038+
widget = GTK_WIDGET(gtk_builder_get_object(builder, "load1"));
10421039
g_signal_connect(widget, "activate",
10431040
G_CALLBACK(on_load1_activate), NULL);
10441041

1045-
save_menu_item = glade_xml_get_widget(xml, "save1");
1042+
save_menu_item = GTK_WIDGET(gtk_builder_get_object(builder, "save1"));
10461043
g_signal_connect(save_menu_item, "activate",
10471044
G_CALLBACK(on_save_activate), NULL);
10481045

1049-
widget = glade_xml_get_widget(xml, "save_as1");
1046+
widget = GTK_WIDGET(gtk_builder_get_object(builder, "save_as1"));
10501047
g_signal_connect(widget, "activate",
10511048
G_CALLBACK(on_save_as1_activate), NULL);
10521049

1053-
widget = glade_xml_get_widget(xml, "quit1");
1050+
widget = GTK_WIDGET(gtk_builder_get_object(builder, "quit1"));
10541051
g_signal_connect(widget, "activate",
10551052
G_CALLBACK(on_quit1_activate), NULL);
10561053

1057-
widget = glade_xml_get_widget(xml, "show_name1");
1054+
widget = GTK_WIDGET(gtk_builder_get_object(builder, "show_name1"));
10581055
g_signal_connect(widget, "activate",
10591056
G_CALLBACK(on_show_name1_activate), NULL);
10601057
gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
10611058
show_name);
10621059

1063-
widget = glade_xml_get_widget(xml, "show_range1");
1060+
widget = GTK_WIDGET(gtk_builder_get_object(builder, "show_range1"));
10641061
g_signal_connect(widget, "activate",
10651062
G_CALLBACK(on_show_range1_activate), NULL);
10661063
gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
10671064
show_range);
10681065

1069-
widget = glade_xml_get_widget(xml, "show_data1");
1066+
widget = GTK_WIDGET(gtk_builder_get_object(builder, "show_data1"));
10701067
g_signal_connect(widget, "activate",
10711068
G_CALLBACK(on_show_data1_activate), NULL);
10721069
gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
10731070
show_value);
10741071

1075-
widget = glade_xml_get_widget(xml, "set_option_mode1");
1072+
widget = GTK_WIDGET(gtk_builder_get_object(builder, "set_option_mode1"));
10761073
g_signal_connect(widget, "activate",
10771074
G_CALLBACK(on_set_option_mode1_activate), NULL);
10781075

1079-
widget = glade_xml_get_widget(xml, "set_option_mode2");
1076+
widget = GTK_WIDGET(gtk_builder_get_object(builder, "set_option_mode2"));
10801077
g_signal_connect(widget, "activate",
10811078
G_CALLBACK(on_set_option_mode2_activate), NULL);
10821079

1083-
widget = glade_xml_get_widget(xml, "set_option_mode3");
1080+
widget = GTK_WIDGET(gtk_builder_get_object(builder, "set_option_mode3"));
10841081
g_signal_connect(widget, "activate",
10851082
G_CALLBACK(on_set_option_mode3_activate), NULL);
10861083

1087-
widget = glade_xml_get_widget(xml, "introduction1");
1084+
widget = GTK_WIDGET(gtk_builder_get_object(builder, "introduction1"));
10881085
g_signal_connect(widget, "activate",
10891086
G_CALLBACK(on_introduction1_activate), NULL);
10901087

1091-
widget = glade_xml_get_widget(xml, "about1");
1088+
widget = GTK_WIDGET(gtk_builder_get_object(builder, "about1"));
10921089
g_signal_connect(widget, "activate",
10931090
G_CALLBACK(on_about1_activate), NULL);
10941091

1095-
widget = glade_xml_get_widget(xml, "license1");
1092+
widget = GTK_WIDGET(gtk_builder_get_object(builder, "license1"));
10961093
g_signal_connect(widget, "activate",
10971094
G_CALLBACK(on_license1_activate), NULL);
10981095

10991096
/* toolbar */
1100-
back_btn = glade_xml_get_widget(xml, "button1");
1097+
back_btn = GTK_WIDGET(gtk_builder_get_object(builder, "button1"));
11011098
g_signal_connect(back_btn, "clicked",
11021099
G_CALLBACK(on_back_clicked), NULL);
11031100
gtk_widget_set_sensitive(back_btn, FALSE);
11041101

1105-
widget = glade_xml_get_widget(xml, "button2");
1102+
widget = GTK_WIDGET(gtk_builder_get_object(builder, "button2"));
11061103
g_signal_connect(widget, "clicked",
11071104
G_CALLBACK(on_load_clicked), NULL);
11081105

1109-
save_btn = glade_xml_get_widget(xml, "button3");
1106+
save_btn = GTK_WIDGET(gtk_builder_get_object(builder, "button3"));
11101107
g_signal_connect(save_btn, "clicked",
11111108
G_CALLBACK(on_save_clicked), NULL);
11121109

1113-
single_btn = glade_xml_get_widget(xml, "button4");
1110+
single_btn = GTK_WIDGET(gtk_builder_get_object(builder, "button4"));
11141111
g_signal_connect(single_btn, "clicked",
11151112
G_CALLBACK(on_single_clicked), NULL);
11161113
replace_button_icon(single_btn, xpm_single_view);
11171114

1118-
split_btn = glade_xml_get_widget(xml, "button5");
1115+
split_btn = GTK_WIDGET(gtk_builder_get_object(builder, "button5"));
11191116
g_signal_connect(split_btn, "clicked",
11201117
G_CALLBACK(on_split_clicked), NULL);
11211118
replace_button_icon(split_btn, xpm_split_view);
11221119

1123-
full_btn = glade_xml_get_widget(xml, "button6");
1120+
full_btn = GTK_WIDGET(gtk_builder_get_object(builder, "button6"));
11241121
g_signal_connect(full_btn, "clicked",
11251122
G_CALLBACK(on_full_clicked), NULL);
11261123
replace_button_icon(full_btn, xpm_tree_view);
11271124

1128-
widget = glade_xml_get_widget(xml, "button7");
1125+
widget = GTK_WIDGET(gtk_builder_get_object(builder, "button7"));
11291126
g_signal_connect(widget, "clicked",
11301127
G_CALLBACK(on_collapse_clicked), NULL);
11311128

1132-
widget = glade_xml_get_widget(xml, "button8");
1129+
widget = GTK_WIDGET(gtk_builder_get_object(builder, "button8"));
11331130
g_signal_connect(widget, "clicked",
11341131
G_CALLBACK(on_expand_clicked), NULL);
11351132

@@ -1144,7 +1141,9 @@ static void init_main_window(const gchar *glade_file)
11441141

11451142
gtk_window_set_title(GTK_WINDOW(main_wnd), rootmenu.prompt->text);
11461143

1147-
gtk_widget_show(main_wnd);
1144+
gtk_widget_show_all(main_wnd);
1145+
1146+
g_object_unref(builder);
11481147

11491148
conf_set_changed_callback(conf_changed);
11501149
}
@@ -1322,7 +1321,6 @@ int main(int ac, char *av[])
13221321

13231322
/* GTK stuffs */
13241323
gtk_init(&ac, &av);
1325-
glade_init();
13261324

13271325
/* Determine GUI path */
13281326
env = getenv(SRCTREE);

0 commit comments

Comments
 (0)