From e424e943d4f13ed03aead054f0fe34fe0078e42b Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 Date: Sun, 30 Nov 2025 21:17:07 +0100 Subject: [PATCH] Added lots of icons in image editor --- src/editor/dialogs/editspritedialog.ui | 32 +++++- src/editor/dialogs/imageeditordialog.cpp | 128 +++++++++++++++++++++ src/editor/dialogs/imageeditordialog.h | 16 +++ src/editor/dialogs/imageeditordialog.ui | 15 +++ src/editor/icons/add (Kopie).png | Bin 4769 -> 0 bytes src/editor/icons/add-from-file.png | Bin 0 -> 4037 bytes src/editor/icons/add-from-strip.png | Bin 0 -> 5905 bytes src/editor/icons/add-sprite.png | Bin 0 -> 2609 bytes src/editor/icons/create-from-file.png | Bin 0 -> 3956 bytes src/editor/icons/create-from-strip.png | Bin 0 -> 5499 bytes src/editor/icons/insert-sprite.png | Bin 0 -> 2482 bytes src/editor/icons/new.png | Bin 2830 -> 1426 bytes src/editor/icons/pen.png | Bin 0 -> 4176 bytes src/editor/icons/zoom-in.png | Bin 0 -> 7098 bytes src/editor/icons/zoom-original.png | Bin 0 -> 7171 bytes src/editor/icons/zoom-out.png | Bin 0 -> 6878 bytes src/editor/insert-sprite.png | Bin 0 -> 1426 bytes src/editor/resources_editor.qrc | 30 +++-- src/editor/widgets/drawingcanvaswidget.cpp | 2 +- src/editor/widgets/drawingcanvaswidget.h | 4 +- src/editor/widgets/zoomablescrollarea.cpp | 2 +- 21 files changed, 213 insertions(+), 16 deletions(-) delete mode 100644 src/editor/icons/add (Kopie).png create mode 100644 src/editor/icons/add-from-file.png create mode 100644 src/editor/icons/add-from-strip.png create mode 100644 src/editor/icons/add-sprite.png create mode 100644 src/editor/icons/create-from-file.png create mode 100644 src/editor/icons/create-from-strip.png create mode 100644 src/editor/icons/insert-sprite.png create mode 100644 src/editor/icons/pen.png create mode 100644 src/editor/icons/zoom-in.png create mode 100644 src/editor/icons/zoom-original.png create mode 100644 src/editor/icons/zoom-out.png create mode 100644 src/editor/insert-sprite.png diff --git a/src/editor/dialogs/editspritedialog.ui b/src/editor/dialogs/editspritedialog.ui index c1e118e..0bbc087 100644 --- a/src/editor/dialogs/editspritedialog.ui +++ b/src/editor/dialogs/editspritedialog.ui @@ -214,7 +214,7 @@ - :/qtgameengine/icons/open.png:/qtgameengine/icons/open.png + :/qtgameengine/icons/create-from-file.png:/qtgameengine/icons/create-from-file.png &Create from file... @@ -226,7 +226,7 @@ - :/qtgameengine/icons/create-group.png:/qtgameengine/icons/create-group.png + :/qtgameengine/icons/add-from-file.png:/qtgameengine/icons/add-from-file.png &Add from file... @@ -251,6 +251,10 @@ + + + :/qtgameengine/icons/create-from-strip.png:/qtgameengine/icons/create-from-strip.png + Create from Strip... @@ -259,6 +263,10 @@ + + + :/qtgameengine/icons/add-from-strip.png:/qtgameengine/icons/add-from-strip.png + Add from Stri&p... @@ -334,6 +342,10 @@ + + + :/qtgameengine/icons/blue-arrow-left.png:/qtgameengine/icons/blue-arrow-left.png + Move &Left @@ -342,6 +354,10 @@ + + + :/qtgameengine/icons/blue-arrow-right.png:/qtgameengine/icons/blue-arrow-right.png + &Move Right @@ -350,6 +366,10 @@ + + + :/qtgameengine/icons/add-sprite.png:/qtgameengine/icons/add-sprite.png + &Add Empty @@ -358,6 +378,10 @@ + + + :/qtgameengine/icons/insert-sprite.png:/qtgameengine/icons/insert-sprite.png + &Insert Empty @@ -366,6 +390,10 @@ + + + :/qtgameengine/icons/pen.png:/qtgameengine/icons/pen.png + Edit... diff --git a/src/editor/dialogs/imageeditordialog.cpp b/src/editor/dialogs/imageeditordialog.cpp index 2f774e4..02374e1 100644 --- a/src/editor/dialogs/imageeditordialog.cpp +++ b/src/editor/dialogs/imageeditordialog.cpp @@ -41,11 +41,45 @@ ImageEditorDialog::ImageEditorDialog(const QPixmap &pixmap, const QString &title m_ui->actionCut->setShortcut(QKeySequence::Cut); m_ui->actionCopy->setShortcut(QKeySequence::Copy); m_ui->actionPaste->setShortcut(QKeySequence::Paste); + m_ui->actionZoomIn->setShortcut(QKeySequence::ZoomIn); + m_ui->actionZoomOut->setShortcut(QKeySequence::ZoomOut); m_ui->scrollArea->setBackgroundRole(QPalette::Dark); + connect(m_ui->actionNew, &QAction::triggered, + this, &ImageEditorDialog::newFile); + connect(m_ui->actionOpen, &QAction::triggered, + this, &ImageEditorDialog::openFile); connect(m_ui->actionSaveAsPngFile, &QAction::triggered, this, &ImageEditorDialog::saveAsPng); + connect(m_ui->actionPreviousImage, &QAction::triggered, + this, &ImageEditorDialog::previousSprite); + connect(m_ui->actionNextImage, &QAction::triggered, + this, &ImageEditorDialog::nextSprite); + connect(m_ui->actionUndo, &QAction::triggered, + this, &ImageEditorDialog::undo); + connect(m_ui->actionRedo, &QAction::triggered, + this, &ImageEditorDialog::redo); + connect(m_ui->actionEraseToLeftColor, &QAction::triggered, + this, &ImageEditorDialog::eraseToLeftColor); + connect(m_ui->actionDelete, &QAction::triggered, + this, &ImageEditorDialog::delete_); + connect(m_ui->actionCut, &QAction::triggered, + this, &ImageEditorDialog::cut); + connect(m_ui->actionCopy, &QAction::triggered, + this, &ImageEditorDialog::copy); + connect(m_ui->actionPaste, &QAction::triggered, + this, &ImageEditorDialog::paste); + connect(m_ui->actionPasteFromFile, &QAction::triggered, + this, &ImageEditorDialog::pasteFromFile); + connect(m_ui->actionSelectAll, &QAction::triggered, + this, &ImageEditorDialog::selectAll); + connect(m_ui->actionZoomIn, &QAction::triggered, + this, &ImageEditorDialog::zoomIn); + connect(m_ui->actionNoZoom, &QAction::triggered, + this, &ImageEditorDialog::resetZoom); + connect(m_ui->actionZoomOut, &QAction::triggered, + this, &ImageEditorDialog::zoomOut); connect(m_ui->actionSetTransparencyBackground, &QAction::triggered, this, &ImageEditorDialog::transparentBackgroundSettings); @@ -204,6 +238,30 @@ void ImageEditorDialog::reject() } } +void ImageEditorDialog::newFile() +{ + if (m_unsavedChanges) + { + if (QMessageBox::warning( + this, + tr("The Image has been modified."), + tr("Do you really want to start new?"), + QMessageBox::Ok | QMessageBox::Cancel + ) != QMessageBox::Ok) + return; + } + + QPixmap pixmap{m_ui->canvas->pixmap().size()}; + pixmap.fill(Qt::transparent); + m_ui->canvas->setPixmap(pixmap); + changed(); +} + +void ImageEditorDialog::openFile() +{ + QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented")); +} + void ImageEditorDialog::saveAsPng() { const auto &image = m_ui->canvas->image(); @@ -216,6 +274,76 @@ void ImageEditorDialog::saveAsPng() saveImage(this, image); } +void ImageEditorDialog::previousSprite() +{ + QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented")); +} + +void ImageEditorDialog::nextSprite() +{ + QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented")); +} + +void ImageEditorDialog::undo() +{ + QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented")); +} + +void ImageEditorDialog::redo() +{ + QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented")); +} + +void ImageEditorDialog::eraseToLeftColor() +{ + QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented")); +} + +void ImageEditorDialog::delete_() +{ + QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented")); +} + +void ImageEditorDialog::cut() +{ + QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented")); +} + +void ImageEditorDialog::copy() +{ + QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented")); +} + +void ImageEditorDialog::paste() +{ + QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented")); +} + +void ImageEditorDialog::pasteFromFile() +{ + QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented")); +} + +void ImageEditorDialog::selectAll() +{ + QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented")); +} + +void ImageEditorDialog::zoomIn() +{ + m_ui->canvas->setZoom(m_ui->canvas->zoom() * 2.f); +} + +void ImageEditorDialog::resetZoom() +{ + m_ui->canvas->setZoom(1.f); +} + +void ImageEditorDialog::zoomOut() +{ + m_ui->canvas->setZoom(m_ui->canvas->zoom() / 2.f); +} + void ImageEditorDialog::transparentBackgroundSettings() { TransparentBackgroundSettingsDialog dialog{m_settings, this}; diff --git a/src/editor/dialogs/imageeditordialog.h b/src/editor/dialogs/imageeditordialog.h index c832766..965292c 100644 --- a/src/editor/dialogs/imageeditordialog.h +++ b/src/editor/dialogs/imageeditordialog.h @@ -28,7 +28,23 @@ public: void reject() override; private slots: + void newFile(); + void openFile(); void saveAsPng(); + void previousSprite(); + void nextSprite(); + void undo(); + void redo(); + void eraseToLeftColor(); + void delete_(); + void cut(); + void copy(); + void paste(); + void pasteFromFile(); + void selectAll(); + void zoomIn(); + void resetZoom(); + void zoomOut(); void transparentBackgroundSettings(); void changed(); diff --git a/src/editor/dialogs/imageeditordialog.ui b/src/editor/dialogs/imageeditordialog.ui index 806f29c..0bed58e 100644 --- a/src/editor/dialogs/imageeditordialog.ui +++ b/src/editor/dialogs/imageeditordialog.ui @@ -1054,16 +1054,31 @@ + + + :/qtgameengine/icons/zoom-out.png:/qtgameengine/icons/zoom-out.png + Zoom &Out + + + :/qtgameengine/icons/zoom-original.png:/qtgameengine/icons/zoom-original.png + &No Zoom + + Ctrl+0 + + + + :/qtgameengine/icons/zoom-in.png:/qtgameengine/icons/zoom-in.png + Zoom &In diff --git a/src/editor/icons/add (Kopie).png b/src/editor/icons/add (Kopie).png deleted file mode 100644 index 5ff86296a591b72412f7aa831f43561ae6a12ddd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4769 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 literal 0 HcmV?d00001 diff --git a/src/editor/icons/add-from-strip.png b/src/editor/icons/add-from-strip.png new file mode 100644 index 0000000000000000000000000000000000000000..d7349afb44b0828cd4360c35114d34a63ee293e5 GIT binary patch literal 5905 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 Vce>~ygJ@8L&C}J-Wt~$(69CxOt7iZJ literal 0 HcmV?d00001 diff --git a/src/editor/icons/create-from-file.png b/src/editor/icons/create-from-file.png new file mode 100644 index 0000000000000000000000000000000000000000..33c0f45c6384b1a3123a1bc41aa0f6eb23316d31 GIT binary patch literal 3956 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 TJy*#GH1z4|>gTe~DWM4f5t^k5 literal 0 HcmV?d00001 diff --git a/src/editor/icons/insert-sprite.png b/src/editor/icons/insert-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..c92baf043a8274939a46de1600002485ee9ffb17 GIT binary patch literal 2482 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 Ai2wiq literal 0 HcmV?d00001 diff --git a/src/editor/icons/new.png b/src/editor/icons/new.png index c4e0380d7a6e2acc4b96d8e6ca4425522733b139..58f3df01d5dcfd78c8ea57dcac1c0600f76123c4 100644 GIT binary patch delta 1347 zcmeAZo5VdqvYv&3fq@}mXD9;$153K2uOkD)O_n>GZZR=1Ffb)~ySp$jtm;)ZVqjq4 zEbxddW?*3O0Ash4*>)hovI56+1_lNPFn;yYF$IrM56*KsIX zd|_Ze;^pDd;e51PE0x>V=5xV^>PI*H-fH%Xo_;M`UH5r@`m@TkH4G2L=6{W^DlOP& zyr5C{LjAqU$G5&t?tX4w8?xiq7y0(a7jEtf^{4f>@3*eL^>;_vS-+Z(zgHNCoT!y! z^F7eSSO0hK-12kte%`XZA(HS+>Z(hfvqOVpf%;$X<>zZ&-@C!%FoErAyFa(n0kgd) zH+t*u`LVJ%*SI0=>hV~?3&}qDm+sp?uU)t*v>M0{vfcmol^63m zX>)0aXazYwf7i~j_~nuMv%6Q`(`C+Rd*C9#C)IoE&)&0o)o=XN|5?6g{`&3I-Mf)3Ir1A}&0(*!%Lq zr_<{Cw}Kp8-KX1{u=Tnn8yP;6_;h7%`c?DFe18TXXO>pyb`w2|i3hAI-;4Pdm>he0 zPl|O`b>k@w$ybR5ldRd;w{MoI-6ee`z`2z#(IjBT3x&X%My-q#HU*w~_1;aBd_FsE zH}On&a9GZB;DVcZi`J31{lzUCDrM(1-Q4CXe?rMZlEE=RqDr!U1J?wnBgsq-k43Ic zEOyF#!(7>6;>LC1EX%4Z(5RBN!&cOwoMHWIc_)XzFK&+x1*8x?XXsEiz;La_Y9%^TuttTdO8}M{NfsdnROzqROL(60X=G|DO)$puZ8kk!d7@UV4b;eDsa<4E3!KZjoSMU=RVB9-LoVl$^@oTvS$a%jFOT9D}DXs{M_99ykfob%mdKI;Vst04nA~jsO4v delta 2744 zcmbQl-6u9dvYw5Bfnil<;XMWh2DT(`cNYdQ`02d6o`HdZv%n*=n1R9b5(qP{aP9g5 z5-cllOlM$VZ~)_1pMNAUFmNh*x;TbZ+YFX(!6Wh^awx?lc)+wrUHYK_Vc zq8(iI3|S1Uo~O^5H-sjzzIelyl*1^JH;>^FL+}9|17@p0CJt@}i=3|wVkfLN@Z4dW zcIy2O@s5ow3tk4VF^#D?U$yEC(|jgdE}!5EM^O`|niD({tdkjYC#Y@UThpM!Xx_+r zLGJ_~$741$ci+pTR1x-D%A ztGQ0EDiVK^{J^T9_t4U94h8I{ubzCKZlE+N`u7g4=b>LYni#BZ-8(#U{i>Q@ol8#{ z``@$u_9Ex;iH*u{Pp*tgUnHi!)#8j+<9ye7vstIUa5546U!muFKWp7}eO=YeNlRv4 z7E3H#HS3Qx*JcON`sFguMRqVgnLS&Y7$=GXJs^B=z@eqdbD z!nrSg>eJFArB0ro)$VRl^}MEZ+B)d6nVU`F-t`G*k{|7w+BGA+PxWPd<`(9)=6}B| z?*IDhrEqq>kAF$%RGB5>3h&KcKmQ$Puz@`#^4|`_XH(Vv&(^;?ba{DaJyU(WmHwpQ z?&&jD=@<#>2X;?e>DrbxC6F`vh@;bk)F1bXT|SC47R-@cwtSz~#QN5iTeM&6sz*e8 znYW{I`K_59mrIXdWZA-M^f_$ z)OW3vS-+z!HuTj29)p8w`Zq)m2yZ?$`#raD=rgAKU)8e&z1Pl}nr8KjL(4$&y5}aV znYoK@9WeA|y1!J&&PitO;nMR7bGmn&JDNMsxb=O#bn>}}yTWJAi#c-Z>IDgF=GDOm zvNqPYoDw-Il*#_7!HYv%cgFl9;)0KN=_N7*zEC!DV&OXW#3yV@)S8gRbG&90l)U0u z{w!YM!*c^6WuYLQzt*W|7XSEX-Y9baeZcCg&JXjSZ+dcx=}zy#BM!Yv^)L8X5^gg* zv|>AN%(Cxz#&7){Y>NUoYgNDKHqL)+>1$IibX-RIP`#IYa!pO}RGr;#H0Cxa6~6lW zp4ou;YNq2>4G!1iOAV?*SRIZe^|{nRW5qo_S@r*Xu1V zWqvf3`QB+c$rH>;{C34seMe^b`byeXnk-q(=e~NG53`&4bqk*(id!!%m#Vs=G~G*K z!hX+7Z-rRyyPxT-XUsZv^3wfFnR~ll>#TVErEQJGwzEI)uVXlOPBT4CG&?uFN~-!} zNUKGk$E1=abJ-o2bWaph^6kk~5K2@z(9wPNzt6ONZLjOuC;r%Hdh?I$r67Vzbq7t^UcYe{dz*B`*-X5qYvpZ)?cw!>rLtwr3HOiR zihizSymH&8o%F4cJu!euME)wnRRL9}&cITx-Kh;MAx=fv zp26o=%@Xs7%wRsdkTEA@&*Q@#stXEtUhHm=SkVyHsHL>|dqMr_Z*My$K3*|b&C@1( z?G?>U``M(^S^xe$5ODf|qsL3#`m3)+cHiTiV0OXriOB`;gSVgj49%$%oyaNkJV{c4 zH|g1lx5_0}vC*ryU3b|e8hXtk%!{G6SGM8Nk?d707ua4dn#CY_%4AjSn%aJyzoKUK z!b|xidTiPr*YO_zE2Jd1bMC^sJLf*Htd)#lie$?Zooe(a?S;b95Y0>9SWH}xG&$8z z`^P=|KTr1hhI>maUT`ufKG&=KCp9VVV5$G4rCzH=pJ%?hCz=>IwZFl2+u7+GSs3_M zxobAX#p&JUtK8Rg)}Dz|z)z%MgNWftXHJED<)U_-^%ru&HsxL4uf51zlh0+>hU3f= z*D5br@#^0^^_A^L-GKpy9CA(#UZNMpqSmD~)$1C2PFJ!!(&01txvtdNqdB>Is~%sO zDgA!^T0b)z^V@|g+syd`xEP`*uex}e?TJzUigu3%kB$sc-Q?y8qLN%r4^8bnSk6pX z_Ik}4J(aJ&Zt~ZEZ$E!M{?EJfg@5?VOg=Km1(?~~V%}J7@@!EN&qXe!)ef=~#WI>E zY)ouuel)$_`-M&Bu2ZjGv2VNFDSZ55by;0M1J`$bGq>M&f5%O33S#UPSmt=^#IfJ~ zpWIV<6r3#ER=Hk%vnyFvs)1?6q8I=A|M78paY#*@_F~$52LYD5lkVTWf8rs-l-#_T zO#Gp@Z(l#8y}jq`-`qRVJTF)e8cyYVIIFsg@yqmshRq8CSf16ty_~#+L8E!WwESiA zW$U*~Y~wv<$8f=y;mJalL%(mEx!nKGmauqZV%n{PK>@ONwmoEgu}ssTZ_=d`wafv1 zHHNImG#PSS{wE$w>#uG!l9oB|dElH%rVGQbt9`X{20P?3tZh!2J1f7gFtqT_jm>?;@SJ+Py6|9npVk7w=~9c;D`y3NgS_g^9lgG);E zk?a4AcD#2_s%BX*``^1|vG;lQetC5I&j)sUrSrwh<4g59RxK*)>H2m~^H-VI;)^A5 zRUe<)G7B6Kp19%eyD#~!nhBvBvyQJ4Ii9fVA?K>1=jY~nbY-i`egAO%?lOn>^=oeC zn$BKp;=4I-xv-CqFW>ZhxdlfgYR)gem@y$W^6#~^x4jCrmy|cm;N@CSzVZOWyLS1w z>in|2Z+o}jt9yND^Z7Uhp2Hh&aeZH+aeaOK^Y{NN!e^g-7JqNwpKnq}dnfF9b9&n8 zx$kOUYsKx3IPmY;_4V=AA76CNXSlz+@bfRr^Yx#i+!r6WsS$rt-$zz1w%rDz~~D9e!_T z)zkj`KP$_FZFEmxU@-fCZi+$Gd7kp^4<2l>6b`dXeA3Qpu_;+tqcs}%$52k*Rsfp7=#!ZTN#;I8CpOj(%;xRPF}|%C2go{Xc%H(X=P|=Wnu}D zW9t=8Vqjn}nf#c=px!;eN8d=#KtCsoZ3WEg-29Zxv`PY2Gq#27Vqjp91i3XhKdq!Z zu_%?Hyu4g5GcUV1Ik6yBFTW^#_B$IX1_lOkh@#S>qRJ+{N zgFn?W85kH85NhH>gM1h=N=gc>^z{>qO7zn6@^it)=^H(nSP5#Adb;|#taD0e0s!;s BlFzskn7_W@Uwl>%HUqP1DcM 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 k$Oqs9XaCx@%A-Zjn&x@_$8 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 V-{{H2N(Kf722WQ%mvv4FO#mH^m6QMg literal 0 HcmV?d00001 diff --git a/src/editor/insert-sprite.png b/src/editor/insert-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..58f3df01d5dcfd78c8ea57dcac1c0600f76123c4 GIT binary patch literal 1426 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4i*Lm28M*4p$rTREa{HEjtmSpS?+AQ#l*nC zz?9_e?!v&Zs#n>Ffq{Xuz$3Dlfq}sTjNMLV+kphj3LMix=7905&p#3v7+5$wT^vI) z?j4=!+ke|d;&}bzBcA5B(`l>blSK)1OtQ ztzmc|HvemURcXOK;{}bn7wYd-KECyJa`$ud+K?T;zR0&XzHoC_s6Va0eZO_}t-m|U z&id7S{Jp|B$y3P?=SZ~ z^;cf94a+!$<}$Mca31Qbzqfl`&2O$F$r0}PK|B(l1=N=*|8M#}v1&cnf|>kF#8iAc z1<J{THCx3mD8n*c_)e0HVvGF@$aj_ghYA_b{+y0Y zI}>r?vBln(4?dk%*S{6y;Oaiz)`YFsE!oKMnZ&0nbJMSySLXXO_&Bq)I=7qXSxh`& zRry}bzrf_!(|b~^v#J|UX-K|GESO}?#=d>COzke|D*?`}e2FFjGhQeJ)--Bmq_8RQ zsP}G~E=A*8@MJo z9Z6<#cr0>lVzE=^8|KOm6F064XIWNVnKtQ?S?CFKU7Pj49J(a~Bfn0HSaJ+~#`G^@>|p2l1nYM-VZS|%GX@5U;vhG*3(S5v(h zE;-FkVfpwZlz-n9PTxzMH(eI(x;pzsSh9%6mc0&~Z7FrLXRf@=`f_LOY8lqD&x?{8 zmiDaJJ7tT+0wrax^nz%CAX)B5UnlBnpY1yQZ{uy&T?#VKKQT&MChq$?H8!EVFzCu2 z_Dy;nYmaGcXkU1ZK}R#8yi_IC@5VW|TuY~;AvqeSQf?cG=0>gwJ+O_t?S8Pshw{p?tMPb($psI&ap?c7dSC6FqndD@X1V0%_~l2$S5f(u+rBD+m%_Cnw+1To1a&#mtT~wp94`+tncF< z;G=J(XQ*#|aEk;31A_?2fZ+VnqU2Nt=c3BulEfSZ=bY5UqOXshuV7$cutLbkhX(n; q?SPtHo|&DQo0^iD2(|^p(}$W84>o1}KG$SWS?lTQ=d#Wzp$P!C`c~8c literal 0 HcmV?d00001 diff --git a/src/editor/resources_editor.qrc b/src/editor/resources_editor.qrc index fe47c6e..7964bc1 100644 --- a/src/editor/resources_editor.qrc +++ b/src/editor/resources_editor.qrc @@ -1,6 +1,5 @@ - icons/action.png icons/action-execute-code.png icons/action-move-fixed.png icons/action-move-free.png @@ -8,6 +7,10 @@ icons/action-set-gravity.png icons/action-speed-horizontal.png icons/action-speed-vertical.png + icons/action.png + icons/add-from-file.png + icons/add-from-strip.png + icons/add-sprite.png icons/add.png icons/arrow-down.png icons/arrow-left.png @@ -15,12 +18,23 @@ icons/arrow-up.png icons/background-file.png icons/background.png + icons/blue-arrow-down-left.png + icons/blue-arrow-down-right.png + icons/blue-arrow-down.png + icons/blue-arrow-left.png + icons/blue-arrow-right.png + icons/blue-arrow-up-left.png + icons/blue-arrow-up-right.png + icons/blue-arrow-up.png + icons/blue-stop.png icons/cascade.png icons/center.png icons/check.png icons/constants.png icons/copy.png icons/create-executable.png + icons/create-from-file.png + icons/create-from-strip.png icons/create-group.png icons/create.png icons/cut.png @@ -54,6 +68,7 @@ icons/import-resources.png icons/included-files.png icons/info.png + icons/insert-sprite.png icons/isometric.png icons/lock.png icons/merge.png @@ -67,6 +82,7 @@ icons/paste.png icons/path-file.png icons/path.png + icons/pen.png icons/preferences.png icons/print.png icons/properties.png @@ -97,14 +113,8 @@ icons/trigger.png icons/undo.png icons/unlock.png - icons/blue-arrow-down.png - icons/blue-arrow-down-left.png - icons/blue-arrow-down-right.png - icons/blue-arrow-left.png - icons/blue-arrow-right.png - icons/blue-arrow-up.png - icons/blue-arrow-up-left.png - icons/blue-arrow-up-right.png - icons/blue-stop.png + icons/zoom-in.png + icons/zoom-original.png + icons/zoom-out.png diff --git a/src/editor/widgets/drawingcanvaswidget.cpp b/src/editor/widgets/drawingcanvaswidget.cpp index 2e36e42..3641d60 100644 --- a/src/editor/widgets/drawingcanvaswidget.cpp +++ b/src/editor/widgets/drawingcanvaswidget.cpp @@ -32,7 +32,7 @@ void DrawingCanvasWidget::setPixmap(const QPixmap &pixmap) update(); } -void DrawingCanvasWidget::setScale(float zoom) +void DrawingCanvasWidget::setZoom(float zoom) { if (m_zoom == zoom) return; diff --git a/src/editor/widgets/drawingcanvaswidget.h b/src/editor/widgets/drawingcanvaswidget.h index 33d94f7..81af963 100644 --- a/src/editor/widgets/drawingcanvaswidget.h +++ b/src/editor/widgets/drawingcanvaswidget.h @@ -10,7 +10,7 @@ class DrawingCanvasWidget : public QWidget { Q_OBJECT - Q_PROPERTY(float zoom READ zoom WRITE setScale NOTIFY zoomChanged FINAL) + Q_PROPERTY(float zoom READ zoom WRITE setZoom NOTIFY zoomChanged FINAL) Q_PROPERTY(QColor leftButtonColor READ leftButtonColor WRITE setLeftButtonColor NOTIFY leftButtonColorChanged FINAL) Q_PROPERTY(QColor rightButtonColor READ rightButtonColor WRITE setRightButtonColor NOTIFY rightButtonColorChanged FINAL) Q_PROPERTY(TransparentBackgroundPattern transparentBackgroundPattern READ transparentBackgroundPattern WRITE setTransparentBackgroundPattern NOTIFY transparentBackgroundPatternChanged FINAL) @@ -46,7 +46,7 @@ public: void setPixmap(const QPixmap &pixmap); float zoom() const { return m_zoom; } - void setScale(float zoom); + void setZoom(float zoom); QColor leftButtonColor() const { return m_leftButtonColor; } void setLeftButtonColor(const QColor &LeftButtonColor); diff --git a/src/editor/widgets/zoomablescrollarea.cpp b/src/editor/widgets/zoomablescrollarea.cpp index 0121b52..dceb799 100644 --- a/src/editor/widgets/zoomablescrollarea.cpp +++ b/src/editor/widgets/zoomablescrollarea.cpp @@ -23,7 +23,7 @@ void ZoomableScrollArea::wheelEvent(QWheelEvent *event) else zoom /= 2; - w->setScale(zoom); + w->setZoom(zoom); event->accept(); }