
Gemini:
-------
Author: Andrew den Exter <andrew.den.exter@jollamobile.com>
    Add a readOnly property to the QtQuick2 Document type which disables the loading of editor UI controls.
    
    Summary: This speeds up load times when simply viewing a document.

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Add enabled property to DocumentTile component

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Make the document tile more reasonable when resized
    
    Also make the three places it is used more sensible

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Remove the no longer used CloudAccounts page

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Make the cloud welcome page more welcoming

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    A touch of visibility juggling for Kirigami controls


Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Kirigami page for MainPage (and make navigating back work)

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Make RecentFileManager less potentially crashy
    
    This is a funky little situation where some of the assumptions
    are just a little off. In short: There are going to be multiple
    files with the same file name in different locations on the
    filesystem. This will result in two lists ending up out of sync,
    if we simply clear multiple instances of the same string. Solution:
    switch to a less assumptioney and more strict container.

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Further work on Kirigamifying Calligra Gemini
    
    This time it's the cloud bits getting some attention. More to be done,
    but progress!

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Add text to CloudModel entries' account details

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Some cleanup and refactoring of the load process

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Actually sort the two Words subpages

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Kirigamify the Stage welcomepage

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Ensure the pages are given full width

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Rework the Words page as more Kirigami-esque

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Clean up recent and library pages a touch

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Add a context drawer, and set the app bar style

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Make the Calligra Gemini flow more Kirigami based (much more work to do)

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Pull out the Document Tile as a component

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Postpone the loading, remove crash in cloud support

Author: Anthony Fieroni <bvbfan@abv.bg>
    [gemini] Clarify touch <-> desktop view switch
    
Author: Anthony Fieroni <bvbfan@abv.bg>
    [gemini] Fix loading of templates and files creation
    

Author: Damien Caliste <dcaliste@free.fr>
    Correct anchor detection in QML components.
    
    Summary: The loop to translate the anchor shape position in TextDocumentImpl was mis-written, always testing shape's parent, instead of parent's parent. This was creating an infinite loop in case an email address was present in a table for instance.

Author: Pekka Vuorela <pekka.vuorela@jolla.com>
    Migrate away from deprecated interfaces in gemini dropbox parts
    
    Summary: Having trouble getting Gemini Dropbox working here, but should be simple enough and at least quite isolated code.

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Use a Loader for the webview (and handle nonloading)

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Make touch view accept touch events on recent Qt versions
    
    Based on a patch for Krita, and caused, in the end, by
    https://bugreports.qt.io/browse/QTBUG-66718

Author: Dan Leinir Turthra Jensen <admin@leinir.dk>
    Ensure Gemini drawer's open and non-modal (for static sidebarness)

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 <andrew.den.exter@jollamobile.com>
    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.
    
    <draw:object draw:notify-on-update-of-ranges="Лист1.B2:Лист1.B12" xlink:href="./Object 1" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad">
      <loext:p />
    </draw:object>

* 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 <guoyunhebrave@gmail.com>
    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 <pekka.vuorela@jolla.com>
    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 <pekka.vuorela@jolla.com>
    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 <m.filippov@omprussia.ru>
    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 <pekka.vuorela@jolla.com>
    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 <pekka.vuorela@jolla.com>
    Add support for strikeout text in RTF documents

PPT:
----
Author: David Llewellyn-Jones <david@flypig.co.uk>
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 <danders@get2net.dk>
    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 <andrew.den.exter@jollamobile.com>
    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 <andrew.den.exter@jollamobile.com>
    Don't drop number styling information from xlsx cell formats which start with a currency symbol.


Author: Andrew den Exter <andrew.den.exter@jollamobile.com>
    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 <andrew.den.exter@jollamobile.com>
    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 <andrew.den.exter@jollamobile.com>
    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 <david.llewellyn-jones@jolla.com>
    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 <schwancarl@protonmail.com>
    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 <danders@get2net.dk>
    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 <danders@get2net.dk>
    StencilBoxDocker: Do not show by default

Author: Dag Andersen <danders@get2net.dk>
    StencilsBoxDocker: Load stencils in separate thread, to not impact app startup time

Author: Dag Andersen <danders@get2net.dk>
    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 <danders@get2net.dk>
    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 <danders@get2net.dk>
    Stencils: Fix invalid odf in database.odg
    
    This caused the database shape to move on save/load

TableShape:
-----------
Author: Dag Andersen <danders@get2net.dk>
    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 <niccolo.venerandi@gmail.com>
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 <danders@get2net.dk>
    Callout: Improve ui (resize/rotate)

Author: Dag Andersen <danders@get2net.dk>
    Proper fix for LOs inverted rotate/skew angle and wrong default unit

Author: Dag Andersen <danders@get2net.dk>
    Callout: "Fix" rotation of callouts
    
    FIXME: There are interop problems with sheared enhanced-path shapes in general.


Marble:
-------
Author: Dag Andersen <danders@get2net.dk>
    Disable Marble for now. Let's see if calligra compiles for windows

Annotation:
-----------
Author: Dag Andersen <danders@get2net.dk>
    AnnotationShape: Disable all not allowed interactions

Author: Dag Andersen <danders@get2net.dk>
    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 <dcaliste@free.fr>
    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 <bvbfan@abv.bg>
    [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
