96 Commits

Author SHA1 Message Date
Nick Treleaven
97c7ae0e4f Refactor with sidebar_add_common_menu_items().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3242 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-18 12:58:53 +00:00
Nick Treleaven
1f6a611580 Merge symbol-tree branch:
Apply patch (with some reworking) from Conrad Steenberg
(gnocci-man) to show methods as children of classes in the symbol
list, and for other tag types to group children by their parents
(thanks; #2083110).
This works for any filetype that TagManager can parse tag scopes
for.
Fix not allowing a leading underscore when using scope name prefix.
Fix symbol-tree branch bug: missing C++ constructor declaration
tags.
- Code changes:
Use TMTag instead of GeanySymbol so the symbol tree can read the
scope without parsing it.
Free tag list straight after use, instead of next time the list is
generated.
Use TMTag pointer tree model column instead of line number.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3197 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-10 16:57:18 +00:00
Nick Treleaven
3b25dca469 Remove symbol tree 'skipped' code, instead sort parents first when
adding tree iters. This should fix missing symbols sometimes.
Use TMTag instead of GeanySymbol so the symbol tree can read the
scope without parsing it (fixes problems with '.' characters in tag
names for e.g. HTML).
Free tag list straight after use, instead of next time the list is
generated.
Use TMTag pointer tree model column instead of line number.
Fix not allowing a leading underscore when using scope name prefix.
Remember parent tree iter for a tag if it is used for a child tag's
scope, rather than just for tags of a certain type. This should be
more flexible for various filetypes.
Various symbol-tree code refactoring.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/symbol-tree@3166 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-03 17:25:35 +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
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
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
bdc4e37cc8 Handle tooltip requests for items in the open files tree view properly by using gtk_tree_view_get_tooltip_context().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2792 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-18 15:05:56 +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
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
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
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
Nick Treleaven
2c5a71f054 Add function document_close().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2740 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-01 14:20:16 +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
1baa9d3159 Remove temporary navqueues_ and msgwins_ functions and adjust depending code.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2689 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-12 20:45:18 +00:00
Nick Treleaven
37e0d1f3f1 Move GeanyDocument GUI elements and saved_encoding to private
Document struct which inherits from GeanyDocument. This is to hide
implementation fields from the plugin API, so that we can change
them if necessary.
Add DOCUMENT() macro to convert a GeanyDocument* to a Document*.
Also move UNDO_*, FileEncoding to documentprivate.h.
Move undo_action struct to document.c.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2631 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-02 15:31:59 +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
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
07dd9217ba Allow selecting items in the symbol list by pressing Enter or Space.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2386 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-21 18:44:12 +00:00
Enrico Tröger
1c04310ac1 Save sorting order of the symbol list when saving a file (#1917262).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2361 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-18 16:09:11 +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
57533aa092 Fix some compiler warnings.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2257 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-13 18:54:05 +00:00
Enrico Tröger
9a2be912fc Apply patch from Yura Siamashka to fix wrong navigation queue items (thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2241 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-10 12:34:28 +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
130318f94f Revert the change to make symbol sections bold and use some small indentation when expanders are hidden.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2064 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-21 17:20:26 +00:00
Enrico Tröger
5179f16628 Make sections in the symbol list bold for better distinction if expanders are hidden.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2059 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-19 15:35:30 +00:00
Enrico Tröger
6dc14025ea Add hidden pref to hide symbol list treeview expander (GTK >= 2.12).
Double click on symbol list sections now expands/collapses them.      


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2054 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-18 15:09:28 +00:00
Nick Treleaven
6687b67074 Fix popup menu item capitalization according to Gnome HIG.
Add separator menu item to VTE popup menu.
Move VTE Prefs item below Input Methods.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2037 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-11-08 16:21:46 +00:00
Enrico Tröger
560341bfcf Replace "Hide" popup menu items of the symbol and document list with "Show Document List" and "Show Symbol List" check menu items.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1986 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-28 21:14:35 +00:00
Nick Treleaven
3d91095b64 Fix bug with choosing 'show full path name' from documents list popup
menu when there is no selected item (can happen after using the command
twice).
Fix hiding the sidebar/documents list from the popup menu when there's
no selected item.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1975 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-24 16:10:56 +00:00
Nick Treleaven
a54ddf4795 Added File Browser sidebar plugin.
Rename 'Open Files' sidebar tab 'Documents'.
Add keybindings->send_command() and tm->get_real_path() to the plugin
API.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1966 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-22 12:42:19 +00:00
Enrico Tröger
ebf639e243 Try to fix a bug with toggling of full path setting in the open files list.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1946 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-15 14:14:56 +00:00
Enrico Tröger
1d9c244ad1 Add menu accelerators to the symbol and open files list popup menus.
Add option to display full path name in the open files list.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1941 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-13 09:28:26 +00:00
Enrico Tröger
4a0977c905 Add full file name as tooltip in the open files list (only for GTK 2.12 and above).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1936 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-09 12:26:44 +00:00
Enrico Tröger
2eaa1d8dcf Fix wrong insert position of Insert Date function when using keyboard shortcut and place the cursor behind the inserted date.
Enable horizontal scrollbar for the Open Files list.       


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1932 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-08 12:10:03 +00:00
Nick Treleaven
852a4dbb50 Fix bug when using Navigate backwards after using the keyboard to
set the cursor position on the current word.
Add symbols_goto_tag().
Replace navqueue_append() with navqueue_goto_line().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1900 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-25 12:39:41 +00:00
Nick Treleaven
04802a6a8c Only focus the current document after switching pages if the open
files treeview currently has focus (otherwise focus commands can be
overridden, e.g. when pressing F4 during opening several files).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1843 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-30 14:24:26 +00:00
Nick Treleaven
ef1399e000 Rename MyApp -> GeanyApp.
Move most GeanyApp fields into:
GeanyPrefs for (most) Preferences dialog fields;
UIPrefs for non-Prefs dialog visual settings;
UIWidgets for less commonly used widgets such as menuitems and
dialogs;
GeanyStatus for various states the application can be in.
Move some GeanyApp fields into EditorPrefs (and one into each of
CommandLineOptions and SidebarTreeviews).
Add plugin API prefs field.
Move disabling build widgets on Windows to build_init().
Make build callbacks static.
Add treeviews_init() to prepare popup menus and open files treeview.
Replace treeviews_find_node() with treeviews_select_openfiles_item().
Make utils_isbrace() and utils_is_opening_brace() take an
'include_angles' argument (to separate from editor_prefs).
Make 'Goto matching brace' keybinding include <> angle brackets.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1815 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-23 11:34:06 +00:00
Enrico Tröger
4f74783fb1 Add menu items for different sorting of the symbol list to the symbol list popup menu.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1802 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-15 17:58:58 +00:00
Nick Treleaven
9f46d083c5 Move #define PLAT_GTK to geany.h.
Move filetype typedef to geany.h.
Don't #include any src/*.h files from headers.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1800 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-15 15:37:21 +00:00
Enrico Tröger
a7975ccc93 Extend icon search path to get symbol list icons working when using a non-standard installation prefix.
Query default icon theme only once to improve startup speed.
Store the line number separately in the tree store.
Remove utils_get_local_tag().	       


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1731 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-22 14:38:47 +00:00
Nick Treleaven
0994c76194 Apply patch to add symbol list icons from Jean-François Wauthy
(thanks). Also thanks to KDevelop for the icons.
Add list of projects to THANKS.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1728 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-20 16:33:16 +00:00
Nick Treleaven
367465ba51 Prevent warning when clicking on symbol list parent items.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1724 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-19 11:15:42 +00:00
Nick Treleaven
048a5e40fa Add a navigation queue position when clicking on symbol list items.
Prevent duplicates in the navigation queue.
Add navqueue_append() which adds the current document position to the
queue before adding the new position.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1718 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-17 16:11:38 +00:00
Nick Treleaven
80e0695bd8 Prevent warning when closing files when Geany is busy (e.g. pressing
Ctrl-W when opening files).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1698 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-13 10:46:11 +00:00
Enrico Tröger
34e0036c10 Focus the editor widget after switching between files with the open files list.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1686 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-07-09 16:01:23 +00:00
Enrico Tröger
0cf4d764ec Prevent double jump to line when clicking on a symbol list item.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1606 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-06-10 11:28:54 +00:00