danders created this revision.
danders added a reviewer: anthonyfieroni.
danders added a project: Calligra: 3.0.
danders requested review of this revision.
REVISION SUMMARY
Since odg spec supports multiple pages, I feel karbon also needs to support
it.
The main things that has changed:
1. Since multiple pages is supported, adding/copying/deleting pages is now
possible.
2. The page background color is now set with a tool in the tool box. The
entry for background color in the Settings dialog is superflous and has been
removed.
Ported to use pageapp classes.
A lot of code was duplicated between pageapp and karbon
and has been removed from karbon:
- Save/load
- Layers docker and all layer operations
- Grid, guides, rulers and zoom
- Event handlers
- Printing
- Show page margins has been moved to pageapp
In general, import/export needs review to determine how to
handle multiple pages when e.g. exporting to a format that
does not support pages.
Known bugs:
- "Separate paths" command:
- Execute command, the shape disappears.
- Undo crashes. Note: Afaics this code is not touched so probably a libs
bug.
- Snap to grid does not work
- Number of recent files does not work properly
TEST PLAN
I am not an avid user of karbon, so would be nice if some that where could
test.
Also, do not have all types of different format docs for filter testing.
Some that work are pdf, svg, jpg and karbon files.
REPOSITORY
R8 Calligra
BRANCH
karbon_multipage_danders
REVISION DETAIL
https://phabricator.kde.org/D20400
AFFECTED FILES
filters/karbon/CMakeLists.txt
filters/karbon/image/CMakeLists.txt
filters/karbon/image/ImageExport.cpp
filters/karbon/svg/CMakeLists.txt
filters/karbon/svg/SvgExport.cpp
filters/karbon/svg/SvgImport.cpp
filters/karbon/wmf/CMakeLists.txt
filters/karbon/wmf/WmfExport.cpp
karbon/CMakeLists.txt
karbon/data/karbon.rc
karbon/ui/CMakeLists.txt
karbon/ui/KarbonDocument.cpp
karbon/ui/KarbonDocument.h
karbon/ui/KarbonDocumentMergeCommand.cpp
karbon/ui/KarbonDocumentMergeCommand.h
karbon/ui/KarbonFactory.cpp
karbon/ui/KarbonPart.cpp
karbon/ui/KarbonPart.h
karbon/ui/KarbonPrintJob.cpp
karbon/ui/KarbonPrintJob.h
karbon/ui/KarbonView.cpp
karbon/ui/KarbonView.h
karbon/ui/ProxyView.cpp
karbon/ui/ProxyView.h
karbon/ui/dockers/KarbonLayerDocker.cpp
karbon/ui/dockers/KarbonLayerDocker.h
karbon/ui/dockers/KarbonLayerModel.cpp
karbon/ui/dockers/KarbonLayerModel.h
karbon/ui/dockers/KarbonLayerSortingModel.cpp
karbon/ui/dockers/KarbonLayerSortingModel.h
karbon/ui/widgets/KarbonCanvas.cpp
karbon/ui/widgets/KarbonCanvas.h
karbon/ui/widgets/KarbonConfigInterfacePage.cpp
karbon/ui/widgets/KarbonSmallStylePreview.h
libs/pageapp/KoPAView.cpp
libs/pageapp/KoPAView.h
To: danders, anthonyfieroni
Cc: Calligra-Devel-list, dcaliste, cochise, vandenoever