218 Commits

Author SHA1 Message Date
Nick Treleaven
943f07d07a Add dialog for switching to last used tab, which disappears when
releasing the modifier key. (Useful once MRU switching is
implemented).
Connect window key-press-event in keybindings.c.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3436 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-02 13:37:40 +00:00
Nick Treleaven
0709fcf00f Allow Find Usage for selections even when the cursor is not at a
word character.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3407 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-19 17:15:52 +00:00
Enrico Tröger
9e25c43487 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
2008-12-18 21:21:53 +00:00
Enrico Tröger
ae9e166786 Remove on_go_to_line1_activate() and directly use on_go_to_line_activate() instead.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3334 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-06 17:48:36 +00:00
Enrico Tröger
8ed9710f48 Rewrite of the whole toolbar code. Now it is based on GtkActions and all elements can be added/removed/reordered using a simple XML file.
Add GeanyMenubuttonAction and GeanyEntryAction as GtkAction subclasses to have menu buttons and text entries in the toolbar.
Change the Goto line toolbar item back to a plain text entry again.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3328 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-06 11:10:06 +00:00
Nick Treleaven
7994128e38 Rename sci_cmd() to sci_send_command() to match the plugin API and
fix the generated macro name.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3322 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-05 12:34:20 +00:00
Enrico Tröger
a23e534086 Update the Document menu when Line Breaking/Wrapping were toggled by a keybinding.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3273 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-23 16:24:16 +00:00
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