Summary: | kst2 should become a kde app | ||
---|---|---|---|
Product: | [Applications] kst | Reporter: | Netterfield <netterfield> |
Component: | general | Assignee: | kst |
Status: | RESOLVED INTENTIONAL | ||
Severity: | wishlist | CC: | syntheticpp |
Priority: | NOR | ||
Version: | 2.0.1 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Netterfield
2010-08-17 22:23:19 UTC
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. |