From kde-commits Wed Apr 20 17:09:24 2005 From: Christoph Cullmann Date: Wed, 20 Apr 2005 17:09:24 +0000 To: kde-commits Subject: kdebase/kate/app Message-Id: <20050420170924.3FDD9670 () office ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=111401702503579 CVS commit by cullmann: fix some typos, allow to move docks M +23 -1 katemdi.cpp 1.2 M +12 -0 katemdi.h 1.2 M +4 -0 katemditest.cpp 1.2 --- kdebase/kate/app/katemdi.cpp #1.1:1.2 @@ -192,5 +192,5 @@ MainWindow::MainWindow () m_vSplitter = new QSplitter (Qt::Vertical, vb); - m_sidebars[KMultiTabBar::Top]->setSplitter (m_hSplitter); + m_sidebars[KMultiTabBar::Top]->setSplitter (m_vSplitter); m_tabWidget = new KTabWidget (m_vSplitter); @@ -226,4 +226,9 @@ bool MainWindow::addToolView (const QStr m_sidebars[pos]->addWidget (icon, text, widget); + WidgetData d; + d.icon = icon; + d.text = text; + m_widgetToData.insert (widget, d); + return true; } @@ -236,4 +241,5 @@ bool MainWindow::deleteToolView (QWidget m_idToWidget.remove (m_widgetToId[widget]); m_widgetToId.remove (widget); + m_widgetToData.remove (widget); m_sidebars[m_widgetToSide[widget]]->removeWidget (widget); @@ -245,3 +251,19 @@ bool MainWindow::deleteToolView (QWidget } +bool MainWindow::moveToolView (QWidget *widget, KMultiTabBar::KMultiTabBarPosition pos) +{ + if (!m_widgetToId.contains(widget)) + return false; + + if (m_widgetToSide[widget] == pos) + return true; + + m_sidebars[pos]->addWidget (m_widgetToData[widget].icon, m_widgetToData[widget].text, widget); + m_sidebars[m_widgetToSide[widget]]->removeWidget (widget); + + m_widgetToSide[widget] = pos; + + return true; +} + } --- kdebase/kate/app/katemdi.h #1.1:1.2 @@ -29,4 +29,5 @@ #include #include +#include namespace KateMDI { @@ -78,7 +79,18 @@ class MainWindow : public KParts::MainWi bool deleteToolView (QWidget *widget); + // move a toolview to given new pos + bool moveToolView (QWidget *widget, KMultiTabBar::KMultiTabBarPosition pos); + private: + class WidgetData + { + public: + QPixmap icon; + QString text; + }; + QDict m_idToWidget; QMap m_widgetToId; + QMap m_widgetToData; QMap m_widgetToSide; --- kdebase/kate/app/katemditest.cpp #1.1:1.2 @@ -110,4 +110,8 @@ KWrite::KWrite (KTextEditor::Document *d addToolView ("muhdfsfdsdfdfsdfd", l3, KMultiTabBar::Bottom, SmallIcon("fileopen"), "hello2"); + l3 = new QLabel ("KHHHHHHHHHHHHHHHHHHHHHH", this); + addToolView ("muhdfsfdsdfdfsdfdfgffg", l3, KMultiTabBar::Bottom, SmallIcon("fileopen"), "hello2"); + + moveToolView (l3, KMultiTabBar::Top); setupActions();