Two weeks, two posts. Lets see how long I can keep up with this!
Last weekend I was part of the KDE Edu Sprint 2017 in the Endocode offices in Berlin, just a couple of days before the Qt World Summit, which was actually my first KDE Edu sprint (if you do not count Randa 2014). It was great as always to meet other KDE developers working on educational projects and I think we got a lot of work done.
While my primary focus going into the sprint was to work on macro support in Kig (there were many open bugs regarding macros), Aleix Pol's initial remarks helped me realize it was better to "take advantage of the fact that we were all at one place, and work on things you cannot do back home" so I decided to see what others were doing and try to help with that as well. Since Sandro Andrade was working on testing KDE Edu builds in Windows using Craft and I had been working on generating Craft recipes from Portage ebuilds, I finished a script that translates portage ebuilds from Gentoo's Portage tree into Craft recipes. This will automate low-hanging fruits like applications that basically only depend on KDE frameworks and Qt5 libraries. I committed this script to the development scripts repository in case someone finds them useful. It is a very experimental script so you are welcome to improve it!
In the meantime, while we waited for these Windows builds to happen, I did get a lot of work done on macro support in Kig. I implemented a feature that allows for creating macros without given objects and while at it, fixed several other issues regarding macros. Some of the changes are still being reviewed, but they all should land before Applications 17.12.
Since I obviously have no picture about my trip (I am terrible at taking pictures), I will shamelessly steal this one from Aleix's twitter post:
I want to thank the KDE e.V. for sponsoring my trip to this sprint, and Endocode for hosting us and giving us essential coffee for free. Also, big thanks to Free Software Foundation Europe for allowing me to visit their offices in the middle of a Monday while they were working hard to maintain software freedom in Europe.
Date: Friday, 3 November 2017
Place: Bier Brezel (sic), Hauptstraße 184, 69117 Heidelberg
Who: You! And fellow KDE developers and users
What we’re going to do: Have a few beers, a delicious dinner, talk, have fun, …
Please ping me, if you’re around and planning to come (contact info can be found in the Impressum, or tell kbroulik in #plasma on Freenode), so I can extend the reservation, if needed.
We are happy to announce the release of Qt Creator 4.5 Beta!
There has been very little time between the 4.4 release and the 4.5 feature freeze, but 4.5 still comes with a bunch of very nice improvements.
Locator now does fuzzy camel case matching in the same way as code completion does. Type “c andesu” in locator to open the “AndroidDebugSupport” class.
We started on making the File System navigation pane more useful. It is showing a file system tree now, and you can select the root directory from a list containing the “computer” root, your home directory, your default projects directory, and the base directories of all the projects you have open in Qt Creator. More features are to come in the future.
The configuration UI for CMake projects improved. We added grouping of configuration variables, and the option to change their type, so you can set variables to arbitrary values even if CMake reports the wrong type for them.
For a more complete list of fixes and improvements see our change log.Get Qt Creator 4.5 RC
The opensource version is available on the Qt download page, and you find commercially licensed packages on the Qt Account Portal. Qt Creator 4.5 Beta is also available under Preview > Qt Creator 4.5.0-beta1 in the online installer. Please post issues in our bug tracker. You can also find us on IRC on #qt-creator on chat.freenode.net, and on the Qt Creator mailing list.
Qt 5.10 Beta was released this week and the neon builder cloud elves have been compiling it away ready for testing.
There’s no QtWebEngine or Qt3D so stuff which needs those will be broken.
Other stuff likely broken too, don’t use it on a machine you’re not happy doing a reinstall on.
But the good news is the broken clock plasmoid works now
deb http://archive.neon.kde.org/testing xenial main
Cutelyst the Qt web framework got a new release. This is a rather small release but has some important fixes so I decided to roll sooner.
The dispatcher logic got 30% faster, parsing URL encoded data is also a bit faster on some cases (using less memory), Context objects can now be instantiated by library users to allow for example getting notifications from SQL databases and be able to forward to Cutelyst actions or Views, pkg-config support has also improved a bit but still misses most modules.
Elisa is a music player designed to be simple and nice to use.
I have started again to work on Windows build of the application and a recipe to build Elisa is now integrated in the craft-blueprints-kde repository. It is already quite usable thanks to the portability offered by Qt and KF5 Frameworks and the quality of Craft meta build system.
Apart from that, I have integrated the following things:
- Fix a bug blocking the play when under some conditions asking to enqueue some music and playing immediately would not work ;
- Fix the display of tracks count in the playlist ;
- Improve the handling of Elisa application icon such that it is bundled in the executable ;
- Continue to improve focus handling especially with touch screens ;
- Add mouse hover effect in the list of view modes (all albums, all artists …).
I am currently working on improvements of error handling when playing music. I also plan to explore using Phonon to have a possibly easier out of the box experience for flatpak and Windows when using the vlc backend. I am getting frustrated by getting missing codec errors from QtMultimedia.
As you may remember we announced in February that we are working on a new 3D design tool called Qt 3D Studio, which is based on a major contribution from NVDIA. Now we are happy to announce that the code has been pushed into the Qt Project repositories and binary snapshots are available through the Qt online installer.What is Qt 3D Studio?
- Qt 3D Studio is a world class 3D User Interface design tool formerly known as NVIDIA Drive Design
- Cross-platform Qt application supporting Windows, Mac and Linux as development hosts
- Supports importing design assets from popular authoring tools such as Photoshop, Autodesk Maya and The Foundry MODO
- Contains an extensive in-built material and effects library
- Enables rapid prototyping with keyframe animations using the powerful timeline editor
- Seamlessly integrates with Qt Quick and other modules of the Qt framework
What has been done in the past 7 months?
Quite some time has passed since the contribution from NVIDIA was received and some may wonder what have we been up to. As the original application was implemented mostly with Windows only MFC we wanted to port it to Qt first before opening the repositories. We have also been cleaning out many of the originally used 3rd party libraries as Qt provides the needed functionality already.
Here are a few items we been working with:
- User interface has been ported from MFC to Qt so Studio supports also Mac and Linux
- Look and feel of the application has been slightly updated
- Qt / QML API has been extended and a new C++ API created
- Some of the 3rd party components replaced with Qt based implementation to minimize the dependencies and reduce the size of the codebase
- Changed to Qt build systems and implemented CI integration
- Analyzing the architecture and benchmarking the in-built rendering to Qt 3D.
One of the areas we have been extending the functionality of the Qt 3D Studio is the integration to Qt and especially to Qt Quick. Now Qt 3D Studio offers easy 2-way integration to Qt Quick:
- Qt 3D Studio scenes can be easily integrated inside Qt Quick based applications
- Qt Quick views can be rendered into 3D elements as textures
Working with Qt Creator Designer allows seamless editing of Qt Quick items of the UI
In this example the 3D scene contains gauges that have changing content. Gauges have been implemented with 3D Studio which enables use of real time shading and lighting effects. Qt Quick user interfaces (e.g. calendar, music player contacts) are rendered as textures into gauges. Qt Quick application also manages the 3D user interface states changes through the Qt Quick API. 2D parts of the user interface have been designed with Qt Quick Designer.Roadmap
We are working hard to get the first official release of the new Qt 3D Studio ready by end of November. Multiple pre-release snapshots will be made available and we are interested in receiving bug reports from the pre-releases and perhaps even some code contributions. After the 1.0 release we are planning the make patch releases as needed, and possibly also 1.x feature releases. In May 2018 we are planning to release 2.0 version bringing a new runtime on top of Qt 3D. Applications created with 1.0 are fully compatible with 2.0, just the runtime is changed to allow better portability and other benefits provided by Qt 3D.
We have been running an early access program for key customers and selected partners. Working closely with some of the customers has provided us with a valuable feedback on the features and tool usability. We have also conducted a series of usability tests for finding common problems when users start using the tool for the first time. We have been able to include fixes for some of these findings already into the forthcoming 1.0 release.1.0 and 1.x releases
First official release is scheduled for the end of November. The whole Qt 3D Studio user interface has been ported to Qt which makes this the first cross-platform release i.e. Windows, Mac and Linux are supported. We have also introduced a remote deployment feature to Qt 3D Studio Viewer which enables automatically seeing design changes live in the target device or for example an Android tablet.
Minor 1.x releases introduce mainly customer requested usability improvements, extended hardware and embedded operating system support and performance improvements.2.0 release
2.0 Release scheduled in May 2018 will introduce a bigger architectural change where the NVIDIA rendering engine will be replaced with a new rendering engine built on top of Qt 3D. From user perspective this change should not introduce any discontinuity i.e. all projects implemented with Qt 3D Studio 1.0 are working with Studio 2.0 as is. After these changes we have the full ability to implement new features and improvements both on UI level and 3D rendering.Getting Qt 3D Studio
- Binary snapshots are available through Qt online installer (Windows only at the moment)
- Qt 3D Studio code repository
- Build instructions
- Qt 3D Runtime for Qt 3D Studio 2.0 code repository
- Documentation snapshot
- Bug tracker project
The post Qt 3D Studio Source Code and Pre-Release Snapshots Available appeared first on Qt Blog.
Today we are releasing Krita 3.3.1, a bugfix release for Krita 3.3.0. This release fixes two important regressions:
- Krita would crash if you would restart Krita after closing Krita with the reference images docker set to floating
- Krita 3.3.0 could not read .kra backup files or .kra files that were unzipped, then zipped up manually.
Additionally, there are the following fixes and improvements:
- Fix a crash when creating a swap file on OSX (Bernhard Liebl).
- Merge down does not remove locked layers anymore (Nikita Smirnov)
- Various performance improvements, especially for macOS (Bernhard Liebl)
- Improve the look and feel of dragging and dropping layers (Bernhard Liebl)
- Improve the tooltips in the brush preset selector (Bernhard Liebl)
- Fix a memory leak in the color selectors (Boudewijn Rempt)
- Fix rotation and tilt when using the Windows Ink api (Alvin Wong)
- Don’t allow the fill tool to be used on group layers (Boudewijn Rempt)
- Add brightness and contrast sliders for textured brushes (Rad)
- Add paste-at-cursor (Dmitry Kazakov)
- Improve performance of the cpu canvas (Alvin Wong)
- Fix a crash on closing Krita when there is something on the clipboard (Dmitry Kazakov)
- Add a button to open a file layer’s image in Krita (Wolthera van Hövell tot Westerflier)
Note for Windows users: if you encounter crashes, please follow these instructions to use the debug symbols so we can figure out where Krita crashes.
- 64 bits Windows: krita-3.3.1-x64-setup.exe
- Portable 64 bits Windows: krita-3.3.1-x64.zip
- Debug symbols. (Unpack in the Krita installation folder)
- 32 bits Windows: krita-3.3.1-x86-setup.exe
- Portable 32 bits Windows: krita-3.3.1-x86.zip
- Debug symbols. (Unpack in the Krita installation folder)
- Explorer Shell extension: kritashellex-220.127.116.11-setup.exe
- 64 bits Linux: krita-3.3.1-x86_64.appimage
(If, for some reason, Firefox thinks it needs to load this as text: to download, right-click on the link.)
When it is updated, you can also use the Krita Lime PPA to install Krita 3.3.1 on Ubuntu and derivatives. There is also an updated snap.OSX
- OSX disk image: krita-3.3.1.dmg
Note: the gmic-qt and pdf plugins are not available on OSX.Source code
- Source code: krita-3.3.1.tar.gz
For all downloads:
Krita is a free and open source project. Please consider supporting the project with donations or by buying training videos or the artbook! With your support, we can keep the core team working on Krita full-time.
So, to continue my archeology process to revive old software, again i´m preparing my next step to revive KDE 2, on the so indirect baptized KDE restoration project.
Despite KDE 1 last year, KDE 2 is a complete different beast and will take me some time to made it ready.
The very base foundation, though is Qt2, the this time i decided do a better treatment to Qt to easier my further work. I based my work on clang compiler.
Result is far from perfect, i decided publish on the very first stage of usage, but some strategies on the port still not here yet. but is perfectly usable, all examples compiles and runs.
Qt designer has some funny bugs though, and i decided not investigate it yet. New ported png code is not 100% reliable ( png pure documentation is horrible )
So, the F.A.Q. for the curious
- Why ????
- Because i was motivated and i really believe we need to restore our memory code wise.
- Don’t you have better things to do ?
- Yes, so what ?
- Can i compile on Windows ?
- Well, yes but not yet. I focused only on *nix platforms for now, mostly Linux
- Can i use with Wayland ?
- Nope, an i doubt about future.
- Can i compile applications with Qt2
- Yes, perfect plausible
- Do you accept patches ?
- It depends. If is for fix or improve the buildsystem or fix a bug on code, yes. Otherwise i want to keep the code as most as original possible. Remember, the intention is archeological. And i will be happy if anyone tackle the crazy designer ( or themes example ) before me
- Are you joking with us ?
- Nope. The code for now is in: https://github.com/heliocastro/qt2
The mandatory screenshot !!
Plasma 5.11 was out this morning with many bugfixes, Plasma Vaults to keep your private files secure, System Settings redesign, a new wallpaper of course and many other nice features.
The KDE neon scalable cloud devops build farm has been working hard to compile it and the packages were available for KDE neon User Edition users to upgrade a few hours ago.
The installable ISO images are built but it takes a few hours for them to get mirrored around the world. Please don’t download from the KDE server directly, it kills the server’s limited bandwidth. Instead browse the mirror list and grab fro m a mirror near you.
Updated Docker images are also building away.
Librem 5 Plasma MobileIn the past days, the campaign to crowd-fund a privacy-focused smartphone built on top of Free software and in collaboration with its community reached its funding goal of 1.5 million US dollars. While many people doubted that the crowdfunding campaign would succeed, it is actually hardly surprising if we look what the librem 5 promises to bring to the table.1. Unique Privacy Features: Kill-switches and auditable code
Neither Apple nor Android have convincing stories when it comes to privacy. Ultimately, they’re both under the thumbs of a restrictive government, which, to put it mildly doesn’t give a shit about privacy and has created the most intrusive global spying system in the history of mankind. Thanks to the U.S., we now live in the dystopian future of Orwell’s 1984. It’s time to put an end to this with hardware kill switches that cut off power to the radio, microphone and camera, so phones can’t be hacked into anymore to listen in on your conversations, take photos you never know were taken and send them to people you definitely would never voluntarily share them with. All that comes with auditable code, which is something that we as citizens should demand from our government. With a product on the market supplying these features, it becomes very hard for your government to argue that they really need their staff to use iphones or Android devices. We can and we should demand this level of privacy from those who govern us and handle with our data. It’s a matter of trust.
Companies will find this out first, since they’re driven by the same challenges but usually much quicker to adopt technology.
The librem 5 will run a mostly standard Debian system with a kernel that you can actually upgrade. The system will be fully hackable, so it will be easy for others to create modified phone systems based on the librem. This is so far unparalleled and brings the freedom the Free software world has long waited for, it will enable friendly competition and collaboration. All this leads to choice for the users.3. Support promise
Can a small company such as Purism actually guarantee support for a whole mobile software stack for years into the future? Perhaps. The point is, even in case they fail (and I don’t see why they would!), the device isn’t unsupported. With the librem, you’re not locked into a single vendor’s eco system, but you buy into the support from the whole Free software community. This means that there is a very credible support story, as device doesn’t have to come from a single vendor, and the workload is relatively limited in the first place. Debian (which is the base for PureOS) will be maintained anyway, and so will Plasma as tens of millions of users already rely on it. The relatively small part of the code that is unique to Plasma Mobile (and thus isn’t used on the desktop) is not that hard to maintain, so support is manageable, even for a small team of developers. (And if you’re not happy with it, and think it can be done better, you can even take part.)4. It builds and enables a new ecosystem
The Free software community has long waited for this hackable device. Many developers just love to see a platform they can build software for that follows their goals, that allows development with a proven stack. Moreover, convergence allows users to blur the lines between their devices, and advancing that goal hasn’t been on the agenda with the current duopoly.
The librem 5 will put Matrix on the map as a serious contender for communication. Matrix has rallied quite a bit of momentum to bring more modern mobile-friendly communication, chat and voice to the Free software eco-system.
Overall, I expect the librem 5 to make Free software (not just open-source-licensed, but openly developed Free software) a serious player also on mobile devices. The Free software world needs such a device, and now is the time to create it. With this huge success comes the next big challenge, actually creating the device and software.
The unique selling points of the librem 5 definitely strike a chord with a number of target groups. If you’re doubtful that its first version can fully replace your current smart phone, that may be justified, but don’t forget that there’s a large number of people and organisations that can live with a more limited feature set just fine, given the huge advantages that private communication and knowing-what’s-going-on in your device brings with it.
The librem 5 really brings something very compelling to the table and those are the reasons why it got funded. It is going to be a viable alternative to Android and iOS devices that allows users to enjoy their digital life privately. To switch off tracking, and to sleep comfortably.
Are you convinced this is a good idea? Don’t hesitate to support the campaign and help us reach its stretch goals!
KDAB, MyScript and Qt Company to create new, non-distractive input method for the Automotive Industry
KDAB will be partnering with MyScript and The Qt Company to incorporate MyScript’s handwriting input technology into the Qt Automotive Suite. This integration will enable multimodal input capabilities using either the existing Qt Virtual Keyboard or a new handwriting input panel powered by MyScript technology.
Volker Krause, Director Automotive at KDAB, said, “MyScript technology offers a highly intuitive user interface and is a great complement to the Qt Automotive framework. We are very excited to partner with MyScript and bring the advantages of multimodal functionality to the automotive cockpit. We look forward to a successful business relationship for the benefit of our mutual partners and customers.”
The post KDAB, MyScript and Qt Company to create new, non-distractive input method for the Automotive Industry appeared first on KDAB.
KTextEditorPreviewPlugin 0.2.0 has been released.
The plugin enables a live preview of the currently edited text document in the final format, in the sidebar (Kate) or as tool view (KDevelop). So when editing e.g. a Markdown text or an SVG image, the result is instantly visible next to the source text. For the display the plugin uses that KParts plugin which is currently selected as the preferred one for the MIME type of the document. If there is no KParts plugin for that type, no preview is possible.
Signed with my new PGP key
E191 FD5B E6F4 6870 F09E 82B2 024E 7FB4 3D01 5474
Friedrich W. H. Kossebau
- Add dropdown menu to toolbar with the main menu of the KParts plugin
- Add About dialog for the currently used KParts plugin (invokable from the new dropdown menu)
Long term the plan is to merge this plugin into the Kate repository, or some new separate KTextEditor-Plugins repo, ideally already for KDE Applications 17.12.
For now though this plugin is in its own repository to allow an initial independent quick release cycle phase, following the release-often-and-early mantra. With the help of your feedback (file your issue) that should make the features of the plugin the ones you like to have rather soon.Developers: Improve your favourite KParts plugin
While a usual KParts plugin works out of the box, for a perfect experience with the Automatic Updating option some further improvements might be needed:
- Keeping the current view state if reloading from the same URL (e.g. scrolling offset, zoom)
- Implementing the KParts::ReadOnlyPart streaming API, to by-pass and thus preserve the filesystem/storage hardware:
A few KParts plugins have already seen such adaptions, like the SVGPart and the KUIViewerPart (see also blog post), adaptions to be released with KDE Applications 17.12.
Another KParts plugin has been written with that in mind from the start, the KMarkdownWebViewPart (see also blog post), which already has been released.
You might want to take some guidance by the respective commit “Support loading by stream and restoring state on reload” to the SVGPart repository.
I am pleased to announce that Qt 5.10 Beta 1 is now released. Convenient online binary installers are available for trying out features coming in Qt 5.10. We will follow similar Beta process as with Qt 5.9 and provide multiple Beta releases via the online installer.
For new features coming in Qt 5.10, please check the New features in Qt 5.10 wiki page. A few examples of cool new things coming with Qt 5.10 include new image based styles for Qt Quick Controls, initial support for Vulkan, renewed input handling, new Shape type in Qt Quick, many new languages and handwriting recognition in Qt Virtual Keyboard, support for OAuth 1 & OAuth 2, text to speech functionality and preview of Qt WebGL Streaming Plugin. You may also want to check out our new Qt for Automation offering working in conjunction with Qt 5.10, including new libraries for M2M communication (MQTT and KNX) and more plans for the future (e.g. OPC/UA, DDS).
With Qt 5.9 we slightly adjusted the release process of Qt and same approach will be followed also with Qt 5.10. After the Qt 5.10 Beta 1 released today we will push out multiple new Beta N releases using the online installer. With this approach it is easier than before for users to test the features and provide feedback (via bugreports.qt.io). During the beta phase we expect to have new Beta N releases with 1-2 weeks intervals. When the maturity has increased sufficiently we will create a release candidate of Qt 5.10. These will be made available directly via the online installer, we are not planning publish separate blogs for the subsequent beta releases and release candidate(s). In addition to binaries, source packages of each beta release are of course also available for those who prefer to build themselves.
I hope many of you will install the Qt 5.10 Beta releases, test and provide us your feedback to complete Qt 5.10. For any issues you may find, please submit a detailed bug report to bugreports.qt.io (please remember to mention which beta you found the issue with, check for duplicates and known issues). You are also welcome to join the discussions in the Qt Project mailing lists, developer forums and contribute to Qt.
Recently, I opened a new online account at a new institution. Unfortunately, they do not provide a direct online access using a protocol such as HBCI or OFX which are already integrated into KMyMoney, but only a web frontend. So what, I thought, I won’t use it on a daily basis and can probably live …
Tomorrow, Tuesday 10th of October, we will be having the 13th ODF Plugfest. It is being held in Rome and on-line.
We will be checking how well ODF supported in different software packages. Anyone can participate on-line, because we have built a website to do this testing.
In this blog, I will explain what this website does so you can participate. The first twenty people that participate on-line tomorrow will receive a 'thank you' postcard.Why are we testing?
OpenDocument Format is an open standard for text documents, presentations and spreadsheets. The standard can be implement without the need to pay royalties and the standardization process is open for anyone to participate.
The better the support for ODF is in widely used software, the better for everyone. With this test site we encourage everyone to help testing.What are we testing? Does the document look the same?
When you receive an ODF file, you'd like to be sure that it shows on your screen correctly. On the test site, you can upload ODF files and the site will show them as they look in different applications.
Losing data is not good. We can check for data loss on the site. You can add a file to the site and create a test for it. For example, you can write a test that counts the number of headings in a document. This requires a bit, just a bit, of XML knowledge.
In ODF, a heading is the <text:h> element. XML is a tree of elements. With XPath you can count elements in XML. To count the number of headings anywhere in a document, you can use this expression: count(//text:h). This expression gives a number. To make this a test, the result should be a boolean. To test if a document contains 11 headings, you write count(//text:h)=11.
When this test is saved, it is run trough a number of ODF applications. Here are two screenshots from a report page for a test that has run automatically. You can see that not all application retain the document headers. Oops.
The test site was created with support from the Dutch Ministry of the Interior and Kingdom Relations. The code is public.
SDDM is a Qt based Display Manager used by multiple desktops, such as Liri, KDE and LXQt. After a little more than one month since v0.15.0, I released SDDM v0.16.0 today. It contains a few bug fixes, translation updates and improvements to the configuration system. Read the release notes and download here.
There’s hardly a better way to spend a sunday diving, even in early fall when the weather gets a little colder and rainier. We went to Zeeland, at the Dutch coast, to a divespot named Langedijk for two shallow shore dives. The water was a somewhat brisk 14°C, but our drysuits kept us toasty even through longe dive.Steurgarnaal Fluwelen zwemkrab Weduweroos Pitvis Zakpijp botervis Kreeft
I was happy to attend Ubuntu Rally last week in New York with Aleix Pol to represent KDE.
We were able toaccomplish many things during this week, and that is a result of having direct contact with Snap developers.
So a big thank you out to Canonical for sponsoring me. I now have all of KDE core applications,
and many KDE extragear applications in the edge channel looking for testers.
I have also made a huge dent in also making the massive KDE PIM snap!
I hope to have this done by week end.
Most of our issue list made it onto TO-DO lists
So from KDE perspective, this sprint was a huge success!