Skip to content

Commit 10d683d

Browse files
committed
refactor: migrate K9.isMessageViewCopyActionVisible to PreferenceDataStore
1 parent 5722f61 commit 10d683d

File tree

6 files changed

+16
-9
lines changed

6 files changed

+16
-9
lines changed

core/preference/api/src/commonMain/kotlin/net/thunderbird/core/preference/display/visualSettings/DisplayVisualSettings.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ const val DISPLAY_SETTINGS_DEFAULT_DRAWER_EXPAND_ALL_FOLDER = false
1111
const val DISPLAY_SETTINGS_DEFAULT_MESSAGE_VIEW_ARCHIVE_ACTION_VISIBLE = false
1212
const val DISPLAY_SETTINGS_DEFAULT_MESSAGE_VIEW_DELETE_ACTION_VISIBLE = true
1313
const val DISPLAY_SETTINGS_DEFAULT_MESSAGE_VIEW_MOVE_ACTION_VISIBLE = false
14+
const val DISPLAY_SETTINGS_DEFAULT_MESSAGE_VIEW_COPY_ACTION_VISIBLE = false
1415

1516
data class DisplayVisualSettings(
1617
val isShowAnimations: Boolean = DISPLAY_SETTINGS_DEFAULT_IS_SHOW_ANIMATION,
@@ -22,4 +23,5 @@ data class DisplayVisualSettings(
2223
val isMessageViewArchiveActionVisible: Boolean = DISPLAY_SETTINGS_DEFAULT_MESSAGE_VIEW_ARCHIVE_ACTION_VISIBLE,
2324
val isMessageViewDeleteActionVisible: Boolean = DISPLAY_SETTINGS_DEFAULT_MESSAGE_VIEW_DELETE_ACTION_VISIBLE,
2425
val isMessageViewMoveActionVisible: Boolean = DISPLAY_SETTINGS_DEFAULT_MESSAGE_VIEW_MOVE_ACTION_VISIBLE,
26+
val isMessageViewCopyActionVisible: Boolean = DISPLAY_SETTINGS_DEFAULT_MESSAGE_VIEW_COPY_ACTION_VISIBLE,
2527
)

core/preference/api/src/commonMain/kotlin/net/thunderbird/core/preference/display/visualSettings/DisplayVisualSettingsPreferenceManager.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@ const val KEY_DRAWER_EXPAND_ALL_FOLDER = "drawerExpandAllFolder"
1010
const val KEY_MESSAGE_VIEW_ARCHIVE_ACTION_VISIBLE = "messageViewArchiveActionVisible"
1111
const val KEY_MESSAGE_VIEW_DELETE_ACTION_VISIBLE = "messageViewDeleteActionVisible"
1212
const val KEY_MESSAGE_VIEW_MOVE_ACTION_VISIBLE = "messageViewMoveActionVisible"
13+
const val KEY_MESSAGE_VIEW_COPY_ACTION_VISIBLE = "messageViewCopyActionVisible"
1314

1415
interface DisplayVisualSettingsPreferenceManager : PreferenceManager<DisplayVisualSettings>

core/preference/impl/src/commonMain/kotlin/net/thunderbird/core/preference/display/visualSettings/DefaultDisplayVisualSettingsPreferenceManager.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,11 @@ class DefaultDisplayVisualSettingsPreferenceManager(
8888
isMessageViewMoveActionVisible = storage.getBoolean(
8989
KEY_MESSAGE_VIEW_MOVE_ACTION_VISIBLE,
9090
DISPLAY_SETTINGS_DEFAULT_MESSAGE_VIEW_MOVE_ACTION_VISIBLE,
91-
)
91+
),
92+
isMessageViewCopyActionVisible = storage.getBoolean(
93+
KEY_MESSAGE_VIEW_COPY_ACTION_VISIBLE,
94+
DISPLAY_SETTINGS_DEFAULT_MESSAGE_VIEW_COPY_ACTION_VISIBLE,
95+
),
9296
)
9397

9498
private fun writeConfig(config: DisplayVisualSettings) {
@@ -116,6 +120,10 @@ class DefaultDisplayVisualSettingsPreferenceManager(
116120
KEY_MESSAGE_VIEW_MOVE_ACTION_VISIBLE,
117121
config.isMessageViewMoveActionVisible,
118122
)
123+
storageEditor.putBoolean(
124+
KEY_MESSAGE_VIEW_COPY_ACTION_VISIBLE,
125+
config.isMessageViewCopyActionVisible,
126+
)
119127
storageEditor.commit().also { commited ->
120128
logger.verbose(TAG) { "writeConfig: storageEditor.commit() resulted in: $commited" }
121129
}

legacy/core/src/main/java/com/fsck/k9/K9.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,6 @@ object K9 : KoinComponent {
125125
var sortType: SortType = AccountDefaultsProvider.DEFAULT_SORT_TYPE
126126
private val sortAscending = mutableMapOf<SortType, Boolean>()
127127

128-
@JvmStatic
129-
var isMessageViewCopyActionVisible = false
130128

131129
@JvmStatic
132130
var isMessageViewSpamActionVisible = false
@@ -198,7 +196,6 @@ object K9 : KoinComponent {
198196
.onDisabledOrUnavailable {
199197
fontSizes.load(storage)
200198
}
201-
isMessageViewCopyActionVisible = storage.getBoolean("messageViewCopyActionVisible", false)
202199
isMessageViewSpamActionVisible = storage.getBoolean("messageViewSpamActionVisible", false)
203200

204201
pgpInlineDialogCounter = storage.getInt("pgpInlineDialogCounter", 0)
@@ -220,7 +217,6 @@ object K9 : KoinComponent {
220217
editor.putEnum("sortTypeEnum", sortType)
221218
editor.putBoolean("sortAscending", sortAscending[sortType] ?: false)
222219
editor.putString("lockScreenNotificationVisibility", lockScreenNotificationVisibility.toString())
223-
editor.putBoolean("messageViewCopyActionVisible", isMessageViewCopyActionVisible)
224220
editor.putBoolean("messageViewSpamActionVisible", isMessageViewSpamActionVisible)
225221

226222
editor.putInt("pgpInlineDialogCounter", pgpInlineDialogCounter)

legacy/ui/legacy/src/main/java/com/fsck/k9/ui/messageview/MessageViewFragment.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,8 @@ class MessageViewFragment :
351351
menu.findItem(R.id.set_format_html).isVisible = isRenderPlainFormat()
352352

353353
if (isCopyCapable) {
354-
menu.findItem(R.id.copy).isVisible = K9.isMessageViewCopyActionVisible
354+
menu.findItem(R.id.copy).isVisible = generalSettingsManager.getConfig()
355+
.display.visualSettings.isMessageViewCopyActionVisible
355356
menu.findItem(R.id.refile_copy).isVisible = true
356357
} else {
357358
menu.findItem(R.id.copy).isVisible = false

legacy/ui/legacy/src/main/java/com/fsck/k9/ui/settings/general/GeneralSettingsDataStore.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ class GeneralSettingsDataStore(
249249
if (visualSettings.isMessageViewDeleteActionVisible) add("delete")
250250
if (visualSettings.isMessageViewArchiveActionVisible) add("archive")
251251
if (visualSettings.isMessageViewMoveActionVisible) add("move")
252-
if (K9.isMessageViewCopyActionVisible) add("copy")
252+
if (visualSettings.isMessageViewCopyActionVisible) add("copy")
253253
if (K9.isMessageViewSpamActionVisible) add("spam")
254254
}
255255
}
@@ -286,12 +286,11 @@ class GeneralSettingsDataStore(
286286
isMessageViewArchiveActionVisible = "archive" in checkedValues,
287287
isMessageViewDeleteActionVisible = "delete" in checkedValues,
288288
isMessageViewMoveActionVisible = "move" in checkedValues,
289+
isMessageViewCopyActionVisible = "copy" in checkedValues,
289290
),
290291
),
291292
)
292293
}
293-
294-
K9.isMessageViewCopyActionVisible = "copy" in checkedValues
295294
K9.isMessageViewSpamActionVisible = "spam" in checkedValues
296295
}
297296

0 commit comments

Comments
 (0)