Skip to content

Commit 81e21b5

Browse files
committedMay 22, 2015
Now UI appears properly
1 parent 46b2606 commit 81e21b5

File tree

4 files changed

+23
-12
lines changed

4 files changed

+23
-12
lines changed
 

‎src/app/qgsattributetabledialog.cpp

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -405,13 +405,20 @@ void QgsAttributeTableDialog::runFieldCalculation( QgsVectorLayer* layer, QStrin
405405
mLayer->endEditCommand();
406406
}
407407

408+
void QgsAttributeTableDialog::replaceSearchWidget(QWidget* oldw, QWidget* neww)
409+
{
410+
mFilterLayout->removeWidget(oldw);
411+
oldw->setVisible(false);
412+
mFilterLayout->addWidget(neww,0,0,0);
413+
neww->setVisible(true);
414+
}
415+
408416
void QgsAttributeTableDialog::filterColumnChanged( QObject* filterAction )
409417
{
410418
mFilterButton->setDefaultAction( qobject_cast<QAction *>( filterAction ) );
411419
mFilterButton->setPopupMode( QToolButton::InstantPopup );
412420
mCbxCaseSensitive->setVisible( true );
413421
// replace the search line edit with a search widget that is suited to the selected field
414-
mFilterQuery->setVisible( false );
415422
// delete previous widget
416423
if ( mCurrentSearchWidgetWrapper != 0 )
417424
{
@@ -427,8 +434,7 @@ void QgsAttributeTableDialog::filterColumnChanged( QObject* filterAction )
427434
//replace with createSearch or so
428435
//go to registry and create a create Search method
429436
mCurrentSearchWidgetWrapper= QgsEditorWidgetRegistry::instance()->createSearch( widgetType, mLayer, fldIdx, widgetConfig, mFilterContainer);
430-
mCurrentSearchWidgetWrapper->widget()->setObjectName("searchy");
431-
mCurrentSearchWidgetWrapper->widget()->setVisible( true );
437+
replaceSearchWidget(mFilterQuery, mCurrentSearchWidgetWrapper->widget());
432438

433439
mApplyFilterButton->setVisible( true );
434440
}
@@ -754,10 +760,11 @@ void QgsAttributeTableDialog::setFilterExpression( QString filterString )
754760
mFilterButton->setDefaultAction( mActionAdvancedFilter );
755761
mFilterButton->setPopupMode( QToolButton::MenuButtonPopup );
756762
mCbxCaseSensitive->setVisible( false );
763+
757764
mFilterQuery->setVisible( true );
758765
if ( mCurrentSearchWidgetWrapper != 0 )
759766
{
760-
mCurrentSearchWidgetWrapper->widget()->setVisible( false );
767+
replaceSearchWidget(mCurrentSearchWidgetWrapper->widget(),mFilterQuery);
761768
}
762769
mApplyFilterButton->setVisible( true );
763770
mMainView->setFilterMode( QgsAttributeTableFilterModel::ShowFilteredList );

‎src/app/qgsattributetabledialog.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,10 @@ class APP_EXPORT QgsAttributeTableDialog : public QDialog, private Ui::QgsAttrib
159159
void updateTitle();
160160

161161
void updateButtonStatus( QString fieldName, bool isValid );
162+
163+
/* replace the search widget with a new one */
164+
void replaceSearchWidget(QWidget* oldw, QWidget* neww);
165+
162166
signals:
163167
/**
164168
* Informs that editing mode has been toggled

‎src/gui/editorwidgets/core/qgsdefaultsearchwidgetwrapper.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
/***************************************************************************
2-
qgstexteditwrapper.h
2+
qgsdefaultsearchwidgetwrapper.h
33
--------------------------------------
4-
Date : 5.1.2014
5-
Copyright : (C) 2014 Matthias Kuhn
6-
Email : matthias dot kuhn at gmx dot ch
4+
Date : 21.5.2015
5+
Copyright : (C) 2015 Karolina Alexiou
6+
Email : carolinegr at gmail dot com
77
***************************************************************************
88
* *
99
* This program is free software; you can redistribute it and/or modify *

‎src/ui/qgsattributetabledialog.ui

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -542,7 +542,10 @@
542542
</item>
543543
<item>
544544
<widget class="QWidget" name="mFilterContainer" native="true">
545-
<layout class="QGridLayout" name="gridLayout_2">
545+
<layout class="QGridLayout" name="mFilterLayout">
546+
<property name="sizeConstraint">
547+
<enum>QLayout::SetDefaultConstraint</enum>
548+
</property>
546549
<property name="margin">
547550
<number>0</number>
548551
</property>
@@ -552,9 +555,6 @@
552555
</layout>
553556
</widget>
554557
</item>
555-
<item>
556-
<widget class="QWidget" name="mSpacer" native="true"/>
557-
</item>
558558
<item>
559559
<widget class="QToolButton" name="mApplyFilterButton">
560560
<property name="toolTip">

0 commit comments

Comments
 (0)
Please sign in to comment.