180 Commits

Author SHA1 Message Date
Nick Treleaven
dfd1ea1782 Add utils_get_config_files().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4396 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-11-04 14:47:07 +00:00
Nick Treleaven
cf35a8a495 Revert r4301 - utils_free_pointers() taking 4 arguments.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4321 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-10-15 16:15:28 +00:00
Nick Treleaven
6befde884b Add word part autocompletion for the current selected item when
pressing Tab - Enter still completes normally.
Add foreach_str() API macro.
Temporarily modify scintilla to say if tab was used for
autocompletion.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4320 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-10-15 14:57:11 +00:00
Nick Treleaven
f36c9024a3 Make utils_free_pointers() take 4 arguments, add to API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4301 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-10-12 16:03:10 +00:00
Nick Treleaven
550acb30be Add utils_get_file_list_full() which can optionally sort or include
a full path for each list item.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4264 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-09-29 12:10:17 +00:00
Nick Treleaven
8c1743cb3e Add foreach_dir() API macro.
Update API docs for utils_get_file_list().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4203 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-09-17 16:47:45 +00:00
Nick Treleaven
69922305e0 Add plugin_signal_connect() for connecting plugin signals at
runtime and also for connecting to any GObject signal.
Add 'Plugin Utility Functions' on main page.
Add foreach_array() macro.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4041 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-29 17:40:20 +00:00
Nick Treleaven
d563da620c Rename utils_str_replace() utils_str_replace_all(), setting a
'gchar **haystack' argument instead of returning a new string.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4014 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-23 16:01:45 +00:00
Nick Treleaven
86a168fb9f Change utils_str_remove_chars() to work in place; fix allocating on
the stack (the string length could exhaust the stack size).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4012 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-23 11:00:32 +00:00
Enrico Tröger
373678aec3 Move utils_str_remove_chars() from the plugins/splitwindow.c to src/utils.c and add it to the plugin API.
Make utils_str_remove_chars() work on a new copy of the input string instead of modifying it in place.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4003 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-20 23:10:46 +00:00
Nick Treleaven
3c8a24d0fd Remove relative/untidy path elements when opening documents (closes
#2823998).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3998 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-20 15:37:02 +00:00
Nick Treleaven
84f8db733d Make foreach_ptr_array() use an integer argument for its
implementation, as this is more useful potentially than a gpointer*
argument, and more straightforward.
Add foreach_c_array(), foreach_ptr_array() to API.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3997 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-20 12:25:24 +00:00
Nick Treleaven
9d8863f79e Fix removing underscores in translated string using no_underscore()
macro.
Set a tooltip for the Split Window plugin's Show Current tool button.
Add utils_strdupa() macro.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3922 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-07 11:57:50 +00:00
Nick Treleaven
f56cad490e Remove data_ptr argument to foreach_[s]list() macros, as using
node->data is enough sometimes; this makes the macro a bit more
efficient too.
Add foreach_[s]list() macros to the plugin API docs.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3862 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-06-12 15:32:35 +00:00
Enrico Tröger
5c91e8aefd Add utils_color_invert() and use it in highlighting.c and printing.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3773 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-05-08 17:00:28 +00:00
Enrico Tröger
f1eb8dc22d Ellipsize tab labels and some status messages for very long filenames (closes #2777348).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3718 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-04-21 20:52:51 +00:00
Nick Treleaven
7e7b07e3b7 Sort Configuration Files menu.
Add ui_menu_sort_by_label().
Add foreach_list() macro.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3700 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-04-08 12:25:47 +00:00
Enrico Tröger
a9dc990049 Start using G_LIKELY/G_UNLIKELY macros to gain a little more performance when building the code with gcc.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3687 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-04-05 21:07:40 +00:00
Nick Treleaven
8bf28b76fb Merge trunk changes.
Add string.h include for htmlchars.c.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/reorder-filetypes@3679 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-04-03 13:45:47 +00:00
Nick Treleaven
4753e20394 Fix sorting filetype template menu items.
Add foreach_slist() macro.
Make sorted_filetypes list public, and include None filetype first.
Rename filetypes_foreach_sorted() to filetypes_foreach_named() to
show it doesn't include the None filetype.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/reorder-filetypes@3672 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-03-31 14:32:03 +00:00
Enrico Tröger
a6cecbd433 Add utils_path_skip_root(), a relative path safe variant of g_path_skip_root (forgotten patch by Colomban Wendling, #2518658).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3663 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-03-27 15:40:19 +00:00
Enrico Tröger
c816cec79f Add missing header include (closes #2615808).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3592 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-02-19 15:09:45 +00:00
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
bd2d677d84 Support multiple %cursor% wildcards in Snippets. To switch between %cursor% wildcards, use the new keybinding 'Move cursor in snippet' (patch by Thomas Martitz, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3461 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-11 21:05:03 +00:00
Enrico Tröger
153544a80e Add utils_is_remote_path().
Add private field 'is_remote' to GeanyDocument to indicate whether an opened file is locally accessed or via gvfs-fuse.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3457 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-09 18:22:07 +00:00
Enrico Tröger
787a680290 Add checks for GIO (GLib >= 2.16) support.
Allow to specify files on the command line and from remote instances to be URIs (local and with GIO also remote URIs).

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3454 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-09 18:21:12 +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
a6992526e8 Add foreach_ptr_array() macro to utils.h.
Merge toggle button prefs code into keyfile.c Stash code.
Add toggle button support to Stash code.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3356 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-11 12:49:26 +00:00
Nick Treleaven
4bbdf80b14 Add foreach_c_array() macro in utils.h.
Add stash.[hc] for reading/writing GKeyFile settings and (later)
synchronizing widgets with C variables. Currently this only
supports boolean and integer settings.
Replace keyfile.c SettingEntry code with new stash code.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3285 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-28 12:52:19 +00:00
Nick Treleaven
899dce26b6 Add 'Tools->Configuration Files' menu with items to open
filetype_extensions.conf and ignore.tags. These files are also
reloaded automatically when saved.
- Code changes:
Make app->configdir a realpath().
Add ui_add_config_file_menu_item().
Add utils_build_path(), similar to g_build_path() but (re)using a
fixed buffer, so the result is never freed.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3279 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-26 13:15:53 +00:00
Nick Treleaven
a2ceb60e3a Make utils_free_pointers() take an arg_count argument to prevent
memory leaks.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3245 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-18 17:14:00 +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
4faeb8f46f Move utils_reload_configuration() to main.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2803 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-23 11:46:02 +00:00
Enrico Tröger
8f38a69121 Move code to reload configuration files into utils_reload_configuration() and add it to the plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2794 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-20 18:07:53 +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
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
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
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
392d1f863f Add preferences for default end of line characters for new files (closes #1895362) and to disable the automatic continuation of multi-line comments in C-like languages.
Enable multi-line continuation also for CSS files.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2580 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-14 15:36:27 +00:00
Enrico Tröger
83064ee598 Make navigation queue position based to restore the line and column when returning to a previous position (closes #1936927).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2468 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-10 18:18:34 +00:00
Enrico Tröger
16c1de3f1c Replace unsigned long in guint64 and use int instead of off_t (patch by Daniel Richard G., thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2293 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-28 16:06:04 +00:00
Enrico Tröger
fcc756701a Fix a few more compiler warnings (type conversion warnings).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2289 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-27 14:23:13 +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
Enrico Tröger
0e65cff820 Add support for generating API reference documentation using doxygen.
This is the first step, it is far away from being complete.
Add make target "api-doc" to generate the reference documentation.
Add documentation comments to a few functions.
Move basic plugin documentation from plugindata.h to doc/plugins.dox.	       


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2263 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-17 18:00:42 +00:00
Enrico Tröger
4d70dce5d4 Add utils_is_file_writeable().
Improve checks for write permission of files and directories.
Don't overwrite maybe existing project files when trying to create new project and checking for project file's write permission (thanks to Yura Siamashka for reporting and his patch).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2151 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-06 19:59:01 +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
Nick Treleaven
39738f90ca Make Open, Save As dialogs start in project base path (or default
path pref) when the current file has no filename.
Split up widget setup code for dialogs_show_open_file(),
dialogs_show_save_as().
Add initial_dir argument for win32_show_file_dialog().
Add utils_get_default_dir_utf8().
Rename utils_get_current_file_dir() to
utils_get_current_file_dir_utf8().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2122 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-21 17:25:58 +00:00