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
noscrollcombobox.h
- + + + 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); +}