[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: =?utf-8?q?=5Bcalligra=5D_words/part=3A_Implement_loading_and_sav?=
From: Sebastian Sauer <sebastian.sauer () kdab ! com>
Date: 2011-05-31 21:57:28
Message-ID: 20110531215728.5A318A60A4 () git ! kde ! org
[Download RAW message or body]
Git commit f959dd007f373e7938e7189e3e4658e9a192db49 by Sebastian Sauer.
Committed on 31/05/2011 at 22:16.
Pushed by sebsauer into branch 'master'.
Implement loading and saving of ODF style:page-usage.
M +22 -0 words/part/KWPageStyle.cpp
M +18 -0 words/part/KWPageStyle.h
M +2 -0 words/part/KWPageStyle_p.h
http://commits.kde.org/calligra/f959dd007f373e7938e7189e3e4658e9a192db49
diff --git a/words/part/KWPageStyle.cpp b/words/part/KWPageStyle.cpp
index 8ea3437..85f47c6 100644
--- a/words/part/KWPageStyle.cpp
+++ b/words/part/KWPageStyle.cpp
@@ -57,6 +57,7 @@ void KWPageStylePrivate::clear()
endNoteDistance = 10;
headers = KWord::HFTypeNone;
footers = KWord::HFTypeNone;
+ pageUsage = KWPageStyle::AllPages;
columns.columns = 1;
columns.columnSpacing = 17; // ~ 6mm
direction = KoText::AutoDirection;
@@ -101,6 +102,16 @@ KWPageStyle::~KWPageStyle()
{
}
+KWPageStyle::PageUsageType KWPageStyle::pageUsage() const
+{
+ return d ? d->pageUsage : KWPageStyle::AllPages;
+}
+
+void KWPageStyle::setPageUsage(KWPageStyle::PageUsageType pageusage) const
+{
+ d->pageUsage = pageusage;
+}
+
void KWPageStyle::setFooterPolicy(KWord::HeaderFooterType p)
{
d->footers = p;
@@ -346,6 +357,17 @@ void KWPageStyle::loadOdf(KoOdfLoadingContext &context, const \
KoXmlElement &mast
QString direction = props.attributeNS(KoXmlNS::style, "writing-mode", "lr-tb");
d->direction = KoText::directionFromString(direction);
+ QString pageUsage = props.attributeNS(KoXmlNS::style, "page-usage", "all");
+ if (pageUsage == "left") {
+ d->pageUsage = LeftPages;
+ } else if (pageUsage == "mirrored") {
+ d->pageUsage = MirroredPages;
+ } else if (pageUsage == "right") {
+ d->pageUsage = RightPages;
+ } else { // "all"
+ d->pageUsage = AllPages;
+ }
+
KoXmlElement columns = KoXml::namedItemNS(props, KoXmlNS::style, "columns");
if (!columns.isNull()) {
d->columns.columns = columns.attributeNS(KoXmlNS::fo, "column-count", \
"15").toInt();
diff --git a/words/part/KWPageStyle.h b/words/part/KWPageStyle.h
index e7d5b92..38de51c 100644
--- a/words/part/KWPageStyle.h
+++ b/words/part/KWPageStyle.h
@@ -82,6 +82,24 @@ public:
/// returns true if the KWPageStyle is valid
bool isValid() const;
+ /// Specifies the type of pages that a page master should generate.
+ enum PageUsageType {
+ AllPages, ///< if there are no style:header-left or style:footer-left \
elements, the header and footer content is the same for left and right pages. + \
LeftPages, ///< style:header-left or style:footer-left elements are ignored. + \
MirroredPages, ///< if there are no style:header-left or style:footer-left elements, \
the header and footer content is the same for left and right pages. + \
RightPages ///< style:header-left or style:footer-left elements are ignored. + };
+
+ /**
+ * Returns the type of pages that should be generated.
+ */
+ PageUsageType pageUsage() const;
+
+ /**
+ * Sets the type of pages that should be generated.
+ */
+ void setPageUsage(PageUsageType pageusage) const;
+
/**
* Return the current columns settings.
*/
diff --git a/words/part/KWPageStyle_p.h b/words/part/KWPageStyle_p.h
index fe7a878..3165979 100644
--- a/words/part/KWPageStyle_p.h
+++ b/words/part/KWPageStyle_p.h
@@ -30,6 +30,7 @@ public:
~KWPageStylePrivate();
void clear();
+ KWPageStyle::PageUsageType pageUsage;
KoColumns columns;
KoPageLayout pageLayout;
QString name;
@@ -50,6 +51,7 @@ public:
// called from the command
void copyProperties(KWPageStylePrivate *other) {
+ pageUsage = other->pageUsage;
columns = other->columns;
pageLayout = other->pageLayout;
//name = other->name;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic