77 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
Nick Treleaven
d131023fe7 Add basic Line Breaking option in the Document menu. Line breaking
only works when typing characters past the line breaking column
number.
Add 'Line breaking column' editor pref.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2562 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-09 12:13:29 +00:00
Nick Treleaven
3afebc701c Move Close All functions to document.c.
Add document_account_for_unsaved().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2526 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-24 14:33:12 +00:00
Nick Treleaven
dc398a3b59 Add document_close_all() and use it in project.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2521 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-23 17:07:52 +00:00
Enrico Tröger
9024500f92 Add document_new_file_if_non_open() to open new documents if no other documents are open.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2453 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-08 14:07:17 +00:00
Nick Treleaven
c248368faf Only use filetype detection after Save As, not on every save when the
filetype is None (fixes #1891778).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2377 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-21 14:02:59 +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
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
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
Enrico Tröger
80532b616d Store more document-related settings session-based in the configuration file(including the file encoding).
Detect in-file specified file encoding by scanning the file using regular expressions.	    


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2093 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-07 14:13:05 +00:00
Enrico Tröger
fff66178da Add native GTK printing support.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2050 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-17 14:04:27 +00:00
Nick Treleaven
5f688c6294 Apply patch from Catalin Marinas to add a 'newline strips trailing
spaces' pref (thanks).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1956 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-18 11:52:47 +00:00
Nick Treleaven
a2589f87fa Add Indent Type option in the Document menu.
Add 'Detect from file' Editor indentation pref.
Show TAB or SP for current document's indent type.
Minor editing of Document menu and editor Indentation prefs group.
Use GString for statusbar statistics.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1953 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-17 12:27:07 +00:00
Nick Treleaven
b7113bfa7a Add reload_file() document function to the plugin API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1869 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-11 16:05:03 +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
Nick Treleaven
1887a20df4 Add text argument for document_new_file(), so that it's independent
from filetype templates.
Make File->New create a blank document, rather than using the None
filetype template.
Add None option for the 'New with Template' menu commands.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1848 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-03 16:09:53 +00:00
Nick Treleaven
b401b698ea Move file-related fields from EditorPrefs -> GeanyPrefs.
Rename line_breaking -> line_wrapping for EditorPrefs and document.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1823 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-24 16:20:33 +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
Nick Treleaven
73007c11e8 Move font & file open/save dialog callbacks to dialogs.c.
Add document_clone() in document.c (for Save As open in new tab).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1716 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-17 14:52:57 +00:00
Enrico Tröger
8528f95e82 Change the background colour of the search bar in the toolbar according to the search result.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1687 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-09 17:33:31 +00:00
Enrico Tröger
6069531e78 Fix focus problem when using the Find dialog.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1663 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-04 17:08:53 +00:00
Enrico Tröger
541bd309a6 Change signature of sci_replace_sel() to take a const gchar*.
Move code to insert a colour to document.c
Let the code also work on Windows (untested).	 


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1649 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-06-27 19:36:43 +00:00
Nick Treleaven
05cbc77bab Rename some menubar widget names.
Use indentation spelling in variable names.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1611 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-06-12 15:16:17 +00:00
Enrico Tröger
9dc61832fc Added different auto indention modes to select who should Geany indent new lines (closes #1615605).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1373 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-03-08 18:02:08 +00:00
Nick Treleaven
7cb6832039 Speed up loading multiple C-like files when existing documents are
open (by ensuring documents are only colourised once).
Add document_open_files(), document_colourise_new().
Add some missing function parameter names to document.h.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1369 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-03-06 16:57:09 +00:00
Nick Treleaven
594935a05d Fixed switching to the wrong tab when showing the unsaved dialog.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1324 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-23 15:36:21 +00:00
Nick Treleaven
477aa6fa75 Speed up loading multiple C-like files when restoring session or
loading command-line files at startup by ensuring documents are
only colourised once.
Also prevent re-colourising C-like documents after saving a file
unless the list of typenames has changed.
Add document_delay_colourise(), document_colourise_all().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1323 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-23 13:26:06 +00:00
Enrico Tröger
f548b5b5bb Added possibility to create and open non-existent files from command line (closes #1635094 and #1652917).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1290 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-15 23:56:15 +00:00
Enrico Tröger
3f360fcdd9 Improved the auto scrolling of documents (actually done by Nick).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1237 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-31 15:53:11 +00:00
Enrico Tröger
8da68b6756 Fixed some scrolling issues with session files and files remotely open via the socket. Added need_scrolling flag to document struct.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1233 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-27 18:45:47 +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
d14742366c Fixed broken overtype update in the statusbar.
Removed unused field do_overwrite in document struct.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1067 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-12-08 15:30:44 +00:00
Nick Treleaven
1edaaa3d6c Show read-only notebook tabs in green.
Add document_get_status() to get the tab colour for the document.
Use ui_update_tab_status() to update notebook tabs and open files
treeview items.
Avoid using GtkTreeIter struct as treeviews function arguments.
Remove unneeded arguments for treeviews_openfiles_add(),
notebook_new_tab().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1053 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-12-05 10:37:36 +00:00
Nick Treleaven
3537731023 When replacing in session, use notebook page order and show a count
of the files changed.
Show the filename when replacing text over a range.
Add DOC_FILENAME() null-safe macro to get the filename at doc_idx.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1031 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-11-25 12:32:22 +00:00
Nick Treleaven
b2f191d37a Fix sign comparison warnings.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1008 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-11-17 12:19:31 +00:00
Enrico Tröger
99806172b2 Enabled drag and drop for the whole main window to be able to drop files even if no tabs are open.
Moved code for getting the file list to document_open_file_list().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1004 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-11-15 23:12:13 +00:00
Nick Treleaven
c3300b2da9 Add NULL-safe FILETYPE_ID macro to get filetype::id from pointer.
Allow insertion of GPL notice and file header when the filetype is
not set.
Add commenting for PHP & HTML GPL notice and file header templates.
Add make_comment_block() to templates.c.
Move document_prepare_template(), filetypes_get_template() to
templates.c.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@994 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-11-14 16:03:25 +00:00
Nick Treleaven
7b1ca9594f Scroll matching selection to 1/3 of the view when searching.
Add sci_scroll_to_line(); remove sci_goto_line_scroll().
Show 'not found' message on status bar also when enter is pressed in
the search bar.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@964 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-11-03 15:09:13 +00:00
Nick Treleaven
4d42dbbe52 Fix setting document unchanged state when using Undo/Redo for
encoding or BOM changes.
Add sci_is_modified().
Added useful doc() function used only when debugging.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@922 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-10-24 13:41:34 +00:00
Enrico Tröger
47a71bc3aa Added new encoding "None" to open files without any character conversions (fixes #1580456).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@920 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-10-23 20:32:37 +00:00