summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjghali <jghali@11d20701-8431-0410-a711-e3c959e3b870>2012-02-25 22:16:13 +0000
committerjghali <jghali@11d20701-8431-0410-a711-e3c959e3b870>2012-02-25 22:16:13 +0000
commitcfdb32687678aa4bb52c547f9d3eeed668f1cd41 (patch)
treee77d365fed365e6453993834e603eedd935999e5
parenta1b009e0ebaf0b14889f81c40714428104d5a78f (diff)
downloadscribus-cfdb32687678aa4bb52c547f9d3eeed668f1cd41.tar.gz
scribus-cfdb32687678aa4bb52c547f9d3eeed668f1cd41.tar.xz
scribus-cfdb32687678aa4bb52c547f9d3eeed668f1cd41.zip
#10598 : Automatic guides which refer to margins are not loaded correctly
git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17337 11d20701-8431-0410-a711-e3c959e3b870
-rw-r--r--scribus/guidemanager.cpp2
-rw-r--r--scribus/plugins/fileloader/scribus134format/scribus134format.cpp2
-rw-r--r--scribus/scribus.cpp1
-rw-r--r--scribus/scribusdoc.cpp10
-rw-r--r--scribus/scribusdoc.h4
5 files changed, 17 insertions, 2 deletions
diff --git a/scribus/guidemanager.cpp b/scribus/guidemanager.cpp
index 6f69460..92d5e67 100644
--- a/scribus/guidemanager.cpp
+++ b/scribus/guidemanager.cpp
@@ -565,7 +565,7 @@ void GuideManager::windowActivationChange(bool oldActive)
Guides GuideManager::getAutoVerticals()
{
-GuideManagerCore guides;
+ GuideManagerCore guides;
double gapValue = 0.0;
if (horizontalAutoGapCheck->isChecked())
diff --git a/scribus/plugins/fileloader/scribus134format/scribus134format.cpp b/scribus/plugins/fileloader/scribus134format/scribus134format.cpp
index 21ded1f..ce76c8a 100644
--- a/scribus/plugins/fileloader/scribus134format/scribus134format.cpp
+++ b/scribus/plugins/fileloader/scribus134format/scribus134format.cpp
@@ -1542,6 +1542,7 @@ bool Scribus134Format::loadFile(const QString & fileName, const FileFormat & /*
m_Doc->setActiveLayer(layerToSetActive);
m_Doc->setMasterPageMode(false);
m_Doc->reformPages();
+ m_Doc->refreshGuides();
// Some old long doc may have page owner somewhat broken
m_Doc->fixItemPageOwner();
@@ -2976,7 +2977,6 @@ bool Scribus134Format::loadPage(const QString & fileName, int pageNumber, bool M
Apage->guides.addHorizontals(Apage->guides.getAutoHorizontals(Apage), GuideManagerCore::Auto);
Apage->guides.addVerticals(Apage->guides.getAutoVerticals(Apage), GuideManagerCore::Auto);
-
}
if ((pg.tagName()=="PAGEOBJECT") || (pg.tagName()=="MASTEROBJECT") || (pg.tagName()=="FRAMEOBJECT"))
{
diff --git a/scribus/scribus.cpp b/scribus/scribus.cpp
index 9875e07..baa46aa 100644
--- a/scribus/scribus.cpp
+++ b/scribus/scribus.cpp
@@ -4183,6 +4183,7 @@ bool ScribusMainWindow::loadDoc(QString fileName)
doc->RePos = true;
doc->setMasterPageMode(true);
doc->reformPages();
+ doc->refreshGuides();
doc->setLoading(false);
for (int azz=0; azz<doc->MasterItems.count(); ++azz)
{
diff --git a/scribus/scribusdoc.cpp b/scribus/scribusdoc.cpp
index 3d25431..71878ab 100644
--- a/scribus/scribusdoc.cpp
+++ b/scribus/scribusdoc.cpp
@@ -4626,6 +4626,16 @@ void ScribusDoc::reformPages(bool moveObjects)
}
}
+void ScribusDoc::refreshGuides()
+{
+ for (int i = 0; i < Pages->count(); ++i)
+ {
+ Page* page = Pages->at(i);
+ page->guides.addHorizontals(page->guides.getAutoHorizontals(page), GuideManagerCore::Auto);
+ page->guides.addVerticals(page->guides.getAutoVerticals(page), GuideManagerCore::Auto);
+ }
+}
+
double ScribusDoc::getXOffsetForPage(const int pageNumber)
{
if (Pages->at(pageNumber)!=NULL)
diff --git a/scribus/scribusdoc.h b/scribus/scribusdoc.h
index 48ec7b9..681f12a 100644
--- a/scribus/scribusdoc.h
+++ b/scribus/scribusdoc.h
@@ -697,7 +697,11 @@ public:
int OnPage(double x2, double y2);
int OnPage(PageItem *currItem);
void GroupOnPage(PageItem *currItem);
+
void reformPages(bool moveObjects = true);
+ /** @brief Refresh automatic guides once Margin struct has been properly configure by reformPages() */
+ void refreshGuides();
+ /** @brief Check and fix if needed PageItem OwnPage member */
void fixItemPageOwner();
/**