5298 Commits

Author SHA1 Message Date
Thomas Martitz
60fb01d6db plugin api: convert GeanyDocument to GBoxed internally
GeanyObject signals require GTypes to be gobject-introspection compatible.
2016-06-22 16:09:56 +02:00
Enrico Tröger
fda89798a4 Merge pull request #912 from eht16/spawn_debug_output
Allow spawn debug output also with GEANY_DEBUG
2016-06-20 23:07:10 +02:00
Enrico Tröger
9a471d336d Merge pull request #1079 from eht16/win32_open_uri_error_handling2
Win32: Add UI error message if an URL could not be opened
2016-06-20 23:06:39 +02:00
Enrico Tröger
871a9089b4 Win32: Add UI error message if an URL could not be opened 2016-06-20 23:05:48 +02:00
Enrico Tröger
6aaaba6b41 Improve error message on Build->Run errors
Reword the error message and use the full executed command line
in the error message, not only the configured Terminal command.

Fixes #1077.
2016-06-20 01:39:56 +02:00
Colomban Wendling
f489043864 Merge pull request #946 from techee/scintilla_quartz
Enable buffered draw on newer GTK versions on OS X
2016-06-11 01:09:49 +02:00
Colomban Wendling
021bbfb82b Merge pull request #958 from techee/goto_popup
Improve Goto Symbol popup contents
2016-06-10 23:47:57 +02:00
Colomban Wendling
7fbe6ad832 Merge pull request #957 from techee/ctags_hook
TagManager cleanups
2016-06-10 23:09:09 +02:00
Jiří Techet
20e3681558 Try harder when definition/declaration was not found
Even when we know when should be searching for definition (or declaration),
we can keep searching for the opposite type too when we didn't find
anything with the "correct" def/decl type. So at least we find "something"
of that name.
2016-06-09 10:01:59 +02:00
Jiří Techet
ca8ef9643e Add parentheses in an if to make the condition more clear 2016-06-09 09:41:09 +02:00
Colomban Wendling
d95111d4cd Merge pull request #1039 from techee/highlight_fix2
Fix inconsistent typename highlighting updating.

Closes #1020, #1022.
2016-05-31 16:53:29 +02:00
Colomban Wendling
b007cc009e Remove redundant typedef with new Scintilla that breaks Windows builds 2016-05-30 12:22:24 +02:00
Jiří Techet
9356514e45 Perform typename re-colourisation only when typename list changes
To detect the change of typename list since the last time the colourisation
happened, we could store the complete typename string used during the
last colourization and compare it with the current string. For lots of
typenames this might be quite a huge string stored for every opened tab
(well, it's also stored in Scintilla already for every document but better
not to have it twice). Instead, we can store an uint hash of the string.
We could also use a better hash function with longer hash value but
uint size should be enough for this case (and in the case of a collision
nothing terrible happens).
2016-05-17 22:58:47 +02:00
Jiří Techet
9313b17559 Don't accumulate multiple colourises
I don't know if this ever happens but the check shouldn't hurt.
2016-05-17 22:09:48 +02:00
Jiří Techet
4896db17fe Revert "Colourise only the visible area when highlighting typenames"
This reverts commit b361b83276816633ac5a0d6d391b6f6e8ebe6cf1.

The patch doesn't quite work e.g. when using replace to replace a typename.
2016-05-17 22:04:28 +02:00
Colomban Wendling
d7750a4479 Fix canceling keybinding overriding by discarding the dialog
Properly handle discarding the dialog asking whether to override a
keybinding as canceling it rather than as allowing multiple identical
keybindings.

In the way, simplify and fix dialogs_show_prompt() not to perform odd
and useless response mapping that effectively go round back, and that
don't handle what the comment above it suggests.  Simply document it
can return GTK_RESPONSE_DELETE_EVENT and handle it in the caller side,
as it's a possibly valuable information.  Only one current caller is
affected, and it doesn't change anything as it doesn't change behavior
but only documents it.

Closes #714.
2016-05-17 02:45:03 +02:00
Colomban Wendling
9681888806 Merge pull request #1014 from b4n/streamline-builtin-tags
Streamline builtin tags
2016-05-15 15:58:05 +02:00
Colomban Wendling
056e53c2c5 Make our convenience libraries more self-contained
Make each convenience library depend on the ones it requires, which is
pretty straightforward for us as they each only depend on a single
other one, avoiding any worry about double linking of static objects.
2016-05-04 19:11:13 +02:00
Colomban Wendling
f948916ad0 Don't get properties of a non-current style state to please GTK 3.20
GTK 3.20 doesn't like getting a style property for a non-current state,
unless the call is wrapped in a save()/restore() pair.

So, fix the code to either use the current state or temporarily save
the context.

gb.c now uses different states, but it shouldn't really matter given
how they are used, and even gives a native behavior when the window
loses focus, as it now properly reacts to BACKDROP state.
2016-05-03 00:31:38 +02:00
Colomban Wendling
5851f5616e Merge branch 'gtk-version-specific-css' into gtk-3-20-fixes
Merges pull request #994.
2016-05-02 15:25:47 +02:00
Colomban Wendling
05870d9ebc Merge pull request #973 from techee/osx_keybindings
osx: force resync menus when changing keybindings
2016-04-30 00:22:58 +02:00
Colomban Wendling
854a5d5af8 Don't special-case tags files distributed with Geany
Load those tags files just as any user tags files, removing
unnecessary code redundancy.
2016-04-29 01:39:11 +02:00
Colomban Wendling
6b262bb4ec Make html_entities.tags a real tags file
This removes a fair amount of specific code that is just as well
handled by the generic symbols completion code.
2016-04-29 01:35:21 +02:00
Quentin Glidic
4374769b7c ui-utils: Fix ui_path_box_new with GTK+ >= 3.20
They introduced[1] a GtkBox between the GtkEntry and the GtkComboBox to
add some magic in the layout computation.

[1] <https://git.gnome.org/browse/gtk+/commit/?id=222c43fc60362eeb97ce2d5e3a5583a69a2e30ef>

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-04-17 11:57:38 +02:00
Quentin Glidic
1f392b75bf ui-utils: Load per-version GTK+ CSS file
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2016-04-14 13:17:12 +02:00
Jiří Techet
1c83b18e22 osx: force resync menus when changing keybindings
Normally menu items are updated only when adding or removing
them on osx. They are however not redrawn when just changing
keybindings so the old keybinding is displayed after the change.

Force the menu update to show the updated keybindings.
2016-03-23 20:45:47 +01:00
Jiří Techet
7be40f5832 Initialize ctags at a single place instead of four 2016-03-21 18:28:36 +01:00
Matthew Brush
d4aab06f9b Move some documentation to show up in API docs.
The Doxygen comments were on the non-public global filetypes_array and
filetypes_by_title variables instead of the GeanyData members which are
exposed to the plugin API and reference manual.
2016-03-14 14:25:35 -07:00
Matthew Brush
76ede69ef4 Remove documents_array global from plugin API
The global was never accessible to plugins on Windows and hasn't been
accessible to plugins on Linux and others since the linkage-cleanup
changes.

Move documentation from the global variable to the GeanyData member
of the same name.

Closes #964
2016-03-14 14:25:17 -07:00
Jiří Techet
3640b3bc44 Move *.tags files to the tags directory
ignore.tags is still in ~/.config/geany
2016-03-13 17:35:14 +01:00
Jiří Techet
e513e5a099 Move filetypes.* to the filedefs directory 2016-03-13 17:35:08 +01:00
Colomban Wendling
ea94d2a9a1 Post release version bump
Say hello to Geany 1.28 "Malvek"!
2016-03-13 14:32:20 +01:00
Colomban Wendling
3c213f6d93 Update displayed copyright years 2016-03-13 13:27:28 +01:00
Matthew Brush
38f073673e Respect native dialog pref in Project->Open
Fixes #960
2016-03-12 11:57:14 -08:00
Enrico Tröger
8254271b33 Merge pull request #937 from eht16/win32_open_uri_error_handling
Add error reporting for opening URIs on Windows
2016-03-12 16:22:28 +01:00
Jiří Techet
65f84df5ca Improve Goto Symbol popup contents
* always filter-out symbol from the current line from the list
* when clicked on a symbol on the current line always swap
  definition/declaration search even if there are more symbols from the
  current search direction

Fixes #950
2016-03-11 11:29:50 +01:00
Colomban Wendling
32be0c910f Merge pull request #923 from techee/typedef_goto
Don't show the goto popup for typedef synonyms
2016-03-09 16:09:48 +01:00
Colomban Wendling
fe598274fb Merge pull request #947 from techee/fix_warning
Use correct flag for `gtk_style_get_color()`
2016-03-09 16:07:48 +01:00
Jiří Techet
e5c11cd46a Use correct flag for gtk_style_get_color() 2016-03-08 20:40:08 +01:00
Jiří Techet
064a289705 Enable buffered draw on newer Gtk versions on OS X
Buffered draw seems to be faster and with newer Gtk versions
works correctly on HiDPI screens.

I haven't checked precisely since which Gtk version this works
(didn't work in 3.10, might have been fixed in a later version)
but it isn't as important because even with 3.16 the build
is highly unstable because of Gtk issues (Gtk 3.18 seems to
be promising though).
2016-03-08 13:20:45 +01:00
Benno Schulenberg
77d4c208eb Update of Dutch translation. 2016-03-07 19:42:21 +01:00
Colomban Wendling
3247643446 Merge pull request #932 from b4n/filetype_id
Deprecate filetype_id.
2016-03-06 16:26:51 +01:00
Enrico Tröger
2f5eca2cfd Add error reporting for opening URIs on Windows
Before it silently failed if there was any error. Now at least a
console warning is logged.
2016-03-06 11:16:52 +01:00
Jiří Techet
6ecfb8b5a6 Rename socket_info_struct to SocketInfo 2016-03-05 11:55:57 +01:00
Jiří Techet
c84c41e44a Don't show the goto popup for typedef synonyms
For instance when performing goto tag for Foo and Foo is defined as

typedef struct Foo {} Foo;

go immediately to the struct location without showing the goto popup with
both the struct name and typedef. When there are more occurrences of the
name, filter the list and don't show the synonyms in the popup.

In addition, if the cursor is on the same line as the typedef, go to
the struct and vice versa.

Note the missing

g_strcmp0(second->var_type, first->name) == 0

in the check - in this particular case we won't get the type to which the
typedef refers inside var_type because at the time the typedef tag is
generated in c.c the struct tag doesn't exist yet. On the other hand
there's no second->var_type == NULL either because this behaviour seems
to be rather implementation-specific and might easily change in the
future. The existing checks are probably sufficient for the real-world
code.
2016-03-05 11:10:38 +01:00
Colomban Wendling
5858bc3c08 Deprecate filetype_id in favor of GeanyFiletypeID 2016-03-04 23:08:32 +01:00
Colomban Wendling
856ee6633f Replace filetype_id with GeanyFiletypeID
Used only in static functions so no API change.
2016-03-04 23:07:04 +01:00
Colomban Wendling
f4b270a60e Use the same DOCDIR on Windows than on other platforms
NSIS installer changes were not tested, hopefully they'll work.

Closes #928.
2016-03-04 20:31:52 +01:00
Colomban Wendling
be29bad098 Merge pull request #906 from techee/scope_fallout
Scope completion fallout patches
2016-03-04 20:06:10 +01:00
Colomban Wendling
debe14549d Improve API docs related to keybindings configuration file 2016-03-03 15:00:15 +01:00