4689 Commits

Author SHA1 Message Date
Jiří Techet
54a9fd83ea Get rid of the nested members in TMTag
The only real change is the removal of struct and union in TMTag, the
rest is purely mechanical removal of "atts.entry." everywhere.
2014-10-18 21:40:11 +02:00
Jiří Techet
48725e4188 Get rid of the file struct in TMTag, preparation for the union removal
The union on TMTag is very confusing and rather dangerous. The fields
file/timestamp and line/lang overlap. Some implicit assumptions are made
in the code - timestamp is never set so when file is NULL, the file
struct should be used to get the lang member. Rather avoid using unions
and move the lang member to the entry struct together with the other
attributes.
2014-10-18 21:40:10 +02:00
Jiří Techet
8c25ff871c Make tm_workspace_update() public 2014-10-18 21:40:10 +02:00
Jiří Techet
26587454b0 Remove TmWorkObject and all the OO related stuff
In addition, rename all functions, parameters, comments etc. mentioning
work_object and remove unnecessary parameters of various functions.
Delete dead code paths.

Also move common functions like tm_get_real_path() from tm_work_object to
tm_source_file.
2014-10-18 21:40:10 +02:00
Colomban Wendling
d42837f021 Merge pull request #351 from techee/guards
Protect private definitions by the GEANY_PRIVATE macro in headers
2014-10-18 18:13:45 +02:00
Colomban Wendling
608ab0f60c Document the fact utils_spawn_sync() accepts NULL for all output arguments 2014-10-14 23:23:13 +02:00
Jiří Techet
6d6dd7444b Fix doxygen warnings
Make documents_array public and accessible by doxygen and describe all
parameters of tm_source_file_new().
2014-10-12 23:33:51 +02:00
Colomban Wendling
f5230f334e Fix moving editor tabs through keybindings 2014-10-12 18:00:12 +02:00
Enrico Tröger
3966ba8c4b Query GdkWindow reference only if available
On startup, the Geany main window doesn't have a GdkWindow yet
(probably because it is not yet mapped). This causes many
'gdkdrawable-win32.c:2013 drawable is not a pixmap or window'
warnings when resolving shortcuts on Windows.
Since we pass the SLR_NO_UI to the Windows API, we probably
don't need the parent hWnd reference at all.
2014-10-12 16:35:46 +02:00
Colomban Wendling
75ab7103f1 Merge pull request #353 from b4n/tm-no-update-on-quit
Don't rebuild TagManager workspace tags when quitting
2014-10-12 16:02:40 +02:00
Nick Treleaven
2d59f110df Merge pull request #350 from ntrel/reload-prompt
Don't prompt for reload from infobar when there are no unsaved changes
2014-10-12 13:27:00 +01:00
Colomban Wendling
eb7fd066b1 Don't alter GeanyEditor internal state in editor_create_widget()
When editor_create_widget() is used on an editor with already existing
widget, don't reset the internal indentation settings of that editor.
2014-10-11 14:53:21 +02:00
Matthew Brush
41c66e0eb0 Change "replace_and_find_by_default" default to true 2014-10-10 18:40:54 -07:00
Matthew Brush
bae420a768 Merge branch 'rpalli/replace1'
Closes #189
2014-10-10 18:02:29 -07:00
Colomban Wendling
f1da4b9914 Don't rebuild TagManager workspace tags when quitting
Updating the workspace is useless as the application will be shut down,
and not doing it can save a lot of time (almost 50% speedup quitting an
instance with all Geany source from `src/` open).
2014-10-11 01:40:10 +02:00
Nick Treleaven
ab7a0018b2 Don't prompt for reload from infobar when there are no unsaved changes
Also warn about losing undo history when there are no changes.
2014-10-10 16:59:43 +01:00
Roland Pallai
9b2ccb9965 Turn "replace and find by default" boolean pref into a "various" preference. 2014-10-10 00:04:38 +02:00
Jiří Techet
10a28b4191 Protect private definitions by the GEANY_PRIVATE macro in headers
In addition, this patch defines the GEANY_PRIVATE macro for the tag
manager library where it wasn't defined before, removes 2 tag manager
headers from distribution as they are not needed by plugins and
in the tag manager changes the docstrings to ordinary comments for
private definitions.
2014-10-09 20:51:32 +02:00
Enrico Tröger
63266a1254 Remove unused variable 2014-10-06 17:28:10 +02:00
Colomban Wendling
b1b9e6d19a Fix configuration directory location on non-Windows
3e089e4c2c914a4b8885daa65e784a227bd2d6b0 accidentally switched from
`g_get_user_config_dir()` to `g_get_user_data_dir()` as the location
for the user's configuration directory.
2014-10-06 16:24:26 +02:00
Nick Treleaven
e69bbe25fd Merge pull request #342 from ntrel/save-disk-check
Force disk check before save to prevent accidental overwriting
2014-10-06 12:20:54 +01:00
Nick Treleaven
fa20ec4ffb Merge pull request #343 from ntrel/more-project-prefs
Add project prefs for line breaking column & multiline comment completion
2014-10-06 12:20:15 +01:00
Enrico Tröger
3e089e4c2c Reading the config directory from the Windows API instead of GLib
Before we used g_get_user_config_dir() but GLib changed the returned
location in newer versions, so use the Windows API directly
to get the old location, at least for now.
Also add utils_get_user_config_dir() wrapper.

Code is based almost completely on a patch from Matthew.
2014-10-05 12:55:33 +02:00
Nick Treleaven
7a8c091af0 Reformat g_signal_connect calls 2014-10-03 17:42:23 +01:00
Nick Treleaven
e566aae6b2 Add project prefs for line breaking column & multiline comments 2014-10-03 12:25:05 +01:00
Nick Treleaven
541cb8dbcc Force disk check before save to prevent accidental overwriting
Useful e.g. with Save All when the modified file is not the current tab.
2014-09-30 17:10:53 +01:00
Colomban Wendling
5df59cefcb Fix build with GLib 2.20
Don't use `g_regex_get_compile_flags()` that is new in 2.26, but we
only depend on 2.20.

Closes #340.
2014-09-30 16:31:44 +02:00
Nick Treleaven
bbf63d131a Fixups
Fix adding stash group and applying defaults.
Don't let Properties dialog override per-document line wrapping state.
Use "editor" for key group name.
Remove code already handled by stash group.
2014-09-29 16:12:57 +01:00
Tim Tassonis
cb2aebcfd9 Enable per-project line wrapping 2014-09-29 16:12:55 +01:00
Nick Treleaven
2b98487a70 Merge pull request #335 from ntrel/save-cleanup
Notify user when trying to save read-only document
2014-09-26 11:45:27 +01:00
Nick Treleaven
3ab6579091 Notify user when trying to save read-only document 2014-09-26 11:44:07 +01:00
Nick Treleaven
4ceb9fb1f2 Add comment about throwing away read-only for renamed documents 2014-09-26 11:44:05 +01:00
Colomban Wendling
d7aa4b5916 Update for new Scintilla styles 2014-09-26 00:23:37 +02:00
Colomban Wendling
187dca2957 Use named constants everywhere for msgwin/compiler internal columns 2014-09-25 17:05:55 +02:00
Nick Treleaven
9d669a72f7 API: Rename document_reload_file -> document_reload_force
New name is clearer against document_reload_prompt.
Add deprecated alias.
2014-09-25 11:45:49 +01:00
Nick Treleaven
b646424ddb Only close reload infobar if the response succeeded 2014-09-24 12:21:32 +01:00
Nick Treleaven
3830240cb8 Confirm info-bar reload when document has modifications 2014-09-24 12:21:30 +01:00
Nick Treleaven
0a80a72f0b Set status id to STATUS_DISK_CHANGED when protecting document 2014-09-24 12:08:40 +01:00
Nick Treleaven
9a02525d1c Don't set document text as changed when file on disk is newer
Setting the document text as changed makes it too easy to accidentally
overwrite the file - e.g. when closing you're reminded to save it.
It also makes it slower to close documents you no longer want open.
Setting text as changed is still done if the user cancels the warning.
2014-09-24 12:08:24 +01:00
Nick Treleaven
06e40e512f Confirm whether to save protected documents
(Reuses existing strings).
2014-09-23 14:53:08 +01:00
Nick Treleaven
7450a992b5 Use 'Overwrite' rather than Save for clarity in reload infobar 2014-09-23 14:43:49 +01:00
Thomas Martitz
a6d11cb4f8 Use custom document info bar response IDs 2014-09-23 14:43:47 +01:00
Colomban Wendling
34f7ce9cc9 Merge branch 'about-banner-fix' 2014-09-22 19:38:41 +02:00
Colomban Wendling
20c31b62ff Fix custom about dialog style overriding
Don't assume changing the style inside a style-set handler results in
recursion, as it would be wrong if the next signal emission was
triggered asynchronously.  Instead, only modify the style if it isn't
already as we want it.

This fixes the about dialog's style-set handlers on GTK 3.10 which
didn't liked constant style updating.
2014-09-22 19:32:44 +02:00
Colomban Wendling
76d6e9faa9 Revert "Fix GTK frame clock warnings with our about dialog"
This reverts commit ec7071062c5dc39d5f893a830b3c26968a579251.

Apparently the selected state of an event box doesn't necessary mean it
will be styled with a selection background color.  This e.g. isn't the
case in GTK 3.14's Adwaita (default) theme.

So, revert the commit that removed custom style overrides.  Next commit
will fix the GTK 3.10 problem this reverted commit fixed.
2014-09-22 19:29:26 +02:00
Matthew Brush
634a4b111f Highlight C types from tags in C++ code
Useful for when using, for example, GTK+, SDL, and other C-only APIs
in files with the C++ filetype. Before only the symbol auto-completion
worked, but not the highlighting of type names.

TODO: figure out why taking something like SDL.c.tags and making a copy
as SDL.cpp.tags doesn't work, once that's fixed, this extra condition
could probably be removed.
2014-09-17 16:49:58 -07:00
Enrico Tröger
d6d836c59f Don't match regexes on empty strings
Save As on an empty document would cause warnings like:
sys:1: Warning: g_regex_match_full: assertion 'string != NULL' failed
because SCI_GETRANGEPOINTER returns NULL then.
On a Ubuntu 12.04 system this warning even crashed Geany at writing the
log message.
So, simply don't search for anything if the document is empty.
2014-09-11 19:16:24 +02:00
Nick Treleaven
a733bf9b2a Merge pull request #327 from ntrel/open-file-exists
Allow user to edit open dialog filename when file doesn't exist
2014-09-01 17:01:41 +01:00
Colomban Wendling
666fdf30fa Document document_find_by_id() parameter so Doxygen is happy 2014-08-29 17:06:51 +02:00
Nick Treleaven
7047152a1f Allow user to edit open dialog filename when file doesn't exist 2014-08-29 12:23:38 +01:00