Resource editor: Fix paste.

Add a "plainText" property to the resource editor's document
similar to the diff editor (see
f268d0f8e1 ).

Task-number: QTCREATORBUG-13458
Change-Id: Icd11134432f796b37090a16bbaa13f075fa8c2bd
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
This commit is contained in:
Friedemann Kleint
2014-11-19 16:59:25 +01:00
parent de34e0e30b
commit d3dd264c37
8 changed files with 34 additions and 11 deletions

View File

@@ -136,6 +136,11 @@ bool QrcEditor::save()
return m_treeview->save();
}
QString QrcEditor::contents() const
{
return m_treeview->contents();
}
bool QrcEditor::isDirty()
{
return m_treeview->isDirty();

View File

@@ -49,6 +49,7 @@ public:
bool load(const QString &fileName);
bool save();
QString contents() const;
QTreeView *treeView() { return m_treeview; }
QString errorMessage() const { return m_treeview->errorMessage(); }

View File

@@ -183,15 +183,8 @@ bool ResourceFile::load()
return true;
}
bool ResourceFile::save()
QString ResourceFile::contents() const
{
m_error_message.clear();
if (m_file_name.isEmpty()) {
m_error_message = tr("The file name is empty.");
return false;
}
QDomDocument doc;
QDomElement root = doc.createElement(QLatin1String("RCC"));
doc.appendChild(root);
@@ -222,11 +215,19 @@ bool ResourceFile::save()
felt.setAttribute(QLatin1String("threshold"), file.threshold);
}
}
return doc.toString(4);
}
QString data = doc.toString(4);
if (!m_textFileFormat.writeFile(m_file_name, data, &m_error_message))
bool ResourceFile::save()
{
m_error_message.clear();
if (m_file_name.isEmpty()) {
m_error_message = tr("The file name is empty.");
return false;
return true;
}
return m_textFileFormat.writeFile(m_file_name, contents(), &m_error_message);
}
void ResourceFile::refresh()

View File

@@ -139,6 +139,7 @@ public:
QString fileName() const { return m_file_name; }
bool load();
bool save();
QString contents() const;
QString errorMessage() const { return m_error_message; }
void refresh();
@@ -252,6 +253,8 @@ private:
public:
virtual bool reload();
virtual bool save();
QString contents() const { return m_resource_file.contents(); }
// QString errorMessage() const { return m_resource_file.errorMessage(); }
bool dirty() const { return m_dirty; }

View File

@@ -381,6 +381,11 @@ bool ResourceView::save()
return m_qrcModel->save();
}
QString ResourceView::contents() const
{
return m_qrcModel->contents();
}
QString ResourceView::currentAlias() const
{
const QModelIndex current = currentIndex();

View File

@@ -85,6 +85,7 @@ public:
bool load(const QString &fileName);
bool save();
QString contents() const;
QString errorMessage() const { return m_qrcFile.errorMessage(); }
QString fileName() const;
void setFileName(const QString &fileName);

View File

@@ -187,6 +187,11 @@ bool ResourceEditorDocument::save(QString *errorString, const QString &name, boo
return true;
}
QString ResourceEditorDocument::plainText() const
{
return m_parent->m_resourceEditor->contents();
}
bool ResourceEditorDocument::setContents(const QByteArray &contents)
{
Utils::TempFileSaver saver;

View File

@@ -50,12 +50,14 @@ class ResourceEditorDocument
: public Core::IDocument
{
Q_OBJECT
Q_PROPERTY(QString plainText READ plainText STORED false) // For access by code pasters
public:
ResourceEditorDocument(ResourceEditorW *parent = 0);
//IDocument
bool save(QString *errorString, const QString &fileName, bool autoSave);
QString plainText() const;
bool setContents(const QByteArray &contents);
bool shouldAutoSave() const;
bool isModified() const;