use stylesheet rather than palette

add doxygen comments and fix sip bindings
This commit is contained in:
Denis Rouzaud 2017-02-08 16:51:55 +01:00
parent a1369955de
commit 4cba47814b
8 changed files with 236 additions and 139 deletions

View File

@ -1,3 +1,23 @@
class QgsSearchHighlightOptionWidget : QObject
{
%TypeHeaderCode
#include <qgsoptionsdialogbase.h>
%End
public:
explicit QgsSearchHighlightOptionWidget( QWidget* widget = 0 );
~QgsSearchHighlightOptionWidget();
bool isValid();
bool searchHighlight( QString searchText );
void reset();
QWidget* widget();
};
class QgsOptionsDialogBase : QDialog class QgsOptionsDialogBase : QDialog
{ {
%TypeHeaderCode %TypeHeaderCode
@ -32,6 +52,14 @@ class QgsOptionsDialogBase : QDialog
*/ */
bool iconOnly(); bool iconOnly();
public slots:
/**
* searchText searches for a text in all the pages of the stacked widget and highlight the results
* @param text the text to search
*/
void searchText( QString text );
protected slots: protected slots:
void updateOptionsListVerticalTabs(); void updateOptionsListVerticalTabs();
void optionsStackedWidget_CurrentChanged( int indx ); void optionsStackedWidget_CurrentChanged( int indx );
@ -43,4 +71,6 @@ class QgsOptionsDialogBase : QDialog
void paintEvent( QPaintEvent* e ); void paintEvent( QPaintEvent* e );
virtual void updateWindowTitle(); virtual void updateWindowTitle();
void registerTextSearchWidgets();
}; };

View File

@ -380,7 +380,7 @@ void QgsCollapsibleGroupBoxBasic::updateStyle()
ss += QLatin1String( " background-color: rgba(0,0,0,0)" ); ss += QLatin1String( " background-color: rgba(0,0,0,0)" );
} }
ss += '}'; ss += '}';
setStyleSheet( ss ); setStyleSheet( styleSheet() + ss );
// clear toolbutton default background and border and apply offset // clear toolbutton default background and border and apply offset
QString ssd; QString ssd;

View File

@ -19,6 +19,7 @@
#include <QCheckBox> #include <QCheckBox>
#include <QDialog> #include <QDialog>
#include <QDialogButtonBox> #include <QDialogButtonBox>
#include <QEvent>
#include <QGroupBox> #include <QGroupBox>
#include <QLabel> #include <QLabel>
#include <QLayout> #include <QLayout>
@ -218,8 +219,9 @@ void QgsOptionsDialogBase::searchText( QString text )
if ( !mOptStackedWidget ) if ( !mOptStackedWidget )
return; return;
if ( mOptStackedWidget->isHidden() )
mOptStackedWidget->show(); mOptStackedWidget->show();
if ( mOptButtonBox ) if ( mOptButtonBox && mOptButtonBox->isHidden() )
mOptButtonBox->show(); mOptButtonBox->show();
// hide all page if text has to be search, show them all otherwise // hide all page if text has to be search, show them all otherwise
for ( int r = 0; r < mOptListWidget->count(); ++r ) for ( int r = 0; r < mOptListWidget->count(); ++r )
@ -227,15 +229,14 @@ void QgsOptionsDialogBase::searchText( QString text )
mOptListWidget->setRowHidden( r, !text.isEmpty() ); mOptListWidget->setRowHidden( r, !text.isEmpty() );
} }
QPair< QgsSearchHighlightOptionWidget, int > rsw; for ( QPair< QgsSearchHighlightOptionWidget*, int > rsw : mRegisteredSearchWidgets )
Q_FOREACH ( rsw, mRegisteredSearchWidgets )
{ {
rsw.first.reset(); rsw.first->reset();
if ( !text.isEmpty() && rsw.first.searchHighlight( text ) ) if ( !text.isEmpty() && rsw.first->searchHighlight( text ) )
{ {
QgsDebugMsg( QString( "Found %1 in %2 (tab: %3)" ) QgsDebugMsg( QString( "Found %1 in %2 (tab: %3)" )
.arg( text ) .arg( text )
.arg( rsw.first.widgetName() ) .arg( rsw.first->isValid() ? rsw.first->widget()->objectName() : "no widget" )
.arg( mOptListWidget->item( rsw.second )->text() ) ); .arg( mOptListWidget->item( rsw.second )->text() ) );
mOptListWidget->setRowHidden( rsw.second, false ); mOptListWidget->setRowHidden( rsw.second, false );
} }
@ -259,7 +260,7 @@ void QgsOptionsDialogBase::searchText( QString text )
} }
} }
void QgsOptionsDialogBase::registerTextSearch() void QgsOptionsDialogBase::registerTextSearchWidgets()
{ {
mRegisteredSearchWidgets.clear(); mRegisteredSearchWidgets.clear();
@ -267,10 +268,10 @@ void QgsOptionsDialogBase::registerTextSearch()
{ {
Q_FOREACH ( QWidget* w, mOptStackedWidget->widget( i )->findChildren<QWidget*>() ) Q_FOREACH ( QWidget* w, mOptStackedWidget->widget( i )->findChildren<QWidget*>() )
{ {
QgsSearchHighlightOptionWidget shw = QgsSearchHighlightOptionWidget( w ); QgsSearchHighlightOptionWidget* shw = new QgsSearchHighlightOptionWidget( w );
QgsDebugMsg( QString( "Registering: %1 %2" ).arg( w->objectName() ).arg( shw.isValid() ? "valid" : "invalid" ) ); if ( shw->isValid() )
if ( shw.isValid() )
{ {
QgsDebugMsg( QString( "Registering: %1" ).arg( w->objectName() ) );
mRegisteredSearchWidgets.append( qMakePair( shw, i ) ); mRegisteredSearchWidgets.append( qMakePair( shw, i ) );
} }
} }
@ -291,7 +292,7 @@ void QgsOptionsDialogBase::showEvent( QShowEvent* e )
if ( mSearchLineEdit ) if ( mSearchLineEdit )
{ {
registerTextSearch(); registerTextSearchWidgets();
} }
QDialog::showEvent( e ); QDialog::showEvent( e );
@ -368,7 +369,14 @@ void QgsOptionsDialogBase::optionsStackedWidget_WidgetRemoved( int indx )
// will need to take item first, if widgets are set for item in future // will need to take item first, if widgets are set for item in future
delete mOptListWidget->item( indx ); delete mOptListWidget->item( indx );
registerTextSearch(); QList<QPair< QgsSearchHighlightOptionWidget*, int > >::iterator it = mRegisteredSearchWidgets.begin();
while ( it != mRegisteredSearchWidgets.end() )
{
if (( *it ).second == indx )
it = mRegisteredSearchWidgets.erase( it );
else
++it;
}
} }
void QgsOptionsDialogBase::warnAboutMissingObjects() void QgsOptionsDialogBase::warnAboutMissingObjects()
@ -383,49 +391,48 @@ void QgsOptionsDialogBase::warnAboutMissingObjects()
QgsSearchHighlightOptionWidget::QgsSearchHighlightOptionWidget( QWidget* widget ) QgsSearchHighlightOptionWidget::QgsSearchHighlightOptionWidget( QWidget* widget )
: mWidget( nullptr ) : mWidget( widget )
, mOriginalPalette( QPalette() ) , mStyleSheet( QString() )
, mColorRole( QPalette::Window ) , mValid( true )
, mColor( Qt::yellow ) , mChangedStyle( false )
, mText( [=]( QWidget* ) {return QString();} ) , mText( [=]() {return QString();} )
{ {
if ( !widget )
{
return;
}
if ( qobject_cast<QLabel*>( widget ) ) if ( qobject_cast<QLabel*>( widget ) )
{ {
mColorRole = QPalette::Window; mStyleSheet = "QLabel { background-color: yellow; color: blue;}";
mText = [=]( QWidget * widget ) {return widget ? qobject_cast<QLabel*>( widget )->text() : QString(); }; mText = [=]() {return qobject_cast<QLabel*>( mWidget )->text();};
} }
else if ( qobject_cast<QCheckBox*>( widget ) ) else if ( qobject_cast<QCheckBox*>( widget ) )
{ {
mColorRole = QPalette::Button; mStyleSheet = "QCheckBox { background-color: yellow; color: blue;}";
mText = [=]( QWidget * widget ) {return widget ? qobject_cast<QCheckBox*>( widget )->text() : QString(); }; mText = [=]() {return qobject_cast<QCheckBox*>( mWidget )->text();};
}
else if ( qobject_cast<QAbstractButton*>( widget ) )
{
mStyleSheet = "QAbstractButton { background-color: yellow; color: blue;}";
mText = [=]() {return qobject_cast<QAbstractButton*>( mWidget )->text();};
} }
else if ( qobject_cast<QGroupBox*>( widget ) ) else if ( qobject_cast<QGroupBox*>( widget ) )
{ {
mColorRole = QPalette::WindowText; mStyleSheet = "QGroupBox::title { background-color: yellow; color: blue;}";
mText = [=]( QWidget * widget ) {return widget ? qobject_cast<QGroupBox*>( widget )->title() : QString(); }; mText = [=]() {return qobject_cast<QGroupBox*>( mWidget )->title();};
} }
else else
{ {
return; mValid = false;
}
if ( mValid )
{
mStyleSheet.prepend( "/*!search!*/" ).append( "/*!search!*/" );
QgsDebugMsg( mStyleSheet );
connect( mWidget, &QWidget::destroyed, this, &QgsSearchHighlightOptionWidget::widgetDestroyed );
} }
mWidget = widget;
mOriginalPalette = mWidget->palette();
} }
QgsSearchHighlightOptionWidget::~QgsSearchHighlightOptionWidget() QgsSearchHighlightOptionWidget::~QgsSearchHighlightOptionWidget()
{ {
} }
bool QgsSearchHighlightOptionWidget::isValid()
{
return mWidget;
}
bool QgsSearchHighlightOptionWidget::searchHighlight( QString searchText ) bool QgsSearchHighlightOptionWidget::searchHighlight( QString searchText )
{ {
bool found = false; bool found = false;
@ -434,20 +441,22 @@ bool QgsSearchHighlightOptionWidget::searchHighlight( QString searchText )
if ( !searchText.isEmpty() ) if ( !searchText.isEmpty() )
{ {
QString origText = mText( mWidget ); QString origText = mText();
if ( origText.contains( searchText, Qt::CaseInsensitive ) ) if ( origText.contains( searchText, Qt::CaseInsensitive ) )
{ {
found = true; found = true;
} }
} }
if ( found ) if ( found && !mChangedStyle )
{ {
QPalette pal( mOriginalPalette ); if ( !mWidget->isVisible() )
pal.setColor( mColorRole, mColor ); {
// show the widget to get initial stylesheet in case it's modified
mWidget->setAutoFillBackground( true ); mWidget->show();
mWidget->setPalette( pal ); }
mWidget->setStyleSheet( mWidget->styleSheet() + mStyleSheet );
mChangedStyle = true;
} }
return found; return found;
@ -455,16 +464,16 @@ bool QgsSearchHighlightOptionWidget::searchHighlight( QString searchText )
void QgsSearchHighlightOptionWidget::reset() void QgsSearchHighlightOptionWidget::reset()
{ {
if ( mWidget ) if ( mValid && mChangedStyle )
{ {
mWidget->setPalette( mOriginalPalette ); QString ss = mWidget->styleSheet();
ss.remove( mStyleSheet );
mWidget->setStyleSheet( ss );
mChangedStyle = false;
} }
} }
QString QgsSearchHighlightOptionWidget::widgetName() void QgsSearchHighlightOptionWidget::widgetDestroyed()
{ {
QString name; mValid = false;
if ( mWidget )
name = mWidget->objectName();
return name;
} }

View File

@ -38,27 +38,55 @@ class QSplitter;
class QgsFilterLineEdit; class QgsFilterLineEdit;
/** \ingroup gui
class GUI_EXPORT QgsSearchHighlightOptionWidget * \class QgsSearchHighlightOptionWidget
* Container for a widget to be used to search text in the option dialog
* If the widget type is handled, it is valid.
* It can perform a text search in the widget and highlight it in case of success.
* This uses stylesheets.
* @note added in 3.0
*/
class GUI_EXPORT QgsSearchHighlightOptionWidget : public QObject
{ {
Q_OBJECT
public: public:
/** Constructor
* @param widget the widget used to search text into
*/
explicit QgsSearchHighlightOptionWidget( QWidget* widget = 0 ); explicit QgsSearchHighlightOptionWidget( QWidget* widget = 0 );
~QgsSearchHighlightOptionWidget(); ~QgsSearchHighlightOptionWidget();
bool isValid(); /**
* Returns if it valid: if the widget type is handled and if the widget is not still available
*/
bool isValid() {return mValid;}
/**
* search for a text pattern and highlight the widget if the text is found
* @return true if the text pattern is found
*/
bool searchHighlight( QString searchText ); bool searchHighlight( QString searchText );
/**
* reset the style to the original state
*/
void reset(); void reset();
QString widgetName(); /**
* return the widget
*/
QWidget* widget() {return mWidget;}
private slots:
void widgetDestroyed();
private: private:
QWidget* mWidget; QWidget* mWidget;
QPalette mOriginalPalette; QString mStyleSheet;
QPalette::ColorRole mColorRole; bool mValid;
QColor mColor; bool mChangedStyle;
std::function < QString( QWidget* ) > mText; std::function < QString() > mText;
}; };
@ -118,6 +146,7 @@ class GUI_EXPORT QgsOptionsDialogBase : public QDialog
/** /**
* searchText searches for a text in all the pages of the stacked widget and highlight the results * searchText searches for a text in all the pages of the stacked widget and highlight the results
* @param text the text to search * @param text the text to search
* @note added in 3.0
*/ */
void searchText( QString text ); void searchText( QString text );
@ -133,9 +162,14 @@ class GUI_EXPORT QgsOptionsDialogBase : public QDialog
virtual void updateWindowTitle(); virtual void updateWindowTitle();
void registerTextSearch(); /**
* register widgets in the dialog to search for text in it
* it is automatically called if a line edit has "mSearchLineEdit" as object name.
* @note added in 3.0
*/
void registerTextSearchWidgets();
QList< QPair< QgsSearchHighlightOptionWidget, int > > mRegisteredSearchWidgets; QList< QPair< QgsSearchHighlightOptionWidget*, int > > mRegisteredSearchWidgets;
QString mOptsKey; QString mOptsKey;
bool mInit; bool mInit;

View File

@ -17,7 +17,16 @@
<property name="spacing"> <property name="spacing">
<number>6</number> <number>6</number>
</property> </property>
<property name="margin"> <property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
@ -59,7 +68,16 @@
<string>Management</string> <string>Management</string>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<property name="margin"> <property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number> <number>6</number>
</property> </property>
<item> <item>
@ -124,7 +142,7 @@
</font> </font>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">color: rgb(128, 128, 128);</string> <string notr="true">QLabel {color: rgb(128, 128, 128);}</string>
</property> </property>
<property name="text"> <property name="text">
<string>Note: Editing writes directly to authentication database</string> <string>Note: Editing writes directly to authentication database</string>

View File

@ -311,7 +311,7 @@
<item> <item>
<widget class="QStackedWidget" name="mOptionsStackedWidget"> <widget class="QStackedWidget" name="mOptionsStackedWidget">
<property name="currentIndex"> <property name="currentIndex">
<number>2</number> <number>12</number>
</property> </property>
<widget class="QWidget" name="mOptionsPageGeneral"> <widget class="QWidget" name="mOptionsPageGeneral">
<layout class="QVBoxLayout" name="verticalLayout_3"> <layout class="QVBoxLayout" name="verticalLayout_3">
@ -340,8 +340,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>691</width> <width>857</width>
<height>702</height> <height>680</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_28"> <layout class="QVBoxLayout" name="verticalLayout_28">
@ -1027,7 +1027,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>843</width> <width>843</width>
<height>1110</height> <height>1065</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_22"> <layout class="QVBoxLayout" name="verticalLayout_22">
@ -1557,7 +1557,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>843</width> <width>843</width>
<height>755</height> <height>685</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_27"> <layout class="QVBoxLayout" name="verticalLayout_27">
@ -1924,8 +1924,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>713</width> <width>843</width>
<height>1110</height> <height>936</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_22"> <layout class="QGridLayout" name="gridLayout_22">
@ -2675,8 +2675,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>151</width> <width>857</width>
<height>239</height> <height>680</height>
</rect> </rect>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout_46"> <layout class="QHBoxLayout" name="horizontalLayout_46">
@ -2826,8 +2826,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>523</width> <width>857</width>
<height>370</height> <height>680</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_25"> <layout class="QVBoxLayout" name="verticalLayout_25">
@ -3169,8 +3169,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>640</width> <width>857</width>
<height>660</height> <height>680</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_30"> <layout class="QVBoxLayout" name="verticalLayout_30">
@ -3600,8 +3600,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>509</width> <width>857</width>
<height>623</height> <height>680</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_39"> <layout class="QVBoxLayout" name="verticalLayout_39">
@ -3869,8 +3869,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>572</width> <width>857</width>
<height>793</height> <height>680</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_31"> <layout class="QVBoxLayout" name="verticalLayout_31">
@ -4424,8 +4424,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>435</width> <width>857</width>
<height>402</height> <height>680</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_6"> <layout class="QVBoxLayout" name="verticalLayout_6">
@ -4563,8 +4563,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>543</width> <width>857</width>
<height>710</height> <height>680</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_15"> <layout class="QGridLayout" name="gridLayout_15">
@ -4809,8 +4809,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>292</width> <width>857</width>
<height>258</height> <height>680</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_32"> <layout class="QVBoxLayout" name="verticalLayout_32">
@ -4918,8 +4918,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>534</width> <width>843</width>
<height>790</height> <height>689</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_33"> <layout class="QVBoxLayout" name="verticalLayout_33">

View File

@ -54,6 +54,9 @@
<property name="bottomMargin"> <property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item>
<widget class="QLineEdit" name="mSearchLineEdit"/>
</item>
<item> <item>
<widget class="QListWidget" name="mOptionsListWidget"> <widget class="QListWidget" name="mOptionsListWidget">
<property name="minimumSize"> <property name="minimumSize">
@ -238,8 +241,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>615</width> <width>266</width>
<height>542</height> <height>233</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_7"> <layout class="QVBoxLayout" name="verticalLayout_7">
@ -463,8 +466,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>615</width> <width>617</width>
<height>542</height> <height>547</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_10"> <layout class="QVBoxLayout" name="verticalLayout_10">
@ -1094,8 +1097,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>435</width> <width>455</width>
<height>461</height> <height>384</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_5"> <layout class="QVBoxLayout" name="verticalLayout_5">
@ -1511,7 +1514,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>559</width> <width>559</width>
<height>217</height> <height>189</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_12"> <layout class="QVBoxLayout" name="verticalLayout_12">
@ -1574,7 +1577,7 @@
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; } p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Noto Sans'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt; &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&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:'Cantarell'; font-size:11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> &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:'Cantarell'; font-size:11pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
</widget> </widget>
@ -1680,8 +1683,8 @@ p, li { white-space: pre-wrap; }
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>86</width> <width>98</width>
<height>36</height> <height>41</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_16"> <layout class="QVBoxLayout" name="verticalLayout_16">
@ -1739,8 +1742,8 @@ p, li { white-space: pre-wrap; }
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>334</width> <width>325</width>
<height>659</height> <height>613</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_12"> <layout class="QGridLayout" name="gridLayout_12">
@ -2194,18 +2197,18 @@ p, li { white-space: pre-wrap; }
</layout> </layout>
</widget> </widget>
<customwidgets> <customwidgets>
<customwidget>
<class>QgsCollapsibleGroupBox</class>
<extends>QGroupBox</extends>
<header>qgscollapsiblegroupbox.h</header>
<container>1</container>
</customwidget>
<customwidget> <customwidget>
<class>QgsColorButton</class> <class>QgsColorButton</class>
<extends>QToolButton</extends> <extends>QToolButton</extends>
<header>qgscolorbutton.h</header> <header>qgscolorbutton.h</header>
<container>1</container> <container>1</container>
</customwidget> </customwidget>
<customwidget>
<class>QgsCollapsibleGroupBox</class>
<extends>QGroupBox</extends>
<header>qgscollapsiblegroupbox.h</header>
<container>1</container>
</customwidget>
<customwidget> <customwidget>
<class>QgsProjectionSelectionWidget</class> <class>QgsProjectionSelectionWidget</class>
<extends>QWidget</extends> <extends>QWidget</extends>
@ -2217,17 +2220,17 @@ p, li { white-space: pre-wrap; }
<extends>QWidget</extends> <extends>QWidget</extends>
<header>qgsscalerangewidget.h</header> <header>qgsscalerangewidget.h</header>
</customwidget> </customwidget>
<customwidget>
<class>QgsBlendModeComboBox</class>
<extends>QComboBox</extends>
<header>qgsblendmodecombobox.h</header>
</customwidget>
<customwidget> <customwidget>
<class>QgsLayerTreeEmbeddedConfigWidget</class> <class>QgsLayerTreeEmbeddedConfigWidget</class>
<extends>QWidget</extends> <extends>QWidget</extends>
<header>qgslayertreeembeddedconfigwidget.h</header> <header>qgslayertreeembeddedconfigwidget.h</header>
<container>1</container> <container>1</container>
</customwidget> </customwidget>
<customwidget>
<class>QgsBlendModeComboBox</class>
<extends>QComboBox</extends>
<header>qgsblendmodecombobox.h</header>
</customwidget>
</customwidgets> </customwidgets>
<tabstops> <tabstops>
<tabstop>mOptionsListWidget</tabstop> <tabstop>mOptionsListWidget</tabstop>

View File

@ -58,6 +58,9 @@
<property name="bottomMargin"> <property name="bottomMargin">
<number>0</number> <number>0</number>
</property> </property>
<item>
<widget class="QLineEdit" name="mSearchLineEdit"/>
</item>
<item> <item>
<widget class="QListWidget" name="mOptionsListWidget"> <widget class="QListWidget" name="mOptionsListWidget">
<property name="minimumSize"> <property name="minimumSize">
@ -308,8 +311,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>651</width> <width>653</width>
<height>537</height> <height>542</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_13"> <layout class="QVBoxLayout" name="verticalLayout_13">
@ -505,7 +508,7 @@
</property> </property>
<layout class="QGridLayout" name="gridLayout_6"> <layout class="QGridLayout" name="gridLayout_6">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QgsScaleRangeWidget" name="mScaleRangeWidget"> <widget class="QgsScaleRangeWidget" name="mScaleRangeWidget" native="true">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
</property> </property>
@ -774,8 +777,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>721</width> <width>652</width>
<height>232</height> <height>216</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_32"> <layout class="QVBoxLayout" name="verticalLayout_32">
@ -950,7 +953,7 @@
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="0" column="1">
<widget class="QgsFieldExpressionWidget" name="mDisplayExpressionWidget"> <widget class="QgsFieldExpressionWidget" name="mDisplayExpressionWidget" native="true">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
</property> </property>
@ -1001,7 +1004,7 @@
</widget> </widget>
</item> </item>
<item row="1" column="0" colspan="2"> <item row="1" column="0" colspan="2">
<widget class="QgsFieldExpressionWidget" name="mMapTipExpressionFieldWidget"> <widget class="QgsFieldExpressionWidget" name="mMapTipExpressionFieldWidget" native="true">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
</property> </property>
@ -1045,8 +1048,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>730</width> <width>100</width>
<height>537</height> <height>30</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_21"> <layout class="QVBoxLayout" name="verticalLayout_21">
@ -1111,8 +1114,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>730</width> <width>104</width>
<height>537</height> <height>102</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_23"> <layout class="QVBoxLayout" name="verticalLayout_23">
@ -1280,8 +1283,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>714</width> <width>325</width>
<height>641</height> <height>613</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_3"> <layout class="QGridLayout" name="gridLayout_3">
@ -1828,9 +1831,9 @@
<container>1</container> <container>1</container>
</customwidget> </customwidget>
<customwidget> <customwidget>
<class>QgsFieldExpressionWidget</class> <class>QgsVariableEditorWidget</class>
<extends>QWidget</extends> <extends>QWidget</extends>
<header>qgsfieldexpressionwidget.h</header> <header location="global">qgsvariableeditorwidget.h</header>
<container>1</container> <container>1</container>
</customwidget> </customwidget>
<customwidget> <customwidget>
@ -1839,22 +1842,22 @@
<header>qgsprojectionselectionwidget.h</header> <header>qgsprojectionselectionwidget.h</header>
<container>1</container> <container>1</container>
</customwidget> </customwidget>
<customwidget>
<class>QgsScaleRangeWidget</class>
<extends>QWidget</extends>
<header>qgsscalerangewidget.h</header>
</customwidget>
<customwidget>
<class>QgsVariableEditorWidget</class>
<extends>QWidget</extends>
<header location="global">qgsvariableeditorwidget.h</header>
<container>1</container>
</customwidget>
<customwidget> <customwidget>
<class>QgsScaleComboBox</class> <class>QgsScaleComboBox</class>
<extends>QComboBox</extends> <extends>QComboBox</extends>
<header>qgsscalecombobox.h</header> <header>qgsscalecombobox.h</header>
</customwidget> </customwidget>
<customwidget>
<class>QgsFieldExpressionWidget</class>
<extends>QWidget</extends>
<header>qgsfieldexpressionwidget.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>QgsScaleRangeWidget</class>
<extends>QWidget</extends>
<header>qgsscalerangewidget.h</header>
</customwidget>
<customwidget> <customwidget>
<class>QgsLayerTreeView</class> <class>QgsLayerTreeView</class>
<extends>QTreeView</extends> <extends>QTreeView</extends>