summaryrefslogtreecommitdiffabout
path: root/microkde
authorzautrix <zautrix>2005-04-21 12:32:52 (UTC)
committer zautrix <zautrix>2005-04-21 12:32:52 (UTC)
commit0a13a3490ec3bf4735e3435f80f58fa7d50b4448 (patch) (unidiff)
treec7f28c49b52e479f47da0dce9f0bfe9189ecdca4 /microkde
parent4d96d7b681ce99d76746a843c289b75f5e7dba64 (diff)
downloadkdepimpi-0a13a3490ec3bf4735e3435f80f58fa7d50b4448.zip
kdepimpi-0a13a3490ec3bf4735e3435f80f58fa7d50b4448.tar.gz
kdepimpi-0a13a3490ec3bf4735e3435f80f58fa7d50b4448.tar.bz2
rubberband fix
Diffstat (limited to 'microkde') (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/KDGanttMinimizeSplitter.cpp21
-rw-r--r--microkde/KDGanttMinimizeSplitter.h5
2 files changed, 21 insertions, 5 deletions
diff --git a/microkde/KDGanttMinimizeSplitter.cpp b/microkde/KDGanttMinimizeSplitter.cpp
index fb5d4e3..72c4e60 100644
--- a/microkde/KDGanttMinimizeSplitter.cpp
+++ b/microkde/KDGanttMinimizeSplitter.cpp
@@ -49,24 +49,37 @@
49#include "qlayoutengine_p.h" 49#include "qlayoutengine_p.h"
50#include "qobjectlist.h" 50#include "qobjectlist.h"
51#include "qstyle.h" 51#include "qstyle.h"
52#include "qapplication.h" //sendPostedEvents 52#include "qapplication.h" //sendPostedEvents
53#include <qvaluelist.h> 53#include <qvaluelist.h>
54#include <qcursor.h> 54#include <qcursor.h>
55#include <qframe.h>
55#ifndef KDGANTT_MASTER_CVS 56#ifndef KDGANTT_MASTER_CVS
56//#include "KDGanttMinimizeSplitter.moc" 57//#include "KDGanttMinimizeSplitter.moc"
57#endif 58#endif
58 59
59 60
60 61
61#ifndef DOXYGEN_SKIP_INTERNAL 62#ifndef DOXYGEN_SKIP_INTERNAL
62 63
63#if QT_VERSION >= 232 64#if QT_VERSION >= 232
64static int mouseOffset; 65static int mouseOffset;
65static int opaqueOldPos = -1; //### there's only one mouse, but this is a bit risky 66static int opaqueOldPos = -1; //### there's only one mouse, but this is a bit risky
66 67
68class KDRubberBand: public QFrame
69{
70public:
71 KDRubberBand( QWidget *parent, const char * name, WFlags f ) :QFrame ( parent, name, f ) {;}
72
73protected:
74 virtual void mousePressEvent ( QMouseEvent * )
75 {
76 close();
77 };
78
79};
67 80
68KDGanttSplitterHandle::KDGanttSplitterHandle( Qt::Orientation o, 81KDGanttSplitterHandle::KDGanttSplitterHandle( Qt::Orientation o,
69 KDGanttMinimizeSplitter *parent, const char * name ) 82 KDGanttMinimizeSplitter *parent, const char * name )
70 : QWidget( parent, name ), _activeButton( 0 ), _collapsed( false ) 83 : QWidget( parent, name ), _activeButton( 0 ), _collapsed( false )
71{ 84{
72 85
@@ -186,14 +199,16 @@ void KDGanttSplitterHandle::mouseReleaseEvent( QMouseEvent *e )
186 QCOORD pos = s->pick(parentWidget()->mapFromGlobal(e->globalPos())) 199 QCOORD pos = s->pick(parentWidget()->mapFromGlobal(e->globalPos()))
187 - mouseOffset; 200 - mouseOffset;
188 s->setRubberband( -1 ); 201 s->setRubberband( -1 );
189 s->moveSplitter( pos, id() ); 202 s->moveSplitter( pos, id() );
190 } 203 }
191 } 204 }
192 if ( s->rubberBand() ) 205 if ( s->rubberBand() ) {
193 s->rubberBand()->hide(); 206 //qDebug("hide rubberband ");
207 s->rubberBand()->close();
208 }
194 repaint(); 209 repaint();
195} 210}
196 211
197int KDGanttSplitterHandle::onButton( const QPoint& p ) 212int KDGanttSplitterHandle::onButton( const QPoint& p )
198{ 213{
199 QValueList<QPointArray> list = buttonRegions(); 214 QValueList<QPointArray> list = buttonRegions();
@@ -678,13 +693,13 @@ void KDGanttMinimizeSplitter::setRubberband( int p )
678 if ( p >= 0 ) 693 if ( p >= 0 )
679 paint.drawRect( r.x(), p + sw/2 - rBord, r.width(), 2*rBord ); 694 paint.drawRect( r.x(), p + sw/2 - rBord, r.width(), 2*rBord );
680 } 695 }
681 opaqueOldPos = p; 696 opaqueOldPos = p;
682#else 697#else
683 if ( !mRubberBand ) { 698 if ( !mRubberBand ) {
684 mRubberBand = new QFrame( 0, "rubber", WStyle_NoBorder | WStyle_Customize | WStyle_StaysOnTop); 699 mRubberBand = new KDRubberBand( 0, "rubber", WStyle_NoBorder | WStyle_Customize | WStyle_StaysOnTop);
685 mRubberBand->setFrameStyle( Box | Raised ); 700 mRubberBand->setFrameStyle( Box | Raised );
686 //mRubberBand->setPalette( QPalette ( Qt::red.light(),Qt::red.dark() ) ); 701 //mRubberBand->setPalette( QPalette ( Qt::red.light(),Qt::red.dark() ) );
687 mRubberBand->setPalette( QPalette ( colorGroup().background().light(), colorGroup().background().dark() )); 702 mRubberBand->setPalette( QPalette ( colorGroup().background().light(), colorGroup().background().dark() ));
688 } 703 }
689 QRect r = contentsRect(); 704 QRect r = contentsRect();
690 static int rBord = 0; //Themable???? 705 static int rBord = 0; //Themable????
diff --git a/microkde/KDGanttMinimizeSplitter.h b/microkde/KDGanttMinimizeSplitter.h
index 585298d..3042e0a 100644
--- a/microkde/KDGanttMinimizeSplitter.h
+++ b/microkde/KDGanttMinimizeSplitter.h
@@ -40,12 +40,13 @@
40#endif // QT_H 40#endif // QT_H
41 41
42#ifndef QT_NO_SPLITTER___ 42#ifndef QT_NO_SPLITTER___
43class QSplitterData; 43class QSplitterData;
44class QSplitterLayoutStruct; 44class QSplitterLayoutStruct;
45class KDGanttSplitterHandle; 45class KDGanttSplitterHandle;
46class KDRubberBand;
46class KDGanttMinimizeSplitter : public QFrame 47class KDGanttMinimizeSplitter : public QFrame
47{ 48{
48 Q_OBJECT 49 Q_OBJECT
49 // Q_ENUMS( Direction ) 50 // Q_ENUMS( Direction )
50 // Q_PROPERTY( Orientation orientation READ orientation WRITE setOrientation ) 51 // Q_PROPERTY( Orientation orientation READ orientation WRITE setOrientation )
51 // Q_PROPERTY( Direction minimizeDirection READ minimizeDirection WRITE setMinimizeDirection ) 52 // Q_PROPERTY( Direction minimizeDirection READ minimizeDirection WRITE setMinimizeDirection )
@@ -77,13 +78,13 @@ public:
77 QSize minimumSizeHint() const; 78 QSize minimumSizeHint() const;
78 79
79 QValueList<int> sizes() const; 80 QValueList<int> sizes() const;
80 void setSizes( QValueList<int> ); 81 void setSizes( QValueList<int> );
81 KDGanttSplitterHandle* firstHandle(){ return mFirstHandle;} 82 KDGanttSplitterHandle* firstHandle(){ return mFirstHandle;}
82 void expandPos( int id, int* min, int* max ); 83 void expandPos( int id, int* min, int* max );
83 QFrame* rubberBand() { return mRubberBand ;} 84 KDRubberBand* rubberBand() { return mRubberBand ;}
84public slots: 85public slots:
85 void toggle(); 86 void toggle();
86protected: 87protected:
87 void childEvent( QChildEvent * ); 88 void childEvent( QChildEvent * );
88 89
89 bool event( QEvent * ); 90 bool event( QEvent * );
@@ -97,13 +98,13 @@ protected:
97 void styleChange( QStyle& ); 98 void styleChange( QStyle& );
98 int adjustPos( int , int ); 99 int adjustPos( int , int );
99 virtual void setRubberband( int ); 100 virtual void setRubberband( int );
100 void getRange( int id, int*, int* ); 101 void getRange( int id, int*, int* );
101 102
102private: 103private:
103 QFrame* mRubberBand; 104 KDRubberBand* mRubberBand;
104 void init(); 105 void init();
105 void recalc( bool update = FALSE ); 106 void recalc( bool update = FALSE );
106 void doResize(); 107 void doResize();
107 void storeSizes(); 108 void storeSizes();
108 void processChildEvents(); 109 void processChildEvents();
109 QSplitterLayoutStruct *addWidget( QWidget*, bool first = FALSE ); 110 QSplitterLayoutStruct *addWidget( QWidget*, bool first = FALSE );