133 Commits

Author SHA1 Message Date
Nick Treleaven
71e03b2cb0 Add Previous Error menu item.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2727 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-26 16:17:28 +00:00
Nick Treleaven
652d073d62 Merge the document-pointer branch.
Note: this breaks the plugin API for document functions,
document signal callbacks, msgwin_msg_add() and navqueue_goto_line().
Make all DocumentFuncs use a GeanyDocument* instead of an integer
index, so there's no need to access the documents array or use
DOC_IDX_VALID() - usually just check for non-NULL.
Pass a document pointer to the callbacks of all document-* signals.
Add GeanyDocument::index field for use with the documents array.
Remove DocumentFuncs::get_cur_idx() - use get_current() instead.
Replace DocumentFuncs::get_n_idx() with get_from_page().
Rename DocumentFuncs::find_by_realpath() to find_by_real_path().
Replace DocumentFuncs::remove() with remove_page().
Add 'changed' argument for DocumentFuncs::set_text_changed().
Make NavQueueFuncs and MsgWinFuncs use a GeanyDocument* instead of an
integer index.
Add DOC_VALID() macro.
Add deprecated DOC_IDX() macro to get the document index from a
possibly NULL pointer; deprecate macro DOC_IDX_VALID. These macros
can make porting outside plugins easier; of course, it is better to
rewrite the code to use document pointers.
Use document pointer instead of an index to the documents array
everywhere in the core code.
Rename utils_check_disk_status() in document_check_disk_status() and
move it into document.c.
Adjust plugins to work with these changes.
Add dox for document_set_filetype().
Rename debugging function doc() doc_at() to avoid conflicts.
Update plugin signals dox.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2705 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-18 17:03:08 +00:00
Nick Treleaven
56e77de794 Bring back GeanyDocument::is_valid field as it is clearer and more
descriptive than using doc->index != -1.
Add deprecated macros DOC_IDX_VALID and DOC_IDX in plugindata.h,
which can make porting outside plugins easier; of course, it is
better to rewrite the code to use document pointers.
Use is_valid instead of the DOC_VALID macro when iterating over
documents_array, as there are never NULL pointers in it.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2704 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-18 14:18:26 +00:00
Nick Treleaven
1e4b1594e5 Minor formatting.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2703 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-18 13:37:03 +00:00
Enrico Tröger
497ce61b46 Fix executing commands in the VTE.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2700 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-17 17:04:12 +00:00
Enrico Tröger
d03f72122a Get rid of GeanyDocument::is_valid, use the index value instead.
Remove DOC_IDX_* macros.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2693 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-15 15:24:44 +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
Enrico Tröger
1e8d82f46a Note: this breaks the plugin API for msgwin and navqueue functions.
Make NavQueueFuncs and MsgWinFuncs use a GeanyDocument* instead of an integer index.
Adjust plugins to work with these changes.            


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2688 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-12 20:09:57 +00:00
Nick Treleaven
50b0a10654 Note: this breaks the plugin API for plugins using
document_find_by_filename().
Make document_find_by_filename() take only a utf8_filename argument,
and now match any documents that have a filename set but aren't saved
on disk.
Add document_find_by_realpath() to the plugin API.
Add filename argument for document_save_file_as().
Add GeanyDocument::real_path field, which if non-NULL indicates the
file once existed on disk (not just as an unsaved document filename).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2637 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-03 17:22:04 +00:00
Nick Treleaven
be0d9e8ea7 Note: this breaks the plugin API.
Replace doc_array with documents_array, a pointer array. This is
necessary to avoid breaking the ABI every time a field is added to
GeanyDocument.
Remove deprecated pluginmacros.h documents macro, to avoid a
conflict.
Replace doc_list[] macro with documents[] macro, which returns a
GeanyDocument pointer.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2624 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-29 17:00:54 +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
41801ae852 Rename BuildInfo struct to GeanyBuildInfo.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2595 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-16 14:35:41 +00:00
Enrico Tröger
311b82ebb2 Rename document struct to GeanyDocument.
Rename filetype struct to GeanyFiletype.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2594 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-16 14:17:54 +00:00
Nick Treleaven
3a12da9daf Note: this commit breaks the plugin API (but is necessary so that in
future the ABI can stay stable when adding preferences).
Split up prefs into interface_prefs, toolbar_prefs, file_prefs,
search_prefs, tool_prefs, template_prefs, and add these to the
plugin API.
Move suppress_search_dialogs and search_use_current_word to
search_prefs, and rename accordingly.
Rename switch_msgwin_pages pref to switch_to_status.
Remove toolbar_ prefix for toolbar_prefs items.
Remove tool_ prefix for tool_prefs items.
Remove template_ prefix for template_prefs items.
Add Geany prefix for EditorPrefs.
Add Geany prefix for SearchPrefs.
Initialize search_prefs to zero in main.c.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2591 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-16 12:08:39 +00:00
Enrico Tröger
b2cddc87a0 Move indicator functions from document.c into editor.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2587 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-14 17:58:56 +00:00
Enrico Tröger
c151befff3 Add new function document_set_indicator_on_line() for future use.
Add some functions to the plugin API for the upcoming spell check plugin.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2581 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-14 15:46:48 +00:00
Nick Treleaven
00c722966c Rename GEANY_FILETYPES_ALL GEANY_FILETYPES_NONE.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-filetypes@2556 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-07 13:54:21 +00:00
Enrico Tröger
5148d9986e Don't chmod created run script when using the Run command and execute the script with /bin/sh on Unix-like systems to be able to run files on FAT filesystems.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2509 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-20 11:43:07 +00:00
Nick Treleaven
9dd3382343 Add missing mnemonics (except for 3 popup menu items, ran out of
letters).
Capitalize some menu items.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2430 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-31 13:09:56 +00:00
Nick Treleaven
380b00fcb4 Fix segfault with Run command when a project is open and the current
file's filetype has no run command.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2426 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-27 18:07:43 +00:00
Enrico Tröger
8e26cfe7c1 Remove old and useless code from build_link_file().
Don't add "-o" compiler option automatically instead make it configurable through linker command.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2356 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-17 17:13:56 +00:00
Enrico Tröger
7a47ee09ab Add win32_get_exit_status() to retrieve the exit code from a command on Windows.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2344 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-14 16:59:36 +00:00
Nick Treleaven
2c19fe8e14 Break down Edit, Editing, Tags, Other keybinding groups into Editor,
Clipboard, Select, Format, Insert groups and rename GEANY_KEYS_*
accordingly.
Group most keybinding callbacks together according to keybinding
group.
Add underscore for GEANY_KEYGROUP_*.
Set main menu widget with keybindings_set_item() - this is still
ignored for now. Popup menu accels are set separately.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/plugin-keybindings@2323 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-12 13:37:39 +00:00
Nick Treleaven
84bd7aed39 Re-enable setting menu accelerators.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/plugin-keybindings@2305 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-04 16:11:59 +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
77c017e6e7 Fix typos.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2291 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-27 16:09:06 +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
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
d4764a2bc9 Add 'Make in base path' project file preference, on by default.
Add project_get_base_path(), separated from project_get_make_dir().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2163 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-11 16:53:25 +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
559ca62705 Add combo box input history for Make Custom Target dialog.
Make dialogs_show_input() automatically activate on pressing enter in
the GtkEntry, use a callback for input text, and have a 'persistent'
option to hide the dialog instead of deleting it, using a combo box
for input text history.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2120 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-21 13:09:09 +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
0d92c102b5 Use project's base dir and run command when running commands in the VTE.
Add VTE preference to skip the generated run script. when running commands in the VTE.
Make vte_cwd() accept also paths not only filenames.	       


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2105 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-17 16:58:26 +00:00
Enrico Tröger
39b5aea63b Fix Run command for HTML files when set to something else than "builtin".
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2101 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-14 13:39:15 +00:00
Enrico Tröger
d3994ae07d Prevent execution of commands by Geany if the VTE may contain any text on the prompt (thanks to "Jeff Pohlmeyer for reporting).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2092 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-06 16:38:13 +00:00
Enrico Tröger
9ff741053c Fix broken Run command on Java files on Windows.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2076 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-29 18:18:52 +00:00
Enrico Tröger
73e6e90342 Quote first element of command line when using Compile, Build and Make commands on Windows to avoid problems if the tools are specified with full path.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2028 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-06 17:07:26 +00:00
Enrico Tröger
8787314e74 Enable stopping of Run command on Windows.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2026 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-06 15:54:46 +00:00
Enrico Tröger
f819bde65a Use g_unlink() instead of unlink(). Minor code cleanups and add some sanity checks. Fix broken Run command on Windows by not changing Geany's working directory (this might break other things, unfinished).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2017 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-04 19:26:02 +00:00
Enrico Tröger
281641de55 Fix error in Compile and Build commands on Windows if the command contains double quotes. Fix error in Build command when the executable file name contains spaces(Linux and Windows).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2012 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-04 09:57:47 +00:00
Enrico Tröger
bceb2ce942 Add exit code detection for Windows.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2007 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-02 12:58:38 +00:00
Nick Treleaven
fbb8fb5f54 Enable build support on Windows.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2003 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-01 12:54:38 +00:00
Enrico Tröger
2d77d3013a Add support for relative project base path.
Improve and synchronize base path tooltips in project new and properties dialogs.
Fix minor GUI annoyances in project dialogs.	    


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1984 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-28 17:02:36 +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
4ff90adf26 Fix displaying error indicators with Make after entering a
subdirectory.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1915 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-27 15:10:22 +00:00
Enrico Tröger
ac7e6acee5 Change quotes in some error messages to be more consistent (thanks Frank).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1863 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-09 16:13:30 +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
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
Enrico Tröger
b54eb0a180 Always use g_fopen() and g_stat() instead of fopen() and stat() to fix several problems with filenames containing special characters on Windows. Use GetFullPathName() instead of lrealpath() to get Tagmanager working on files containing special characters on Windows.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1714 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-17 12:04:46 +00:00
Nick Treleaven
3f69767f4b Hopefully fix gtk_widget_set_sensitive assertion failed warning on
Windows.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1632 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-06-19 17:11:46 +00:00