2074 Commits

Author SHA1 Message Date
Nick Treleaven
309b853b57 Merge changes from the custom-tab-width branch (closes #1662173).
Thanks to Joerg Desch for explaining how it needs to work.
Note: this breaks the plugin API for indentation editor_prefs.
Add separate Width indent pref (as well as the Tab Width pref).
Add 'Tabs & Spaces' Indent Type radio option pref.
Add 'Tabs and Spaces' Document menu indent option.
Note: Tabs & Spaces cannot be detected (yet) when opening files;
default file templates still only use tabs.
Set 'Detect from file' indent type setting insensitive when Tabs &
Spaces is set.
Don't change per-document auto-indent setting after changing default
auto-indentation type.
- API changes:
Add GeanyIndentPrefs struct from some GeanyEditorPrefs fields.
Replace GeanyIndentPrefs::use_tabs with GeanyIndentType field 'type'.
Add editor_get_indent_prefs() to the API, which should be used to
get the right settings for a document/editor instead of reading
any struct fields. This could also support project/filetype
indentation prefs quite easily.
- Core code changes:
Move toggle_prefs to a function toggle_items_foreach(), which takes
a PREF_DISPLAY or PREF_UPDATE argument. This means the PrefEntry
array can contain runtime fields, so can read pointer contents.
Add pref_item_callbacks array of functions to call;
toggle_items_foreach(), spin_items_foreach(), radio_items_foreach(),
combo_items_foreach().
Update keyfile.c to use foreach-style functions for SettingEntry
arrays, like the new PrefEntry code in prefs.c.
Add get_indent_size_after_line() to replace get_indent() for
clarity, and to fix Tabs & Spaces auto-indentation > basic.
Remove opening-brace indent code from get_indent() as it's now in
get_brace_indent().
Change editor_close_block() to use sci_get_line_indentation() for
clarity.
Make editor_close_block() static.
Add editor_init().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2863 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-07 16:36:06 +00:00
Nick Treleaven
ec1e9de8dc Fix using editor_get_indent_prefs().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2862 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-07 15:32:56 +00:00
Nick Treleaven
a6eac00cc1 Add editor_get_indent_prefs() to the API.
Make editor_get_indent_prefs() return default prefs if editor is
NULL.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2861 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-07 15:30:52 +00:00
Nick Treleaven
2bc72a08c3 Remove opening-brace indent code from get_indent() as it's now in
get_brace_indent().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2860 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-07 12:03:56 +00:00
Nick Treleaven
51badbd829 Set 'Detect from file' indent type setting insensitive when Tabs &
Spaces is set.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2859 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-07 11:49:06 +00:00
Nick Treleaven
6140e5089d Add get_indent_size_after_line() to replace get_indent() for
clarity, and to fix Tabs & Spaces auto-indentation > basic.
Change editor_close_block() to use sci_get_line_indentation() for
clarity.
Make editor_close_block() static.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2857 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-05 14:46:27 +00:00
Enrico Tröger
b25c2d6248 Fix wrong parsing of keywords if they are not followed by a space (closes #2037728).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2856 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-05 08:54:02 +00:00
Enrico Tröger
b96999dec9 Revert the recent VTE realisation changes as they don't make things better.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2855 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-05 08:52:59 +00:00
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
Enrico Tröger
080c93b8c0 Ignore the scroll arrows when checking for a double click in the notebook tab bar (closes #2033059).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2852 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-04 08:53:21 +00:00
Enrico Tröger
d505996b18 Realize the VTE widget manually (still for #1844985).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2851 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-04 08:52:06 +00:00
Enrico Tröger
ee3db9554a Add some keywords for filetype SQL (patch by Felipe Pena, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2850 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-01 15:56:37 +00:00
Enrico Tröger
58f349944e Initialise the VTE pid var with 0 just for safety.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2849 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-01 15:55:20 +00:00
Enrico Tröger
bbfd7a1ee8 Revert r2843 because it messed it Ctrl-C/SIGINT in the VTE.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2848 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-01 15:54:21 +00:00
Enrico Tröger
7cd303af3f Add four new PHP 5.3 keywords (patch by Felipe Pena, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2846 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-01 15:52:42 +00:00
Enrico Tröger
47aa40ebc5 Add a list of contributors to the About dialog.
Update the THANKS file.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2845 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-01 15:51:30 +00:00
Nick Treleaven
1d55dae69f Add 'Tabs and Spaces' Document menu indent option.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2844 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-31 14:47:03 +00:00
Enrico Tröger
c98c4d099a Make Copy & Paste clipboard keybindings also work for the VTE (closes #2029675).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2843 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-30 18:22:51 +00:00
Enrico Tröger
f5d72e6c8c Start the shell in the VTE first when the VTE is actually realized to avoid strange display bugs on some systems (closes #1844985).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2841 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-30 18:20:58 +00:00
Enrico Tröger
961b040d8e Fix signature of focus_sci().
Double clicking on free space in the tab bar opens a new file (#2003291).

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2839 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-30 18:19:19 +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
03154dbb57 Replace init_prefs(), update_prefs() with common prefs_action()
function.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2834 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-29 17:46:21 +00:00
Nick Treleaven
4bb4f83374 Move detect_tab_mode editor pref to indentation pref 'detect_type'.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2833 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-29 14:43:34 +00:00
Nick Treleaven
a03eb964ab Add radio_items_foreach(), combo_items_foreach().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2832 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-28 17:31:33 +00:00
Nick Treleaven
5dc0ae673b Add ui_radio_menu_item_set_active_index(),
ui_radio_menu_item_get_active_index().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2831 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-28 17:28:19 +00:00
Nick Treleaven
da4a914d5e Add spin_items_foreach().
Bind spin_indent_width, spin_tab_width widgets to settings.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2830 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-28 13:50:55 +00:00
Nick Treleaven
264ad738ff Move toggle_prefs to a function toggle_items_foreach(), which takes
a PREF_DISPLAY or PREF_UPDATE argument. This means the PrefEntry
array can contain runtime fields, so can read pointer contents.
Add pref_item_callbacks array of functions to call like
toggle_items_foreach().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2829 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-28 13:42:14 +00:00
Nick Treleaven
677b91f140 Replace 'Custom tab width' option with a 'Tabs & Spaces' Indent Type
radio option, and a Tab Width spin entry.
Replace GeanyIndentPrefs::use_tabs with GeanyIndentType field 'type'.
(Still won't compile ;-)).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2827 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-28 11:52:19 +00:00
Enrico Tröger
ae2a6d84c8 Add a small border to all notebook pages in the preferences dialog.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2826 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-27 18:42:21 +00:00
Enrico Tröger
866f8fbefe Add a preference for the comment toggle mark string("~ " by default).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2825 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-27 18:41:07 +00:00
Enrico Tröger
27a58d1b22 Add support for retrieving the SVN revision number also when using a git-svn.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2823 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-27 18:38:21 +00:00
Nick Treleaven
c72767edb5 Add separate Width indent pref.
Add 'Custom tab width' checkbox pref.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2822 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-25 15:10:53 +00:00
Nick Treleaven
501d543492 Note: this breaks the plugin API for indentation editor_prefs.
Add GeanyIndentPrefs struct from some GeanyEditorPrefs fields (maybe
this struct will get used elsewhere too).
Add editor_init().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2821 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-25 15:05:27 +00:00
Nick Treleaven
dd51f0eab1 Add dox for ScintillaFuncs.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2819 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-25 14:18:49 +00:00
Nick Treleaven
edda704326 Revert editor popup menu Current Word submenu changes. See
http://lists.uvena.de/geany-devel/2008-July/000101.html.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2817 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-25 11:23:52 +00:00
Enrico Tröger
5a9f1500b9 Fix wrong checks when determining whether a style is a PHP style (style SCE_HPHP_COMPLEX_VARIABLE was ignored, closes #2027235).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2816 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-25 09:51:08 +00:00
Enrico Tröger
5cc91efe47 Update waf to its latest SVN rev and exclude some unused modules which makes it another 20 KB smaller.
Update waf script to reflect waf API changes(module Install removed).

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2815 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-25 09:49:54 +00:00
Enrico Tröger
56de0f6641 Add missing "error" and heredoc styles to filetype Shellscript (related to #2026853).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2814 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-25 09:48:55 +00:00
Nick Treleaven
d35e66493c Change VTE restart command to not call vte_terminal_fork_command() -
this should prevent the hang reported in #1990323 with VTE 0.16.14.
Note that with VTE 0.16.14 the reset sometimes leaves a blank
terminal, but pressing enter makes it then behave as normal.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2813 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-24 17:26:11 +00:00
Nick Treleaven
82399858ee Add more dox explaining how to use documents_array (moved from
document.h, to minimise rebuilding after adding dox).
Remove some mentions of document indexes in document.c comments.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2812 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-24 15:17:55 +00:00
Nick Treleaven
553e5c63d9 Add dox for GeanyApp, GeanyProject.
Move GeanyProject typedef to project.h, as it is rarely used without
including project.h.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2811 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-24 14:37:36 +00:00
Nick Treleaven
1580203f8a Rename document_new_file() argument to utf8_filename.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2810 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-24 12:12:47 +00:00
Nick Treleaven
f180f2f9fd Add dox for all UIUtilsFuncs.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2809 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-24 12:01:30 +00:00
Nick Treleaven
d34ff4285d Rename p_filetypes->detect_from_filename() to detect_from_file() in
the plugin API.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2808 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-24 11:23:12 +00:00
Nick Treleaven
4de845a2c6 Only compile filetypes_detect_from_file() if HAVE_PLUGINS is defined.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2807 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-24 11:20:48 +00:00
Nick Treleaven
fd10df646f Add dox for GeanyMainWidgets.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2806 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-23 14:52:19 +00:00
Nick Treleaven
5f18cee90f Add dox for FiletypeFuncs and some of GeanyFiletype.
Rename filetypes_detect_from_file() to
filetypes_detect_from_document().
Rename filetypes_detect_from_filename() to
filetypes_detect_from_file() because it also detects shebang lines.
Remove function prototype comments for filetypes.h (see filetypes.c
or API dox instead).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2805 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-23 14:44:27 +00:00
Nick Treleaven
185b56c030 Add doxygen file header for generating MainFuncs API documentation.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2804 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-23 13:48:13 +00:00
Nick Treleaven
4faeb8f46f Move utils_reload_configuration() to main.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2803 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-23 11:46:02 +00:00