From e97a9d924d64e78c9dd6a495df41fba3496ab3ee Mon Sep 17 00:00:00 2001 From: Treeway <56928485+Treeway7@users.noreply.github.com> Date: Tue, 12 Sep 2023 14:40:10 -0500 Subject: [PATCH] Deselect (Ctrl+Shift+A) (#83) * Feature: Edit > Deselect * Better deselect icon --- coinkiller_data/icons/deselect.png | Bin 0 -> 2982 bytes leveleditor/editmanager.cpp | 5 +++++ leveleditor/editmanager.h | 1 + leveleditor/leveleditorwindow.cpp | 10 ++++++++++ leveleditor/leveleditorwindow.h | 2 ++ leveleditor/leveleditorwindow.ui | 12 ++++++++++++ leveleditor/levelview.cpp | 6 ++++++ leveleditor/levelview.h | 1 + 8 files changed, 37 insertions(+) create mode 100644 coinkiller_data/icons/deselect.png diff --git a/coinkiller_data/icons/deselect.png b/coinkiller_data/icons/deselect.png new file mode 100644 index 0000000000000000000000000000000000000000..f4d4f73611d7722216c711941a0ecc5937417790 GIT binary patch literal 2982 zcmcgueNYo;9$v7@*WpK%J4c;y32H^$WV4$M*}Vh}1SCB|ISBHhr*3vPVN0?bHycT) zwH{m*%UmtC)2XSg*VExRy~8O`D{@k?FxKi#M`x<{(Vo=K;YUZP9_I(PdhaHYFST8%ElMtpmLy3HifJ$m0Sv?!6l6Mp2);B$ zBBEj8e2m0>TCaAl3k2kCjBG8Oyvdk#Y>zCYN4$Ejb zH|OC5*{9K}wG;RWj zYEogq2uhK{BSmgnc8Ze6q$=PAe_#x-^B%55rj^8L^`wr#NW!4SbXpYGjgeM!k`L5h z(bS^qD8e#S9#Et~MtBeH;xt~t6`rD$hO#O{1)SiLt4t~!n*@~c?Bwz1BpxJ-R(uAw zGR9YO>Gmtbr2-Gu8YfjghM82Em}cCpipN60A5@OS(XuGnMbT|iDY=1_pu+1Zunn9n zmX>J?EpuQo6vGjeM6{S)i%|qgp#}scD0CcOWO--szhv8NltpCxir1|clS(-z6e}`3 zONAdfme%SRIupV4P8tDEPK0!TCoQhmvKUGN)bVhmK*}okWLjW2MG9y01&cWy~ z2ZvxRrbl!r3MBLljj$-oIUJb;jxzK(36ONqk!bh$T`5v5kfNP9%iyFF;T#x&=xBmO z420Hz;Itk?iAJm4Af}2ITpVcM(dO`Q3jdgTU@SwBxYmIf zSSAzE;RYO`9S%K0>R84>6D*-6nThH?(J9x^5@&V+mw>Q9Z1YvOH@h*XrU~nCwYW>5EM zxhx-g%&2+9g%QHI+Z9wQG6rsKaQ$mW?|<+z`USxWz;_b(J~&st>vafxW8u!x%1KUz~-kiJOXDN*v-s?!I^rM}_Ng>^$boHxs)jd5s z`wrAMwzp1it%L8xT)K8?{}t8Z`b%j;E zdo71b%YT!Yvg_-(2lW@f4843cJu`jol%wn2_n04D`Rmk>|L^y+4qqQg=znQiYscY_ z{ss+XSr2{q!MC%}Bgt#men(8vbMFu@7!- z9D&%Dga4f0-#>G%ruf#;lU-BZIrjYv&7WVKvAa$>{4Dgf1U~r^y!jPA2uhl*{9>Tc zp1Gh_&sr^Jd-==P-!u#L=*-*)_D=KptLFT&Q`GazrVh@Ue(sAjI3^Cw=!Z`ob-lIx z`DH9)EN!Tp)7=|8|3R?cboiGQht$~on{5Mw_qMbzftK25V>dcIu7Tm|d$VF!HXry^ z!}OP$3(j8F=WqM2^4PDN`dU6c9kN|pHBvY`qk^JGv55&5+}V3(jp@a-HV7+Sy!*h@ z7ofCz2e+*L_KlX)7h>Vx=G=hI7hkcNzMpX>progressPaths) foreach (ProgressPathNode* node, path->getNodes()) selectedObjects.append(node); } +void EditManager::deselect() +{ + selectedObjects.clear(); +} + void EditManager::selectZoneContents(Zone* zone) { selectAll(); diff --git a/leveleditor/editmanager.h b/leveleditor/editmanager.h index 0c0d6a4..fdca9fc 100644 --- a/leveleditor/editmanager.h +++ b/leveleditor/editmanager.h @@ -50,6 +50,7 @@ class EditManager : public QObject void select(Object* obj); void selectAll(); + void deselect(); void selectZoneContents(Zone* zone); diff --git a/leveleditor/leveleditorwindow.cpp b/leveleditor/leveleditorwindow.cpp index a3a756c..da02109 100644 --- a/leveleditor/leveleditorwindow.cpp +++ b/leveleditor/leveleditorwindow.cpp @@ -66,6 +66,7 @@ LevelEditorWindow::LevelEditorWindow(LevelManager* lvlMgr, int initialArea) : ui->actionCopy->setIcon((QIcon(basePath + "copy.png"))); ui->actionDelete->setIcon(QIcon(basePath + "delete.png")); ui->actionSelectAll->setIcon(QIcon(basePath + "select_all.png")); + ui->actionDeselect->setIcon(QIcon(basePath + "deselect.png")); ui->actionRaise->setIcon(QIcon(basePath + "raise.png")); ui->actionLower->setIcon(QIcon(basePath + "lower.png")); ui->actionRaiseLayer->setIcon(QIcon(basePath + "layer_up.png")); @@ -423,6 +424,13 @@ void LevelEditorWindow::on_actionSelectAll_triggered() levelView->selectAll(); } + +void LevelEditorWindow::on_actionDeselect_triggered() +{ + this->deselect(); + levelView->deselect(); +} + void LevelEditorWindow::on_actionRaise_triggered() { levelView->raise(); @@ -967,3 +975,5 @@ void LevelEditorWindow::paintEvent(QPaintEvent* evt) //ui->levelViewArea->horizontalScrollBar()->height() } #endif + + diff --git a/leveleditor/leveleditorwindow.h b/leveleditor/leveleditorwindow.h index ffa83ec..07dc3e9 100644 --- a/leveleditor/leveleditorwindow.h +++ b/leveleditor/leveleditorwindow.h @@ -128,6 +128,8 @@ private slots: void on_actionSelectAll_triggered(); + void on_actionDeselect_triggered(); + void on_actionShowMinimap_toggled(bool checked); void on_actionShowToolbox_toggled(bool checked); diff --git a/leveleditor/leveleditorwindow.ui b/leveleditor/leveleditorwindow.ui index 4541233..df02002 100644 --- a/leveleditor/leveleditorwindow.ui +++ b/leveleditor/leveleditorwindow.ui @@ -106,6 +106,7 @@ + @@ -550,6 +551,17 @@ Preferences + + + Deselect + + + Deselect + + + Ctrl+Shift+A + + diff --git a/leveleditor/levelview.cpp b/leveleditor/levelview.cpp index bcab501..23f1bc0 100644 --- a/leveleditor/levelview.cpp +++ b/leveleditor/levelview.cpp @@ -776,6 +776,12 @@ void LevelView::selectAll() update(); } +void LevelView::deselect() +{ + editManager->deselect(); + update(); +} + void LevelView::deleteSel() { editManager->deleteSelection(); diff --git a/leveleditor/levelview.h b/leveleditor/levelview.h index 82e09a6..983e822 100644 --- a/leveleditor/levelview.h +++ b/leveleditor/levelview.h @@ -48,6 +48,7 @@ class LevelView : public QWidget void paste(); void cut(); void selectAll(); + void deselect(); void deleteSel(); void raise(); void lower();