Waiting for QGIS 2.2 – Composer Improvements (part 1)

In the spirit of depesz’s “Waiting for Postgresql 9.#” series (and BostonGIS’ follow up Waiting for PostGIS 2.#), here’s the first in a new series of “Waiting for QGIS 2.2” posts…

As I mentioned in my last post, one of my major goals for QGIS 2.2 is to make the print composer behave more like a professional DTP package. A big part of this is making sure QGIS respects all the expected standard behaviour for graphic design programs. While the print composer made huge advances toward this goal in version 2.0, there’s still further we can go.

So, let’s start with a list of all the new usability features the print composer has already gained for QGIS 2.2:

  • Selections of multiple items can all be moved and resized together (previously only one item in the selection would be altered)
  • Mouse handles are always drawn on the top of the composition – in earlier versions mouse handles could be hidden by items sitting higher in the composition
  • Holding shift while resizing items locks their aspect ratio
  • Holding control while resizing items causes them to resize from their centre
  • Holding shift while moving items locks the movement to the horizontal or vertical
  • Holding control while moving items temporarily disables any grid or guide-based snapping
  • Items can be removed from a selection by shift-clicking them
  • Control-clicking an item causes the next item below it to be selected – this allows you to select items which are hidden behind other items
  • Holding shift while moving items using the cursor keys results in a large item movement
  • There’s a new “Edit” menu in the composer, with options like
    • Select All/Select None and Invert Selection
    • Select Next Item Above and Select Next Item Below
    • Lock Selected Items and Unlock All
The new composer "Edit" menu
The new composer “Edit” menu

Additionally, there’s a bunch of pull requests which haven’t yet been merged to master, but are ready to go, including:

  • Adding a dedicated “pan” tool for dragging around compositions
  • Compositions can be panned at any time by holding the space key or middle mouse button
  • Compositions can be zoomed by using the mouse wheel
Composer pan tool
Composer pan tool

Some of these are simple little changes which don’t sound like much, but it’s not until you’re forced to work without something like shift-resizing to lock the aspect ratio that you realise how often you use it and rely on it!

11 thoughts on “Waiting for QGIS 2.2 – Composer Improvements (part 1)

  1. Hi Nyall,

    This is all excellent news. I think it is good if the print composer behaves like a standard drawing app (like Inkscape).

    The guidelines also behave non-standard, I have to say. A very short discussion was started here: http://lists.osgeo.org/pipermail/qgis-developer/2013-March/025064.html – maybe something to rediscuss/revisit.

    It should also be possible to position guidelines exactly (with mm) and to select, reposition and remove them.

    Thanks a lot for your work!


  2. Answering to myself.

    Played around more with the guidelines: I get it now that existing guidelines can be moved by dragging them in the ruler. One can remove them by dragging them off the paper sheet.

    So I guess the only thing that it is really missing is the exact positioning of the guidelines, e.g. by right-clicking or double clicking an existing guideline.


    1. I’ve been thinking about this too – I’m thinking it would be good to replace the current bar at the bottom of the composer with a proper status bar. This could show the exact position of the mouse cursor and other useful things such as the current size of a selection, current position of a ruler, etc

      This would get us part of the way there. The next part would be to have some kind of “edit guides” dialog, which would allow you to add guidelines by directly entering their position, and numerically adjust the position of existing guidelines too.

      What do you think?

  3. Yes – the status bar would help. And a dialogue to edit the guides as well. It could be in the “Composition” tab above or below the grid setup.

    It could be a list widget where one can see all guides in the composition and their positions. From there one could add, edit or delete guides.

    Alternatively, or in addition to this widget, an in place edit with double or right click on the guide could allow the same directly in the composer.

  4. I’ve been using QGIS for quite some time, and I might be missing something, but IMHO, wouldn’t be great if legends in QGIS’s composer can be resized freely (i.e. through the mouse handles) without having to resize the fonts of each components one-by-one.

    Also, it would be nice to have an ‘explode’ function so that users will be able to arrange the items as they will. Just my opinion

  5. Looking forward to the improvements! The jump from 1.8 to 2.0 was great but I am looking forward to more fine grained control over viewing the map layout. At the moment in 2.0.1-3 the zoom full and zoom-in/out buttons jump in rather large increments. Is there something planned where there is a layout zoom tool as in ArcGIS? The zoom full button also zooms to the exact size of the page. It would be nicer if there was a small buffer around the page so if the map goes to the page edge there is still some space. The pan tool will be nice too.

    1. Hi Ross – thanks for the comment and useful ideas (I really like the suggestion that zoom full should add a small buffer around the composition). If you checkout part 2 (http://nyalldawson.net/2013/10/waiting-for-qgis-2-2-composer-improvements-part-2/) you’ll see I’ve recently added a mouse based zoom tool, which allows you to click and drag over a specific composer area to zoom just to that part.

      Also, googling for ArcGIS’s layout zoom tool led me to this page – http://resources.arcgis.com/en/help/main/10.1/index.html#//00660000043z000000 . I think there’s some behaviours listed there which would be useful for us to emulate, such as ctrl+mouse wheel scroll = finer zoom.

Comments are closed.