94 Commits

Author SHA1 Message Date
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
Nick Treleaven
6044ff1f50 Move utils_compare_symbol(), GeanySymbol, recreate_tag_list()
to symbols.c.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1179 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-13 13:25:05 +00:00
Nick Treleaven
af369cf776 Fix memory leak when using utils_scan_unicode_bom().
Prevent invalid memory read in utils_scan_unicode_bom() when text
length is < 4.
Move utils_scan_unicode_bom(), utils_is_unicode_charset() to
encodings.c.
Read the BOM length in handle_bom().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1167 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-07 16:22:41 +00:00
Nick Treleaven
055f70da67 Force a file changed check when attempting to open an already open
file.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1119 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-12-18 13:04:18 +00:00
Enrico Tröger
37c230845a Revert the last change to utils_str_equal() and use it again because g_str_equal() is not NULL-safe.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1059 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-12-07 16:09:45 +00:00
Enrico Tröger
c461da68f1 Removed utils_str_equal() and use g_str_equal() from GLib because it does exactly the same.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1056 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-12-06 20:44:32 +00:00
Nick Treleaven
bd1137d9e9 Rename utils_strcmp() utils_str_equal() (to avoid return value
confusion with strcmp()).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@978 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-11-08 16:21:46 +00:00
Nick Treleaven
67ce2f51b0 Move utils_get_tag_list() to symbols.c, make utils_find_tm_tag()
static.
Move symbols_get_global_keywords() to get_global_typenames() in
highlighting.c.
Add symbols_find_tags_as_string(), symbols_get_tag_list(),
symbols_get_macro_list(), symbols_find_in_workspace() from various
tag-related existing code.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@976 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-11-08 11:42:05 +00:00
Enrico Tröger
60bb784493 Moved utils_convert_to_utf8() and utils_convert_to_utf8_from_charset() to encodings.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@931 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-10-25 14:48:07 +00:00
Enrico Tröger
09d7f30aec Convert tag names to UTF-8 before showing them in the sidebar.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@794 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-09-06 17:31:53 +00:00
Nick Treleaven
a63fc1e40e Moved UI related utils from utils.c to ui_utils.c
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@790 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-09-05 14:24:47 +00:00
Nick Treleaven
0bd427bd05 Remove filetypes.h and Scintilla includes from geany.h; Add VALID_DOC_IDX macro
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@751 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-08-20 20:39:59 +00:00
Enrico Tröger
312579d70a Added menu items to insert configurable date/time strings.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@744 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-08-19 12:56:30 +00:00