Move implementation of lookup_widget() into ui_lookup_widget().

Change uses of lookup_widget() to ui_lookup_widget().
Remove now unneeded support.c.
Use GLib gettext macros in support.h instead of own ones.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3402 ea778897-0a13-0410-b9d1-a72fbfd435f5
This commit is contained in:
Enrico Tröger 2008-12-18 21:21:53 +00:00
parent aceb1aa703
commit 9e25c43487
27 changed files with 479 additions and 515 deletions

View File

@ -8,6 +8,17 @@
Remove dead code.
* src/editor.c, src/document.c:
Remove remaining uses of doc->editor and use GeanyEditor directly.
* wcript, src/build.c, src/callbacks.c, src/dialogs.c, src/document.c,
src/encodings.c, src/filetypes.c, src/keybindings.c, src/keyfile.c,
src/main.c, src/Makefile.am, src/makefile.win32, src/msgwindow.c,
src/plugindata.c, src/plugins.c, src/prefs.c, src/project.c,
src/search.c, src/support.c, src/support.h, src/templates.c,
src/toolbar.c, src/tools.c, src/treeviews.c, src/ui_utils.c,
src/vte.c:
Move implementation of lookup_widget() into ui_lookup_widget().
Change uses of lookup_widget() to ui_lookup_widget().
Remove now unneeded support.c.
Use GLib gettext macros in support.h instead of own ones.
2008-12-18 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>

View File

@ -38,7 +38,7 @@ SRCS = \
search.c search.h \
socket.c socket.h \
stash.c stash.h \
support.c support.h \
support.h \
symbols.c symbols.h \
templates.c templates.h \
toolbar.c toolbar.h \

View File

@ -962,7 +962,7 @@ static void create_build_menu_gen(BuildMenuItems *menu_items)
{
GtkWidget *menu, *item = NULL, *image, *separator;
GtkAccelGroup *accel_group = gtk_accel_group_new();
GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(main_widgets.window, "tooltips"));
GtkTooltips *tooltips = GTK_TOOLTIPS(ui_lookup_widget(main_widgets.window, "tooltips"));
GeanyKeyGroup *group = g_ptr_array_index(keybinding_groups, GEANY_KEY_GROUP_BUILD);
menu = gtk_menu_new();
@ -1086,7 +1086,7 @@ static void create_build_menu_tex(BuildMenuItems *menu_items)
{
GtkWidget *menu, *item, *image, *separator;
GtkAccelGroup *accel_group = gtk_accel_group_new();
GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(main_widgets.window, "tooltips"));
GtkTooltips *tooltips = GTK_TOOLTIPS(ui_lookup_widget(main_widgets.window, "tooltips"));
GeanyKeyGroup *group = g_ptr_array_index(keybinding_groups, GEANY_KEY_GROUP_BUILD);
menu = gtk_menu_new();
@ -1234,7 +1234,7 @@ on_includes_arguments_tex_dialog_response (GtkDialog *dialog,
struct build_programs *programs = ft->programs;
newstr = gtk_entry_get_text(
GTK_ENTRY(lookup_widget(GTK_WIDGET(dialog), "tex_entry1")));
GTK_ENTRY(ui_lookup_widget(GTK_WIDGET(dialog), "tex_entry1")));
if (! utils_str_equal(newstr, programs->compiler))
{
if (programs->compiler) g_free(programs->compiler);
@ -1242,7 +1242,7 @@ on_includes_arguments_tex_dialog_response (GtkDialog *dialog,
programs->modified = TRUE;
}
newstr = gtk_entry_get_text(
GTK_ENTRY(lookup_widget(GTK_WIDGET(dialog), "tex_entry2")));
GTK_ENTRY(ui_lookup_widget(GTK_WIDGET(dialog), "tex_entry2")));
if (! utils_str_equal(newstr, programs->linker))
{
if (programs->linker) g_free(programs->linker);
@ -1250,7 +1250,7 @@ on_includes_arguments_tex_dialog_response (GtkDialog *dialog,
programs->modified = TRUE;
}
newstr = gtk_entry_get_text(
GTK_ENTRY(lookup_widget(GTK_WIDGET(dialog), "tex_entry3")));
GTK_ENTRY(ui_lookup_widget(GTK_WIDGET(dialog), "tex_entry3")));
if (! utils_str_equal(newstr, programs->run_cmd))
{
if (programs->run_cmd) g_free(programs->run_cmd);
@ -1258,7 +1258,7 @@ on_includes_arguments_tex_dialog_response (GtkDialog *dialog,
programs->modified = TRUE;
}
newstr = gtk_entry_get_text(
GTK_ENTRY(lookup_widget(GTK_WIDGET(dialog), "tex_entry4")));
GTK_ENTRY(ui_lookup_widget(GTK_WIDGET(dialog), "tex_entry4")));
if (! utils_str_equal(newstr, programs->run_cmd2))
{
if (programs->run_cmd2) g_free(programs->run_cmd2);
@ -1403,7 +1403,7 @@ on_includes_arguments_dialog_response (GtkDialog *dialog,
if (ft->actions->can_compile)
{
newstr = gtk_entry_get_text(
GTK_ENTRY(lookup_widget(GTK_WIDGET(dialog), "includes_entry1")));
GTK_ENTRY(ui_lookup_widget(GTK_WIDGET(dialog), "includes_entry1")));
if (! utils_str_equal(newstr, programs->compiler))
{
if (programs->compiler) g_free(programs->compiler);
@ -1414,7 +1414,7 @@ on_includes_arguments_dialog_response (GtkDialog *dialog,
if (ft->actions->can_link)
{
newstr = gtk_entry_get_text(
GTK_ENTRY(lookup_widget(GTK_WIDGET(dialog), "includes_entry2")));
GTK_ENTRY(ui_lookup_widget(GTK_WIDGET(dialog), "includes_entry2")));
if (! utils_str_equal(newstr, programs->linker))
{
if (programs->linker) g_free(programs->linker);
@ -1425,7 +1425,7 @@ on_includes_arguments_dialog_response (GtkDialog *dialog,
if (ft->actions->can_exec)
{
newstr = gtk_entry_get_text(
GTK_ENTRY(lookup_widget(GTK_WIDGET(dialog), "includes_entry3")));
GTK_ENTRY(ui_lookup_widget(GTK_WIDGET(dialog), "includes_entry3")));
if (! utils_str_equal(newstr, programs->run_cmd))
{
if (programs->run_cmd) g_free(programs->run_cmd);
@ -1595,14 +1595,14 @@ void build_menu_update(GeanyDocument *doc)
if (doc == NULL ||
(FILETYPE_ID(doc->file_type) == GEANY_FILETYPES_NONE && doc->file_name == NULL))
{
gtk_widget_set_sensitive(lookup_widget(main_widgets.window, "menu_build1"), FALSE);
gtk_menu_item_remove_submenu(GTK_MENU_ITEM(lookup_widget(main_widgets.window, "menu_build1")));
gtk_widget_set_sensitive(ui_lookup_widget(main_widgets.window, "menu_build1"), FALSE);
gtk_menu_item_remove_submenu(GTK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "menu_build1")));
ui_widget_set_sensitive(widgets.compile_button, FALSE);
ui_widget_set_sensitive(widgets.run_button, FALSE);
return;
}
else
gtk_widget_set_sensitive(lookup_widget(main_widgets.window, "menu_build1"), TRUE);
gtk_widget_set_sensitive(ui_lookup_widget(main_widgets.window, "menu_build1"), TRUE);
ft = doc->file_type;
g_return_if_fail(ft != NULL);
@ -1610,7 +1610,7 @@ void build_menu_update(GeanyDocument *doc)
menu_items = build_get_menu_items(ft->id);
/* Note: don't remove the submenu first because it can now cause an X hang if
* the menu is already open when called from build_exit_cb(). */
gtk_menu_item_set_submenu(GTK_MENU_ITEM(lookup_widget(main_widgets.window, "menu_build1")),
gtk_menu_item_set_submenu(GTK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "menu_build1")),
menu_items->menu);
have_path = (doc->file_name != NULL);

View File

@ -629,7 +629,7 @@ void
on_hide_toolbar1_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkWidget *tool_item = lookup_widget(GTK_WIDGET(main_widgets.window), "menu_show_toolbar1");
GtkWidget *tool_item = ui_lookup_widget(GTK_WIDGET(main_widgets.window), "menu_show_toolbar1");
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(tool_item), FALSE);
}
@ -829,17 +829,17 @@ toolbar_popup_menu (GtkWidget *widget,
switch (toolbar_prefs.icon_style)
{
case 0: w = lookup_widget(ui_widgets.toolbar_menu, "images_only2"); break;
case 1: w = lookup_widget(ui_widgets.toolbar_menu, "text_only2"); break;
default: w = lookup_widget(ui_widgets.toolbar_menu, "images_and_text2"); break;
case 0: w = ui_lookup_widget(ui_widgets.toolbar_menu, "images_only2"); break;
case 1: w = ui_lookup_widget(ui_widgets.toolbar_menu, "text_only2"); break;
default: w = ui_lookup_widget(ui_widgets.toolbar_menu, "images_and_text2"); break;
}
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(w), TRUE);
switch (toolbar_prefs.icon_size)
{
case GTK_ICON_SIZE_LARGE_TOOLBAR:
w = lookup_widget(ui_widgets.toolbar_menu, "large_icons1"); break;
default: w = lookup_widget(ui_widgets.toolbar_menu, "small_icons1"); break;
w = ui_lookup_widget(ui_widgets.toolbar_menu, "large_icons1"); break;
default: w = ui_lookup_widget(ui_widgets.toolbar_menu, "small_icons1"); break;
}
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(w), TRUE);
@ -939,7 +939,7 @@ on_show_messages_window1_toggled (GtkCheckMenuItem *checkmenuitem,
if (ignore_callback) return;
ui_prefs.msgwindow_visible = (ui_prefs.msgwindow_visible) ? FALSE : TRUE;
ui_widget_show_hide(lookup_widget(main_widgets.window, "scrolledwindow1"), ui_prefs.msgwindow_visible);
ui_widget_show_hide(ui_lookup_widget(main_widgets.window, "scrolledwindow1"), ui_prefs.msgwindow_visible);
}
@ -1093,7 +1093,7 @@ on_goto_tag_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
gboolean definition = (menuitem ==
GTK_MENU_ITEM(lookup_widget(main_widgets.editor_menu, "goto_tag_definition1")));
GTK_MENU_ITEM(ui_lookup_widget(main_widgets.editor_menu, "goto_tag_definition1")));
GeanyDocument *doc = document_get_current();
g_return_if_fail(doc != NULL);
@ -1868,8 +1868,8 @@ on_menu_project1_activate (GtkMenuItem *menuitem,
if (item_close == NULL)
{
item_close = lookup_widget(main_widgets.window, "project_close1");
item_properties = lookup_widget(main_widgets.window, "project_properties1");
item_close = ui_lookup_widget(main_widgets.window, "project_close1");
item_properties = ui_lookup_widget(main_widgets.window, "project_properties1");
}
gtk_widget_set_sensitive(item_close, (app->project != NULL));
@ -2000,9 +2000,9 @@ on_menu_toggle_all_additional_widgets1_activate
{
static gint hide_all = -1;
GtkCheckMenuItem *msgw = GTK_CHECK_MENU_ITEM(
lookup_widget(main_widgets.window, "menu_show_messages_window1"));
ui_lookup_widget(main_widgets.window, "menu_show_messages_window1"));
GtkCheckMenuItem *toolbari = GTK_CHECK_MENU_ITEM(
lookup_widget(main_widgets.window, "menu_show_toolbar1"));
ui_lookup_widget(main_widgets.window, "menu_show_toolbar1"));
/* get the initial state (necessary if Geany was closed with hide_all = TRUE) */
if (hide_all == -1)
@ -2183,8 +2183,8 @@ void
on_search1_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
GtkWidget *next_message = lookup_widget(main_widgets.window, "next_message1");
GtkWidget *previous_message = lookup_widget(main_widgets.window, "previous_message1");
GtkWidget *next_message = ui_lookup_widget(main_widgets.window, "next_message1");
GtkWidget *previous_message = ui_lookup_widget(main_widgets.window, "previous_message1");
gboolean have_messages;
/* enable commands if the messages window has any items */

View File

@ -81,9 +81,9 @@ on_file_open_dialog_response (GtkDialog *dialog,
{
GSList *filelist;
gint filetype_idx = gtk_combo_box_get_active(GTK_COMBO_BOX(
lookup_widget(GTK_WIDGET(dialog), "filetype_combo")));
ui_lookup_widget(GTK_WIDGET(dialog), "filetype_combo")));
gint encoding_idx = gtk_combo_box_get_active(GTK_COMBO_BOX(
lookup_widget(GTK_WIDGET(dialog), "encoding_combo")));
ui_lookup_widget(GTK_WIDGET(dialog), "encoding_combo")));
GeanyFiletype *ft = NULL;
gchar *charset = NULL;
gboolean ro = (response == GEANY_RESPONSE_VIEW); /* View clicked */
@ -142,14 +142,14 @@ on_file_open_selection_changed (GtkFileChooser *filechooser,
/* try to get the UTF-8 equivalent for the filename, fallback to filename if error */
gchar *utf8_filename = utils_get_utf8_from_locale(filename);
gtk_entry_set_text(GTK_ENTRY(lookup_widget(
gtk_entry_set_text(GTK_ENTRY(ui_lookup_widget(
GTK_WIDGET(filechooser), "file_entry")), utf8_filename);
g_free(utf8_filename);
g_free(filename);
}
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(
lookup_widget(GTK_WIDGET(filechooser), "check_hidden")), is_on);
ui_lookup_widget(GTK_WIDGET(filechooser), "check_hidden")), is_on);
}
#endif
@ -202,7 +202,7 @@ static void create_open_file_dialog(void)
/* add checkboxes and filename entry */
gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER(ui_widgets.open_filesel),
add_file_open_extra_widget());
filetype_combo = lookup_widget(ui_widgets.open_filesel, "filetype_combo");
filetype_combo = ui_lookup_widget(ui_widgets.open_filesel, "filetype_combo");
/* add FileFilters(start with "All Files") */
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(ui_widgets.open_filesel),
@ -223,7 +223,7 @@ static void create_open_file_dialog(void)
gtk_combo_box_set_active(GTK_COMBO_BOX(filetype_combo), filetypes_array->len - 1);
/* fill encoding combo box */
encoding_combo = lookup_widget(ui_widgets.open_filesel, "encoding_combo");
encoding_combo = ui_lookup_widget(ui_widgets.open_filesel, "encoding_combo");
for (i = 0; i < GEANY_ENCODINGS_MAX; i++)
{
encoding_string = encodings_to_string(&encodings[i]);
@ -435,7 +435,7 @@ on_file_save_dialog_response (GtkDialog *dialog,
{
gchar *new_filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(ui_widgets.save_filesel));
gboolean open_new_tab = gtk_toggle_button_get_active(
GTK_TOGGLE_BUTTON(lookup_widget(ui_widgets.save_filesel, "check_open_new_tab")));
GTK_TOGGLE_BUTTON(ui_lookup_widget(ui_widgets.save_filesel, "check_open_new_tab")));
gchar *utf8_filename;
if (! NZV(new_filename)) /* rename doesn't check for empty filename */

View File

@ -2209,7 +2209,7 @@ void document_set_encoding(GeanyDocument *doc, const gchar *new_encoding)
doc->encoding = g_strdup(new_encoding);
ui_update_statusbar(doc, -1);
gtk_widget_set_sensitive(lookup_widget(main_widgets.window, "menu_write_unicode_bom1"),
gtk_widget_set_sensitive(ui_lookup_widget(main_widgets.window, "menu_write_unicode_bom1"),
encodings_is_unicode_charset(doc->encoding));
}

View File

@ -340,8 +340,8 @@ void encodings_init(void)
#endif
/* create encodings submenu in document menu */
menu[0] = lookup_widget(main_widgets.window, "set_encoding1_menu");
menu[1] = lookup_widget(main_widgets.window, "menu_reload_as1_menu");
menu[0] = ui_lookup_widget(main_widgets.window, "set_encoding1_menu");
menu[1] = ui_lookup_widget(main_widgets.window, "menu_reload_as1_menu");
cb_func[0] = G_CALLBACK(on_encoding_change);
cb_func[1] = G_CALLBACK(on_reload_as_activate);

View File

@ -625,7 +625,7 @@ static void setup_config_file_menus(void)
static void create_set_filetype_menu()
{
filetype_id ft_id;
GtkWidget *filetype_menu = lookup_widget(main_widgets.window, "set_filetype1_menu");
GtkWidget *filetype_menu = ui_lookup_widget(main_widgets.window, "set_filetype1_menu");
GtkWidget *sub_menu = filetype_menu;
GtkWidget *sub_menu_programming, *sub_menu_scripts, *sub_menu_markup, *sub_menu_misc;
GtkWidget *sub_item_programming, *sub_item_scripts, *sub_item_markup, *sub_item_misc;

View File

@ -141,7 +141,7 @@ static GeanyKeyGroup *add_kb_group(GeanyKeyGroup *group,
/* Lookup a widget in the main window */
#define LW(widget_name) \
lookup_widget(main_widgets.window, G_STRINGIFY(widget_name))
ui_lookup_widget(main_widgets.window, G_STRINGIFY(widget_name))
/* Expansion for group_id = FILE:
* static GeanyKeyBinding FILE_keys[GEANY_KEYS_FILE_COUNT]; */
@ -575,7 +575,7 @@ static void add_menu_accel(GeanyKeyGroup *group, guint kb_id,
#define GEANY_ADD_POPUP_ACCEL(kb_id, wid) \
add_menu_accel(group, kb_id, accel_group, lookup_widget(main_widgets.editor_menu, G_STRINGIFY(wid)))
add_menu_accel(group, kb_id, accel_group, ui_lookup_widget(main_widgets.editor_menu, G_STRINGIFY(wid)))
/* set the menu item accelerator shortcuts (just for visibility, they are handled anyway) */
static void add_popup_menu_accels(void)
@ -766,10 +766,10 @@ static void on_dialog_response(GtkWidget *dialog, gint response, gpointer user_d
prefs_show_dialog();
/* select the KB page */
wid = lookup_widget(ui_widgets.prefs_dialog, "frame22");
wid = ui_lookup_widget(ui_widgets.prefs_dialog, "frame22");
if (wid != NULL)
{
GtkNotebook *nb = GTK_NOTEBOOK(lookup_widget(ui_widgets.prefs_dialog, "notebook2"));
GtkNotebook *nb = GTK_NOTEBOOK(ui_lookup_widget(ui_widgets.prefs_dialog, "notebook2"));
if (nb != NULL)
gtk_notebook_set_current_page(nb, gtk_notebook_page_num(nb, wid));
@ -896,7 +896,7 @@ static gboolean check_vte(GdkModifierType state, guint keyval)
/* Temporarily disable the menus to prevent conflicting menu accelerators
* from overriding the VTE bash shortcuts.
* Note: maybe there's a better way of doing this ;-) */
widget = lookup_widget(main_widgets.window, "menubar1");
widget = ui_lookup_widget(main_widgets.window, "menubar1");
gtk_widget_set_sensitive(widget, FALSE);
{
/* make the menubar sensitive before it is redrawn */
@ -1115,14 +1115,14 @@ static void cb_func_menu_opencolorchooser(G_GNUC_UNUSED guint key_id)
static void cb_func_menu_fullscreen(G_GNUC_UNUSED guint key_id)
{
GtkCheckMenuItem *c = GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, "menu_fullscreen1"));
GtkCheckMenuItem *c = GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "menu_fullscreen1"));
gtk_check_menu_item_set_active(c, ! gtk_check_menu_item_get_active(c));
}
static void cb_func_menu_messagewindow(G_GNUC_UNUSED guint key_id)
{
GtkCheckMenuItem *c = GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, "menu_show_messages_window1"));
GtkCheckMenuItem *c = GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "menu_show_messages_window1"));
gtk_check_menu_item_set_active(c, ! gtk_check_menu_item_get_active(c));
}
@ -1556,7 +1556,7 @@ static void cb_func_editor_action(guint key_id)
break;
case GEANY_KEYS_EDITOR_CONTEXTACTION:
if (check_current_word())
on_context_action1_activate(GTK_MENU_ITEM(lookup_widget(main_widgets.editor_menu,
on_context_action1_activate(GTK_MENU_ITEM(ui_lookup_widget(main_widgets.editor_menu,
"context_action1")), NULL);
break;
case GEANY_KEYS_EDITOR_SUPPRESSSNIPPETCOMPLETION:
@ -1645,7 +1645,7 @@ static void cb_func_select_action(guint key_id)
/* special case for Select All in the scribble widget */
if (scribble_widget == NULL) /* lookup the scribble widget only once */
scribble_widget = lookup_widget(main_widgets.window, "textview_scribble");
scribble_widget = ui_lookup_widget(main_widgets.window, "textview_scribble");
if (key_id == GEANY_KEYS_SELECT_ALL && focusw == scribble_widget)
{
g_signal_emit_by_name(scribble_widget, "select-all", TRUE);
@ -1731,7 +1731,7 @@ static void cb_func_insert_action(guint key_id)
editor_insert_alternative_whitespace(doc->editor);
break;
case GEANY_KEYS_INSERT_DATE:
gtk_menu_item_activate(GTK_MENU_ITEM(lookup_widget(main_widgets.window, "insert_date_custom1")));
gtk_menu_item_activate(GTK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "insert_date_custom1")));
break;
}
}

View File

@ -445,7 +445,7 @@ static void save_ui_prefs(GKeyFile *config)
GtkTextBuffer *buffer;
GtkTextIter start, end;
buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(lookup_widget(main_widgets.window, "textview_scribble")));
buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(ui_lookup_widget(main_widgets.window, "textview_scribble")));
gtk_text_buffer_get_bounds(buffer, &start, &end);
scribble_text = gtk_text_buffer_get_text(buffer, &start, &end, FALSE);
g_key_file_set_string(config, PACKAGE, "scribble_text", scribble_text);
@ -455,9 +455,9 @@ static void save_ui_prefs(GKeyFile *config)
if (prefs.save_winpos)
{
g_key_file_set_integer(config, PACKAGE, "treeview_position",
gtk_paned_get_position(GTK_PANED(lookup_widget(main_widgets.window, "hpaned1"))));
gtk_paned_get_position(GTK_PANED(ui_lookup_widget(main_widgets.window, "hpaned1"))));
g_key_file_set_integer(config, PACKAGE, "msgwindow_position",
gtk_paned_get_position(GTK_PANED(lookup_widget(main_widgets.window, "vpaned1"))));
gtk_paned_get_position(GTK_PANED(ui_lookup_widget(main_widgets.window, "vpaned1"))));
}
if (prefs.save_winpos)
@ -1002,7 +1002,7 @@ void configuration_apply_settings(void)
if (scribble_text)
{ /* update the scribble widget, because now it's realized */
gtk_text_buffer_set_text(
gtk_text_view_get_buffer(GTK_TEXT_VIEW(lookup_widget(main_widgets.window, "textview_scribble"))),
gtk_text_view_get_buffer(GTK_TEXT_VIEW(ui_lookup_widget(main_widgets.window, "textview_scribble"))),
scribble_text, -1);
}
g_free(scribble_text);
@ -1010,15 +1010,15 @@ void configuration_apply_settings(void)
/* set the position of the hpaned and vpaned */
if (prefs.save_winpos)
{
gtk_paned_set_position(GTK_PANED(lookup_widget(main_widgets.window, "hpaned1")), hpan_position);
gtk_paned_set_position(GTK_PANED(lookup_widget(main_widgets.window, "vpaned1")), vpan_position);
gtk_paned_set_position(GTK_PANED(ui_lookup_widget(main_widgets.window, "hpaned1")), hpan_position);
gtk_paned_set_position(GTK_PANED(ui_lookup_widget(main_widgets.window, "vpaned1")), vpan_position);
}
/* set fullscreen after initial draw so that returning to normal view is the right size.
* fullscreen mode is disabled by default, so act only if it is true */
if (ui_prefs.fullscreen)
{
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, "menu_fullscreen1")), TRUE);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "menu_fullscreen1")), TRUE);
ui_prefs.fullscreen = TRUE;
ui_set_fullscreen();
}

View File

@ -160,21 +160,21 @@ static void apply_settings(void)
if (! toolbar_prefs.visible)
{
ignore_callback = TRUE;
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, "menu_show_toolbar1")), FALSE);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "menu_show_toolbar1")), FALSE);
gtk_widget_hide(main_widgets.toolbar);
ignore_callback = FALSE;
}
if (! ui_prefs.msgwindow_visible)
{
ignore_callback = TRUE;
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, "menu_show_messages_window1")), FALSE);
gtk_widget_hide(lookup_widget(main_widgets.window, "scrolledwindow1"));
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "menu_show_messages_window1")), FALSE);
gtk_widget_hide(ui_lookup_widget(main_widgets.window, "scrolledwindow1"));
ignore_callback = FALSE;
}
if (! ui_prefs.sidebar_visible)
{
ignore_callback = TRUE;
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, "menu_show_sidebar1")), FALSE);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "menu_show_sidebar1")), FALSE);
ignore_callback = FALSE;
}
ui_sidebar_show_hide();
@ -183,20 +183,20 @@ static void apply_settings(void)
{
case GTK_TOOLBAR_BOTH:
{
/*gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, "images_and_text1")), TRUE);*/
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(lookup_widget(ui_widgets.toolbar_menu, "images_and_text2")), TRUE);
/*gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "images_and_text1")), TRUE);*/
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(ui_widgets.toolbar_menu, "images_and_text2")), TRUE);
break;
}
case GTK_TOOLBAR_ICONS:
{
/*gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, "images_only1")), TRUE);*/
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(lookup_widget(ui_widgets.toolbar_menu, "images_only2")), TRUE);
/*gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "images_only1")), TRUE);*/
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(ui_widgets.toolbar_menu, "images_only2")), TRUE);
break;
}
case GTK_TOOLBAR_TEXT:
{
/*gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, "text_only1")), TRUE);*/
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(lookup_widget(ui_widgets.toolbar_menu, "text_only2")), TRUE);
/*gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "text_only1")), TRUE);*/
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(ui_widgets.toolbar_menu, "text_only2")), TRUE);
break;
}
}
@ -257,17 +257,17 @@ static void main_init(void)
main_status.opening_session_files = FALSE;
main_widgets.window = create_window1();
ui_widgets.recent_files_menuitem = lookup_widget(main_widgets.window, "recent_files1");
ui_widgets.recent_files_menuitem = ui_lookup_widget(main_widgets.window, "recent_files1");
ui_widgets.recent_files_menu_menubar = gtk_menu_new();
gtk_menu_item_set_submenu(GTK_MENU_ITEM(ui_widgets.recent_files_menuitem),
ui_widgets.recent_files_menu_menubar);
/* store important pointers for later reference */
main_widgets.toolbar = toolbar_init();
main_widgets.sidebar_notebook = lookup_widget(main_widgets.window, "notebook3");
main_widgets.notebook = lookup_widget(main_widgets.window, "notebook1");
main_widgets.sidebar_notebook = ui_lookup_widget(main_widgets.window, "notebook3");
main_widgets.notebook = ui_lookup_widget(main_widgets.window, "notebook1");
main_widgets.editor_menu = create_edit_menu1();
main_widgets.tools_menu = lookup_widget(main_widgets.window, "tools1_menu");
main_widgets.tools_menu = ui_lookup_widget(main_widgets.window, "tools1_menu");
ui_widgets.toolbar_menu = create_toolbar_popup_menu1();
ui_init();
@ -957,7 +957,7 @@ gint main(gint argc, gchar **argv)
g_signal_connect(main_widgets.window, "key-press-event", G_CALLBACK(keybindings_got_event), NULL);
g_signal_connect(main_widgets.toolbar, "button-press-event", G_CALLBACK(toolbar_popup_menu), NULL);
g_signal_connect(lookup_widget(main_widgets.window, "textview_scribble"),
g_signal_connect(ui_lookup_widget(main_widgets.window, "textview_scribble"),
"motion-notify-event", G_CALLBACK(on_motion_event), NULL);
entry = toolbar_get_widget_child_by_name("SearchEntry");
if (entry != NULL)

View File

@ -65,7 +65,7 @@ OBJS = about.o build.o callbacks.o dialogs.o document.o editor.o encodings.o fil
interface.o keybindings.o keyfile.o \
log.o main.o msgwindow.o navqueue.o notebook.o plugins.o prefs.o printing.o project.o \
sciwrappers.o search.o socket.o stash.o \
support.o symbols.o templates.o toolbar.o tools.o treeviews.o \
symbols.o templates.o toolbar.o tools.o treeviews.o \
ui_utils.o utils.o win32.o
.c.o:

View File

@ -75,10 +75,10 @@ static void on_scribble_populate(GtkTextView *textview, GtkMenu *arg1, gpointer
void msgwin_init()
{
msgwindow.notebook = lookup_widget(main_widgets.window, "notebook_info");
msgwindow.tree_status = lookup_widget(main_widgets.window, "treeview3");
msgwindow.tree_msg = lookup_widget(main_widgets.window, "treeview4");
msgwindow.tree_compiler = lookup_widget(main_widgets.window, "treeview5");
msgwindow.notebook = ui_lookup_widget(main_widgets.window, "notebook_info");
msgwindow.tree_status = ui_lookup_widget(main_widgets.window, "treeview3");
msgwindow.tree_msg = ui_lookup_widget(main_widgets.window, "treeview4");
msgwindow.tree_compiler = ui_lookup_widget(main_widgets.window, "treeview5");
msgwindow.find_in_files_dir = NULL;
prepare_status_tree_view();
@ -89,9 +89,9 @@ void msgwin_init()
msgwindow.popup_compiler_menu = create_message_popup_menu(MSG_COMPILER);
ui_widget_modify_font_from_string(
lookup_widget(main_widgets.window, "textview_scribble"), interface_prefs.msgwin_font);
ui_lookup_widget(main_widgets.window, "textview_scribble"), interface_prefs.msgwin_font);
g_signal_connect(lookup_widget(main_widgets.window, "textview_scribble"),
g_signal_connect(ui_lookup_widget(main_widgets.window, "textview_scribble"),
"populate-popup", G_CALLBACK(on_scribble_populate), NULL);
}
@ -256,10 +256,10 @@ void msgwin_show_hide(gboolean show)
ui_prefs.msgwindow_visible = show;
ignore_callback = TRUE;
gtk_check_menu_item_set_active(
GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, "menu_show_messages_window1")),
GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "menu_show_messages_window1")),
show);
ignore_callback = FALSE;
ui_widget_show_hide(lookup_widget(main_widgets.window, "scrolledwindow1"), show);
ui_widget_show_hide(ui_lookup_widget(main_widgets.window, "scrolledwindow1"), show);
}
@ -1006,7 +1006,7 @@ void msgwin_switch_tab(gint tabnum, gboolean show)
switch (tabnum)
{
case MSG_SCRATCH: widget = lookup_widget(main_widgets.window, "textview_scribble"); break;
case MSG_SCRATCH: widget = ui_lookup_widget(main_widgets.window, "textview_scribble"); break;
#ifdef HAVE_VTE
case MSG_VTE: widget = (vte_info.have_vte) ? vc->vte : NULL; break;
#endif

View File

@ -45,13 +45,13 @@
enum {
/** The Application Programming Interface (API) version, incremented
* whenever any plugin data types are modified or appended to. */
GEANY_API_VERSION = 119,
GEANY_API_VERSION = 120,
/** The Application Binary Interface (ABI) version, incremented whenever
* existing fields in the plugin data types have to be changed or reordered. */
/* This should usually stay the same if fields are only appended, assuming only pointers to
* structs and not structs themselves are declared by plugins. */
GEANY_ABI_VERSION = 52
GEANY_ABI_VERSION = 53
};
/** Check the plugin can be loaded by Geany.

View File

@ -230,7 +230,7 @@ static DialogFuncs dialog_funcs = {
};
/* Macro to prevent confusing macro being generated in geanyfunctions.h */
#define _lookup_widget_macro lookup_widget
#define _lookup_widget_macro ui_lookup_widget
/* deprecated */
static SupportFuncs support_funcs = {

File diff suppressed because it is too large Load Diff

View File

@ -1045,8 +1045,8 @@ void project_load_prefs(GKeyFile *config)
/* Initialize project-related preferences in the Preferences dialog. */
void project_setup_prefs()
{
GtkWidget *path_entry = lookup_widget(ui_widgets.prefs_dialog, "project_file_path_entry");
GtkWidget *path_btn = lookup_widget(ui_widgets.prefs_dialog, "project_file_path_button");
GtkWidget *path_entry = ui_lookup_widget(ui_widgets.prefs_dialog, "project_file_path_entry");
GtkWidget *path_btn = ui_lookup_widget(ui_widgets.prefs_dialog, "project_file_path_button");
g_return_if_fail(local_prefs.project_file_path != NULL);
gtk_entry_set_text(GTK_ENTRY(path_entry), local_prefs.project_file_path);
@ -1058,7 +1058,7 @@ void project_setup_prefs()
/* Update project-related preferences after using the Preferences dialog. */
void project_apply_prefs()
{
GtkWidget *path_entry = lookup_widget(ui_widgets.prefs_dialog, "project_file_path_entry");
GtkWidget *path_entry = ui_lookup_widget(ui_widgets.prefs_dialog, "project_file_path_entry");
const gchar *str;
str = gtk_entry_get_text(GTK_ENTRY(path_entry));

View File

@ -436,8 +436,8 @@ void search_show_find_dialog(void)
/* only set selection if the dialog is not already visible */
if (! GTK_WIDGET_VISIBLE(widgets.find_dialog) && sel)
gtk_entry_set_text(GTK_ENTRY(GTK_BIN(
lookup_widget(widgets.find_dialog, "entry"))->child), sel);
gtk_widget_grab_focus(GTK_WIDGET(GTK_BIN(lookup_widget(widgets.find_dialog, "entry"))->child));
ui_lookup_widget(widgets.find_dialog, "entry"))->child), sel);
gtk_widget_grab_focus(GTK_WIDGET(GTK_BIN(ui_lookup_widget(widgets.find_dialog, "entry"))->child));
gtk_widget_show(widgets.find_dialog);
/* bring the dialog back in the foreground in case it is already open but the focus is away */
gtk_window_present(GTK_WINDOW(widgets.find_dialog));
@ -581,8 +581,8 @@ void search_show_replace_dialog(void)
/* only set selection if the dialog is not already visible */
if (! GTK_WIDGET_VISIBLE(widgets.replace_dialog) && sel)
gtk_entry_set_text(GTK_ENTRY(GTK_BIN(
lookup_widget(widgets.replace_dialog, "entry_find"))->child), sel);
gtk_widget_grab_focus(GTK_WIDGET(GTK_BIN(lookup_widget(widgets.replace_dialog, "entry_find"))->child));
ui_lookup_widget(widgets.replace_dialog, "entry_find"))->child), sel);
gtk_widget_grab_focus(GTK_WIDGET(GTK_BIN(ui_lookup_widget(widgets.replace_dialog, "entry_find"))->child));
gtk_widget_show(widgets.replace_dialog);
/* bring the dialog back in the foreground in case it is already open but the focus is away */
gtk_window_present(GTK_WINDOW(widgets.replace_dialog));
@ -852,22 +852,22 @@ on_find_replace_checkbutton_toggled(GtkToggleButton *togglebutton, gpointer user
{
GtkWidget *dialog = GTK_WIDGET(user_data);
GtkToggleButton *chk_regexp = GTK_TOGGLE_BUTTON(
lookup_widget(dialog, "check_regexp"));
ui_lookup_widget(dialog, "check_regexp"));
if (togglebutton == chk_regexp)
{
gboolean regex_set = gtk_toggle_button_get_active(chk_regexp);
GtkWidget *check_word = lookup_widget(dialog, "check_word");
GtkWidget *check_wordstart = lookup_widget(dialog, "check_wordstart");
GtkWidget *check_word = ui_lookup_widget(dialog, "check_word");
GtkWidget *check_wordstart = ui_lookup_widget(dialog, "check_wordstart");
GtkToggleButton *check_case = GTK_TOGGLE_BUTTON(
lookup_widget(dialog, "check_case"));
ui_lookup_widget(dialog, "check_case"));
static gboolean case_state = FALSE; /* state before regex enabled */
/* hide options that don't apply to regex searches */
if (dialog == widgets.find_dialog)
gtk_widget_set_sensitive(lookup_widget(dialog, "btn_previous"), ! regex_set);
gtk_widget_set_sensitive(ui_lookup_widget(dialog, "btn_previous"), ! regex_set);
else
gtk_widget_set_sensitive(lookup_widget(dialog, "check_back"), ! regex_set);
gtk_widget_set_sensitive(ui_lookup_widget(dialog, "check_back"), ! regex_set);
gtk_widget_set_sensitive(check_word, ! regex_set);
gtk_widget_set_sensitive(check_wordstart, ! regex_set);
@ -922,7 +922,7 @@ static void
on_find_entry_activate(GtkEntry *entry, gpointer user_data)
{
on_find_dialog_response(NULL, GEANY_RESPONSE_FIND,
lookup_widget(GTK_WIDGET(entry), "entry"));
ui_lookup_widget(GTK_WIDGET(entry), "entry"));
}
@ -931,13 +931,13 @@ static gint get_search_flags(GtkWidget *dialog)
gboolean fl1, fl2, fl3, fl4;
fl1 = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
lookup_widget(dialog, "check_case")));
ui_lookup_widget(dialog, "check_case")));
fl2 = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
lookup_widget(dialog, "check_word")));
ui_lookup_widget(dialog, "check_word")));
fl3 = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
lookup_widget(dialog, "check_regexp")));
ui_lookup_widget(dialog, "check_regexp")));
fl4 = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
lookup_widget(dialog, "check_wordstart")));
ui_lookup_widget(dialog, "check_wordstart")));
return (fl1 ? SCFIND_MATCHCASE : 0) |
(fl2 ? SCFIND_WHOLEWORD : 0) |
@ -956,13 +956,13 @@ on_find_dialog_response(GtkDialog *dialog, gint response, gpointer user_data)
GeanyDocument *doc = document_get_current();
gboolean search_replace_escape;
gboolean check_close = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
lookup_widget(GTK_WIDGET(widgets.find_dialog), "check_close")));
ui_lookup_widget(GTK_WIDGET(widgets.find_dialog), "check_close")));
if (doc == NULL)
return;
search_replace_escape = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
lookup_widget(GTK_WIDGET(widgets.find_dialog), "check_escape")));
ui_lookup_widget(GTK_WIDGET(widgets.find_dialog), "check_escape")));
search_data.backwards = FALSE;
search_data.search_bar = FALSE;
@ -972,7 +972,7 @@ on_find_dialog_response(GtkDialog *dialog, gint response, gpointer user_data)
(search_replace_escape && ! utils_str_replace_escape(search_data.text)))
{
utils_beep();
gtk_widget_grab_focus(GTK_WIDGET(GTK_BIN(lookup_widget(widgets.find_dialog, "entry"))->child));
gtk_widget_grab_focus(GTK_WIDGET(GTK_BIN(ui_lookup_widget(widgets.find_dialog, "entry"))->child));
return;
}
@ -1030,8 +1030,8 @@ static void
on_replace_dialog_response(GtkDialog *dialog, gint response, gpointer user_data)
{
GeanyDocument *doc = document_get_current();
GtkWidget *entry_find = lookup_widget(GTK_WIDGET(widgets.replace_dialog), "entry_find");
GtkWidget *entry_replace = lookup_widget(GTK_WIDGET(widgets.replace_dialog), "entry_replace");
GtkWidget *entry_find = ui_lookup_widget(GTK_WIDGET(widgets.replace_dialog), "entry_find");
GtkWidget *entry_replace = ui_lookup_widget(GTK_WIDGET(widgets.replace_dialog), "entry_replace");
gint search_flags_re;
gboolean search_backwards_re, search_replace_escape_re;
gboolean close_window;
@ -1044,11 +1044,11 @@ on_replace_dialog_response(GtkDialog *dialog, gint response, gpointer user_data)
}
close_window = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
lookup_widget(GTK_WIDGET(widgets.replace_dialog), "check_close")));
ui_lookup_widget(GTK_WIDGET(widgets.replace_dialog), "check_close")));
search_backwards_re = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
lookup_widget(GTK_WIDGET(widgets.replace_dialog), "check_back")));
ui_lookup_widget(GTK_WIDGET(widgets.replace_dialog), "check_back")));
search_replace_escape_re = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
lookup_widget(GTK_WIDGET(widgets.replace_dialog), "check_escape")));
ui_lookup_widget(GTK_WIDGET(widgets.replace_dialog), "check_escape")));
find = g_strdup(gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(entry_find)))));
replace = g_strdup(gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(entry_replace)))));
@ -1058,7 +1058,7 @@ on_replace_dialog_response(GtkDialog *dialog, gint response, gpointer user_data)
&& (strcmp(find, replace) == 0))
{
utils_beep();
gtk_widget_grab_focus(GTK_WIDGET(GTK_BIN(lookup_widget(widgets.replace_dialog, "entry_find"))->child));
gtk_widget_grab_focus(GTK_WIDGET(GTK_BIN(ui_lookup_widget(widgets.replace_dialog, "entry_find"))->child));
return;
}
@ -1069,7 +1069,7 @@ on_replace_dialog_response(GtkDialog *dialog, gint response, gpointer user_data)
(! utils_str_replace_escape(find) || ! utils_str_replace_escape(replace)))
{
utils_beep();
gtk_widget_grab_focus(GTK_WIDGET(GTK_BIN(lookup_widget(widgets.replace_dialog, "entry_find"))->child));
gtk_widget_grab_focus(GTK_WIDGET(GTK_BIN(ui_lookup_widget(widgets.replace_dialog, "entry_find"))->child));
return;
}
@ -1165,15 +1165,15 @@ on_widget_key_pressed_set_focus(GtkWidget *widget, GdkEventKey *event, gpointer
static GString *get_grep_options(void)
{
gboolean invert = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
lookup_widget(widgets.find_in_files_dialog, "check_invert")));
ui_lookup_widget(widgets.find_in_files_dialog, "check_invert")));
gboolean case_sens = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
lookup_widget(widgets.find_in_files_dialog, "check_case")));
ui_lookup_widget(widgets.find_in_files_dialog, "check_case")));
gboolean whole_word = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
lookup_widget(widgets.find_in_files_dialog, "check_wholeword")));
ui_lookup_widget(widgets.find_in_files_dialog, "check_wholeword")));
gboolean recursive = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
lookup_widget(widgets.find_in_files_dialog, "check_recursive")));
ui_lookup_widget(widgets.find_in_files_dialog, "check_recursive")));
gboolean extra = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
lookup_widget(widgets.find_in_files_dialog, "check_extra")));
ui_lookup_widget(widgets.find_in_files_dialog, "check_extra")));
GString *gstr = g_string_new("-nHI"); /* line numbers, filenames, ignore binaries */
if (invert)

View File

@ -1,43 +0,0 @@
/*
* DO NOT EDIT THIS FILE - it is generated by Glade.
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
#include <gtk/gtk.h>
#include "support.h"
GtkWidget*
lookup_widget (GtkWidget *widget,
const gchar *widget_name)
{
GtkWidget *parent, *found_widget;
for (;;)
{
if (GTK_IS_MENU (widget))
parent = gtk_menu_get_attach_widget (GTK_MENU (widget));
else
parent = widget->parent;
if (!parent)
parent = (GtkWidget*) g_object_get_data (G_OBJECT (widget), "GladeParentKey");
if (parent == NULL)
break;
widget = parent;
}
found_widget = (GtkWidget*) g_object_get_data (G_OBJECT (widget),
widget_name);
if (!found_widget)
g_warning ("Widget not found: %s", widget_name);
return found_widget;
}

View File

@ -1,47 +1,26 @@
/*
* DO NOT EDIT THIS FILE - it is generated by Glade.
* support.h - this file is part of Geany, a fast and lightweight IDE
*
* Copyright 2006-2008 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* Copyright 2006-2008 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* $Id$
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include "geany.h"
#include <gtk/gtk.h>
/*
* Standard gettext macros.
*/
#ifdef ENABLE_NLS
# include <libintl.h>
# undef _
# define _(String) dgettext (PACKAGE, String)
# define Q_(String) g_strip_context ((String), gettext (String))
# ifdef gettext_noop
# define N_(String) gettext_noop (String)
# else
# define N_(String) (String)
# endif
#else
# define textdomain(String) (String)
# define gettext(String) (String)
# define dgettext(Domain,Message) (Message)
# define dcgettext(Domain,Message,Type) (Message)
# define bindtextdomain(Domain,Directory) (Domain)
# define _(String) (String)
# define Q_(String) g_strip_context ((String), (String))
# define N_(String) (String)
#endif
/*
* Public Functions.
*/
/*
* This function returns a widget in a component created by Glade.
* Call it with the toplevel widget in the component (i.e. a window/dialog),
* or alternatively any widget in the component, and the name of the widget
* you want returned.
*/
GtkWidget* lookup_widget (GtkWidget *widget,
const gchar *widget_name);
#include <glib/gi18n-lib.h>

View File

@ -511,7 +511,7 @@ static void create_file_template_menus(void)
{
GtkWidget *sep1, *sep2 = NULL;
new_with_template_menu = lookup_widget(main_widgets.window, "menu_new_with_template1_menu");
new_with_template_menu = ui_lookup_widget(main_widgets.window, "menu_new_with_template1_menu");
create_new_menu_items();
sep1 = gtk_separator_menu_item_new();

View File

@ -228,7 +228,7 @@ GtkWidget *toolbar_init(void)
/* Add the toolbar widget to the main UI */
toolbar = gtk_ui_manager_get_widget(uim, "/ui/GeanyToolbar");
box = GTK_BOX(lookup_widget(main_widgets.window, "vbox1"));
box = GTK_BOX(ui_lookup_widget(main_widgets.window, "vbox1"));
gtk_box_pack_start(box, toolbar, FALSE, FALSE, 0);
gtk_box_reorder_child(box, toolbar, 1);

View File

@ -481,8 +481,8 @@ static void cc_insert_custom_command_items(GtkMenu *me, GtkMenu *mp, gchar *labe
void tools_create_insert_custom_command_menu_items(void)
{
GtkMenu *menu_edit = GTK_MENU(lookup_widget(main_widgets.window, "send_selection_to2_menu"));
GtkMenu *menu_popup = GTK_MENU(lookup_widget(main_widgets.editor_menu, "send_selection_to1_menu"));
GtkMenu *menu_edit = GTK_MENU(ui_lookup_widget(main_widgets.window, "send_selection_to2_menu"));
GtkMenu *menu_popup = GTK_MENU(ui_lookup_widget(main_widgets.editor_menu, "send_selection_to1_menu"));
GtkWidget *item;
GList *me_children;
GList *mp_children;
@ -538,9 +538,9 @@ void tools_create_insert_custom_command_menu_items(void)
if (! signal_set)
{
g_signal_connect(lookup_widget(main_widgets.editor_menu, "send_selection_to1"),
g_signal_connect(ui_lookup_widget(main_widgets.editor_menu, "send_selection_to1"),
"activate", G_CALLBACK(cc_on_custom_command_menu_activate), menu_popup);
g_signal_connect(lookup_widget(main_widgets.window, "send_selection_to2"),
g_signal_connect(ui_lookup_widget(main_widgets.window, "send_selection_to2"),
"activate", G_CALLBACK(cc_on_custom_command_menu_activate), menu_edit);
signal_set = TRUE;
}

View File

@ -210,7 +210,7 @@ static void prepare_openfiles(void)
GtkTreeSelection *select;
GtkTreeSortable *sortable;
tv.tree_openfiles = lookup_widget(main_widgets.window, "treeview6");
tv.tree_openfiles = ui_lookup_widget(main_widgets.window, "treeview6");
/* store the short filename to show, and the index as reference,
* the colour (black/red/green) and the full name for the tooltip */
@ -221,7 +221,7 @@ static void prepare_openfiles(void)
/* set policy settings for the scolledwindow around the treeview again, because glade
* doesn't keep the settings */
gtk_scrolled_window_set_policy(
GTK_SCROLLED_WINDOW(lookup_widget(main_widgets.window, "scrolledwindow7")),
GTK_SCROLLED_WINDOW(ui_lookup_widget(main_widgets.window, "scrolledwindow7")),
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
renderer = gtk_cell_renderer_text_new();
@ -632,7 +632,7 @@ static gboolean on_treeviews_button_press_event(GtkWidget *widget, GdkEventButto
void treeviews_init()
{
tv.default_tag_tree = NULL;
tag_window = lookup_widget(main_widgets.window, "scrolledwindow2");
tag_window = ui_lookup_widget(main_widgets.window, "scrolledwindow2");
prepare_openfiles();
create_openfiles_popup_menu();

View File

@ -412,9 +412,9 @@ void ui_update_insert_include_item(GeanyDocument *doc, gint item)
void ui_update_fold_items(void)
{
ui_widget_show_hide(lookup_widget(main_widgets.window, "menu_fold_all1"), editor_prefs.folding);
ui_widget_show_hide(lookup_widget(main_widgets.window, "menu_unfold_all1"), editor_prefs.folding);
ui_widget_show_hide(lookup_widget(main_widgets.window, "separator22"), editor_prefs.folding);
ui_widget_show_hide(ui_lookup_widget(main_widgets.window, "menu_fold_all1"), editor_prefs.folding);
ui_widget_show_hide(ui_lookup_widget(main_widgets.window, "menu_unfold_all1"), editor_prefs.folding);
ui_widget_show_hide(ui_lookup_widget(main_widgets.window, "separator22"), editor_prefs.folding);
}
@ -454,8 +454,8 @@ static void insert_include_items(GtkMenu *me, GtkMenu *mp, gchar **includes, gch
void ui_create_insert_menu_items(void)
{
GtkMenu *menu_edit = GTK_MENU(lookup_widget(main_widgets.window, "insert_include2_menu"));
GtkMenu *menu_popup = GTK_MENU(lookup_widget(main_widgets.editor_menu, "insert_include1_menu"));
GtkMenu *menu_edit = GTK_MENU(ui_lookup_widget(main_widgets.window, "insert_include2_menu"));
GtkMenu *menu_popup = GTK_MENU(ui_lookup_widget(main_widgets.editor_menu, "insert_include1_menu"));
GtkWidget *blank;
const gchar *c_includes_stdlib[] = {
"assert.h", "ctype.h", "errno.h", "float.h", "limits.h", "locale.h", "math.h", "setjmp.h",
@ -521,8 +521,8 @@ static void insert_date_items(GtkMenu *me, GtkMenu *mp, gchar *label)
void ui_create_insert_date_menu_items(void)
{
GtkMenu *menu_edit = GTK_MENU(lookup_widget(main_widgets.window, "insert_date1_menu"));
GtkMenu *menu_popup = GTK_MENU(lookup_widget(main_widgets.editor_menu, "insert_date2_menu"));
GtkMenu *menu_edit = GTK_MENU(ui_lookup_widget(main_widgets.window, "insert_date1_menu"));
GtkMenu *menu_popup = GTK_MENU(ui_lookup_widget(main_widgets.editor_menu, "insert_date2_menu"));
GtkWidget *item;
gchar *str;
@ -593,7 +593,7 @@ void ui_save_buttons_toggle(gboolean enable)
#define add_doc_widget(widget_name) \
g_ptr_array_add(widgets.document_buttons, lookup_widget(main_widgets.window, widget_name))
g_ptr_array_add(widgets.document_buttons, ui_lookup_widget(main_widgets.window, widget_name))
#define add_doc_toolitem(widget_name) \
g_ptr_array_add(widgets.document_buttons, toolbar_get_widget_by_name(widget_name))
@ -722,7 +722,7 @@ void ui_sidebar_show_hide(void)
ui_prefs.sidebar_visible = FALSE;
}
widget = lookup_widget(main_widgets.window, "menu_show_sidebar1");
widget = ui_lookup_widget(main_widgets.window, "menu_show_sidebar1");
if (ui_prefs.sidebar_visible != gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget)))
{
ignore_callback = TRUE;
@ -754,16 +754,16 @@ void ui_document_show_hide(GeanyDocument *doc)
ignore_callback = TRUE;
gtk_check_menu_item_set_active(
GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, "menu_line_wrapping1")),
GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "menu_line_wrapping1")),
doc->editor->line_wrapping);
gtk_check_menu_item_set_active(
GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, "line_breaking1")),
GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "line_breaking1")),
doc->editor->line_breaking);
iprefs = editor_get_indent_prefs(doc->editor);
item = lookup_widget(main_widgets.window, "menu_use_auto_indentation1");
item = ui_lookup_widget(main_widgets.window, "menu_use_auto_indentation1");
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), doc->editor->auto_indent);
switch (iprefs->type)
@ -776,14 +776,14 @@ void ui_document_show_hide(GeanyDocument *doc)
default:
widget_name = "tabs_and_spaces1"; break;
}
item = lookup_widget(main_widgets.window, widget_name);
item = ui_lookup_widget(main_widgets.window, widget_name);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), TRUE);
gtk_check_menu_item_set_active(
GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, "set_file_readonly1")),
GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "set_file_readonly1")),
doc->readonly);
item = lookup_widget(main_widgets.window, "menu_write_unicode_bom1");
item = ui_lookup_widget(main_widgets.window, "menu_write_unicode_bom1");
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), doc->has_bom);
ui_widget_set_sensitive(item, encodings_is_unicode_charset(doc->encoding));
@ -794,7 +794,7 @@ void ui_document_show_hide(GeanyDocument *doc)
default: widget_name = "crlf"; break;
}
gtk_check_menu_item_set_active(
GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, widget_name)), TRUE);
GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, widget_name)), TRUE);
encodings_select_radio_item(doc->encoding);
filetypes_select_radio_item(doc->file_type);
@ -1078,11 +1078,11 @@ void ui_toggle_editor_features(GeanyUIEditorFeatures feature)
void ui_update_view_editor_menu_items(void)
{
ignore_callback = TRUE;
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, "menu_markers_margin1")), editor_prefs.show_markers_margin);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, "menu_linenumber_margin1")), editor_prefs.show_linenumber_margin);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, "menu_show_white_space1")), editor_prefs.show_white_space);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, "menu_show_line_endings1")), editor_prefs.show_line_endings);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(lookup_widget(main_widgets.window, "menu_show_indentation_guides1")), editor_prefs.show_indent_guide);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "menu_markers_margin1")), editor_prefs.show_markers_margin);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "menu_linenumber_margin1")), editor_prefs.show_linenumber_margin);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "menu_show_white_space1")), editor_prefs.show_white_space);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "menu_show_line_endings1")), editor_prefs.show_line_endings);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "menu_show_indentation_guides1")), editor_prefs.show_indent_guide);
ignore_callback = FALSE;
}
@ -1617,30 +1617,30 @@ void ui_init(void)
{
add_stock_items();
ui_widgets.statusbar = lookup_widget(main_widgets.window, "statusbar");
ui_widgets.print_page_setup = lookup_widget(main_widgets.window, "page_setup1");
ui_widgets.statusbar = ui_lookup_widget(main_widgets.window, "statusbar");
ui_widgets.print_page_setup = ui_lookup_widget(main_widgets.window, "page_setup1");
widgets.popup_goto_items[0] = lookup_widget(main_widgets.editor_menu, "goto_tag_definition1");
widgets.popup_goto_items[1] = lookup_widget(main_widgets.editor_menu, "goto_tag_declaration1");
widgets.popup_goto_items[2] = lookup_widget(main_widgets.editor_menu, "find_usage1");
widgets.popup_goto_items[3] = lookup_widget(main_widgets.editor_menu, "find_document_usage1");
widgets.popup_copy_items[0] = lookup_widget(main_widgets.editor_menu, "cut1");
widgets.popup_copy_items[1] = lookup_widget(main_widgets.editor_menu, "copy1");
widgets.popup_copy_items[2] = lookup_widget(main_widgets.editor_menu, "delete1");
widgets.menu_copy_items[0] = lookup_widget(main_widgets.window, "menu_cut1");
widgets.menu_copy_items[1] = lookup_widget(main_widgets.window, "menu_copy1");
widgets.menu_copy_items[2] = lookup_widget(main_widgets.window, "menu_delete1");
widgets.menu_insert_include_items[0] = lookup_widget(main_widgets.editor_menu, "insert_include1");
widgets.menu_insert_include_items[1] = lookup_widget(main_widgets.window, "insert_include2");
widgets.save_buttons[0] = lookup_widget(main_widgets.window, "menu_save1");
widgets.popup_goto_items[0] = ui_lookup_widget(main_widgets.editor_menu, "goto_tag_definition1");
widgets.popup_goto_items[1] = ui_lookup_widget(main_widgets.editor_menu, "goto_tag_declaration1");
widgets.popup_goto_items[2] = ui_lookup_widget(main_widgets.editor_menu, "find_usage1");
widgets.popup_goto_items[3] = ui_lookup_widget(main_widgets.editor_menu, "find_document_usage1");
widgets.popup_copy_items[0] = ui_lookup_widget(main_widgets.editor_menu, "cut1");
widgets.popup_copy_items[1] = ui_lookup_widget(main_widgets.editor_menu, "copy1");
widgets.popup_copy_items[2] = ui_lookup_widget(main_widgets.editor_menu, "delete1");
widgets.menu_copy_items[0] = ui_lookup_widget(main_widgets.window, "menu_cut1");
widgets.menu_copy_items[1] = ui_lookup_widget(main_widgets.window, "menu_copy1");
widgets.menu_copy_items[2] = ui_lookup_widget(main_widgets.window, "menu_delete1");
widgets.menu_insert_include_items[0] = ui_lookup_widget(main_widgets.editor_menu, "insert_include1");
widgets.menu_insert_include_items[1] = ui_lookup_widget(main_widgets.window, "insert_include2");
widgets.save_buttons[0] = ui_lookup_widget(main_widgets.window, "menu_save1");
widgets.save_buttons[1] = toolbar_get_widget_by_name("Save");
widgets.save_buttons[2] = lookup_widget(main_widgets.window, "menu_save_all1");
widgets.save_buttons[2] = ui_lookup_widget(main_widgets.window, "menu_save_all1");
widgets.save_buttons[3] = toolbar_get_widget_by_name("SaveAll");
widgets.redo_items[0] = lookup_widget(main_widgets.editor_menu, "redo1");
widgets.redo_items[1] = lookup_widget(main_widgets.window, "menu_redo2");
widgets.redo_items[0] = ui_lookup_widget(main_widgets.editor_menu, "redo1");
widgets.redo_items[1] = ui_lookup_widget(main_widgets.window, "menu_redo2");
widgets.redo_items[2] = toolbar_get_widget_by_name("Redo");
widgets.undo_items[0] = lookup_widget(main_widgets.editor_menu, "undo1");
widgets.undo_items[1] = lookup_widget(main_widgets.window, "menu_undo2");
widgets.undo_items[0] = ui_lookup_widget(main_widgets.editor_menu, "undo1");
widgets.undo_items[1] = ui_lookup_widget(main_widgets.window, "menu_undo2");
widgets.undo_items[2] = toolbar_get_widget_by_name("Undo");
init_document_widgets();
@ -1719,14 +1719,13 @@ void ui_widget_set_tooltip_text(GtkWidget *widget, const gchar *text)
static GtkTooltips *tooltips = NULL;
if (tooltips == NULL)
tooltips = GTK_TOOLTIPS(lookup_widget(main_widgets.window, "tooltips"));
tooltips = GTK_TOOLTIPS(ui_lookup_widget(main_widgets.window, "tooltips"));
gtk_tooltips_set_tip(tooltips, widget, text, NULL);
#endif
}
/* needed because lookup_widget doesn't have a suitable API prefix */
/** This function returns a widget in a component created by Glade.
* Call it with the toplevel widget in the component (i.e. a window/dialog),
* or alternatively any widget in the component, and the name of the widget
@ -1736,5 +1735,23 @@ void ui_widget_set_tooltip_text(GtkWidget *widget, const gchar *text)
* @return The widget found. */
GtkWidget *ui_lookup_widget(GtkWidget *widget, const gchar *widget_name)
{
return lookup_widget(widget, widget_name);
GtkWidget *parent, *found_widget;
for (;;)
{
if (GTK_IS_MENU(widget))
parent = gtk_menu_get_attach_widget(GTK_MENU(widget));
else
parent = widget->parent;
if (parent == NULL)
parent = (GtkWidget*) g_object_get_data(G_OBJECT(widget), "GladeParentKey");
if (parent == NULL)
break;
widget = parent;
}
found_widget = (GtkWidget*) g_object_get_data(G_OBJECT(widget), widget_name);
if (found_widget == NULL)
g_warning("Widget not found: %s", widget_name);
return found_widget;
}

View File

@ -507,7 +507,7 @@ static void vte_popup_menu_clicked(GtkMenuItem *menuitem, gpointer user_data)
prefs_show_dialog();
notebook = lookup_widget(ui_widgets.prefs_dialog, "notebook2");
notebook = ui_lookup_widget(ui_widgets.prefs_dialog, "notebook2");
gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), vte_prefs_tab_num);
break;
@ -700,7 +700,7 @@ void vte_append_preferences_tab(void)
GtkWidget *check_run_in_vte, *check_skip_script, *entry_shell, *button_shell, *image_shell;
GtkObject *spin_scrollback_adj;
notebook = lookup_widget(ui_widgets.prefs_dialog, "notebook2");
notebook = ui_lookup_widget(ui_widgets.prefs_dialog, "notebook2");
frame = ui_frame_new_with_alignment(_("Terminal plugin"), &alignment);
gtk_container_set_border_width(GTK_CONTAINER(frame), 5);

View File

@ -94,7 +94,7 @@ geany_sources = [
'src/keyfile.c', 'src/log.c', 'src/main.c', 'src/msgwindow.c', 'src/navqueue.c', 'src/notebook.c',
'src/plugins.c', 'src/prefix.c', 'src/prefs.c', 'src/printing.c', 'src/project.c',
'src/sciwrappers.c', 'src/search.c', 'src/socket.c', 'src/stash.c',
'src/support.c', 'src/symbols.c',
'src/symbols.c',
'src/templates.c', 'src/toolbar.c', 'src/tools.c', 'src/treeviews.c',
'src/ui_utils.c', 'src/utils.c' ]