Make Toggle Case use the current word if there's no selection.

Make Toggle Case keep an existing selection.
Rename ui_widgets.popup_items to popup_copy_items.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1876 ea778897-0a13-0410-b9d1-a72fbfd435f5
This commit is contained in:
Nick Treleaven 2007-09-12 16:01:23 +00:00
parent 001cc916b4
commit a76adc4354
5 changed files with 28 additions and 16 deletions

View File

@ -11,6 +11,10 @@
doc/geany.html:
Allow autocompletion on a line with trailing whitespace.
Add auto_complete_whilst_editing hidden preference.
* src/ui_utils.h, src/callbacks.c, src/main.c, src/ui_utils.c:
Make Toggle Case use the current word if there's no selection.
Make Toggle Case keep an existing selection.
Rename ui_widgets.popup_items to popup_copy_items.
2007-09-11 Enrico Tröger <enrico.troeger@uvena.de>

View File

@ -888,32 +888,42 @@ toolbar_popup_menu (GtkWidget *widget,
}
void
on_toggle_case1_activate (GtkMenuItem *menuitem,
gpointer user_data)
void on_toggle_case1_activate(GtkMenuItem *menuitem, gpointer user_data)
{
gint idx = document_get_cur_idx();
ScintillaObject *sci = doc_list[idx].sci;
gchar *text;
gboolean keep_sel = TRUE;
if (! DOC_IDX_VALID(idx))
return;
if (sci_can_copy(doc_list[idx].sci))
if (! sci_can_copy(sci))
{
keybindings_cmd(GEANY_KEYS_EDIT_SELECTWORD);
keep_sel = FALSE;
}
if (sci_can_copy(sci))
{
gchar *result;
gint text_len = sci_get_selected_text_length(sci);
text = g_malloc(sci_get_selected_text_length(doc_list[idx].sci) + 1);
sci_get_selected_text(doc_list[idx].sci, text);
text = g_malloc(text_len + 1);
sci_get_selected_text(sci, text);
if (utils_str_has_upper(text))
result = g_utf8_strdown(text, -1);
else
result = g_utf8_strup(text, -1);
sci_replace_sel(doc_list[idx].sci, result);
sci_replace_sel(sci, result);
g_free(result);
g_free(text);
if (keep_sel)
sci_set_selection_start(sci, sci_get_current_position(sci) - text_len + 1);
}
}

View File

@ -297,14 +297,12 @@ static void main_init(void)
ui_widgets.popup_goto_items[0] = lookup_widget(app->popup_menu, "goto_tag_definition1");
ui_widgets.popup_goto_items[1] = lookup_widget(app->popup_menu, "goto_tag_declaration1");
ui_widgets.popup_goto_items[2] = lookup_widget(app->popup_menu, "find_usage1");
ui_widgets.popup_items[0] = lookup_widget(app->popup_menu, "cut1");
ui_widgets.popup_items[1] = lookup_widget(app->popup_menu, "copy1");
ui_widgets.popup_items[2] = lookup_widget(app->popup_menu, "delete1");
ui_widgets.popup_items[3] = lookup_widget(app->popup_menu, "toggle_case1");
ui_widgets.popup_copy_items[0] = lookup_widget(app->popup_menu, "cut1");
ui_widgets.popup_copy_items[1] = lookup_widget(app->popup_menu, "copy1");
ui_widgets.popup_copy_items[2] = lookup_widget(app->popup_menu, "delete1");
ui_widgets.menu_copy_items[0] = lookup_widget(app->window, "menu_cut1");
ui_widgets.menu_copy_items[1] = lookup_widget(app->window, "menu_copy1");
ui_widgets.menu_copy_items[2] = lookup_widget(app->window, "menu_delete1");
ui_widgets.menu_copy_items[3] = lookup_widget(app->window, "menu_toggle_case2");
ui_widgets.menu_insert_include_items[0] = lookup_widget(app->popup_menu, "insert_include1");
ui_widgets.menu_insert_include_items[1] = lookup_widget(app->window, "insert_include2");
ui_widgets.save_buttons[0] = lookup_widget(app->window, "menu_save1");

View File

@ -290,8 +290,8 @@ void ui_update_popup_copy_items(gint idx)
if (idx == -1) enable = FALSE;
else enable = sci_can_copy(doc_list[idx].sci);
for(i = 0; i < (sizeof(ui_widgets.popup_items)/sizeof(GtkWidget*)); i++)
gtk_widget_set_sensitive(ui_widgets.popup_items[i], enable);
for(i = 0; i < (sizeof(ui_widgets.popup_copy_items)/sizeof(GtkWidget*)); i++)
gtk_widget_set_sensitive(ui_widgets.popup_copy_items[i], enable);
}

View File

@ -54,8 +54,8 @@ typedef struct UIWidgets
GtkWidget *recent_files_toolbar;
GtkWidget *menu_insert_include_items[2];
GtkWidget *popup_goto_items[3];
GtkWidget *popup_items[4];
GtkWidget *menu_copy_items[4];
GtkWidget *popup_copy_items[3];
GtkWidget *menu_copy_items[3];
GtkWidget *redo_items[3];
GtkWidget *undo_items[3];
GtkWidget *save_buttons[4];