TODO:
* switch to the scientific format for axis labels for small numbers similar to what is already done for big numbers (Alexander)
* "default scheme" in the menu for color schemes (Alexander)
* the logic in AxisPrivate::retransformTickLabelStrings() reduces the precision too much in some cases like for the x-region [0,6] with 6 major ticks where we show ticks at 0, 1, 2, 4, 5 and 6 instead of placing the ticks at 0, 1.2, 2.4, 3.6, 4.8 and 6.0.
* check https://cgit.kde.org/okular.git/commit/?id=7a50ce0edfc9be8bd23441e52a4f3a0c60f7e60f in okular for relevance in LabPlot
* Scientific spin boxes instead of double spin boxes: T2001 (Stefan)
* CLI options for quick importing and plotting of data (similar to "xmgrace nxy file_name.dat" in xmgrace and similar to equivalent options in KST) (Alexander)
* allow to enter formulas for things like min/max values for plot ranges, scaling factor in axes and so on. Useful for example if you work with bytes and want to switch in the plot to kB, MB and so on
* finalize reading from web-services, initial code available in the last commits in the gsoc2018_json branch c452e7e69e2d7986a6ae05e63c8ed5f8785e4b42 and b555393c401e66ed7a0bfb8b1004aa64de0b34f1 (Alexander)
* for MQTT-connection add some kind of "info dialog" showing the information available in the SYS topics (https://github.com/mqtt/mqtt.github.io/wiki/SYS-Topics)
* think about importing multiple sets (from netcdf, hdf5, root) into a single sheet/matrix and how to import multidimensional data
* replaceValues in Matrix (fill with const or function values) is not undoable
* port from QRegExp to QRegularExpression https://doc.qt.io/qt-5/qregularexpression.html
* Matrix: memset, memcopy for matrix operations
* profile std::vector vs. QVector in performance critical areas
* mask matrix cells
* Doppelklick im Spaltenheader bzw. F2 -> Spalte umbenennen
* allow to move worksheet elements with cursor keys if now layout is active
* change axis orientation for xy-plots - https://bugs.kde.org/show_bug.cgi?id=411122
* MagicPlot und Fytik bieten dem Benutzer die Möglichkeit an, den Fit-Bereich mit der Maus auszuwählen. Also so ähnlich wie unsere "select x-range and zoom in" Funktion im Plot. Das könnten wir auch schnell implementieren, der Kode für die Bereichselektion ist wie gesagt schon vorhanden. Ich habe jetzt bloß keine gute Idee wo wir das unterbringen könnten. Zusätzlicher Button irgendwo im ohnehin schon überladenen DockWidget?
* allow to freeze columns in the spreadhseet - check Qt's demo in Demos/Itemviews/FreesColumn
* allow to delete data picker points, either in the data spreadsheet or directly in the plot (select and deleted)
* check whether the ideas in https://www.qcustomplot.com/index.php/support/forum/1895 (drawLines(), etc.) can be applied in our code.
* use KUrlComboBox in
** "Import Project"-Dialog
** "SQL Database Connections"-Dialog for the selection of the file databases
** in the dock widgets for worksheet, legend, etc. for the background image file
* Implement the logic for progress bar done in https://cgit.kde.org/labplot.git/commit/?id=cfc90ea0371ef890df2fbebec2a7f3bf9acb1a09 in all other filters and for the database import
GENERAL:
* switch to the new signal-slot syntax of Qt
* use KSharedConfig instead of KConfig?
* use Q_ENUM instead of deprecated Q_ENUMS (requires Qt >= 5.5)
* use brace initializing for default config settings (see coding style and uninitialized members in Converity scan)
* use macros for repetitive code (like in switch statements) (see NetCDFFilter.cc)