I Use This!
Activity Not Available

News

Analyzed 4 months ago. based on code collected 9 months ago.
Posted over 8 years ago by Krita News
Written by Scott Petrovic And the giveaway is over! I want to thank everyone for entering and showing your support for Krita. The amount of comments and love that is being shown for Krita is out of this world. With the 400+ entries, there were over ... [More] 20,000 words that were written. The developers spend a lot of time helping people with issues related to Krita, graphics drivers, or tablets. It is refreshing to see that a lot of people are enjoying Krita the way it currently is. Now for the winners… John Hattan AJ2600 Waru Sam M. Otxoa Congratulations! I have your email addresses and will be contacting you shortly. I ordered the copies last week but they haven’t arrived yet. I will sign and ship them off as soon as I can. Any Other Way to Get Free Copies? I lose at pretty much all giveaways that I enter like this. I also know that for some of you, a large reason you are using Krita is because it is free. This was your only shot. Paying for a book of any type is out of reach at the moment, no matter what the cost. For those of you that really want the education and cannot afford the book, there might be another way to get it while supporting Krita. Did you know that many libraries will get you a book for free if you just ask them for it? I cannot speak for most countries, but I know this works in the USA. They don’t charge you for anything. I have done this recently with other books. Some library websites will have a request form that you can ask for books. If you fill that out, they usually respond back and let you know when/if it comes in. Show Your Support It is exciting for us volunteers to see that Krita is making a difference in people’s lives. When people share their work in things like the monthly drawing challenge, it shows us that people are using and enjoying the software. If you have any skill sets that you would like to volunteer for, feel free to get in contact with us through the chatroom or forum.  Even beta testing helps new releases go smoother. There are plenty of ways to help Krita and keep it moving forward. [Less]
Posted over 8 years ago by KDAB on Qt
If you’re already using QML in Qt, you know that it can help quickly create flexible user interfaces using little or no C++ programming. With a basic text file and some JavaScript logic, you can put together a pretty sophisticated interface like that ... [More] shown in the Qt Quick Clock demo (below) with a minimum of fuss. But did you know you can compress your plainly readable QML and hide it away inside a binary?   Figure 1: Qt Quick Clock screen If substantial portions of the application are in a plain text file, they could be examined or modified by the user. That’s a concern if your UX contains sensitive information. Perhaps you want to remove any temptation to “tinker” with the interface, ensuring there are no unnecessary support calls. Is there any opportunity to more tightly bundle those QML resources along with the executable? Thankfully, the answer is a resounding “yes”. Standard Qt resources—icons, bitmaps, audio files, translation tables, etc—can be compressed and linked to the executable, allowing you to create a distribution with fewer external dependencies. Not only is this simpler to manage for versioning and installation, but it provides a measure of confidence that your application will always have the resources it depends on to run properly. With just a bit of creativity, the Qt resource capability can also be used to insert QML files into an accompanying library, making the QML a bit more protected while retaining the interface definition separate from the executable. The trick is to subvert the QML plugin capability to bind your QML into the app. You still need a bit of a QML stub to get the process kicked off. However, the main logic and content gets pulled into the app through the QML plugin, turning it into an “invisible” resource. Here’s a little example of this approach by merging the QMLExtensionPlugins and Qt Quick Clock examples so you can see this technique in action. First of all, we insert a line in our Qt project files (src.pro) to add an “install” directory: target.path = $$OUT_PWD/../install Now we’ll be able to run “make install” to create our plugin. But what goes in the plugin? The plugins directory from the example contains the files needed to manage and install the Qt plugin process, so we copy those directly. Again, we need to adapt those to integrate our Clock example, so here are the files we need: ./plugins.qml ./extensionpluginsapps ./TimeExample/hour.png ./TimeExample/minute.png ./TimeExample/clock.png ./TimeExample/center.png ./TimeExample/Clock.qml ./TimeExample Clock.qml is our QML file that we’ll incorporate into our plugin, and the png images are referenced in the QML for drawing the clock face. We need to create a resource file that we’ll call qmlqtimeexampleplugin.qrc that pulls in our Clock.qml as well as the other resources referenced by our QML: <RCC>    <qresource prefix="/clock">        <file>Clock.qml</file>        <file>center.png</file>        <file>clock.png</file>        <file>hour.png</file>        <file>minute.png</file>    </qresource> </RCC> In this case, we don’t need a prefix when referring to the resource as they’re in the same directory as the QML. (If you do need to access something in a specific QtResource path, you can prepend “qrc:///<path>” to your resource name when you reference it.) We also need to create a qmldir file in the TimeExample directory to define our module: module TimeExample Clock 1.0 qrc:///clock/Clock.qml plugin qmlqtimeexampleplugin We keep the qmldir module definition file separated from the Qt Resources so our application can find the plugin. After handling all of the above details, and doing a build to create the plugin shared object, we’re left with the following files for the main application to use: ./extensionpluginsapps ./TimeExample/qmldir ./TimeExample/libqmlqtimeexampleplugin.so We won’t step through the entire Qt plugin mechanism in this blog, but we will quickly review the other bits needed to take advantage of our new plugin: qrc lists the program resources; in this case it’s just the plugins.qml file below qml provides the interface to our QML resource. Of course the implementation is provided within the libqmlqtimeexampleplugin.so file that we’ve just created imports/plugin.cpp is the C++ implementation that ties things together Now that we have all of the QML and plugin components in place, our main.cpp file puts the gears in motion like this: view.setSource(QUrl(QStringLiteral("qrc:/plugins.qml"))); view.show(); We’ve now got our user interface safely encapsulated in a .so, safe from tampering, compressed for size, and bundled with all the resources it needs. No more excuses for not jumping on the QML bandwagon! About KDAB KDAB is a consulting company dedicated to Qt and offering a wide variety of services and providing training courses in: Qt OpenGL C++11/C++14 Squish. KDAB believes that it is critical for our business to invest into Qt3D and Qt, in general, to keep pushing the technology forward and to ensure it remains competitive. The post Embedding QML: Why, Where, and How appeared first on KDAB. [Less]
Posted over 8 years ago by Calligra News
We are happy to announce the release of the Calligra Suite, and Calligra Active 2.9.9. It is recommended update for the 2.9 series of the applications and underlying development frameworks. Support Calligra! Bugfixes in This Release Here is an ... [More] overview of the most important fixes. There are several others that may be not mentioned here. General Fix crash while editing vector text in a vector layer (bug 354194) Properly setup icons for Mac OS X Fix typing in the artistic text tool (bug 353809) Kexi Tables: Make Ctrl+Shift+Insert shortcut insert a new line in Table Designer (bug 338832) Queries: Make Ctrl+Shift+Insert shortcut insert a new line in Query Designer (bug 338833) Forms: Fix crash when Cut, Undo, Cut is executed for a widget (bug 288589) SQLite databases: Fix building Kexi when SQLite older than 3.8.3 is used (bug 353933) Krita Fix typing in the artistic text tool. A regression in 2.9.8 made it impossible to type letters that were also used as global shortcuts. This is now fixed. Don’t crash when opening an ODG file created in Inkscape. The files are not displayed correctly, though, Inkscape does something pretty weird when saving to ODG. Fix the gaussian blur filter: another 2.9.8 regression where applying a gaussian blur filter would cause the right and bottom edge to become semi-transparent. Show a message when trying to use the freehand brush tool on a vector layer Fix calculating available memory on OSX. Thanks to René J.V. Bertin for the patch! When duplicating layers, duplicate the channel flags so the new layers are alpha locked if the original layers were alpha locked. Add a ctrl-m shortcut for calling up the Color Curves filter dialog. Patch by Raghavendra Kamath. Thanks! Fix a number of hard to find crashes in the undo system and the compositions docker. Another exiv2-related jpeg saving fix. Improve performance by not updating the image when adding empty layers and masks. Add a new dark pass-through icon. Try It Out The source code of the release is available for download here: calligra-2.9.9.tar.xz. Also translations to many languages and MD5 sums. Alternatively, you can download binaries for many Linux distributions and for Windows (users: feel free to update that page). What’s Next and How to Help? The next step after the 2.9 series is Calligra 3.0 which will be based on new technologies. We expect it later in 2015. You can meet us to share your thoughts or offer your support on general Calligra forums or dedicated to Kexi or Krita. Many improvements are only possible thanks to the fact that we’re working together within the awesome community. (Some Calligra apps need new maintainers, you can become one, it’s fun!) How and Why to Support Calligra? Calligra apps may be totally free, but their development is costly. Power, hardware, office space, internet access, travelling for meetings – everything costs. Direct donation is the easiest and fastest way to efficiently support your favourite applications. Everyone, regardless of any degree of involvement can do so. You can choose to: Support entire Calligra indirectly by donating to KDE, the parent organization and community of Calligra: http://www.kde.org/community/donations. Support Krita directly by donating to the Krita Foundation, to support Krita development in general or development of a specific feature: https://krita.org/support-us/donations. Support Kexi directly by donating to its current BountySource fundraiser, supporting development of a specific feature, or the team in general: https://www.bountysource.com/teams/kexi. About the Calligra Suite Calligra Suite is a graphic art and office suite developed by the KDE community. It is available for desktop PCs, tablet computers and smartphones. It contains applications for word processing, spreadsheets, presentation, databases, vector graphics and digital painting. For more information visit calligra.org. About KDE KDE is an international technology team that creates free and open source software for desktop and portable computing. Among KDE’s products are a modern desktop system for Linux and UNIX platforms, comprehensive office productivity and groupware suites and hundreds of software titles in many categories including Internet, multimedia, entertainment, education, graphics and software development. KDE’s software available in more than 60 languages on Linux, BSD, Solaris, Windows and Mac OS X. [Less]
Posted over 8 years ago by Martin Gr&#xE4;&#xDF;lin
One of the most important dependencies for our phone project is libhybris. Libhybris is a neat technology to allow interfacing with Android drivers allowing for example to bring Wayland to a device where all we have are Android drivers. Given that ... [More] KWin provides a hwcomposer backend which uses libhybris to create an OpenGL context. All other applications need libhybris indirectly to have the Wayland OpenGL buffer exchange work automatically. When we started the work on the hwcomposer backend we based it on the libhybris version used in Ubuntu (0.1.0+git20131207) as we used Ubuntu as the reference platform. Soon enough we noticed that this version diverged a lot from the upstream version. Lots of recent changes are missing and there are API incompatible changes. This made working with it difficult. How much time should we invest in investigating issues? Should we write code which we know might break once Ubuntu decides to upgrade libhybris? How well is Wayland integrated in the Ubuntu version given that they don’t need it? If we need help, who to talk to? Ubuntu who will tell us that they don’t know anything about Wayland, or the libhybris devs who might just tell us: use later version? Furthermore we want other distributions to provide Plasma for the phone. This means they need to provide libhybris. Of course this is difficult if we need to tell them that we need exactly the version used by Ubuntu. And even more it might conflict with other uses. Considering distributions like Mer would have to chose between a libhybris for Plasma and a libhybris for lipstick. With that in mind we wanted to invest some time on upgrading libhybris in our stack in this release cycle and then fix the issues we were seeing in the stack. Our awesome packagers did the job of creating packages so that I can port KWin against it. And in deed after some hacking I had KWin rendering again. A more difficult task was to get other applications to work as we run into a problem that libwayland-egl does not use the alternatives system. Thus our packagers needed to do some ld tricks to get this worked around. But with that we had a nice rendering system. A surprise in this exercise was that our input handling code in the hwcomposer backend didn’t compile any more. The code was gone. While that was in the first moment an unpleasant surprise, it soon turned into something wonderful. If that code is not needed at all on an Android powered device it means that we must be able to get libinput to work with it. 400 lines of code deleted and it’s using the shared input stack through libinput. I’m very happy about that! With that all in place we finally were able to investigate the rendering issues we were seeing. My hope was that just upgrading libhybris would fix the visual tearing, but unfortunately not. While I’m still surprised that it’s possible to get tearing in the first place on Android devices (hey ever heard of things like Atomic Mode Settings, Android?), it at least gives us a vsync event. Unfortunately the only tear-free solution I could find invokes blocking till we get the event. I don’t like that and I think that’s a bad architecture. One can have blocking free and tear free rendering. Our DRM (kernel mode setting) backend can do so with an easy to use API. Really disappointing that the Android stack is in that regard not better than the glx backend. But well at least it’s tear free As we now use upstream libhybris I hope to see distributions to pick up the work and provide a Plasma phone spin. I’d love to see an openSUSE phone or a Fedora phone (or any other distribution). Distributions: you can of course ask us on how to integrate [Less]
Posted over 8 years ago by Sergio Martins (sergio)
KDE Project: DevelopmentIf you're seeing crashes lately, and they look like: (gdb) bt #0 0x00007ffff6790913 in QString::~QString() () from /usr/x86_64-pc-linux-gnu/lib/libQt5Core.so.5 #1 0x00007ffff680fd89 in QHashData::free_helper(void ... [More] (*)(QHashData::Node*)) () from /usr/x86_64-pc-linux-gnu/lib/libQt5Core.so.5 #2 0x00007ffff6828e14 in (anonymous namespace)::Q_QGS_globalEngineCache::innerFunction()::Holder::~Holder() () from /usr/x86_64-pc-linux-gnu/lib/libQt5Core.so.5 #3 0x00007ffff620fed8 in __run_exit_handlers () from /usr/x86_64-pc-linux-gnu/lib/libc.so.6 #4 0x00007ffff620ff25 in exit () from /usr/x86_64-pc-linux-gnu/lib/libc.so.6 #5 0x00007ffff61fa617 in __libc_start_main () from /usr/x86_64-pc-linux-gnu/lib/libc.so.6 #6 0x000000000040f5b9 in _start () and valgrind says something like:Address 0x21d41498 is not stack'd, malloc'd or (recently) free'd it's most probably due to QStringLiteral usage, which in some rare cases can introduce crashes, and one of those cases is with QRegExp. When you do: QRegExp(QStringLiteral("foo")); QRegExp will cache the string in a Q_GLOBAL_STATIC variable, and remember that because it's a QStringLiteral, it has it's data in .rodata of your KDE library (or wherever you defined it). When you exit the application, your KDE library gets unloaded then QtCore get unloaded. When QtCore is getting unloaded it runs DTORs of stuff with static lifetime, so ~QString() gets called but .rodata from your KDE library was already unloaded -> crash. If you want to know for sure which library the dissipated .rodata belonged to: run valgrind, and you'll get a message like:Address 0x21d41498 is not stack'd, malloc'd or (recently) free'd Then run valgrind with gdb support:$ valgrind --vgdb=yes --vgdb-error=0 then when your app is running, run "info target" in gdb and search for the respective address interval and you get the library you should fix. Ofc, all this becomes a moot point if you just port your code to use QRegularExpression instead of QRegExp :) [Less]
Posted over 8 years ago by Tomaz Canabrava (tomaz)
It was that time of the year again: People from around the world would gather around the biggest hidroeletrical plant in the world to talk, comune and create awesome software together (and ever). It was my fourth time there leaving behind two years ... [More] of abssense from talks and events in Brazil. This event is huge, massive, around 4000 students, profissionals, hackers, activists, promoters – Currently being the Biggest one in Latin America and since it’s a huge event, a huge project should be there and so we where, with one of the most visited booths. Having tons of notebooks with KDE installed we let newcomers test our software (and we received great feedback, specially from university professors that didn’t know that KDE had applications to help development or teaching aids), Aleix Pol could be specially proud since one of the most talked apps among the teachers was KAlgebra. Good Work Apol. :D Having Six talks on the event, whe managed to talk about beginner stuff to advanced ones without leaving anyone behind. Our talks this year – KDE Sysadmin: You can help even if you don’t progam (speaker Gomex) – KDE and Linus: Living Dangerously – my adventures in Programming (speaker Tomaz Canabrava) – KDE: First Steps to Contribute (speaker Icaro (Igor) Jerry Santana) – KDE Plasma Mobile (speaker Helio Castro) – KDE Plasma 5: Full of Resources (speaker Henrique Sant’Anna) – KDE: The structure behind it (speaker Helio Castro) We got a really full day there, and it was AWESOME. now, I don’t know if you fellow reader realized but I wrote ‘Helio Castro’ twice, and this is something since this pesky <3 kde hacker had disappeared from events for quite a while, much much more time than I did. and he’s kwown as ‘Father KDE’ in Brazil, and also the KDE Brazil contact on the kde.org page… But why I’m saying all this about Helio? Well…  Besides being a really good friend (and with no sense of humor) he is leaving the mother land, going to the cold places in Europe… You will be missed here buddy. But I’ll send you my dancing pictures as christmas gift every year. <3 Since me and Sandro Andrade re-started the KDE Community in brazil in 2009, 2010 we managed to get huge contributors (Me, Wagner Reck, Lamarque, Sandro, and a ton more ) and we are currently a very very healthy project in brazil, but we also have lots of brazilian contributors that do not show their existence, please, be vocal of what you do, join the brazilian kde community if you help kde and are from brazil, as united we can do anything. Even play live on a software event. Forro internacional de software livre [Less]
Posted over 8 years ago by Andreas Kainz (Andreas_k)
We’re all excited for the new release of Plasma coming in less than a month and we at the Visual Design Group want to make it more exciting for our users too. Every other release we try to change the extra wallpapers that we’re shipping with Plasma ... [More] to our users and now it’s time the refresh the collection again. And this is where you can shine! We’re looking for 10 high-quality new wallpapers that will get released with Plasma and will stay as the main wallpapers collection for the next 6 months. Submit your best photos, multiple ones allowed, the Visual Design Group will go over them and select the top 10 that will be eternally part of the KDE history. We can’t offer any prizes, but we can at least put your names up front, publicaly thanking you for your contribution in the official Plasma 5.5 release announcement. This is also a unique opportunity to get your artwork to millions of users worldwide and help the free software world too. Think of it this way – who can put “had my artwork installed on millions of computers all around the world” into their resumes? ;) All you have to do is submit a link to your photo below. Then the Visual Design Group will collect all the links on 11th November and we’ll start an internal battle over which ones to select. You can find the rules and the first awesome wallpapers at the previous post. Share it with your artistic friends and family and random people and let them know of this opportunity. [Less]
Posted over 8 years ago by Scarlett Clark (sgclark)
Kubuntu Trusty KDE 4.14.3 Bugfix release I have been hard at work to bring to you 4.14.3 Bugfix release for Trusty! Yes, a bit of a delay here due to lack of manpower. Better late than never right? The updates have been uploaded to Trusty backports ... [More] PPA. Enjoy! Please ping sgclark in #kubuntu-devel if any problems arise. They have been heavily tested, but as with any software surprises can happen. If you find any of my work useful, please consider a donation or become a patreon! I can no longer sustain working without an income. If this works I can continue all of my (K)ubuntu and KDE contributions ( a full time job in its current state + overtime!) Patreon for Scarlett Clark (me) [Less]
Posted over 8 years ago by KDAB on Qt
It’s hard to believe that more than a year has gone by since BogDan and I did our Qt on Android webinar! Like all good things that come to an end, so has the hosting for the archived version of the webinar. We hate to deprive anyone of still useful ... [More] content, so here’s a link to the slides from the webinar for anyone who’s looking for them. The post Qt on Android Webinar slides appeared first on KDAB. [Less]
Posted over 8 years ago by Marco Martin (notmart)
One of the new useful tiny plasmoids that will be available in Plasma 5.5 is one called Activity Pager: you can find it in the kdeplasma-addons package of the release. How does it look? well, not too exciting and very familiar, and that’s precisely ... [More] the point: since people use activities in very different ways, it’s written as an aid for people that use it in a particular way, when the use case partly overlaps with virtual desktops. It’s built to look like a pager, behave like a pager (including the mini previews of windows) but instead of beng based on the virtual desktop, it’s based on the activity, so each little desktop preview will represent the activity and the windows in it (dragging previews from one activity to another works too). [Less]