[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdevelop/src
From:       Alexander Dymo <cloudtemple () mksat ! net>
Date:       2005-04-22 22:16:43
Message-ID: 20050422221643.CE83C496 () office ! kde ! org
[Download RAW message or body]

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<uint, uint> idx = m_central->indexOf(tab);
-                m_central->removeDock(idx.first, idx.second, true);*/
+                if (tab != m_tabs.first())
+                {
+                    QPair<uint, uint> 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 @@
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<kpartgui version="24" name="kdevelop" >
+<kpartgui version="25" name="kdevelop" >
 <MenuBar>
   <Menu name="file" noMerge="1"><text>&amp;File</text>
@@ -95,4 +95,7 @@
   <Menu name="window">
     <text>&amp;Window</text>
+    <Action name="split_h"/>
+    <Action name="split_v"/>
+    <Separator/>
     <DefineGroup name="window_operations"/>
     <Merge/>

--- kdevelop/src/simplemainwindow.cpp  #1.6:1.7
@@ -32,4 +32,5 @@
 #include <kedittoolbar.h>
 #include <ktexteditor/view.h>
+#include <ktexteditor/document.h>
 #include <kapplication.h>
 
@@ -224,4 +225,10 @@ void SimpleMainWindow::createActions()
     m_raiseEditor->setWhatsThis(i18n("<b>Raise editor</b><p>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<KTextEditor::Document *>(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:


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic