Bug 282394 - Drop the leftclick menu
Summary: Drop the leftclick menu
Status: RESOLVED FIXED
Alias: None
Product: marble
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR wishlist
Target Milestone: 1.3 (KDE 4.8)
Assignee: marble-bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-20 11:30 UTC by Anders Lund
Modified: 2012-02-19 13:18 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anders Lund 2011-09-20 11:30:14 UTC
Version:           unspecified
OS:                Linux

Motivation: The leftclick menu in marble is making the application very hard to use, and does not add value in return. 

Hard to use because you can't click on the widget to give it focus after clicking somewhere in the side panels, to be able to move the map using the arrow keys. The only way to focus the map is to move it before releasing the mouse button.

The items in the menu pr default is a disabled item claiming "Earth", and a submenu of to options to utilize the geographic coordinates. Neither would suffer from being in the context menu instead!

For other objects, such as waypoints, tracks or routes, some leftclick action could be more desirable.

Reproducible: Didn't try

Steps to Reproduce:
bko is broken with khtml

Actual Results:  
bko is broken with khtml

Expected Results:  
bko is broken with khtml

OS: Linux (i686) release 3.0-ARCH
Compiler: gcc
Comment 1 Bernhard Beschow 2011-09-20 12:00:24 UTC
Another issue I see is usability: The hand shape of the cursor suggests to grab and pan the map, but does not suggest that an lmb event would trigger an action. Therefore, the appearance of a menu in case of a lmb event is very surprising and IMO is usually neither what a user expects or wants. Merging the lmb menu into the rmb menu would be a solution also for this issue.
Comment 2 Dennis Nienhüser 2011-09-20 15:59:04 UTC
My vote goes for implementing several modes as discussed before.

- Pan Mode. Mouse cursor is a pointer, mouse pans and zooms
- Selection Mode. Mouse cursor is a hand, clicking items opens a menu or selects them
- Zoom Mode. Mouse rectangle defines area to zoom into
- Measure Mode. Clicking creates a new measure point
- Routing Mode. Clicking creates via points.
- Tracking mode? Input is disabled, centering on some placemark

A simple way to implement it would be similar to okular with one icon for each mode. That may be a bit inconvenient at times though.

Depending on the mode, other icons or other gui elements can be shown/hidden
Comment 3 Anders Lund 2011-09-20 16:21:46 UTC
I like the idea of having modes of operation, and creating routes that can be exported to gpx or kml would be very handy.

I believe, from my experience with openCPN, that combining pan and select mode is functional, so that you pan if you do not hit a selectable object, and selects if you do, is a working solution.
Comment 4 Bernhard Beschow 2011-09-21 10:30:24 UTC
I think that modes could be a solution, though it seems to me that this is a broader topic. I think what Anders refers to is browsing, which is one of our use cases. So in order to stay focused, I suggest to discuss what is relevant for browsing a map.

For the browsing use case, I believe that switching between panning and selection manually is too inconvenient. I'd therefore favor a solution where both modes are combined (at least for browsing).

That said, I think that the current behavior is almost fine for browsing, because the shape of the cursor suggests what "mode" is currently active. In particular, I like that it takes advantage of the following (common) intuitions for cursor shapes:
* arrow: point and activate an item (e.g. a gpx track)
* open hand: grabbing and panning (the map)
* pointing hand: single click performs an action (e.g. open a menu or link)

The only thing I'd change - for browsing - is to drop or merge the lmb menu, as suggested in the title.

We should keep in mind, however, that future browsing will likely involve rotation of the globe around the z-axis and tilting around the y-axis (see OpenGL demo).
Comment 5 Bernhard Beschow 2011-11-24 19:37:53 UTC
Git commit 0613cbb9dd4d3db3a5d6963c938221ab9bd7b03c by Bernhard Beschow.
Committed on 06/11/2011 at 00:19.
Pushed by beschow into branch 'master'.

rework lmb and rmb menus

The lmb as well as the rmb menu used to offer actions regarding the current geo position. In particular, the lmb menu offers "Copy
Coordinates" and "Address Details", while the rmb menu offers "Add Bookmark" and "Set Home Location". As a result, neither of the
menus have precise duties, creating ambiguities, which this patch addresses as described below.

The lmb menu is now only responsible for dealing with links of geo features (in analogy to a web browser): When the mouse cursor
hovers above a feature (indicated by turning into an pointing hand), then a lmb click will reveal the lmb menu. If the mouse is not a
pointing hand, no lmb menu will appear when clicking the left mouse button.

No other actions than geo feature actions are part of the lmb menu. In particular, the unimplemented "planet" action is removed
entirely, whereas the remaining actions basically went into the rmb menu.

The rmb menu's purpose is to provide context actions for the respective geo position. It can be triggered anywhere and anytime
above the map (mouse cursor above a valid geo position).
Since the "Add Bookmark" and even more so the "Set Home Location" actions are believed to be very rarely used, they are removed in the
desktop version (but they are still available from the application menu). The mobile version keeps the "Add Bookmark" action, but
the "Set Home Location" is removed as well.
The "Copy Coordinates" and "Address Details" actions (removed from the lmb menu) are both moved to the rmb menu in the desktop version.
The mobile version gains the "Address Details" action.

BUG: 282394
REVIEW: 103053
GUI

M  +24   -44   src/lib/MarbleWidgetPopupMenu.cpp
M  +0    -3    src/lib/MarbleWidgetPopupMenu.h

http://commits.kde.org/marble/0613cbb9dd4d3db3a5d6963c938221ab9bd7b03c
Comment 6 Dennis Nienhüser 2012-02-19 13:18:51 UTC
Git commit 6fb1548ddccf3af671736f750ef9725c5acaa214 by Dennis Nienhüser.
Committed on 19/02/2012 at 13:34.
Pushed by nienhueser into branch 'KDE/4.8'.

Fix setting home location on Maemo.

Setting the home location via the right click menu was the only way
to set it on Maemo, so it must not be dropped without a replacement.
Patch is ABI compatible, string added already exists in other classes.

M  +16   -2    src/lib/MarbleWidgetPopupMenu.cpp
M  +4    -0    src/lib/MarbleWidgetPopupMenu.h

http://commits.kde.org/marble/6fb1548ddccf3af671736f750ef9725c5acaa214