2169 Commits

Author SHA1 Message Date
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
Nick Treleaven
4b1e4056b8 Fix redo, reload commands.
Fix focusing editor on notebook tab click.
Minor formatting and use NZV, DOC_FILENAME macros.
Make doc_at() debug function check idx is within range.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2702 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-18 13:36:33 +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
ef00bc7ac7 Fix spelling of a few strings (mostly BE -> AE).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2699 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-17 16:18:41 +00:00
Enrico Tröger
57b3fb52b0 Fix wrong and add missing checks.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2697 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-16 18:31:59 +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
Nick Treleaven
45af150af0 Move DOC_VALID() macro to document.h, add dox.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2691 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-13 15:02:29 +00:00
Nick Treleaven
f87ac06b49 Fix a segfault after clicking on a messages window Find Usage item
after the relevant document has been closed.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2690 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-13 14:37:59 +00:00
Enrico Tröger
1baa9d3159 Remove temporary navqueues_ and msgwins_ functions and adjust depending code.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2689 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-12 20:45:18 +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
98550fa246 Note: this breaks the plugin API for document functions.
Make all DocumentFuncs use a GeanyDocument* instead of an integer
index, so there's no need to access the documents array or (in most
cases) use DOC_IDX_VALID() - just check for non-NULL.
Add GeanyDocument::index field for use with the documents array.
Add DOC_IDX() macro to get the document index from a possibly NULL
pointer.
Note: the new functions in the core have a documents_ prefix where
they would conflict with the old names, which are still present and
used in the core (but will be removed soon).
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().
Add dox for document_set_filetype().
Rename debugging function doc() doc_at() to avoid conflicts.
Rename document_find_by_realpath() in the core also.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2687 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-12 16:50:01 +00:00
Enrico Tröger
54cf3a19bd Fix wrong marshal type (pointer != int).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2680 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-11 16:41:11 +00:00
Enrico Tröger
f36ff8ce07 Add create_py_tags.py to create a global tags file for Python (thanks to Dominic Hopf).
Add generated Python tags file (Python 2.5).

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2677 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-10 16:39:17 +00:00
Enrico Tröger
0d4cbd60a1 Allow and use arguments to the browser command (closes #1989575).
Add 'xdg-open' as first browser fallback.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2675 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-10 13:51:45 +00:00
Enrico Tröger
5739654633 Windows changes: Install plugins into lib/ not into plugins/. Don't link against libiconv when compiling against GLib 2.14 and above (it's statically linked into GLib). Install Geany's message catalogs into share/locale rather than lib/locale as GTK does since 2.12.2.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2673 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-09 19:29:54 +00:00
Frank Lanitz
9fcf17b70a Update of Czech translation
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2666 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-08 19:42:28 +00:00
Enrico Tröger
89c0342ac1 Reshow a previously shown calltip if an auto completion list was cancelled.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2663 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-08 14:49:22 +00:00
Enrico Tröger
46feb9df7d Fix two ambiguous encoding names for better compatibility with libiconv (closes #1986134).
Improve the regular expression for detecting encoding cookies to allow more variants (e.g. "encoding: utf-8").

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2659 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-08 12:18:20 +00:00
Frank Lanitz
dd03f5e708 Little update of a string
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2658 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-07 11:42:31 +00:00
Nick Treleaven
6cb19c0ae1 Revert use of SCN_PAINTED - this is called much more often than
SCN_UPDATEUI and slows down Geany.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2656 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-06 16:53:48 +00:00
Enrico Tröger
3918e53219 Display current file position in the status bar when compiled with GEANY_DEBUG.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2652 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-06 14:17:16 +00:00
Nick Treleaven
17351f2534 Check that the current file is still on disk as well as checking the
modification time.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2650 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-06 12:31:05 +00:00
Nick Treleaven
d4748f43dd Fix segfault after Save As (oops).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2648 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-05 16:42:28 +00:00
Nick Treleaven
6e91b0aba1 Update documentation for real_path, minor edit of file_name.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2647 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-05 16:07:39 +00:00
Nick Treleaven
9268c9a1dc Replace 2 macros only used locally with const char pointers.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2645 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-05 12:43:10 +00:00
Nick Treleaven
4fb246b243 Only reorder recent files on closing documents that have existed on
disk.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2644 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-05 12:36:48 +00:00
Nick Treleaven
aff4cdbc69 Only save session documents that have existed on disk (don't save
documents with a filename set but have never been saved).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2643 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-05 12:21:50 +00:00
Nick Treleaven
73d817275a Only set GeanyDocument::real_path when the file exists on disk -
after a successful save or open.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2642 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-05 12:14:51 +00:00
Enrico Tröger
7c591fbebd Change preprocessor checks for sys/time.h and remove unnecessary sys/stat.h check.
Remove useless or unused configure checks.
Install THANKS file by default.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2641 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-04 15:43:52 +00:00
Enrico Tröger
85febd5fd7 Restore the previous state of main_status.quitting status when asking for reload a changed file instead of setting it to true. Oops.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2640 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-04 13:23:43 +00:00
Enrico Tröger
8a0bcccced When quitting, prevent inconsistent GUI elements when cancelling on an unsaved file.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2639 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-03 18:15:52 +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
Enrico Tröger
45c62d7e3b Fix slightly wrong preprocessor checks.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2636 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-03 16:30:54 +00:00
Nick Treleaven
df328e491a Fix file header notice, copyright, Id string.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2635 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-02 16:30:27 +00:00
Nick Treleaven
b449de93d3 Cancel any autocompletion list when completing a snippet.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2634 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-02 16:05:03 +00:00
Nick Treleaven
1cbbb727c2 Fix possible document double-colourise after reloading a file.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2633 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-02 15:52:00 +00:00
Nick Treleaven
a86ccc6797 Reload a changed document immediately on user clicking reload
(waiting was not related to the now fixed reload-colourise problem).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2632 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-02 15:50:56 +00:00
Nick Treleaven
37e0d1f3f1 Move GeanyDocument GUI elements and saved_encoding to private
Document struct which inherits from GeanyDocument. This is to hide
implementation fields from the plugin API, so that we can change
them if necessary.
Add DOCUMENT() macro to convert a GeanyDocument* to a Document*.
Also move UNDO_*, FileEncoding to documentprivate.h.
Move undo_action struct to document.c.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2631 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-02 15:31:59 +00:00
Nick Treleaven
e6b428a9a4 Handle non-Scintilla GUI updates after SCN_PAINTED instead of
SCN_UPDATEUI to hopefully appear more responsive to typing.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2630 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-30 14:45:17 +00:00
Nick Treleaven
6acddad7cb Allow line breaking after typing any character, not just wordchars.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2629 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-30 14:25:22 +00:00
Nick Treleaven
606f6b70d5 Add deprecated macro for doc_array.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2628 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-30 14:18:43 +00:00
Enrico Tröger
2baec0ea70 Remove code that should not have been comitted. Oops.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2627 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-29 18:07:18 +00:00
Enrico Tröger
6ca0d4c471 Remove underscore prefix from some struct names.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2626 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-29 18:02:20 +00:00
Enrico Tröger
d8897914a8 Fix build with GTK >= 2.10.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2625 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-29 17:31:27 +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
e00f73bc5d Note: this breaks the plugin API.
Remove plugin symbol configure().
Add plugin symbol plugin_configure() which is used to tell Geany a
widget to pack into the plugin preferences dialog, and connect a
response callback for when the dialog receives a user decision.
This allows Geany to in future implement a common preferences dialog
for all plugins, without breaking the plugin API/ABI.
Add Apply button for plugin preference dialogs (to indicate plugins
should handle the apply response as well as OK, as a multiple plugin
configuration dialog would want an apply button).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2621 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-28 13:05:09 +00:00
Nick Treleaven
4f79ebb646 Make plugin_free() act like a destructor only, let
pm_dialog_response() call a separate function to only free non-active
plugins.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2619 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-27 15:10:08 +00:00
Nick Treleaven
c553028808 Fail to load a plugin if it has no plugin_init() function.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2618 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-27 14:47:38 +00:00