277 Commits

Author SHA1 Message Date
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
Enrico Tröger
89e411cef1 Use a GeanyWrapLabel for the project indentation settings warning text in the prefs dialog.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3430 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-29 10:43:04 +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
1a7f04c8da Show warning label on Preferences dialog Editor tab when a project
is open.
Move Indentation frame to a separate tab.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3424 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-27 13:20:42 +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
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
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
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
Enrico Tröger
7c6ff4d5bb Add Line number and Markers margin settings to the prefs dialog.
Add View->Editor submenu and group there the Line numbers, Markers margin, Show white space, Show line endings and Show indentation guides settings.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3340 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-07 19:12:08 +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
c87a31878e Make use of ui_widget_modify_font_from_string() at various places.
Set the message window font also for the scribble.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3335 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-06 18:04:46 +00:00
Enrico Tröger
b5c392d309 Add new stock icon GEANY_STOCK_SAVE_ALL.
Remove code to manually update the size of the 'Save All' toolbar icon and use the GEANY_STOCK_SAVE_ALL stock icon instead.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3329 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-06 11:45:48 +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
8345588371 Remove VTE emulation widget code.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3301 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-01 14:45:26 +00:00
Enrico Tröger
a0a04daeda Plug a little memory leak.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3185 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-07 14:37:42 +00:00
Nick Treleaven
eebfbbf488 Fix Prefs dialog Tools tab Context Action open button showing the
file dialog twice.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3170 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-04 13:33:08 +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
9aa5ba41c7 Plug some memory leaks due to some missing g_object_unref's.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3056 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-10-07 18:51:50 +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
46cae47182 Use GeanyDocumentPrivate instead of using inheritance for non-public
fields (this was unnecessary and meant using ugly casts).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3010 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-26 17:28:50 +00:00
Enrico Tröger
a032d6a660 Unify the API in editor.c, all public functions now take a GeanyEditor* object.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2998 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-25 18:28:37 +00:00
Enrico Tröger
437fafd46e Move document_apply_update_prefs() in editor.c.
Refactor get_indent_guides_from_lexer() from sciwrappers.c in editor_set_indentation_guides().

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2979 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-21 16:43:45 +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
ab7a522ca9 Rename all toolbar widgets for consistent names.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2924 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-08 14:22:39 +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
Enrico Tröger
53ddbf0bbf Fix bad wording (closes #2038807).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2877 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-11 18:18:33 +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
a134c529c2 Rename KeyCallback GeanyKeyCallback.
Rename KeyBinding GeanyKeyBinding.
Rename KeyBindingGroup GeanyKeyGroup.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2869 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-08-08 18:05:53 +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
287e835330 Rename *_items_foreach() *_prefs_foreach().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/custom-tab-width@2836 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-29 17:54:52 +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
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
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
Enrico Tröger
8d67117d47 Rename "delete_event" to "delete-event".
Remove some unnecessary GObject casts in g_signal_connect() calls.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2788 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-18 13:40:48 +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
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
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
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
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
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