diff options
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | src/components/chatlist.cpp | 11 | ||||
-rw-r--r-- | src/settings.cpp | 2 | ||||
-rw-r--r-- | src/settings.hpp | 1 |
4 files changed, 13 insertions, 2 deletions
@@ -299,6 +299,7 @@ For example, memory_db would be set by adding `memory_db = true` under the line | `save_state` | boolean | true | save the state of the gui (active channels, tabs, expanded channels) | | `alt_menu` | boolean | false | keep the menu hidden unless revealed with alt key | | `hide_to_tray` | boolean | false | hide abaddon to the system tray on window close | +| `show_deleted_indicator` | boolean | true | show \[deleted\] indicator next to deleted messages instead of actually deleting the message | | `font_scale` | double | | scale font rendering. 1 is unchanged | #### style diff --git a/src/components/chatlist.cpp b/src/components/chatlist.cpp index 4dde8a3..a656a43 100644 --- a/src/components/chatlist.cpp +++ b/src/components/chatlist.cpp @@ -187,8 +187,15 @@ void ChatList::DeleteMessage(Snowflake id) { if (widget == m_id_to_widget.end()) return; auto *x = dynamic_cast<ChatMessageItemContainer *>(widget->second); - if (x != nullptr) - x->UpdateAttributes(); + + if (x != nullptr) { + if (Abaddon::Get().GetSettings().ShowDeletedIndicator) { + x->UpdateAttributes(); + } else { + RemoveMessageAndHeader(x); + m_id_to_widget.erase(id); + } + } } void ChatList::RefetchMessage(Snowflake id) { diff --git a/src/settings.cpp b/src/settings.cpp index f910ff7..c824a34 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -63,6 +63,7 @@ void SettingsManager::ReadSettings() { SMBOOL("gui", "unreads", Unreads); SMBOOL("gui", "alt_menu", AltMenu); SMBOOL("gui", "hide_to_tray", HideToTray); + SMBOOL("gui", "show_deleted_indicator", ShowDeletedIndicator); SMFLT("gui", "font_scale", FontScale); SMINT("http", "concurrent", CacheHTTPConcurrency); SMSTR("http", "user_agent", UserAgent); @@ -153,6 +154,7 @@ void SettingsManager::Close() { SMBOOL("gui", "unreads", Unreads); SMBOOL("gui", "alt_menu", AltMenu); SMBOOL("gui", "hide_to_tray", HideToTray); + SMBOOL("gui", "show_deleted_indicator", ShowDeletedIndicator); SMFLT("gui", "font_scale", FontScale); SMINT("http", "concurrent", CacheHTTPConcurrency); SMSTR("http", "user_agent", UserAgent); diff --git a/src/settings.hpp b/src/settings.hpp index 7c6368f..037233b 100644 --- a/src/settings.hpp +++ b/src/settings.hpp @@ -30,6 +30,7 @@ public: bool Unreads { true }; bool AltMenu { false }; bool HideToTray { false }; + bool ShowDeletedIndicator { true }; double FontScale { -1.0 }; // [http] |