106 Commits

Author SHA1 Message Date
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
Enrico Tröger
a7975ccc93 Extend icon search path to get symbol list icons working when using a non-standard installation prefix.
Query default icon theme only once to improve startup speed.
Store the line number separately in the tree store.
Remove utils_get_local_tag().	       


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1731 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-22 14:38:47 +00:00
Nick Treleaven
3ecd31d9fd Add ui_table_add_row() for easily adding widgets to a GtkTable, and
use it in project_new().
Group 'generic' functions related to GTK+ together at the top of
ui_utils.h.
Make sure G_GNUC_NULL_TERMINATED is defined in geany.h.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1702 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-13 15:54:16 +00:00
Nick Treleaven
66bdb5d9fb Add comment for utils_free_pointers() warning not to use it if any
pointers may be NULL.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1658 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-04 11:14:05 +00:00
Nick Treleaven
4193196248 Move MyApp::pref_editor_* to editor.h, using editor_prefs struct.
Move INDENT_* enums to editor.h.
Move utils_get_whitespace() to editor.c.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1587 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-05-29 16:30:54 +00:00
Nick Treleaven
b7e499529d Add setptr() macro to free data and reassign to the same pointer.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1567 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-05-24 16:00:48 +00:00
Nick Treleaven
163890a33e Move search_get_file_list() to utils.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1520 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-05-11 11:42:00 +00:00
Nick Treleaven
561bfc46aa Add NZV() macro for checking a char* points to a non-empty string.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1493 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-04-30 16:16:15 +00:00
Nick Treleaven
6ebf6aa2f5 Add G_GNUC_NULL_TERMINATED to ensure variable arglists are NULL
terminated (for GLib >= 2.8).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1475 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-04-23 15:52:44 +00:00
Enrico Tröger
b187533760 Use Ctrl+Shift+Space always for showing calltips because Alt+Space is used often by window managers (not only under Windows).
Added keybinding for inserting alternative whitespace characters.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1422 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-03-25 20:51:45 +00:00
Nick Treleaven
82836d4c7d Make New Project dialog create parent directories of the chosen base
path if necessary.
Prevent warnings when setting open dialog directory to a path whose
parent directory doesn't exist.
Add create_parent_dirs argument for utils_mkdir().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1382 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-03-10 17:26:03 +00:00
Enrico Tröger
926437688f Set IO channels for custom commands to blocking mode (thanks to Jeff Pohlmeyer).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1353 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-03-01 21:45:43 +00:00
Nick Treleaven
d39c458655 Add *.rej as a Diff filename pattern.
Add utils_strv_new() to duplicate a va_list of strings.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1263 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-08 16:26:45 +00:00
Enrico Tröger
55f054d234 Added properties dialog (still far away from state ready).
Added file_patterns field.
Added utils_mkdir().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1200 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-17 23:44:08 +00:00
Enrico Tröger
7b61ad934d Updated copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1188 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-14 17:36:42 +00:00
Enrico Tröger
2b0740a5fa Added sci_set_use_tabs().
Fixed mem leak in sci_cb_auto_forif().
Moved free_pointers() to utils.c.
Applied patch from Jeff Pohlmeyer to add an option for using spaces or tabulators when inserting some whitespace.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1186 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-14 17:09:17 +00:00