Days 27/28: Settings and web inspector
Yesterday, just as I was getting started with splitting up settings, I noticed a bad bug in how the private-browsing setting was handled. Due to that, local storage was enabled even when private browsing was turned on, until the browser was restarted once after setting the setting.
After fixing it, I released v0.8.2 with that fix (and some others) on the same day. I also improved the release automation so the build_release.py script automatically uploads release artifacts to GitHub. This should significantly cut down the time I spend on doing future releases.
Today I got most settings to work with QtWebEngine, and marked the rest as QtWebKit-only in the documentation.
After that was done, I started implementing support for having a web inspector with QtWebEngine. Qt's support for that is currently quite spartanic, so qutebrowser has to set the QTWEBENGINE_REMOTE_DEBUGGING environment variable early enough (which means setting developer-extras requires a restart) and then display that port on localhost with a second QWebEngineView.
This worked just fine in a minimal example, but didn't in qutebrowser:
After digging into it for a while, I found out that simply accessing QWebEngineSettings.globalSettings() caused something in QtWebEngine which made it read the environment variable - I rewrote the code to not immediately call globalSettings and the inspector started to work: