211 Commits

Author SHA1 Message Date
Enrico Tröger
8f35c2925c Make keyboard shortcuts dialog using a treeview to display the shortcuts to make it scrollable with the keyboard.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3110 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-10-17 16:51:22 +00:00
Enrico Tröger
71dbd0f2d6 Make 'Previous/Next word part' keybindings configurable.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3011 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-26 18:29:42 +00:00
Enrico Tröger
a032d6a660 Unify the API in editor.c, all public functions now take a GeanyEditor* object.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2998 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-25 18:28:37 +00:00
Enrico Tröger
ab3c9a4f3d API changes:
Rename sci_can_copy() into sci_has_selection().
Rename sci_find_bracematch() into sci_find_matching_brace().

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2964 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-17 18:02:55 +00:00
Nick Treleaven
c403ddd56c Fix Doxygen 1.5.4 undocumented parameter warnings.
Improve dox for sciwrappers.c.
Correct sci_grap_focus() misspelling.
(Merged from split-window-plugin branch).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2951 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-16 15:37:50 +00:00
Enrico Tröger
ab7a522ca9 Rename all toolbar widgets for consistent names.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2924 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-08 14:22:39 +00:00
Nick Treleaven
a134c529c2 Rename KeyCallback GeanyKeyCallback.
Rename KeyBinding GeanyKeyBinding.
Rename KeyBindingGroup GeanyKeyGroup.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2869 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-08 18:05:53 +00:00
Nick Treleaven
22dfc32135 Don't set plugin keybinding accels for menu items in
keybindings_set_item(), so user keycombos can override them.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2868 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-08 15:15:50 +00:00
Nick Treleaven
81715a4c7e Remove commented out old code.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2818 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-25 11:28:30 +00:00
Nick Treleaven
d0a473bf6b Fix compilation with -ansi.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2797 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-21 14:39:47 +00:00
Enrico Tröger
d0ec5f6134 Add menu item accelerators first after default and user keybindings have been read to avoid that menu item accelerators of user keybindings can't be overridden anymore (closes #2021703).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2793 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-20 17:12:34 +00:00
Nick Treleaven
3d24008b34 Add Find Document Usage popup menu command & keybinding.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2786 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-17 16:42:03 +00:00
Nick Treleaven
7db4bfe493 Rename GeanyEditor::scintilla to GeanyEditor::sci.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/editor-struct@2776 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-14 11:13:54 +00:00
Nick Treleaven
7c71457fb1 Fix building editor.c, using GeanyEditor* instead of GeanyDocument*
(most global editor functions still need conversion though).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/editor-struct@2765 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-08 13:53:08 +00:00
Nick Treleaven
8dcfb7e336 Update for doc->editor->scintilla.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/editor-struct@2764 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-08 11:26:09 +00:00
Nick Treleaven
9f28c3a23c Group focus keybinding callbacks together.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2754 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-04 13:54:59 +00:00
Nick Treleaven
27c5665d01 Add 'Switch to Compiler' keybinding (useful when checking build
progress).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2752 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-03 17:37:00 +00:00
Nick Treleaven
d832e4fe6c Avoid flickering the menu bar when 'Override Geany keybindings'
Terminal pref is set.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2749 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-03 17:04:12 +00:00
Nick Treleaven
89161c353d Fix behaviour of Home and End keys in non-editor widgets when they
are set as keybindings for Go to Line Start/End.
This uses a new ignore_keybinding variable because changing
KeyCallback to return gboolean would break plugin keybindings.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2741 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-02 11:58:01 +00:00
Nick Treleaven
e49c35299a Add Go to Start/End of Line keybindings (#1996175).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2730 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-27 17:54:36 +00:00
Nick Treleaven
9386d36f25 Add keybindings for Previous Message, Previous Error commands
(#1931125).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2728 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-26 16:39:41 +00:00
Nick Treleaven
361dec09a2 Make keyboard shortcuts dialog non-modal (#1999384).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2722 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-24 12:25:23 +00:00
Enrico Tröger
4ded2fe4b0 Add keybindings for Line wrapping, Line breaking, Toggle fold and Replace Spaces by tabs.
Refactor different document keybindings callback functions into cb_func_document_action().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2710 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-19 15:58:10 +00:00
Nick Treleaven
652d073d62 Merge the document-pointer branch.
Note: this breaks the plugin API for document functions,
document signal callbacks, msgwin_msg_add() and navqueue_goto_line().
Make all DocumentFuncs use a GeanyDocument* instead of an integer
index, so there's no need to access the documents array or use
DOC_IDX_VALID() - usually just check for non-NULL.
Pass a document pointer to the callbacks of all document-* signals.
Add GeanyDocument::index field for use with the documents array.
Remove DocumentFuncs::get_cur_idx() - use get_current() instead.
Replace DocumentFuncs::get_n_idx() with get_from_page().
Rename DocumentFuncs::find_by_realpath() to find_by_real_path().
Replace DocumentFuncs::remove() with remove_page().
Add 'changed' argument for DocumentFuncs::set_text_changed().
Make NavQueueFuncs and MsgWinFuncs use a GeanyDocument* instead of an
integer index.
Add DOC_VALID() macro.
Add deprecated DOC_IDX() macro to get the document index from a
possibly NULL pointer; deprecate macro DOC_IDX_VALID. These macros
can make porting outside plugins easier; of course, it is better to
rewrite the code to use document pointers.
Use document pointer instead of an index to the documents array
everywhere in the core code.
Rename utils_check_disk_status() in document_check_disk_status() and
move it into document.c.
Adjust plugins to work with these changes.
Add dox for document_set_filetype().
Rename debugging function doc() doc_at() to avoid conflicts.
Update plugin signals dox.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2705 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-18 17:03:08 +00:00
Enrico Tröger
ef00bc7ac7 Fix spelling of a few strings (mostly BE -> AE).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2699 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-17 16:18:41 +00:00
Enrico Tröger
d3439f8a17 Use document pointer instead of an index to the documents array everywhere in the core code.
Pass a document pointer to the callbacks of all "document-*" signals.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2692 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-15 13:35:48 +00:00
Nick Treleaven
be0d9e8ea7 Note: this breaks the plugin API.
Replace doc_array with documents_array, a pointer array. This is
necessary to avoid breaking the ABI every time a field is added to
GeanyDocument.
Remove deprecated pluginmacros.h documents macro, to avoid a
conflict.
Replace doc_list[] macro with documents[] macro, which returns a
GeanyDocument pointer.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2624 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-29 17:00:54 +00:00
Nick Treleaven
398efbd373 Note: this commit breaks the plugin API.
Split widget fields out of GeanyApp into GeanyMainWidgets, so other
data items can be added without breaking the plugin ABI.
Add GeanyData::main_widgets, and macro.
Rename treeview_notebook sidebar_notebook in GeanyMainWidgets.
Move tools_menu from GeanyData to GeanyMainWidgets.
Move statusbar out of GeanyApp (shouldn't be used directly).
Move ignore_callback out of GeanyApp.
Rename sci_goto_line() argument unfold, like sci_goto_pos().
Make utils_goto_file_pos(), utils_goto_line(),
utils_switch_document() into static functions (they are UI-related,
so shouldn't be in utils.c).
Move utils_goto_pos() to editor.c, add mark argument.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2609 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-22 14:41:28 +00:00
Nick Treleaven
192f4e13b5 Rename editor_auto_line_indentation() to
editor_smart_line_indentation().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2606 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-21 14:08:35 +00:00
Nick Treleaven
6f361569ed Fix Switch to Sidebar shortcut so that it works for whichever widget
is in the current sidebar notebook page (fixes #1967104).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2602 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-19 14:33:50 +00:00
Enrico Tröger
311b82ebb2 Rename document struct to GeanyDocument.
Rename filetype struct to GeanyFiletype.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2594 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-16 14:17:54 +00:00
Nick Treleaven
3a12da9daf Note: this commit breaks the plugin API (but is necessary so that in
future the ABI can stay stable when adding preferences).
Split up prefs into interface_prefs, toolbar_prefs, file_prefs,
search_prefs, tool_prefs, template_prefs, and add these to the
plugin API.
Move suppress_search_dialogs and search_use_current_word to
search_prefs, and rename accordingly.
Rename switch_msgwin_pages pref to switch_to_status.
Remove toolbar_ prefix for toolbar_prefs items.
Remove tool_ prefix for tool_prefs items.
Remove template_ prefix for template_prefs items.
Add Geany prefix for EditorPrefs.
Add Geany prefix for SearchPrefs.
Initialize search_prefs to zero in main.c.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2591 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-16 12:08:39 +00:00
Enrico Tröger
beb68832b3 Move several editing related functions from document.c to editor.c.
Fix two compiler warnings about non-literal format strings.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2588 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-15 13:43:29 +00:00
Enrico Tröger
7f669ded1f Allow Ctrl-A (or whatever "Select All" has been set to) to select all text in the scribble text widget (closes #1952335).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2536 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-27 15:43:47 +00:00
Enrico Tröger
5833e8892c Fix too small dialog window when showing the keyboard shortcuts dialog from the help menu.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2442 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-03 15:38:16 +00:00
Enrico Tröger
a0a882e06c Fix missing menu accelerators for default keybindings on startup.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2441 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-03 15:12:54 +00:00
Nick Treleaven
d8bca75e41 Check file on disk for changes (with timeout) when pressing a key.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2424 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-27 17:16:53 +00:00
Enrico Tröger
1cf46e4c8e Add shortcut to switch to the sidebar.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2390 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-23 16:32:36 +00:00
Nick Treleaven
664ee2f75d Make KeyBinding name and label fields non-const strings so they can
be freed by any plugins that need to use malloc'd strings.
Document KeyCallback typedef.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2345 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-14 17:23:24 +00:00
Nick Treleaven
95fa43f302 Set main menu accelerators for keybindings.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2342 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-14 13:11:46 +00:00
Nick Treleaven
4472929989 Check plugin keybinding group name is valid.
Ignore plugin keybinding groups with no elements defined.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2339 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-13 17:12:18 +00:00
Nick Treleaven
7893d465e2 Fix bug with keybindings using check_current_word().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2327 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-12 18:01:15 +00:00
Nick Treleaven
2c0316a296 Merge plugin-keybindings branch:
Change keybindings code to use keybinding groups, each with a
separate enum set, which will make the plugin ABI more stable, and
lay the groundwork for plugin keybindings support.
Note: this breaks the plugin API.
Rename keybindings_cmd() to keybindings_send_command(), which now
takes a group_id argument.
Add keybindings_lookup_item().
Add documentation for keybindings structs.
Add support for plugin keybindings using the PLUGIN_KEY_GROUP()
macro.
Add a plugin keybinding for 'Insert Special HTML Characters'.
Rename KBCallback, cmd_id, cb_func with clearer names.
Add KeyBinding::menu_item field for setting accelerators (currently
does nothing).
Load keybindings keyfile after plugins have loaded at startup, so
their shortcuts are also loaded. Still to do: loading individual
plugin keybindings after startup.
Group most keybinding callbacks together according to keybinding
group.
Add keybindings_set_item() and add it to the plugin API.
Set main menu widget accels with keybindings_set_item() - they are
ignored for now. Popup menu accels are set separately.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2324 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-12 17:07:43 +00:00
Nick Treleaven
2c19fe8e14 Break down Edit, Editing, Tags, Other keybinding groups into Editor,
Clipboard, Select, Format, Insert groups and rename GEANY_KEYS_*
accordingly.
Group most keybinding callbacks together according to keybinding
group.
Add underscore for GEANY_KEYGROUP_*.
Set main menu widget with keybindings_set_item() - this is still
ignored for now. Popup menu accels are set separately.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/plugin-keybindings@2323 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-12 13:37:39 +00:00
Nick Treleaven
83f7b5770d Move snippet completion keybindings into Editing group.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/plugin-keybindings@2322 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-10 17:30:27 +00:00
Nick Treleaven
e57535bb8d Load keybindings keyfile after plugins have loaded at startup, so
their shortcuts are also loaded. Still to do: loading individual
plugin keybindings after startup.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/plugin-keybindings@2321 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-10 13:54:47 +00:00
Nick Treleaven
824a05083f Make keybindings_send_command() take guint parameters, not gint.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/plugin-keybindings@2319 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-10 13:29:35 +00:00
Nick Treleaven
5f43e01f17 Add keybindings_set_item() to the plugin API and update the HTML
Characters plugin.
Rename KBCallback, cmd_id, cb_func with clearer names.
Add KeyBinding::menu_item field for setting accelerators (currently
does nothing).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/plugin-keybindings@2318 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-10 13:23:57 +00:00
Nick Treleaven
747d2d2bf4 Add support for plugin keybindings using the PLUGIN_KEY_GROUP()
macro. Note: plugin keybindings are not yet loaded from the keyfile.
Add a plugin keybinding for 'Insert Special HTML Characters'.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/plugin-keybindings@2315 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-07 18:00:22 +00:00
Nick Treleaven
5e952cc76c Allow plugins to use keybindings_lookup_item().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/plugin-keybindings@2314 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-07 17:24:36 +00:00