Skip to content

Releases: KDAB/KDReports

KDReports 2.3.0

11 Sep 19:06
Compare
Choose a tag to compare

What is new in KD Reports 2.3

Bugfixes:

  • Fix infinite loop and other issues with Qt 6.7 due to QTextFormat behavior change
  • Preserve resolution in watermark image (issue #42)
  • Fix right-aligned tabs not working when setting paragraphs margins
  • Fix blurry rendering in hi-dpi (DPR != 1) situations (issue #58)
  • Fix result codes set by KDReportsPreviewDialog. The Result enum promised values that weren't actually set because accept() overwrote them (issue #59)
  • Fix tables losing their cell borders after upgrading to Qt 6.8

New features:

  • AutoTableElement: add customization functions for header styling, see setHorizontalHeaderFormatFunction and setVerticalHeaderFormatFunction, and their use in the PriceList example.
  • Cell: add setCellFormatFunction for customizing cell borders and padding individually, see example in ReferenceReport.
  • Cell: add setVerticalAlignment, for vertical centering (or top alignment) of text in table cells, e.g. when using different font sizes in the same row.
  • AbstractTablElement: setColumnsConstraints now supports columns with no constraints (just pass {}). The point is to specify a constraint for a column further right than the one without a constraint.
  • TableElement: add rowCount() and columnCount(). These methods can be useful in a genericfunction that takes a TableElement and changes background colors on alternate rows, for instance.
  • Report: add setProgressDialogEnabled(false) to disable the progress dialog when printingor when exporting to PDF. This can be useful when the application generates multiple documents and has its own progress dialog for the overall operation, or prefers embedding a progressbar.

KDReports 2.2.0

03 Sep 16:57
Compare
Choose a tag to compare

Release Highlights

  • Re-license project to MIT and remove the commercial offering
  • Add WebAssembly demo-example

Bugfixes:

  • Adding an inline element honours the formatting of that inline element only, the previous element now has no effect. Previously, addElement() with bold text followed by addInlineElement() with no formatting, would make the inline element bold erroneously.
  • Fix missing icons in the preview dialog
  • Change the way addVerticalSpacing sets up the empty paragraph. It would sometimes lead to the height of the default font to be added to the requested spacing, now it's always exactly the requested spacing.

New features:

  • Added Cell::addVerticalSpacing, to insert spacing between paragraphs in table cells
  • Added Frame::setPosition, in order to implement floating frames on the left or right side of the document.
  • Added Report::setWatermarkFunction, so applications can customize the drawing of the watermark with QPainter.
    This can be useful for company letterhead that involves drawing a few pixmaps here and there, for instance.
  • Expose the mmToPixels() function as a helper for drawing the watermark using QPainter.

KDReports 2.1.0

12 Jan 11:19
Compare
Choose a tag to compare

Release Highlights

General:

  • CMakeLists.txt - don't create a docs target if KDReports is used as a subdirectory in another CMake project

New features:

  • Added report.mainTextDocument() which returns the QTextDocument for the main part of the report
    (no headers, footers, or watermark). This can be used to display the report in a readonly QTextEdit
    or a QTextBrowser.

KDReports 2.0.0

22 Aug 20:14
Compare
Choose a tag to compare

Release Highlights

General:

  • Supports Qt6 in addition to Qt5 (co-installable)
  • Minimum Qt version is 5.9
  • The qmake buildsystem (via autogen.py) is removed.
  • buildsystem - increase CMake min version to 3.3.0
  • buildsystem - add an 'uninstall' target
  • Python3 bindings for Qt5 and Qt6. See INSTALL-bindings.txt for more information.
  • Removed deprecated method setTableBreakingEnabled() (use scaleTo() instead)

New features:

  • Report::anchorAt() method to detect hyperlinks, and a linkActivated() signal in PreviewWidget/PreviewDialog to handle clicking on them.

Bug fixes:

  • Autotables: returning a QBrush for Qt::BackgroundRole (or ForegroundRole) now works as expected. Previously only QColor was supported.

Behaviour changes:

  • Porting away from deprecated QXmlInputSource means that the parsing of whitespace-only XML elements (in templates) has changed.
    This means that an element like (whitespace only) is no longer supported (it is parsed as being empty), it needs to be merged with other text elements. A workaround, which unfortunately only works with Qt5, is inside the text element.
    Note that Qt doesn't support xml:space="preserve", which is the reason for this issue.

KDReports 1.9.0

05 Nov 19:53
Compare
Choose a tag to compare

General:

  • No longer supporting Qt 4
  • Minimum CMake version is 3.1
  • New installing file for Conan (WIP - see conan folder)
  • qmake buildsystem -- no longer prompt for license choice.
    users should carefully consider their choice of license
  • The qmake buildsystem is deprecated

Features:

  • Added AbstractTableElement::setColumnConstraints to control the widths of the columns

Bug fixes:

  • Fixed build against namespaced Qt

CMake buildsystem:

  • Generates .pri files for qmake users

KDReports 1.8.2

15 Oct 21:14
Compare
Choose a tag to compare

Qt4 is still supported, but this is the last release with support for Qt4.

In release 1.8.2:

  • Fix installed library name on Windows

KDReports 1.8.1

12 Oct 15:45
Compare
Choose a tag to compare

Qt4 is still supported, but this is the last release with support for Qt4.

In release 1.8.1:

  • Fix compiling against a Qt namespace build
  • Fix static linking examples and unittests in the CMake buildsystem
  • small buildsystem improvements

KDReports 1.8.0

03 Apr 15:24
Compare
Choose a tag to compare

NOTE:

  • To follow convention, the name of the debug libraries on Windows has been changed from "kdreportsd1" to "kdreports1d". Both the qmake and CMake build systems have been adapted accordingly.

Bug fixes:

  • TableElement::setDefaultFont() now works as advertised. Each TextElement was forcing its full character format even if it didn't have a font set. Now each TextElement only sets the parts of the character format that have been explicitly set, and the default font for every block comes from the report's default font or the table's
    default font (in tables).

  • The print preview dialog no longer uses the system palette for the default text color (but black instead). This fixes white-on-white previews when using a dark color scheme. Since it's a print preview, black text on white background is expected, rather than the system colors.

KDReports 1.7.1

15 Aug 14:28
Compare
Choose a tag to compare

This is a patch release that fixes building with Qt5.6 and above.

KDReports 1.7.0

08 Oct 22:50
Compare
Choose a tag to compare

Features:

  • Comes with a fully functioning CMake buildsystem (see INSTALL-cmake.txt)
    (for those who like using CMake instead of qmake)
  • Added Frame element.
  • Added Report::setDocumentName(), to be able to set a name for the print job.
  • AutoTableElement::NonBreakableLinesRole to forbid word-wrapping in individual table cells
  • Preview dialog: added a "Save..." button, which brings up a file dialog for saving as PDF.
    Added setDefaultSaveDirectory() to set the initial directory for that file dialog.
    Added setDirectoryBrowsingEnabled() to allow or forbid choosing the save directory.
  • Preview dialog: added setQuickPrinterName(QString), which shows a new button saying
    "Print with [printerName]" for quick printing without the print dialog.
  • Spreadsheet mode: added support for cells spanning multiple rows or columns.
  • Spreadsheet mode: honour the settings for border size, border color and header background brush.
  • Spreadsheet mode: add support for multiline text (with explicit '\n')
  • Spreadsheet mode: add support for fixed row heights (see example Labels)

Bug fixes:

  • Setting the report to Landscape and then using KDReports::PreviewDialog now sets the print to Landscape.
  • Printing to PDF as Landscape now generates a correct paper size.