287 Commits

Author SHA1 Message Date
Enrico Tröger
a6cecbd433 Add utils_path_skip_root(), a relative path safe variant of g_path_skip_root (forgotten patch by Colomban Wendling, #2518658).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3663 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-03-27 15:40:19 +00:00
Enrico Tröger
2c9d6cf069 Check whether skipping the root element of a document's filename succeeded and use the filename itself if not (e.g. on relative filenames, #2702844).
Use the locale encoded filename when saving session files.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3652 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-03-25 19:00:34 +00:00
Enrico Tröger
8ef5804bbe Add a hiden preference "allow_always_save" to make the Save buttons/menu items always sensitive and allow saving files even without changes.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3520 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-28 17:01:32 +00:00
Enrico Tröger
0582c61824 Replace remaining occurrences of '__func__' with 'G_STRFUNC'.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3496 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-21 22:49:21 +00:00
Nick Treleaven
f62363e6eb Use tree for Documents sidebar, grouped by path.
Remove Documents show full path pref.
Use enum for documents tree store column ids.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3488 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-19 13:12:45 +00:00
Nick Treleaven
b98069855b Prevent type-punned pointer warnings with gcc 4.1.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3473 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-16 20:34:34 +00:00
Enrico Tröger
9d627214f1 Add GUI pref to invert all colours for syntax highlighting.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3468 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-14 19:19:08 +00:00
Nick Treleaven
555c06727c Fix using prefs dialog editor & files tab spin button values when
they've just been edited and Alt-O is used to close the dialog
without moving the focus.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3452 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-08 17:14:18 +00:00
Enrico Tröger
39a6eb455e Update copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3446 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-04 18:30:42 +00:00
Nick Treleaven
077270c647 Remove geanyobject.h includes.
Use GObject instead of unused GeanyObject argument.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3439 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-03 13:03:42 +00:00
Nick Treleaven
640053e598 Add ui_hookup_widget() macro to the API.
Make saving Stash string settings NULL-safe.
Move fif_extra_options search setting code to search.c.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3428 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-28 17:25:09 +00:00
Nick Treleaven
0f575ea2b7 Don't forget active plugins after disabling plugin support.
Use Stash for plugin-related prefs.
Add geany_object "save-settings" signal (for core only).
Add stash_group_add_string_vector().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3425 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-28 13:21:35 +00:00
Nick Treleaven
c56f0c450b Add stash_group_add_combo_box_entry(), stash_group_add_entry().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3419 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-22 17:13:37 +00:00
Nick Treleaven
df5b4d85d9 Remove remaining PrefEntry code, use Stash instead.
Add stash_group_add_spin_button_integer(),
stash_group_add_combo_box().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3417 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-22 16:03:16 +00:00
Nick Treleaven
26fc571dcd Rename stash_group_load() -> stash_group_load_from_key_file().
Rename stash_group_save() -> stash_group_save_to_key_file().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3415 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-22 12:50:19 +00:00
Enrico Tröger
9e25c43487 Move implementation of lookup_widget() into ui_lookup_widget().
Change uses of lookup_widget() to ui_lookup_widget().
Remove now unneeded support.c.
Use GLib gettext macros in support.h instead of own ones.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3402 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-18 21:21:53 +00:00
Enrico Tröger
1fbdedbbff Fix broken session file support on Windows (oops).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3389 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-17 15:58:59 +00:00
Nick Treleaven
8de6b131c9 Remember Find in Files mode at startup.
Add configuration_add_pref_group(), with separate array for GUI
prefs.
Move search pref group to search.c.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3383 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-16 13:01:47 +00:00
Nick Treleaven
f4fd1ea2ca Use Stash radio button prefs instead of RadioPrefEntry.
Add stash_group_add_radio_buttons().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3375 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-15 13:02:29 +00:00
Nick Treleaven
89fce6dd26 Add an interface pref for whether to hide additional widgets when
double-clicking on document notebook tabs (off by default).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3359 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-11 16:29:54 +00:00
Nick Treleaven
8488e08726 Reformat stash function arguments.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3357 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-11 13:14:33 +00:00
Nick Treleaven
a6992526e8 Add foreach_ptr_array() macro to utils.h.
Merge toggle button prefs code into keyfile.c Stash code.
Add toggle button support to Stash code.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3356 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-11 12:49:26 +00:00
Nick Treleaven
740a3e8066 Fix 2 comments.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3350 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-09 13:18:55 +00:00
Nick Treleaven
5c5dfe9df5 Move Stash data types to stash.c, so Stash functions could be used
by plugins without breaking the ABI when appending fields. Also the
user code is neater and has type checking.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3349 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-09 13:16:52 +00:00
Enrico Tröger
3c35ed1d55 Some cleanup in vte.c.
Add a setting for the VTE to enable/disable a blinking cursor.
This is useful for future VTE versions where the cursor blinks by default which might be not be desirable.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3339 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-07 19:11:36 +00:00
Enrico Tröger
8ed9710f48 Rewrite of the whole toolbar code. Now it is based on GtkActions and all elements can be added/removed/reordered using a simple XML file.
Add GeanyMenubuttonAction and GeanyEntryAction as GtkAction subclasses to have menu buttons and text entries in the toolbar.
Change the Goto line toolbar item back to a plain text entry again.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3328 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-06 11:10:06 +00:00
Enrico Tröger
ac72607ade Add auto-closing of braces, brackets and quotes (patch by Guillaume de Rorthais, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3319 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-04 20:19:20 +00:00
Nick Treleaven
02311a6d5d Read show_symbol_list_expanders hidden pref even when compiled
against GTK < 2.12.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3303 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-01 15:01:54 +00:00
Nick Treleaven
78c3589336 Add G_TYPE_STRING setting support to Stash code, use in keyfile.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3302 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-01 14:54:47 +00:00
Nick Treleaven
3cf49dba55 Make VTE emulation pref hidden, because libvte only comes with an
xterm termcaps file and the GUI pref can be confusing.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3300 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-01 14:39:26 +00:00
Nick Treleaven
c9c5c5829e Make hidden prefs use stash code.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3286 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-28 17:08:42 +00:00
Nick Treleaven
4bbdf80b14 Add foreach_c_array() macro in utils.h.
Add stash.[hc] for reading/writing GKeyFile settings and (later)
synchronizing widgets with C variables. Currently this only
supports boolean and integer settings.
Replace keyfile.c SettingEntry code with new stash code.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3285 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-28 12:52:19 +00:00
Nick Treleaven
492f78c769 Move configuration_read_filetype_extensions() to
filetypes_read_extensions().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3281 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-26 16:09:48 +00:00
Enrico Tröger
42ebf4e56e Remember the 'Line breaking' state of documents between sessions.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3274 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-23 18:43:09 +00:00
Enrico Tröger
d3ee6f48ca Add toolbar buttons for Cut, Copy, Paste and Delete (#2161750).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3147 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-10-23 20:55:55 +00:00
Enrico Tröger
737c7a6d76 Add an option to store the project file of new projects inside the project base directory.
Doc: Add descriptions for the Search tab in the preferences dialog.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3037 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-10-02 15:09:33 +00:00
Nick Treleaven
5dde790601 Add 'Tab key indents' pref, which replaces hidden pref
'use_tab_to_indent'; it's now on by default.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2971 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-18 12:43:41 +00:00
Enrico Tröger
266cbed6ff Add 'Stop scroll at last line' editor pref (patch by Timothy Boronczyk, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2918 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-01 11:18:06 +00:00
Nick Treleaven
6f60b4bc2c Add 'Max. symbol name suggestions' autocompletion pref.
Edit some autocompletion pref strings.
Remove some trailing commas in array initializers (oops).
Move GEANY_TOGGLE_MARK, GEANY_MAX_AUTOCOMPLETE_WORDS to keyfile.c.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2914 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-29 17:00:02 +00:00
Nick Treleaven
0371bb7853 Change hidden pref scroll_stop_at_last_line to TRUE (#2030914).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2910 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-27 16:41:02 +00:00
Nick Treleaven
530761a6fb Rename GeanyIndentPrefs::tab_width to hard_tab_width, and update
keyfile key name.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2874 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-11 16:53:03 +00:00
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
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
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
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