121 Commits

Author SHA1 Message Date
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
Enrico Tröger
1672c377fe Fix possible memory leak and add time_t argument in utils_get_date_time() to pass a time pointer to use.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2049 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-17 13:09:19 +00:00
Enrico Tröger
11dcb382f4 Remove utils_get_date() and add format argument to utils_get_date_time().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2040 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-11 09:03:01 +00:00
Enrico Tröger
b0109e93ca Remove unused unnecessary function utils_btoa().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2034 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-08 12:46:43 +00:00
Enrico Tröger
7cc8825ef1 Fix crashes on Windows when configuration directory could not be created. Fix problems when configuration directory path contains special characters.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2015 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-04 15:48:14 +00:00
Nick Treleaven
031ba827a5 Fix possible conflict of 'tmp' variable name in setptr macro.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1914 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-27 15:09:54 +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
d390522727 Remove convert to lower-/upper-case keybindings.
Add toggle case keybinding and change shortcut to Ctrl-Alt-U.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1860 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-07 19:01:55 +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
Nick Treleaven
767b70dbb3 Move Color Chooser and Word Count tools to tools.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1751 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-27 11:28:17 +00:00