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

List:       kde-commits
Subject:    branches/work/suse_kickoff_qstyle/kicker/kicker/ui
From:       Dirk Mueller <mueller () kde ! org>
Date:       2006-12-01 3:07:02
Message-ID: 1164942422.461564.2537.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 609496 by mueller:

implement drag&drop event support on tab


 M  +18 -0     kickoff_bar.cpp  
 M  +2 -0      kickoff_bar.h  


--- branches/work/suse_kickoff_qstyle/kicker/kicker/ui/kickoff_bar.cpp #609495:609496
@@ -21,6 +21,7 @@
 ******************************************************************/
 
 #include "kickoff_bar.h"
+#include "itemview.h"
 
 #include <qiconset.h>
 #include <qpainter.h>
@@ -33,6 +34,7 @@
 KickoffTabBar::KickoffTabBar(QWidget* parent, const char* name)
         : QTabBar(parent, name), m_tabsActivated(true)
 {
+    setAcceptDrops(true);
 }
 
 void KickoffTabBar::deactivateTabs(bool b)
@@ -168,5 +170,21 @@
     }
 }
 
+void KickoffTabBar::dragEnterEvent(QDragEnterEvent* event)
+{
+    event->accept(KMenuItemDrag::canDecode(event));
+}
 
+void KickoffTabBar::dragMoveEvent(QDragMoveEvent* event)
+{
+    QTab* t = selectTab(event->pos());
+
+    // ### uhhh, look away
+    if (t && t->identifier() == 0)
+    {
+        setCurrentTab(t);
+    }
+}
+
+
 // vim:cindent:sw=4:
--- branches/work/suse_kickoff_qstyle/kicker/kicker/ui/kickoff_bar.h #609495:609496
@@ -37,6 +37,8 @@
     virtual void paint(QPainter*, QTab*, bool) const;
     virtual void paintLabel(QPainter* p, const QRect& br, QTab* t, bool has_focus) const;
     virtual void layoutTabs();
+    virtual void dragEnterEvent(QDragEnterEvent*);
+    virtual void dragMoveEvent(QDragMoveEvent*);
 
 private:
     bool m_tabsActivated;
[prev in list] [next in list] [prev in thread] [next in thread] 

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