Tusker/Packages/TuskerPreferences/Sources/TuskerPreferences/Legacy/PreferenceStore+Migrate.swift

73 lines
3.5 KiB
Swift

//
// PreferenceStore+Migrate.swift
// TuskerPreferences
//
// Created by Shadowfacts on 4/13/24.
//
import Foundation
extension PreferenceStore {
func migrate(from legacy: LegacyPreferences) {
self.theme = switch legacy.theme {
case .light: .light
case .dark: .dark
default: .unspecified
}
self.pureBlackDarkMode = legacy.pureBlackDarkMode
self.accentColor = legacy.accentColor
self.avatarStyle = legacy.avatarStyle
self.hideCustomEmojiInUsernames = legacy.hideCustomEmojiInUsernames
self.showIsStatusReplyIcon = legacy.showIsStatusReplyIcon
self.alwaysShowStatusVisibilityIcon = legacy.alwaysShowStatusVisibilityIcon
self.hideActionsInTimeline = legacy.hideActionsInTimeline
self.showLinkPreviews = legacy.showLinkPreviews
self.leadingStatusSwipeActions = legacy.leadingStatusSwipeActions
self.trailingStatusSwipeActions = legacy.trailingStatusSwipeActions
if legacy.widescreenNavigationMode != .splitScreen {
self.widescreenNavigationMode = legacy.widescreenNavigationMode
}
self.underlineTextLinks = legacy.underlineTextLinks
self.showAttachmentsInTimeline = legacy.showAttachmentsInTimeline
self.defaultPostVisibility = legacy.defaultPostVisibility
self.defaultReplyVisibility = legacy.defaultReplyVisibility
self.requireAttachmentDescriptions = legacy.requireAttachmentDescriptions
self.contentWarningCopyMode = legacy.contentWarningCopyMode
self.mentionReblogger = legacy.mentionReblogger
self.useTwitterKeyboard = legacy.useTwitterKeyboard
self.attachmentBlurMode = legacy.attachmentBlurMode
self.blurMediaBehindContentWarning = legacy.blurMediaBehindContentWarning
self.automaticallyPlayGifs = legacy.automaticallyPlayGifs
self.showUncroppedMediaInline = legacy.showUncroppedMediaInline
self.showAttachmentBadges = legacy.showAttachmentBadges
self.attachmentAltBadgeInverted = legacy.attachmentAltBadgeInverted
self.openLinksInApps = legacy.openLinksInApps
self.useInAppSafari = legacy.useInAppSafari
self.inAppSafariAutomaticReaderMode = legacy.inAppSafariAutomaticReaderMode
self.expandAllContentWarnings = legacy.expandAllContentWarnings
self.collapseLongPosts = legacy.collapseLongPosts
self.oppositeCollapseKeywords = legacy.oppositeCollapseKeywords
self.confirmBeforeReblog = legacy.confirmBeforeReblog
self.timelineStateRestoration = legacy.timelineStateRestoration
self.timelineSyncMode = legacy.timelineSyncMode
self.hideReblogsInTimelines = legacy.hideReblogsInTimelines
self.hideRepliesInTimelines = legacy.hideRepliesInTimelines
self.showFavoriteAndReblogCounts = legacy.showFavoriteAndReblogCounts
self.defaultNotificationsMode = legacy.defaultNotificationsMode
self.grayscaleImages = legacy.grayscaleImages
self.disableInfiniteScrolling = legacy.disableInfiniteScrolling
self.hideTrends = legacy.hideTrends
self.statusContentType = legacy.statusContentType
self.reportErrorsAutomatically = legacy.reportErrorsAutomatically
self.enabledFeatureFlags = legacy.enabledFeatureFlags
self.hasShownLocalTimelineDescription = legacy.hasShownLocalTimelineDescription
self.hasShownFederatedTimelineDescription = legacy.hasShownFederatedTimelineDescription
}
}