3601 Commits

Author SHA1 Message Date
Colomban Wendling
8640d845d0 Don't update parent WorkObjects when updating one in real-time
Updating the parent may lead to performance issues if an object have
too many parents since they are updated recursively.

Parent objects are still updated when saving the file.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5642 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-28 20:36:06 +00:00
Enrico Tröger
b235ae2f7e Add new keybinding 'Remove Markers and Error Indicators'.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5641 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-27 16:05:00 +00:00
Enrico Tröger
5521c67983 Initialize GLib's Gthread system early at startup in case any plugins need it.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5637 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-27 15:04:58 +00:00
Colomban Wendling
4c7ad1f113 Add possibility to detect the indentation width from the file content
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5631 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-26 17:25:24 +00:00
Colomban Wendling
fb16bf90d4 Fix the sidebar popup menu to popup for the correct selection
Fix the sidebar popup menu to properly use the currently selected item
rather than the previous one.

Also change the hack used for the selection to be updated in the input
handlers (key and mouse button) to call the GtkTreeView's handler
manually rather than doing the actual job in IDLE callbacks for the
TreeView's handler to have run.
This prevents from having several different handlers but removes the
need to work in IDLE time and then possible have a lag, as well as
simplifying the code.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5630 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-26 03:12:50 +00:00
Colomban Wendling
5713aa6804 Small code cleanups
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5629 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-26 03:12:38 +00:00
Colomban Wendling
dbb260f5bb Fix some compiler warnings
* Shadowed function (splitwindow plugin);
 * Invalid escape sequence (classbuilder plugin);
 * Non-static local functions (classbuilder plugin);
 * Missing function argument type (keybindings.c).

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5626 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-24 22:00:34 +00:00
Colomban Wendling
7698bf60a7 Improve usage of G_(UN)?LIKELY()
G_(UN)?LIKELY() should be only used on whole conditional expressions,
and only if the branching is very highly predictable, not if it is only
more probable.

These macros should be used with care because a wrong prediction may
be a lot worst than what a good prediction can give.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5625 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-24 22:00:18 +00:00
Nick Treleaven
ff7d6b9cad Make VTE copy/paste shortcuts work if 'Override Geany
keybindings' is not set.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5624 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-24 17:59:05 +00:00
Nick Treleaven
e3d3765ae6 Add fixed shortcuts for VTE copy (Ctrl-Shift-C) and paste
(Ctrl-Shift-V).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5623 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-24 17:33:47 +00:00
Colomban Wendling
15937490ec Make a few variable holding strings constant
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5622 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-24 16:52:34 +00:00
Colomban Wendling
4ac3ccbd37 Make Shift-Enter in search dialog and toolbar search entries search backwards
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5621 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-24 16:51:02 +00:00
Nick Treleaven
70005af1d6 Make --ft-names list filetypes alphabetically.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5615 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-22 17:09:48 +00:00
Nick Treleaven
d910ebc5ba Fix compiler warnings:
document.c: In function ‘apply_forced_indent_settings’:
document.c:1008: warning: enumeration value ‘GEANY_FILETYPES_NONE’ not handled in switch
...


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5614 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-22 17:03:04 +00:00
Colomban Wendling
05ab6c3c53 Fix invalid free (oops)
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5613 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-21 21:38:20 +00:00
Colomban Wendling
57996805ac Update forced indent settings when setting the filetype
This makes documents created or set to a filetype with forced indent
setting (Makefile, F77) to have the correct setting right away.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5611 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-20 17:50:59 +00:00
Colomban Wendling
4cfedde35a Fix a few warnings and style
* Don't use strlen(..) > 0 or == 0, simply check the first character
  against 0;
* Fix a return without a value (my bad in last commit);
* Fix storing a literal in a non-const string.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5610 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-20 16:02:52 +00:00
Colomban Wendling
441bab9d3b Add new filetype setting "comment_single"
This provides separated single-line and multiline comment support.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5609 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-20 15:02:22 +00:00
Colomban Wendling
bf16b24b98 Create a new undo action when inserting templates
This makes sure the user can undo the template insertion without also
undoing a previous action.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5608 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-19 22:48:43 +00:00
Colomban Wendling
7b706faf8e Properly convert template files to UTF-8 on loading
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5607 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-18 15:57:15 +00:00
Colomban Wendling
f60ead793d Move document encoding conversion with BOM support to encodings.[ch]
Adds the new function encodings_convert_to_utf8_auto(). This makes easy
to convert file data to UTF-8 in a high-level fashion, with BOM support
and everything.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5606 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-18 15:57:02 +00:00
Nick Treleaven
e38f3b560a Fix generating tag files and --ft-names option by ensuring GTK is
initialized before calling ui_get_mime_icon().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5604 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-17 18:00:20 +00:00
Nick Treleaven
c5b834629c Make special case for filetypes.matlab instead of truncating all
filetype config filenames at slash.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5603 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-17 17:03:01 +00:00
Nick Treleaven
d74206bf77 Fix wrong label capitalization for Toolbar Preferences dialog tab
and 2 other labels.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5601 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-17 16:41:25 +00:00
Colomban Wendling
ba645513f8 Don't use non-C89 initializers
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5600 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-17 16:14:56 +00:00
Nick Treleaven
a46c2fd899 Support copying filetype definition file group keys from a system
keyfile with e.g. [styling=C].
Add function utils_make_filename() for building filenames easily.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5596 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-17 12:17:04 +00:00
Nick Treleaven
18c1d6c88e Use utils_build_path() for simplicity where the result is only used immediately (it returns a temporary buffer).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5595 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-17 12:08:06 +00:00
Frank Lanitz
fccb2fd32f Fix entity inside about dialog. Oops
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5594 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-15 22:42:09 +00:00
Frank Lanitz
0ff5c9d577 Addded Wei-Lun Chao as current maintainer for traditional Chinese as well as to THANKS file
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5593 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-15 21:59:03 +00:00
Colomban Wendling
7a2a413f8c Restore sorting order of plugins configuration tabs (broke by me in r5586)
Now simply insert elements in sorted order rather than sorting the
list at a later point: it's simpler, cleaner and probably faster.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5591 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-15 16:52:12 +00:00
Colomban Wendling
6236c506f2 Use the same indentation for all templates (part of FR#3193527)
From a patch by Matthew Brush, thanks.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5590 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-15 16:51:47 +00:00
Nick Treleaven
e6a7d02fbe Fix sign warning in tag_hash().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5589 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-14 17:37:44 +00:00
Colomban Wendling
8e79a2255a Prefer prepend elements to lists rather than append them
This is for better performances since appending to a list means walking
it to find the last element to append to. When the list ordering
matters, simply reverse the list after prepengins.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5586 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-10 22:27:04 +00:00
Colomban Wendling
6f481c8086 Correctly expand the menubar if the toolbar is appended to it but not visible (closes #3204955)
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5585 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-10 16:05:29 +00:00
Enrico Tröger
c6241e16b8 Fix wrong code example in the API docs (spotted by Matthew Brush, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5584 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-08 20:19:01 +00:00
Colomban Wendling
3ebfcceafe When sorting tags by line, also sort by scope if line is the same
This avoids wrong sorting, and then wrong display in the symbols list,
if a parent tag is on the same line than its children, and one of it's 
children would be sorted before alphabetically (closes #3193982).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5580 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-06 17:25:15 +00:00
Colomban Wendling
87350d7624 Fix wrong constant variable
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5577 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-06 17:08:54 +00:00
Enrico Tröger
4f6354d434 Respect saved state of 'Case sensitive' option when using the 'Regular expressions' option as well.
Cleanup.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5575 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-06 14:36:42 +00:00
Enrico Tröger
56cd8dff87 Remember Find and Replace options across restarts (patch by Dimitar Zhekov, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5573 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-06 14:18:05 +00:00
Enrico Tröger
3e4a399140 Fix Windows build
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5572 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-06 13:10:48 +00:00
Enrico Tröger
1920cc6a1d Fix typo.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5571 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-06 12:11:54 +00:00
Colomban Wendling
6f7a06780f Improve performances of symbol list updating
Rather than walking the whole tree for each tag to find a possibly
corresponding row, use a hash table as cache.
This is a very significant improvement on large files with many tags,
reducing for example to about 170ms an update that took more than 18s
before.

Also fix merging of tags with same name and scope (probably unlikely to
exist in real-world files, but the tagmanager extract them correctly
and they used to display correctly too).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5567 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-05 22:56:55 +00:00
Colomban Wendling
57d00f48d0 Update the symbol list rather than clearing and re-building it
The main advantages of not clearing and rebuilding the whole list is
that it doesn't loose the folding and selection (as far as the selected
row(s) still exist after the update, of course), and it reduces
flickering upon update.

The current implementation works in 3-steps:
1) mark all rows as invalid;
2) insert/update the rows, according to the new tag list, marking them
   as valid;
3) remove all rows that are still invalid.
This walks (rows) the first time, (tags*rows) the second and (rows) the
third. This also uses an extra column to store the row's validity.

A (probably) better implementation would be to:
1) walk the current rows, updating them if necessary, or removing them;
2) add the remaining tags that weren't there before.
This is probably faster in theory (and probably also in practice), but
it needs to refactor a lot the code to easily update *or* create a row,
what the current code does not provide.
Basically this is would be a two-pass update, walking (rows*tags) in
the first pass, and only the remaining non-added tags in the second.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5562 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-05 22:53:13 +00:00
Colomban Wendling
a1a13e18e2 Don't remove and add the symbols tree view if we re-add the same one
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5561 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-05 22:51:32 +00:00
Colomban Wendling
f120554364 Provide a GType for TMTag and use it
It is a boxed type but uses reference counting behind the scene. This
allow for example the tag store to make sure the tags it holds are
always valid.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5560 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-05 22:50:04 +00:00
Colomban Wendling
88aa81b6a8 Improve implementation of hide_empty_rows() to do all in one shot
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5558 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-05 22:47:13 +00:00
Colomban Wendling
67cd5dbd13 Add possibility to update symbol list in IDLE time
Enabled by default, using a minimal delay of 250ms between two updates.
Also add a preference to configure this in Geany's UI, under
Preferences -> Editor -> Completion.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5557 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-05 22:46:32 +00:00
Colomban Wendling
676f8e6d76 Enable in-memory tag parsing
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5556 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-05 22:44:22 +00:00
Colomban Wendling
569670b771 Move most of TagManager's I/O to MIO
Moved the parsers to MIO, which allows both in-memory and file parsing.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5555 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-05 22:40:50 +00:00
Colomban Wendling
77e400d1aa Add missing documentation to some plugin API functions
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5553 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-02 21:08:51 +00:00