void SVPlotMainWindow::load(const QString& fileName) { // // See if we have a subwindow, if not create one. // Then try to load the file. // SVPlotSubWindow *w = currentSubWindow(); if (!w) { newSubWindow(); w = currentSubWindow(); } if (!w->load(fileName)) return; QFileInfo info(fileName); // Store the full path to the file, otherwise it may be possible // to get relative paths to some working directory - which may // be different next time. config().addRecentFile(info.filePath()); config().setRecentDirectory(info.filePath()); // Synchronize the browser dock as well. p->browserDock->setDirectory(info.filePath()); // In case there were no recent files yet, the menu may be disabled if (!p->menuRecentFiles->isEnabled()) p->menuRecentFiles->setEnabled(true); }
/** * This gets called when a window is activated or the workspace loses focus. * * @param w */ void Workspace::activateViewport(QMdiSubWindow *w) { if(w) { emit cubeViewportActivated((MdiCubeViewport *) w->widget()->layout()->itemAt(0)->widget()); } //Check if there is no current window (on close) else if(!currentSubWindow()) { emit cubeViewportActivated((MdiCubeViewport *)NULL); } }
void app_area::sub_window_activated(QMdiSubWindow* w) { if(!w) w = currentSubWindow(); if(!w) return; auto mw = dynamic_cast<gui::message*>(w); if(!mw) return; mw->clear_alert(); }
void SVPlotMainWindow::exportAs(const QString& format) { if (!currentSubWindow()) return; QString filterFormat = "%1 (*.%2)"; QString filter = "All files (*.*)"; SVPlotMainWindowPrivate::supportedFormatsMap::const_iterator i = p->exportAsFormat.constBegin(); for ( ; i != p->exportAsFormat.constEnd(); ++i) filter += ";; " + filterFormat.arg(i.value()).arg(i.key()); QString selectedFilter = filterFormat.arg(p->exportAsFormat.value(format)) .arg(format); QString fileName = QFileDialog::getSaveFileName(this, "Export As", config().recentDirectory(), filter, &selectedFilter); if (!fileName.isEmpty()) { currentSubWindow()->exportAs(fileName, format); config().setRecentDirectory(fileName); } }
void SVPlotMainWindow::setMoveEnabled(bool on) { if (currentSubWindow()) currentSubWindow()->setMoveEnabled(on); }
void SVPlotMainWindow::zoomFit() { if (currentSubWindow()) currentSubWindow()->zoomFit(); }
void SVPlotMainWindow::print() { if (currentSubWindow()) currentSubWindow()->print(); }
QWidget* ImprovedWorkspace::activeWindow() { return currentSubWindow(); }