7939 Commits

Author SHA1 Message Date
Jiří Techet
44fec8f751 Prepend values to GtkTreeStore to eliminate quadratic complexity
The tree model nodes consist of GNode structs:

struct GNode {
  gpointer data;
  GNode	  *next;
  GNode	  *prev;
  GNode	  *parent;
  GNode	  *children;
};

where children are a linked list. To append a value, the list has to be
walked to the end and with nodes with many children (which is our case)
this becomes very expensive.

We sort the tree afterwards anyway so it doesn't matter where we insert the
value.
2015-05-03 19:36:26 +02:00
Jiří Techet
8ffd687af7 Don't update the symbol tree when not shown 2015-05-03 19:36:26 +02:00
Jiří Techet
e3e46ed63b Use gtk_tree_store_insert_with_values() to speed-up tree creation
About 30% faster tree creation.
2015-05-03 19:36:26 +02:00
Jiří Techet
35bde6c5ad Reload a tag in the sidebar only when it differs from the existing tag
gtk_tree_store_set() becomes very slow when the tree gets bigger
because internally it calls gtk_tree_store_get_path() which counts
all the entries in a linked list of elements at the same tree level
to get the tree path.

Avoid the call of this function when not needed.
2015-05-03 19:36:26 +02:00
Jiří Techet
5d94d15976 Reload tooltip in the symbol tree also on tag update
Because function return types are not used to determine tag equality,
we need to also update the tooltip of an existing tag otherwise the return
type doesn't get updated when changed.
2015-05-03 19:36:26 +02:00
Frank Lanitz
b92b4ad364 Merge pull request #482 from philippwiesemann/fix-typos-po-de
Fix typos in German translation
2015-05-03 17:09:39 +02:00
Philipp Wiesemann
14e110ecdc Fix typos in German translation 2015-05-02 22:34:58 +02:00
Jiří Techet
d31c770a3d Tell users how to clear the terminal in the error message
This is not completely obvious - when I first saw the message, I started
pressing backspace which really doesn't help.

Also clarify and shorten the message a bit - in "Could not execute the file
in the VTE because it probably contains a command" it's not clear if it's
the file or VTE which contains the command. Also use "terminal" instead
of "VTE" which is more user-friendly.
2015-04-29 22:23:43 +02:00
Jiří Techet
9f0bfec045 Add "dirty" terminal indication
Right now users are confused when various VTE actions don't work because
there's no indication that the terminal is in the non-clean state.

Visualise "modified" terminal in the same way as modified document - by
a red label in the tab so it's clearer when terminal isn't clean.

Avoid quick red flashes when pressing enter by delaying the color change
a bit.
2015-04-29 22:23:35 +02:00
Enrico Tröger
3b484d8f9e Merge pull request #464 from eht16/undeprecate_plugins
Remove deprecated and unnecessary use of GeanyFunctions declaration
2015-04-25 10:22:52 +00:00
Enrico Tröger
9fd566e040 Windows: don't link geany_private.rc to libgeany as it is not necessary 2015-04-25 12:19:28 +02:00
Dimitar Zhekov
df39fc7bf7 Mark the exported spawn functions as GEANY_API_SYMBOL and @since 1.25 2015-04-24 19:35:59 +03:00
Daniel Guerrero Miralles
b6fc3e97df Fix catalan translation
This small patch fixes some entries in the contextual menu.
2015-04-22 13:49:47 +02:00
Colomban Wendling
10a04f71c3 Update Scintilla to version 3.5.5 2015-04-21 16:21:37 +02:00
Colomban Wendling
2523a25f9c Merge branch 'scintilla-update-script'
Small improvements to the Scintilla update script
2015-04-21 16:19:11 +02:00
Colomban Wendling
39daab1dc7 hacking: Add a section on how to upgrade the bundled Scintilla copy 2015-04-21 16:11:07 +02:00
Colomban Wendling
efb639435c Scintilla update script: only ask for checking when something changed
Only ask the user to check the SciLexer.h diff if the file actually
changed.
2015-04-21 15:40:15 +02:00
Colomban Wendling
264df2ec7b Scintilla update script: improve success banner 2015-04-21 15:39:30 +02:00
Colomban Wendling
96cc37946f Scintilla update script: strip "a/" and "b/" automatically 2015-04-21 15:34:54 +02:00
Colomban Wendling
1d9bb56c4a Fix incorrect safety check in non-regex search code
Only warn if MULTILINE is passed *together* with REGEX, but simply
ignore if it not.
2015-04-21 15:12:44 +02:00
Colomban Wendling
97ab68244c Fix "select-all" to work with any GtkTextView, not only the scribble
This makes the code more generic and allows the "select-all" keybinding
to work in any GtkTextView, e.g. potentially plugin's ones.
2015-04-20 22:24:50 +02:00
Colomban Wendling
2110fc785d Merge pull request #467 from pik/splitwindow
Fix basic callbacks to work with splitwindow

Closes #460 and #467.
2015-04-20 22:19:49 +02:00
pik
4c504c2be2 Reorganize select callback
* select_all now works with splitwindow
* select_all now works with file-browser pane
* menu_select_all now works everywhere select_all hotkey does
2015-04-20 22:16:35 +02:00
pik
c214056ea1 Fix callbacks to scintilla functions to work with splitwindow
* Use Scintilla focus object instead of notebook document to fix
  splitwindow behaviour for cut, copy, paste and delete callbacks.
* move else-if to same line (style)
2015-04-20 22:16:07 +02:00
Colomban Wendling
b839611e51 Merge branch 'ctags/make'
Import make parser improvements from fishman/ctags#272
2015-04-20 20:04:47 +02:00
Colomban Wendling
04c721c3b4 make: Avoid reading an uninitialized value on empty target names
Fixing this is however only theoretically useful, as:
* no actual code paths can currently lead to it;
* even if the code actually ended up reading the uninitialized value,
  it would still have a fully defined behavior as the result of the
  check is irrelevant in the only case the uninitialized read can
  happen.

Anyway, fix this to avoid any possible bad surprises in the future.
2015-04-20 20:01:18 +02:00
Colomban Wendling
39f359b09a make: Add support for GNU make pattern rules 2015-04-20 19:59:06 +02:00
Colomban Wendling
a11d67bb0b make: Fix handling comments inside rules
A line consisting only of blanks or comments should not end a rule,
even if it doesn't start with a tabulation character.
2015-04-20 19:53:28 +02:00
Colomban Wendling
2d31d8f836 make: Support for combined targets 2015-04-20 19:48:30 +02:00
Colomban Wendling
5bed3b58f3 make: Support for variable expansions in target names 2015-04-20 19:42:38 +02:00
Colomban Wendling
0d60359428 make: Fix incorrectly generating tags for rules content 2015-04-20 19:29:24 +02:00
Frank Lanitz
5e8c17eea2 Update of Portuguese translation 2015-04-20 07:43:57 +02:00
Dimitar Zhekov
c1db044b30 Separate spawn_read_cb() condition into input_cond and failure_cond 2015-04-19 19:17:44 +03:00
Enrico Tröger
26a417d04d Fix typo 2015-04-19 16:09:09 +02:00
Enrico Tröger
e3ef006d59 Drop the paragraph about self-hosted GTK API docs
We assume that the GTK 2.24 API docs will remain online in the long-term
so there is no reason why we should self-host those docs any longer.
This is the last missing bit of #245.
2015-04-19 16:04:26 +02:00
Enrico Tröger
3f89d8d6a3 Add translation block to properly set version information
This seems necessary to properly display version information
in the Windows Explorer file properties dialog.
I think it worked on older Windows versions without but
at least on Windows 7 this seems necessary.
2015-04-18 10:46:54 +00:00
Dimitar Zhekov
d8ad369f8e Merge branch 'master' of https://github.com/geany/geany into spawn
Conflicts:
	src/build.c
	src/tools.c
2015-04-18 12:31:41 +03:00
Dimitar Zhekov
902681d260 Fix for the broken I/O watch conditions on child exit under OSX
Under OSX, after child death, the read watches receive input
conditions instead of error conditions, so we convert the termination
statuses (ERROR and EOF) into their respective conditions. Should not
hurt the other OS.
2015-04-18 11:47:31 +03:00
Frank Lanitz
b8684a00f0 Merge pull request #472 from huth/fixes
Fix typos in comments
2015-04-18 09:43:07 +02:00
Thomas Huth
e9f4365a37 Fix typos in comments (discovered with the codespell utility) 2015-04-18 08:25:59 +02:00
Colomban Wendling
723f4302e0 autotools: Avoid building non-shared versions of the object files
libtool apparently builds every object twice by default when shared and
static objects need to be build differently.  As we never use the
statically linked objects, avoid building them at all.
2015-04-17 15:11:00 +02:00
Colomban Wendling
a98c9d5084 Merge pull request #468 from techee/link_warning
Compile prefix.c and osx.c only when needed to avoid warnings
2015-04-15 14:01:40 +02:00
Frank Lanitz
331a2bbab9 Update of Portuguese translation 2015-04-15 00:56:46 +02:00
Jiří Techet
83f261fd64 filebrowser: Add a flag to the tree model to indicate whether en entry is a directory
Used by the subsequent patch which changes "stock-id" to GIcon and
disables row type detection using FILEVIEW_COLUMN_ICON.
2015-04-14 23:49:22 +02:00
Jiří Techet
db4bf54b2f Compile prefix.c and osx.c only when needed to avoid warnings
When mac integration or binary relocation are disabled, the compiled
object file contains no symbols because the guards in the source files
hide all code. On OS X there's a warning during compilation saying:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
file: .libs/libgeany.a(libgeany_la-prefix.o) has no symbols

If these features are disabled, don't compile the corresponding
sources to avoid the warnings.

Interestingly, waf compilation works without warnings - it appears
linking is done through g++ which doesn't produce these warnings.
2015-04-14 22:21:34 +02:00
Enrico Tröger
b0f7f2859b Add a filter entry in the plugin manager dialog
Let the user filter plugins by searching the plugin names and descriptions.
While at it, group the plugin buttons into the dialog's action area to
save some space.
Rename OK button to Close in the plugin manager dialog
Set the input focus to the filter entry and set initial plugin button state
2015-04-14 22:18:28 +02:00
Enrico Tröger
31ae06f7e5 Merge pull request #466 from techee/waf_build_tree
waf: explicitly set the location of signallist.i and geany.html in the b...
2015-04-14 20:01:45 +00:00
Jiří Techet
f6fbda768e waf: explicitly set the location of signallist.i and geany.html in the build tree
On OS X signallist.i is always rebuilt because waf looks for it in the build
tree but generates it inside the source tree for some reason so it's
always missing in the build tree. Set the target explicitly to the
build tree to fix the problem.

Similarly, set the target for geany.html to the build tree. Thanks to this
waf also creates the 'doc' directory in the build tree which is otherwise
missing and the cwd command fails for this reason (e.g. when the
_build_ directory is removed).

These two task generators are the only ones that don't use the 'features'
parameter - the features in the other task generators should already
handle the source/build tree problems for us (see the Waf Book section
6.3.3. Nodes, tasks, and task generators).
2015-04-13 23:00:43 +02:00
Colomban Wendling
d97709ff86 Merge pull request #462 from techee/waf_install
waf: Disable build/install phase interleaving
2015-04-13 17:59:54 +02:00
Colomban Wendling
ab6c145d45 Merge pull request #457 from techee/icon2
Two more Geany icon updates
2015-04-13 17:57:54 +02:00