125
I Use This!
Very High Activity

News

Analyzed about 9 hours ago. based on code collected 1 day ago.
Posted about 9 years ago
Today, we will go live with the new Qt Wiki on qt.io with content migrated from qt-project.org. Before we do that and as we reach a major milestone in this migration project, I wanted to explain a bit on what are the biggest changes you will see with ... [More] this overall migration project and what it means to you and also new functionality and things to expect in the future. The biggest changes you will see are: The current gamification, points system from qt-project.org (DevNet) will change “Qt Account” will be the new login service to access and edit the wiki and forums The services will be on new platforms Different point system As we change the wiki and forum platforms, some things will change. One of these is the current points and levels system. In the new site, we will not use one point system to denote your activity within the qt.io site. Instead, each service (wiki & forum) will have their own lists of activity. In the forums, which have been the main source of points in qt-project.org, the new system has a Reputation score, which works more based on people liking posts and answers, a more people-centric approach. Initially, there won’t be point levels. As we move along, we will introduce other features and possible programs to allow for more interaction. A great thing about the new system is that it provides badges and groups, which allow us to have many types of engagement and recognition-based on forum activities. We will migrate the badges from the old system, so those won’t be lost. However, as it is a big task, those will not be there on the first day we switch over to the new forum. (BTW: we are estimating that the migration will happen sometime next week. But, please bear with me, as some things in the technical world are just beyond our control.) The new forum will provide a more flexible badge system overall, so we will be working more with badges in the future. In the new wiki, the system will keep track of who edits and creates pages and keeps lists based on that. The main difference is that these statistics will not be directly added to an overall point system, at this point. To sum it up, in the future there won’t be designations like ‘Ant farmer’, but you will have a reputation score on the forum and an edit history on the wiki. The main goal of knowing who is an active community member will be met; the way it is done will be slightly different giving us more flexibility to add more interaction possibilities as we move along and as we hear feedback and ideas from the community. As mentioned, we do have plans of a new overall unified-level point program system, where those that are truly active within our channels will benefit greatly. This will span both commercial and open source users where the goal is to connect to all our users and provide valuable interactive information. However, this is still in the planning stages and we will communicate those as we move along. For now, our updated services like wiki and forums will have their own point system and history overview. Profiles & Qt Account as your login service One of the biggest changes for you as a user is that we are moving to using Qt Account as the identity and login service for the new wiki and forums in qt.io. The logic to having a single service for logging in is simple; no need to have separate logins for different services. If you currently have a user profile under qt-project.org, your personal information contained in it, such as detailed contact information and social media accounts, will unfortunately not be migrated over at this time. We will, however, migrate and match all existing nicknames/usernames from the current system and peg it to your Qt Account. We are not throwing that information away, if at some point in the future we enhance the Qt Account profile to include the data, it can be added from the qt-project.org database we are keeping in backups. Qt Account is in essence the gateway to what we are building as a new Qt developer portal. We have already started using it for commercial evaluators and customers in the past year. Currently, the Qt Account web portal provides users with license information, account and payment options. It is also provides access to The Qt Company Support Center where commercial users can submit support issues. This is just the beginning, however. Our goal is to add valuable Qt information and resources, early access benefits, programs and the like into the Qt Account developer portal, making it your one-stop-shop for up-to-date Qt info and goodies. IMPORTANT: Please make sure to use the same email address as you had on qt-project.org, that way you will get your nickname to come along with you to Qt Account and the new services. New look and feel & new platforms As always when moving to a new platform, the services will look and feel different. We are not at this point in a final stage with the design. That will get incremental updates as things move forward. We know it takes some time to get used to a new site, so please take it easy and explore the new services as they migrate over. The reasons for going to new platforms are many. In order to be able to provide a better experience to our users, we had to clean up some of the technical backend headaches caused by the current system. New platforms will allow us on the backend side to better support the services and stay up-to-date with new requests and platform development in order to add more functionality as we and you see fit. The new forum platform, NodeBB, has a very active community and provides the following benefits: is usable directly on mobile devices, as it supports responsive design out of the box has an active open source developer community around it supports plugins, and has many ready-made ones plug-in creation interface is easy to use has a clean modern API has post tagging out-of-the-box has better spam control For the wiki, the new platform, MediaWiki provides various benefits mainly because it is also an open source solution with a large community. I will provide more information on the wiki migration in another post coming soon. Feedback We know that getting used to a new platform and site takes a while. When you encounter something that you find annoying, and if it is a bug, please file a bugreport, but if it is an inconvenience or a feature request, please start a discussion in the Website discussion forum. Thanks for your help and support during this migration process. All feedback welcomed! The post Important Qt-project.org Migration to qt.io Info appeared first on Qt Blog. [Less]
Posted about 9 years ago
This is a guest post by Jan, an Indie game developer from Germany working on the action game FrogaBee.   This is an abstract of how I created my first tiny little game called FrogaBee. As I am just one person with a full-time-job and family duties ... [More] , I do not have a lot of spare time. Because of this, I try to pick my tools wisely. I hope that this article can help others that have a good idea for a game but are in a similar situation. Game Engine Comparison As a programmer, I have fiddled around with several game engines in the past. I had a look at Unity, Unreal Engine and Ogre. I even wrote two game engines on my own, but I never finished them. What I have learned from writing my own game engine is, that it’s a major effort to make and keep the engine compatible and running on several platforms. So I decided to take an existing solution. All of the above mentioned solutions have got their pros and cons, but for a 2D game I decided, that V-Play would be the best solution. I have to confess, that I started using the scripting framework Qt Quick a long time ago, so I was able to start right away. But I think, that even for people that are not familiar with it, the scripting language is easy to learn and use. I can definitely point out, what led me to be using Qt and the V-Play framework: The simplicity to code (Qt Creator IDE, Qt Quick scripting language) Easy scalability for phones and tablets Easy deployment to mobile devices Easy integration of social media Shared services for a highscore list on Android and iOS Almost having the game ready at the end of the two week trial phase (in the evening hours after my full-time-job) Last but not least: The friendly, fast and reliable service of the V-Play team Coding As a Version Control System (VCS) I chose Git. It is probably not the easiest VCS, but definitely one of the most flexible and powerful ones. I think it makes sense to use some kind of VCS, no matter how small or big the project is. I have got my repository hosted at Bitbucket because it is free for up to five persons and private. For the coding itself I used the IDE Qt Creator. I must say, that I like the fact that V-Play is fully embedded into Qt Creator. You can even use the built-in documentation for all the custom V-Play items and you can find good explanations and examples. In my opinion, and for what I have seen so far, Qt Creator is the best integrated development environment (IDE) on Mac and the second best IDE on Windows. Even the deployment to mobile devices, no matter if it is Android or iOS, usually works just fine and fast. Before I started to code the game itself, I looked through all the examples and demo games provided by V-Play. I took one of the demo games as a foundation for my directory- and file-layout and started to implement my own stuff. I did get along without adding any extra functionality in C++. I only used the QML and JavaScript scripting languages. QML does not really force you to write clean code. So I decided to at least separate the main game logic into a separate JavaScript file whereas the building blocks got set up in Qt Quick. Graphics The first draft and the idea for the game were born while scribbling with my son. The game actually looks almost the same as that painting we did. When I looked at the painting the frog started to catch flies with its tongue in my mind’s eye, so a few days later I did the first digital draft of it using the software Synfig Studio and fiddled around with animations. I printed those drafts out and had them floating around at home for a while. Every now and then I wrote down an idea on that sheet of paper on how things could interact. I created the second draft of the user interface with the vector based software Inkscape. I like vector based painting for its scalability and workability. For the final rasterization and modification of all the icons I used the software Gimp. I can definitely say that I underestimated the effort of preparing all the icons, screenshots and other graphics needed for the game itself and the online stores. Next time I will definitely spend the time to create some kind of script to resize the icons (there are twelve different sizes needed for Android and iOS). The V-Play framework recommends to provide in-game graphics in three different sizes (called sd, hd & hd2). I decided to create all the graphics for the game in the largest resolution (hd2) first. I have modified the scaling script provided by V-Play to spit out all the other needed sizes for me. Sounds For the sound design I used free samples, some samples from my own audio library and also recorded some on my own. I just needed a simple editor to modify the samples. I used the software Audacity for it. When I implemented the game I had audio dropouts when sounds got triggered rapidly. The V-Play team thankfully helped me a lot to get rid of those issues. Recap In the end it was a lot of fun to create the game. I thankfully had some testers that helped me out on balancing the game to work for kids and adults. And I also have to thank the V-Play team for their supporting emails and support forum threads: one day I wrote an email to the support at 2am and received a helpful reply like ten minutes later Thanks for that! In case I wrote another game like this in the near future, I would probably be using the same tools again!   You can download Frogabee here for iOS and Android. The post Guest Post: Why I picked V-Play over Unity, Unreal & Ogre for a 2D Game appeared first on V-Play Game Engine. [Less]
Posted about 9 years ago
It has been a long time since the last update of QmlBook was announced – but the project is definitely live and kicking. Jürgen has put in a lot of great work into the contents and gotten the collaborative work over on github started. To simplify the ... [More] publication, the contents has been moved to github hosting, but you can still use the old qmlbook.org (and qmlbook.com) addresses to get there. The reason for the standstill on the qmlbook.org/com sites, and much of the perceived lack of progress is due to my personal time situation. Small children and family life takes time, as does my work (which is awesome and includes Qt/QML – go Pelagicore). Unfortunately, I’m a bit of an optimist, so I want to, and truly believe that I will have time to work on side projects such as this book. But the 24h/day limit sucks, so sometimes I realize that I fail to do so. However, this is not a post where I complain over my own situation – instead – I want to thank all the contributors who keep feeding us issue tickets via github! I would also like to thank our readers – it is great to hear from you! And finally, I’d like to thank Jürgen who has put down a lot of work and kept the project moving forward. It is not my intention to leave this project, I’m just short on time at the moment due to other awesome things in my life (kids, wife, work) – I’ll be back! [Less]
Posted about 9 years ago
Over many years of developing software and building user interfaces, I’ve seen numerous shifts in technology and been present for multiple evolutions in the way developers craft quality software.
Posted about 9 years ago
Today we have released Qt 5.4.1, the first patch update to Qt 5.4. In addition to improvements and fixes to Qt functionality it also packs new Qt Creator 3.3.1. Qt 5.4.0 released in December introduced many features such as our new Chromium-based Qt ... [More] WebEngine, WinRT support (including Windows Phone), and several Graphics improvements. With Qt 5.4.1 we are providing a good set of bug fixes and enhancements – thanks to all the feedback and reports we’ve received. Qt 5.4.1 restores binary compatibility for Qt 5.3.2 (and the Qt 5 series) on Windows. Unfortunately Qt 5.4.0 broke binary compatibility on Windows when using MSVC 2012 or MSVC 2013, which is now fixed in Qt 5.4.1, and thus it maintains backward and forward compatibility with the Qt 5 series (except for Qt 5.4.0). Qt 5.4.1 also fixes many of the known issues of Qt 5.4.0, including building Qt on Linux without dbus (QTBUG-43205). Starting with Qt 5.4.1, QtDBus is enabled for all builds. Other important fixes in Qt 5.4.1 include enabling JIT by default in the Qt Quick Engine (QTBUG-43171), a couple of critical fixes to OpenGL (QTBUG-43178 and QTBUG-43318), and fixes to Mac binaries (QTBUG-42594, QTBUG-43100). Qt 5.4.1 also provides a large number of improvements to WinRT (for example QTBUG-41769, QTBUG-43862, and QTBUG-44196), and adds support for Windows 10 Technical Preview (QTBUG-43413). The device creation reference stacks for embedded Linux and embedded Android have also been updated to use Qt 5.4.1. There are some improvements in functionality, for example better support for compiling projects using embedded Linux toolchains and having add-on modules built into the image included in the generated Qt Creator custom Kit. The full list of important changes can be found from the change files for each module. The packages of Qt 5.4.1 also include new Qt Creator 3.3.1. See the blog post about Qt Creator 3.3.1 for the main improvements. If you are using online installer, Qt 5.4.1 and Creator 3.3.1 can be updated using the maintenance tool. Offline packages are found from the Qt Account (for Enterprise users) and from the Download page (for Community users). Join the live webinar Please join us for a live webinar on Wednesday, 25 February where we will present an overview of Qt 5.4. We’ve spent countless hours ensuring that Qt 5.4 is our best release yet, and we can’t wait to show you what we’ve done! A copy of the recording will be sent to all webinar registrants, so please feel free to register even if you can’t attend due to limited live seating. Register now! The post Qt 5.4.1 Released appeared first on Qt Blog. [Less]
Posted about 9 years ago
We are happy to announce the release of Qt Creator 3.3.1. This release of Qt Creator is a pure bug fixing release. Please have a look at our change log for details. Qt Creator 3.3.1 is now available for download on qt.io. Please post issues in ... [More] our bug tracker. You also can find us on IRC on #qt-creator on irc.freenode.net, and on the Qt Creator mailing list. The post Qt Creator 3.3.1 released appeared first on Qt Blog. [Less]
Posted about 9 years ago
As a part of the Qt for Device Creation offering we provide several helpful add-on modules that assist in creating applications for embedded devices. In this blog post I would like to demonstrate some of the features supported by the B2Qt WiFi add-on ... [More] module. What is it? The B2Qt WiFi module provides APIs for connecting embedded devices to a wireless network. There are C++ and QML APIs available for managing wireless network connectivity, scanning for wireless network access points, retrieving information from these access points, monitoring for network state changes and more. The API allows you to manage when and to which network to connect, and when to go offline. Overview of the API The module consists of 3 classes: (Q)WifiConfiguration – Used to define a network configuration. (Q)WifiDevice – Represents a physical device. (Q)WifiManager – Main interface to the WiFi functionality (Singleton). How to use it Here is a code snippet in QML demonstrating how easy it is to connect a device to a wireless access point named “bus-station-wifi” that uses the WPA2 security protocol: import B2Qt.Wifi 1.0 WifiConfiguration { id: localConfig ssid: "bus-station-wifi" passphrase: "mypassword" protocol: "WPA2" } Connections { target: WifiManager onBackendStateChanged: { if (WifiManager.backendState === WifiManager.Running) WifiManager.connect(localConfig) } onNetworkStateChanged: { if (WifiManager.networkState === WifiManager.Connected) print("successfully connected to: " + WifiManager.currentSSID) } } Component.onCompleted: { if (WifiManager.backendState === WifiManager.Running) { WifiManager.connect(localConfig) } else { // starts initialization of wifi backend WifiManager.start() } } And the following code illustrates how to achieve the same in C++: class WifiConnectionHandler : public QObject { Q_OBJECT public: WifiConnectionHandler() { m_config.setSsid("bus-station-wifi"); m_config.setPassphrase("mypassword"); m_config.setProtocol("WPA2"); m_manager = QWifiManager::instance(); connect(m_manager, &QWifiManager::backendStateChanged, this, &WifiConnectionHandler::handleBackendStateChanged); if (m_manager->backendState() == QWifiManager::Running) { m_manager->connect(&m_config); } else { m_manager->start(); } } protected slots: void handleBackendStateChanged(QWifiManager::BackendState state) { if (state == QWifiManager::Running) m_manager->connect(&m_config); } private: QWifiManager *m_manager; QWifiConfiguration m_config; }; The previous examples showed how to connect to a network for which the configuration is known beforehand. As mentioned earlier, the WiFi module can also be used to scan for available WiFi access points. In the next example we use the scan results and present them in a list where the user can select which network to use. Binding { target: WifiManager property: "scanning" value: WifiManager.backendState === WifiManager.Running } WifiConfiguration { id: config } ListView { anchors.fill: parent spacing: 8 model: WifiManager.networks delegate: Row { spacing: 10 Text { text: ssid } TextField { id: passwordInput } Button { text: "connect" onClicked: { config.ssid = ssid; config.passphrase = passwordInput.text WifiManager.connect(config) } } } } Here you can see a screenshot of a more advanced application running on a Nitrogen6_MAX board that utilizes WiFi API for wireless network setup. For more information check out the documentation. The post Qt Weekly #27: WiFi networking support on embedded devices appeared first on Qt Blog. [Less]
Posted about 9 years ago
Hi all, we are pleased to announce version 0.5 of Trojitá, a fast Qt IMAP e-mail client. More than 500 changes went in since the previous release, so the following list highlights just a few of them: Trojitá can now be invoked with a mailto: URL ... [More] (RFC 6068) on the command line for composing a new email. Messages can be forwarded as attachments (support for inline forwarding is planned). Passwords can be remembered in a secure, encrypted storage via QtKeychain. E-mails with attachments are decorated with a paperclip icon in the overview. Better rendering of e-mails with extraordinary MIME structure. By default, only one instance is kept running, and can be controlled via D-Bus. Trojitá now provides better error reporting, and can reconnect on network failures automatically. The network state (Offline, Expensive Connection or Free Access) will be remembered across sessions. When replying, it is now possible to retroactively change the reply type (Private Reply, Reply to All but Me, Reply to All, Reply to Mailing List, Handpicked). When searching in a message, Trojitá will scroll to the current match. Attachment preview for quick access to the enclosed files. The mark-message-read-after-X-seconds setting is now configurable. The IMAP refresh interval is now configurable. Speed and memory consumption improvements. Miscellaneous IMAP improvements. Various fixes and improvements. We have increased our test coverage, and are now making use of an improved Continuous Integration setup with pre-commit patch testing. This release has been tagged in git as "v0.5". You can also download a tarball (GPG signature). Prebuilt binaries for multiple distributions are available via the OBS, and so is a Windows installer. We would like to thank Karan Luthra and Stephan Platz for their efforts during Google Summer of Code 2014. The Trojitá developers Jan Kundrát Pali Rohár Dan Chapman Thomas Lübking Stephan Platz Boren Zhang Karan Luthra Caspar Schutijser Lasse Liehu Michael Hall Toby Chen Niklas Wenzel Marko Käning Bruno Meneguele Yuri Chornoivan Tomáš Chvátal Thor Nuno Helge Gomes Hultberg Safa Alfulaij Pavel Sedlák Matthias Klumpp Luke Dashjr Jai Luthra Illya Kovalevskyy Edward Hades Dimitrios Glentadakis Andreas Sturmlechner Alexander Zabolotskikh [Less]
Posted about 9 years ago
In the previous installment I forgot to post a screenshot of multiple output windows. Here it is: The first big chunk of code for multiple output support was recently merged into the qtwayland dev branch, but there is one more patch that is ... [More] under review now. Now I'm gonna talk about the recent development on Green Island. Refactoring Green Island now has: a library that people can use to make their compositors reusing Green Island bits; an executable named "greenisland" that links to the library and loads a separate QML based home screen; an executable named "greenisland-launcher" that helps you run the compositor in several different environments; a QML plugin that provides additional components such as the SurfaceRenderer for QML based home screens; Launcher Green Island can run on a number of different setups: X11, Wayland, Raspberry Pi, KMS, you name it. There is now a launcher that detects where it is running, sets environment variables and runs the actual compositor accordingly. Plugins It's now possible to write custom home screens with QML. The format is very simple but it might change slightly until the next iteration is released: the home screen is a directory containing QML files and it's placed under $XDG_DATA_DIRS/greenisland (for example /usr/share/greenisland/org.vendor.coolhomescreen/) the directory has a file called Compositor.qml and this is where you connect to the compositor and get events such as when a window is mapped or unmapped and create a QML window representation xdg-shell Green Island supports the old wl-shell protocol as well as the new xdg-shell protocol that is now required for weston and Gtk+ clients. Qt clients can also use xdg-shell but it's not the default, users need to set an environment variable to enable it. For both protocols Green Island has its implementation which is independent from the one that comes from QtCompositor. This allows me more freedom and frees me from the qtwayland release cycle. [Less]