maemo.org Bugzilla – Bug 7868
De-select a piece when clicking a second time
Last modified: 2011-10-12 01:14:58 UTC
You need to log in before you can comment on or make changes to this bug.
SOFTWARE VERSION: 0.1.6-1 EXACT STEPS LEADING TO PROBLEM: 1. Select a piece by accident. Cell turns green. 2. Click on it again. EXPECTED OUTCOME: The piece is de-selected. ACTUAL OUTCOME: Green stays. REPRODUCIBILITY: always OTHER COMMENTS: After looking Iván in our real game, he automatically clicked the piece again every time he was not happy about the selection. Even after knowing that it was just enough to select another piece. It was like a natural action for him. "I guess it's because in Mahong works that way", he said. Anyway, I wouldn't be surprised if other users had the same expectations. And I guess it's easy to implement without affecting the current ability of just selecting another piece.
*** Bug 7869 has been marked as a duplicate of this bug. ***
*** Bug 7870 has been marked as a duplicate of this bug. ***
*** Bug 7871 has been marked as a duplicate of this bug. ***
*** Bug 7872 has been marked as a duplicate of this bug. ***
*** Bug 7873 has been marked as a duplicate of this bug. ***
*** Bug 7874 has been marked as a duplicate of this bug. ***
Sorry, duplicates created as a side effect of a bugzilla bug.
Well, only that I dont get a mousePressEvent() for the MGraphicsBoardItem when the same contained QGraphicsItem was already clicked. QGraphicsScene's event propagation is seriously borken.
Fixed in master (commit 7207bd3c). Remind me that I need to isolate the borken Qt behaviour in a consumable testcase ... Please check with next release.
The behaviour in the initial report of this bug is the same in 0.3 and the master branch. EXACT STEPS LEADING TO PROBLEM: 1. Select a piece by accident. Cell turns light blue. 2. Click on it again. EXPECTED OUTCOME: The piece is de-selected. ACTUAL OUTCOME: light blue stays. We should decide if a de-selection should be possible from a usability point of view. I vote for "should be possible" and would try to implement this. Of you agree leave this open. If not write a comment why. :)
(In reply to comment #10) > The behaviour in the initial report of this bug is the same in 0.3 and the > master branch. > > EXACT STEPS LEADING TO PROBLEM: > 1. Select a piece by accident. Cell turns light blue. > 2. Click on it again. > > EXPECTED OUTCOME: > The piece is de-selected. > > ACTUAL OUTCOME: > light blue stays. > > We should decide if a de-selection should be possible from a usability point of > view. I vote for "should be possible" and would try to implement this. > > Of you agree leave this open. If not write a comment why. :) Why do we need a deselect? Seems inefficient to me. You can select other pieces than the original one (if of same color) just fine, even without deselect.
(In reply to comment #11) > (In reply to comment #10) > > The behaviour in the initial report of this bug is the same in 0.3 and the > > master branch. > > > > EXACT STEPS LEADING TO PROBLEM: > > 1. Select a piece by accident. Cell turns light blue. > > 2. Click on it again. > > > > EXPECTED OUTCOME: > > The piece is de-selected. > > > > ACTUAL OUTCOME: > > light blue stays. > > > > We should decide if a de-selection should be possible from a usability point of > > view. I vote for "should be possible" and would try to implement this. > > > > Of you agree leave this open. If not write a comment why. :) > > Why do we need a deselect? Seems inefficient to me. You can select other pieces > than the original one (if of same color) just fine, even without deselect. Also, deselect would need to implement in C++ backend ;-) UI has no idea about pieces or what selected means: It gets all that from the chessboard model. The only thing the UI does is to say "User touched (and selected) on what I think is a square, here is the index of that square", then the backend takes over, updates the chessboard model and notifies the UI about the changes in the model. Sounds complex but it is trivial to write new UI's for that whilst reusing the very same backend.
(In reply to comment #11) > Why do we need a deselect? Seems inefficient to me. You can select other pieces > than the original one (if of same color) just fine, even without deselect. I agree. In that situation the user needs to select a piece, so it makes sense that one you get the blue it doesn't go out. Also, the de-select with double tap might accidentally lead to false de-selections. I was the original submitter of this bug and now I see that the current behavior is right. :) Resolving accordingly.
(In reply to comment #12) > Also, deselect would need to implement in C++ backend ;-) UI has no idea about > pieces or what selected means: It gets all that from the chessboard model. The > only thing the UI does is to say "User touched (and selected) on what I think > is a square, here is the index of that square", then the backend takes over, > updates the chessboard model and notifies the UI about the changes in the > model. Sounds complex but it is trivial to write new UI's for that whilst > reusing the very same backend. Oh yes... I spent the whole evening yesterday to understand what is going on in ChessBoard.cc but Bug 12373 prevents me from debugging. :D However I now know a little bit better how the chess board model works. Regarding this bug this convinces me: (In reply to comment #13) > Also, the de-select with double tap might accidentally lead to false > de-selections.