summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-08-05 02:30:30 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-08-05 02:30:30 -0500
commit3d0ccc665e549aabfd375b5a45e3b63b0fc547bc (patch)
treeff50690c7b3f8a722c3e6fbb42d9f4a4671ff3d1
parentdf19687570dfd3da2120252573d8e097de58337c (diff)
downloadexperimental-3d0ccc665e549aabfd375b5a45e3b63b0fc547bc.tar.gz
experimental-3d0ccc665e549aabfd375b5a45e3b63b0fc547bc.zip
Forward-port the following Qt3 GIT commits to TQt4:
3653f049bf83636d00237e61781e68ae7c3b499a [ENHANCEMENT] Add skeleton of setVisible()/isVisible() support to QIconView 4dd6a7ae2cf8d7fc3df7c9743129cec736c0d591 [ENHANCEMENT] Add new PE_HeaderSectionMenu primitive element
-rw-r--r--tqtinterface/qt4/src/iconview/tqiconview.cpp131
-rw-r--r--tqtinterface/qt4/src/iconview/tqiconview.h4
-rw-r--r--tqtinterface/qt4/src/kernel/tqstyle.h2
-rw-r--r--tqtinterface/qt4/src/styles/tqcommonstyle.cpp1
4 files changed, 92 insertions, 46 deletions
diff --git a/tqtinterface/qt4/src/iconview/tqiconview.cpp b/tqtinterface/qt4/src/iconview/tqiconview.cpp
index 08ab4bd..c1705c7 100644
--- a/tqtinterface/qt4/src/iconview/tqiconview.cpp
+++ b/tqtinterface/qt4/src/iconview/tqiconview.cpp
@@ -995,6 +995,7 @@ void TQIconViewItem::init( TQIconViewItem *after
allow_rename = FALSE;
allow_drag = TRUE;
allow_drop = TRUE;
+ visible = TRUE;
selected = FALSE;
selectable = TRUE;
#ifndef TQT_NO_TEXTEDIT
@@ -1050,6 +1051,32 @@ int TQIconViewItem::rtti() const
return RTTI;
}
+/*!
+ If \a b is TRUE, the item is made visible; otherwise it is hidden.
+*/
+
+void TQIconViewItem::setVisible( bool b )
+{
+ if ( b == (bool)visible )
+ return;
+ TQIconView *iv = iconView();
+ if ( !iv )
+ return;
+ visible = b;
+ if ( iv )
+ iv->updateContents();
+}
+
+/*!
+ Returns TRUE if the item is visible; otherwise returns FALSE.
+
+ \sa setVisible()
+*/
+
+bool TQIconViewItem::isVisible() const
+{
+ return (bool)visible;
+}
/*!
Sets \a text as the text of the icon view item. This function
@@ -3852,10 +3879,18 @@ void TQIconView::selectAll( bool select )
viewport()->setUpdatesEnabled( FALSE );
TQRect rr;
for ( ; item; item = item->next ) {
- if ( select != item->isSelected() ) {
- item->setSelected( select, TRUE );
- rr = rr.unite( item->rect() );
- changed = TRUE;
+ if (item->isVisible()) {
+ if ( select != item->isSelected() ) {
+ item->setSelected( select, TRUE );
+ rr = rr.unite( item->rect() );
+ changed = TRUE;
+ }
+ else {
+ if ( FALSE != item->isSelected() ) {
+ item->setSelected( FALSE, TRUE );
+ changed = TRUE;
+ }
+ }
}
}
viewport()->setUpdatesEnabled( ue );
@@ -6148,17 +6183,19 @@ void TQIconView::updateItemContainer( TQIconViewItem *item )
return;
}
- c->items.append( item );
- item->d->container1 = c;
+ if (item->isVisible()) {
+ c->items.append( item );
+ item->d->container1 = c;
- if ( !tqcontains ) {
- c = c->n;
- if ( !c ) {
- appendItemContainer();
- c = d->lastContainer;
- }
- c->items.append( item );
- item->d->container2 = c;
+ if ( !tqcontains ) {
+ c = c->n;
+ if ( !c ) {
+ appendItemContainer();
+ c = d->lastContainer;
+ }
+ c->items.append( item );
+ item->d->container2 = c;
+ }
}
if ( contentsWidth() < irect.right() || contentsHeight() < irect.bottom() )
resizeContents( TQMAX( contentsWidth(), irect.right() ), TQMAX( contentsHeight(), irect.bottom() ) );
@@ -6213,40 +6250,42 @@ void TQIconView::rebuildContainers()
appendItemContainer();
c = d->lastContainer;
while ( item ) {
- if ( c->rect.tqcontains( item->rect() ) ) {
- item->d->container1 = c;
- item->d->container2 = 0;
- c->items.append( item );
- item = item->next;
- } else if ( c->rect.intersects( item->rect() ) ) {
- item->d->container1 = c;
- c->items.append( item );
- c = c->n;
- if ( !c ) {
- appendItemContainer();
- c = d->lastContainer;
- }
- c->items.append( item );
- item->d->container2 = c;
- item = item->next;
- c = c->p;
- } else {
- if ( d->arrangement == LeftToRight ) {
- if ( item->y() < c->rect.y() && c->p ) {
- c = c->p;
- continue;
- }
+ if (item->isVisible()) {
+ if ( c->rect.tqcontains( item->rect() ) ) {
+ item->d->container1 = c;
+ item->d->container2 = 0;
+ c->items.append( item );
+ item = item->next;
+ } else if ( c->rect.intersects( item->rect() ) ) {
+ item->d->container1 = c;
+ c->items.append( item );
+ c = c->n;
+ if ( !c ) {
+ appendItemContainer();
+ c = d->lastContainer;
+ }
+ c->items.append( item );
+ item->d->container2 = c;
+ item = item->next;
+ c = c->p;
} else {
- if ( item->x() < c->rect.x() && c->p ) {
- c = c->p;
- continue;
- }
- }
+ if ( d->arrangement == LeftToRight ) {
+ if ( item->y() < c->rect.y() && c->p ) {
+ c = c->p;
+ continue;
+ }
+ } else {
+ if ( item->x() < c->rect.x() && c->p ) {
+ c = c->p;
+ continue;
+ }
+ }
- c = c->n;
- if ( !c ) {
- appendItemContainer();
- c = d->lastContainer;
+ c = c->n;
+ if ( !c ) {
+ appendItemContainer();
+ c = d->lastContainer;
+ }
}
}
}
diff --git a/tqtinterface/qt4/src/iconview/tqiconview.h b/tqtinterface/qt4/src/iconview/tqiconview.h
index 9ca8a42..3bbb6f8 100644
--- a/tqtinterface/qt4/src/iconview/tqiconview.h
+++ b/tqtinterface/qt4/src/iconview/tqiconview.h
@@ -170,6 +170,9 @@ public:
bool isSelected() const;
bool isSelectable() const;
+ void setVisible( bool b );
+ bool isVisible() const;
+
virtual void tqrepaint();
virtual bool move( int x, int y );
@@ -250,6 +253,7 @@ private:
uint allow_rename : 1;
uint allow_drag : 1;
uint allow_drop : 1;
+ uint visible : 1;
uint selected : 1;
uint selectable : 1;
uint dirty : 1;
diff --git a/tqtinterface/qt4/src/kernel/tqstyle.h b/tqtinterface/qt4/src/kernel/tqstyle.h
index 5d657d8..7ffda16 100644
--- a/tqtinterface/qt4/src/kernel/tqstyle.h
+++ b/tqtinterface/qt4/src/kernel/tqstyle.h
@@ -744,6 +744,8 @@ public:
PE_PanelGroupBox,
PE_RubberBand,
+ PE_HeaderSectionMenu,
+
// do not add any values below/greater this
PE_CustomBase = 0xf000000
};
diff --git a/tqtinterface/qt4/src/styles/tqcommonstyle.cpp b/tqtinterface/qt4/src/styles/tqcommonstyle.cpp
index c69fea7..79439b9 100644
--- a/tqtinterface/qt4/src/styles/tqcommonstyle.cpp
+++ b/tqtinterface/qt4/src/styles/tqcommonstyle.cpp
@@ -283,6 +283,7 @@ void TQCommonStyle::tqdrawPrimitive( TQ_PrimitiveElement pe,
case TQStyle::PE_ButtonTool:
case TQStyle::PE_ButtonDropDown:
case TQStyle::PE_HeaderSection:
+ case TQStyle::PE_HeaderSectionMenu:
qDrawShadePanel(p, r, cg, flags & (Style_Sunken | Style_Down | Style_On) , 1,
&cg.brush(TQColorGroup::Button));
break;