void KstDataObject::showDialog(bool isNew) { if (isNew) { QTimer::singleShot(0, this, SLOT(showNewDialog())); } else { QTimer::singleShot(0, this, SLOT(showEditDialog())); } }
void MapEditorWindow::setupMenu() { auto *menu = new QMenuBar(this); QMenu* fileMenu = new QMenu("File"); QAction *newAction = new QAction("New...", this); newAction->setShortcut(QKeySequence("Ctrl+N")); fileMenu->addAction(newAction); connect(newAction, SIGNAL(triggered()), this, SLOT(showNewDialog())); QAction *openAction = new QAction("Open...", this); openAction->setShortcut(QKeySequence("Ctrl+O")); fileMenu->addAction(openAction); connect(openAction, SIGNAL(triggered()), this, SLOT(showOpenDialog())); saveAction = new QAction("Save", this); saveAction->setEnabled(false); saveAction->setShortcut(QKeySequence("Ctrl+S")); fileMenu->addAction(saveAction); connect(saveAction, SIGNAL(triggered()), this, SLOT(executeSaveAction())); saveAsAction = new QAction("Save as...", this); saveAsAction->setEnabled(false); saveAsAction->setShortcut(QKeySequence("Ctrl+Shift+S")); fileMenu->addAction(saveAsAction); connect(saveAsAction, SIGNAL(triggered()), this, SLOT(showSaveAsDialog())); closeAction = new QAction("Close", this); closeAction->setEnabled(false); closeAction->setShortcut(QKeySequence("Ctrl+W")); fileMenu->addAction(closeAction); connect(closeAction, SIGNAL(triggered()), this, SLOT(executeCloseAction())); fileMenu->addSeparator(); QAction *exitAction = new QAction("Exit", this); fileMenu->addAction(exitAction); connect(exitAction, SIGNAL(triggered()), this, SLOT(executeExitAction())); QMenu *viewMenu = new QMenu("View"); QMenu *viewObjectMenu = new QMenu("Object"); viewMenu->addMenu(viewObjectMenu); QAction *viewPhysicsShapeAction = new QAction("Physics Shape", this); viewPhysicsShapeAction->setEnabled(false); viewPhysicsShapeAction->setCheckable(true); viewPhysicsShapeAction->setChecked(true); viewObjectMenu->addAction(viewPhysicsShapeAction); viewActions[SceneDisplayer::MODEL_PHYSICS] = viewPhysicsShapeAction; connect(viewPhysicsShapeAction, SIGNAL(triggered()), this, SLOT(executeViewPropertiesChangeAction())); QMenu *viewLightMenu = new QMenu("Light"); viewMenu->addMenu(viewLightMenu); QAction *viewLightScopeAction = new QAction("Light Scope", this); viewLightScopeAction->setEnabled(false); viewLightScopeAction->setCheckable(true); viewLightScopeAction->setChecked(true); viewLightMenu->addAction(viewLightScopeAction); viewActions[SceneDisplayer::LIGHT_SCOPE] = viewLightScopeAction; connect(viewLightScopeAction, SIGNAL(triggered()), this, SLOT(executeViewPropertiesChangeAction())); QMenu *viewSoundMenu = new QMenu("Sound"); viewMenu->addMenu(viewSoundMenu); QAction *viewSoundTriggerAction = new QAction("Sound Trigger", this); viewSoundTriggerAction->setEnabled(false); viewSoundTriggerAction->setCheckable(true); viewSoundTriggerAction->setChecked(true); viewSoundMenu->addAction(viewSoundTriggerAction); viewActions[SceneDisplayer::SOUND_TRIGGER] = viewSoundTriggerAction; connect(viewSoundTriggerAction, SIGNAL(triggered()), this, SLOT(executeViewPropertiesChangeAction())); QMenu *viewAIMenu = new QMenu("AI"); viewMenu->addMenu(viewAIMenu); QAction *viewNavMeshAction = new QAction("Navigation Mesh", this); viewNavMeshAction->setEnabled(false); viewNavMeshAction->setCheckable(true); viewNavMeshAction->setChecked(true); viewAIMenu->addAction(viewNavMeshAction); viewActions[SceneDisplayer::NAV_MESH] = viewNavMeshAction; connect(viewNavMeshAction, SIGNAL(triggered()), this, SLOT(executeViewPropertiesChangeAction())); menu->addMenu(fileMenu); menu->addMenu(viewMenu); this->setMenuBar(menu); }