Rename ui_close_buttons_toggle() ui_document_buttons_update().

Move app->sensitive_buttons to ui_utils.c for easier maintenance,
rename to document_buttons.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1727 ea778897-0a13-0410-b9d1-a72fbfd435f5
This commit is contained in:
Nick Treleaven 2007-07-20 12:06:51 +00:00
parent a27b84475c
commit 2178c7c887
7 changed files with 87 additions and 54 deletions

View File

@ -1,3 +1,12 @@
2007-07-20 Nick Treleaven <nick.treleaven@btinternet.com>
* src/ui_utils.h, src/geany.h, src/callbacks.c, src/document.c,
src/main.c, src/ui_utils.c:
Rename ui_close_buttons_toggle() ui_document_buttons_update().
Move app->sensitive_buttons to ui_utils.c for easier maintenance,
rename to document_buttons.
2007-07-19 Nick Treleaven <nick.treleaven@btinternet.com>
* src/treeviews.c:

View File

@ -566,11 +566,12 @@ on_toolbutton10_clicked (GtkToolButton *toolbutton,
}
static void set_search_bar_background(GtkWidget *widget, gboolean success)
static void set_search_bar_background(gboolean success)
{
const GdkColor red = {0, 0xffff, 0x6666, 0x6666};
const GdkColor white = {0, 0xffff, 0xffff, 0xffff};
static gboolean old_value = TRUE;
GtkWidget *widget = lookup_widget(app->window, "entry1");
// only update if really needed
if (search_data.search_bar && old_value != success)
@ -604,7 +605,7 @@ on_entry1_activate (GtkEntry *entry,
setup_find_next(GTK_EDITABLE(entry));
result = document_search_bar_find(idx, search_data.text, 0, FALSE);
set_search_bar_background(GTK_WIDGET(entry), result);
set_search_bar_background(result);
}
@ -618,7 +619,7 @@ on_entry1_changed (GtkEditable *editable,
setup_find_next(editable);
result = document_search_bar_find(idx, search_data.text, 0, TRUE);
set_search_bar_background(GTK_WIDGET(editable), result);
set_search_bar_background(result);
}
@ -648,7 +649,7 @@ on_toolbutton18_clicked (GtkToolButton *toolbutton,
setup_find_next(GTK_EDITABLE(entry));
result = document_search_bar_find(idx, search_data.text, 0, FALSE);
set_search_bar_background(entry, result);
set_search_bar_background(result);
}
@ -1149,8 +1150,8 @@ on_find_next1_activate (GtkMenuItem *menuitem,
{
gint result = document_find_text(idx, search_data.text, search_data.flags,
search_data.backwards, TRUE, NULL);
// app->sensitive_buttons[3] points to the entry widget within the toolbar
set_search_bar_background(app->sensitive_buttons[3], (result > -1) ? TRUE : FALSE);
set_search_bar_background((result > -1) ? TRUE : FALSE);
}
}
@ -1169,7 +1170,8 @@ on_find_previous1_activate (GtkMenuItem *menuitem,
{
gint result = document_find_text(idx, search_data.text, search_data.flags,
!search_data.backwards, TRUE, NULL);
set_search_bar_background(app->sensitive_buttons[3], (result > -1) ? TRUE : FALSE);
set_search_bar_background((result > -1) ? TRUE : FALSE);
}
}

View File

@ -365,7 +365,7 @@ static gint document_create_new_sci(const gchar *filename)
gtk_tree_selection_select_iter(sel, &this->iter);
}
ui_close_buttons_toggle();
ui_document_buttons_update();
this->is_valid = TRUE; // do this last to prevent UI updating with NULL items.
g_assert(doc_list[new_idx].sci == sci);
@ -407,7 +407,7 @@ gboolean document_remove(guint page_num)
//on_notebook1_switch_page(GTK_NOTEBOOK(app->notebook), NULL, 0, NULL);
ui_set_window_title(-1);
ui_save_buttons_toggle(FALSE);
ui_close_buttons_toggle();
ui_document_buttons_update();
build_menu_update(-1);
}
}

View File

@ -169,7 +169,6 @@ typedef struct MyApp
GtkWidget *redo_items[3];
GtkWidget *undo_items[3];
GtkWidget *save_buttons[4];
GtkWidget *sensitive_buttons[39];
GtkWidget *navigation_buttons[2];
GtkWidget *open_colorsel;
GtkWidget *open_fontsel;

View File

@ -310,45 +310,6 @@ static void main_init(void)
app->save_buttons[1] = lookup_widget(app->window, "toolbutton10");
app->save_buttons[2] = lookup_widget(app->window, "menu_save_all1");
app->save_buttons[3] = lookup_widget(app->window, "toolbutton22");
app->sensitive_buttons[0] = lookup_widget(app->window, "menu_close1");
app->sensitive_buttons[1] = lookup_widget(app->window, "toolbutton15");
app->sensitive_buttons[2] = lookup_widget(app->window, "menu_change_font1");
app->sensitive_buttons[3] = lookup_widget(app->window, "entry1");
app->sensitive_buttons[4] = lookup_widget(app->window, "toolbutton18");
app->sensitive_buttons[5] = lookup_widget(app->window, "toolbutton20");
app->sensitive_buttons[6] = lookup_widget(app->window, "toolbutton21");
app->sensitive_buttons[7] = lookup_widget(app->window, "menu_close_all1");
app->sensitive_buttons[8] = lookup_widget(app->window, "menu_save_all1");
app->sensitive_buttons[9] = lookup_widget(app->window, "toolbutton22");
app->sensitive_buttons[10] = app->compile_button;
app->sensitive_buttons[11] = lookup_widget(app->window, "menu_save_as1");
app->sensitive_buttons[12] = lookup_widget(app->window, "toolbutton23");
app->sensitive_buttons[13] = lookup_widget(app->window, "menu_count_words1");
app->sensitive_buttons[14] = lookup_widget(app->window, "menu_build1");
app->sensitive_buttons[15] = lookup_widget(app->window, "add_comments1");
app->sensitive_buttons[16] = lookup_widget(app->window, "search1");
app->sensitive_buttons[17] = lookup_widget(app->window, "menu_paste1");
app->sensitive_buttons[18] = lookup_widget(app->window, "menu_undo2");
app->sensitive_buttons[19] = lookup_widget(app->window, "preferences2");
app->sensitive_buttons[20] = lookup_widget(app->window, "menu_reload1");
app->sensitive_buttons[21] = lookup_widget(app->window, "menu_document1");
app->sensitive_buttons[22] = lookup_widget(app->window, "menu_markers_margin1");
app->sensitive_buttons[23] = lookup_widget(app->window, "menu_linenumber_margin1");
app->sensitive_buttons[24] = lookup_widget(app->window, "menu_choose_color1");
app->sensitive_buttons[25] = lookup_widget(app->window, "menu_zoom_in1");
app->sensitive_buttons[26] = lookup_widget(app->window, "menu_zoom_out1");
app->sensitive_buttons[27] = lookup_widget(app->window, "normal_size1");
app->sensitive_buttons[28] = lookup_widget(app->window, "toolbutton24");
app->sensitive_buttons[29] = lookup_widget(app->window, "toolbutton25");
app->sensitive_buttons[30] = lookup_widget(app->window, "entry_goto_line");
app->sensitive_buttons[31] = lookup_widget(app->window, "treeview6");
app->sensitive_buttons[32] = lookup_widget(app->window, "print1");
app->sensitive_buttons[33] = lookup_widget(app->window, "menu_reload_as1");
app->sensitive_buttons[34] = lookup_widget(app->window, "menu_select_all1");
app->sensitive_buttons[35] = lookup_widget(app->window, "insert_date1");
app->sensitive_buttons[36] = lookup_widget(app->window, "menu_format1");
app->sensitive_buttons[37] = lookup_widget(app->window, "menu_open_selected_file1");
app->sensitive_buttons[38] = lookup_widget(app->window, "menu_insert_special_chars1");
app->navigation_buttons[0] = lookup_widget(app->window, "toolbutton_back");
app->navigation_buttons[1] = lookup_widget(app->window, "toolbutton_forward");
app->redo_items[0] = lookup_widget(app->popup_menu, "redo1");
@ -358,6 +319,8 @@ static void main_init(void)
app->undo_items[1] = lookup_widget(app->window, "menu_undo2");
app->undo_items[2] = lookup_widget(app->window, "toolbutton_undo");
ui_init();
// set widget names for matching with .gtkrc-2.0
gtk_widget_set_name(app->window, "GeanyMainWindow");
gtk_widget_set_name(app->toolbar_menu, "GeanyToolbarMenu");
@ -757,7 +720,7 @@ gint main(gint argc, gchar **argv)
// open a new file if no other file was opened
if (gtk_notebook_get_n_pages(GTK_NOTEBOOK(app->notebook)) == 0) document_new_file(NULL, NULL);
ui_close_buttons_toggle();
ui_document_buttons_update();
ui_save_buttons_toggle(FALSE);
idx = document_get_cur_idx();

View File

@ -44,6 +44,13 @@
#include "editor.h"
static struct
{
GtkWidget *document_buttons[39]; // widgets only sensitive when there is at least one document
}
widgets;
static gchar *menu_item_get_text(GtkMenuItem *menu_item);
static void update_recent_menu();
@ -504,13 +511,59 @@ void ui_save_buttons_toggle(gboolean enable)
}
void ui_close_buttons_toggle()
static void init_document_widgets()
{
/* Cache the document-sensitive widgets so we don't have to keep looking them up
* when using ui_document_buttons_update(). */
widgets.document_buttons[0] = lookup_widget(app->window, "menu_close1");
widgets.document_buttons[1] = lookup_widget(app->window, "toolbutton15");
widgets.document_buttons[2] = lookup_widget(app->window, "menu_change_font1");
widgets.document_buttons[3] = lookup_widget(app->window, "entry1");
widgets.document_buttons[4] = lookup_widget(app->window, "toolbutton18");
widgets.document_buttons[5] = lookup_widget(app->window, "toolbutton20");
widgets.document_buttons[6] = lookup_widget(app->window, "toolbutton21");
widgets.document_buttons[7] = lookup_widget(app->window, "menu_close_all1");
widgets.document_buttons[8] = lookup_widget(app->window, "menu_save_all1");
widgets.document_buttons[9] = lookup_widget(app->window, "toolbutton22");
widgets.document_buttons[10] = app->compile_button;
widgets.document_buttons[11] = lookup_widget(app->window, "menu_save_as1");
widgets.document_buttons[12] = lookup_widget(app->window, "toolbutton23");
widgets.document_buttons[13] = lookup_widget(app->window, "menu_count_words1");
widgets.document_buttons[14] = lookup_widget(app->window, "menu_build1");
widgets.document_buttons[15] = lookup_widget(app->window, "add_comments1");
widgets.document_buttons[16] = lookup_widget(app->window, "search1");
widgets.document_buttons[17] = lookup_widget(app->window, "menu_paste1");
widgets.document_buttons[18] = lookup_widget(app->window, "menu_undo2");
widgets.document_buttons[19] = lookup_widget(app->window, "preferences2");
widgets.document_buttons[20] = lookup_widget(app->window, "menu_reload1");
widgets.document_buttons[21] = lookup_widget(app->window, "menu_document1");
widgets.document_buttons[22] = lookup_widget(app->window, "menu_markers_margin1");
widgets.document_buttons[23] = lookup_widget(app->window, "menu_linenumber_margin1");
widgets.document_buttons[24] = lookup_widget(app->window, "menu_choose_color1");
widgets.document_buttons[25] = lookup_widget(app->window, "menu_zoom_in1");
widgets.document_buttons[26] = lookup_widget(app->window, "menu_zoom_out1");
widgets.document_buttons[27] = lookup_widget(app->window, "normal_size1");
widgets.document_buttons[28] = lookup_widget(app->window, "toolbutton24");
widgets.document_buttons[29] = lookup_widget(app->window, "toolbutton25");
widgets.document_buttons[30] = lookup_widget(app->window, "entry_goto_line");
widgets.document_buttons[31] = lookup_widget(app->window, "treeview6");
widgets.document_buttons[32] = lookup_widget(app->window, "print1");
widgets.document_buttons[33] = lookup_widget(app->window, "menu_reload_as1");
widgets.document_buttons[34] = lookup_widget(app->window, "menu_select_all1");
widgets.document_buttons[35] = lookup_widget(app->window, "insert_date1");
widgets.document_buttons[36] = lookup_widget(app->window, "menu_format1");
widgets.document_buttons[37] = lookup_widget(app->window, "menu_open_selected_file1");
widgets.document_buttons[38] = lookup_widget(app->window, "menu_insert_special_chars1");
}
void ui_document_buttons_update()
{
guint i;
gboolean enable = gtk_notebook_get_n_pages(GTK_NOTEBOOK(app->notebook)) ? TRUE : FALSE;
for(i = 0; i < (sizeof(app->sensitive_buttons)/sizeof(GtkWidget*)); i++)
gtk_widget_set_sensitive(app->sensitive_buttons[i], enable);
for (i = 0; i < G_N_ELEMENTS(widgets.document_buttons); i++)
gtk_widget_set_sensitive(widgets.document_buttons[i], enable);
}
@ -1289,3 +1342,7 @@ void ui_table_add_row(GtkTable *table, gint row, ...)
}
void ui_init()
{
init_document_widgets();
}

View File

@ -51,6 +51,9 @@ void ui_table_add_row(GtkTable *table, gint row, ...) G_GNUC_NULL_TERMINATED;
/* End of 'generic' functions */
void ui_init();
// Display text on the statusbar without logging it to the Status window.
void ui_set_statusbar(const gchar *format, ...) G_GNUC_PRINTF (1, 2);
@ -86,7 +89,7 @@ void ui_create_insert_date_menu_items();
void ui_save_buttons_toggle(gboolean enable);
void ui_close_buttons_toggle();
void ui_document_buttons_update();
void ui_treeviews_show_hide(gboolean force);