Gemini: ------- * Kirigamify the welcome pages This also includes adapt parts of the application's flow to better match Kirigami's style, and has further resulted in a variety of little UI tweaks, as the original UI was built in the early days of Qt Quick, before proper established patterns * Pull out DocumentTile as a proper component and add various fixes * Fix some issues with similarly named documents in RecentFileManager * Remove crash in cloud support by postponing some of the loading process * Clarify touch <-> desktop view switch * Fix loading of templates and files creation * Migrate away from deprecated interfaces in Gemini DropBox support * Handle non-availability of the web view * Make the touch view accept touch events on recent Qt versions QtQuick2 Components: -------------------- * Speed up document loading when viewing only by not loading editor controls * Correct anchor detection in QML components, removing potential infinite looping Words: ------ * Do not popup contextmenu twice * Fix Bug 378527 - "Distraction free mode" should be called "Full screen mode" * Fix Bug 358581 - Calligra word crashes on trying to print web page from Konqueror Fixed calligra crashing when opening remote document * Fix crash after loading of template file fails * Save anchor info also for page-anchored shapes LO needs anchor info to position shapes correctly. * Fix interoperability problem with LibreOffice Words creates pagestyles with name "Standard" and displayname "Default". LibreOffice creates a "Default" style where all words style attributes go. The style is never used by LibreOffice, effectivly discarding all attributes. Karbon: ------- * Karbon: Enable multi page capability * Karbon image filter: Add multipage support Adds ability to select page in the options dialog * PDF Import: Add multipage support Imports multipage pdf files as svg using poppler to generate an svg file pr page. * Use Krita toolbar in Karbon I copied all KoToolBox* file and KissKineticScroller (renamed to KoKineticScroller) from Krita repo. Stage: ------ * Add automatic slide transition Introduces 2 modes for slide transitions: Manual: Slide transition and animations must be activated manually (any page effect is always run) Automatic: Slide transition included page effects and animations is activated automatically after a user selectable time. * Fix animation of sequential- and parallel animations * Add show/hide page margins Flow: ----- * Retire flow, not needed since karbon can do it all Since karbon is multipage app and stencils docker can be used by all apps, there is no need for flow anymore. General: -------- Author: Andrew den Exter Don't allow an unrecognized child element to block loading of a shape plugin. Summary: If an object element has child elements but no shape plugin can be resolved for any of them fall back to trying to create a plugin from the root element. This guards against cases like the snippet below where an experimental tag has been embedded in an element which would have otherwise correctly loaded the charts plugin. * Fix line percentage height * Fix Bug 381341 - Crash opening large doc file [textlayout] Don't enter infinite loop when table is misfit * Fix formatting of scientific numbers Scientific number exponents has minmum 2 digits as default (as excel/lo calc) * Fix undo/redo move of anchored shapes * Check if shape is movable and update cursor and decoration accordingly * Check if shape is resizeable and update cursor and decoration accordingly * Check if shape is shearable and update cursor and decoration accordingly * Check if shape rotation is allowed and update cursor and decoration accordingly * Fix freeze in progressbar handling on startup * Do not allow to set a readonly document to modified * Fix illustrator image handling Filters: -------- CSV: ---- Author: Guo Yunhe CSV characters should not be translated Summary: These characters are used in CSV format and should not change. So they should not be translated. What's more, `\r` will cause warning in GNU Gettext. Reviewers: #calligra:_3.0, danders, mecir!, boemann Reviewed By: #calligra:_3.0, danders, boemann Subscribers: boemann, Calligra-Devel-list, anthonyfieroni Tags: #calligra:_3.0 Differential Revision: https://phabricator.kde.org/D7946 RTF: ---- Author: Pekka Vuorela Use RTF default color as default Qt format Summary: RTF spec says a color entry without anything defined is a "default color", but doesn't specify more what that is. In practice seems to work nicer now when such a default color is e.g. used to clear a previously set text background color. Earlier version resulted in black background and black text. Author: Pekka Vuorela Mark \shp and \shpinst as supported control words on rtf reader Summary: The destination don't get specific handling at the moment, but might contain images etc. Suppose it's lesser bad to show them even without all the properties read than to omit them. Some other control words are in similar way marked as supported but without destination handler class. Author: Mikhail Philippov Display figure brackets in plain text Summary: RTF files can contain text with figure brackets, i.e. C++ code. This fix mentions the case when figure brackets should be handle as plain text and not as a token of the beginning or ending of the group of control words. Author: Pekka Vuorela Better charset, unicode and image support for RTF files Summary: Combining work from Andrew den Exter and Mikhail Filippov. Supports better different encodings, images and unicode literals. Also added handling for \line. Author: Pekka Vuorela Add support for strikeout text in RTF documents PPT: ---- Author: David Llewellyn-Jones Date: Wed Nov 20 11:47:17 2019 +0200 Relax TextPFRun validation to allow LibreOffice PPT import Summary: This change allows non-conforming LibreOffice PPT files to be imported. An apparent bug in the LibreOffice PPT exporter makes it output files which technically don't conform to the PPT specification. Calligra refuses to load these files, which although technically may be the correct behaviour, is extremely annoying for the user. LibreOffice's deviation from the PPT spec is pretty minor, and a slight weakening of Calligra's validation allows the files to be imported successfully. In more detail, when loading a drawing each text paragraph in the drawing has a TextPFRun structure ("A structure that specifies the paragraph-level formatting of a run of text"). This starts with a mask, followed by a sequence of fields. Only unmasked fields are included in the sequence. According to Section 2.9.45 of the PPT specification version 6 [1], the following fields must be masked out: masks.leftMargin masks.indent masks.defaultTabSize masks.tabStops In spite of this LibreOffice includes the leftMargin and indent fields (flags 0x100 and 0x400). I'm not familiar with the LibreOffice codebase, but it looks like this is the problem code. From this same code it look like LibreOffice doesn't export the defaultTabSize or tabStops fields (which is correct). This patch loosens Calligra's validation to allow these flags to be set. It applies the change in binschema [2] for the same reason used to generate the Calligra parser files (see binschma commit aca4fd06f1ad330ecadf05b9e862d7c91338f051). [1] https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-ppt [2] https://phabricator.kde.org/source/binschema/ Test Plan: 1. Save out a file from LibreOffice in PPT format, or download [[ http://www.flypig.co.uk/dnload/dnload/other/calligra-importppt.zip | this archive ]] with a test file inside. 2. Attempt to load the file into Calligra Stage. 3. Note that it refuses to load with the error "Invalid file format". 4. Apply the patch. 5. Attempt to load the same file again. 6. Note that it loads correctly. If you used my test file, witness my amazing presentation design. Visio: ------ Author: Dag Andersen Visio filter: make it work with some file versions. Versions 2002 and 2013 test ok, 2010 fails. Note: Bugs elsewhere so not loaded completely perfect. Excel: ------ Author: Andrew den Exter Read xlsx drawing dimensions from the xdr:ext element if available. Summary: Read the size of a single cell anchored drawing from the xdr:ext element. The only real difference from the a:ext element is the namespace but that means the existing read_ext function fails reading xdr:ext and a new one can't be added without clashing so the logic is included inline instead of utilizing the usual macros. Author: Andrew den Exter Don't drop number styling information from xlsx cell formats which start with a currency symbol. Author: Andrew den Exter Don't double format spreadsheet currency values with custom format strings. Summary: If there is a format string for a currency value only format the number and let the format string append or prepend the appropriate currency symbol. Author: Andrew den Exter Fix incorrect conditional styling of spreadsheet cells. Summary: Include the conditions default style when comparing equality and calculating the hash to reduce instances of false equivalency. Then remove the QMap index cache since sorting on a hash an item may still produce unstable results in the somewhat unlikely case of a hash collision and it's going to take a lot of items before building and searching the map starts to be less expensive than a linear scan. Author: Andrew den Exter Extract images from excel files which omit the FtCF entry. Summary: The specification says it and the flags entry must exist if the object type is picture but appears to not be true of some files. Since there's no essential information there add a basic check for the field id and if it not what is expected skip parsing of that field without invalidating the entire object. Author: David Llewellyn-Jones Asign correct column width when importing XLS file Summary: When importing an Excel 97-2003 .xls file (using the excel importer) the column widths don't match those from the file exported from Excel (or LibreOffice). Moreover, the widths of the columns depend on the dpi of the device in use, even though this doesn't affect the contents of the cells. For any screen that is higher than 96 dpi the columns will be too narrow and cell contents are likely to be truncated. This patch fixes the issue so that the correct column widths are assigned. As far as I can tell, this is the only situation where QWidget.physicalDpiX() is being explicitly used in the code. http://www.flypig.co.uk/dnload/dnload/other/calligra-column-widths.zip Author: Carl Schwan Improve KoModeBox display in horizontal Mode Summary: Use less vertical space, don't change anything in vertical Mode **Screenshots:** New: {F6611376} Old:{F6611377} Test Plan: Compile, run, no bug found yet :D. Note: I wasn't able to run calligra with master (crash at startup) so this work isn't tested with master and only the calligra/3.1 branch Reviewers: #calligra:_3.0, #vdg, boemann Reviewed By: #vdg, boemann Subscribers: danders, boemann, anthonyfieroni, abetts, ngraham, Calligra-Devel-list Tags: #calligra:_3.0 Differential Revision: https://phabricator.kde.org/D18963 Stencils: --------- Author: Dag Andersen Activate stencils docker in all apps Summary: The docker now loads in separate thread and is hidden by default, so does not have any performance impact and is non-intrusive. From a user perspective (me): Why words: My weapon of choice to create a flow chart is words, because of things like headers/footers and even TOC. Author: Dag Andersen StencilBoxDocker: Do not show by default Author: Dag Andersen StencilsBoxDocker: Load stencils in separate thread, to not impact app startup time Author: Dag Andersen ConnectionTool: Fix creation of connections and handle undo 1) Bundle connection creation in one "Create Connection" command. 2) Handle removal of the connection shape by listening to shapeRemoved() signal. Author: Dag Andersen KoConnectionShape: Do not create a path when all handles point to the same point Test: Create a connection, undo. A line of 20 points is left. Author: Dag Andersen Stencils: Fix invalid odf in database.odg This caused the database shape to move on save/load TableShape: ----------- Author: Dag Andersen Disable build of sheets tableshape It has been obsoleted by the implementation of text tables, and needs to be rewritten to save/load as ole object. Author: Niccolò Venerandi Bug 399569 - Descriptions for DEC2BIN/OCT2BIN/HEX2DEC/HEX2BIN do not mention input number system Made descriptions for DEC2BIN/OCT2BIN/HEX2DEC/HEX2BIN mention input number system Callouts: --------- Author: Dag Andersen Callout: Improve ui (resize/rotate) Author: Dag Andersen Proper fix for LOs inverted rotate/skew angle and wrong default unit Author: Dag Andersen Callout: "Fix" rotation of callouts FIXME: There are interop problems with sheared enhanced-path shapes in general. Marble: ------- Author: Dag Andersen Disable Marble for now. Let's see if calligra compiles for windows Annotation: ----------- Author: Dag Andersen AnnotationShape: Disable all not allowed interactions Author: Dag Andersen Annotation: Block adding comment to an annotation shape Summary: To reproduce crash: 1) Add a text shape 2) Add an annotation shape 3) Activate the annotation shape 4) Select the Shape Handling tool 5) Select both shapes; first annotation shape then the text shape 6) Select the text tool: The caret should now be in the annotation tool 7) Hit CTRL-SHIFT C to add a comment -> crash TODO: Find out why disabling insert_annotation action is not working Closes T4902 Author: Damien Caliste Try to avoid segfaults on shape factory not found Try to catch every pattern of KoShapeRegistry::instance()->value() in the code and check the return pointer before using it. It's a follow-up of https://phabricator.kde.org/D15679. Reviewed By: boemann Differential Revision: https://phabricator.kde.org/D15728 Bug 379255 - Opening a docx file Extend table lifetime Author: Anthony Fieroni [Style] Default sheets to white background Shapes: ------- * EnhancedPathShape: Fix Bug 334608 - Rectangle with rounded corners turns into square Keep correct aspect ratio of shapes in odf files * SvgShapes: Fix loading of shapes created with SvgShapeFactory Atributes like anchoring was not loaded and thus the shape was never made visible in Words. * TextShape: Handle stroke (not only border) in root area provider * PictureShape: Fix crash when atempting to load unknown binary data Always create an image, or else it crashes later Chart: ------ Common: * Only x axes can be attached to multiple diagrams * Only bar charts can be vertical * Fix marker symbols Marker symbols were mixed up with value-label-symbol. * Remove 'Show Symbol' from ui for charttypes without symbols * Enable chart tool also when any of the chartshape children is selected * Paint decoration when chart tool is active to make it clear which shape the tool is connected to * Fix Bug 420328 - Layout does not handle axis titles on the same side of the plotarea * Fix Bug 420292 - Axis titles not rotated when plot area rotated * Fix Bug 420290 - Setting dataset chart type is not undoable * Fix Bug 240520 - No axes lines when creating new chart * Fix Bug 420151 - Legend does not respect dpi settings * Fix Bug 420145 - Legend is not printed properly * Layout title, subtitle, footer shapes center aligned by default Bar: * Handle gaps as properties of Y-axes only as specified in odf 1.2 This means we can have individual gaps per y-axis (if multiple y-axes) * Only save gaps in styles used by y-axis * Set axis positions correct also for vertical charts * Show Axis Labels ui added * Enable bar chart orientation Stock: * Implement stock chart sub types Scatter: * Improve label handling * Fix tooltips Pie and Ring: * Save/load pie/ring attributes * LO needs ring chart datasets class to be circle Radar: * Add radar chart config widget