[Geany-Devel] [PATCH geany-plugins 09/10] GeanyLua: Fix GTK+3 support
Quentin Glidic
sardemff7+geany at xxxxx
Fri Apr 5 06:58:28 UTC 2013
From: Quentin Glidic <sardemff7+git at sardemff7.net>
Signed-off-by: Quentin Glidic <sardemff7+git at sardemff7.net>
---
build/geanylua.m4 | 1 -
geanylua/glspi_app.c | 4 ++--
geanylua/glspi_dlg.c | 14 +++++++-------
geanylua/glspi_run.c | 8 ++++----
geanylua/gsdlg.c | 34 +++++++++++++++++-----------------
5 files changed, 30 insertions(+), 31 deletions(-)
diff --git a/build/geanylua.m4 b/build/geanylua.m4
index 681eb8a..22c6e14 100644
--- a/build/geanylua.m4
+++ b/build/geanylua.m4
@@ -1,7 +1,6 @@
AC_DEFUN([GP_CHECK_GEANYLUA],
[
GP_ARG_DISABLE([GeanyLua], [auto])
- GP_CHECK_PLUGIN_GTK2_ONLY([GeanyLua])
AC_ARG_WITH([lua-pkg],
AC_HELP_STRING([--with-lua-pkg=ARG],
diff --git a/geanylua/glspi_app.c b/geanylua/glspi_app.c
index c9ca48d..c475b9d 100644
--- a/geanylua/glspi_app.c
+++ b/geanylua/glspi_app.c
@@ -582,7 +582,7 @@ static gint glspi_keygrab(lua_State* L)
gint pos=sci_get_position_from_line(doc->editor->sci, fvl+1);
scintilla_send_message(doc->editor->sci,SCI_CALLTIPSHOW,pos+3, (sptr_t)prompt);
}
- gdk_window_add_filter(main_widgets->window->window, keygrab_cb, &km);
+ gdk_window_add_filter(gtk_widget_get_window(main_widgets->window), keygrab_cb, &km);
do {
while (gtk_events_pending()) {
if (km.group==2) { break; }
@@ -592,7 +592,7 @@ static gint glspi_keygrab(lua_State* L)
dosleep();
} while (km.group!=2);
- gdk_window_remove_filter(main_widgets->window->window, keygrab_cb, &km);
+ gdk_window_remove_filter(gtk_widget_get_window(main_widgets->window), keygrab_cb, &km);
if (prompt && doc && doc->is_valid) {
sci_send_command(doc->editor->sci, SCI_CALLTIPCANCEL);
}
diff --git a/geanylua/glspi_dlg.c b/geanylua/glspi_dlg.c
index 8066d74..7cd7221 100644
--- a/geanylua/glspi_dlg.c
+++ b/geanylua/glspi_dlg.c
@@ -163,17 +163,17 @@ static gint glspi_choose(lua_State* L)
scroll=gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll),
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
- gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox),scroll);
+ gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),scroll);
gtk_container_add(GTK_CONTAINER(scroll),tree);
gtk_widget_set_size_request(tree, 320, 240);
gtk_widget_show_all(dialog);
gtk_window_set_resizable(GTK_WINDOW(dialog), TRUE);
- gtk_signal_connect(GTK_OBJECT(tree), "button-press-event",
- GTK_SIGNAL_FUNC(on_tree_clicked), dialog);
- gtk_signal_connect(GTK_OBJECT(tree), "key-release-event",
- GTK_SIGNAL_FUNC(on_tree_key_release), dialog);
+ g_signal_connect(G_OBJECT(tree), "button-press-event",
+ G_CALLBACK(on_tree_clicked), dialog);
+ g_signal_connect(G_OBJECT(tree), "key-release-event",
+ G_CALLBACK(on_tree_key_release), dialog);
rv=glspi_dialog_run(GTK_DIALOG(dialog));
@@ -294,7 +294,7 @@ static gint glspi_input(lua_State* L)
gtk_widget_grab_default(ok_btn);
entry=gtk_entry_new();
if (arg2) { gtk_entry_set_text(GTK_ENTRY(entry), arg2); }
- gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), entry);
+ gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), entry);
gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE);
set_dialog_title(L,dialog);
gtk_widget_set_size_request(entry, 320, -1);
@@ -412,7 +412,7 @@ static gchar *file_dlg(lua_State* L, gboolean save, const gchar *path, const gch
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL);
#if NEED_OVERWRITE_PROMPT
- gtk_signal_connect(GTK_OBJECT(dlg),"response",G_CALLBACK(on_file_dlg_response),&accepted);
+ g_signal_connect(G_OBJECT(dlg),"response",G_CALLBACK(on_file_dlg_response),&accepted);
#else
gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(dlg), TRUE);
#endif
diff --git a/geanylua/glspi_run.c b/geanylua/glspi_run.c
index 129cade..f41bd23 100644
--- a/geanylua/glspi_run.c
+++ b/geanylua/glspi_run.c
@@ -23,8 +23,8 @@ static void repaint_scintilla(void)
{
GeanyDocument* doc=document_get_current();
if ( doc && doc->is_valid ) {
- gdk_window_invalidate_rect(GTK_WIDGET(doc->editor->sci)->window, NULL, TRUE);
- gdk_window_process_updates(GTK_WIDGET(doc->editor->sci)->window, TRUE);
+ gdk_window_invalidate_rect(gtk_widget_get_window(GTK_WIDGET(doc->editor->sci)), NULL, TRUE);
+ gdk_window_process_updates(gtk_widget_get_window(GTK_WIDGET(doc->editor->sci)), TRUE);
}
}
@@ -209,8 +209,8 @@ static void debug_hook(lua_State *L, lua_Debug *ar)
}
}
if (si->counter > 100000) {
- gdk_window_invalidate_rect(main_widgets->window->window, NULL, TRUE);
- gdk_window_process_updates(main_widgets->window->window, TRUE);
+ gdk_window_invalidate_rect(gtk_widget_get_window(main_widgets->window), NULL, TRUE);
+ gdk_window_process_updates(gtk_widget_get_window(main_widgets->window), TRUE);
si->counter=0;
} else si->counter++;
}
diff --git a/geanylua/gsdlg.c b/geanylua/gsdlg.c
index d5fe523..bace2d7 100644
--- a/geanylua/gsdlg.c
+++ b/geanylua/gsdlg.c
@@ -70,7 +70,7 @@ void gsdlg_textarea(GtkDialog *dlg, GsDlgStr key, GsDlgStr value, GsDlgStr label
frm=gtk_frame_new(label);
gtk_frame_set_shadow_type(GTK_FRAME(frm), GTK_SHADOW_ETCHED_IN);
gtk_container_add(GTK_CONTAINER(frm),sw);
- gtk_container_add(GTK_CONTAINER(dlg->vbox),frm);
+ gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(dlg)),frm);
g_object_set_data_full(G_OBJECT(tv), TextKey, g_strdup(key), g_free);
}
@@ -159,7 +159,7 @@ void gsdlg_file(GtkDialog *dlg, GsDlgStr key, GsDlgStr value, GsDlgStr label)
frm=gtk_frame_new(label);
gtk_frame_set_shadow_type(GTK_FRAME(frm), GTK_SHADOW_ETCHED_IN);
gtk_container_add(GTK_CONTAINER(frm),hbox);
- gtk_container_add(GTK_CONTAINER(dlg->vbox),frm);
+ gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(dlg)),frm);
g_object_set_data_full(G_OBJECT(input), TextKey, g_strdup(key), g_free);
}
@@ -177,13 +177,13 @@ static void color_btn_clicked(GtkButton *button, gpointer user_data)
cn=gtk_entry_get_text(GTK_ENTRY(user_data));
if (cn && *cn && gdk_color_parse(cn,&rgb)) {
gtk_color_selection_set_current_color(
- GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(dlg)->colorsel), &rgb);
+ GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection(dlg)), &rgb);
}
resp=gtk_dialog_run(GTK_DIALOG(dlg));
if (resp == GTK_RESPONSE_OK) {
gchar *rv=NULL;
gtk_color_selection_get_current_color(
- GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(dlg)->colorsel), &rgb);
+ GTK_COLOR_SELECTION(gtk_color_selection_dialog_get_color_selection(dlg)), &rgb);
rv=g_strdup_printf("#%2.2X%2.2X%2.2X",rgb.red/256,rgb.green/256,rgb.blue/256);
gtk_entry_set_text(GTK_ENTRY(user_data), rv);
g_free(rv);
@@ -211,7 +211,7 @@ void gsdlg_color(GtkDialog *dlg, GsDlgStr key, GsDlgStr value, GsDlgStr prompt)
}
gtk_box_pack_start(GTK_BOX(hbox), input,TRUE,TRUE,1);
gtk_box_pack_start(GTK_BOX(hbox), btn,FALSE,FALSE,1);
- gtk_container_add(GTK_CONTAINER(dlg->vbox),hbox);
+ gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(dlg)),hbox);
g_object_set_data_full(G_OBJECT(input), TextKey, g_strdup(key), g_free);
}
@@ -259,7 +259,7 @@ void gsdlg_font(GtkDialog *dlg, GsDlgStr key, GsDlgStr value, GsDlgStr prompt)
}
gtk_box_pack_start(GTK_BOX(hbox), input,TRUE,TRUE,1);
gtk_box_pack_start(GTK_BOX(hbox), btn,FALSE,FALSE,1);
- gtk_container_add(GTK_CONTAINER(dlg->vbox),hbox);
+ gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(dlg)),hbox);
g_object_set_data_full(G_OBJECT(input), TextKey, g_strdup(key), g_free);
}
@@ -278,7 +278,7 @@ static void gsdlg_entry(GtkDialog *dlg, GsDlgStr key, GsDlgStr value, GsDlgStr p
gtk_box_pack_start(GTK_BOX(hbox), label,FALSE,FALSE,1);
gtk_box_pack_start(GTK_BOX(hbox), input,TRUE,TRUE,1);
gtk_entry_set_visibility(GTK_ENTRY(input), !masked);
- gtk_container_add(GTK_CONTAINER(dlg->vbox),hbox);
+ gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(dlg)),hbox);
g_object_set_data_full(G_OBJECT(input), TextKey, g_strdup(key), g_free);
}
@@ -303,7 +303,7 @@ void gsdlg_checkbox(GtkDialog *dlg, GsDlgStr key, gboolean value, GsDlgStr label
cb=gtk_check_button_new_with_label(label);
g_object_set_data_full(G_OBJECT(cb),TextKey,g_strdup(key), g_free);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cb),value);
- gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dlg)->vbox),cb);
+ gtk_container_add(GTK_CONTAINER(GTK_CONTAINER(gtk_dialog_get_content_area(dlg))),cb);
}
@@ -334,7 +334,7 @@ static GtkWidget *find_widget_by_key(GtkDialog *dlg, GType type, GsDlgStr key)
g_return_val_if_fail(dlg, NULL);
kv.key=key;
kv.type=type;
- gtk_container_foreach(GTK_CONTAINER(GTK_DIALOG(dlg)->vbox),find_widget_by_key_cb,&kv);
+ gtk_container_foreach(GTK_CONTAINER(GTK_CONTAINER(gtk_dialog_get_content_area(dlg))),find_widget_by_key_cb,&kv);
return kv.value;
}
@@ -371,7 +371,7 @@ void gsdlg_group(GtkDialog *dlg, GsDlgStr key, GsDlgStr value, GsDlgStr label)
frm=gtk_frame_new(label);
vbox=gtk_vbox_new(FALSE,FALSE);
gtk_container_add(GTK_CONTAINER(frm),vbox);
- gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dlg)->vbox),frm);
+ gtk_container_add(GTK_CONTAINER(GTK_CONTAINER(gtk_dialog_get_content_area(dlg))),frm);
}
/* Frame holds keyname, vbox holds default value */
@@ -450,11 +450,11 @@ void gsdlg_select(GtkDialog *dlg, GsDlgStr key, GsDlgStr value, GsDlgStr label)
hbox=gtk_hbox_new(FALSE,FALSE);
cw=g_malloc0(sizeof(ComboWidgets));
g_object_set_data_full(G_OBJECT(hbox),DataKey,cw,g_free);
- cw->combo=gtk_combo_box_new_text();
+ cw->combo=gtk_combo_box_text_new();
cw->label=gtk_label_new(label);
gtk_box_pack_start(GTK_BOX(hbox), cw->label,FALSE,FALSE,4);
gtk_box_pack_start(GTK_BOX(hbox), cw->combo,TRUE,TRUE,1);
- gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dlg)->vbox),hbox);
+ gtk_container_add(GTK_CONTAINER(GTK_CONTAINER(gtk_dialog_get_content_area(dlg))),hbox);
}
/* Hbox holds keyname, combo holds default value */
g_object_set_data_full(G_OBJECT(hbox), TextKey, g_strdup(key), g_free);
@@ -481,7 +481,7 @@ void gsdlg_option(GtkDialog *dlg, GsDlgStr key, GsDlgStr value, GsDlgStr label)
values=g_object_steal_data(G_OBJECT(cw->combo), DataKey);
values=g_slist_append(values, g_strdup(value));
g_object_set_data_full(G_OBJECT(cw->combo), DataKey, values, destroy_slist_and_data);
- gtk_combo_box_append_text(GTK_COMBO_BOX(cw->combo), label);
+ gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(cw->combo), label);
defval=g_object_get_data(G_OBJECT(cw->combo), TextKey);
if (value && defval && g_str_equal(value,defval)) {
select_combo(cw->combo,value);
@@ -496,7 +496,7 @@ void gsdlg_label(GtkDialog *dlg, GsDlgStr text)
GtkWidget *lab=NULL;
g_return_if_fail(dlg);
lab=gtk_label_new(text);
- gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dlg)->vbox), lab);
+ gtk_container_add(GTK_CONTAINER(GTK_CONTAINER(gtk_dialog_get_content_area(dlg))), lab);
gtk_misc_set_alignment(GTK_MISC(lab), 0.0f, 0.0f);
}
@@ -505,7 +505,7 @@ void gsdlg_label(GtkDialog *dlg, GsDlgStr text)
void gsdlg_hr(GtkDialog *dlg)
{
g_return_if_fail(dlg);
- gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dlg)->vbox), gtk_hseparator_new());
+ gtk_container_add(GTK_CONTAINER(GTK_CONTAINER(gtk_dialog_get_content_area(dlg))), gtk_hseparator_new());
}
@@ -534,7 +534,7 @@ GtkDialog *gsdlg_new(GsDlgStr title, GsDlgStr*btns)
for (i=0; btns[i]; i++) {
gtk_dialog_add_button(GTK_DIALOG(dlg),btns[i],i);
}
- gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(dlg)->vbox), 4);
+ gtk_box_set_spacing(GTK_BOX(GTK_CONTAINER(gtk_dialog_get_content_area(dlg))), 4);
gtk_container_set_border_width(GTK_CONTAINER(dlg), 4);
gtk_window_set_title(GTK_WINDOW(dlg),title);
return dlg;
@@ -605,7 +605,7 @@ GHashTable* gsdlg_run(GtkDialog *dlg, gint *btn, gpointer user_data)
if (gsdlg_run_hook) { gsdlg_run_hook(FALSE,user_data); }
if (*btn<0) *btn=-1;
results=g_hash_table_new_full(g_str_hash,g_str_equal,g_free,g_free);
- gtk_container_foreach(GTK_CONTAINER(GTK_DIALOG(dlg)->vbox),widgets_foreach,results);
+ gtk_container_foreach(GTK_CONTAINER(GTK_CONTAINER(gtk_dialog_get_content_area(dlg))),widgets_foreach,results);
gtk_widget_hide(GTK_WIDGET(dlg));
return results;
}
--
1.8.2
More information about the Devel
mailing list