298 Commits

Author SHA1 Message Date
Enrico Tröger
5752ee9863 Rename utils_start_browser() in utils_open_browser() and add it to the plugin API.
Add plugin symbol plugin_help() which is called by Geany when the plugin should show its documentation (if any). This symbol is optional, plugins can omit it if not needed.
Add a Help button next to the Configure button in the plugin manager dialog to easily open a plugin's documentation if available.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3524 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-28 19:30:18 +00:00
Enrico Tröger
644a9cfbff Add a progressbar widget to the statusbar and use it to show progress when building with the Make commands, when printing and when using Find in Files.
Add progressbar convenience functions and ui_entry_add_clear_icon() to the plugin API.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3517 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-27 20:19:43 +00:00
Enrico Tröger
836fa1dca0 Add dialogs_show_input_numeric() to the plugins API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3497 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-21 22:49:47 +00:00
Enrico Tröger
de3d3b42fb Add document_save_file_as and document_rename_file to the plugin API.
If GIO is available, use GFileMonitor to watch for file disk changes and indicate them immediately using an orange tab label colour.
Break plugin ABI for this and the last commits.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3484 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-18 18:19:58 +00:00
Enrico Tröger
c636728975 Fix several compiler warnings and build errors (patch by Daniel Richard G., thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3460 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-11 18:29:39 +00:00
Enrico Tröger
39a6eb455e Update copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3446 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-04 18:30:42 +00:00
Nick Treleaven
077270c647 Remove geanyobject.h includes.
Use GObject instead of unused GeanyObject argument.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3439 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-03 13:03:42 +00:00
Nick Treleaven
0f575ea2b7 Don't forget active plugins after disabling plugin support.
Use Stash for plugin-related prefs.
Add geany_object "save-settings" signal (for core only).
Add stash_group_add_string_vector().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3425 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-28 13:21:35 +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
Nick Treleaven
46389fb650 On quitting, sort list of active plugins by plugin name.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3398 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-18 17:28:11 +00:00
Enrico Tröger
5d97590d21 Fix plugin toolbar icon placement. Now they are always inserted before the Quit button if it is the last toolbar element or at the end otherwise.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3361 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-11 16:51:46 +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
921f010ffc Rename msgwin_compiler_add -> msgwin_compiler_add_string.
Rename msgwin_msg_add -> msgwin_msg_add_string.
Rename msgwin_compiler_add_fmt -> msgwin_compiler_add.
Rename msgwin_msg_add_fmt -> msgwin_msg_add.
This fixes 2 geanyfunctions.h macros, and is more consistent with
msgwin_status_add().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3326 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-05 17:30:06 +00:00
Nick Treleaven
b2f966dca9 Add GeanyFunctions::p_msgwin to fix the prefix for generated macros.
Deprecate GeanyFunctions::p_msgwindow.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3323 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-05 16:29:32 +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
Nick Treleaven
2d015b6fb2 Allow generating macros for functions with digits in the name.
Don't generate dummyprefix_scintilla_send_message and lookup_widget
macros.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3312 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-04 13:55:11 +00:00
Nick Treleaven
5763dfbe2d Add document_index(), filetypes_index() array accessor functions to
the plugin API.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3310 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-03 18:03:54 +00:00
Nick Treleaven
80b936037e Add scintilla_send_message() to the API with its own prefix, so
the geanyfunctions.h macro works.
Deprecate p_sci->send_message().
Add scintilla_new() to the plugin API.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3309 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-03 13:36:45 +00:00
Nick Treleaven
f813a6a7e4 Add ui_lookup_widget() to plugin API (so genapi.py has a suitable
prefix).
Mark SupportFuncs as deprecated.
Add description comment for geanyfunctions.h.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3307 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-02 18:33:41 +00:00
Enrico Tröger
160e5e8491 Attempt to make utils_get_date_time() UTF-8 safe and add it to the plugin API.
Fix misnamed str_casecmp() function in the plugin API, sorry.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3267 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-21 17:40:04 +00:00
Nick Treleaven
e6fa252184 Create geany_object in main.c so core functions can use it even
when plugins are disabled.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3265 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-21 17:27:16 +00:00
Nick Treleaven
dc8227ad94 Add function ui_image_menu_item_new() to the plugin API, to easily
create a menu item with a stock image and a custom label.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3261 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-21 13:34:58 +00:00
Enrico Tröger
81ffd05aa1 dd ui_widget_set_tooltip_text() as a convenience function to easily set tooltips for widgets. It uses gtk_widget_set_tooltip_text() on GTK >= 2.12 otherwise the old tooltips API.Use ui_widget_set_tooltip_text().
Use ui_widget_set_tooltip_text() in the plugins.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3250 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-18 20:14:42 +00:00
Enrico Tröger
18095fca79 Note: this breaks the plugin API for Editor and Scintilla functions.
Rename all functions in editor.c and sciwrappers.c which are related to indicators for more consistency.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3238 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-16 17:54:28 +00:00
Enrico Tröger
d7caf0f9c0 Follow XDG Base Directory specification and use $XDG_CONFIG_HOME/geany (most often this is ~/.config/geany) as default configuration directory (closes #2166229).
The previous configuration will be moved to the new location if the new directory doesn't exist yet.
Move utils_make_settings_dir() into main.c.
Remove win32_get_appdata_folder() because g_get_user_config_dir() does the same.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3219 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-13 14:37:47 +00:00
Enrico Tröger
d1b5ace11c Replace uses of g_strcasecmp() with our own implementation, utils_str_casecmp().
Add utils_str_casecmp() to the plugin API.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3210 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-11 19:18:51 +00:00
Nick Treleaven
12e29d7ebd Make Version Diff plugin set the indent type for diffs based on the
current file's indent type.
Add editor_set_indent_type() to the API.
Note: uses editor.h plugindata.h include.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3194 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-08 13:32:55 +00:00
Enrico Tröger
0324ed71f6 Add *_full variants of editor indicator functions to the plugin API for more control over indicators.
Add/Update some API docs.
Make the 'Mark' button for Find highlight the results with rounded boxes instead of marking the whole line.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3155 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-10-25 18:57:00 +00:00
Enrico Tröger
1c46db7dd6 Add main_locale_init() to the plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3153 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-10-25 18:56:27 +00:00
Enrico Tröger
242f50ebd9 Fix deprecated usage of g_win32_get_package_installation_directory(), pass NULL as package name.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3151 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-10-25 18:56:04 +00:00
Nick Treleaven
e72e7c337a Fix showing desensitive widgets if no documents are open when a
plugin is first loaded.
Remove plugins_update_document_sensitive().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3095 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-10-15 12:19:24 +00:00
Nick Treleaven
65768ef184 Show the tools menu separator if there are any items below it.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3094 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-10-15 11:59:32 +00:00
Nick Treleaven
c343d904b2 Add ui_add_document_sensitive() to the plugin API.
Deprecate plugin_fields, PluginFlags - use
ui_add_document_sensitive() instead.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3084 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-10-14 14:49:41 +00:00
Nick Treleaven
8eab24c159 Use geany_debug() instead of g_warning() when a plugin has
unresolved symbols.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3077 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-10-13 15:52:32 +00:00
Nick Treleaven
6133c0b5d6 Tidy up plugin cleanup code.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3076 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-10-13 15:40:12 +00:00
Nick Treleaven
d8d727752e - API changes:
Replace p_ui->get_toolbar_insert_position() with
p_plugin->add_toolbar_item(), which also adds a separator when the
first item is added.
Add 'GeanyPlugin *geany_plugin' plugin symbol, partly to replace
plugin_info (now deprecated), mainly to identify a plugin and hold
private implementation fields for plugin utility functions.
(plugin_info will be removed after the 0.15 release.)
- Code changes:
Add ui_auto_separator_add_ref() to hide separator-like widgets when
their visible group elements are hidden or destroyed.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3074 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-10-13 12:38:32 +00:00
Enrico Tröger
9aa5ba41c7 Plug some memory leaks due to some missing g_object_unref's.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3056 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-10-07 18:51:50 +00:00
Enrico Tröger
bab0991c36 Rename the new indicator functions and add documentation comment.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2973 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-18 13:27:10 +00:00
Nick Treleaven
2b4fe97620 Use wrap label for the first label in the plugin manager dialog.
Use scrolled window for plugin details text area to avoid resizing
dialog components if a plugin has a long description.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2969 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-18 11:41:27 +00:00
Enrico Tröger
a6ce9b8a6d Replace the usage of the old Scintilla indicator API by the new modern API and remove old hacks (patch by Jason Oster, thanks).
Add new sci_indic_clear() function to the plugin API.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2966 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-17 18:05:27 +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
34f54710dd Merge split-window-plugin branch.
Add Split Window plugin (should work OK for viewing and basic text
editing; most other features are not implemented yet).
Add editor_create_widget() to the API.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2954 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-16 16:06:47 +00:00
Nick Treleaven
186e366348 Add editor_create_widget() to the API; remove editor_create(),
editor_destroy().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/split-window-plugin@2950 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-16 15:21:46 +00:00
Enrico Tröger
b747234117 Add ui_get_toolbar_insert_position() for plugins to get a position to insert new toolbar items.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2930 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-08 14:28:59 +00:00
Nick Treleaven
9f8f2c7b28 Add Split Window plugin (work-in-progress).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/split-window-plugin@2906 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-26 15:58:07 +00:00
Nick Treleaven
16d8dad107 Rename api_version GEANY_API_VERSION.
Rename abi_version GEANY_ABI_VERSION.
Use enums for each of these so they can be used to initialize a
global variable, and add dox.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2888 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-14 15:50:40 +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
b74eb47577 Add sci_get_tab_width() to the API, and use it to get the correct
display tab width in the Export plugin.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2866 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-08 14:46:31 +00:00
Nick Treleaven
a6eac00cc1 Add editor_get_indent_prefs() to the API.
Make editor_get_indent_prefs() return default prefs if editor is
NULL.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2861 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-07 15:30:52 +00:00
Nick Treleaven
5f18cee90f Add dox for FiletypeFuncs and some of GeanyFiletype.
Rename filetypes_detect_from_file() to
filetypes_detect_from_document().
Rename filetypes_detect_from_filename() to
filetypes_detect_from_file() because it also detects shebang lines.
Remove function prototype comments for filetypes.h (see filetypes.c
or API dox instead).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2805 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-23 14:44:27 +00:00