Merge lp://qastaging/~evfool/scratch/lp1309291 into lp://qastaging/~elementary-apps/scratch/scratch
Status: | Merged | ||||||||
---|---|---|---|---|---|---|---|---|---|
Approved by: | Robert Roth | ||||||||
Approved revision: | 1306 | ||||||||
Merged at revision: | 1301 | ||||||||
Proposed branch: | lp://qastaging/~evfool/scratch/lp1309291 | ||||||||
Merge into: | lp://qastaging/~elementary-apps/scratch/scratch | ||||||||
Diff against target: |
410 lines (+124/-93) 4 files modified
CMakeLists.txt (+1/-1) src/MainWindow.vala (+2/-2) src/Services/Document.vala (+32/-22) src/Widgets/SearchManager.vala (+89/-68) |
||||||||
To merge this branch: | bzr merge lp://qastaging/~evfool/scratch/lp1309291 | ||||||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Jeremy Wootten | Needs Fixing | ||
Avi Romanoff (community) | Approve | ||
Danielle Foré | Approve | ||
Robert Roth (community) | Approve | ||
Review via email:
|
Commit message
Implement replace all (lp:1309291) and migrate to GtkSourceView search (lp:1319798)
Description of the change
This branch improves replace handling functionality by:
* adding a replace all button to the search bar
* replacing the replace and find icon with a text button
* implementing a replace all handler, temporarily disabling textbuffer.changed signal handlers on the current document, and readding them after the replace all is completed, resulting in a significany speedup with replace all on large documents (replace all execution time down from almost a minute to 1-2 seconds on a 3.1 MB document)
* the replace all action is handled as one action, can be undone in one step (Ctrl+Z)
* disable the replace and replace all buttons in case there is no match for the current search term, as we don't have anything to replace in that case
* migrate the search and replace functionality to gtksourceview search and replace, replace all
Thanks for your branch Robert!
I think maybe we should just use a text button here. I don't think any themes ship with a "replace all" icon. While we're at it, maybe we should use a text button for "replace" as well. I think we're probably not going to get the best level of clarity out of an icon for this action.