I Use This!
Very High Activity


Analyzed 22 days ago. based on code collected 26 days ago.
Posted about 13 hours ago by KDevelop
KDevelop 5.1.1 released We are happy to announce the release of KDevelop 5.1.1, the first bugfix and stabilization release for KDevelop 5.1! Get it Together with the source code, we again provide a prebuilt one-file-executable for ... [More] 64-bit Linux (AppImage), as well as binary installers for 32- and 64-bit Microsoft Windows. You can find them on our download page. The 5.1.1 source code and signatures can be downloaded from here. Please give this version a try and as always let us know about any issues you find via our bug tracker. ChangeLog Prebuilt binaries Windows installer: Fix missing icons on Windows installers. AppImage: Ship Breeze widget style. T3538 AppImage: Ship Sonnet plugins (based on aspell, hunspell, hspell). T4100 AppImage: Ship some default colour schemes (to be used with Settings -> Colour Scheme) with AppImage. AppImage: Built with KF5SysGuard support: Enables "Attach to process" in the AppImage. T5878 kdevplatform Do not extract all template preview images, load from archives on demand. Commit. Phabricator Code review D5701 Use https://www.google.com instead of http://www.google.de in google selection external script. Commit. Phabricator Code review D5719 Use consistent icon names for build stuff, remove left-over legacy icons. Commit. Phabricator Code review D5651 Appwizard: fix broken disconnect in ProjectVcsPage. Commit. Phabricator Code review D5536 Stop unused & broken exposure of Project object on D-Bus. Commit. Phabricator Code review D5607 Appwizard: store chosen vcsPlugin in developer .kdev4 file. Commit. Phabricator Code review D5513 Backgroundparser: Relax assert a bit. Commit. See bug #378933 Work-around issue in Path(QString) ctor. Commit. See bug #378933 Fix preview file wrongly added on project generation from app template. Commit. Phabricator Code review D5314 Fix support for multiple files and relative paths in ShowFilesAfterGeneration. Commit. Phabricator Code review D5316 Load Template From File dialogs: fix wrong filter strings usage. Commit. Fixes bug #376040. Phabricator Code review D5155 Find/Replace in files: Do not wrap content of tooltip for an output line. Commit. Phabricator Code review D5135 kdevelop Install xdg mimetype definition for OpenCL C. Commit. Phabricator Code review D5621 Move print from int to unsigned int. Commit. Phabricator Code review D5654 Fix build for MinGW. Commit. Fixes bug #379454 Look for Cppcheck as RUNTIME dependencies. Commit. Phabricator Code review D5632 The OpenCL language is actually called OpenCL C. Commit. Phabricator Code review D5485 Remove unneeded mimetype for *.kdevinternal files. Commit. Phabricator Code review D5624 Create KAboutData object only after QApp instance, for working translations. Commit. Phabricator Code review D5598 CMake - fix bug with dropping changed settings for existing build directory. Commit. Phabricator Code review D5609 Drop explicit %{PROJECTDIR}/ from templates' ShowFilesAfterGeneration. Commit. Phabricator Code review D5531 Remove unused "VersionControl" entries from kdev4 samples/templates. Commit. Phabricator Code review D5512 Fix ShowFilesAfterGeneration to match generated files. Commit. Fixes bug #378499 Update Qt logo image. Commit. Phabricator Code review D5278 kdev-python Fix crash in syntax fix-up code. Commit. Partially fixes bug #378827. Pep8: Make pep8 warnings less annoying. Commit. Phabricator Code review D5397 kdev-php Fix duchain unit tests. Commit. Phabricator Code review D5817 kfunk Sat, 05/27/2017 - 10:00 Category News Tags release kf5 qt5 5.1 [Less]
Posted 1 day ago by Elvis Angelaccio (elvisangelaccio)
A new stable release for KIO GDrive is now available, version is 1.2.0. The main change is the integration with Plasma/KAccounts. Have a look at my previous post for more details. You can find the link to the source code in the wiki page: https://community.kde.org/KIO_GDrive Enjoy!
Posted 1 day ago by Krita News
Today we’re releasing Krita 3.1.4. This strictly a bug-fix release, but everyone is encouraged to update. Fix a crash when trying to play an animation when OpenGL is disabled in Krita Fix rendering animation frames if the directory you’re trying to ... [More] render to doesn’t exist Don’t open the tablet/screen resolution conflict dialog multiple times Don’t scale down previews that are too small in the transform tool: this fixes a rare crash with the transform tool Don’t crash when trying to close the last view on the last document while the document is modified. Fix a crash when cycling quickly through layers that have a color tag Fix loading some Gimp 2.9 files: note that Gimp 2.9’s file format is not officially supported in Krita Fully remove the macro recorder plugin: in 3.1.4, only the menu entries had stayed around. Make it impossible to hide the template selector in the new image dialog; hiding the template selector would also hide the cancel button in the dialog. Download The KDE download site has been updated to support https now. Windows 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. 32 bits Windows: krita-3.1.4-x86-setup.exe Portable 32 bits Windows: krita-3.1.4-x86.zip Debug symbols. (Unpack in the Krita installation folder) 64 bits Windows: krita-3.1.4-x64-setup.exe Portable 64 bits Windows: krita-3.1.4-x64.zip Debug symbols. (Unpack in the Krita installation folder) Explorer Shell extension: kritashellex- Linux 64 bits Linux: krita-3.1.4-x86_64.appimage (For some reason, Firefox thinks it needs to load this as text: to download, right-click on the link.) A snap image for the Ubuntu App Store will be available from the Ubuntu application store. When it is updated, you can also use the Krita Lime PPA to install Krita 3.1.4 on Ubuntu and derivatives. OSX OSX disk image: krita-3.1.4.dmg Source code Source code: krita-3.1.4.tar.gz md5sums For all downloads: md5sums.txt Key The Linux appimage and the source tarball are signed. You can retrieve the public key over https here: 0x58b9596c722ea3bd.asc. The signatures are here. Support Krita 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. [Less]
Posted 1 day ago by KDAB on Qt
In the beginning there was …   That’s how things start, right? And in the beginning there were punch cards. The UI was rudimentary direct machine language, so we could say there was no UI. So let there be light! In very simplistic terms that was a ... [More] screen where one could type text (using a keyboard) and see the same text on the screen … maybe get some feedback on the results of a command. And let the animation begin! …The post What makes for good animation? appeared first on KDAB. [Less]
Posted 1 day ago by Krita News
Last year, GDQuest’s Nathan Lovato ran a succesful kickstarter: “Create Professional 2D Game Art: Krita Video Training”. Over the past year, he has produced a great number of videos for Krita, and has helped the Krita team out with release videos as ... [More] well. This year, he’s going to teach you how to use your art in a real game. Learn how to use Godot to create games with GDQuest, on Kickstarter now to bring you the first premium course for the engine, with the support of the Godot developers. During the campaign, you get a free game creation tutorial on YouTube, every day! Please check it out now, and spread the word: Make Professional 2d Games: Godot Engine Online Course GDQuest reached the goal in less than 12 hours. Everything above it means more content for the backers, but also for everyone! GDQuest will also contribute to Godot 3.0’s demos and documentation. All the money will go to the course’s production and official free educational resources. Check out the Free daily tutorials on Youtube!. [Less]
Posted 2 days ago by Qt Dev Loop
Qt for Device Creation provides ready disk images for a variety of devices. When you flash it to a device, start enterprise Qt Creator and plug the device in via USB, it will be detected automatically. You are ready to run, debug and profile your ... [More] applications right on the device. From a user’s point of view the green marker for a ready device just appears. But how do we actually see the device? There have been changes here for 5.9 and in this post I’ll discuss what we ended up doing and why. How things used to be Previous versions of Qt for Device Creation use Android Debug Bridge (ADB) for the device discovery. As you can guess from the name, it’s the same component that is used in the development of Android applications. It was a natural choice early in the development of the Boot2Qt when Android was a supported platform along with embedded Linux. But nowadays we focus on embedded Linux only. (In Device Creation with the device images, Qt can of course still be used to build applications on Android.) Due to requiring Google’s USB drivers, ADB has made installing more complicated than desired for our users on Windows. And when they jumped through the hoops, they could end up with a different version than we tested against. There’s also the risk of mixups with Android development environments, who may include their own versions of ADB. There were also some things missing, which required working around inside our Qt Creator integration. Recognizing USB devices So to avoid those issues we decided to decided to write our own debug bridge, which we without extraneous imagination called QDB. It looks for Boot2Qt devices in a similar way as the purpose of other USB devices is discovered. When a device is enumerated in the universal serial bus, it describes its class, subclass and protocol. For example for my mouse the command lsusb -v reveals:       bInterfaceClass         3 Human Interface Device       bInterfaceSubClass      1 Boot Interface Subclass       bInterfaceProtocol      2 Mouse There is a vendor-defined class 255. We have picked a subclass and protocol inside that which our devices use, thus allowing QDB to find them. Finding them is of course not enough, since there needs to a way to transfer data between the host computer and the device. Network over USB ADB implements file transfers and port forwards. It transfers the data over the USB connection using its own protocol. One obvious option would have been to do the same thing. That would have been reinventing the wheel, as was quickly pointed out by many. There was also a second place where duplication of effort to accomplish the same thing was happening. The Boot2Qt plugin for Qt Creator was implementing support for running, debugging and profiling applications with ADB. But Qt Creator also supports these things with any Linux device over SSH through the RemoteLinux plugin. If we were able to use SSH, all of that duplication could be gotten rid of (after the support window for older Qt for Device Creation releases runs out). Linux allows a device to present itself as an USB Ethernet adapter with the kernel module usb_f_rndis. The device then shows up as a network card in both Linux and Windows. This way we can have a network connection between the host computer and the device, which allows the use of SSH and thus the desired reuse. And apart from Qt Creator activity, the user can also use regular SSH to connect to the device. It has a properly resizing terminal, unlike adb shell! All the other things you might do over the network also become possible, even if the embedded device has no Ethernet socket. But there’s something we glossed over. Networks don’t configure themselves. If the user would need to set the right IP address and subnet mask on both the computer and the device, then we certainly wouldn’t meet the bar of just plugging in the device and being ready to go. Configuring the network Now despite what I just said there actually are efforts for networks to configure themselves. Under the umbrella term zeroconf there are two things of interest in particular: link-local IPv4 addresses as specified in RFC 3927 and mDNS/DNS-SD, which allows finding out the addresses of devices in the network. For a while we tried to use these to accomplish the configuration of the network. However, getting the host computer to actually use link-local addresses for our network adapter proved fiddly and even if it worked there was a bit too long delay. The connection only works after both the host computer and device have gotten their IP which wasn’t predictable. I hope we will be able to revisit mDNS/DNS-SD at some point, because it might allow us to provide device discovery when devices are connected over Ethernet instead of USB, but for now zeroconf required too much configuration. Another thing which we looked at was using IPv6 link-local addresses. Unlike their IPv4 cousin they are part of the protocol and always available, which would eliminate the delays and configuration burden. Here the downside is that they are a bit more local to the link. An IPv4 link-local IP is from the block and you can just connect to it regularly. IPv6 versions use the prefix fe80::/10, but they also require a “scope ID” to describe the network adapter to use. I’d rather not write ssh user@fe80::2864:3dff:fe98:9b3a%enp0s20f0u4u4u3 That’s superficial, but there was also a more important issue: All the tools would need to support IPv6 addresses and giving these scope IDs. GDB – which we use for debugging – didn’t. Back to the drawing board. The simplest approach would be picking up a fixed IP address for the devices. That has two issues. First, you can’t connect more than one device. Second, the fixed IP address might already be in use on the host computer. We ended up using the following approach to circumvent these problems: The same process that recognizes the USB devices knows a list of candidate network configurations in the private use IPv4 ranges. When a new device is connected, it looks at the networks the host computer currently has and then picks a candidate that doesn’t conflict. The device is told the configuration, sets its own IP address accordingly and then acts as a DHCP server that provides an IP for the host computer. After this process is done, the host computer and device have matching network configurations, Qt Creator knows the IP of the device and everything is ready. If you connect a second device, a different candidate configuration is picked, since the first one is already in use. The DHCP server is disabled when the device is disconnected, because otherwise host computer could get an IP from a previous configuration when it is connected again. The post Device detection in Qt for Device Creation 5.9 appeared first on Qt Blog. [Less]
Posted 3 days ago by Filipe Saraiva (filipesaraiva)
LaKademy 2017 group photo Some weeks ago we had the fifth edition of the KDE Latin-America summit, LaKademy. Since the first edition, KDE community in Latin-America has grown up and now we has several developers, translators, artists, promoters ... [More] , and more people from here involved in KDE activities. This time LaKademy was held in Belo Horizonte, a nice city known for the amazing cachaça, cheese, home made beers, cheese, hills, and of course, cheese. The city is very cosmopolitan, with several options of activities and gastronomy, while the people is gentle. I would like to back to Belo Horizonte, maybe in my next vacation. LaKademy activites were held in CEFET, an educational technological institute. During the days of LaKademy there were political demonstrations and a general strike in the country, consequence of the current political crisis here in Brazil. Despite I support the demonstrations, I was in Belo Horizonte for event. So I focused in the tasks while in my mind I was side-by-side with the workers on the streets. Like in past editions I worked a lot with Cantor, the mathematical software I am the maintainer. This time the main tasks performed were an extensive set of reviews: revisions in pending patches, in the bug management system in order to close very old (and invalid) reports, and in the task management workboard, specially to ping developers with old tasks without any comment in the last year. There were some work to implement new features as well. I finished a backends refactoring in order to provide a recommended version of the programming language for each backend in Cantor. How each programming language has its own planning and scheduling, it is common some programming language version not be correctly supported in a Cantor backend (Sage, I am thinking you). This feature presents a “recommended” version of the programming language supported for the Cantor backend, meaning that version was tested and it will work correctly with Cantor. It is more like a workaround in order to maintain the sanity of the developer while he try to support 11 different programming languages. Other feature I worked but it is not finished is a option to select different LaTeX processors in Cantor. Currently there are several LaTeX processors available (like pdflatex, pdftex, luatex, xetex, …), some of them with several additional features. This option will increased the versatility of Cantor and will allow the use of moderns processors and their features in the software. I addition to these tasks I fixed some bugs and helped Fernando Telles, my past SoK student, with some tasks in Cantor. (Like in past editions)², in LaKademy 2017 I also worked in other set of tasks related to the management and promotion of KDE Brazil. I investigated how to bring back our unified feed with Brazilian blogs posts as in the old Planet KDE Português, utilized to send updates about KDE in Brazil to our social networks. Fred implemented the solution. So I updated this feed in social networks, updated our e-mail contact utilized in this networks, and started a bootstrap version of LaKademy website (but the team is migrating to WordPress, I think it will not be used). I also did a large revision in the tasks of KDE Brazil workboard, migrated past year from the TODO website. Besides all this we had the promo meeting to discuss our actions in Latin-America – all the tasks were documented in the workboard. Of course, just as we worked intensely in those days, we also had a lot of fun between a push and other. LaKademy is also a opportunity to find old friends and make new ones. It is amazing see again the KDE fellows, and I invite the newcomers to stay with us and go to next LaKademy editions! This year we had a problem that we must to address in next edition – all the participants were Brazilians. We need to think about how to integrate people from other Latin-America countries in LaKademy. It would be bad if the event become only an Akademy-BR. Filipe and Chicão So, I give my greetings to the community and put myself in the mission to continue to work in order to grown the Latin-America as an important player to the development and future of KDE. [Less]
Posted 3 days ago by Chris Rizzitello
Its been some time since I’ve posted any progress for AtCore. Some may wonder what we have been up to .. Implimented a Comand Queue We would like to get some info from the printer while printing we need to have some method of flow control. AtCore ... [More] now uses a command queue to send all commands. With the command Queue in place we have to handle stop and Emergency stop differently . For example Emergency Stop should skip the queue and be sent as soon as the button is pressed. Requesting Temperatue from the printer After you connect to a FW plugin every 5 seconds a m105 will be send to the printer and the temperature results are put onto a pretty graph that Patrick made. In order to make the graph work we need read the M105 return and extract the data from it. While our current methods of parsing this info work its very specific to each firmwares return . Since these string can be differnt between fw versions it can crash so we are working on a way to do this better. Cleaned up the test Client Gui The test clients GUI needed some love. All the widgets now live within a dock and the docks can be arranged how ever the user likes. I’ve also added a status bar to show the status of AtCore. We’ve also added a print job timer and remaining print time estimate. A Seperate axis control for relative was asked for by a user and I’ve added one that Lays wrote some time ago . It works well and allows for movements on 1, 10 or 25 units Fixed the windows build so that It builds and deploys correctly via craft Lays has been working hard to get atcore buildable via craft. Now we can build and deploy AtCore (and testgui) from craft. After building we had a problem of not finding the plugins on windows and them not deploying to the correct path.I added some instructions for deploy and tweaked plugin detection on window. Everything is now working well. [Less]
Posted 3 days ago by Qt Dev Loop
The OpenStreetMap plugin in QtLocation 5.8 has received a new Plugin Parameter, osm.mapping.offline.directory, to specify a indexable location from which to source offline tiles. Since this new feature seems to have generated some confusion, here is ... [More] an attempt to clarify how it works. Until now, when a tile became visible on the map, the QtLocation engine would first attempt to source it from the tile cache. If not present, it would attempt to fetch it from the provider. With QtLocation 5.8 it is possible to pass an additional offline directory to the OSM plugin. When this parameter is present, tiles will be sourced from the specified directory before being searched in the tile cache, and, after that, being requested to the provider. The content of such an offline directory is read only, for QtLocation, meaning that the engine will not add, delete or update tiles present therein. Tile filenames have to follow the osm plugin filename pattern, meaning osm_100-----.. The field map_id goes from 1 to 7 (or 8, if a custom map type is specified), referring to the map types street, satellite, cycle, transit, night-transit, terrain and hiking, in this order. The field before has to contain an l or an h, which stands low-dpi and high-dpi tiles, respectively. The intended use cases that this feature aims to address are mainly: – shipping custom maps for limited regions with the application. – shipping tiles for low zoom levels with the application so to prevent blank maps when the application is run for the first time without internet connection. To exemplify the usage of this feature, OsmOffline is an example application that uses tiles from the Natural Earth project, which are licensed under very permissive TOS, to address the second scenario. This example embeds tiles for one map type at zoom levels 0, 1 and 2 using the Qt Resource system, and sources them from the qrc path :/offline_tiles/. The post QtLocation: using offline map tiles with the OpenStreetMap plugin appeared first on Qt Blog. [Less]
Posted 4 days ago by Aleix Pol (apol)
On my last blog post I discussed about how some assumptions such as the platform developed on can affect our development. We need to minimize it by empowering the developers with good tools so that they can develop properly. To that end, I introduced ... [More] runtimes in our IDE to abstract platforms (much like on Gnome’s Builder or Qt Creator). There are different platforms that we’ll be developing for and they need to be easily reachable when coding and testing. Both switching and interacting transparently with the different platforms. To that end I implemented 4 approaches that integrate different runtimes: Docker, allows you to develop directly against virtually any system. This is especially interesting because it enables to reproduce the environment our users are having: behavior on execution and project information (i.e. the imports are the ones from the target rather the ones on our local system). Docker is a wide-spread technology in the cloud, I hope many developers will see the value in integrating the deployed environment into the IDE while they are coding. Flatpak, is a solution that targets specifically desktop Linux applications. We are talking about distributing bundled applications to users, there we have the opportunity to integrate the tooling specifically to that end: from fetching dependencies to testing on other devices (see videos below). Android, as you know it’s something I’ve been pushing for years. Finally we are getting to a space where the IDE can help get some set up troubles out of the way. The local host, i.e. what we have now. And remember KDevelop is extensible. Do you want snapcraft?, vagrant?, mock? Contributions are very welcome! If there’s something better than a list of technologies and buzzwords, that’s videos. Let’s see why this could change how you develop your software. One development, any platform We get to develop an application and switch back and forth the target platform we are developing for. Here I put together a short video that tests Blinken on different platforms: Executes the application locally (ArchLinux) Executes the application on OpenSUSE Tumbleweed through Docker Executes the application on Neon development through Docker One development, any device Using the right SDK is not enough proof that the application will work as expected on every device, especially those our users will be using. Being able to easily send our application to another device to test and play around with is something I had needed for longtime. Especially important when we need to test different form factors or input devices. In this video we can see how we can easily test an application locally and when it works just switch to Android and send to the device for proper test on the smaller touch screen. Here we can see how we can just test an application by executing it remotely on another device. This is done by creating a bundle of the application, sending it to the device where we want to test it and executing it there. Hassle-free contributions You can’t deny it. You’ve wanted to fix things in the past, but you couldn’t be bothered with setting up the development environment. Both Flatpak and Docker offer the possibility to maintainers to distribute recipes to set up development platforms that can and should be integrated so that we can dedicate this 1 hour in the week-end to fixing that bug that’s been annoying us rather than reading a couple of wikis and – oh, well, never mind, gotta make dinner. We can do this either by providing the flatpak-builder json manifest (disclaimer: the video is quite slow). Or a Dockerfile. You can try this today by building kdevelop git master branch, feedback is welcome. Or wait for KDevelop 5.2 later this year. Happy hacking! [Less]