4727 Commits

Author SHA1 Message Date
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
Nick Treleaven
2f6815841d Merge pull request #256 from ntrel/doc-id
Support pseudo-unique IDs for documents
2014-08-27 16:19:33 +01:00
Nick Treleaven
d62fd48b44 Merge pull request #315 from ntrel/move-session
Properly handle existing session when creating new project
2014-08-27 16:17:03 +01:00
Nick Treleaven
355f0c804e Fix GLib warning 'app->project == NULL failed'
Occurred on Project->New with an existing project when closing an
unsaved file was cancelled.
2014-08-27 16:10:59 +01:00
Nick Treleaven
5964d2e086 Properly close abandoned new project that couldn't be written
Also rewrite the default session in case it was cleared.
2014-08-27 16:10:57 +01:00
Nick Treleaven
c990cd9dca Properly handle existing session when creating new project
Ask whether to adopt the existing session documents.

Also fixes the existing bug of not reloading the default session when
an existing project is open and a new project is cancelled.
2014-08-21 16:45:15 +01:00
Nick Treleaven
18181c2e90 Support pseudo-unique IDs for documents
Add GeanyDocument::id, document_find_by_id() to plugin API.

This also fixes clicking on a Messages item whose document has been
closed and reused. Now the click will be ignored instead of jumping to
an unexpected line in the new document.
2014-08-19 15:40:05 +01:00
Nick Treleaven
ff0fde30cb Use enum for Messages list store IDs 2014-08-19 15:40:02 +01:00
Colomban Wendling
b7b34ec451 Rewrite the Txt2tags parser for better conformance and features
This fixes parsing indented titles and titles with embedded delimiter
characters, and adds support for title nesting information.

Syntax: http://txt2tags.org/rules.html

Closes [feature-requests:#690].
2014-08-19 16:11:23 +02:00
elextr
a8e8e2cd9e Merge pull request #312 from elextr/reflow_fix
Make reflow paragraph leave cursor at end of reflowed text, which is more likely to be useful than where it was left at the start of the last line.
2014-08-19 18:05:38 +10:00
Colomban Wendling
dc140165ae Use GeanyFindFlags instead of plain integer when expecting Geany find flags
This makes the API more obvious on what argument is expected, and avoid
confusion between Geany and Scintilla find flags.
2014-08-19 03:42:58 +02:00
Colomban Wendling
bdc0f720e7 Remove unused flags from document_search_bar_find()
Passed-in flags was always 0, so the argument is not useful.
Also, this function expected Scintilla search flags rather than Geany
ones, making the API confusing for no good reason.
2014-08-19 03:40:52 +02:00
Colomban Wendling
8812e39e2e Fix searching backwards from the Find dialog
search_find_prev() wasn't properly updated to work on GeanyFindFlags
leading to incorrect flags handling.
2014-08-19 03:31:34 +02:00