From d1883720c93219653d4a971f79a96567410caf07 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 10 Feb 2022 09:53:04 -0500 Subject: [PATCH 1/5] Add metatile label copy button --- forms/tileseteditor.ui | 104 ++++++++++++++++++++++--------------- include/ui/tileseteditor.h | 2 + src/ui/tileseteditor.cpp | 11 ++++ 3 files changed, 75 insertions(+), 42 deletions(-) diff --git a/forms/tileseteditor.ui b/forms/tileseteditor.ui index 960142d5..0e8777df 100644 --- a/forms/tileseteditor.ui +++ b/forms/tileseteditor.ui @@ -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,33 @@ - - - - - + + - Qt::Vertical + Qt::Horizontal - 20 - 40 + 40 + 20 + + + + ... + + + + + + + true + + + @@ -415,7 +435,7 @@ 0 0 384 - 265 + 262 diff --git a/include/ui/tileseteditor.h b/include/ui/tileseteditor.h index 1088d27e..832246aa 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(); + private: void initUi(); void setMetatileBehaviors(); diff --git a/src/ui/tileseteditor.cpp b/src/ui/tileseteditor.cpp index 540ef66c..e8db7fa5 100644 --- a/src/ui/tileseteditor.cpp +++ b/src/ui/tileseteditor.cpp @@ -1046,3 +1046,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->getSelectedMetatile(), this->primaryTileset, this->secondaryTileset); + if (tileset) + label.prepend("METATILE_" + QString(tileset->name).replace("gTileset_", "") + "_"); + } + clipboard->setText(label); +} From d548d3e025ac00f190f2d6d666077bf194d15bfa Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 10 Feb 2022 09:58:22 -0500 Subject: [PATCH 2/5] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7adeae8e..c6df5f22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ The **"Breaking Changes"** listed below are changes that have been made in the d ### Added - 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. From 60d407fe8050152490d977b5acb6bfd718b401dd Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 10 Feb 2022 10:07:08 -0500 Subject: [PATCH 3/5] Add tool tip / icon for metatile label copy button --- forms/tileseteditor.ui | 23 +++++--- resources/icons/clipboard.ico | Bin 0 -> 1485 bytes resources/images.qrc | 105 +++++++++++++++++----------------- 3 files changed, 69 insertions(+), 59 deletions(-) create mode 100644 resources/icons/clipboard.ico diff --git a/forms/tileseteditor.ui b/forms/tileseteditor.ui index 0e8777df..6fcfaf27 100644 --- a/forms/tileseteditor.ui +++ b/forms/tileseteditor.ui @@ -6,7 +6,7 @@ 0 0 - 700 + 727 700 @@ -271,7 +271,7 @@ - + @@ -315,9 +315,16 @@ + + <html><head/><body><p>Copies the full metatile label to the clipboard.</p></body></html> + ... + + + :/icons/clipboard.ico:/icons/clipboard.ico + @@ -434,8 +441,8 @@ 0 0 - 384 - 262 + 411 + 247 @@ -527,7 +534,7 @@ 0 0 - 700 + 727 22 @@ -660,10 +667,12 @@ NoScrollComboBox - QWidget + QComboBox
noscrollcombobox.h
- + + + diff --git a/resources/icons/clipboard.ico b/resources/icons/clipboard.ico new file mode 100644 index 0000000000000000000000000000000000000000..646e801703ad2bb95cdfdaa7165ece7ed798266b GIT binary patch literal 1485 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjjKx9jP7LeL$-D$|I14-?iy0XB zuY)k-HRCvYpn}NEkcg59UmvUF{9L`nl>DSry^7odplSvNn+hu+GdHy)QK2F?C$HG5 z!d3~a!V1U+3F|8Y3;nDA{o-C@9zzrKDK}xwt{K19`Se z86_nJR{Hwo<>h+i#(Mch>H3D2mX`VkM*2oZx=P7{9O-#x!EwNQn0$BtH5O0c3d|4@L;p!@;Rg)$-uzE>*?Yc;=$V* zYV954C^B#7_1NoQ1?4wHX>6L<&`~B8E6B2uGbwjv!a@bLxvkIGGg42~UpRM2!R@w) znIczGveZSVqsP7{f4^rv`Tgv@#dl5Z_|Djtr=7FBUwO7ir1I6v*RP{}mtWRg8nR$( z*`cq~XOzW;-@kWn*X-G|?;qUX(sbqW!~IXwtTu1jw5VC(grmiQfc3qzXG=f*UH9$D z6PNPR(!Z^(Dr+N-A5dK;v#3S>f^%l($^wUzDW7!Tf0lBx5ET_w66=mlRy^*ixs+?? z*SIJKcDcg-BfiafY3FMMRyuUuX>Vt*t*`$tr(|!iC%}ZQ?%tg{f4+YB@ZkUxhuee7 zc@a@jLLU7c#~(9&S*M#W>t zkJmdti)Lxqb5VPu-*VQ)3mw-f<}f??F`Js2vd#F-Frl=xv@Sba+jgO@o4kpMiAqn< zj*NdReU|?F_b>c%vZ(X9V-q|=btZc3IKz;YbUF8xfNKNqs}*zS%JK_t;Pqwk=b6

v+T~V zU%R@Ss)U7ww+LG1d|lLkE!YnpIMCoCq9=37r&!UIAu)o< zGIjr^jEUb{xq4bAUX;FH0Vx~=+0&RTDx|wMhi#7+LL?|va-GhoS$3f>u@xb*4FOb zv13Pq$(otRPe@5i&y1V?Hg_clLpNWS`$Bh4?Z`8|(^o`axOY#kr?=P8^;%fKi#f3- z>H;SY-ntbfR(rN-wpr@)3ud+|&t=-aUbqk-GgocqxyO%_8;ch#T)cYKDh;tfmH>e; z&Yp=q6P|`O7k{&UIx%SP?%l7?oj?D3$K)bqW#yuR0t2yIMtrUeHmw0=?d|Qk6X(5E z;&!R4s*)-xD`VTdd9zS@lls*cZGMuq+yYN!9B$O#HRC?LE_u45>7s4hrX73xlanLw zB-4iVJD(}OIj(IIzeD`us@1E%{`4uoWnPmk*E2os&JYr*5UMTwgyZf4J2_GINoRTO@tE&1X zYop3{-ffCk9A|iVcu`uK+r!#~DQE22@0VDGfaA&5xdmV1xA^Dz?^E8`+}vz@;@=^G{|v_~%-OBtvlBpN Ntf#A=%Q~loCIFtScl!VU literal 0 HcmV?d00001 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 + From aad12f61f12d4bec9416b216bd9e11696d9e9511 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 25 Mar 2022 11:55:07 -0400 Subject: [PATCH 4/5] Update clipboard icon --- resources/icons/clipboard.ico | Bin 1485 -> 1382 bytes 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 resources/icons/clipboard.ico diff --git a/resources/icons/clipboard.ico b/resources/icons/clipboard.ico old mode 100644 new mode 100755 index 646e801703ad2bb95cdfdaa7165ece7ed798266b..b2e11119dbf58b7dc0f4f8875d6fa16ebbedf86a GIT binary patch literal 1382 zcmV-s1)2JZP)sxMK?U8c z1w8tu11R4?{*DgZzWr7b?8Eo{@Dw!p$t0i*Ois<9G};Yq=H&kfnSL6CrcOWBJ#s&5 zDNO@4gxbo#+HxL0I1_>(8{)``f%!|$A{=z5v z16$^TLdSID+ zIu-XScx0CL_V$X`9}RznI{mF+MryCvxXKB6N#MD})~6r7yqlVykrSIFc<;VPLVG6+ zcFMWpg=PQP+E6bTjK!EbDWs6VAn=L63g={jWtB5H&uW9$uXJw4V$3842^vtON+Q5U zRAoSurpgvp5mDJ6DV%>ZriRKuKzzWhIDuhC8qh%EF%pSX$4n)lXpP5C7)bQWyIi40 z)EfGRmk5+bK#4X&OqH@R0A6a{fg9?shn=gz z)aZwJ@`YnK@?ZlBwXBH(X~Lq@8mp$M%u7DNCh(m^6Ie+m@LY$SM&t3$UP;5ulZ6|m zjp^?{#(@{##w&a3(J?Rscj;fL8%T3Z6*(bcCYc~13RIMc6pCY?fvY0NuVv>#*Cs*5 zu>m~$>T$f>vKh~vEJiUOq{V|o4M&j5qyY{?H%yzgwHw0C9LFSt|Cob8TIub00*Ai* z9nR84NM_dQiHe=jms*f16^D!YIXLi*2(53p35|_Ag@mC3^u0HXLqpSWO0ML3Bc6HU zHA07GO=6G`hUA29iAcC;eDpA$?;pd|^dr%FlX5V?J9In2%9 zDMwyM513K~!n>*}(Q^?Ci_WDSry^7odplSvNn+hu+GdHy)QK2F?C$HG5 z!d3~a!V1U+3F|8Y3;nDA{o-C@9zzrKDK}xwt{K19`Se z86_nJR{Hwo<>h+i#(Mch>H3D2mX`VkM*2oZx=P7{9O-#x!EwNQn0$BtH5O0c3d|4@L;p!@;Rg)$-uzE>*?Yc;=$V* zYV954C^B#7_1NoQ1?4wHX>6L<&`~B8E6B2uGbwjv!a@bLxvkIGGg42~UpRM2!R@w) znIczGveZSVqsP7{f4^rv`Tgv@#dl5Z_|Djtr=7FBUwO7ir1I6v*RP{}mtWRg8nR$( z*`cq~XOzW;-@kWn*X-G|?;qUX(sbqW!~IXwtTu1jw5VC(grmiQfc3qzXG=f*UH9$D z6PNPR(!Z^(Dr+N-A5dK;v#3S>f^%l($^wUzDW7!Tf0lBx5ET_w66=mlRy^*ixs+?? z*SIJKcDcg-BfiafY3FMMRyuUuX>Vt*t*`$tr(|!iC%}ZQ?%tg{f4+YB@ZkUxhuee7 zc@a@jLLU7c#~(9&S*M#W>t zkJmdti)Lxqb5VPu-*VQ)3mw-f<}f??F`Js2vd#F-Frl=xv@Sba+jgO@o4kpMiAqn< zj*NdReU|?F_b>c%vZ(X9V-q|=btZc3IKz;YbUF8xfNKNqs}*zS%JK_t;Pqwk=b6

v+T~V zU%R@Ss)U7ww+LG1d|lLkE!YnpIMCoCq9=37r&!UIAu)o< zGIjr^jEUb{xq4bAUX;FH0Vx~=+0&RTDx|wMhi#7+LL?|va-GhoS$3f>u@xb*4FOb zv13Pq$(otRPe@5i&y1V?Hg_clLpNWS`$Bh4?Z`8|(^o`axOY#kr?=P8^;%fKi#f3- z>H;SY-ntbfR(rN-wpr@)3ud+|&t=-aUbqk-GgocqxyO%_8;ch#T)cYKDh;tfmH>e; z&Yp=q6P|`O7k{&UIx%SP?%l7?oj?D3$K)bqW#yuR0t2yIMtrUeHmw0=?d|Qk6X(5E z;&!R4s*)-xD`VTdd9zS@lls*cZGMuq+yYN!9B$O#HRC?LE_u45>7s4hrX73xlanLw zB-4iVJD(}OIj(IIzeD`us@1E%{`4uoWnPmk*E2os&JYr*5UMTwgyZf4J2_GINoRTO@tE&1X zYop3{-ffCk9A|iVcu`uK+r!#~DQE22@0VDGfaA&5xdmV1xA^Dz?^E8`+}vz@;@=^G{|v_~%-OBtvlBpN Ntf#A=%Q~loCIFtScl!VU From 87b43080bac08dbb9a222eea9ab4a84d5730127d Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 30 Jun 2022 00:47:31 -0400 Subject: [PATCH 5/5] Fix auto-merge --- src/ui/tileseteditor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ui/tileseteditor.cpp b/src/ui/tileseteditor.cpp index 49292b61..ad3dd38b 100644 --- a/src/ui/tileseteditor.cpp +++ b/src/ui/tileseteditor.cpp @@ -1072,7 +1072,7 @@ 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->getSelectedMetatile(), this->primaryTileset, this->secondaryTileset); + Tileset * tileset = Tileset::getMetatileTileset(this->getSelectedMetatileId(), this->primaryTileset, this->secondaryTileset); if (tileset) label.prepend("METATILE_" + QString(tileset->name).replace("gTileset_", "") + "_"); }