r16339 by jghali - merge trunk revisions up to r16338

scribus-commit scribus-commit at lists.scribus.net
Sat Feb 5 23:17:23 CET 2011


Author: jghali
Date: Sat Feb  5 22:17:22 2011
New Revision: 16339

URL: http://scribus.info/websvn/listing.php?repname=Scribus&sc=1&rev=16339
Log:
merge trunk revisions up to r16338

Added:
    branches/ScribusOIF/scribus/plugins/tools/flattenpath/
      - copied from r16338, trunk/Scribus/scribus/plugins/tools/flattenpath/
    branches/ScribusOIF/scribus/plugins/tools/smoothpath/
      - copied from r16338, trunk/Scribus/scribus/plugins/tools/smoothpath/
    branches/ScribusOIF/win32/vc9/flattenpath/
      - copied from r16338, trunk/Scribus/win32/vc9/flattenpath/
    branches/ScribusOIF/win32/vc9/smoothpath/
      - copied from r16338, trunk/Scribus/win32/vc9/smoothpath/
Modified:
    branches/ScribusOIF/scribus/KarbonCurveFit.cpp
    branches/ScribusOIF/scribus/KarbonCurveFit.h
    branches/ScribusOIF/scribus/actionmanager.cpp
    branches/ScribusOIF/scribus/canvasgesture_resize.cpp
    branches/ScribusOIF/scribus/canvasmode_nodeedit.cpp
    branches/ScribusOIF/scribus/colorsetmanager.cpp
    branches/ScribusOIF/scribus/documentchecker.cpp
    branches/ScribusOIF/scribus/documentchecker.h
    branches/ScribusOIF/scribus/pdflib_core.cpp
    branches/ScribusOIF/scribus/plugins/import/shape/importshape.cpp
    branches/ScribusOIF/scribus/plugins/scriptplugin/scripts/Autoquote.py
    branches/ScribusOIF/scribus/plugins/tools/CMakeLists.txt
    branches/ScribusOIF/scribus/plugins/tools/pathstroker/pathstroker.cpp
    branches/ScribusOIF/scribus/scribus.cpp
    branches/ScribusOIF/scribus/scribusdoc.cpp
    branches/ScribusOIF/scribus/scribusstructs.h
    branches/ScribusOIF/scribus/ui/checkDocument.cpp
    branches/ScribusOIF/scribus/ui/checkDocument.h
    branches/ScribusOIF/scribus/ui/outlinepalette.cpp
    branches/ScribusOIF/win32/vc9/Scribus.sln
    branches/ScribusOIF/win32/vc9/xfigimport/xfigimport.vcproj

Modified: branches/ScribusOIF/scribus/KarbonCurveFit.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/KarbonCurveFit.cpp
==============================================================================
--- branches/ScribusOIF/scribus/KarbonCurveFit.cpp (original)
+++ branches/ScribusOIF/scribus/KarbonCurveFit.cpp Sat Feb  5 22:17:22 2011
@@ -21,7 +21,9 @@
 */
 
 #include "KarbonCurveFit.h"
+#include <QVector>
 #include <math.h>
+const qreal Zero = 10e-12;
 
 /*
 	An Algorithm for Automatically Fitting Digitized Curves
@@ -32,7 +34,7 @@
 	http://www.acm.org/pubs/tog/GraphicsGems/gems/README
 */
 
-#define MAXPOINTS	1000		/* The most points you can have */
+//#define MAXPOINTS	1000		/* The most points you can have */
 
 class FitVector {
 	public:
@@ -53,7 +55,7 @@
 
 	void normalize(){
 		double len=length();
-		if(len==0.0f)
+		if (qFuzzyCompare(len, 0.0)) 
 			return;
 		m_X/=len; m_Y/=len;
 	}
@@ -65,7 +67,7 @@
 
 	void scale(double s){
 		double len = length();
-		if(len==0.0f)
+		if (qFuzzyCompare(len, 0.0)) 
 			return;
 		m_X *= s/len;
 		m_Y *= s/len;
@@ -128,9 +130,11 @@
 		u[i-first] = u[i-first-1] +
 	  			distance(points.at(i), points.at(i-1));
     }
-
+    double denominator = u[last-first];
+    if (qFuzzyCompare(denominator, 0.0))
+      denominator = Zero;
     for (i = first + 1; i <= last; i++) {
-		u[i-first] = u[i-first] / u[last-first];
+		u[i-first] = u[i-first] / denominator;
     }
 
     return(u);
@@ -208,7 +212,7 @@
 QPointF* GenerateBezier(const QList<QPointF> &points, int first, int last, double *uPrime,FitVector tHat1,FitVector tHat2)
 {
     int 	i;
-    FitVector	A[MAXPOINTS][2];	/* Precomputed rhs for eqn	*/
+//    FitVector	A[MAXPOINTS][2];	/* Precomputed rhs for eqn	*/
     int 	nPts;			/* Number of pts in sub-curve */
     double 	C[2][2];			/* Matrix C		*/
     double 	X[2];			/* Matrix X			*/
@@ -223,7 +227,7 @@
     curve = new QPointF[4];
     nPts = last - first + 1;
 
- 
+    QVector< QVector<FitVector> > A(nPts, QVector<FitVector>(2));
     /* Compute the A's	*/
     for (i = 0; i < nPts; i++) {
 		FitVector v1, v2;
@@ -274,9 +278,11 @@
     det_X_C1  = X[0]    * C[1][1] - X[1]    * C[0][1];
 
     /* Finally, derive alpha values	*/
-    if (det_C0_C1 == 0.0) {
+     if (qFuzzyCompare(det_C0_C1, 0.0)) {
 		det_C0_C1 = (C[0][0] * C[1][1]) * 10e-12;
     }
+    if (qFuzzyCompare(det_C0_C1, 0.0))
+      det_C0_C1 = Zero;
     alpha_l = det_X_C1 / det_C0_C1;
     alpha_r = det_C0_X / det_C0_C1;
 
@@ -408,7 +414,8 @@
     numerator = (Q_u.x() - P.x()) * (Q1_u.x()) + (Q_u.y() - P.y()) * (Q1_u.y());
     denominator = (Q1_u.x()) * (Q1_u.x()) + (Q1_u.y()) * (Q1_u.y()) +
 		      	  (Q_u.x() - P.x()) * (Q2_u.x()) + (Q_u.y() - P.y()) * (Q2_u.y());
-    
+    if (qFuzzyCompare(denominator, 0.0)) 
+      denominator = Zero;
     /* u = u - f(u)/f'(u) */
     uPrime = u - (numerator/denominator);
     return (uPrime);
@@ -530,7 +537,8 @@
 }
 
 
-QPainterPath bezierFit(const QList<QPointF> &points,float error){
+QPainterPath bezierFit(const QList<QPointF> &points,float error)
+{
 	FitVector tHat1, tHat2;
 
 	tHat1 = ComputeLeftTangent(points,0);
@@ -554,3 +562,8 @@
 	return path;
 }
 
+QPainterPath bezierFit( const QPolygonF &points, float error )
+{
+	QList<QPointF> clip = QList<QPointF>::fromVector(points);
+	return bezierFit(clip, error);
+}

Modified: branches/ScribusOIF/scribus/KarbonCurveFit.h
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/KarbonCurveFit.h
==============================================================================
--- branches/ScribusOIF/scribus/KarbonCurveFit.h (original)
+++ branches/ScribusOIF/scribus/KarbonCurveFit.h Sat Feb  5 22:17:22 2011
@@ -26,6 +26,9 @@
 #include <QList>
 #include <QPointF>
 #include <QPainterPath>
+#include <QPolygonF>
+
+#include "scribusapi.h"
 
 /*
  * Fits bezier curve to given list of points.
@@ -42,7 +45,8 @@
  * @return a path shape representing the fitted curve
  */
 
-QPainterPath bezierFit( const QList<QPointF> &points, float error );
+QPainterPath SCRIBUS_API bezierFit( const QList<QPointF> &points, float error );
+QPainterPath SCRIBUS_API bezierFit( const QPolygonF &points, float error );
 
 #endif
 

Modified: branches/ScribusOIF/scribus/actionmanager.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/actionmanager.cpp
==============================================================================
--- branches/ScribusOIF/scribus/actionmanager.cpp (original)
+++ branches/ScribusOIF/scribus/actionmanager.cpp Sat Feb  5 22:17:22 2011
@@ -1623,6 +1623,7 @@
 
 	//Item Menu
 	defKeys.insert("itemDuplicate", Qt::CTRL+Qt::Key_D);
+	defKeys.insert("itemMulDuplicate", Qt::CTRL+Qt::SHIFT+Qt::Key_D);
 	defKeys.insert("itemDelete", Qt::CTRL+Qt::Key_K);
 	defKeys.insert("itemGroup", Qt::CTRL+Qt::Key_G);
 	defKeys.insert("itemUngroup", Qt::CTRL+Qt::SHIFT+Qt::Key_G);

Modified: branches/ScribusOIF/scribus/canvasgesture_resize.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/canvasgesture_resize.cpp
==============================================================================
--- branches/ScribusOIF/scribus/canvasgesture_resize.cpp (original)
+++ branches/ScribusOIF/scribus/canvasgesture_resize.cpp Sat Feb  5 22:17:22 2011
@@ -111,7 +111,7 @@
 void ResizeGesture::drawControls(QPainter* p) 
 {
 	QColor drawColor = qApp->palette().color(QPalette::Active, QPalette::Highlight);
-	QRect localRect = m_canvas->canvasToLocal(m_bounds);
+	QRect localRect = m_canvas->canvasToLocal(m_bounds.normalized());
 	p->save();
 	//	p->setPen(QPen(Qt::black, 1, Qt::DashLine, Qt::FlatCap, Qt::MiterJoin));
 	//	p->drawRect(localRect);
@@ -132,12 +132,14 @@
 
 	if (m_origBounds != m_bounds)
 	{
+		QRectF n_bounds = m_bounds.normalized();
+		QRectF n_origBounds = m_origBounds.normalized();
 		p->save();
 //		p->translate(m_bounds.topLeft() - m_origBounds.topLeft());
-		drawOutline(p, qAbs(m_bounds.width()) / qMax(qAbs(m_origBounds.width()), static_cast<qreal>(1.0)), 
-					qAbs(m_bounds.height()) / qMax(qAbs(m_origBounds.height()), static_cast<qreal>(1.0)),
-					m_bounds.left() - m_origBounds.left(),
-					m_bounds.top() - m_origBounds.top());
+		drawOutline(p, qAbs(n_bounds.width()) / qMax(qAbs(n_origBounds.width()), static_cast<qreal>(1.0)), 
+					qAbs(n_bounds.height()) / qMax(qAbs(n_origBounds.height()), static_cast<qreal>(1.0)),
+					n_bounds.left() - n_origBounds.left(),
+					n_bounds.top() - n_origBounds.top());
 		p->restore();
 	}
 }

Modified: branches/ScribusOIF/scribus/canvasmode_nodeedit.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/canvasmode_nodeedit.cpp
==============================================================================
--- branches/ScribusOIF/scribus/canvasmode_nodeedit.cpp (original)
+++ branches/ScribusOIF/scribus/canvasmode_nodeedit.cpp Sat Feb  5 22:17:22 2011
@@ -1081,8 +1081,19 @@
 	if (edited)
 	{
 		currItem->FrameType = 3;
+		double xp, yp, w, h, xp2, yp2, w2, h2;
+		xp = currItem->xPos();
+		yp = currItem->yPos();
+		w = currItem->width();
+		h = currItem->height();
 		m_doc->AdjustItemSize(currItem);
+		xp2 = currItem->xPos();
+		yp2 = currItem->yPos();
+		w2 = currItem->width();
+		h2 = currItem->height();
 		currItem->update();
+		if ((xp != xp2) || (yp != yp2) || (w != w2) || (h != h2))
+			m_view->DrawNew();
 	}
 	if ((m_doc->nodeEdit.SelNode.count() != 0) || ((m_doc->nodeEdit.SegP1 != -1) && (m_doc->nodeEdit.SegP2 != -1)) || (m_doc->nodeEdit.hasNodeSelected() && (!m_doc->nodeEdit.EdPoints)))
 	{

Modified: branches/ScribusOIF/scribus/colorsetmanager.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/colorsetmanager.cpp
==============================================================================
--- branches/ScribusOIF/scribus/colorsetmanager.cpp (original)
+++ branches/ScribusOIF/scribus/colorsetmanager.cpp Sat Feb  5 22:17:22 2011
@@ -112,7 +112,7 @@
 			}
 			fiC.close();
 		}
-		appPrefs.colorPrefs.DColorSet = "Scribus Basic";
+		appPrefs.colorPrefs.DColorSet = ScPaths::instance().shareDir() + "swatches/" + "Scribus Basic";
 	}
 }
 

Modified: branches/ScribusOIF/scribus/documentchecker.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/documentchecker.cpp
==============================================================================
--- branches/ScribusOIF/scribus/documentchecker.cpp (original)
+++ branches/ScribusOIF/scribus/documentchecker.cpp Sat Feb  5 22:17:22 2011
@@ -183,6 +183,14 @@
 						itemError.insert(PlacedPDF, 0);
 					if ((ext == "gif") && (checkerSettings.checkForGIF))
 						itemError.insert(ImageIsGIF, 0);
+
+					//qDebug() << "MASTER: ImageUnderfullsFrame" << currItem->height() << currItem->imageYScale()*currItem->pixm.height() << currItem->width() << currItem->imageXScale()*currItem->pixm.width();
+					// check image vs. frame sizes
+					if (currItem->height() > currItem->imageYScale() * currItem->pixm.height()
+					    || currItem->width() > currItem->imageXScale() * currItem->pixm.width())
+					{
+						itemError.insert(PartFilledImageFrame, 0);
+					}
 	
 					if (extensionIndicatesPDF(ext))
 					{
@@ -447,6 +455,15 @@
 						itemError.insert(PlacedPDF, 0);
 					if ((ext == "gif") && (checkerSettings.checkForGIF))
 						itemError.insert(ImageIsGIF, 0);
+
+					//qDebug() << "REGULAR: ImageUnderfullsFrame" << currItem->height() << currItem->imageYScale()*currItem->pixm.height() << currItem->width() << currItem->imageXScale()*currItem->pixm.width();
+					// check image vs. frame sizes
+					if (currItem->height() > currItem->imageYScale() * currItem->pixm.height()
+					    || currItem->width() > currItem->imageXScale() * currItem->pixm.width())
+					{
+						itemError.insert(PartFilledImageFrame, 0);
+					}
+
 					if (extensionIndicatesPDF(ext))
 					{
 						PDFAnalyzer analyst(currItem->Pfile);

Modified: branches/ScribusOIF/scribus/documentchecker.h
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/documentchecker.h
==============================================================================
--- branches/ScribusOIF/scribus/documentchecker.h (original)
+++ branches/ScribusOIF/scribus/documentchecker.h Sat Feb  5 22:17:22 2011
@@ -25,6 +25,8 @@
 #define DOCUMENTCHECKER_H
 
 #include "scribusapi.h"
+#include "scribusstructs.h"
+
 class ScribusDoc;
 
 /*! \brief It create a error/warning list for CheckDocument GUI class.
@@ -34,6 +36,7 @@
 class SCRIBUS_API DocumentChecker
 {
 	public:
+
 		//! Check the passed document for errors, return true on error found
 		static bool checkDocument(ScribusDoc *currDoc);
 };

Modified: branches/ScribusOIF/scribus/pdflib_core.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/pdflib_core.cpp
==============================================================================
--- branches/ScribusOIF/scribus/pdflib_core.cpp (original)
+++ branches/ScribusOIF/scribus/pdflib_core.cpp Sat Feb  5 22:17:22 2011
@@ -1080,10 +1080,11 @@
 	a = 0;
 	for (it = ReallyUsed.begin(); it != ReallyUsed.end(); ++it)
 	{
-		ScFace::FontFormat fformat = AllFonts[it.key()].format();
-		if ((!AllFonts[it.key()].hasNames()) /*|| (Options.SubsetList.contains(it.key()))*/)
-		{
-			if (AllFonts[it.key()].hasNames())
+		ScFace& face(AllFonts[it.key()]);
+		ScFace::FontFormat fformat = face.format();
+		if ((!face.hasNames()) /*|| (Options.SubsetList.contains(it.key()))*/)
+		{
+			if (face.hasNames())
 			{
 				UsedFontsP.insert(it.key(), "/Fo"+QString::number(a));
 				uint SubFonts = 0;
@@ -1098,7 +1099,7 @@
 				QString fon("");
 				QMap<uint, uint> glyphMapping;
 				QMap<uint,std::pair<QChar,QString> > gl;
-				AllFonts[it.key()].glyphNames(gl);
+				face.glyphNames(gl);
 				QMap<uint,FPointArray>& RealGlyphs(it.value());
 				QMap<uint,FPointArray>::Iterator ig;
 				for (ig = RealGlyphs.begin(); ig != RealGlyphs.end(); ++ig)
@@ -5346,7 +5347,7 @@
 				uint idx = hl->glyph.glyph;
 				uint idx1;
 				if (Options.SubsetList.contains(style.font().replacementName()))
-					idx1 = Type3Fonts[UsedFontsP[style.font().replacementName()]][idx] / 255;
+					idx1 = Type3Fonts[UsedFontsP[style.font().replacementName()]][idx] / 256;
 				else
 					idx1 = idx / 224;
 				ScFace currentFace = style.font();

Modified: branches/ScribusOIF/scribus/plugins/import/shape/importshape.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/plugins/import/shape/importshape.cpp
==============================================================================
--- branches/ScribusOIF/scribus/plugins/import/shape/importshape.cpp (original)
+++ branches/ScribusOIF/scribus/plugins/import/shape/importshape.cpp Sat Feb  5 22:17:22 2011
@@ -447,16 +447,21 @@
 			{
 				if (!((params == "foreground") || (params == "background") || (params == "fg") || (params == "bg") || (params == "none") || (params == "default") || (params == "inverse")))
 				{
-					fill.setNamedColor( params );
-					FillCol = "FromDia"+fill.name();
-					ScColor tmp;
-					tmp.fromQColor(fill);
-					tmp.setSpotColor(false);
-					tmp.setRegistrationColor(false);
-					QString fNam = m_Doc->PageColors.tryAddColor(FillCol, tmp);
-					if (fNam == FillCol)
-						importedColors.append(FillCol);
-					FillCol = fNam;
+					if (params == "nofill")
+						FillCol = CommonStrings::None;
+					else
+					{
+						fill.setNamedColor( params );
+						FillCol = "FromDia"+fill.name();
+						ScColor tmp;
+						tmp.fromQColor(fill);
+						tmp.setSpotColor(false);
+						tmp.setRegistrationColor(false);
+						QString fNam = m_Doc->PageColors.tryAddColor(FillCol, tmp);
+						if (fNam == FillCol)
+							importedColors.append(FillCol);
+						FillCol = fNam;
+					}
 				}
 			}
 			else if (command == "stroke")

Modified: branches/ScribusOIF/scribus/plugins/scriptplugin/scripts/Autoquote.py
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/plugins/scriptplugin/scripts/Autoquote.py
==============================================================================
--- branches/ScribusOIF/scribus/plugins/scriptplugin/scripts/Autoquote.py (original)
+++ branches/ScribusOIF/scribus/plugins/scriptplugin/scripts/Autoquote.py Sat Feb  5 22:17:22 2011
@@ -80,7 +80,7 @@
 	follow_double = u"\u201d"
 	lead_single = u"\u00bb"
 	follow_single = u"\u00ab"
- else:
+    else:
         scribus.messageBox('Language Error', 'You need to choose an available language', icon=0, button1=1)
         sys.exit(2)
         
@@ -164,4 +164,4 @@
 scribus.setRedraw(1)
 scribus.docChanged(1)
 endmessage = 'Successfully ran script\n Last character read was '+str(char) # Change this message to your liking
-scribus.messageBox("Finished", endmessage,icon=0,button1=1)
+scribus.messageBox("Finished", endmessage,icon=0,button1=1)

Modified: branches/ScribusOIF/scribus/plugins/tools/CMakeLists.txt
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/plugins/tools/CMakeLists.txt
==============================================================================
--- branches/ScribusOIF/scribus/plugins/tools/CMakeLists.txt (original)
+++ branches/ScribusOIF/scribus/plugins/tools/CMakeLists.txt Sat Feb  5 22:17:22 2011
@@ -8,6 +8,8 @@
 ADD_SUBDIRECTORY(pathfinder)
 ADD_SUBDIRECTORY(pathstroker)
 ADD_SUBDIRECTORY(subdivide)
+ADD_SUBDIRECTORY(flattenpath)
+ADD_SUBDIRECTORY(smoothpath)
 if (HAVE_ASPELL)
   ADD_SUBDIRECTORY(spellcheck)
 endif (HAVE_ASPELL)

Modified: branches/ScribusOIF/scribus/plugins/tools/pathstroker/pathstroker.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/plugins/tools/pathstroker/pathstroker.cpp
==============================================================================
--- branches/ScribusOIF/scribus/plugins/tools/pathstroker/pathstroker.cpp (original)
+++ branches/ScribusOIF/scribus/plugins/tools/pathstroker/pathstroker.cpp Sat Feb  5 22:17:22 2011
@@ -145,7 +145,7 @@
 				stroke.setDashPattern(m_array);
 			}
 			stroke.setWidth(currItem->lineWidth());
-			QPainterPath result = stroke.createStroke(pp).simplified();
+			QPainterPath result = stroke.createStroke(pp);
 			if (currItem->startArrowIndex() != 0)
 			{
 				FPoint Start = currItem->PoLine.point(0);
@@ -207,7 +207,7 @@
 			newItem->OldH2 = newItem->height();
 			newItem->updateClip();
 			newItem->ContourLine = newItem->PoLine.copy();
-			newItem->setFillEvenOdd(true);
+			newItem->setFillEvenOdd(false);
 			currDoc->m_Selection->addItem(newItem);
 		}
 		else
@@ -262,7 +262,7 @@
 					newItem->OldH2 = newItem->height();
 					newItem->updateClip();
 					newItem->ContourLine = newItem->PoLine.copy();
-					newItem->setFillEvenOdd(true);
+					newItem->setFillEvenOdd(false);
 					currDoc->m_Selection->addItem(newItem);
 				}
 			}

Modified: branches/ScribusOIF/scribus/scribus.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/scribus.cpp
==============================================================================
--- branches/ScribusOIF/scribus/scribus.cpp (original)
+++ branches/ScribusOIF/scribus/scribus.cpp Sat Feb  5 22:17:22 2011
@@ -1942,6 +1942,7 @@
 		else
 			doc->PageColors = prefsManager->appPrefs.colorPrefs.DColors;
 	}
+	tempDoc->PageColors.ensureDefaultColors();
 	tempDoc->setup(unitIndex, pageArrangement, firstPageLocation, orientation, firstPageNumber, defaultPageSize, newDocName);
 	if (requiresGUI)
 	{

Modified: branches/ScribusOIF/scribus/scribusdoc.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/scribusdoc.cpp
==============================================================================
--- branches/ScribusOIF/scribus/scribusdoc.cpp (original)
+++ branches/ScribusOIF/scribus/scribusdoc.cpp Sat Feb  5 22:17:22 2011
@@ -5346,7 +5346,9 @@
 	//If a section is inactive, theres no page numbers printed
 	if (docPrefsData.docSectionMap[key].active==false)
 		return retVal;
-	retVal=docPrefsData.docSectionMap[key].pageNumberFillChar;
+	retVal = docPrefsData.docSectionMap[key].pageNumberFillChar;
+	if (retVal == QChar(0))
+		retVal = QChar(32);
 	return retVal;
 }
 
@@ -5360,7 +5362,7 @@
 	//If a section is inactive, theres no page numbers printed
 	if (docPrefsData.docSectionMap[key].active==false)
 		return retVal;
-	retVal=docPrefsData.docSectionMap[key].pageNumberWidth;
+	retVal = qMin(docPrefsData.docSectionMap[key].pageNumberWidth, 20);			// added the qmin as a sanity check -> fixes bug #9721
 	return retVal;
 }
 
@@ -12331,6 +12333,7 @@
 	uint StartInd = 0;
 	m_Selection->delaySignalsOn();
 	PageItem *currItem = m_Selection->itemAt(0);
+	int currItemNr = currItem->ItemNr;
 	uint EndInd = currItem->PoLine.size();
 	for (uint a = EndInd-1; a > 0; --a)
 	{
@@ -12338,8 +12341,9 @@
 		{
 			StartInd = a + 1;
 			bb = new PageItem_Polygon(*currItem);
-			Items->append(bb);
-			bb->ItemNr = Items->count()-1;
+			currItemNr++;
+			Items->insert(currItemNr, bb);
+			bb->ItemNr = currItemNr;
 			bb->convertTo(PageItem::Polygon);
 			bb->Frame = false;
 			bb->FrameType = 3;
@@ -12349,6 +12353,7 @@
 			AdjustItemSize(bb);
 			bb->ContourLine = bb->PoLine.copy();
 			bb->ClipEdited = true;
+			m_Selection->addItem(bb, false);
 			a -= 3;
 			EndInd = StartInd - 4;
 		}
@@ -12358,6 +12363,7 @@
 	currItem->ContourLine = currItem->PoLine.copy();
 	currItem->ClipEdited = true;
 	m_Selection->delaySignalsOff();
+	renumberItemsInListOrder();
 	//FIXME: stop using m_View
 	m_View->Deselect(true);
 	regionsChanged()->update(QRectF());

Modified: branches/ScribusOIF/scribus/scribusstructs.h
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/scribusstructs.h
==============================================================================
--- branches/ScribusOIF/scribus/scribusstructs.h (original)
+++ branches/ScribusOIF/scribus/scribusstructs.h Sat Feb  5 22:17:22 2011
@@ -271,7 +271,8 @@
 	DeviceColorAndOutputIntend=14,
 	FontNotEmbedded=15,
 	EmbeddedFontIsOpenType=16,
-	OffConflictLayers=17
+	OffConflictLayers=17,
+	PartFilledImageFrame= 18
 } PreflightError;
 
 typedef QMap<PreflightError, int> errorCodes;

Modified: branches/ScribusOIF/scribus/ui/checkDocument.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/ui/checkDocument.cpp
==============================================================================
--- branches/ScribusOIF/scribus/ui/checkDocument.cpp (original)
+++ branches/ScribusOIF/scribus/ui/checkDocument.cpp Sat Feb  5 22:17:22 2011
@@ -206,6 +206,10 @@
 			item->setIcon(COLUMN_ITEM, onlyWarning );
 			break;
 		}
+		case PartFilledImageFrame:
+			item->setText(COLUMN_PROBLEM, partFilledImageFrame);
+			item->setIcon(COLUMN_ITEM, onlyWarning);
+			break;
 		case Transparency:
 			item->setText(COLUMN_PROBLEM, transpar);
 			item->setIcon(COLUMN_ITEM, graveError );
@@ -616,6 +620,7 @@
 	rasterPDF = tr("Object is a placed PDF");
 	isGIF = tr("Image is GIF");
 	WrongFont = tr("Annotation uses a non TrueType font");
+	partFilledImageFrame = tr("Image dimension is smaller than its frame");
 	//isGIFtoolTip = "<qt>" + tr("GIF images are not reccomended for print. See the online docs for more info") + "</qt>";
 }
 

Modified: branches/ScribusOIF/scribus/ui/checkDocument.h
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/ui/checkDocument.h
==============================================================================
--- branches/ScribusOIF/scribus/ui/checkDocument.h (original)
+++ branches/ScribusOIF/scribus/ui/checkDocument.h Sat Feb  5 22:17:22 2011
@@ -131,6 +131,7 @@
 	QString isGIF;
 	QString isGIFtoolTip;
 	QString WrongFont;
+	QString partFilledImageFrame;
 
 	//! \brief Flag if is ignore button shown. true = hidden, false = shown.
 	bool noButton;

Modified: branches/ScribusOIF/scribus/ui/outlinepalette.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/scribus/ui/outlinepalette.cpp
==============================================================================
--- branches/ScribusOIF/scribus/ui/outlinepalette.cpp (original)
+++ branches/ScribusOIF/scribus/ui/outlinepalette.cpp Sat Feb  5 22:17:22 2011
@@ -628,6 +628,7 @@
 		case 1:
 			if (!currDoc->masterPageMode())
 				emit selectMasterPage(item->PageItemObject->OnMasterPage);
+			pgItem = item->PageItemObject;
 			if (item->PageItemObject->isGroup())
 				emit selectElementByItem(pgItem, false);
 			else

Modified: branches/ScribusOIF/win32/vc9/Scribus.sln
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/win32/vc9/Scribus.sln
==============================================================================
--- branches/ScribusOIF/win32/vc9/Scribus.sln (original)
+++ branches/ScribusOIF/win32/vc9/Scribus.sln Sat Feb  5 22:17:22 2011
@@ -165,14 +165,14 @@
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pathalongpath", "pathalongpath\pathalongpath.vcproj", "{CAF6D555-0E2E-4ABB-9585-00860B8B183E}"
 	ProjectSection(ProjectDependencies) = postProject
+		{B17FCD80-7978-4544-93C4-2FE1AC6FE9F3} = {B17FCD80-7978-4544-93C4-2FE1AC6FE9F3}
 		{6AC5EDDC-2540-47E0-873E-FE40FB06FBFD} = {6AC5EDDC-2540-47E0-873E-FE40FB06FBFD}
-		{B17FCD80-7978-4544-93C4-2FE1AC6FE9F3} = {B17FCD80-7978-4544-93C4-2FE1AC6FE9F3}
 	EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "meshdistortion", "meshdistortion\meshdistortion.vcproj", "{2B610023-D3A6-4EC3-B7D5-868ED3B9321E}"
 	ProjectSection(ProjectDependencies) = postProject
+		{B17FCD80-7978-4544-93C4-2FE1AC6FE9F3} = {B17FCD80-7978-4544-93C4-2FE1AC6FE9F3}
 		{6AC5EDDC-2540-47E0-873E-FE40FB06FBFD} = {6AC5EDDC-2540-47E0-873E-FE40FB06FBFD}
-		{B17FCD80-7978-4544-93C4-2FE1AC6FE9F3} = {B17FCD80-7978-4544-93C4-2FE1AC6FE9F3}
 	EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pathconnect", "pathconnect\pathconnect.vcproj", "{EDE59DB3-794A-4E3F-942A-98189DF6DCE2}"
@@ -252,6 +252,16 @@
 	EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapeimport", "shapeimport\shapeimport.vcproj", "{1A8E95AC-29CD-459E-9E5E-09FA64ECC4F6}"
+	ProjectSection(ProjectDependencies) = postProject
+		{B17FCD80-7978-4544-93C4-2FE1AC6FE9F3} = {B17FCD80-7978-4544-93C4-2FE1AC6FE9F3}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flattenpath", "flattenpath\flattenpath.vcproj", "{FC2F57D2-73F5-4ACD-B51B-3ED524F0C826}"
+	ProjectSection(ProjectDependencies) = postProject
+		{B17FCD80-7978-4544-93C4-2FE1AC6FE9F3} = {B17FCD80-7978-4544-93C4-2FE1AC6FE9F3}
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "smoothpath", "smoothpath\smoothpath.vcproj", "{F3471C52-C0FF-4690-B9BF-9A97A6F2BA2F}"
 	ProjectSection(ProjectDependencies) = postProject
 		{B17FCD80-7978-4544-93C4-2FE1AC6FE9F3} = {B17FCD80-7978-4544-93C4-2FE1AC6FE9F3}
 	EndProjectSection
@@ -478,6 +488,14 @@
 		{1A8E95AC-29CD-459E-9E5E-09FA64ECC4F6}.Debug-cairo|Win32.Build.0 = Debug-cairo|Win32
 		{1A8E95AC-29CD-459E-9E5E-09FA64ECC4F6}.Release-cairo|Win32.ActiveCfg = Release-cairo|Win32
 		{1A8E95AC-29CD-459E-9E5E-09FA64ECC4F6}.Release-cairo|Win32.Build.0 = Release-cairo|Win32
+		{FC2F57D2-73F5-4ACD-B51B-3ED524F0C826}.Debug-cairo|Win32.ActiveCfg = Debug-cairo|Win32
+		{FC2F57D2-73F5-4ACD-B51B-3ED524F0C826}.Debug-cairo|Win32.Build.0 = Debug-cairo|Win32
+		{FC2F57D2-73F5-4ACD-B51B-3ED524F0C826}.Release-cairo|Win32.ActiveCfg = Release-cairo|Win32
+		{FC2F57D2-73F5-4ACD-B51B-3ED524F0C826}.Release-cairo|Win32.Build.0 = Release-cairo|Win32
+		{F3471C52-C0FF-4690-B9BF-9A97A6F2BA2F}.Debug-cairo|Win32.ActiveCfg = Debug-cairo|Win32
+		{F3471C52-C0FF-4690-B9BF-9A97A6F2BA2F}.Debug-cairo|Win32.Build.0 = Debug-cairo|Win32
+		{F3471C52-C0FF-4690-B9BF-9A97A6F2BA2F}.Release-cairo|Win32.ActiveCfg = Release-cairo|Win32
+		{F3471C52-C0FF-4690-B9BF-9A97A6F2BA2F}.Release-cairo|Win32.Build.0 = Release-cairo|Win32
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

Modified: branches/ScribusOIF/win32/vc9/xfigimport/xfigimport.vcproj
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=16339&path=/branches/ScribusOIF/win32/vc9/xfigimport/xfigimport.vcproj
==============================================================================
--- branches/ScribusOIF/win32/vc9/xfigimport/xfigimport.vcproj (original)
+++ branches/ScribusOIF/win32/vc9/xfigimport/xfigimport.vcproj Sat Feb  5 22:17:22 2011
@@ -213,200 +213,6 @@
 				Name="VCPostBuildEventTool"
 			/>
 		</Configuration>
-		<Configuration
-			Name="Debug-arthur|Win32"
-			OutputDirectory="..\..\..\..\Scribus-builds\Scribus-vc9-$(ConfigurationName)\scribus\plugins"
-			IntermediateDirectory="..\..\..\..\Scribus-builds\Build-objs-vc9\$(ConfigurationName)\$(TargetName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops;..\Scribus-build.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="uic.exe"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="moc.exe"
-			/>
-			<Tool
-				Name="rcc.exe"
-			/>
-			<Tool
-				Name="lrelease.exe"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..;..\..\..\scribus;&quot;$(QT4_DIR)\include\QtCore&quot;;&quot;$(QT4_DIR)\include\QtGui&quot;;&quot;$(QT4_DIR)\include\QtXml&quot;;&quot;$(QT4_DIR)\include&quot;;&quot;$(QT4_DIR)\src\3rdparty\zlib&quot;;&quot;$(LCMS_DIR)\include&quot;;&quot;$(CAIRO_DIR)\include&quot;;&quot;$(FREETYPE_DIR)\include&quot;;&quot;$(LIBJPEG_DIR)\include&quot;;&quot;$(LIBTIFF_DIR)\include&quot;"
-				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;QT_LARGEFILE_SUPPORT;QT_EDITION=QT_EDITION_DESKTOP;QT_DLL;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT;COMPILE_PLUGIN_AS_DLL;DOCDIR=\&quot;doc/\&quot;;ICONDIR=\&quot;icons/\&quot;;SAMPLESDIR=\&quot;samples/\&quot;;SCRIPTSDIR=\&quot;scripts/\&quot;;TEMPLATEDIR=\&quot;templates/\&quot;;LIBDIR=\&quot;libs/\&quot;;PLUGINDIR=\&quot;plugins/\&quot;;AVOID_WIN32_FILEIO"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				RuntimeTypeInfo="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="4"
-				DisableSpecificWarnings="4190;4251;4267;4996"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="QtCored4.lib QtGuid4.lib  QtXmld4.lib freetypeD.lib libjpeg.a libtiff.lib lcms2_staticd.lib scribus-api.lib"
-				OutputFile="$(OutDir)\importxfig.dll"
-				LinkIncremental="2"
-				AdditionalLibraryDirectories="&quot;$(LCMS_DIR)\lib&quot;;&quot;$(FREETYPE_DIR)\lib&quot;;&quot;$(LIBJPEG_DIR)\lib&quot;;&quot;$(LIBTIFF_DIR)\lib&quot;;&quot;$(QT4_DIR)\lib&quot;;&quot;$(OutDir)\..&quot;"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\importxfig.pdb"
-				SubSystem="2"
-				RandomizedBaseAddress="1"
-				DataExecutionPrevention="0"
-				ImportLibrary="$(OutDir)\importxfig.lib"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release-arthur|Win32"
-			OutputDirectory="..\..\..\..\Scribus-builds\Scribus-vc9-$(ConfigurationName)\scribus\plugins"
-			IntermediateDirectory="..\..\..\..\Scribus-builds\Build-objs-vc9\$(ConfigurationName)\$(TargetName)"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC70.vsprops;..\Scribus-build.vsprops"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="uic.exe"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="moc.exe"
-			/>
-			<Tool
-				Name="rcc.exe"
-			/>
-			<Tool
-				Name="lrelease.exe"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="1"
-				InlineFunctionExpansion="1"
-				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..;..\..\..\scribus;&quot;$(QT4_DIR)\include\QtCore&quot;;&quot;$(QT4_DIR)\include\QtGui&quot;;&quot;$(QT4_DIR)\include\QtXml&quot;;&quot;$(QT4_DIR)\include&quot;;&quot;$(QT4_DIR)\src\3rdparty\zlib&quot;;&quot;$(LCMS_DIR)\include&quot;;&quot;$(CAIRO_DIR)\include&quot;;&quot;$(FREETYPE_DIR)\include&quot;;&quot;$(LIBJPEG_DIR)\include&quot;;&quot;$(LIBTIFF_DIR)\include&quot;"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;QT_LARGEFILE_SUPPORT;QT_EDITION=QT_EDITION_DESKTOP;QT_DLL;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT;COMPILE_PLUGIN_AS_DLL;AVOID_WIN32_FILEIO"
-				StringPooling="true"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				RuntimeTypeInfo="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="3"
-				DisableSpecificWarnings="4190;4251;4267;4996"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="QtCore4.lib QtGui4.lib  QtXml4.lib freetype.lib libjpeg.a libtiff.lib lcms2_static.lib scribus-api.lib"
-				OutputFile="$(OutDir)\importxfig.dll"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories="&quot;$(LCMS_DIR)\lib&quot;;&quot;$(FREETYPE_DIR)\lib&quot;;&quot;$(LIBJPEG_DIR)\lib&quot;;&quot;$(LIBTIFF_DIR)\lib&quot;;&quot;$(QT4_DIR)\lib&quot;;&quot;$(OutDir)\..&quot;"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile="$(OutDir)\importxfig.pdb"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				RandomizedBaseAddress="1"
-				DataExecutionPrevention="0"
-				ImportLibrary="$(OutDir)\importxfig.lib"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
 	</Configurations>
 	<References>
 	</References>
@@ -449,20 +255,6 @@
 						Name="moc.exe"
 					/>
 				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug-arthur|Win32"
-					>
-					<Tool
-						Name="moc.exe"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release-arthur|Win32"
-					>
-					<Tool
-						Name="moc.exe"
-					/>
-				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\..\..\scribus\plugins\import\xfig\importxfigplugin.h"
@@ -476,20 +268,6 @@
 				</FileConfiguration>
 				<FileConfiguration
 					Name="Release-cairo|Win32"
-					>
-					<Tool
-						Name="moc.exe"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Debug-arthur|Win32"
-					>
-					<Tool
-						Name="moc.exe"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release-arthur|Win32"
 					>
 					<Tool
 						Name="moc.exe"




More information about the scribus-commit mailing list