Version: 2.0.1 (using KDE 4.5.0) OS: Linux Currently, kst2 uses only qt4 libraries, but could benefit from becoming a true kde4 app. The benefits are: Support related: -hosting -release mechanisms -visibility -translations -possibly icons Library related: -kio to allow remote (small and static) data sources and remote kst files -dbus, if we go that way for scripting -knewstuff if we ever do scripting. -improved widgets Linux/KDE desktop integration: -icons -some theme settings not already integrated through qt. To fix this we need to: update docs to kst2 provide api docs for plugins and datasources pass krazy checker (eg, use kde widgets, etc). The downside of going to KDE for kst is that many of the the improvements are of little or no relevance under Windows or Mac. If fact, it could be argued that being KDE rather than pure QT could have downsides (like extra stuff running and harder installation). This needs to be resolved. Please reference this bug in all discussions of this topic. Reproducible: Didn't try OS: Linux
Under 1.x, we polled the files (in the case of dirfiles, we polled a reference vector through the getdata library). Polling the file has the advantage of ~always working, though its latency is limited by the polling rate, and it can use up (an irrelevant amount of) extra resources. We need to do this in kst2 as well, at least for remote files if there is a way to detect if the file is remote.
Previous comment added to wrong bug... :-(
ATM I think there will always be also a Qt-only version of Kst. For KDE-ifing kst we first introduce cmake as build system, which automatically checks for KDE's devel libs, if available KDE specific code is enabled by a macro, otherwise we only build a Qt version. This way have a KDE-kst which also builds on the KDE ports to Windows and Mac. But having also the Qt-only version makes is much simpler to deploy to Windows. For example see this blog: http://blog.volker-lanz.de/2010/08/19/workout-on-windows/
krazy finds Qt classes which should be replaced by K* classes: 24. Check for Qt classes that should not be used [qclasses]... 52 issues found ./widgets/filerequester.cpp: QLineEdit[KLineEdit],QFileDialog[KFileDialog],QFileDialog[KFileDialog] (3) ./widgets/gradienteditor.cpp: QColorDialog[KColorDialog] (1) ./widgets/labellineedit.cpp: QLineEdit[KLineEdit] (1) ./widgets/datasourceselector.cpp: QLineEdit[KLineEdit] (1) ./widgets/combobox.h: QComboBox[KComboBox] (1) ./widgets/datasourceselectordialog.h: QFileDialog[KFileDialog] (1) ./widgets/colorbutton.cpp: QColorDialog[KColorDialog] (1) ./widgets/combobox.cpp: QLineEdit[KLineEdit] (1) ./widgets/datasourceselectordialog.cpp: QMessageBox[KMessageBox],QFileDialog[KFileDialog] (2) ./widgets/labellineedit.h: QLineEdit[KLineEdit] (1) ./libkst/datasourcepluginmanager.cpp: QUrl[KUrl] (1) ./libkstapp/pictureitem.cpp: QFileDialog[KFileDialog] (1) ./libkstapp/dialog.cpp: QDialog[KDialog] (1) ./libkstapp/filterfitdialog.cpp: QMessageBox[KMessageBox] (1) ./libkstapp/svgitem.cpp: QFileDialog[KFileDialog] (1) ./libkstapp/datadialog.cpp: QLineEdit[KLineEdit] (1) ./libkstapp/logwidget.h: QTextBrowser[KTextBrowser] (1) ./libkstapp/choosecolordialog.cpp: QDialog[KDialog],QLineEdit[KLineEdit],QLineEdit[KLineEdit] (3) ./libkstapp/mainwindow.cpp: QMessageBox[KMessageBox],QFileDialog[KFileDialog],QMessageBox[KMessageBox],QFileDialog[KFileDialog],QMessageBox[KMessageBox] (5) ./libkstapp/changefiledialog.cpp: QDialog[KDialog],QMessageBox[KMessageBox],QMessageBox[KMessageBox],QMessageBox[KMessageBox] (4) ./libkstapp/differentiatecurvesdialog.cpp: QDialog[KDialog] (1) ./libkstapp/dialogpage.cpp: QTabWidget[KTabWidget] (1) ./libkstapp/basicplugindialog.cpp: QMessageBox[KMessageBox] (1) ./libkstapp/viewitem.cpp: QInputDialog[KInputDialog] (1) ./libkstapp/datamanager.cpp: QDialog[KDialog] (1) ./libkstapp/viewvectordialog.cpp: QDialog[KDialog] (1) ./libkstapp/viewmatrixdialog.cpp: QDialog[KDialog] (1) ./libkstapp/markerstab.cpp: QMessageBox[KMessageBox],QMessageBox[KMessageBox] (2) ./libkstapp/viewitemdialog.cpp: QLineEdit[KLineEdit] (1) ./libkstapp/changedatasampledialog.cpp: QDialog[KDialog] (1) ./libkstapp/view.cpp: QInputDialog[KInputDialog] (1) ./libkstapp/tabwidget.cpp: QTabBar[KTabBar],QTabBar[KTabBar],QInputDialog[KInputDialog],QTabBar[KTabBar] (4) ./libkstapp/debugdialog.cpp: QDialog[KDialog],QDialog[KDialog] (2) ./libkstapp/tabwidget.h: QTabWidget[KTabWidget] (1) ./libkstapp/datawizard.cpp: QMessageBox[KMessageBox] (1) Don't use Qt 4 classes that are deprecated. Additionally make sure to use the KDE version of some Qt GUI elements to provide a consistent look and feel for the KDE desktop. The KDE classes are not just adding functionalities to the Qt base class and are mostly not even based on the Qt class. <http://techbase.kde.org/Policies/API_to_Avoid> *Please* *refer* *to* *the* *API* *documentation* *for* *details* *before* *porting* *to* *the* *K* *classes*.
I think the first step will be to port kst to CMAKE. Then we can use CMAKE to decide on the qt vs kde widgets. We also need to fix the i18n stuff. The fake i18n we use is not actually source code compatible with the real KDE i18n, so this needs to be fixed (there are a bunch of Krazy2 errors related to us using i18n wrong, because we can't use it right, because we aren't actually using i18n.)
We now use CMAKE, and have been accepted into extragear as a pure qt app. No more changes need to be made.