194 Commits

Author SHA1 Message Date
Nick Treleaven
d3fbdf278b Fix build; currently auto-indentation doesn't support inserting tabs
and spaces, only spaces. Also Tabs & Spaces cannot be detected yet
when opening files. Default file templates still only use tabs.
Add editor_get_indent_prefs() which should be used to get the right
settings for a document/editor instead of reading any default prefs.
This could also support project/filetype indentation prefs quite
easily.
Don't change per-document auto-indent setting after changing default
auto-indentation type.
Remove ui_radio_menu_item_*(), not good to use as they depended on
the order of widget creation, so don't work well with Glade. Use
RadioPrefEntry array instead.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2853 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-04 14:07:49 +00:00
Nick Treleaven
4b8035844d Move use_tab_to_indent pref back to editor_prefs (should be unique).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2838 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-30 15:26:49 +00:00
Nick Treleaven
7a0e8a687d Update to use foreach-style functions for SettingEntry arrays, like
the PrefEntry code in prefs.c.
Update for new indentation setting names.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2835 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-29 17:49:29 +00:00
Nick Treleaven
c5fb6b34bc Add new Files pref 'Allow new documents from the command-line'.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2796 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-21 14:28:46 +00:00
Nick Treleaven
000e8fcc9b Merge the editor-struct branch:
Note: this breaks the plugin API for editor-related document fields
and functions.
Split new GeanyEditor struct type from GeanyDocument fields sci,
line_wrapping, auto_indent, scroll_percent, use_tabs, line_breaking.
GeanyEditor::document allows access back to document fields.
Add GeanyDocument::editor field; this is only valid when the
document is valid, and NULL otherwise. This means any checks for
doc->editor->scintilla != NULL will segfault for invalid
documents - check against doc->is_valid or doc->editor != NULL
instead.
Change plugin API EditorFuncs to use GeanyEditor pointers.
Make editor_set_font() take a pango-style font string, and use a
GeanyEditor pointer.
Use GeanyEditor* instead of GeanyDocument* in editor.c (most global
editor functions still need conversion though, but this may be done
gradually or as required).
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/trunk@2779 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-15 14:29:41 +00:00
Nick Treleaven
7db4bfe493 Rename GeanyEditor::scintilla to GeanyEditor::sci.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/editor-struct@2776 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-14 11:13:54 +00:00
Enrico Tröger
ccd2186f6a Add preferences for year, date and datetime format of the corresponding template wildcards to make them more flexible.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2775 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-13 11:51:00 +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
Nick Treleaven
7c71457fb1 Fix building editor.c, using GeanyEditor* instead of GeanyDocument*
(most global editor functions still need conversion though).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/editor-struct@2765 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-08 13:53:08 +00:00
Nick Treleaven
8dcfb7e336 Update for doc->editor->scintilla.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/editor-struct@2764 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-08 11:26:09 +00:00
Enrico Tröger
467fbd9ec2 Fix broken session file support with more than 99 files (closes #2007288).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2744 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-03 12:51:14 +00:00
Enrico Tröger
1a1f244cc6 Move code to read snippets configuration to editor.c.
Split editor_snippets_free() from editor_finalize().

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2738 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-30 16:14:55 +00:00
Nick Treleaven
a2cd1c4916 Move 2 search prefs to new Search tab of Preferences dialog.
Add new search pref: 'Use the current file's directory for Find in
Files' (#1930435).
Add PrefEntry struct which is used for an array containing widget
names to lookup; currently only used for 3 search-related
GtkToggleButton prefs.
Add SettingEntry struct which is used for an array containing keyfile
key and group information; currently only used for 3 search-related
gboolean settings.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2724 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-25 11:56:58 +00:00
Nick Treleaven
a85c71ee9b Remove document_delay_colourise(), document_colourise_all().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2719 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-20 14:19:57 +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
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
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
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
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
f700baa906 Rename old uses of line breaking -> line wrapping. This includes the
keyfile pref, so any users with this enabled will have to reset it.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2563 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-09 14:17:25 +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
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
Nick Treleaven
67316db4c5 Remove GEANY_MAX_FILE_TYPES and replace most uses of it with
filetypes_array->len.
Highlighting and templates now use GEANY_MAX_BUILT_IN_FILETYPES.
Move print_filetypes() out of parse_command_line_options();


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-filetypes@2553 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-07 11:34:38 +00:00
Nick Treleaven
d5e39530df Store filetype::name instead of unique ID when saving sessions.
Remove all filetype UID code.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-filetypes@2543 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-01 12:10:46 +00:00
Nick Treleaven
fb6a87a05b Refactor get_session_file_string() from
configuration_save_session_files().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-filetypes@2542 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-29 12:00:13 +00:00
Nick Treleaven
7bffaa3b17 Refactor open_session_file() from configuration_open_files().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-filetypes@2541 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-29 11:30:19 +00:00
Nick Treleaven
af67ff3cd5 Make disk check timeout configurable in the prefs dialog Files tab.
Make a value of zero disable disk checks.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2520 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-23 16:53:40 +00:00
Nick Treleaven
a832015fff Move non-general compile-time constants into their relevant source
files.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2519 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-23 16:47:42 +00:00
Nick Treleaven
a6ddfc2221 Move plugin keyfile pref saving and loading to plugins.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2491 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-16 15:09:52 +00:00
Nick Treleaven
a17610af72 Ignore documents with no absolute path when saving session files.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2425 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-27 17:26:09 +00:00
Enrico Tröger
99a3d8e3c3 Add preference for not using the current word under the cursor when opening Find dialogs.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2389 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-23 16:29:43 +00:00
Enrico Tröger
0d5614a2d4 Use the default values for various tools if they don't exist in the config file instead of using g_find_program_in_path(), patch by Yura Siamashka (thanks).
Fix executable check for grep command.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2331 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-13 09:33:23 +00:00
Enrico Tröger
89215d5c87 When opening session files, don't try to set document properties if the document can't be opened.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2311 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-07 14:21:01 +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
22d96653da Rename hidden pref auto_complete_whilst_editing to complete_snippets_whilst_editing.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2269 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-21 15:51:50 +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
6413fdb2bf Add hidden preference to disable scrolling past end of document.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2260 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-15 16:34:30 +00:00
Nick Treleaven
4825bfc10f Fix saving project session from a 2nd instance of Geany.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2202 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-31 16:31:19 +00:00
Enrico Tröger
5a1b51bc84 Add option for project session files support.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2176 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-16 16:30:34 +00:00
Enrico Tröger
748d552168 Save project session file list when project is closed.
Don't load default session files in a second instance after a project was closed.
Fix not updating symbol list (and other things) when changing tabs after a project was opened or closed in a second instance.	       


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2171 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-13 17:50:04 +00:00
Enrico Tröger
8977c301a7 Try to fix changing message window height when using full screen (closes #1869415).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2166 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-12 10:14:58 +00:00
Nick Treleaven
f2ab079305 Add 'Override Geany keybindings' VTE prefs dialog option (replaces
hidden pref), and make it off by default.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2158 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-10 17:11:19 +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
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
47c7c69214 Add Move document first/last keybindings (patch by Catalin Marinas, thank you).
Add toolbar items to increase/decrease indentation (closes #1850697).	     


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2104 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-16 16:54:47 +00:00
Enrico Tröger
c5ad06494b Fix wrong file filters in file dialogs opened in the preferences dialog.
Fix wrong debug display of filenames which could not be loaded from last session.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2096 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-09 16:59:21 +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