void MainWindow::onCloneTab(Tabs* tabs, TabView* tabView, int pos) { EditorView::SetScrollUpdateMethod(EditorView::KeepOrigin); WorkspaceView* view = dynamic_cast<WorkspaceView*>(tabView); WorkspaceView* clone = view->cloneWorkspaceView(); ASSERT(clone); m_workspace->addViewToPanel( static_cast<WorkspaceTabs*>(tabs)->panel(), clone, true, pos); clone->onClonedFrom(view); }
void Workspace::duplicateActiveView() { WorkspaceView* view = activeView(); if (!view) return; WorkspaceView* clone = view->cloneWorkspaceView(); if (!clone) return; WorkspacePanel* panel = getViewPanel(view); addViewToPanel(panel, clone, false, -1); clone->onClonedFrom(view); setActiveView(clone); }