64 Commits

Author SHA1 Message Date
Enrico Tröger
f947152af9 Add document_set_filetype() and filetypes_get_from_uid() to
the plugin API.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2400 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-24 17:29:50 +00:00
Nick Treleaven
c57a749d69 Load and save plugin keybindings when toggling plugins in the Plugin
Manager.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2371 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-20 16:17:59 +00:00
Nick Treleaven
2a67b8e0fa Rename load_plugins() to load_all_plugins(), add comment.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2364 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-19 17:42:03 +00:00
Nick Treleaven
df6e28335f Set mnemonic for Plugin Manager.
Use GTK_RESPONSE_CANCEL for Plugin Manager dialog so pressing escape
closes the dialog.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2363 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-19 17:15:28 +00:00
Enrico Tröger
fa758933bb Rework internal handling of plugin/module loading.
At startup, only load enabled plugins, all others are only loaded when the plugin manager is opened and get completely unloaded when it is closed.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2355 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-17 15:48:15 +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
Enrico Tröger
3d02477f7d Remove unused function is_active_plugin().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2332 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-13 12:06:10 +00:00
Enrico Tröger
055b9b562b Don't load all available plugins on startup, it's only necessary opening the plugin manager.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2330 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-13 09:18:41 +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
ee26ac9254 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.
Disable setting menu accelerators (temporary).
Disable Keyboard Shortcuts dialog (temporary).
Disable snippets completion (temporary).
Disable focus commands in the VTE (temporary).
Make Tags group use separate cb_func_tags callback.
Rename keybindings_cmd() to keybindings_send_command().
Add keybindings_lookup_item().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/plugin-keybindings@2297 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-29 19:30:28 +00:00
Enrico Tröger
b7bfb2743a Replace all C++-style comments with usual C-like multi-line comments.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2287 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-27 13:17:29 +00:00
Enrico Tröger
ce12940621 Apply patch by Pierre Joye to add new process spawning implementation for Windows.
Make utils_spawn_* available to plugin API.
This makes the VCdiff plugin to work on Windows (thanks).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2279 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-24 10:27:32 +00:00
Enrico Tröger
85f73129c0 Apply patch from Daniel Richard G. to fix to fix several compiler warnings, C89 violations and minor code problems (thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2267 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-20 11:24:23 +00:00
Nick Treleaven
43704d8ebe Add ui_button_new_with_image() to plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2223 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-04 13:40:14 +00:00
Nick Treleaven
4c747131c1 Add sci_get_current_line() to plugin API.
Add ui_table_add_row(), ui_path_box_new() to plugin API (thanks to
Yura Siamashka).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2221 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-04 12:49:14 +00:00
Enrico Tröger
7b85b02f93 Add encodings_get_charset_from_index() and make it available through plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2177 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-16 16:50:10 +00:00
Enrico Tröger
2ff8416767 Add GeanyWrapLabel (subclass of GtkLabel) to wrap text at any width.
Use GeanyWrapLabel in preferences dialog and plugin manager dialog to save a lot of space and improve layout of descriptive texts.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2152 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-09 13:24:36 +00:00
Enrico Tröger
e3201062c6 Update copyright information and change format of email addresses in source files.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2150 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-06 18:11:57 +00:00
Enrico Tröger
697195c4fe Patch by Yura Siamashka:
Add project type field.
Go to tag definition/declaration will open the file with the tag if it isn't already open.
Add some utils and tagmanager functions to the plugin API.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2145 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-02 21:20:33 +00:00
Enrico Tröger
3fef2dcc58 Prefix autotools macros with GEANY to avoid problems with already defined symbols on Windows.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2117 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-19 15:37:10 +00:00
Enrico Tröger
639e23effa Use pluginmacros.h (for classbuilder and htmlchars plugins).
Add highlighting_get_style().
Add highlighting_get_style() to the plugin API.
Rename DocumentFuncs field in GeanyData struct to avoid name clashes.	      


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2103 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-16 11:27:59 +00:00
Enrico Tröger
fc6c31a242 Add binary relocation support.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2100 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-12 20:04:45 +00:00
Enrico Tröger
450595f6b8 Set treeview rules hint for several treeviews and remove manual setting the background colour of odd rows of the status and message treeviews (closes #1848901).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2097 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-12 16:34:02 +00:00
Enrico Tröger
c27e9b54c6 Add search_show_find_in_files_dialog() to the plugin API.
Make path entry of filebrowser plugin editable.
Add "Open with" and "Find in Files" popup menu items to filebrowser  plugin and add configuration dialog.	    


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2085 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-02 10:52:19 +00:00
Enrico Tröger
de8caa6055 Remove obsolete SVNdiff plugin, use the VC Diff plugin.
Add option for amount of characters to trigger symbol completion.
Add document_find_by_filename to the plugin API.		


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2084 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-01 17:53:36 +00:00
Enrico Tröger
8cb52f7f3b Fix plugin separator placement in the Tools menu.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2070 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-23 16:37:03 +00:00
Enrico Tröger
5e6b3d5165 Remove ununsed function project_save().
Fix typo in plugin API at utils_mkdir().
Add document_get_n_idx() to the plugin API.
Fix display of plugin separator in the Tools menu when only plugins without menu item are loaded.
Add three new signals: project_open, project_save, project_close.
On Shutdown close the project before plugins are unloaded to let plugins work on the last project closed event.			


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2065 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-21 18:54:12 +00:00
Enrico Tröger
5f6958cba4 Add utils_mkdir() to the plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2061 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-20 18:37:20 +00:00
Enrico Tröger
2b07283739 Add plugin manager dialog to select plugins to load at startup and to call a plugin configure dialog.
Add configure symbol for plugins which is called by Geany when a configure dialog for the plugin is requested, optionally.
Add author field to plugin info struct.
Add sample configure dialog to the demo plugin.
Fix cleanup code in filebrowser plugin to remove it completely when unloaded.			


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2060 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-20 18:15:46 +00:00
Enrico Tröger
9610c0f63d Add document_set_text_changed() to the plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2014 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-04 10:12:15 +00:00
Nick Treleaven
601dfd69f7 Make msgwin_status_add() only log a message, not display it on the
status bar.
Make ui_set_statusbar() take a log argument for whether to record the
message in the Status window.
(Plugin API functions already do this).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1971 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-24 10:52:48 +00:00
Nick Treleaven
a54ddf4795 Added File Browser sidebar plugin.
Rename 'Open Files' sidebar tab 'Documents'.
Add keybindings->send_command() and tm->get_real_path() to the plugin
API.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1966 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-22 12:42:19 +00:00
Enrico Tröger
62d31d6c92 Add encoding related functions to the plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1958 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-18 18:03:28 +00:00
Enrico Tröger
7c78e6a4a0 Fix wrong callback signatures in Export plugin and make menu item document sensitive.
Add dialogs_show_save_as() to the plugin API.   


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1950 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-16 09:01:13 +00:00
Nick Treleaven
6e4fa68d94 Don't show file opened/saved/closed messages on the status bar.
Add temporary function msgwin_status_add_new() for v0.12 (to avoid
many code changes updating msgwin_status_add() before the release).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1913 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-27 11:39:21 +00:00
Nick Treleaven
db980f3f83 Add ui->set_statusbar() to the plugin API.
Make plugin function msgwin->status_add() not set the statusbar - but
ui->set_statusbar() can now be used to do both with the log argument.
After Geany 0.12 this is how the core versions of those functions
will work, so the status window can be set independently.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1903 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-25 16:21:35 +00:00
Nick Treleaven
0f36471020 Apply patch from blackdog to add build_info and
msgwindow->compiler_add() to the plugin API (thanks).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1884 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-17 11:16:48 +00:00
Nick Treleaven
b7113bfa7a Add reload_file() document function to the plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1869 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-11 16:05:03 +00:00
Nick Treleaven
274058eb7a Neaten up the plugin API:
Make document_open_file() now wrap document_open_file_full(),
without the idx for reloading or pos arguments.
Replace str_replace() with string_replace_all() in the plugin API.
Add utils_string_replace_all(), taking a GString argument.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1868 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-11 15:21:11 +00:00
Enrico Tröger
73557807a8 Remove get_zoom from plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1867 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-10 18:25:03 +00:00
Nick Treleaven
ef1399e000 Rename MyApp -> GeanyApp.
Move most GeanyApp fields into:
GeanyPrefs for (most) Preferences dialog fields;
UIPrefs for non-Prefs dialog visual settings;
UIWidgets for less commonly used widgets such as menuitems and
dialogs;
GeanyStatus for various states the application can be in.
Move some GeanyApp fields into EditorPrefs (and one into each of
CommandLineOptions and SidebarTreeviews).
Add plugin API prefs field.
Move disabling build widgets on Windows to build_init().
Make build callbacks static.
Add treeviews_init() to prepare popup menus and open files treeview.
Replace treeviews_find_node() with treeviews_select_openfiles_item().
Make utils_isbrace() and utils_is_opening_brace() take an
'include_angles' argument (to separate from editor_prefs).
Make 'Goto matching brace' keybinding include <> angle brackets.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1815 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-23 11:34:06 +00:00
Enrico Tröger
704940dcdf New plugin: Export as HTML and LaTeX.
Add some functions to the plugin API needed by the Export plugin.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1811 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-19 17:40:19 +00:00
Nick Treleaven
9268f74e2f Apply patch from Jeff Pohlmeyer to fix warning when unloading plugins
that use signals when quitting (thanks).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1809 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-17 11:48:30 +00:00
Nick Treleaven
9f46d083c5 Move #define PLAT_GTK to geany.h.
Move filetype typedef to geany.h.
Don't #include any src/*.h files from headers.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1800 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-15 15:37:21 +00:00
Nick Treleaven
9fcc4997ac Disconnect plugin callback signals when unloading plugins, to prevent
a segfault when emitting signals.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1799 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-15 12:29:57 +00:00
Nick Treleaven
2fa7ce5794 Apply patch from Jeff Pohlmeyer to add document_remove() to the
plugin API (thanks).
Add document_open_files() to plugin API.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1798 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-15 11:52:06 +00:00
Nick Treleaven
d8d971ea9f Apply patch from blackdog to add document_save_file() to the plugin
API (thanks).
Add document_open_file() to plugin API.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1796 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-14 16:29:03 +00:00
Nick Treleaven
15cec02d07 Add plugin symbol geany_callbacks (see plugindata.h for details).
Add GeanyObject type with "document-new", "document-open",
"document-save" signals.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1785 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-10 16:11:17 +00:00
Enrico Tröger
1f2aa9d983 Prevent loading the same plugin in different paths.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1770 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-04 16:25:13 +00:00