333 Commits

Author SHA1 Message Date
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
Enrico Tröger
4ef9af9c6f Fix some formatting issues.
Add 'static' keyword to generated finalize() function in GTK classes.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2772 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-12 11:46:59 +00:00
Nick Treleaven
e204cc44fb Remove deprecated struct field macros (this fixes building Geany
when GEANY_DISABLE_DEPRECATED is not set, fixes #2014586).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2767 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-10 14:12:09 +00:00
Nick Treleaven
4837030ca1 Fix compilation.
Move utils_get_current_function() to symbols.c.
Move utils_replace_filename() to document.c.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/editor-struct@2766 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-08 16:30:37 +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
18ced215d1 Remove deprecated macros and typedefs (except DOC_IDX_*), as some of
them are likely to cause naming conflicts and all plugins will need
updating since 0.14 anyway.
Add geany macro that simply expands to geany_data.
Deprecate app, main_widgets, prefs, project macros, as the geany
macro can be used instead.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2761 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-07 16:16:18 +00:00
Enrico Tröger
1e8d82f46a Note: this breaks the plugin API for msgwin and navqueue functions.
Make NavQueueFuncs and MsgWinFuncs use a GeanyDocument* instead of an integer index.
Adjust plugins to work with these changes.            


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2688 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-12 20:09:57 +00:00
Enrico Tröger
5739654633 Windows changes: Install plugins into lib/ not into plugins/. Don't link against libiconv when compiling against GLib 2.14 and above (it's statically linked into GLib). Install Geany's message catalogs into share/locale rather than lib/locale as GTK does since 2.12.2.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2673 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-09 19:29:54 +00:00
Enrico Tröger
3a5345c3d4 Fix diff output when files were manually added with 'git add' in GIT repositories (patch by Yura Siamashka).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2654 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-06 14:53:40 +00:00
Nick Treleaven
4d3ba6e7a2 Fix using wrong encoding for document filename when doing a
directory diff.
Replace find_by_filename() with p_document->find_by_filename() (now
it does the same job).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2638 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-03 17:26:22 +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
Enrico Tröger
4198167584 Add again all GTK libraries to linker flags for each plugin.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2623 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-28 16:09:16 +00:00
Nick Treleaven
e00f73bc5d Note: this breaks the plugin API.
Remove plugin symbol configure().
Add plugin symbol plugin_configure() which is used to tell Geany a
widget to pack into the plugin preferences dialog, and connect a
response callback for when the dialog receives a user decision.
This allows Geany to in future implement a common preferences dialog
for all plugins, without breaking the plugin API/ABI.
Add Apply button for plugin preference dialogs (to indicate plugins
should handle the apply response as well as OK, as a multiple plugin
configuration dialog would want an apply button).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2621 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-28 13:05:09 +00:00
Nick Treleaven
d5af5049b3 Use plugin_init() in comments.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2620 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-27 17:03:43 +00:00
Nick Treleaven
a87b2e57b9 Fix plugins to compile with GEANY_DISABLE_DEPRECATED.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2617 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-26 17:24:11 +00:00
Nick Treleaven
8c1c59eecf Deprecate PLUGIN_INFO() in favour of PLUGIN_SET_INFO().
Remove plugin symbol info(), which is replaced by plugin_set_info()
and a new symbol plugin_info. This is so the PluginInfo struct is
zero'd first by Geany, so plugins are still ABI compatible if we
want to add any more fields in the future.
Fail to load a plugin if plugin_info->name is not set.
Remove now unused string.h include from plugindata.h.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2612 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-23 17:08:58 +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
Enrico Tröger
133793e8db Specify the necessary libraries of each plugin to link against.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2607 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-21 16:53:40 +00:00
Nick Treleaven
45ba1bfbac Add API documentation for pluginmacros.h.
Make Doxygen define GEANY_DISABLE_DEPRECATED.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2603 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-19 15:21:31 +00:00
Nick Treleaven
380cec5a69 Add deprecated p_encoding alias for p_encodings.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2601 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-19 12:52:38 +00:00
Nick Treleaven
d99a4ea675 Note: this breaks the plugin API.
Split GeanyFunctions out of GeanyData so data pointers can be
appended before the function pointer structs without breaking the
ABI.
Rename GeanyFunctions fields with a p_ prefix to avoid name
conflicts.
Add new plugin symbol geany_functions.
Nearly all plugins will now need to declare the following:
'GeanyFunctions *geany_functions;', which is now used by
pluginmacros.h.
Add doxygen examples for geany_data and geany_functions.
Move deprecated document and filetype typedefs to src/plugindata.h,
as plugins aren't required to use pluginmacros.h.
Initialize geany_data by copying a stack struct so the compiler can
check for any missing field initializers.
Rename plugin macro p_encoding to p_encodings to follow the core
function encodings_ prefix.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2599 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-19 12:35:35 +00:00
Enrico Tröger
1e9784d18f Define p_editor in the right way, oops.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2597 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-18 16:08:26 +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
a6ba330b1d Make right clicking on items not lose the current selection, like
the standard GtkFileChooser.
Add separator before the Clear filter toolbar button.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2592 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-16 12:16:03 +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
c3c4bc008d Make p_editor macro also available if GEANY_DISABLE_DEPRECATED is not defined.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2590 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-15 16:19:00 +00:00
Enrico Tröger
b2cddc87a0 Move indicator functions from document.c into editor.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2587 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-14 17:58:56 +00:00
Enrico Tröger
f04e0c3955 Change an error message to be more clear about the error.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2582 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-14 15:50:11 +00:00
Nick Treleaven
a5df9640c9 Add filetypes_array macro to allow use of filetypes[ft_id].
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-filetypes@2555 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-07 12:22:46 +00:00
Nick Treleaven
5340f2b9c8 Remove filetypes array from API.
Replace filetypes_get_from_uid() with filetypes_lookup_by_name().
Use a hash table for filetypes, but keep the old filetypes array
available for now.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-filetypes@2538 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-28 14:41:09 +00:00
Enrico Tröger
75e749ceb5 Add file filter text entry (patch by Robert McGinley, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2518 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-22 15:14:30 +00:00
Enrico Tröger
1cf8daa1dc Fix typo.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2516 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-22 14:53:20 +00:00
Enrico Tröger
c87a82adec Make use of ngettext() for strings with plural forms.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2515 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-22 14:44:45 +00:00
Enrico Tröger
d9690cbe77 Add navqueue_goto_line() to plugin API.
Make navqueue_goto_line() store document filename instead of tagmanager filename (patch by Yura Siamashka, thanks).
This makes it also possible to add navigation history items for files without a tagmanager filename.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2496 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-17 17:48:12 +00:00
Enrico Tröger
2652667577 Add DEBUG flag to all Windows makefiles to make it possible to build with debug symbols and without optimizations also on Windows (using make DEBUG=1).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2487 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-15 15:11:05 +00:00
Enrico Tröger
2f2cee58cb Avoid linking plugins against GTK libraries which seems unnecessary.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2461 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-09 16:21:59 +00:00
Nick Treleaven
958cb93eac Add configurable keybindings for focusing the Path Entry and File
List.
Refactor load_settings() from init().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2444 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-03 16:06:41 +00:00
Nick Treleaven
9dd3382343 Add missing mnemonics (except for 3 popup menu items, ran out of
letters).
Capitalize some menu items.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2430 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-31 13:09:56 +00:00
Nick Treleaven
ddb7fa0753 Rename VCDiff plugin Version Diff.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2417 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-27 13:09:20 +00:00
Enrico Tröger
898c0602de Fix two memory leaks and prevent showing two dialog boxes with the same error message.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2415 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-26 17:52:27 +00:00
Nick Treleaven
07d37be882 Rename VERSION_CHECK PLUGIN_VERSION_CHECK, but keep a deprecated
alias so outside plugins still compile.
Update our plugins to use this.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2411 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-26 17:10:18 +00:00
Nick Treleaven
83a1ac1945 Rename p_filetype p_filetypes to keep the symmetry with filetypes_*,
and define it also when GEANY_DISABLE_DEPRECATED is not set.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2406 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-26 13:27:31 +00:00
Enrico Tröger
4a443a16bc Add p_filetype.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2401 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-24 17:33:50 +00:00
Nick Treleaven
ad46583aa9 Change author to Alexander Rodin, as he did all the design work.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2383 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-21 17:12:19 +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
Enrico Tröger
1bd9ee6664 Use a separate string for keybinding label to avoid display of an underscore.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2337 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-13 15:08:03 +00:00
Enrico Tröger
80cec8e6ba Install header files and add a pkg-config file for external plugins.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2333 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-13 12:15:26 +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
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