361 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
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
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
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
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
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
7939b900ae Fix filename encoding for new files at startup from the command-line.
Make socket open command support filename:line:column syntax.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2795 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-21 14:12:15 +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
a569c69e33 Move widget array lookups from main.c to ui_utils.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2785 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-17 16:28:16 +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
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
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
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
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
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
Enrico Tröger
5739654633 Windows changes: Install plugins into lib/ not into plugins/. Don't link against libiconv when compiling against GLib 2.14 and above (it's statically linked into GLib). Install Geany's message catalogs into share/locale rather than lib/locale as GTK does since 2.12.2.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2673 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-09 19:29:54 +00:00
Nick Treleaven
9268c9a1dc Replace 2 macros only used locally with const char pointers.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2645 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-05 12:43:10 +00:00
Enrico Tröger
45c62d7e3b Fix slightly wrong preprocessor checks.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2636 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-03 16:30:54 +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
629fc70a35 Allow loading projects from command line (closes #1961083).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2598 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-18 16:27:08 +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
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
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
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
baa27abbe9 Remove active_plugins from GeanyApp.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2492 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-16 15:44:29 +00:00
Nick Treleaven
730fc1a35c Refactor handle_cl_filename() from open_cl_files().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2489 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-04-16 11:41:36 +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
Enrico Tröger
57fa3d0f16 Use configure's --docdir option when installing and using the documentation.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2378 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-21 14:28:26 +00:00
Nick Treleaven
e57535bb8d Load keybindings keyfile after plugins have loaded at startup, so
their shortcuts are also loaded. Still to do: loading individual
plugin keybindings after startup.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/plugin-keybindings@2321 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-10 13:54:47 +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
753e2936d8 Apply patch from Daniel Richard G. to add support for +NNN command line arguments and for recognising filename:line:column: format on the command line (thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2262 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-16 11:21:24 +00:00
Enrico Tröger
fe728b7c88 Allow start of Geany with given files on the command line but whithout a writable temporary directory and without a writable configuration directory.
Improve filename of created symlink to the socket file.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2251 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-12 12:04:55 +00:00
Nick Treleaven
28ee2d71f0 Close any project before closing all documents so the project
session files are saved.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2190 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-25 13:14:38 +00:00
Enrico Tröger
a377002f4e Rename ui_treeviews_show_hide() in ui_sidebar_show_hide().
Don't hide sidebar when symbol and document lists are hidden but other notebook tabs are still there.	 


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2186 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-23 14:12:08 +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
8849ed8819 Create Geany's configuration directory in user's appdata path instead of the default home directory (closes #1856305).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2138 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-30 20:57:34 +00:00
Enrico Tröger
347c1da00c Add debug console window when debug mode is enabled to get any text messages on Windows.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2137 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-30 15:54:00 +00:00
Enrico Tröger
2ca754ab0f Enable parsing command line options without a valid X display.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2129 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-23 17:06:11 +00:00
Enrico Tröger
3fef2dcc58 Prefix autotools macros with GEANY to avoid problems with already defined symbols on Windows.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2117 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-19 15:37:10 +00:00
Enrico Tröger
ee5ea6b728 Apply patch Jeff Pohlmeyer to handle unknown command line options better (thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2116 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-19 13:49:59 +00:00
Enrico Tröger
1d57381819 Add note about using autotools macros like DATADIR.
Add --print-prefix command line option to output installation paths.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2111 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-18 17:03:39 +00:00
Enrico Tröger
fc6c31a242 Add binary relocation support.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2100 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-12-12 20:04:45 +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
Nick Treleaven
d1534b9c1d Remove unused config_dir argument for tm_get_workspace().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2079 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-30 17:34:01 +00:00
Enrico Tröger
5e6b3d5165 Remove ununsed function project_save().
Fix typo in plugin API at utils_mkdir().
Add document_get_n_idx() to the plugin API.
Fix display of plugin separator in the Tools menu when only plugins without menu item are loaded.
Add three new signals: project_open, project_save, project_close.
On Shutdown close the project before plugins are unloaded to let plugins work on the last project closed event.			


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2065 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-21 18:54:12 +00:00
Enrico Tröger
2b07283739 Add plugin manager dialog to select plugins to load at startup and to call a plugin configure dialog.
Add configure symbol for plugins which is called by Geany when a configure dialog for the plugin is requested, optionally.
Add author field to plugin info struct.
Add sample configure dialog to the demo plugin.
Fix cleanup code in filebrowser plugin to remove it completely when unloaded.			


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2060 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-20 18:15:46 +00:00