diff --git a/src/components/MessageList.vue b/src/components/MessageList.vue index eaba1fd..faf6a4c 100644 --- a/src/components/MessageList.vue +++ b/src/components/MessageList.vue @@ -332,7 +332,7 @@ onBeforeUnmount(() => { icon="mdi-email-open-outline" variant="text" :disabled="selectionCount === 0" - @click="handleFlag('read', true)" + @click="handleFlag('seen', true)" > mdi-email-open-outline Mark as Read @@ -342,7 +342,7 @@ onBeforeUnmount(() => { icon="mdi-email-outline" variant="text" :disabled="selectionCount === 0" - @click="handleFlag('read', false)" + @click="handleFlag('seen', false)" > mdi-email-outline Mark as Unread diff --git a/src/components/MessageListItemMenu.vue b/src/components/MessageListItemMenu.vue index ab3c6c7..2da44ec 100644 --- a/src/components/MessageListItemMenu.vue +++ b/src/components/MessageListItemMenu.vue @@ -98,7 +98,7 @@ const handleDelete = () => { {{ isRead ? 'Mark as unread' : 'Mark as read' }} diff --git a/src/components/settings/DisplaySettings.vue b/src/components/settings/DisplaySettings.vue index ddcc5ef..3c66dd1 100644 --- a/src/components/settings/DisplaySettings.vue +++ b/src/components/settings/DisplaySettings.vue @@ -3,11 +3,12 @@ import { storeToRefs } from 'pinia' import { folderViewModeOptions, messageListDensityOptions, + messageListWidthOptions, useMailSettingsStore, } from '@/stores/mailSettingsStore' const mailSettingsStore = useMailSettingsStore() -const { folderViewMode, messageListDensity } = storeToRefs(mailSettingsStore) +const { folderViewMode, messageListDensity, messageListWidth } = storeToRefs(mailSettingsStore) + + + Message list width + Set how wide the message list panel is + + diff --git a/src/pages/MailPage.vue b/src/pages/MailPage.vue index df4c1c8..b13f235 100644 --- a/src/pages/MailPage.vue +++ b/src/pages/MailPage.vue @@ -5,6 +5,7 @@ import { useDisplay } from 'vuetify' import { useModuleStore } from '@KTXC' import { useCollectionsStore } from '@MailManager/stores/collectionsStore' import { useMailOperationsStore } from '@/stores/mailOperationsStore' +import { useMailSettingsStore } from '@/stores/mailSettingsStore' import { useMailUiStore } from '@/stores/mailUiStore' import type { CollectionObject, EntityObject } from '@MailManager/models' import { ComposerMode } from '@/types/composer' @@ -32,6 +33,8 @@ const collectionsStore = useCollectionsStore() // Mail module store const mailOperationsStore = useMailOperationsStore() const mailUiStore = useMailUiStore() +const mailSettingsStore = useMailSettingsStore() +const { messageListWidth } = storeToRefs(mailSettingsStore) // storeToRefs preserves reactivity for state and computed properties const { @@ -288,7 +291,10 @@ const handleMessageSelectionDelete = () => mailUiStore.deleteSelectedMessages()
-
+
mailUiStore.deleteSelectedMessages() } .mail-list-panel { - width: 320px; + flex: 0 0 var(--mail-list-width, 35%); + width: var(--mail-list-width, 35%); min-width: 280px; - max-width: 450px; + max-width: 70%; border-right: 1px solid rgb(var(--v-border-color)); overflow-y: auto; display: flex; @@ -477,6 +484,7 @@ const handleMessageSelectionDelete = () => mailUiStore.deleteSelectedMessages() } .mail-list-panel { + flex: 0 0 auto; width: 100%; max-width: 100%; border-right: none; diff --git a/src/stores/mailSettingsStore.ts b/src/stores/mailSettingsStore.ts index 35e1af6..53e0ccb 100644 --- a/src/stores/mailSettingsStore.ts +++ b/src/stores/mailSettingsStore.ts @@ -6,11 +6,13 @@ const MESSAGE_READ_ENABLED_KEY = 'mail.behaviour.messageReadEnabled' const MESSAGE_READ_DELAY_KEY = 'mail.behaviour.messageReadDelay' const FOLDER_VIEW_MODE_KEY = 'mail.folderViewMode' const MESSAGE_LIST_DENSITY_KEY = 'mail.messageListDensity' +const MESSAGE_LIST_WIDTH_KEY = 'mail.messageListWidth' const DEFAULT_MESSAGE_READ_ENABLED = false const DEFAULT_MESSAGE_READ_DELAY = 5 const DEFAULT_FOLDER_VIEW_MODE = 'tree' const DEFAULT_MESSAGE_LIST_DENSITY = 'cozy' +const DEFAULT_MESSAGE_LIST_WIDTH = 35 export type FolderViewMode = 'tree' | 'page' @@ -33,6 +35,16 @@ export const messageListDensityConfig: Record { const userStore = useUserStore() @@ -99,9 +115,18 @@ export const useMailSettingsStore = defineStore('mailSettingsStore', () => { ), }) + const messageListWidth = computed({ + get: () => normalizeMessageListWidth(userStore.getSetting(MESSAGE_LIST_WIDTH_KEY), DEFAULT_MESSAGE_LIST_WIDTH), + set: (value: MessageListWidth) => userStore.setSetting( + MESSAGE_LIST_WIDTH_KEY, + normalizeMessageListWidth(value, DEFAULT_MESSAGE_LIST_WIDTH), + ), + }) + return { folderViewMode, messageListDensity, + messageListWidth, messageReadEnabled, messageReadDelay, }