Skip to content

Commit

Permalink
Merge pull request #3602 from osmandapp/Reset-to-default-for-widgets-…
Browse files Browse the repository at this point in the history
…doesnt-work

Fixed and sync code with android
  • Loading branch information
alex-osm authored Apr 18, 2024
2 parents 13afa60 + d09c863 commit 5419f75
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -159,9 +159,13 @@ class WidgetsSettingsHelper: NSObject {
let widgetInfos = widgetRegistry.getWidgetsForPanel(appMode, filterModes: Int(kWidgetModeMatchingPanels), panels: panels)
for widgetInfo in widgetInfos! {
guard let widgetInfo = widgetInfo as? MapWidgetInfo else { continue }
// Disable "false" (not reset "nil"), because visible by default widget should be disabled in non-default panel
let enabled: NSNumber? = isOriginalWidgetOnAnotherPanel(widgetInfo: widgetInfo) ? NSNumber(value: false) : nil
widgetRegistry.enableDisableWidget(for: appMode, widgetInfo: widgetInfo, enabled: enabled, recreateControls: false)
if WidgetType.isOriginalWidget(widgetInfo.key) && WidgetsAvailabilityHelper.isWidgetVisibleByDefault(widgetId: widgetInfo.key, appMode: appMode) {
widgetRegistry.enableDisableWidget(for: appMode, widgetInfo: widgetInfo, enabled: true, recreateControls: false)
} else {
// Disable "false" (not reset "nil"), because visible by default widget should be disabled in non-default panel
let enabled: NSNumber? = isOriginalWidgetOnAnotherPanel(widgetInfo: widgetInfo) ? NSNumber(value: false) : nil
widgetRegistry.enableDisableWidget(for: appMode, widgetInfo: widgetInfo, enabled: enabled, recreateControls: false)
}
}
panel.getOrderPreference().resetMode(toDefault: appMode)
}
Expand Down
2 changes: 1 addition & 1 deletion Sources/Controllers/Map/Widgets/OAMapWidgetRegistry.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
#define kWidgetModeEnabled 0x2
#define KWidgetModeAvailable 0x4
#define kWidgetModeDefault 0x8
#define kWidgetModeMatchingPanels 0x16
#define kWidgetModeMatchingPanels 0x10

#define kWidgetRegisteredNotification @"onWidgetRegistered"
#define kWidgetVisibilityChangedMotification @"onWidgetVisibilityChanged"
Expand Down

0 comments on commit 5419f75

Please sign in to comment.