From dcd684e0b53c4ef74be7a4af1f593771a5a659af Mon Sep 17 00:00:00 2001 From: Debao Zhang Date: Wed, 8 Jan 2014 14:54:35 +0800 Subject: [PATCH] Format: Add QFont support --- src/xlsx/xlsxformat.cpp | 29 +++++++++++++++++++++++++++++ src/xlsx/xlsxformat.h | 2 ++ 2 files changed, 31 insertions(+) diff --git a/src/xlsx/xlsxformat.cpp b/src/xlsx/xlsxformat.cpp index ce26a45..0690723 100755 --- a/src/xlsx/xlsxformat.cpp +++ b/src/xlsx/xlsxformat.cpp @@ -464,6 +464,35 @@ void Format::setFontName(const QString &name) setProperty(FormatPrivate::P_Font_Name, name, QStringLiteral("Calibri")); } +/*! + * Returns a QFont object based on font data contained in the format. + */ +QFont Format::font() const +{ + QFont font; + font.setFamily(fontName()); + if (fontSize() > 0) + font.setPointSize(fontSize()); + font.setBold(fontBold()); + font.setItalic(fontItalic()); + font.setUnderline(fontUnderline()!=FontUnderlineNone); + font.setStrikeOut(fontStrikeOut()); + return font; +} + +/*! + * Set the format properties from the given \a font. + */ +void Format::setFont(const QFont &font) +{ + setFontName(font.family()); + setFontSize(font.pointSize()); + setFontBold(font.bold()); + setFontItalic(font.italic()); + setFontUnderline(font.underline() ? FontUnderlineSingle : FontUnderlineNone); + setFontStrikeOut(font.strikeOut()); +} + /*! * \internal * When the format has font data, when need to assign a valid index for it. diff --git a/src/xlsx/xlsxformat.h b/src/xlsx/xlsxformat.h index 0fd64ed..b0e9378 100755 --- a/src/xlsx/xlsxformat.h +++ b/src/xlsx/xlsxformat.h @@ -163,6 +163,8 @@ public: void setFontOutline(bool outline); QString fontName() const; void setFontName(const QString &); + QFont font() const; + void setFont(const QFont &font); HorizontalAlignment horizontalAlignment() const; void setHorizontalAlignment(HorizontalAlignment align);