[Qgis-developer] Better Menus for QGIS 1.0

Tim Sutton tim at linfiniti.com
Wed Aug 6 05:45:58 EDT 2008


Hi Tom

I read through your proposal below and I really like it!

+1 from me

I have a few comments which I will top post here since they are more
generic to the email.

- The layer grouping use case is for people who have projects with
e.g. hundreds of small raster images. Putting these into a group
allows them to be reflected on the legend as a single entry.  There
are also several other benefits such as enabling you to hide / show
multiple layers in a single action.

- The plugin menu is something that always didnt feel right for me.
The original idea when we implemented plugins 'way back when' was that
plugins should integrate themselves into the existing menu structure.
There were issues with doing it at the time and it got parked in the
back lot and never revisited. However since you are doing all this
great work, what do you think about revisiting this idea. We could
extend the plugin interface so that the user can ask for any specific
menu getFileMenu() getToolsMenu() etc. The result would be far more
clean integration of plugins. So for example the geoprocessing would
be placed into Tools etc. Accompanying that we could use your document
below as the basis of a guideline for plugin developers to know where
there menu items should go.

Best regards

Tim




2008/8/6 Tom Elwertowski <telwertowski at comcast.net>:
> Hello all,
>
> As mentioned last month, here is a proposal for reorganized QGIS menus.
> Comments appear below after each menu.
>
> For those who would like to try the menus, a patch is available at:
> http://telwertowski.home.comcast.net/menu_reorg_r9000.diff
>
> This patch is not the final version; it is only for review of menu
> placement. All items may not be enabled/disabled as appropriate. Code will
> be rewritten before submission to svn.
>
> "[Mac]" indicates a Mac-only menu or item; "[X11]" indicates a non-Mac menu
> or item. All items appear once somewhere. My goal is to place each item
> where a user of that platform would expect to find it. Since I don't use
> Windows, someone should let me known if any items need to be relocated for
> Windows.
>
> The menus:
>
> [Mac] Application menu
> [Mac] "About..."
> [Mac] "Preferences..."
> [Mac] "Custom CRS..."
> [Mac] "Quit"
>
> The Application menu is the leftmost menu for all Mac apps. It contains
> "About", "Preferences" (Options) and "Quit" (Exit) as well as access to
> other global settings. Access to file-based settings appears on the File
> menu.
>
> Due to a Qt bug, CRS currently appears first in the menu demo.
>
> File menu
> "&New Project"
> "&Open Project..."
> "Open Recent Projects >"
> "-"
> "&Save Project"
> "Save Project &As..."
> "Save as Image..."
> [Mac] "-"
> [Mac] "Project Properties..."
> "-"
> [Mac] "Page Setup..."
> "&Print Composer..."
> [X11] "-"
> [X11] "Exit"
>
> Edit menu
> "Cut Features"
> "Copy Features"
> "Paste Features"
> "-"
> "Capture Point"
> "Capture Line"
> "Capture Polygon"
> "Delete Selected"
> "Move Feature"
> "Split Features"
> "Add Vertex"
> "Delete Vertex"
> "Move Vertex"
> "Add Ring"
> "Add Island"
>
> Ideally the Edit menu should begin with "Undo" and "Cut," "Copy" and "Paste"
> should work for whatever is selected, not just features. Getting this to
> work probably isn't feasible for QGIS 1.0 however. Qt provides a popup menu
> with these items on text fields which works now. To get the same info into
> the menubar Edit menu requires a handler in each dialog to update the menu
> actions according to which widget which currently has focus.
>
> View menu
> "Pan Map"
> "Zoom In"
> "Zoom Out"
> "Select Features"
> "Identify Feature"
> "Measure Line"
> "Measure Area"
> -
> "Zoom Full"
> "Zoom To Selection"
> "Zoom To Layer"
> "Zoom Last"
> -
> "Map Tips"
> "New Bookmark..."
> "Show Bookmarks"
> "Refresh"
> [X11] "-"
> [X11] "Toolbars >"
> [X11] "Toggle Full Screen Mode"
>
> The View menu should be limited to commands which modify the appearance of
> the currently active window (view). The first group is modal; they are
> together because selecting any one deactivates the others in the group. The
> second group are non-modal commands related to the first group. The third
> group contain other unrelated view actions.
>
> The fourth group controls toolbar, panel and menu visibility. On a Mac,
> these go on the Window menu because they control things outside the view.
> Since other platforms don't typically have a Window menu and this is where
> they are today, I left them here. For an example of an app which uses the
> same menus (including the Window menu) on all platforms, see Qt Designer. My
> feeling is that the Window menu (which on a Mac is outside the window and at
> the top of the screen) serves a similar purpose to the taskbar on non-Mac
> platforms; adding a menu inside a window (on non-Mac platforms) which
> controls other windows seems odd to me.
>
> The "Toolbars >" submenu is static at present. It will be fixed to update
> itself whenever plugins are loaded/unloaded.
>
> Layer menu
> "New Vector Layer..."
> "Add Vector Layer..."
> "Add Raster Layer..."
> "Add PostGIS Layer..."
> "Add WMS Layer..."
> -
> "Open Attribute Table"
> "Toggle Editing"
> "Save as Shapefile..."
> "Save Selection as Shapefile..."
> "Remove Layer"
> "Properties...
> -
> "Show In Overview"
> "Add All To Overview"
> "Remove All From Overview"
> -
> "Show All Layers"
> "Hide All Layers"
>
> "Add" and "Save" are the interesting items here; they are file commands so
> they could be on the File menu. But there is also "New" and "Remove" which
> are not file commands. I put them all here because I like the symmetry of
> File (project): New, Open, Save and Layer: New, Add, Save and Remove.
>
> I did not add the layer grouping commands. I haven't used them and am not
> sure I understand them. Perhaps I need to read the manual. :) They look like
> they might be specific to the Layers panel so perhaps leaving them only on
> the popup menu is sufficient. OTOH, exposing the functionality on the main
> menu might encourage more users to learn about these commands.
>
> [X11] Settings menu
> [X11] "Project Properties..."
> [X11] "Custom CRS..."
> [X11] "Options..."
>
> The Settings menu is non-Mac because the Mac places these items on either
> the Application or File menu.
>
> Plugin menu
> "Plugin manager
> "-"
> (active plugin list)
> "-"
> "Python console"
>
> Should the Python console be on top or bottom?
>
> [Mac] Window menu
> [Mac] "Minimize"
> [Mac] "Zoom" (toggle maximized or not)
> [Mac] "-"
> [Mac] "Bring All to Front"
> [Mac] "-"
> [Mac] "Toolbars >"
> [Mac] "Toggle Full Screen Mode"
> [Mac] "-"
> [Mac] (open window list)
>
> This is a standard Mac menu. At present, only the Attribute Table is added
> to the Window menu. When selected, the window is also unminimized or raised
> to top. As other windows are added, they will also be fixed to unminimize or
> raise to top when reselected whether by the Window menu or any other action.
>
> Is "Toggle Full Screen" necessary on a Mac? Mac guidelines are that it
> should be used only for games and video players which typically have a
> single window which covers the full screen.
>
> Help menu
> "Help Contents"
> "-"
> "Qgis Home Page"
> "Check Qgis Version"
> [X11] "-"
> [X11] "About"
>
> Reference: Apple Human Interface Guidelines - The Menu Bar and Its Menus:
> http://developer.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGMenus/chapter_17_section_4.html#//apple_ref/doc/uid/TP30000356-TPXREF103
>
> Tom
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>



-- 
Tim Sutton
QGIS Project Steering Committee Member - Release Manager
Visit http://qgis.org for a great open source GIS
Blog: http://tim.linfiniti.com
Skype: timlinux
Irc: timlinux on #qgis at freenode.net


More information about the Qgis-developer mailing list