Skip to content

Commit 581df0d

Browse files
committed
interface time stats improvements
1 parent 6d781f3 commit 581df0d

6 files changed

+95
-66
lines changed

src/app/qgsrasterlayerproperties.cpp

+20-11
Original file line numberDiff line numberDiff line change
@@ -861,6 +861,8 @@ void QgsRasterLayerProperties::apply()
861861

862862
// notify the project we've made a change
863863
QgsProject::instance()->dirty( true );
864+
865+
updatePipeList();
864866
}//apply
865867

866868
void QgsRasterLayerProperties::on_buttonBuildPyramids_clicked()
@@ -1607,36 +1609,43 @@ void QgsRasterLayerProperties::updatePipeList()
16071609
{
16081610
QgsDebugMsg( "Entered" );
16091611

1610-
mPipeTreeWidget->setColumnCount( 3 );
1611-
//mPipeTreeWidget->header()->setResizeMode(0, QHeaderView::Stretch);
1612+
#ifndef QGISDEBUG
1613+
tabBar->removeTab( tabBar->indexOf( tabPagePipe ) );
1614+
#else
1615+
mPipeTreeWidget->clear();
1616+
16121617
mPipeTreeWidget->header()->setResizeMode( QHeaderView::ResizeToContents );
16131618

1614-
QStringList labels;
1615-
labels << tr( "Filter" ) << tr( "Bands" ) << tr( "Tot time" ) << tr( "Avg time" );
1616-
mPipeTreeWidget->setHeaderLabels( labels );
1619+
if ( mPipeTreeWidget->columnCount() <= 1 )
1620+
{
1621+
QStringList labels;
1622+
labels << tr( "Filter" ) << tr( "Bands" ) << tr( "Time" );
1623+
mPipeTreeWidget->setHeaderLabels( labels );
1624+
}
16171625

16181626
QgsRasterPipe *pipe = mRasterLayer->pipe();
16191627
for ( int i = 0; i < pipe->size(); i++ )
16201628
{
1621-
QgsRasterInterface * filter = pipe->at( i );
1629+
QgsRasterInterface * interface = pipe->at( i );
16221630
QStringList texts;
16231631
QString name;
1624-
// Unfortunately at this moment not all filters inherits from QObject
1625-
QObject *o = dynamic_cast<QObject*>( filter );
1632+
// Unfortunately at this moment not all interfaces inherits from QObject
1633+
QObject *o = dynamic_cast<QObject*>( interface );
16261634
if ( o )
16271635
{
16281636
//name = o->objectName(); // gives empty with provider
16291637
name = o->metaObject()->className();
16301638
}
16311639
else
16321640
{
1633-
name = QString( typeid( *filter ).name() ).replace( QRegExp( ".*Qgs" ), "Qgs" );
1641+
name = QString( typeid( *interface ).name() ).replace( QRegExp( ".*Qgs" ), "Qgs" );
16341642
}
16351643

1636-
texts << name << QString( "%1" ).arg( filter->bandCount() );
1637-
texts << QString( "%1 ms" ).arg( filter->time( 0 ) ) << QString( "%1 ms" ).arg( filter->avgTime(), 0, 'd', 0 );
1644+
texts << name << QString( "%1" ).arg( interface->bandCount() );
1645+
texts << QString( "%1 ms" ).arg( interface->time() );
16381646
QTreeWidgetItem *item = new QTreeWidgetItem( texts );
16391647

16401648
mPipeTreeWidget->addTopLevelItem( item );
16411649
}
1650+
#endif
16421651
}

src/core/raster/qgsrasterinterface.cpp

+8-23
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
QgsRasterInterface::QgsRasterInterface( QgsRasterInterface * input )
2525
: mInput( input )
26-
, mTimeMinSize( 150 )
26+
, mTimeMinSize( 300 ) // dont forget resampling!
2727
{
2828
}
2929

@@ -64,33 +64,18 @@ void * QgsRasterInterface::block( int bandNo, QgsRectangle const & extent, int
6464
return b;
6565
}
6666

67-
double QgsRasterInterface::time( int bandNo )
67+
double QgsRasterInterface::time( )
6868
{
69+
// We can only count give total time, because we have to subtract time of previous
70+
// interface(s) and we dont know how to assign bands to each other
6971
double t = 0;
70-
if ( bandNo == 0 )
72+
for ( int i = 1; i < mTime.size(); i++ )
7173
{
72-
for ( int i = 1; i < mTime.size(); i++ )
73-
{
74-
t += mTime[i];
75-
}
74+
t += mTime[i];
7675
}
77-
else
76+
if ( mInput )
7877
{
79-
t = mTime.value( bandNo );
78+
t -= mInput->time();
8079
}
81-
QgsDebugMsg( QString( "bandNo = %2 time = %3" ).arg( bandNo ).arg( t ) );
8280
return t;
8381
}
84-
85-
double QgsRasterInterface::avgTime( )
86-
{
87-
// Not perfect because Qtime measures ms only and we dont count rendered bands
88-
double t = 0;
89-
int count = 0;
90-
for ( int i = 1; i < mTime.size(); i++ )
91-
{
92-
t += mTime[i];
93-
if ( mTime[i] > 0 ) count++;
94-
}
95-
return count > 0 ? t / count : 0;
96-
}

src/core/raster/qgsrasterinterface.h

+3-8
Original file line numberDiff line numberDiff line change
@@ -150,20 +150,15 @@ class CORE_EXPORT QgsRasterInterface
150150
/** Clear last rendering time */
151151
void clearTime() { mTime.clear(); if ( mInput ) mInput->clearTime(); }
152152

153-
/** Last time consumed by call to block()
154-
* Returns total time (for all bands) if bandNo is 0
155-
*/
156-
double time( int bandNo );
157-
158-
/** Average time for all bands consumed by last calls to block() */
159-
double avgTime();
153+
/** Last total time (for allbands) consumed by this interface for call to block() */
154+
double time();
160155

161156
protected:
162157
// QgsRasterInterface used as input
163158
QgsRasterInterface* mInput;
164159

165160
private:
166-
// Last rendering times, from index 1
161+
// Last rendering cumulative (this and all preceding interfaces) times, from index 1
167162
QVector<double> mTime;
168163

169164
// Minimum block size to record time (to ignore thumbnails etc)

src/core/raster/qgsrasterlayer.cpp

+12-1
Original file line numberDiff line numberDiff line change
@@ -833,10 +833,21 @@ void QgsRasterLayer::draw( QPainter * theQPainter,
833833
}
834834

835835
// Drawer to pipe?
836+
mPipe.clearTime();
836837
QgsRasterDrawer drawer( mPipe.last() );
837838
drawer.draw( theQPainter, theRasterViewPort, theQgsMapToPixel );
838839

839-
QgsDebugMsg( QString( "raster draw time (ms): %1" ).arg( time.elapsed() ) );
840+
// Print time stats
841+
#ifdef QGISDEBUG
842+
QgsDebugMsg( QString( "interface bands time" ) );
843+
for ( int i = 0; i < mPipe.size(); i++ )
844+
{
845+
QgsRasterInterface * interface = mPipe.at( i );
846+
QString name = QString( typeid( *interface ).name() ).replace( QRegExp( ".*Qgs" ), "Qgs" ).left( 30 );
847+
QgsDebugMsg( QString( "%1 %2 %3" ).arg( name, -30 ).arg( interface->bandCount() ).arg( interface->time(), 5 ) );
848+
}
849+
QgsDebugMsg( QString( "total raster draw time (ms): %1" ).arg( time.elapsed(), 5 ) );
850+
#endif
840851
} //end of draw method
841852

842853
QString QgsRasterLayer::drawingStyleAsString() const

src/core/raster/qgsrasterpipe.h

+3
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,9 @@ class CORE_EXPORT QgsRasterPipe
8787
QgsRasterResampleFilter * resampleFilter() const;
8888
QgsRasterProjector * projector() const;
8989

90+
/** Clear last rendering time */
91+
void clearTime() { if ( last() ) last()->clearTime(); }
92+
9093
private:
9194
/** Get known parent type_info of interface parent */
9295
Role interfaceRole( QgsRasterInterface * interface ) const;

src/ui/qgsrasterlayerpropertiesbase.ui

+49-23
Original file line numberDiff line numberDiff line change
@@ -829,28 +829,51 @@ p, li { white-space: pre-wrap; }
829829
&lt;table border=&quot;0&quot; style=&quot;-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;&quot;&gt;
830830
&lt;tr&gt;
831831
&lt;td style=&quot;border: none;&quot;&gt;
832-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
833-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
834-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
835-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
836-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
837-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
838-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
839-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
840-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
841-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
842-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:10pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
843-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
844-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:10pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
845-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:10pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
846-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:10pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
847-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:10pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
848-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:10pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
849-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:10pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
850-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:10pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
851-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:10pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
852-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:10pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
853-
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/body&gt;&lt;/html&gt;</string>
832+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
833+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
834+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
835+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
836+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
837+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
838+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
839+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
840+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
841+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
842+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
843+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
844+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
845+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
846+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
847+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
848+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
849+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
850+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
851+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
852+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;
853+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans';&quot;&gt;&lt;/p&gt;
854+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
855+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;&quot;&gt;&lt;/p&gt;
856+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
857+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans';&quot;&gt;&lt;/p&gt;
858+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
859+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans';&quot;&gt;&lt;/p&gt;
860+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
861+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans';&quot;&gt;&lt;/p&gt;
862+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
863+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans';&quot;&gt;&lt;/p&gt;
864+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
865+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans';&quot;&gt;&lt;/p&gt;
866+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
867+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans';&quot;&gt;&lt;/p&gt;
868+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
869+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans';&quot;&gt;&lt;/p&gt;
870+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
871+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans';&quot;&gt;&lt;/p&gt;
872+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
873+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans';&quot;&gt;&lt;/p&gt;
874+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
875+
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;/p&gt;
876+
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/body&gt;&lt;/html&gt;</string>
854877
</property>
855878
</widget>
856879
</item>
@@ -954,11 +977,14 @@ p, li { white-space: pre-wrap; }
954977
</widget>
955978
<widget class="QWidget" name="tabPagePipe">
956979
<attribute name="title">
957-
<string>Pipe (debug)</string>
980+
<string>Pipe</string>
958981
</attribute>
959982
<layout class="QVBoxLayout" name="verticalLayout">
960983
<item>
961984
<widget class="QTreeWidget" name="mPipeTreeWidget">
985+
<property name="rootIsDecorated">
986+
<bool>false</bool>
987+
</property>
962988
<attribute name="headerStretchLastSection">
963989
<bool>true</bool>
964990
</attribute>

0 commit comments

Comments
 (0)