summaryrefslogtreecommitdiffstats
path: root/scribus/plugins
diff options
context:
space:
mode:
authorjghali <jghali@11d20701-8431-0410-a711-e3c959e3b870>2012-02-25 12:46:52 +0000
committerjghali <jghali@11d20701-8431-0410-a711-e3c959e3b870>2012-02-25 12:46:52 +0000
commita1b009e0ebaf0b14889f81c40714428104d5a78f (patch)
treebd5d8a23897f04aff4e4ce80ea244fdb7e8e780d /scribus/plugins
parent683d0bf023a15085312404500d907fddcd2926a3 (diff)
downloadscribus-a1b009e0ebaf0b14889f81c40714428104d5a78f.tar.gz
scribus-a1b009e0ebaf0b14889f81c40714428104d5a78f.tar.xz
scribus-a1b009e0ebaf0b14889f81c40714428104d5a78f.zip
#10595: Imported page, in some case, loses its text frame style
git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17334 11d20701-8431-0410-a711-e3c959e3b870
Diffstat (limited to 'scribus/plugins')
-rw-r--r--scribus/plugins/fileloader/scribus134format/scribus134format.cpp54
-rw-r--r--scribus/plugins/fileloader/scribus134format/scribus134format.h6
2 files changed, 30 insertions, 30 deletions
diff --git a/scribus/plugins/fileloader/scribus134format/scribus134format.cpp b/scribus/plugins/fileloader/scribus134format/scribus134format.cpp
index ad807be..21ded1f 100644
--- a/scribus/plugins/fileloader/scribus134format/scribus134format.cpp
+++ b/scribus/plugins/fileloader/scribus134format/scribus134format.cpp
@@ -1880,7 +1880,6 @@ void Scribus134Format::GetItemText(QDomElement *it, ScribusDoc *doc, PageItem* o
if (it->hasAttribute("CULW"))
newStyle.setUnderlineWidth(qRound(ScCLocale::toDoubleC(it->attribute("CULW"), -0.1) * 10));
-
if (it->hasAttribute("CSTP"))
newStyle.setStrikethruOffset(qRound(ScCLocale::toDoubleC(it->attribute("CSTP"), -0.1) * 10));
@@ -1890,7 +1889,7 @@ void Scribus134Format::GetItemText(QDomElement *it, ScribusDoc *doc, PageItem* o
fixLegacyCharStyle(newStyle);
if (impo && ab >= 0 && VorLFound)
- last->ParaStyle = DoVorl[ab].toInt();
+ last->ParaStyle = legacyStyleMap[ab];
else
last->ParaStyle = pstylename;
// end of legacy stuff
@@ -1998,6 +1997,8 @@ void Scribus134Format::readParagraphStyle(ParagraphStyle& vg, const QDomElement&
{
if (m_Doc->styleExists(parentStyle))
vg.setParent(parentStyle);
+ else if (parStyleMap.contains(parentStyle))
+ vg.setParent(parStyleMap.value(parentStyle));
else
vg.setParent(CommonStrings::DefaultParagraphStyle);
}
@@ -2778,13 +2779,14 @@ bool Scribus134Format::loadPage(const QString & fileName, int pageNumber, bool M
maxLayer = qMax(m_Doc->Layers[la2].LNr, maxLayer);
maxLevel = qMax(m_Doc->Layers[la2].Level, maxLevel);
}
- DoVorl.clear();
- DoVorl[0] = "0";
- DoVorl[1] = "1";
- DoVorl[2] = "2";
- DoVorl[3] = "3";
- DoVorl[4] = "4";
- VorlC = 5;
+ parStyleMap.clear();
+ legacyStyleMap.clear();
+ legacyStyleMap[0] = "0";
+ legacyStyleMap[1] = "1";
+ legacyStyleMap[2] = "2";
+ legacyStyleMap[3] = "3";
+ legacyStyleMap[4] = "4";
+ legacyStyleCount = 5;
QDomDocument docu("scridoc");
QString f(readSLA(fileName));
if (f.isEmpty())
@@ -3448,12 +3450,10 @@ bool Scribus134Format::loadPage(const QString & fileName, int pageNumber, bool M
void Scribus134Format::GetStyle(QDomElement *pg, ParagraphStyle *vg, StyleSet<ParagraphStyle> * tempStyles, ScribusDoc* doc, bool fl)
{
- bool fou(false);
- QString tmV;
+ bool found(false);
const StyleSet<ParagraphStyle> * docParagraphStyles = tempStyles? tempStyles : & doc->paragraphStyles();
- //PrefsManager* prefsManager=PrefsManager::instance();
readParagraphStyle(*vg, *pg, doc);
- for (int xx=0; xx<docParagraphStyles->count(); ++xx)
+ for (int xx=0; xx < docParagraphStyles->count(); ++xx)
{
if (vg->name() == (*docParagraphStyles)[xx].name())
{
@@ -3461,37 +3461,35 @@ void Scribus134Format::GetStyle(QDomElement *pg, ParagraphStyle *vg, StyleSet<Pa
{
if (fl)
{
- DoVorl[VorlC] = tmV.setNum(xx);
- VorlC++;
+ legacyStyleMap[legacyStyleCount] = vg->name();
+ legacyStyleCount++;
}
- fou = true;
+ found = true;
}
else
{
vg->setName("Copy of "+(*docParagraphStyles)[xx].name());
- fou = false;
+ found = false;
}
break;
}
}
- if (!fou)
+ if (!found && fl)
{
for (int xx=0; xx< docParagraphStyles->count(); ++xx)
{
- if (vg->equiv((*docParagraphStyles)[xx]) && fl)
+ if (vg->equiv((*docParagraphStyles)[xx]))
{
+ parStyleMap[vg->name()] = (*docParagraphStyles)[xx].name();
vg->setName((*docParagraphStyles)[xx].name());
- fou = true;
-// if (fl)
- {
- DoVorl[VorlC] = tmV.setNum(xx);
- VorlC++;
- }
+ legacyStyleMap[legacyStyleCount] = vg->name();
+ legacyStyleCount++;
+ found = true;
break;
}
}
}
- if (!fou)
+ if (!found)
{
if (tempStyles)
tempStyles->create(*vg);
@@ -3503,8 +3501,8 @@ void Scribus134Format::GetStyle(QDomElement *pg, ParagraphStyle *vg, StyleSet<Pa
}
if (fl)
{
- DoVorl[VorlC] = tmV.setNum(docParagraphStyles->count()-1);
- VorlC++;
+ legacyStyleMap[legacyStyleCount] = vg->name();
+ legacyStyleCount++;
}
}
}
diff --git a/scribus/plugins/fileloader/scribus134format/scribus134format.h b/scribus/plugins/fileloader/scribus134format/scribus134format.h
index 37fbc38..1895e77 100644
--- a/scribus/plugins/fileloader/scribus134format/scribus134format.h
+++ b/scribus/plugins/fileloader/scribus134format/scribus134format.h
@@ -93,6 +93,10 @@ class PLUGIN_API Scribus134Format : public LoadSavePlugin
void WriteObjects(ScribusDoc *doc, ScXmlStreamWriter& docu, const QString& baseDir, QProgressBar *dia2, uint maxC, ItemSelection master, QList<PageItem*> *items = 0);
void SetItemProps(ScXmlStreamWriter& docu, PageItem* item, const QString& baseDir, bool newFormat);
+ QMap<QString, QString> parStyleMap;
+ QMap<uint, QString> legacyStyleMap;
+ uint legacyStyleCount;
+
QMap<int, int> groupRemap;
QMap<int, int> itemRemap;
QMap<int, int> itemNext;
@@ -103,8 +107,6 @@ class PLUGIN_API Scribus134Format : public LoadSavePlugin
int itemCount;
int itemCountM;
int itemCountF;
- QMap<uint,QString> DoVorl;
- uint VorlC;
};
extern "C" PLUGIN_API int scribus134format_getPluginAPIVersion();