From 67dee9d6ce7bca267e5178f48b6bfbbb8818a101 Mon Sep 17 00:00:00 2001 From: Gabriel Bolbotina Date: Thu, 26 Mar 2026 19:37:24 +0200 Subject: [PATCH 1/3] Updated the filter icon Deleted filled filter icon Updated visuals for the chip Changed the chip position Formatted code --- app/filtercontroller.cpp | 12 +++++----- app/icons/Filter.svg | 11 +++++++-- app/icons/FilterFilled.svg | 3 --- app/icons/icons.qrc | 1 - app/mmstyle.h | 2 -- app/qml/map/MMMapController.qml | 31 ++++++++++---------------- app/qml/map/components/MMMapButton.qml | 2 ++ 7 files changed, 29 insertions(+), 33 deletions(-) delete mode 100644 app/icons/FilterFilled.svg diff --git a/app/filtercontroller.cpp b/app/filtercontroller.cpp index 237991341..da1907d94 100644 --- a/app/filtercontroller.cpp +++ b/app/filtercontroller.cpp @@ -359,7 +359,7 @@ QString FilterController::buildFieldExpression( const FieldFilter &filter ) cons // Match all positions: only value {k}, first {k,...}, last ...,k}, middle ...,k,... keyConditions << QStringLiteral( "(%1 LIKE '{%2}' OR %1 LIKE '{%2,%%' OR %1 LIKE '%%,%2}' OR %1 LIKE '%%,%2,%%')" ) - .arg( quotedField, escapedKey ); + .arg( quotedField, escapedKey ); } return keyConditions.join( QStringLiteral( " OR " ) ); } @@ -726,7 +726,7 @@ QVariantList FilterController::extractValueRelationOptions( const QVariantMap &c QString escapedSearch = searchText; escapedSearch.replace( "'", "''" ); QString filterExpr = QStringLiteral( "LOWER(%1) LIKE '%%2%'" ) - .arg( QgsExpression::quotedColumnRef( valueFieldName ), escapedSearch.toLower() ); + .arg( QgsExpression::quotedColumnRef( valueFieldName ), escapedSearch.toLower() ); request.setFilterExpression( filterExpr ); } @@ -785,8 +785,8 @@ QVariantList FilterController::extractValueRelationOptions( const QVariantMap &c selectedRequest.setFlags( Qgis::FeatureRequestFlag::NoGeometry ); selectedRequest.setSubsetOfAttributes( QStringList( { keyFieldName, valueFieldName } ), referencedLayer->fields() ); selectedRequest.setFilterExpression( - QStringLiteral( "%1 IN (%2)" ).arg( QgsExpression::quotedColumnRef( keyFieldName ), quotedKeys.join( QStringLiteral( ", " ) ) ) - ); + QStringLiteral( "%1 IN (%2)" ).arg( QgsExpression::quotedColumnRef( keyFieldName ), quotedKeys.join( QStringLiteral( ", " ) ) ) + ); QVariantList selectedItems; QgsFeatureIterator selIt = referencedLayer->getFeatures( selectedRequest ); @@ -856,8 +856,8 @@ QStringList FilterController::lookupValueRelationTexts( const QVariantMap &confi request.setFlags( Qgis::FeatureRequestFlag::NoGeometry ); request.setSubsetOfAttributes( QStringList( { keyFieldName, valueFieldName } ), referencedLayer->fields() ); request.setFilterExpression( - QStringLiteral( "%1 IN (%2)" ).arg( QgsExpression::quotedColumnRef( keyFieldName ), quotedKeys.join( QStringLiteral( ", " ) ) ) - ); + QStringLiteral( "%1 IN (%2)" ).arg( QgsExpression::quotedColumnRef( keyFieldName ), quotedKeys.join( QStringLiteral( ", " ) ) ) + ); QgsFeatureIterator it = referencedLayer->getFeatures( request ); QgsFeature feature; diff --git a/app/icons/Filter.svg b/app/icons/Filter.svg index d62e7cf66..f9a65ccca 100644 --- a/app/icons/Filter.svg +++ b/app/icons/Filter.svg @@ -1,3 +1,10 @@ - - + + + + + + + + + diff --git a/app/icons/FilterFilled.svg b/app/icons/FilterFilled.svg deleted file mode 100644 index 03a60d659..000000000 --- a/app/icons/FilterFilled.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/app/icons/icons.qrc b/app/icons/icons.qrc index ce46904c9..656d4b479 100644 --- a/app/icons/icons.qrc +++ b/app/icons/icons.qrc @@ -28,7 +28,6 @@ Features.svg FeaturesFilled.svg Filter.svg - FilterFilled.svg GPSAntennaHeight.svg GPSIcon.svg GPSSatellite.svg diff --git a/app/mmstyle.h b/app/mmstyle.h index f7d896d36..aa2207657 100644 --- a/app/mmstyle.h +++ b/app/mmstyle.h @@ -128,7 +128,6 @@ class MMStyle: public QObject Q_PROPERTY( QUrl facebookIcon READ facebookIcon CONSTANT ) Q_PROPERTY( QUrl featuresIcon READ featuresIcon CONSTANT ) Q_PROPERTY( QUrl filterIcon READ filterIcon CONSTANT ) - Q_PROPERTY( QUrl filterFilledIcon READ filterFilledIcon CONSTANT ) Q_PROPERTY( QUrl globeIcon READ globeIcon CONSTANT ) Q_PROPERTY( QUrl globalIcon READ globalIcon CONSTANT ) Q_PROPERTY( QUrl gpsIcon READ gpsIcon CONSTANT ) @@ -433,7 +432,6 @@ class MMStyle: public QObject QUrl deleteIcon() const {return QUrl( "qrc:/Delete.svg" );} QUrl featuresIcon() const {return QUrl( "qrc:/Features.svg" );} QUrl filterIcon() const {return QUrl( "qrc:/Filter.svg" );} - QUrl filterFilledIcon() const {return QUrl( "qrc:/FilterFilled.svg" );} QUrl downloadIcon() const {return QUrl( "qrc:/Download.svg" );} QUrl uploadIcon() const {return QUrl( "qrc:/Upload.svg" );} QUrl editIcon() const {return QUrl( "qrc:/Edit.svg" );} diff --git a/app/qml/map/MMMapController.qml b/app/qml/map/MMMapController.qml index ef37784e5..9af3c2da8 100644 --- a/app/qml/map/MMMapController.qml +++ b/app/qml/map/MMMapController.qml @@ -591,25 +591,6 @@ Item { } } - // Filter indicator button - left side, 20% from top - MMMapButton { - id: filterIndicatorButton - - visible: root.state === "view" && root.filterController && (root.filterController.hasActiveFilters || AppSettings.alwaysShowFilterButton) - iconSource: root.filterController && root.filterController.hasActiveFilters ? __style.filterFilledIcon : __style.filterIcon - bgndColor: root.filterController && root.filterController.hasActiveFilters ? __style.sandColor : __style.polarColor - - anchors { - left: parent.left - top: parent.top - topMargin: parent.height * 0.2 - } - - onClicked: { - root.openFiltersPanel() - } - } - Item { // bottom buttons group width: parent.width @@ -879,6 +860,18 @@ Item { } } + MMMapButton { + id: filterIndicatorButton + + visible: root.state === "view" && root.filterController + iconSource: __style.filterIcon + bgndColor: root.filterController && root.filterController.hasActiveFilters ? __style.positiveColor : __style.polarColor + + onClicked: { + root.openFiltersPanel() + } + } + MMMapButton { id: gpsButton diff --git a/app/qml/map/components/MMMapButton.qml b/app/qml/map/components/MMMapButton.qml index 4f0074b2e..3f51db7a0 100644 --- a/app/qml/map/components/MMMapButton.qml +++ b/app/qml/map/components/MMMapButton.qml @@ -19,6 +19,7 @@ Item { property alias iconSource: icon.source property color bgndColor: __style.polarColor + property real iconSize: __style.icon32 signal clicked signal clickAndHold @@ -37,6 +38,7 @@ Item { anchors.centerIn: parent color: __style.forestColor + size: control.iconSize } MouseArea { From 0166dca5b93ea0294aec21634e3eccc93a266abc Mon Sep 17 00:00:00 2001 From: Gabriel Bolbotina Date: Fri, 27 Mar 2026 16:13:25 +0200 Subject: [PATCH 2/3] Formatted qml code Updated the chip visuals --- app/qml/filters/MMFilterLayerSection.qml | 132 +++++++++++------------ app/qml/filters/MMFiltersPanel.qml | 4 +- app/qml/layers/MMFeaturesListPage.qml | 2 +- app/qml/map/MMMapController.qml | 1 + app/qml/map/components/MMMapButton.qml | 2 +- 5 files changed, 71 insertions(+), 70 deletions(-) diff --git a/app/qml/filters/MMFilterLayerSection.qml b/app/qml/filters/MMFilterLayerSection.qml index b1c948aab..297739079 100644 --- a/app/qml/filters/MMFilterLayerSection.qml +++ b/app/qml/filters/MMFilterLayerSection.qml @@ -50,14 +50,14 @@ Column { Repeater { id: fieldsRepeater - model: root.vectorLayer ? root.filterController.getFilterableFields(root.vectorLayer) : [] + model: root.vectorLayer ? root.filterController.getFilterableFields( root.vectorLayer ) : [] delegate: Column { id: fieldDelegate property var fieldInfo: modelData property string fieldName: fieldInfo ? fieldInfo.name : "" - property string fieldDisplayName: fieldInfo ? (fieldInfo.displayName || fieldInfo.name) : "" + property string fieldDisplayName: fieldInfo ? ( fieldInfo.displayName || fieldInfo.name ) : "" property string filterType: fieldInfo ? fieldInfo.filterType : "text" property var currentValue: fieldInfo ? fieldInfo.currentValue : null property var currentValueTo: fieldInfo ? fieldInfo.currentValueTo : null @@ -85,39 +85,39 @@ Column { spacing: __style.margin12 property bool rangeInvalid: { - let fromVal = parseFloat(fromNumberInput.text) - let toVal = parseFloat(toNumberInput.text) - return !isNaN(fromVal) && !isNaN(toVal) && fromVal > toVal + let fromVal = parseFloat( fromNumberInput.text ) + let toVal = parseFloat( toNumberInput.text ) + return !isNaN( fromVal ) && !isNaN( toVal ) && fromVal > toVal } MMTextInput { id: fromNumberInput - width: (parent.width - __style.margin12) / 2 - placeholderText: qsTr("From") - text: fieldDelegate.currentValue !== null && fieldDelegate.currentValue !== undefined ? String(fieldDelegate.currentValue) : "" - errorMsg: parent.rangeInvalid ? qsTr("\"From\" must be less than \"To\"") : "" + width: ( parent.width - __style.margin12 ) / 2 + placeholderText: qsTr( "From" ) + text: fieldDelegate.currentValue !== null && fieldDelegate.currentValue !== undefined ? String( fieldDelegate.currentValue ) : "" + errorMsg: parent.rangeInvalid ? qsTr( "\"From\" must be less than \"To\"" ) : "" property bool initialized: false Component.onCompleted: initialized = true onTextChanged: { - if (!initialized || !toNumberInput.initialized) return - root.filterController.setNumberFilter(root.layerId, fieldDelegate.fieldName, text, toNumberInput.text) + if ( !initialized || !toNumberInput.initialized ) return + root.filterController.setNumberFilter( root.layerId, fieldDelegate.fieldName, text, toNumberInput.text ) } } MMTextInput { id: toNumberInput - width: (parent.width - __style.margin12) / 2 - placeholderText: qsTr("To") - text: fieldDelegate.currentValueTo !== null && fieldDelegate.currentValueTo !== undefined ? String(fieldDelegate.currentValueTo) : "" + width: ( parent.width - __style.margin12 ) / 2 + placeholderText: qsTr( "To" ) + text: fieldDelegate.currentValueTo !== null && fieldDelegate.currentValueTo !== undefined ? String( fieldDelegate.currentValueTo ) : "" property bool initialized: false Component.onCompleted: initialized = true onTextChanged: { - if (!initialized || !fromNumberInput.initialized) return - root.filterController.setNumberFilter(root.layerId, fieldDelegate.fieldName, fromNumberInput.text, text) + if ( !initialized || !fromNumberInput.initialized ) return + root.filterController.setNumberFilter( root.layerId, fieldDelegate.fieldName, fromNumberInput.text, text ) } } } @@ -141,12 +141,12 @@ Column { spacing: __style.margin12 property bool rangeInvalid: { - if (!fromDateInput.selectedDate || !toDateInput.selectedDate) return false + if ( !fromDateInput.selectedDate || !toDateInput.selectedDate ) return false return fromDateInput.selectedDate > toDateInput.selectedDate } Item { - width: (parent.width - __style.margin12) / 2 + width: ( parent.width - __style.margin12 ) / 2 height: fromDateInput.height MMPrivateComponents.MMBaseSingleLineInput { @@ -157,20 +157,20 @@ Column { Component.onCompleted: { let val = fieldDelegate.currentValue - if (val !== null && val !== undefined) { - let d = new Date(val) - if (!isNaN(d.getTime())) selectedDate = d + if ( val !== null && val !== undefined ) { + let d = new Date( val ) + if ( !isNaN( d.getTime() ) ) selectedDate = d } } - placeholderText: qsTr("From") + placeholderText: qsTr( "From" ) text: { - if (!selectedDate) return "" - if (fieldDelegate.hasTime) return Qt.formatDateTime(selectedDate, Qt.DefaultLocaleShortDate) - return Qt.formatDate(selectedDate, Qt.DefaultLocaleShortDate) + if ( !selectedDate ) return "" + if ( fieldDelegate.hasTime ) return Qt.formatDateTime( selectedDate, Qt.DefaultLocaleShortDate ) + return Qt.formatDate( selectedDate, Qt.DefaultLocaleShortDate ) } textField.readOnly: true - errorMsg: dateRangeRow.rangeInvalid ? qsTr("\"From\" must be less than \"To\"") : "" + errorMsg: dateRangeRow.rangeInvalid ? qsTr( "\"From\" must be less than \"To\"" ) : "" rightContent: MMIcon { size: __style.icon24 @@ -180,10 +180,10 @@ Column { onTextClicked: fromCalendarLoader.active = true onRightContentClicked: { - if (fromDateInput.selectedDate) { + if ( fromDateInput.selectedDate ) { fromDateInput.selectedDate = null let toDate = toDateInput.selectedDate ? toDateInput.selectedDate : null - root.filterController.setDateFilter(root.layerId, fieldDelegate.fieldName, null, toDate, fieldDelegate.hasTime) + root.filterController.setDateFilter( root.layerId, fieldDelegate.fieldName, null, toDate, fieldDelegate.hasTime ) } else { fromCalendarLoader.active = true @@ -208,7 +208,7 @@ Column { onPrimaryButtonClicked: { fromDateInput.selectedDate = dateTime let toDate = toDateInput.selectedDate ? toDateInput.selectedDate : null - root.filterController.setDateFilter(root.layerId, fieldDelegate.fieldName, dateTime, toDate, fieldDelegate.hasTime) + root.filterController.setDateFilter( root.layerId, fieldDelegate.fieldName, dateTime, toDate, fieldDelegate.hasTime ) } onClosed: fromCalendarLoader.active = false @@ -219,7 +219,7 @@ Column { } Item { - width: (parent.width - __style.margin12) / 2 + width: ( parent.width - __style.margin12 ) / 2 height: toDateInput.height MMPrivateComponents.MMBaseSingleLineInput { @@ -230,17 +230,17 @@ Column { Component.onCompleted: { let val = fieldDelegate.currentValueTo - if (val !== null && val !== undefined) { - let d = new Date(val) - if (!isNaN(d.getTime())) selectedDate = d + if ( val !== null && val !== undefined ) { + let d = new Date( val ) + if ( !isNaN( d.getTime() ) ) selectedDate = d } } - placeholderText: qsTr("To") + placeholderText: qsTr( "To" ) text: { - if (!selectedDate) return "" - if (fieldDelegate.hasTime) return Qt.formatDateTime(selectedDate, Qt.DefaultLocaleShortDate) - return Qt.formatDate(selectedDate, Qt.DefaultLocaleShortDate) + if ( !selectedDate ) return "" + if ( fieldDelegate.hasTime ) return Qt.formatDateTime( selectedDate, Qt.DefaultLocaleShortDate ) + return Qt.formatDate( selectedDate, Qt.DefaultLocaleShortDate ) } textField.readOnly: true @@ -252,10 +252,10 @@ Column { onTextClicked: toCalendarLoader.active = true onRightContentClicked: { - if (toDateInput.selectedDate) { + if ( toDateInput.selectedDate ) { toDateInput.selectedDate = null let fromDate = fromDateInput.selectedDate ? fromDateInput.selectedDate : null - root.filterController.setDateFilter(root.layerId, fieldDelegate.fieldName, fromDate, null, fieldDelegate.hasTime) + root.filterController.setDateFilter( root.layerId, fieldDelegate.fieldName, fromDate, null, fieldDelegate.hasTime ) } else { toCalendarLoader.active = true @@ -280,7 +280,7 @@ Column { onPrimaryButtonClicked: { toDateInput.selectedDate = dateTime let fromDate = fromDateInput.selectedDate ? fromDateInput.selectedDate : null - root.filterController.setDateFilter(root.layerId, fieldDelegate.fieldName, fromDate, dateTime, fieldDelegate.hasTime) + root.filterController.setDateFilter( root.layerId, fieldDelegate.fieldName, fromDate, dateTime, fieldDelegate.hasTime ) } onClosed: toCalendarLoader.active = false @@ -298,13 +298,13 @@ Column { width: parent.width visible: fieldDelegate.filterType === "text" title: fieldDelegate.fieldDisplayName - placeholderText: qsTr("Type to filter...") + placeholderText: qsTr( "Type to filter..." ) // Explicitly handle undefined/null values text: { let val = fieldDelegate.currentValue - if (val !== null && val !== undefined && val !== "") { - return String(val) + if ( val !== null && val !== undefined && val !== "" ) { + return String( val ) } return "" } @@ -314,9 +314,9 @@ Column { Component.onCompleted: initialized = true onTextChanged: { - if (!initialized) return + if ( !initialized ) return // Pass raw text to C++ - validation happens there - root.filterController.setTextFilter(root.layerId, fieldDelegate.fieldName, text) + root.filterController.setTextFilter( root.layerId, fieldDelegate.fieldName, text ) } } @@ -341,14 +341,14 @@ Column { width: parent.width textField.readOnly: true - placeholderText: qsTr("Select...") + placeholderText: qsTr( "Select..." ) text: { let texts = fieldDelegate.currentValueTexts - if (!texts || texts.length === 0) return "" - if (fieldDelegate.multiSelect && texts.length > 1) { - return qsTr("%1 selected").arg(texts.length) + if ( !texts || texts.length === 0 ) return "" + if ( fieldDelegate.multiSelect && texts.length > 1 ) { + return qsTr( "%1 selected" ).arg( texts.length ) } - return texts.join(", ") + return texts.join( ", " ) } rightContent: MMIcon { @@ -359,10 +359,10 @@ Column { onTextClicked: dropdownDrawerLoader.active = true onRightContentClicked: { - if (dropdownInput.text !== "") { - root.filterController.setDropdownFilter(root.layerId, fieldDelegate.fieldName, [], fieldDelegate.multiSelect) + if ( dropdownInput.text !== "" ) { + root.filterController.setDropdownFilter( root.layerId, fieldDelegate.fieldName, [], fieldDelegate.multiSelect ) // Refresh the fields model to clear currentValueTexts - fieldsRepeater.model = root.vectorLayer ? root.filterController.getFilterableFields(root.vectorLayer) : [] + fieldsRepeater.model = root.vectorLayer ? root.filterController.getFilterableFields( root.vectorLayer ) : [] } else { dropdownDrawerLoader.active = true @@ -389,15 +389,15 @@ Column { list.model: ListModel { id: dropdownListModel } - onSearchTextChanged: function(searchText) { + onSearchTextChanged: function( searchText ) { internal.pendingSearchText = searchText searchDebounceTimer.restart() } - onSelectionFinished: function(selectedItems) { - root.filterController.setDropdownFilter(root.layerId, fieldDelegate.fieldName, selectedItems, fieldDelegate.multiSelect) + onSelectionFinished: function( selectedItems ) { + root.filterController.setDropdownFilter( root.layerId, fieldDelegate.fieldName, selectedItems, fieldDelegate.multiSelect ) // Refresh the fields model to update currentValueTexts - fieldsRepeater.model = root.vectorLayer ? root.filterController.getFilterableFields(root.vectorLayer) : [] + fieldsRepeater.model = root.vectorLayer ? root.filterController.getFilterableFields( root.vectorLayer ) : [] close() } @@ -413,15 +413,15 @@ Column { interval: 300 repeat: false onTriggered: { - populateOptions(internal.pendingSearchText) + populateOptions( internal.pendingSearchText ) } } - function populateOptions(searchText) { - let options = root.filterController.getDropdownOptions(root.vectorLayer, fieldDelegate.fieldName, searchText, 100) + function populateOptions( searchText ) { + let options = root.filterController.getDropdownOptions( root.vectorLayer, fieldDelegate.fieldName, searchText, 100 ) dropdownListModel.clear() - for (let i = 0; i < options.length; i++) { - dropdownListModel.append(options[i]) + for ( let i = 0; i < options.length; i++ ) { + dropdownListModel.append( options[i] ) } } @@ -429,14 +429,14 @@ Column { // Set selected imperatively — QStringList from C++ needs // conversion to a plain JS array for includes() to work let val = fieldDelegate.currentValue - if (val && val.length > 0) { + if ( val && val.length > 0 ) { let arr = [] - for (let i = 0; i < val.length; i++) { - arr.push(String(val[i])) + for ( let i = 0; i < val.length; i++ ) { + arr.push( String( val[i] ) ) } selected = arr } - populateOptions("") + populateOptions( "" ) open() } } diff --git a/app/qml/filters/MMFiltersPanel.qml b/app/qml/filters/MMFiltersPanel.qml index d80055a92..3874f3584 100644 --- a/app/qml/filters/MMFiltersPanel.qml +++ b/app/qml/filters/MMFiltersPanel.qml @@ -93,7 +93,7 @@ MMComponents.MMDrawer { drawerContent: Item { width: parent.width - height: root.maxHeightHit ? root.drawerContentAvailableHeight : (contentColumn.implicitHeight + __style.margin12 + showResultsButton.height) + height: root.maxHeightHit ? root.drawerContentAvailableHeight : ( contentColumn.implicitHeight + __style.margin12 + showResultsButton.height ) MMComponents.MMScrollView { id: scrollView @@ -174,7 +174,7 @@ MMComponents.MMDrawer { Connections { target: __activeProject - function onProjectReloaded(qgsProject) { + function onProjectReloaded( qgsProject ) { internal.refreshLayers() } } diff --git a/app/qml/layers/MMFeaturesListPage.qml b/app/qml/layers/MMFeaturesListPage.qml index e5232c7d7..f4183072b 100644 --- a/app/qml/layers/MMFeaturesListPage.qml +++ b/app/qml/layers/MMFeaturesListPage.qml @@ -43,7 +43,7 @@ MMComponents.MMPage { height: filterRow.implicitHeight + 2 * __style.margin8 radius: __style.radius12 - visible: root.selectedLayer && globalFilterController.filteredLayerIds.indexOf(root.selectedLayer.id) >= 0 + visible: root.selectedLayer && globalFilterController.filteredLayerIds.indexOf( root.selectedLayer.id ) >= 0 color: __style.sandColor border.width: 1 * __dp diff --git a/app/qml/map/MMMapController.qml b/app/qml/map/MMMapController.qml index 9af3c2da8..2e21058d9 100644 --- a/app/qml/map/MMMapController.qml +++ b/app/qml/map/MMMapController.qml @@ -865,6 +865,7 @@ Item { visible: root.state === "view" && root.filterController iconSource: __style.filterIcon + iconSize: __style.icon24 bgndColor: root.filterController && root.filterController.hasActiveFilters ? __style.positiveColor : __style.polarColor onClicked: { diff --git a/app/qml/map/components/MMMapButton.qml b/app/qml/map/components/MMMapButton.qml index 3f51db7a0..cc356820a 100644 --- a/app/qml/map/components/MMMapButton.qml +++ b/app/qml/map/components/MMMapButton.qml @@ -19,7 +19,7 @@ Item { property alias iconSource: icon.source property color bgndColor: __style.polarColor - property real iconSize: __style.icon32 + property real iconSize: __style.icon24 signal clicked signal clickAndHold From 7f9a538e2dc2cd8df140cfb8936296a6e2da1cd2 Mon Sep 17 00:00:00 2001 From: Gabriel Bolbotina Date: Fri, 27 Mar 2026 16:41:28 +0200 Subject: [PATCH 3/3] Reverted logic in MMMapButton Updated the filter svg to be 24 x 24 --- app/icons/Filter.svg | 11 ++--------- app/qml/map/MMMapController.qml | 5 ++--- app/qml/map/components/MMMapButton.qml | 2 -- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/app/icons/Filter.svg b/app/icons/Filter.svg index f9a65ccca..f9b351a07 100644 --- a/app/icons/Filter.svg +++ b/app/icons/Filter.svg @@ -1,10 +1,3 @@ - - - - - - - - - + + diff --git a/app/qml/map/MMMapController.qml b/app/qml/map/MMMapController.qml index 2e21058d9..e6374bb30 100644 --- a/app/qml/map/MMMapController.qml +++ b/app/qml/map/MMMapController.qml @@ -863,10 +863,9 @@ Item { MMMapButton { id: filterIndicatorButton - visible: root.state === "view" && root.filterController + visible: root.state === "view" && root.filterController && root.filterController.hasActiveFilters iconSource: __style.filterIcon - iconSize: __style.icon24 - bgndColor: root.filterController && root.filterController.hasActiveFilters ? __style.positiveColor : __style.polarColor + bgndColor: __style.positiveColor onClicked: { root.openFiltersPanel() diff --git a/app/qml/map/components/MMMapButton.qml b/app/qml/map/components/MMMapButton.qml index cc356820a..4f0074b2e 100644 --- a/app/qml/map/components/MMMapButton.qml +++ b/app/qml/map/components/MMMapButton.qml @@ -19,7 +19,6 @@ Item { property alias iconSource: icon.source property color bgndColor: __style.polarColor - property real iconSize: __style.icon24 signal clicked signal clickAndHold @@ -38,7 +37,6 @@ Item { anchors.centerIn: parent color: __style.forestColor - size: control.iconSize } MouseArea {