On 04/08/2013 06:05 PM, Boudewijn Rempt wrote:
Well, I'm fine with having moc_bla.cpp includes where Q_PRIVATE_SLOT
is used. I don't think there's any real problem there.
Its a problem when somebody switches cmake<=>qmake (both directions)
cause of there moc filename incompatibilities. Anyhow, there are work
arounds like I used at the bottom of calligra/coffice/common.pri. So,
not unsolvable but just not nice. Anyhow, really not that important atm.
* kdelibs: add a shim "kofake" library that has enough of the KDE
headers and implementation to build. This mostly is ready, but there
is some stuff missing and currently libs/flake fails to build
because of missing stuff.
Oh, interesting. iirc it worked/works for me fine with all of flake.
These are the linking errors I currently get:
Linking CXX shared library libflake.so
CMakeFiles/flake.dir/KoCanvasControllerWidget.cpp.o: In function
`qobject_cast<QGLWidget*>':
/usr/include/QtCore/qobject.h:473: undefined reference to
`QGLWidget::staticMetaObject'
Linking to QtOpenGL needed?
CMakeFiles/flake.dir/KoToolManager_p.cpp.o: In function
`ToolAction::qt_metacall(QMetaObject::Call, int, void**)':
/home/boud/kde/build/calligra/libs/flake/moc_KoToolManager_p.cpp:334:
undefined reference to `KAction::qt_metacall(QMetaObject::Call, int,
void**)'
...
make[1]: *** [libs/flake/CMakeFiles/flake.dir/all] Error 2
make: *** [all] Error 2
makeobj[0]: Leaving directory `/home/boud/kde/build/calligra/libs/flake'
boud@linux-pb1y:~/kde/build/calligra/libs/flake>
QT4_WRAP_CPP for header-only's with Q_OBJECT?
qmake not needs that cause I added all of them to HEADERS.
* replace kconfig with qsettings
I am not sure if that's a good idea. KConfig has a few advantages in
KDE land like configuration-overwrites, kiosk. Maybe we could just
stick with KConfig and under the hood map to QSettings if needed? Or
maybe use an own KoConfig that maps to either KConfig or QSettings?
The latter would be best, I guess. Though kiosk seems dead anyway.
It should still work except somebody broke it last years. But yes,
kdelibs always had missing man-power :/
The other such candidate is KAction vs QAction. KAction enables
system-wide shortcuts. But then do we have use for that? Maybe yes
for specific things like a "Create Screenshot" in Krita?
Nope -- nothing like that. For KAction, my biggest beef is that it is
too smart. For krita at least, I want to handle shortcut management
myself, because shortcuts are used for more than QAction-based actions
I see. Then indeed there is no reason I can think of.
* replace KSaveFile with QSaveFile
* replace KTemporaryFile with QTemporaryFile
* replace KTempDir with QTemporaryDir
* replace KFileWidget/KFileDialog with QFileDialog (initial patch on
reviewboard)
There is no equivalent for KFileWidget in Qt and probably never will
be. Well, QDirModel+QListView but that would miss any proper
KDE-integration. But then I doubt there are much users of KFileWidget
in Calligra
This is the full set:
kexi/main/startup/KexiStartupDialog.cpp
kexi/main/startup/KexiStartupFileHandler.cpp
kexi/widget/KexiConnectionSelectorWidget.cpp
kexi/widget/KexiFileWidget.cpp
krita/ui/kis_layer_manager.cc
libs/kokross/KoScriptManagerAdd.cpp
libs/main/KoExistingDocumentPane.cpp
libs/main/KoMainWindow.cpp
plugins/pictureshape/PictureShapeConfigWidget.cpp
plugins/vectorshape/VectorShapeConfigWidget.cpp
plugins/videoshape/SelectVideoWidget.cpp
But Yue has already started on it.
Great!
* port all tests from qtest_kde.h to QtTest or QtTestWidgets
* KApplication to QApplication
I am not sure about the KApplication/QApplication case either. KApp
still provides some additional functionality iirc. Could need some
investigation.
That's what the porting guidelines recommend:
Changes in kdeui
KApplication/KUniqueApplication: use QApplication instead, but
make sure to:
Call QCoreApplication::setApplicationName("...")
Call QCoreApplication::setOrganizationDomain("kde.org")
Call QApplication::setApplicationDisplayName(i18n("...")) for
GUI programs
Use KDBusService for DBus registration, and optional "unique"
behavior
Ah. I should start reading them. Okeli, thanks.
_______________________________________________
calligra-devel mailing list
calligra-devel@kde.org
https://mail.kde.org/mailman/listinfo/calligra-devel