[qet] [4352] New element panel: User can now drop an item from custom or common collection, inside an item of embedded collection of a project |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/qet Archives
]
- To: qet@xxxxxxxxxxxxxxxxxxx
- Subject: [qet] [4352] New element panel: User can now drop an item from custom or common collection, inside an item of embedded collection of a project
- From: subversion@xxxxxxxxxxxxx
- Date: Sun, 21 Feb 2016 19:53:41 +0100
Revision: 4352
Author: blacksun
Date: 2016-02-21 19:53:40 +0100 (Sun, 21 Feb 2016)
Log Message:
-----------
New element panel: User can now drop an item from custom or common collection, inside an item of embedded collection of a project
(drag an item from an embedded collection to another embedded collection don't work yet)
Modified Paths:
--------------
trunk/sources/ElementsCollection/elementcollectionhandler.cpp
trunk/sources/ElementsCollection/elementcollectionhandler.h
trunk/sources/ElementsCollection/elementlocation.cpp
trunk/sources/ElementsCollection/elementlocation.h
trunk/sources/ElementsCollection/xmlelementcollection.cpp
trunk/sources/ElementsCollection/xmlelementcollection.h
trunk/sources/ElementsCollection/xmlprojectelementcollectionitem.cpp
trunk/sources/ElementsCollection/xmlprojectelementcollectionitem.h
trunk/sources/qetxml.cpp
trunk/sources/qetxml.h
Modified: trunk/sources/ElementsCollection/elementcollectionhandler.cpp
===================================================================
--- trunk/sources/ElementsCollection/elementcollectionhandler.cpp 2016-02-18 16:56:08 UTC (rev 4351)
+++ trunk/sources/ElementsCollection/elementcollectionhandler.cpp 2016-02-21 18:53:40 UTC (rev 4352)
@@ -17,6 +17,8 @@
*/
#include "elementcollectionhandler.h"
#include "renamedialog.h"
+#include "xmlelementcollection.h"
+#include "qetxml.h"
#include <QFile>
#include <QDir>
@@ -124,6 +126,42 @@
/******************************************************/
/**
+ * @brief ECHSFileToXml::ECHSFileToXml
+ * @param source
+ * @param destination
+ */
+ECHSFileToXml::ECHSFileToXml(ElementLocation &source, ElementLocation &destination) :
+ ECHStrategy(source, destination)
+{}
+
+/**
+ * @brief ECHSFileToXml::copy
+ * @return
+ */
+ElementLocation ECHSFileToXml::copy()
+{
+ if (!(m_source.isFileSystem() && m_destination.isDirectory() && m_destination.isProject())) return ElementLocation();
+
+ //Check if the destination already have an item with the same name of the item to copy
+ ElementLocation location(m_destination.projectCollectionPath() + "/" + m_source.fileName());
+
+ QString rename;
+ if (location.exist())
+ {
+ RenameDialog rd(location.collectionPath());
+ if(rd.exec() == QDialog::Accepted)
+ {
+ if (rd.selectedAction() == QET::Rename)
+ rename = rd.newName();
+ }
+ else
+ return ElementLocation();
+ }
+
+ return m_destination.projectCollection()->copy(m_source, m_destination, rename);
+}
+
+/**
* @brief ElementCollectionHandler::ElementCollectionHandler
* @param widget
*/
@@ -148,6 +186,7 @@
if (!source.exist() || !destination.exist() || destination.isElement()) return ElementLocation();
if (source.isFileSystem() && destination.isFileSystem()) m_strategy = new ECHSFileToFile(source, destination);
+ else if (source.isFileSystem() && destination.isProject()) m_strategy = new ECHSFileToXml(source, destination);
if (m_strategy)
return m_strategy->copy();
Modified: trunk/sources/ElementsCollection/elementcollectionhandler.h
===================================================================
--- trunk/sources/ElementsCollection/elementcollectionhandler.h 2016-02-18 16:56:08 UTC (rev 4351)
+++ trunk/sources/ElementsCollection/elementcollectionhandler.h 2016-02-21 18:53:40 UTC (rev 4352)
@@ -36,7 +36,6 @@
{
public:
ECHSFileToFile (ElementLocation &source, ElementLocation &destination);
-
ElementLocation copy();
private:
@@ -44,6 +43,13 @@
ElementLocation copyElement(ElementLocation &source, ElementLocation &destination, QString rename = QString());
};
+class ECHSFileToXml : public ECHStrategy
+{
+ public:
+ ECHSFileToXml (ElementLocation &source, ElementLocation &destination);
+ ElementLocation copy();
+};
+
/**
* @brief The ElementCollectionHandler class
* Provide several method to copy element or directory from a collection
Modified: trunk/sources/ElementsCollection/elementlocation.cpp
===================================================================
--- trunk/sources/ElementsCollection/elementlocation.cpp 2016-02-18 16:56:08 UTC (rev 4351)
+++ trunk/sources/ElementsCollection/elementlocation.cpp 2016-02-21 18:53:40 UTC (rev 4352)
@@ -266,7 +266,7 @@
*/
bool ElementLocation::exist() const
{
- if (isProject())
+ if (m_project)
return m_project->embeddedElementCollection()->exist(collectionPath(false));
else
{
@@ -283,6 +283,56 @@
}
/**
+ * @brief ElementLocation::projectCollection
+ * @return If this location represente a item in an embedded project collection, return this collection
+ * else return nullptr.
+ */
+XmlElementCollection *ElementLocation::projectCollection() const
+{
+ if (m_project)
+ return m_project->embeddedElementCollection();
+ else
+ return nullptr;
+}
+
+/**
+ * @brief ElementLocation::nameList
+ * @return the namelist of the represented element or directory.
+ * If namelist can't be set, return a empty namelist
+ */
+NamesList ElementLocation::nameList()
+{
+ NamesList nl;
+
+ if (isElement())
+ nl.fromXml(xml());
+
+ if (isDirectory())
+ {
+ if (m_project)
+ nl.fromXml(m_project->embeddedElementCollection()->directory(collectionPath(false)));
+ else
+ {
+ //Open the qet_directory file, to get the traductions name of this dir
+ QFile dir_conf(fileSystemPath() + "/qet_directory");
+ if (dir_conf.exists() && dir_conf.open(QIODevice::ReadOnly | QIODevice::Text))
+ {
+ //Get the content of the file
+ QDomDocument document;
+ if (document.setContent(&dir_conf))
+ {
+ QDomElement root = document.documentElement();
+ if (root.tagName() == "qet-directory")
+ nl.fromXml(root);
+ }
+ }
+ }
+ }
+
+ return nl;
+}
+
+/**
* @brief ElementLocation::collectionPath
* Return the path of the represented element relative to collection
* if @protocol is true the path is prepended by the collection type (common://, custom:// or embed://)
@@ -302,6 +352,19 @@
}
/**
+ * @brief ElementLocation::projectCollectionPath
+ * @return The path is in form : project0+embed://dir/subdir/myElement.elmt
+ * If this item represent a file system thing, return a null QString;
+ */
+QString ElementLocation::projectCollectionPath() const
+{
+ if (isFileSystem())
+ return QString();
+ else
+ return QString("project" + QString::number(QETApp::projectId(m_project)) + "+" + collectionPath());
+}
+
+/**
* @brief ElementLocation::fileSystemPath
* @return The file system path of this element, (the separator is always '/' see QDir::toNativeSeparators())
* If this element is embedded in a project return an empty string;
Modified: trunk/sources/ElementsCollection/elementlocation.h
===================================================================
--- trunk/sources/ElementsCollection/elementlocation.h 2016-02-18 16:56:08 UTC (rev 4351)
+++ trunk/sources/ElementsCollection/elementlocation.h 2016-02-21 18:53:40 UTC (rev 4352)
@@ -18,6 +18,7 @@
#ifndef ELEMENTLOCATION_H
#define ELEMENTLOCATION_H
+#include "nameslist.h"
#include <QString>
#include <QDomElement>
#include <QUuid>
@@ -25,6 +26,7 @@
class QETProject;
class QMimeData;
+class XmlElementCollection;
/**
* @brief The ElementLocation class
@@ -49,8 +51,11 @@
bool isFileSystem() const;
bool isProject() const;
bool exist() const;
+ XmlElementCollection *projectCollection() const;
+ NamesList nameList();
QString collectionPath(bool protocol = true) const;
+ QString projectCollectionPath() const;
QString fileSystemPath() const;
QETProject *project() const;
Modified: trunk/sources/ElementsCollection/xmlelementcollection.cpp
===================================================================
--- trunk/sources/ElementsCollection/xmlelementcollection.cpp 2016-02-18 16:56:08 UTC (rev 4351)
+++ trunk/sources/ElementsCollection/xmlelementcollection.cpp 2016-02-21 18:53:40 UTC (rev 4352)
@@ -119,24 +119,44 @@
if (parent_element.ownerDocument() != m_dom_document && parent_element.tagName() != "category") return QDomElement();
//Get all childs element of parent_element
- QDomNodeList node_list;
- if (child_name.endsWith(".elmt"))
- node_list = parent_element.elementsByTagName("element");
- else
- node_list = parent_element.elementsByTagName("category");
-
- if (node_list.isEmpty()) return QDomElement();
-
- for (int i=0 ; i<node_list.length() ; i++)
+ QDomNodeList child_list = parent_element.childNodes();
+ QString tag_name(child_name.endsWith(".elmt")? "element" : "category");
+ QList <QDomElement> found_dom_element;
+ for (int i=0 ; i<child_list.length() ; i++)
{
- QDomElement child_element = node_list.item(i).toElement();
- if (child_element.attribute("name") == child_name) return child_element;
+ QDomElement child_element = child_list.item(i).toElement();
+ if (child_element.tagName() == tag_name) found_dom_element << child_element;
}
+ if (found_dom_element.isEmpty()) return QDomElement();
+
+ foreach (QDomElement elmt, found_dom_element)
+ if (elmt.attribute("name") == child_name)
+ return elmt;
+
return QDomElement();
}
/**
+ * @brief XmlElementCollection::child
+ * @param path
+ * @return the DomElement at path if exist. Else return a null QDomElement
+ */
+QDomElement XmlElementCollection::child(const QString &path) const
+{
+ QStringList path_list = path.split("/");
+ if (path_list.first() != "import") return QDomElement();
+ path_list.removeFirst();
+
+ QDomElement dom_element = importCategory();
+
+ for (int i=0 ; i<path_list.size() ; i++)
+ dom_element = child(dom_element, path_list.at(i));
+
+ return dom_element;
+}
+
+/**
* @brief XmlElementCollection::directories
* @param parent_element
* @return A list of directory stored in @parent_element
@@ -254,6 +274,9 @@
* @brief XmlElementCollection::addElement
* Add the element at path @path to this xml collection.
* The path must be a common or custom collection (a file system element).
+ * The element is copied in this collection with the same path of @path, in other word,
+ * if the path is dir1/dir2/dir3/myElement.elmt, myElement is copied to this collection at the path : dir1/dir2/dir3/myElement.elmt
+ * If the path doesn't exist, he was created.
* @param path, path of the element
* @return the xml collection path of the added item or a null QString if element can't be added.
*/
@@ -322,6 +345,31 @@
}
/**
+ * @brief XmlElementCollection::copy
+ * Copy the content represented by source (an element or a directory) to destination.
+ * Destination must be a directory of this collection.
+ *
+ * WARNING :
+ * for now, only work if source represent a file or directory from filesystem.
+ *
+ * @param source : content to copy
+ * @param destination : destination of the copy, must be a directory of this collection
+ * @param rename : rename the copy with @rename else use the name of source
+ * @param deep_copy : if true copy all childs of source (only if source is directory)
+ * @return the ElementLocation that represent the copy, if copy failed return a null ElementLocation
+ */
+ElementLocation XmlElementCollection::copy(ElementLocation &source, ElementLocation &destination, QString rename, bool deep_copy)
+{
+ if (!(source.isFileSystem() && destination.isDirectory() && destination.isProject() && destination.projectCollection() == this))
+ return ElementLocation();
+
+ if (source.isElement())
+ return copyElement(source, destination, rename);
+ else
+ return copyDirectory(source, destination, rename, deep_copy);
+}
+
+/**
* @brief XmlElementCollection::exist
* Return true if the path @path exist in this collection
* @param path
@@ -348,3 +396,93 @@
return true;
}
+
+/**
+ * @brief XmlElementCollection::copyDirectory
+ * Copy the directory represented by source to destination.
+ * if destination have a directory with the same name as source, then this directory is removed
+ *
+ * WARNING
+ * for now, only work if source is from files system
+ *
+ * @param source : directory to copy
+ * @param destination : destination of the copy
+ * @param rename : rename the copy with @rename else use the name of source
+ * @param deep_copy :if true copy all childs of source
+ * @return the ElementLocation that represent the copy, if copy failed return a null ElementLocation
+ */
+ElementLocation XmlElementCollection::copyDirectory(ElementLocation &source, ElementLocation &destination, QString rename, bool deep_copy)
+{
+ QDir source_dir(source.fileSystemPath());
+ if (!source_dir.exists()) return ElementLocation();
+
+ QString new_dir_name = rename.isEmpty() ? source_dir.dirName() : rename;
+
+ //Remove the previous directory with the same path
+ QDomElement element = child(destination.collectionPath(false) + "/" + new_dir_name);
+ if (!element.isNull())
+ element.parentNode().removeChild(element);
+
+ QDir dir(source.fileSystemPath());
+ QDomElement elmt_dom = QETXML::fileSystemDirToXmlCollectionDir(m_dom_document, dir, new_dir_name);
+ if (elmt_dom.isNull()) return ElementLocation();
+
+ //Get the xml directory where the new directory must be added
+ QDomElement parent_dir_dom = directory(destination.collectionPath(false));
+ if (parent_dir_dom.isNull()) return ElementLocation();
+ parent_dir_dom.appendChild(elmt_dom);
+
+ ElementLocation created_location(destination.projectCollectionPath() + "/" + new_dir_name);
+
+ if (deep_copy)
+ {
+ //Append all directories of source to the new created directory
+ foreach(QString str, source_dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name))
+ {
+ ElementLocation sub_source(source.fileSystemPath() + "/" + str);
+ copyDirectory(sub_source, created_location);
+ }
+
+ //Append all elements of source to the new created directory
+ source_dir.setNameFilters(QStringList() << "*.elmt");
+ foreach(QString str, source_dir.entryList(QDir::Files | QDir::NoDotAndDotDot, QDir::Name))
+ {
+ ElementLocation sub_source(source.fileSystemPath() + "/" + str);
+ copyElement(sub_source, created_location);
+ }
+ }
+
+ return created_location;
+}
+
+/**
+ * @brief XmlElementCollection::copyElement
+ *
+ * WARNING
+ * for now, only work if source is from files system
+ *
+ * @param source : element to copy
+ * @param destination : destination of the copy
+ * @param rename : rename the copy with @rename else use the name of source
+ * @return
+ */
+ElementLocation XmlElementCollection::copyElement(ElementLocation &source, ElementLocation &destination, QString rename)
+{
+ QString new_elmt_name = rename.isEmpty() ? source.fileName() : rename;
+
+ QFile file(source.fileSystemPath());
+ QDomElement elmt_dom = QETXML::fileSystemElementToXmlCollectionElement(m_dom_document, file, new_elmt_name);
+ if (elmt_dom.isNull()) return ElementLocation();
+
+ //Remove the previous element with the same path
+ QDomElement element = child(destination.collectionPath(false) + "/" + new_elmt_name);
+ if (!element.isNull())
+ element.parentNode().removeChild(element);
+
+ //Get the xml directory where the new element must be added
+ QDomElement dir_dom = directory(destination.collectionPath(false));
+ if (dir_dom.isNull()) return ElementLocation();
+ dir_dom.appendChild(elmt_dom);
+
+ return ElementLocation(destination.projectCollectionPath() + "/" + new_elmt_name);
+}
Modified: trunk/sources/ElementsCollection/xmlelementcollection.h
===================================================================
--- trunk/sources/ElementsCollection/xmlelementcollection.h 2016-02-18 16:56:08 UTC (rev 4351)
+++ trunk/sources/ElementsCollection/xmlelementcollection.h 2016-02-21 18:53:40 UTC (rev 4352)
@@ -18,6 +18,7 @@
#ifndef XMLELEMENTCOLLECTION_H
#define XMLELEMENTCOLLECTION_H
+#include "elementlocation.h"
#include <QObject>
#include <QDomElement>
@@ -38,13 +39,19 @@
QDomElement importCategory() const;
QDomNodeList childs(const QDomElement &parent_element) const;
QDomElement child(const QDomElement &parent_element, const QString &child_name) const;
+ QDomElement child(const QString &path) const;
QList<QDomElement> directories(const QDomElement &parent_element);
QList<QDomElement> elements(const QDomElement &parent_element);
QDomElement element(const QString &path);
QDomElement directory(const QString &path);
QString addElement (const QString &path);
+ ElementLocation copy (ElementLocation &source, ElementLocation &destination, QString rename = QString(), bool deep_copy = true);
bool exist (const QString &path);
+ private:
+ ElementLocation copyDirectory(ElementLocation &source, ElementLocation &destination, QString rename = QString(), bool deep_copy = true);
+ ElementLocation copyElement(ElementLocation &source, ElementLocation &destination, QString rename = QString());
+
signals:
/**
* @brief elementAdded
Modified: trunk/sources/ElementsCollection/xmlprojectelementcollectionitem.cpp
===================================================================
--- trunk/sources/ElementsCollection/xmlprojectelementcollectionitem.cpp 2016-02-18 16:56:08 UTC (rev 4351)
+++ trunk/sources/ElementsCollection/xmlprojectelementcollectionitem.cpp 2016-02-21 18:53:40 UTC (rev 4352)
@@ -22,6 +22,7 @@
#include "nameslist.h"
#include "qetapp.h"
#include "elementlocation.h"
+#include "elementcollectionhandler.h"
#include <algorithm>
/**
@@ -120,6 +121,80 @@
}
/**
+ * @brief XmlProjectElementCollectionItem::canDropMimeData
+ * @param data
+ * @param action
+ * @param row
+ * @param column
+ * @return True if the data can be dropped
+ */
+bool XmlProjectElementCollectionItem::canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column) const
+{
+ Q_UNUSED(action); Q_UNUSED(row); Q_UNUSED(column);
+
+ if (data->hasFormat("application/x-qet-element-uri") || data->hasFormat("application/x-qet-category-uri"))
+ {
+ //Return false if user try to drop a item from a folder to the same folder
+ ElementLocation drop_location(data->text());
+ for (int i=0 ; i<childCount() ; i++)
+ {
+ if (static_cast<XmlProjectElementCollectionItem *>(child(i))->collectionPath() == drop_location.collectionPath())
+ return false;
+ }
+
+ return true;
+ }
+ else
+ return false;
+}
+
+/**
+ * @brief XmlProjectElementCollectionItem::dropMimeData
+ * @param data
+ * @param action
+ * @param row
+ * @param column
+ * @return handle a drop of a mime data
+ */
+bool XmlProjectElementCollectionItem::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column)
+{
+ Q_UNUSED(action); Q_UNUSED(row); Q_UNUSED(column);
+
+ XmlProjectElementCollectionItem *xpeci = this;
+ if (isElement() && parent() && parent()->type() == XmlProjectElementCollectionItem::Type)
+ xpeci = static_cast<XmlProjectElementCollectionItem *>(parent());
+
+ //before do the copy, we get all collection path of child,
+ //for remove it if the copied item have the same path of an existing child.
+ //We can't do this after the copy, because at the copy if the xml collection have a DomElement with the same path,
+ //he was removed before the new xml DomElement is inserted
+ //So the existing child of this will return a null QString when call collectionPath(), because the item
+ //doesn't exist anymore in the xml collection.
+ QList <QString> child_path_list;
+ for (int i=0 ; i<childCount() ; i++)
+ child_path_list.append(static_cast<XmlProjectElementCollectionItem *>(child(i))->collectionPath());
+
+ ElementCollectionHandler ech;
+
+ ElementLocation source(data->text());
+ ElementLocation destination(xpeci->collectionPath());
+ ElementLocation location = ech.copy(source, destination);
+
+ if (location.exist())
+ {
+ //If this item have a child with the same path of location, we remove the existing child before insert new child
+ for (int i=0 ; i<child_path_list.size() ; i++)
+ if (child_path_list.at(i) == location.projectCollectionPath())
+ removeChild(i,1);
+
+ insertNewItem(location.fileName());
+ return true;
+ }
+
+ return false;
+}
+
+/**
* @brief XmlProjectElementCollectionItem::flags
* @return The flags of this item
*/
@@ -208,19 +283,8 @@
*/
QString XmlProjectElementCollectionItem::collectionPath() const
{
- if (isCollectionRoot())
- {
- QString path;
- return path + "project" + QString::number(QETApp::projectId(m_project)) + "+embed://";
- }
- else
- {
- XmlProjectElementCollectionItem *parent = static_cast<XmlProjectElementCollectionItem *>(m_parent_item);
- if (parent->isCollectionRoot())
- return parent->collectionPath() + m_dom_element.attribute("name");
- else
- return parent->collectionPath() + "/" + m_dom_element.attribute("name");
- }
+ ElementLocation loc (embeddedPath(), m_project);
+ return loc.projectCollectionPath();
}
/**
Modified: trunk/sources/ElementsCollection/xmlprojectelementcollectionitem.h
===================================================================
--- trunk/sources/ElementsCollection/xmlprojectelementcollectionitem.h 2016-02-18 16:56:08 UTC (rev 4351)
+++ trunk/sources/ElementsCollection/xmlprojectelementcollectionitem.h 2016-02-21 18:53:40 UTC (rev 4352)
@@ -43,6 +43,8 @@
virtual QVariant data(int column, int role);
virtual QMimeData *mimeData();
+ virtual bool canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column) const;
+ virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column);
virtual Qt::ItemFlags flags();
virtual bool isCollectionRoot() const;
Modified: trunk/sources/qetxml.cpp
===================================================================
--- trunk/sources/qetxml.cpp 2016-02-18 16:56:08 UTC (rev 4351)
+++ trunk/sources/qetxml.cpp 2016-02-21 18:53:40 UTC (rev 4352)
@@ -154,15 +154,17 @@
* @brief QETXML::fileSystemDirToXmlCollectionDir
* @param document : owner document of returned QDomElement, use to create the QDomElement.
* @param dir : file system direcory to convert to QDomElement directory
+ * @param rename : by default the attribute "name" of the returned QDomElement is the same name of @dir
+ * but we can override itwith @rename
* @return A file system directory converted to a QDomElement directory ready to be inserted into a XmlElementCollection.
* If the QDomElement can't be created, return a null QDomElement.
*/
-QDomElement QETXML::fileSystemDirToXmlCollectionDir(QDomDocument &document, const QDir &dir)
+QDomElement QETXML::fileSystemDirToXmlCollectionDir(QDomDocument &document, const QDir &dir, QString rename)
{
if (!dir.exists()) return QDomElement();
QDomElement dir_element = document.createElement("category");
- dir_element.setAttribute("name", dir.dirName());
+ dir_element.setAttribute("name", rename.isNull()? dir.dirName() : rename);
//Get the traduction of this directory
QFile qet_dir(dir.filePath("qet_directory"));
@@ -190,10 +192,12 @@
* @brief QETXML::fileSystemElementToXmlCollectionElement
* @param document : owner document of returned QDomElement, use to create the QDomElement.
* @param file : file system element file to convert to QDomElement;
+ * @param rename : by default the attribute "name" of the returned QDomElement is the same name of @file
+ * but we can override itwith @rename
* @return A file system element converted to a QDomElement ready to be inserted into a XmlElementCollection
* If the QDomElement can't be created, return a null QDomElement
*/
-QDomElement QETXML::fileSystemElementToXmlCollectionElement(QDomDocument &document, QFile &file)
+QDomElement QETXML::fileSystemElementToXmlCollectionElement(QDomDocument &document, QFile &file, QString rename)
{
if (file.exists() && file.open(QIODevice::ReadOnly | QIODevice::Text))
{
@@ -202,7 +206,7 @@
{
QFileInfo fi(file);
QDomElement dom_element = document.createElement("element");
- dom_element.setAttribute("name", fi.fileName());
+ dom_element.setAttribute("name", rename.isEmpty()? fi.fileName() : rename);
dom_element.appendChild(docu.documentElement());
file.close();
return dom_element;
Modified: trunk/sources/qetxml.h
===================================================================
--- trunk/sources/qetxml.h 2016-02-18 16:56:08 UTC (rev 4351)
+++ trunk/sources/qetxml.h 2016-02-21 18:53:40 UTC (rev 4352)
@@ -36,8 +36,8 @@
QDomElement brushToXml (QDomDocument &parent_document, QBrush brush);
QBrush brushFromXml (const QDomElement &element);
- QDomElement fileSystemDirToXmlCollectionDir (QDomDocument &document, const QDir &dir);
- QDomElement fileSystemElementToXmlCollectionElement (QDomDocument &document, QFile &file);
+ QDomElement fileSystemDirToXmlCollectionDir (QDomDocument &document, const QDir &dir, QString rename = QString());
+ QDomElement fileSystemElementToXmlCollectionElement (QDomDocument &document, QFile &file, QString rename = QString());
}