From kde-commits Fri Apr 22 22:16:43 2005 From: Alexander Dymo Date: Fri, 22 Apr 2005 22:16:43 +0000 To: kde-commits Subject: kdevelop/src Message-Id: <20050422221643.CE83C496 () office ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=111420821602226 CVS commit by dymo: First try on eclipse-like splitting with tabs inside splitted windows. M +4 -1 kdevelopui.rc 1.69 M +27 -0 simplemainwindow.cpp 1.7 M +2 -0 simplemainwindow.h 1.5 M +8 -3 newui/dmainwindow.cpp 1.4 --- kdevelop/src/newui/dmainwindow.cpp #1.3:1.4 @@ -114,10 +114,15 @@ void DMainWindow::removeWidget(QWidget * { tab->removePage(widget); + widget->reparent(0,QPoint(0,0),false); if (tab->count() == 0) { tab->closeButton()->hide(); - //@fixme only secondary tabwidgets should be removed -/* QPair idx = m_central->indexOf(tab); - m_central->removeDock(idx.first, idx.second, true);*/ + if (tab != m_tabs.first()) + { + QPair idx = m_central->indexOf(tab); + m_tabs.remove(tab); + m_activeTabWidget = m_tabs.first(); + m_central->removeDock(idx.first, idx.second, true); + } } } --- kdevelop/src/kdevelopui.rc #1.68:1.69 @@ -1,4 +1,4 @@ - + &File @@ -95,4 +95,7 @@ &Window + + + --- kdevelop/src/simplemainwindow.cpp #1.6:1.7 @@ -32,4 +32,5 @@ #include #include +#include #include @@ -224,4 +225,10 @@ void SimpleMainWindow::createActions() m_raiseEditor->setWhatsThis(i18n("Raise editor

Focuses the editor.")); + new KAction(i18n("Split &Horizontal"), CTRL+SHIFT+Key_T, + this, SLOT(slotSplitHorizontal()), actionCollection(), "split_h"); + + new KAction(i18n("Split &Vertical"), CTRL+SHIFT+Key_L, + this, SLOT(slotSplitVertical()), actionCollection(), "split_v"); + KStdAction::configureToolbars(this, SLOT(configureToolbars()), actionCollection(), "set_configure_toolbars"); @@ -508,3 +515,23 @@ void SimpleMainWindow::fillWindowMenu() } +void SimpleMainWindow::slotSplitVertical() +{ + DTabWidget *tab = splitVertical(); +/* KParts::Part *activePart = PartController::getInstance()->activePart(); + if (!activePart) + return; + KTextEditor::Document *activeDoc = dynamic_cast(activePart); + if (!activeDoc) + return; + + QWidget *view = activeDoc->createView(0); + addWidget(tab, view, ""); + view->show();*/ +} + +void SimpleMainWindow::slotSplitHorizontal() +{ + DTabWidget *tab = splitHorizontal(); +} + #include "simplemainwindow.moc" --- kdevelop/src/simplemainwindow.h #1.4:1.5 @@ -80,4 +80,6 @@ private slots: void openURL(int w); void fillWindowMenu(); + void slotSplitVertical(); + void slotSplitHorizontal(); private: