Kaydet (Commit) 2a30d0ab authored tarafından Enrico Tröger's avatar Enrico Tröger

Added some menu items to the edit menu for editing tasks.

Added keyboard shortcuts for increase/decrease of line indentation (closes #1521717).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@656 ea778897-0a13-0410-b9d1-a72fbfd435f5
üst 8e2b19b4
2006-08-01 Enrico Tröger <enrico.troeger@uvena.de>
* geany.glade, src/interface.c, src/callbacks.c, src/keybindings.c,
src/main.c, src/sciwrappers.c:
Added some menu items to the edit menu for editing tasks.
Added keyboard shortcuts for increase/decrease of line indentation
(closes #1521717).
2006-08-01 Nick Treleaven <nick.treleaven@btinternet.com> 2006-08-01 Nick Treleaven <nick.treleaven@btinternet.com>
* src/interface.c, src/utils.c, src/utils.h, src/callbacks.c, * src/interface.c, src/utils.c, src/utils.h, src/callbacks.c,
......
This diff is collapsed.
...@@ -2679,3 +2679,68 @@ on_menu_write_unicode_bom1_toggled (GtkCheckMenuItem *checkmenuitem, ...@@ -2679,3 +2679,68 @@ on_menu_write_unicode_bom1_toggled (GtkCheckMenuItem *checkmenuitem,
} }
} }
void
on_menu_comment_line1_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
gint idx = document_get_cur_idx();
if (idx == -1 || ! doc_list[idx].is_valid) return;
sci_cb_do_comment(idx);
}
void
on_menu_uncomment_line1_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
gint idx = document_get_cur_idx();
if (idx == -1 || ! doc_list[idx].is_valid) return;
sci_cb_do_uncomment(idx);
}
void
on_menu_duplicate_line1_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
gint idx = document_get_cur_idx();
if (idx == -1 || ! doc_list[idx].is_valid) return;
if (sci_can_copy(doc_list[idx].sci))
sci_selection_duplicate(doc_list[idx].sci);
else
sci_line_duplicate(doc_list[idx].sci);
}
void
on_menu_increase_indent1_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
gint idx = document_get_cur_idx();
gint line, pos;
if (idx == -1 || ! doc_list[idx].is_valid) return;
line = sci_get_current_line(doc_list[idx].sci, -1);
pos = sci_get_line_indent_position(doc_list[idx].sci, line);
sci_set_current_position(doc_list[idx].sci, pos);
sci_cmd(doc_list[idx].sci, SCI_TAB);
}
void
on_menu_decrease_indent1_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
gint idx = document_get_cur_idx();
gint line, pos;
if (idx == -1 || ! doc_list[idx].is_valid) return;
line = sci_get_current_line(doc_list[idx].sci, -1);
pos = sci_get_line_indent_position(doc_list[idx].sci, line);
sci_set_current_position(doc_list[idx].sci, pos);
sci_cmd(doc_list[idx].sci, SCI_BACKTAB);
}
...@@ -623,3 +623,23 @@ on_menu_show_sidebar1_toggled (GtkCheckMenuItem *checkmenuitem, ...@@ -623,3 +623,23 @@ on_menu_show_sidebar1_toggled (GtkCheckMenuItem *checkmenuitem,
void void
on_menu_write_unicode_bom1_toggled (GtkCheckMenuItem *checkmenuitem, on_menu_write_unicode_bom1_toggled (GtkCheckMenuItem *checkmenuitem,
gpointer user_data); gpointer user_data);
void
on_menu_comment_line1_activate (GtkMenuItem *menuitem,
gpointer user_data);
void
on_menu_uncomment_line1_activate (GtkMenuItem *menuitem,
gpointer user_data);
void
on_menu_duplicate_line1_activate (GtkMenuItem *menuitem,
gpointer user_data);
void
on_menu_increase_indent1_activate (GtkMenuItem *menuitem,
gpointer user_data);
void
on_menu_decrease_indent1_activate (GtkMenuItem *menuitem,
gpointer user_data);
...@@ -211,8 +211,8 @@ typedef struct MyApp ...@@ -211,8 +211,8 @@ typedef struct MyApp
GtkWidget *new_file_menu; GtkWidget *new_file_menu;
GtkWidget *menu_insert_include_item[2]; GtkWidget *menu_insert_include_item[2];
GtkWidget *popup_goto_items[3]; GtkWidget *popup_goto_items[3];
GtkWidget *popup_items[4]; GtkWidget *popup_items[5];
GtkWidget *menu_copy_items[4]; GtkWidget *menu_copy_items[5];
GtkWidget *redo_items[3]; GtkWidget *redo_items[3];
GtkWidget *undo_items[3]; GtkWidget *undo_items[3];
GtkWidget *save_buttons[2]; GtkWidget *save_buttons[2];
......
This diff is collapsed.
...@@ -87,6 +87,8 @@ static void cb_func_toggle_sidebar(void); ...@@ -87,6 +87,8 @@ static void cb_func_toggle_sidebar(void);
static void cb_func_edit_duplicateline(void); static void cb_func_edit_duplicateline(void);
static void cb_func_edit_commentline(void); static void cb_func_edit_commentline(void);
static void cb_func_edit_uncommentline(void); static void cb_func_edit_uncommentline(void);
static void cb_func_edit_increaseindent(void);
static void cb_func_edit_decreaseindent(void);
static void cb_func_edit_autocomplete(void); static void cb_func_edit_autocomplete(void);
static void cb_func_edit_calltip(void); static void cb_func_edit_calltip(void);
static void cb_func_edit_macrolist(void); static void cb_func_edit_macrolist(void);
...@@ -196,6 +198,10 @@ void keybindings_init(void) ...@@ -196,6 +198,10 @@ void keybindings_init(void)
GDK_d, GDK_CONTROL_MASK, "edit_commentline", _("Comment line")); GDK_d, GDK_CONTROL_MASK, "edit_commentline", _("Comment line"));
keys[GEANY_KEYS_EDIT_UNCOMMENTLINE] = fill(cb_func_edit_uncommentline, keys[GEANY_KEYS_EDIT_UNCOMMENTLINE] = fill(cb_func_edit_uncommentline,
GDK_d, GDK_SHIFT_MASK | GDK_CONTROL_MASK, "edit_uncommentline", _("Uncomment line")); GDK_d, GDK_SHIFT_MASK | GDK_CONTROL_MASK, "edit_uncommentline", _("Uncomment line"));
keys[GEANY_KEYS_EDIT_INCREASEINDENT] = fill(cb_func_edit_increaseindent,
GDK_i, GDK_CONTROL_MASK, "edit_increaseindent", _("Increase indent"));
keys[GEANY_KEYS_EDIT_DECREASEINDENT] = fill(cb_func_edit_decreaseindent,
GDK_i, GDK_SHIFT_MASK | GDK_CONTROL_MASK, "edit_decreaseindent", _("Decrease indent"));
keys[GEANY_KEYS_EDIT_AUTOCOMPLETE] = fill(cb_func_edit_autocomplete, keys[GEANY_KEYS_EDIT_AUTOCOMPLETE] = fill(cb_func_edit_autocomplete,
GDK_space, GDK_CONTROL_MASK, "edit_autocomplete", _("Complete word")); GDK_space, GDK_CONTROL_MASK, "edit_autocomplete", _("Complete word"));
#ifdef G_OS_WIN32 #ifdef G_OS_WIN32
...@@ -281,6 +287,11 @@ static void keybindings_add_accels() ...@@ -281,6 +287,11 @@ static void keybindings_add_accels()
GEANY_ADD_ACCEL(GEANY_KEYS_MENU_REPLACETABS, menu_replace_tabs); GEANY_ADD_ACCEL(GEANY_KEYS_MENU_REPLACETABS, menu_replace_tabs);
GEANY_ADD_ACCEL(GEANY_KEYS_MENU_FOLDALL, menu_fold_all1); GEANY_ADD_ACCEL(GEANY_KEYS_MENU_FOLDALL, menu_fold_all1);
GEANY_ADD_ACCEL(GEANY_KEYS_MENU_UNFOLDALL, menu_unfold_all1); GEANY_ADD_ACCEL(GEANY_KEYS_MENU_UNFOLDALL, menu_unfold_all1);
GEANY_ADD_ACCEL(GEANY_KEYS_EDIT_COMMENTLINE, menu_comment_line1);
GEANY_ADD_ACCEL(GEANY_KEYS_EDIT_UNCOMMENTLINE, menu_uncomment_line1);
GEANY_ADD_ACCEL(GEANY_KEYS_EDIT_DUPLICATELINE, menu_duplicate_line1);
GEANY_ADD_ACCEL(GEANY_KEYS_EDIT_INCREASEINDENT, menu_increase_indent1);
GEANY_ADD_ACCEL(GEANY_KEYS_EDIT_DECREASEINDENT, menu_decrease_indent1);
GEANY_ADD_POPUP_ACCEL(GEANY_KEYS_MENU_UNDO, undo1); GEANY_ADD_POPUP_ACCEL(GEANY_KEYS_MENU_UNDO, undo1);
GEANY_ADD_POPUP_ACCEL(GEANY_KEYS_MENU_REDO, redo1); GEANY_ADD_POPUP_ACCEL(GEANY_KEYS_MENU_REDO, redo1);
...@@ -291,6 +302,11 @@ static void keybindings_add_accels() ...@@ -291,6 +302,11 @@ static void keybindings_add_accels()
GEANY_ADD_POPUP_ACCEL(GEANY_KEYS_POPUP_GOTOTAGDEFINITION, goto_tag_definition1); GEANY_ADD_POPUP_ACCEL(GEANY_KEYS_POPUP_GOTOTAGDEFINITION, goto_tag_definition1);
GEANY_ADD_POPUP_ACCEL(GEANY_KEYS_POPUP_GOTOTAGDECLARATION, goto_tag_declaration1); GEANY_ADD_POPUP_ACCEL(GEANY_KEYS_POPUP_GOTOTAGDECLARATION, goto_tag_declaration1);
GEANY_ADD_POPUP_ACCEL(GEANY_KEYS_MENU_GOTOLINE, go_to_line); GEANY_ADD_POPUP_ACCEL(GEANY_KEYS_MENU_GOTOLINE, go_to_line);
GEANY_ADD_POPUP_ACCEL(GEANY_KEYS_EDIT_COMMENTLINE, menu_comment_line2);
GEANY_ADD_POPUP_ACCEL(GEANY_KEYS_EDIT_UNCOMMENTLINE, menu_uncomment_line2);
GEANY_ADD_POPUP_ACCEL(GEANY_KEYS_EDIT_DUPLICATELINE, menu_duplicate_line2);
GEANY_ADD_POPUP_ACCEL(GEANY_KEYS_EDIT_INCREASEINDENT, menu_increase_indent2);
GEANY_ADD_POPUP_ACCEL(GEANY_KEYS_EDIT_DECREASEINDENT, menu_decrease_indent2);
// the build menu items are set if the build menus are created // the build menu items are set if the build menus are created
...@@ -692,26 +708,17 @@ static void cb_func_toggle_sidebar(void) ...@@ -692,26 +708,17 @@ static void cb_func_toggle_sidebar(void)
static void cb_func_edit_duplicateline(void) static void cb_func_edit_duplicateline(void)
{ {
gint idx = document_get_cur_idx(); on_menu_duplicate_line1_activate(NULL, NULL);
if (idx == -1 || ! doc_list[idx].is_valid) return;
if (sci_can_copy(doc_list[idx].sci))
sci_selection_duplicate(doc_list[idx].sci);
else
sci_line_duplicate(doc_list[idx].sci);
} }
static void cb_func_edit_commentline(void) static void cb_func_edit_commentline(void)
{ {
gint idx = document_get_cur_idx(); on_menu_comment_line1_activate(NULL, NULL);
if (idx == -1 || ! doc_list[idx].is_valid) return;
sci_cb_do_comment(idx);
} }
static void cb_func_edit_uncommentline(void) static void cb_func_edit_uncommentline(void)
{ {
gint idx = document_get_cur_idx(); on_menu_uncomment_line1_activate(NULL, NULL);
if (idx == -1 || ! doc_list[idx].is_valid) return;
sci_cb_do_uncomment(idx);
} }
static void cb_func_edit_autocomplete(void) static void cb_func_edit_autocomplete(void)
...@@ -754,3 +761,13 @@ static void cb_func_menu_print(void) ...@@ -754,3 +761,13 @@ static void cb_func_menu_print(void)
if (idx == -1 || ! doc_list[idx].is_valid) return; if (idx == -1 || ! doc_list[idx].is_valid) return;
document_print(idx); document_print(idx);
} }
static void cb_func_edit_increaseindent(void)
{
on_menu_increase_indent1_activate(NULL, NULL);
}
static void cb_func_edit_decreaseindent(void)
{
on_menu_decrease_indent1_activate(NULL, NULL);
}
...@@ -84,6 +84,8 @@ enum ...@@ -84,6 +84,8 @@ enum
GEANY_KEYS_EDIT_DUPLICATELINE, GEANY_KEYS_EDIT_DUPLICATELINE,
GEANY_KEYS_EDIT_COMMENTLINE, GEANY_KEYS_EDIT_COMMENTLINE,
GEANY_KEYS_EDIT_UNCOMMENTLINE, GEANY_KEYS_EDIT_UNCOMMENTLINE,
GEANY_KEYS_EDIT_INCREASEINDENT,
GEANY_KEYS_EDIT_DECREASEINDENT,
GEANY_KEYS_EDIT_AUTOCOMPLETE, GEANY_KEYS_EDIT_AUTOCOMPLETE,
GEANY_KEYS_EDIT_CALLTIP, GEANY_KEYS_EDIT_CALLTIP,
GEANY_KEYS_EDIT_MACROLIST, GEANY_KEYS_EDIT_MACROLIST,
......
...@@ -262,11 +262,13 @@ static void main_init(void) ...@@ -262,11 +262,13 @@ static void main_init(void)
app->popup_items[0] = lookup_widget(app->popup_menu, "cut1"); app->popup_items[0] = lookup_widget(app->popup_menu, "cut1");
app->popup_items[1] = lookup_widget(app->popup_menu, "copy1"); app->popup_items[1] = lookup_widget(app->popup_menu, "copy1");
app->popup_items[2] = lookup_widget(app->popup_menu, "delete1"); app->popup_items[2] = lookup_widget(app->popup_menu, "delete1");
app->popup_items[3] = lookup_widget(app->popup_menu, "change_selection1"); app->popup_items[3] = lookup_widget(app->popup_menu, "to_lower_case1");
app->popup_items[4] = lookup_widget(app->popup_menu, "to_upper_case1");
app->menu_copy_items[0] = lookup_widget(app->window, "menu_cut1"); app->menu_copy_items[0] = lookup_widget(app->window, "menu_cut1");
app->menu_copy_items[1] = lookup_widget(app->window, "menu_copy1"); app->menu_copy_items[1] = lookup_widget(app->window, "menu_copy1");
app->menu_copy_items[2] = lookup_widget(app->window, "menu_delete1"); app->menu_copy_items[2] = lookup_widget(app->window, "menu_delete1");
app->menu_copy_items[3] = lookup_widget(app->window, "menu_change_selection2"); app->menu_copy_items[3] = lookup_widget(app->window, "menu_to_lower_case2");
app->menu_copy_items[4] = lookup_widget(app->window, "menu_to_upper_case2");
app->menu_insert_include_item[0] = lookup_widget(app->popup_menu, "insert_include1"); app->menu_insert_include_item[0] = lookup_widget(app->popup_menu, "insert_include1");
app->menu_insert_include_item[1] = lookup_widget(app->window, "insert_include2"); app->menu_insert_include_item[1] = lookup_widget(app->window, "insert_include2");
app->save_buttons[0] = lookup_widget(app->window, "menu_save1"); app->save_buttons[0] = lookup_widget(app->window, "menu_save1");
......
...@@ -843,3 +843,7 @@ void sci_select_all(ScintillaObject *sci) ...@@ -843,3 +843,7 @@ void sci_select_all(ScintillaObject *sci)
SSM(sci, SCI_SELECTALL, 0, 0); SSM(sci, SCI_SELECTALL, 0, 0);
} }
gint sci_get_line_indent_position(ScintillaObject *sci, gint line)
{
return SSM(sci, SCI_GETLINEINDENTPOSITION, line, 0);
}
...@@ -142,7 +142,7 @@ void sci_set_cursor (ScintillaObject * sci, gint cursor); ...@@ -142,7 +142,7 @@ void sci_set_cursor (ScintillaObject * sci, gint cursor);
void sci_target_from_selection (ScintillaObject * sci); void sci_target_from_selection (ScintillaObject * sci);
void sci_target_start (ScintillaObject * sci, gint start); void sci_target_start (ScintillaObject * sci, gint start);
void sci_target_end (ScintillaObject * sci, gint end); void sci_target_end (ScintillaObject * sci, gint end);
gint sci_target_replace (ScintillaObject *sci, const gchar *text, gboolean regex); gint sci_target_replace (ScintillaObject * sci, const gchar *text, gboolean regex);
void sci_set_keywords (ScintillaObject * sci, gint k, gchar *text); void sci_set_keywords (ScintillaObject * sci, gint k, gchar *text);
void sci_scroll_lines (ScintillaObject * sci, gint lines); void sci_scroll_lines (ScintillaObject * sci, gint lines);
gint sci_get_lexer (ScintillaObject * sci); gint sci_get_lexer (ScintillaObject * sci);
...@@ -155,6 +155,6 @@ gint sci_get_lines_selected (ScintillaObject * sci); ...@@ -155,6 +155,6 @@ gint sci_get_lines_selected (ScintillaObject * sci);
void sci_set_styling (ScintillaObject * sci, gint len, gint style); void sci_set_styling (ScintillaObject * sci, gint len, gint style);
void sci_start_styling (ScintillaObject * sci, gint pos, gint mask); void sci_start_styling (ScintillaObject * sci, gint pos, gint mask);
void sci_select_all (ScintillaObject * sci); void sci_select_all (ScintillaObject * sci);
gint sci_get_line_indent_position(ScintillaObject * sci, gint line);
#endif #endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment