void MainWindow::on_actionClose_Project_triggered() { if (Workspace::Instance.GetCurrentProject() == nullptr) return; bool cancel = false; if (!Workspace::Instance.IsCurrentProjectPersistent()) { QMessageBox msgBox; msgBox.setWindowTitle(QString("Pitanje")); msgBox.setText(QString("Želite li da sačuvate promene?")); msgBox.setIcon(QMessageBox::Question); msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel); msgBox.setDefaultButton(QMessageBox::Yes); int ret = msgBox.exec(); if (ret == QMessageBox::Yes) { Workspace::Instance.SaveCurrentProject(); } else if (ret == QMessageBox::Cancel) { cancel = true; } } if (!cancel) { Workspace::Instance.CloseCurrentProject(); QModelIndex index = ui->treeView->currentIndex(); if (index.isValid()) { ProjectItem* item = (ProjectItem*) Workspace::Instance.GetProjectsModel()->itemFromIndex(index); if (item->IsDocument()) { ProjectItem* parent = (ProjectItem*) item->parent(); Workspace::Instance.SetCurrent(parent->GetName(), item->GetName()); } else { Workspace::Instance.SetCurrent(item->GetName()); } } RefreshImage(); } }
void MainWindow::on_treeView_customContextMenuRequested(const QPoint &pt) { QPoint globalPt = ui->treeView->mapToGlobal(pt); QModelIndex index = ui->treeView->indexAt(pt); QMenu menu; if (index.isValid()) { on_treeView_clicked(index); ProjectItem* item = (ProjectItem*) Workspace::Instance.GetProjectsModel()->itemFromIndex(index); switchToAct->setEnabled(!item->IsSelected()); menu.addAction(switchToAct); if(!item->IsDocument()) { menu.addAction(addImageAct); menu.addSeparator(); menu.addAction(saveProjctAct); menu.addAction(closeProjectAct); menu.addSeparator(); } else { menu.addAction(removeImageAct); menu.addSeparator(); } } menu.addAction(newProjectAct); menu.addAction(openProjectAct); menu.addSeparator(); menu.addAction(saveAllAct); menu.addAction(closeAllAct); menu.exec(globalPt); }
void MainWindow::on_actionRemove_Image_triggered() { Workspace::Instance.RemoveCurrentDocument(); QModelIndex index = ui->treeView->currentIndex(); if (index.isValid()) { ProjectItem* item = (ProjectItem*) Workspace::Instance.GetProjectsModel()->itemFromIndex(index); if (item->IsDocument()) { ProjectItem* parent = (ProjectItem*) item->parent(); Workspace::Instance.SetCurrent(parent->GetName(), item->GetName()); } else { Workspace::Instance.SetCurrent(item->GetName()); } } RefreshImage(); }