I’m sure you are all well aware of my hate of blocking dialogs, and when it comes to styling QGIS has a few and they annoy me to no end. With new fancy map making tools like MapBox and CartoDB all having nice non blocking styling options it’s about time QGIS followed suit to bring better control and faster workflows to users.
The first stage of the dock is complete, pending feedback of course, and merged into master.
Introducing the map styling dock:
Having the style (label only at the moment) options in a dock widget opens up some really nice workflows to map styling.
Firstly, now you don’t have to do the Open -> Change Setting -> Apply -> Close -> Open dance each time you want to change a layer style. The dock is linked to the active layer in the legend so you can move around freely, update settings, and move on.
Second, we can now have a great workflow and allow for live updating. Yes you did read that right, it will live update the map as you change values. How bloody great is that! Reducing the feedback loop is always the best. If it can be done live, do it live. There is a Reset button if you make a mistake.
Third, all styling options will now live in a single location going forward. Once we have moved style, diagrams, blend modes, it will be a one stop shop for styles with no annoying dialogs getting in the way.
In QGIS 2.14 we also have this awesome feature for rule based labels, however that added another dialog, and I wasn’t going move to a dock just to have another dialog block me two steps down the road. So now all the rules based labels dialogs are panels inside the main dock. When adding a new rule it will show the rule editor, and the list when not. Remember how I said the dock updates the map live, well that also applies when you add/update rules. The dock will update the canvas as the rule changes even before you hit save on the rule
The new styling dock is in master now, although might not be in the nightly build for a day or so.
You can check out some videos of the dock in action here:
Super keen on any feedback and ideas anyone might have. Give it a try and let me know what you think.
EDIT: I would also like to add that what I have started/done is only possible because of the great work that has been done before me. Big thanks to all the people that have done work to enable me to make this feature, label settings, threaded rendering, data defined buttons, etc.