June 2016 development updates

Week 24

Tiled Sunday

I wanted to get Tiled 0.16.2 out, so I checked for issues that would still be good to fix for this release. A pull request had been opened with a fix for the --export-map [format] command line, which due to a regression could no longer recognize any explicitly specified format. While the pull request added a successful workaround, I decided to fix it a little differently.

Next, I looked into an automapping issue that was recently reported. It took me quite a while to track down what was happening, since the symptom was rather misleading. In the end it was a rendering related issue caused by a regression that was probably introduced in Tiled 0.15. I fixed the issue by adding a missing drawMarginsChanged signal. Apart from that the automapping may perform a tiny bit faster now.

One of the main reasons I wanted to get 0.16.2 out fast was because Qt 5.6.1 was released, fixing a crash on Windows that quite some people are running into. Unfortunately, I discovered that AppVeyor had still not updated their Qt packages, so I decided to put off the release for now.

Instead, I spent the rest of the day making a bit of progress on the wip/tilesetdocument branch, making the zooming work again in the tileset editor (which I seem to have forgotten to push), and fixing a minor but long standing session management issue.

Week 25

I visited my mother in law with my family on the weekend, so the Tiled Sunday moved to Monday (week 26).

Week 26

Tiled Monday

As much as this should have been the day of the Tiled 0.16.2 release, I started the day by being annoyed that the GTK style was no longer working when I compiled Tiled against Qt 5.7. At first I thought this must be some strange oversight in the Qt distribution, but as it turns out, QGtkStyle was intentionally moved out of the Qt repository due to compatibility and maintenance issues. As far as I can tell, the GTK platform integration plugin has been updated to use GTK3 (so Tiled now uses GTK3 file dialogs, for example) but the GTK style was still using GTK2, and trying to use GTK2 and GTK3 together in the same application causes it to crash. Hopefully in the future there will be a GTK3 style for Qt, but for now Tiled on Linux would be using the generic “Fusion” style.

I think they mostly did a good job with Fusion, but I think it has one big usability issue which is the lack of contrast on the scrollbar. Especially when the scrollable content is dark, it is virtually impossible to see where the scrollbar handle is located. So I wanted to fix this, but after managing to increase the contrast (which required copying quite a bit of code from Qt unfortunately), I continued to change the scroll bar to be more to my liking. Then I continued to work on adding a dark theme to Tiled, a long requested feature.

I didn’t want to add just one dark theme. I’d rather make the color and brightness configurable. The Fusion style already helps a lot with that, but with configurable brightness it is still tricky to make sure that there is always a good amount of contrast. I hooked up the layer opacity slider to the darkness so I could try things out fast. Here’s how Tiled currently looks on the wip/dark-theme branch:

And for those who like it even darker:

And for comparison, here’s the default Fusion style, where you can probably see the problem with the scroll bars:

Of course, I’ll work on adding the modified Fusion style as an option, alongside the system style. Depending on how it turns out, it could become the new default look for TIled. Please let me know what you think about it so far! I’ll try to make the initial version available in the daily builds soon.

Looking Ahead

First of all some good news: I got permission to work less at my job, starting already next month! Of course, switching from 4 to 3 days/week comes with a rather decent income cut, but a large part of this is already being compensated by my patrons on Patreon and sales on itch.io. I appreciate all your support tremendously! Since I’ll be spending each Sunday and Monday on Tiled from now on, things will move twice as fast!

These are my current priorities:

  • Release Tiled 0.16.2
  • Get the dark theme into the daily builds (mainly requires some work on the Preferences)
  • Work on issues tagged Urgent
  • Continue the wip/tilesetdocument development branch

See you next week!

1 Like