diff --git a/CHANGELOG.md b/CHANGELOG.md
index 84fce845..bf990101 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,7 @@ The **"Breaking Changes"** listed below are changes that have been made in the d
- Add Copy/Paste for metatiles in the Tileset Editor.
- Add ability to set the opacity of the scripting overlay.
- Add ability to get/set map header properties and read tile pixel data via the API.
+- Add button to copy the full metatile label to the clipboard in the Tileset Editor.
### Changed
- If an object event is inanimate, it will always render using its first frame.
diff --git a/forms/tileseteditor.ui b/forms/tileseteditor.ui
index 98dfcc81..e746ffba 100644
--- a/forms/tileseteditor.ui
+++ b/forms/tileseteditor.ui
@@ -6,7 +6,7 @@
0
0
- 700
+ 727
700
@@ -198,19 +198,8 @@
false
- -
-
-
- Metatile Label (Optional)
-
-
-
- -
-
-
- Layer Type
-
-
+
-
+
-
@@ -219,12 +208,24 @@
- -
-
-
- Terrain Type
+
-
+
+
+ -
+
+
+ Qt::Vertical
-
+
+
+ 20
+ 40
+
+
+
+
+ -
+
-
@@ -248,6 +249,13 @@
+ -
+
+
+ Layer Type
+
+
+
-
@@ -255,8 +263,22 @@
- -
-
+
-
+
+
+ Metatile Label (Optional)
+
+
+
+ -
+
+
+ -
+
+
+ Terrain Type
+
+
-
@@ -271,19 +293,6 @@
- -
-
-
- true
-
-
-
- -
-
-
- -
-
-
-
@@ -291,22 +300,40 @@
- -
-
-
- -
-
+
-
+
- Qt::Vertical
+ Qt::Horizontal
- 20
- 40
+ 40
+ 20
+ -
+
+
+ <html><head/><body><p>Copies the full metatile label to the clipboard.</p></body></html>
+
+
+ ...
+
+
+
+ :/icons/clipboard.ico:/icons/clipboard.ico
+
+
+
+ -
+
+
+ true
+
+
+
@@ -414,8 +441,8 @@
0
0
- 384
- 265
+ 411
+ 247
@@ -507,7 +534,7 @@
0
0
- 700
+ 727
22
@@ -658,10 +685,12 @@
NoScrollComboBox
- QWidget
+ QComboBox
-
+
+
+
diff --git a/include/ui/tileseteditor.h b/include/ui/tileseteditor.h
index 9e433025..301a56b1 100644
--- a/include/ui/tileseteditor.h
+++ b/include/ui/tileseteditor.h
@@ -103,6 +103,8 @@ private slots:
void on_actionImport_Secondary_Metatiles_triggered();
+ void on_copyButton_metatileLabel_clicked();
+
void on_actionCopy_triggered();
void on_actionPaste_triggered();
diff --git a/resources/icons/clipboard.ico b/resources/icons/clipboard.ico
new file mode 100755
index 00000000..b2e11119
Binary files /dev/null and b/resources/icons/clipboard.ico differ
diff --git a/resources/images.qrc b/resources/images.qrc
index 6961e734..eacb478a 100644
--- a/resources/images.qrc
+++ b/resources/images.qrc
@@ -1,54 +1,55 @@
-
- icons/add.ico
- icons/collapse_all.ico
- icons/cursor.ico
- icons/delete.ico
- icons/expand_all.ico
- icons/fill_color_cursor.ico
- icons/fill_color.ico
- icons/folder_closed_map.ico
- icons/folder_closed.ico
- icons/folder_map_edited.ico
- icons/folder_map_opened.ico
- icons/folder_map.ico
- icons/folder.ico
- icons/map_edited.ico
- icons/map_opened.ico
- icons/map.ico
- icons/move.ico
- icons/pencil_cursor.ico
- icons/pencil.ico
- icons/pipette_cursor.ico
- icons/pipette.ico
- icons/porymap-icon-1.ico
- icons/porymap-icon-2.ico
- icons/porymap.icns
- icons/shift_cursor.ico
- icons/shift.ico
- icons/sort_alphabet.ico
- icons/sort_map.ico
- icons/sort_number.ico
- icons/tall_grass.ico
- icons/viewsprites.ico
- icons/ui/dark_checkbox_checked_disabled.png
- icons/ui/dark_checkbox_checked_disabled@2x.png
- icons/ui/dark_checkbox_checked.png
- icons/ui/dark_checkbox_checked@2x.png
- icons/ui/dark_checkbox_unchecked_disabled.png
- icons/ui/dark_checkbox_unchecked_disabled@2x.png
- icons/ui/dark_checkbox_unchecked.png
- icons/ui/dark_checkbox_unchecked@2x.png
- icons/ui/midnight_checkbox_checked_disabled.png
- icons/ui/midnight_checkbox_checked_disabled@2x.png
- icons/ui/midnight_checkbox_checked.png
- icons/ui/midnight_checkbox_checked@2x.png
- icons/ui/midnight_checkbox_unchecked_disabled.png
- icons/ui/midnight_checkbox_unchecked_disabled@2x.png
- icons/ui/midnight_checkbox_unchecked.png
- icons/ui/midnight_checkbox_unchecked@2x.png
- images/blank_tileset.png
- images/collisions.png
- images/Entities_16x16.png
-
+
+ icons/add.ico
+ icons/collapse_all.ico
+ icons/cursor.ico
+ icons/delete.ico
+ icons/expand_all.ico
+ icons/fill_color_cursor.ico
+ icons/fill_color.ico
+ icons/folder_closed_map.ico
+ icons/folder_closed.ico
+ icons/folder_map_edited.ico
+ icons/folder_map_opened.ico
+ icons/folder_map.ico
+ icons/folder.ico
+ icons/map_edited.ico
+ icons/map_opened.ico
+ icons/map.ico
+ icons/move.ico
+ icons/pencil_cursor.ico
+ icons/pencil.ico
+ icons/pipette_cursor.ico
+ icons/pipette.ico
+ icons/porymap-icon-1.ico
+ icons/porymap-icon-2.ico
+ icons/porymap.icns
+ icons/shift_cursor.ico
+ icons/shift.ico
+ icons/sort_alphabet.ico
+ icons/sort_map.ico
+ icons/sort_number.ico
+ icons/tall_grass.ico
+ icons/viewsprites.ico
+ icons/ui/dark_checkbox_checked_disabled.png
+ icons/ui/dark_checkbox_checked_disabled@2x.png
+ icons/ui/dark_checkbox_checked.png
+ icons/ui/dark_checkbox_checked@2x.png
+ icons/ui/dark_checkbox_unchecked_disabled.png
+ icons/ui/dark_checkbox_unchecked_disabled@2x.png
+ icons/ui/dark_checkbox_unchecked.png
+ icons/ui/dark_checkbox_unchecked@2x.png
+ icons/ui/midnight_checkbox_checked_disabled.png
+ icons/ui/midnight_checkbox_checked_disabled@2x.png
+ icons/ui/midnight_checkbox_checked.png
+ icons/ui/midnight_checkbox_checked@2x.png
+ icons/ui/midnight_checkbox_unchecked_disabled.png
+ icons/ui/midnight_checkbox_unchecked_disabled@2x.png
+ icons/ui/midnight_checkbox_unchecked.png
+ icons/ui/midnight_checkbox_unchecked@2x.png
+ images/blank_tileset.png
+ images/collisions.png
+ images/Entities_16x16.png
+ icons/clipboard.ico
+
diff --git a/src/ui/tileseteditor.cpp b/src/ui/tileseteditor.cpp
index 6688ef8d..ad3dd38b 100644
--- a/src/ui/tileseteditor.cpp
+++ b/src/ui/tileseteditor.cpp
@@ -1067,3 +1067,14 @@ void TilesetEditor::countTileUsage() {
}
}
}
+
+void TilesetEditor::on_copyButton_metatileLabel_clicked() {
+ QClipboard * clipboard = QGuiApplication::clipboard();
+ QString label = this->ui->lineEdit_metatileLabel->text();
+ if (!label.isEmpty()) {
+ Tileset * tileset = Tileset::getMetatileTileset(this->getSelectedMetatileId(), this->primaryTileset, this->secondaryTileset);
+ if (tileset)
+ label.prepend("METATILE_" + QString(tileset->name).replace("gTileset_", "") + "_");
+ }
+ clipboard->setText(label);
+}