This is an automated email from the git hooks/post-receive script. thansen pushed a commit to branch master in repository aseprite.
commit ae9e2d173b65d47992c18ac0b15a41b4c2e88153 Author: David Capello <[email protected]> Date: Wed Nov 12 11:24:26 2014 -0300 Deselect timeline range when we modify sprite selection Fix a problem selecting one cel in the timeline, using Ctrl+A and then Ctrl+C to copy the whole image area. (This indicates that the user want to copy the cel content, not the timeline cel.) --- src/app/document.cpp | 10 ++++++++++ src/app/document.h | 1 + src/app/ui/timeline.cpp | 8 ++++++++ src/app/ui/timeline.h | 1 + src/doc/document_observer.h | 3 +++ 5 files changed, 23 insertions(+) diff --git a/src/app/document.cpp b/src/app/document.cpp index 26bd9bc..f030732 100644 --- a/src/app/document.cpp +++ b/src/app/document.cpp @@ -36,6 +36,7 @@ #include "base/unique_ptr.h" #include "doc/document_event.h" #include "doc/document_observer.h" +#include "doc/document_observer.h" #include "raster/cel.h" #include "raster/layer.h" #include "raster/mask.h" @@ -139,6 +140,12 @@ void Document::notifyCelCopied(Layer* fromLayer, FrameNumber fromFrame, Layer* t notifyObservers<doc::DocumentEvent&>(&doc::DocumentObserver::onCelCopied, ev); } +void Document::notifySelectionChanged() +{ + doc::DocumentEvent ev(this); + notifyObservers<doc::DocumentEvent&>(&doc::DocumentObserver::onSelectionChanged, ev); +} + bool Document::isModified() const { return !m_undo->isSavedState(); @@ -210,6 +217,9 @@ void Document::generateMaskBoundaries(Mask* mask) m_bound.seg[c].y2 += mask->bounds().y; } } + + // TODO move this to the exact place where selection is modified. + notifySelectionChanged(); } ////////////////////////////////////////////////////////////////////// diff --git a/src/app/document.h b/src/app/document.h index 4fc63ab..491cff6 100644 --- a/src/app/document.h +++ b/src/app/document.h @@ -93,6 +93,7 @@ namespace app { void notifyLayerMergedDown(Layer* srcLayer, Layer* targetLayer); void notifyCelMoved(Layer* fromLayer, FrameNumber fromFrame, Layer* toLayer, FrameNumber toFrame); void notifyCelCopied(Layer* fromLayer, FrameNumber fromFrame, Layer* toLayer, FrameNumber toFrame); + void notifySelectionChanged(); ////////////////////////////////////////////////////////////////////// // File related properties diff --git a/src/app/ui/timeline.cpp b/src/app/ui/timeline.cpp index 71ac33e..d9e5463 100644 --- a/src/app/ui/timeline.cpp +++ b/src/app/ui/timeline.cpp @@ -968,6 +968,14 @@ void Timeline::onRemoveFrame(doc::DocumentEvent& ev) invalidate(); } +void Timeline::onSelectionChanged(doc::DocumentEvent& ev) +{ + m_range.disableRange(); + + clearClipboardRange(); + invalidate(); +} + void Timeline::onAfterFrameChanged(Editor* editor) { setFrame(editor->frame()); diff --git a/src/app/ui/timeline.h b/src/app/ui/timeline.h index fa8d99d..c14b6d5 100644 --- a/src/app/ui/timeline.h +++ b/src/app/ui/timeline.h @@ -108,6 +108,7 @@ namespace app { void onAfterRemoveLayer(doc::DocumentEvent& ev) override; void onAddFrame(doc::DocumentEvent& ev) override; void onRemoveFrame(doc::DocumentEvent& ev) override; + void onSelectionChanged(doc::DocumentEvent& ev) override; // app::Context slots. void onAfterCommandExecution(Command* command); diff --git a/src/doc/document_observer.h b/src/doc/document_observer.h index 8b3d0aa..fb60b2f 100644 --- a/src/doc/document_observer.h +++ b/src/doc/document_observer.h @@ -55,6 +55,9 @@ namespace doc { // When the number of total frames available is modified. virtual void onTotalFramesChanged(DocumentEvent& ev) { } + // The selection has changed. + virtual void onSelectionChanged(DocumentEvent& ev) { } + // Called to destroy the observable. (Here you could call "delete this".) virtual void dispose() { } }; -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/aseprite.git _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

