change new event default action when tab is changed
This commit is contained in:
parent
2b55e49933
commit
34b88c97c7
1 changed files with 25 additions and 76 deletions
|
@ -2000,96 +2000,45 @@ QString MainWindow::getEventGroupFromTabWidget(QWidget *tab)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::eventTabChanged(int index)
|
void MainWindow::eventTabChanged(int index) {
|
||||||
{
|
if (editor->map) {
|
||||||
if (!isProgrammaticEventTabChange && editor->map != nullptr)
|
|
||||||
{
|
|
||||||
QString group = getEventGroupFromTabWidget(ui->tabWidget_EventType->widget(index));
|
QString group = getEventGroupFromTabWidget(ui->tabWidget_EventType->widget(index));
|
||||||
DraggablePixmapItem *selectedEvent = nullptr;
|
DraggablePixmapItem *selectedEvent = nullptr;
|
||||||
|
|
||||||
if (group == "object_event_group")
|
if (group == "object_event_group") {
|
||||||
{
|
|
||||||
if (selectedObject == nullptr && editor->map->events.value(group).count())
|
|
||||||
{
|
|
||||||
Event *event = editor->map->events.value(group).at(0);
|
|
||||||
for (QGraphicsItem *child : editor->events_group->childItems()) {
|
|
||||||
DraggablePixmapItem *item = static_cast<DraggablePixmapItem *>(child);
|
|
||||||
if (item->event == event) {
|
|
||||||
selectedObject = item;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
selectedEvent = selectedObject;
|
selectedEvent = selectedObject;
|
||||||
|
ui->newEventToolButton->setDefaultAction(ui->newEventToolButton->newObjectAction);
|
||||||
}
|
}
|
||||||
else if (group == "warp_event_group")
|
else if (group == "warp_event_group") {
|
||||||
{
|
|
||||||
if (selectedWarp == nullptr && editor->map->events.value(group).count())
|
|
||||||
{
|
|
||||||
Event *event = editor->map->events.value(group).at(0);
|
|
||||||
for (QGraphicsItem *child : editor->events_group->childItems()) {
|
|
||||||
DraggablePixmapItem *item = static_cast<DraggablePixmapItem *>(child);
|
|
||||||
if (item->event == event) {
|
|
||||||
selectedWarp = item;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
selectedEvent = selectedWarp;
|
selectedEvent = selectedWarp;
|
||||||
|
ui->newEventToolButton->setDefaultAction(ui->newEventToolButton->newWarpAction);
|
||||||
}
|
}
|
||||||
else if (group == "coord_event_group")
|
else if (group == "coord_event_group") {
|
||||||
{
|
|
||||||
if (selectedTrigger == nullptr && editor->map->events.value(group).count())
|
|
||||||
{
|
|
||||||
Event *event = editor->map->events.value(group).at(0);
|
|
||||||
for (QGraphicsItem *child : editor->events_group->childItems()) {
|
|
||||||
DraggablePixmapItem *item = static_cast<DraggablePixmapItem *>(child);
|
|
||||||
if (item->event == event) {
|
|
||||||
selectedTrigger = item;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
selectedEvent = selectedTrigger;
|
selectedEvent = selectedTrigger;
|
||||||
|
ui->newEventToolButton->setDefaultAction(ui->newEventToolButton->newTriggerAction);
|
||||||
}
|
}
|
||||||
else if (group == "bg_event_group")
|
else if (group == "bg_event_group") {
|
||||||
{
|
|
||||||
if (selectedBG == nullptr && editor->map->events.value(group).count())
|
|
||||||
{
|
|
||||||
Event *event = editor->map->events.value(group).at(0);
|
|
||||||
for (QGraphicsItem *child : editor->events_group->childItems()) {
|
|
||||||
DraggablePixmapItem *item = static_cast<DraggablePixmapItem *>(child);
|
|
||||||
if (item->event == event) {
|
|
||||||
selectedBG = item;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
selectedEvent = selectedBG;
|
selectedEvent = selectedBG;
|
||||||
|
ui->newEventToolButton->setDefaultAction(ui->newEventToolButton->newSignAction);
|
||||||
}
|
}
|
||||||
else if (group == "heal_event_group")
|
else if (group == "heal_event_group") {
|
||||||
{
|
|
||||||
if (selectedHealspot == nullptr && editor->map->events.value(group).count())
|
|
||||||
{
|
|
||||||
Event *event = editor->map->events.value(group).at(0);
|
|
||||||
for (QGraphicsItem *child : editor->events_group->childItems()) {
|
|
||||||
DraggablePixmapItem *item = static_cast<DraggablePixmapItem *>(child);
|
|
||||||
if (item->event == event) {
|
|
||||||
selectedHealspot = item;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
selectedEvent = selectedHealspot;
|
selectedEvent = selectedHealspot;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (selectedEvent != nullptr)
|
if (!isProgrammaticEventTabChange) {
|
||||||
editor->selectMapEvent(selectedEvent);
|
if (!selectedEvent && editor->map->events.value(group).count()) {
|
||||||
|
Event *event = editor->map->events.value(group).at(0);
|
||||||
|
for (QGraphicsItem *child : editor->events_group->childItems()) {
|
||||||
|
DraggablePixmapItem *item = static_cast<DraggablePixmapItem *>(child);
|
||||||
|
if (item->event == event) {
|
||||||
|
selectedEvent = item;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (selectedEvent) editor->selectMapEvent(selectedEvent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
isProgrammaticEventTabChange = false;
|
isProgrammaticEventTabChange = false;
|
||||||
|
|
Loading…
Reference in a new issue