A collection of various Qt-Classes, branch-sorted.
Important! This prject is slowly beeing replaced by qpm packages. Use those in your projects instead. The folders have been replaced with links to the new github projects.
Currently on qpm:
- DialogMaster:
de.skycoder42.dialog-master
- QUrlValidator:
de.skycoder42.qurlvalidator
The utils are simply a collection of various helpful Qt-Classes. Whats special about this project is the way they are organized: Every part of thus library has it's own branch. All those branches are based on the "Base" branch. The master branch combines them all and provides a simple library projekt to include. The library branch contains the compiled library for all platforms (may not always be up to date!)
This structure has a great advantage: If you want to use the whole library, or don't really care, because you can use a library, you can use the master branch (or the library branch). However, if you only want to use one specific module of the utils, simply use this repository as submodule and checkout the correpsonding branch. It will only contain this readme, the license and the single subfolder with the module that you require.
The DialogMaster is one of the various modules of the library. If you need this one, you have the following choices:
- Use the QtUtils.lib provided in the releases. It includes all modules, including the DialogMaster
- Add a submodule to your project and checkout the "DialogMaster" branch. This way you will only have the dialog master in your projekt
- Same as 2, but with the master branch, if you need all of the modules.
- Same as 3, but use the library branch. This way you don't have to compile the utils. Note: 3 and 4 are compatible. You can easily switch between both of them. If you added the library via the
.pri
file, nothing will change from the outside. - Build it yourself. This is, of course, always an option ;)
The property settings are an extension for QSettings to autmatically store properties of an object in the settings.
The element model provides a object-based list model with dynamic roles to be used with QML Views.
A class to compress data of any size, by splitting it into chucks that Qt's build in compression algorithms can handel. This is NOT a Zip-library. It simply compresses binary data, without any metadata or compability with other tools (but cross-plattform, i.e. data can be compressed and extracted on different devices)
The Flow layout from Qts flow layout example, with soem adjustments and improvements. for the original, see here: https://doc.qt.io/qt-5/qtwidgets-layouts-flowlayout-example.html. As the same suggests, it's a layout implementation to organize elements in a dynamic flow.
A class to combine multiple kinds of progress indicators, and manage them with a combined interface. Example: YOu have a normal progressbar and a taskbar progress. Thanks to this class, you can simply add both to a progress group, and everytime you update the progress group, both bars will be updated accordingly.
Currently supported kinds of progress elements are:
- QProgressBar
- QSystemTrayIcon (With some additional code to make the tray show a busy indicator)
- QWinTaskbarProgress
The QSslServer is an extension of the QTcpServer to provide a server that can handle ssl connections. It works just like the tcp version, but with ssl, and uses the QSslSocket for connections.