Index: scribus/collect4output.cpp
===================================================================
--- scribus/collect4output.cpp	(révision 17756)
+++ scribus/collect4output.cpp	(copie de travail)
@@ -74,10 +74,10 @@
                return false;
        if (!m_outputDirectory.endsWith("/"))
                m_outputDirectory += "/";
-	QDir dir(m_outputDirectory);
+    QDir dir(m_outputDirectory);
        if (!dir.exists())
        {
-		bool created = dir.mkpath(m_outputDirectory);
+        bool created = dir.mkpath(m_outputDirectory);
                if (!created)
                {
                        QMessageBox::warning(ScCore->primaryMainWindow(), CommonStrings::trWarning,
@@ -86,6 +86,42 @@
                        return false;
                }
        }
+    QDir dir2(m_outputDirectory+"images/");
+    if (!dir2.exists())
+    {
+        bool created = dir2.mkpath(m_outputDirectory+"images/");
+        if (!created)
+        {
+            QMessageBox::warning(ScCore->primaryMainWindow(), CommonStrings::trWarning,
+                                 "<qt>" + tr("Cannot create directory:\n%1").arg(m_outputDirectory+"images/") + "</qt>",
+                             CommonStrings::tr_OK);
+            return false;
+        }
+    }
+    QDir dir3(m_outputDirectory+"fonts/");
+    if (!dir3.exists())
+    {
+        bool created = dir3.mkpath(m_outputDirectory+"fonts/");
+        if (!created)
+        {
+            QMessageBox::warning(ScCore->primaryMainWindow(), CommonStrings::trWarning,
+                                 "<qt>" + tr("Cannot create directory:\n%1").arg(m_outputDirectory+"fonts/") + "</qt>",
+                             CommonStrings::tr_OK);
+            return false;
+        }
+    }
+    QDir dir4(m_outputDirectory+"profiles/");
+    if (!dir4.exists())
+    {
+        bool created = dir4.mkpath(m_outputDirectory+"profiles/");
+        if (!created)
+        {
+            QMessageBox::warning(ScCore->primaryMainWindow(), CommonStrings::trWarning,
+                                 "<qt>" + tr("Cannot create directory:\n%1").arg(m_outputDirectory+"profiles/") + "</qt>",
+                             CommonStrings::tr_OK);
+            return false;
+        }
+    }
        return true;
 }

@@ -337,8 +373,8 @@
        for (it3 = m_Doc->UsedFonts.begin(); it3 != it3end; ++it3)
        {
                QFileInfo itf(prefsManager->appPrefs.fontPrefs.AvailFonts[it3.key()].fontFilePath());
-		copyFileAtomic(prefsManager->appPrefs.fontPrefs.AvailFonts[it3.key()].fontFilePath(), m_outputDirectory + itf.fileName());
-		if (prefsManager->appPrefs.fontPrefs.AvailFonts[it3.key()].type() == ScFace::TYPE1)
+        copyFileAtomic(prefsManager->appPrefs.fontPrefs.AvailFonts[it3.key()].fontFilePath(), m_outputDirectory + "fonts/" + itf.fileName());
+        if (prefsManager->appPrefs.fontPrefs.AvailFonts[it3.key()].type() == ScFace::TYPE1)
                {
                        QStringList metrics;
                        QString fontDir  = itf.absolutePath();
@@ -360,7 +396,7 @@
                        {
                                QString origAFM = metrics[a];
                                QFileInfo fi(origAFM);
-				copyFileAtomic(origAFM, m_outputDirectory + fi.fileName());
+                copyFileAtomic(origAFM, m_outputDirectory + "fonts/" + fi.fileName());
                        }
                }
                if (uiCollect)
@@ -419,7 +455,7 @@
        {
                QString profileName(it.key());
                QString profilePath(it.value());
-		copyFileAtomic(profilePath, m_outputDirectory + QFileInfo(profilePath).fileName());
+        copyFileAtomic(profilePath, m_outputDirectory + "profiles/" + QFileInfo(profilePath).fileName());
                if (uiCollect)
                        emit profilesCollected(c++);
        }
@@ -445,7 +481,7 @@
                ++cnt;
        }
        if (copy)
-		copyFileAtomic(oldFile, m_outputDirectory + newFile);
+        copyFileAtomic(oldFile, m_outputDirectory +"images/" + newFile);
        collectedFiles[newFile] = oldFile;
-	return m_outputDirectory + newFile;
+    return m_outputDirectory +"images/" + newFile;
 }
