aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2014-11-19 16:59:25 +0100
committerFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2014-11-20 19:33:45 +0100
commitd3dd264c373254827629b2d26c78ac7515265307 (patch)
tree00732d3e524ca3147a1f391a38c0efdbff520e7a
parentde34e0e30b93eb9f245b668e2cf9513a7e6abd50 (diff)
Resource editor: Fix paste.
Add a "plainText" property to the resource editor's document similar to the diff editor (see f268d0f8e14dd10e05180b4bc195fff036b5ba33 ). Task-number: QTCREATORBUG-13458 Change-Id: Icd11134432f796b37090a16bbaa13f075fa8c2bd Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
-rw-r--r--src/plugins/resourceeditor/qrceditor/qrceditor.cpp5
-rw-r--r--src/plugins/resourceeditor/qrceditor/qrceditor.h1
-rw-r--r--src/plugins/resourceeditor/qrceditor/resourcefile.cpp23
-rw-r--r--src/plugins/resourceeditor/qrceditor/resourcefile_p.h3
-rw-r--r--src/plugins/resourceeditor/qrceditor/resourceview.cpp5
-rw-r--r--src/plugins/resourceeditor/qrceditor/resourceview.h1
-rw-r--r--src/plugins/resourceeditor/resourceeditorw.cpp5
-rw-r--r--src/plugins/resourceeditor/resourceeditorw.h2
8 files changed, 34 insertions, 11 deletions
diff --git a/src/plugins/resourceeditor/qrceditor/qrceditor.cpp b/src/plugins/resourceeditor/qrceditor/qrceditor.cpp
index 846f0136c6..4afdf830cb 100644
--- a/src/plugins/resourceeditor/qrceditor/qrceditor.cpp
+++ b/src/plugins/resourceeditor/qrceditor/qrceditor.cpp
@@ -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();
diff --git a/src/plugins/resourceeditor/qrceditor/qrceditor.h b/src/plugins/resourceeditor/qrceditor/qrceditor.h
index 7a24d9653c..fbcafeb7e6 100644
--- a/src/plugins/resourceeditor/qrceditor/qrceditor.h
+++ b/src/plugins/resourceeditor/qrceditor/qrceditor.h
@@ -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(); }
diff --git a/src/plugins/resourceeditor/qrceditor/resourcefile.cpp b/src/plugins/resourceeditor/qrceditor/resourcefile.cpp
index e4a13ca869..ff57423cb5 100644
--- a/src/plugins/resourceeditor/qrceditor/resourcefile.cpp
+++ b/src/plugins/resourceeditor/qrceditor/resourcefile.cpp
@@ -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()
diff --git a/src/plugins/resourceeditor/qrceditor/resourcefile_p.h b/src/plugins/resourceeditor/qrceditor/resourcefile_p.h
index b60d5ca628..598f805844 100644
--- a/src/plugins/resourceeditor/qrceditor/resourcefile_p.h
+++ b/src/plugins/resourceeditor/qrceditor/resourcefile_p.h
@@ -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; }
diff --git a/src/plugins/resourceeditor/qrceditor/resourceview.cpp b/src/plugins/resourceeditor/qrceditor/resourceview.cpp
index 4a7d7c905c..2b24dfa578 100644
--- a/src/plugins/resourceeditor/qrceditor/resourceview.cpp
+++ b/src/plugins/resourceeditor/qrceditor/resourceview.cpp
@@ -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();
diff --git a/src/plugins/resourceeditor/qrceditor/resourceview.h b/src/plugins/resourceeditor/qrceditor/resourceview.h
index 840897e7a0..96d2dadf9a 100644
--- a/src/plugins/resourceeditor/qrceditor/resourceview.h
+++ b/src/plugins/resourceeditor/qrceditor/resourceview.h
@@ -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);
diff --git a/src/plugins/resourceeditor/resourceeditorw.cpp b/src/plugins/resourceeditor/resourceeditorw.cpp
index 0b0dbd4e56..dc9fae45b1 100644
--- a/src/plugins/resourceeditor/resourceeditorw.cpp
+++ b/src/plugins/resourceeditor/resourceeditorw.cpp
@@ -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;
diff --git a/src/plugins/resourceeditor/resourceeditorw.h b/src/plugins/resourceeditor/resourceeditorw.h
index 2ddfba91a9..908a936506 100644
--- a/src/plugins/resourceeditor/resourceeditorw.h
+++ b/src/plugins/resourceeditor/resourceeditorw.h
@@ -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;