enum { debugWizard = 0 };
-/*!
- \class Core::GeneratedFile
- \brief Represents a file generated by a wizard.
-
- The Wizard class will check for each file whether it already exists and will
- report any errors that may occur during creation of the files.
-
- \sa Core::BaseFileWizardParameters, Core::BaseFileWizard, Core::StandardFileWizard
- \sa Core::Internal::WizardEventLoop
- */
-
namespace Core {
-class GeneratedFilePrivate : public QSharedData
-{
-public:
- GeneratedFilePrivate() : binary(false) {}
- explicit GeneratedFilePrivate(const QString &p);
- QString path;
- QByteArray contents;
- QString editorId;
- bool binary;
- GeneratedFile::Attributes attributes;
-};
-
-GeneratedFilePrivate::GeneratedFilePrivate(const QString &p) :
- path(QDir::cleanPath(p)),
- binary(false),
- attributes(0)
-{
-}
-
-GeneratedFile::GeneratedFile() :
- m_d(new GeneratedFilePrivate)
-{
-}
-
-GeneratedFile::GeneratedFile(const QString &p) :
- m_d(new GeneratedFilePrivate(p))
-{
-}
-
-GeneratedFile::GeneratedFile(const GeneratedFile &rhs) :
- m_d(rhs.m_d)
-{
-}
-
-GeneratedFile &GeneratedFile::operator=(const GeneratedFile &rhs)
-{
- if (this != &rhs)
- m_d.operator=(rhs.m_d);
- return *this;
-}
-
-GeneratedFile::~GeneratedFile()
-{
-}
-
-QString GeneratedFile::path() const
-{
- return m_d->path;
-}
-
-void GeneratedFile::setPath(const QString &p)
-{
- m_d->path = QDir::cleanPath(p);
-}
-
-QString GeneratedFile::contents() const
-{
- return QString::fromUtf8(m_d->contents);
-}
-
-void GeneratedFile::setContents(const QString &c)
-{
- m_d->contents = c.toUtf8();
-}
-
-QByteArray GeneratedFile::binaryContents() const
-{
- return m_d->contents;
-}
-
-void GeneratedFile::setBinaryContents(const QByteArray &c)
-{
- m_d->contents = c;
-}
-
-bool GeneratedFile::isBinary() const
-{
- return m_d->binary;
-}
-
-void GeneratedFile::setBinary(bool b)
-{
- m_d->binary = b;
-}
-
-QString GeneratedFile::editorId() const
-{
- return m_d->editorId;
-}
-
-void GeneratedFile::setEditorId(const QString &k)
-{
- m_d->editorId = k;
-}
-
-bool GeneratedFile::write(QString *errorMessage) const
-{
- // Ensure the directory
- const QFileInfo info(m_d->path);
- const QDir dir = info.absoluteDir();
- if (!dir.exists()) {
- if (!dir.mkpath(dir.absolutePath())) {
- *errorMessage = BaseFileWizard::tr("Unable to create the directory %1.").arg(dir.absolutePath());
- return false;
- }
- }
-
- // Write out
- QIODevice::OpenMode flags = QIODevice::WriteOnly|QIODevice::Truncate;
- if (!isBinary())
- flags |= QIODevice::Text;
-
- Utils::FileSaver saver(m_d->path, flags);
- saver.write(m_d->contents);
- return saver.finalize(errorMessage);
-}
-
-GeneratedFile::Attributes GeneratedFile::attributes() const
-{
- return m_d->attributes;
-}
-
-void GeneratedFile::setAttributes(Attributes a)
-{
- m_d->attributes = a;
-}
-
static int indexOfFile(const GeneratedFiles &f, const QString &path)
{
const int size = f.size();
#define BASEFILEWIZARD_H
#include "core_global.h"
+#include "generatedfile.h"
#include <coreplugin/dialogs/iwizard.h>
class BaseFileWizardParameterData;
struct BaseFileWizardPrivate;
-class GeneratedFilePrivate;
-
-class CORE_EXPORT GeneratedFile
-{
-public:
- enum Attribute { // Open this file in editor
- OpenEditorAttribute = 0x01,
- // Open project
- OpenProjectAttribute = 0x02,
- /* File is generated by external scripts, do not write out,
- * see BaseFileWizard::writeFiles() */
- CustomGeneratorAttribute = 0x4,
- /* File exists and the user indicated that he wants to keep it */
- KeepExistingFileAttribute = 0x8
- };
- Q_DECLARE_FLAGS(Attributes, Attribute)
-
- GeneratedFile();
- explicit GeneratedFile(const QString &path);
- GeneratedFile(const GeneratedFile &);
- GeneratedFile &operator=(const GeneratedFile &);
- ~GeneratedFile();
-
- // Full path of the file should be created, or the suggested file name
- QString path() const;
- void setPath(const QString &p);
-
- // Contents of the file (UTF8)
- QString contents() const;
- void setContents(const QString &c);
-
- QByteArray binaryContents() const;
- void setBinaryContents(const QByteArray &c);
-
- // Defaults to false (Text file).
- bool isBinary() const;
- void setBinary(bool b);
-
- // Id of editor to open the file with
- QString editorId() const;
- void setEditorId(const QString &k);
-
- bool write(QString *errorMessage) const;
-
- Attributes attributes() const;
- void setAttributes(Attributes a);
-
-private:
- QSharedDataPointer<GeneratedFilePrivate> m_d;
-};
-
-typedef QList<GeneratedFile> GeneratedFiles;
class CORE_EXPORT BaseFileWizardParameters
{
modemanager.cpp \
coreimpl.cpp \
basefilewizard.cpp \
+ generatedfile.cpp \
plugindialog.cpp \
inavigationwidgetfactory.cpp \
navigationwidget.cpp \
modemanager.h \
coreimpl.h \
basefilewizard.h \
+ generatedfile.h \
plugindialog.h \
inavigationwidgetfactory.h \
navigationwidget.h \
dialogs/promptoverwritedialog.h \
fileutils.h \
externaltoolmanager.h \
- textfile.h
+ textfile.h \
+ generatedfile.h
FORMS += dialogs/newdialog.ui \
actionmanager/commandmappings.ui \
}
}
OTHER_FILES += editormanager/BinFiles.mimetypes.xml
+
--- /dev/null
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** Other Usage
+**
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at info@qt.nokia.com.
+**
+**************************************************************************/
+
+
+#include "generatedfile.h"
+
+#include <utils/fileutils.h>
+
+#include <QtCore/QString>
+#include <QtCore/QDir>
+#include <QtCore/QCoreApplication>
+
+namespace Core {
+
+/*!
+ \class Core::GeneratedFile
+ \brief Represents a file generated by a wizard.
+
+ The Wizard class will check for each file whether it already exists and will
+ report any errors that may occur during creation of the files.
+
+ \sa Core::BaseFileWizardParameters, Core::BaseFileWizard, Core::StandardFileWizard
+ \sa Core::Internal::WizardEventLoop
+ */
+
+
+
+class GeneratedFilePrivate : public QSharedData
+{
+public:
+ GeneratedFilePrivate() : binary(false) {}
+ explicit GeneratedFilePrivate(const QString &p);
+ QString path;
+ QByteArray contents;
+ QString editorId;
+ bool binary;
+ GeneratedFile::Attributes attributes;
+};
+
+GeneratedFilePrivate::GeneratedFilePrivate(const QString &p) :
+ path(QDir::cleanPath(p)),
+ binary(false),
+ attributes(0)
+{
+}
+
+GeneratedFile::GeneratedFile() :
+ m_d(new GeneratedFilePrivate)
+{
+}
+
+GeneratedFile::GeneratedFile(const QString &p) :
+ m_d(new GeneratedFilePrivate(p))
+{
+}
+
+GeneratedFile::GeneratedFile(const GeneratedFile &rhs) :
+ m_d(rhs.m_d)
+{
+}
+
+GeneratedFile &GeneratedFile::operator=(const GeneratedFile &rhs)
+{
+ if (this != &rhs)
+ m_d.operator=(rhs.m_d);
+ return *this;
+}
+
+GeneratedFile::~GeneratedFile()
+{
+}
+
+QString GeneratedFile::path() const
+{
+ return m_d->path;
+}
+
+void GeneratedFile::setPath(const QString &p)
+{
+ m_d->path = QDir::cleanPath(p);
+}
+
+QString GeneratedFile::contents() const
+{
+ return QString::fromUtf8(m_d->contents);
+}
+
+void GeneratedFile::setContents(const QString &c)
+{
+ m_d->contents = c.toUtf8();
+}
+
+QByteArray GeneratedFile::binaryContents() const
+{
+ return m_d->contents;
+}
+
+void GeneratedFile::setBinaryContents(const QByteArray &c)
+{
+ m_d->contents = c;
+}
+
+bool GeneratedFile::isBinary() const
+{
+ return m_d->binary;
+}
+
+void GeneratedFile::setBinary(bool b)
+{
+ m_d->binary = b;
+}
+
+QString GeneratedFile::editorId() const
+{
+ return m_d->editorId;
+}
+
+void GeneratedFile::setEditorId(const QString &k)
+{
+ m_d->editorId = k;
+}
+
+bool GeneratedFile::write(QString *errorMessage) const
+{
+ // Ensure the directory
+ const QFileInfo info(m_d->path);
+ const QDir dir = info.absoluteDir();
+ if (!dir.exists()) {
+ if (!dir.mkpath(dir.absolutePath())) {
+ *errorMessage = QCoreApplication::translate("BaseFileWizard", "Unable to create the directory %1.").arg(
+ QDir::toNativeSeparators(dir.absolutePath()));
+ return false;
+ }
+ }
+
+ // Write out
+ QIODevice::OpenMode flags = QIODevice::WriteOnly|QIODevice::Truncate;
+ if (!isBinary())
+ flags |= QIODevice::Text;
+
+ Utils::FileSaver saver(m_d->path, flags);
+ saver.write(m_d->contents);
+ return saver.finalize(errorMessage);
+}
+
+GeneratedFile::Attributes GeneratedFile::attributes() const
+{
+ return m_d->attributes;
+}
+
+void GeneratedFile::setAttributes(Attributes a)
+{
+ m_d->attributes = a;
+}
+
+} // namespace Core
--- /dev/null
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (info@qt.nokia.com)
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** Other Usage
+**
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at info@qt.nokia.com.
+**
+**************************************************************************/
+
+
+#ifndef CORE_GENERATEDFILE_H
+#define CORE_GENERATEDFILE_H
+
+#include "core_global.h"
+
+#include <QtCore/QSharedDataPointer>
+#include <QtCore/QList>
+
+namespace Core {
+class GeneratedFilePrivate;
+
+class CORE_EXPORT GeneratedFile
+{
+public:
+ enum Attribute { // Open this file in editor
+ OpenEditorAttribute = 0x01,
+ // Open project
+ OpenProjectAttribute = 0x02,
+ /* File is generated by external scripts, do not write out,
+ * see BaseFileWizard::writeFiles() */
+ CustomGeneratorAttribute = 0x4,
+ /* File exists and the user indicated that he wants to keep it */
+ KeepExistingFileAttribute = 0x8
+ };
+ Q_DECLARE_FLAGS(Attributes, Attribute)
+
+ GeneratedFile();
+ explicit GeneratedFile(const QString &path);
+ GeneratedFile(const GeneratedFile &);
+ GeneratedFile &operator=(const GeneratedFile &);
+ ~GeneratedFile();
+
+ // Full path of the file should be created, or the suggested file name
+ QString path() const;
+ void setPath(const QString &p);
+
+ // Contents of the file (UTF8)
+ QString contents() const;
+ void setContents(const QString &c);
+
+ QByteArray binaryContents() const;
+ void setBinaryContents(const QByteArray &c);
+
+ // Defaults to false (Text file).
+ bool isBinary() const;
+ void setBinary(bool b);
+
+ // Id of editor to open the file with
+ QString editorId() const;
+ void setEditorId(const QString &k);
+
+ bool write(QString *errorMessage) const;
+
+ Attributes attributes() const;
+ void setAttributes(Attributes a);
+
+private:
+ QSharedDataPointer<GeneratedFilePrivate> m_d;
+};
+
+typedef QList<GeneratedFile> GeneratedFiles;
+
+} // namespace Core
+
+#endif // CORE_GENERATEDFILE_H