X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fclient%2Fbacklogsettings.cpp;h=a90d4e5a52f9b548d29a7f5d5dc161dc089ba49a;hb=c01c1ad4823a3e49c9526c19560dd5ce4fe30cb8;hp=f1950b0fba8f11746c1c904787e0c39ebd7fadbd;hpb=61f33c7895e324f6e95034d86897ad2e963653f1;p=quassel.git diff --git a/src/client/backlogsettings.cpp b/src/client/backlogsettings.cpp index f1950b0f..a90d4e5a 100644 --- a/src/client/backlogsettings.cpp +++ b/src/client/backlogsettings.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2018 by the Quassel Project * + * Copyright (C) 2005-2020 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -24,86 +24,101 @@ BacklogSettings::BacklogSettings() : ClientSettings("Backlog") {} - int BacklogSettings::requesterType() const { - return localValue("RequesterType", BacklogRequester::PerBufferUnread).toInt(); + int _requesterType = localValue("RequesterType", BacklogRequester::AsNeeded).toInt(); + if (_requesterType == BacklogRequester::GlobalUnread) { + // GlobalUnread is currently disabled; don't allow it to be used. Reset to default instead. + _requesterType = BacklogRequester::AsNeeded; + } + return _requesterType; } - void BacklogSettings::setRequesterType(int requesterType) { + // This settings key is also used within ChatMonitorSettingsPage::ChatMonitorSettingsPage() setLocalValue("RequesterType", requesterType); } - int BacklogSettings::dynamicBacklogAmount() const { return localValue("DynamicBacklogAmount", 200).toInt(); } - void BacklogSettings::setDynamicBacklogAmount(int amount) { return setLocalValue("DynamicBacklogAmount", amount); } +bool BacklogSettings::ensureBacklogOnBufferShow() const +{ + // This settings key is also used within BufferWidget::BufferWidget() + return localValue("EnsureBacklogOnBufferShow", true).toBool(); +} + +void BacklogSettings::setEnsureBacklogOnBufferShow(bool enabled) +{ + return setLocalValue("EnsureBacklogOnBufferShow", enabled); +} int BacklogSettings::fixedBacklogAmount() const { return localValue("FixedBacklogAmount", 500).toInt(); } - void BacklogSettings::setFixedBacklogAmount(int amount) { return setLocalValue("FixedBacklogAmount", amount); } - int BacklogSettings::globalUnreadBacklogLimit() const { return localValue("GlobalUnreadBacklogLimit", 5000).toInt(); } - void BacklogSettings::setGlobalUnreadBacklogLimit(int limit) { return setLocalValue("GlobalUnreadBacklogLimit", limit); } - int BacklogSettings::globalUnreadBacklogAdditional() const { return localValue("GlobalUnreadBacklogAdditional", 100).toInt(); } - void BacklogSettings::setGlobalUnreadBacklogAdditional(int additional) { return setLocalValue("GlobalUnreadBacklogAdditional", additional); } - int BacklogSettings::perBufferUnreadBacklogLimit() const { return localValue("PerBufferUnreadBacklogLimit", 200).toInt(); } - void BacklogSettings::setPerBufferUnreadBacklogLimit(int limit) { return setLocalValue("PerBufferUnreadBacklogLimit", limit); } - int BacklogSettings::perBufferUnreadBacklogAdditional() const { return localValue("PerBufferUnreadBacklogAdditional", 50).toInt(); } - void BacklogSettings::setPerBufferUnreadBacklogAdditional(int additional) { return setLocalValue("PerBufferUnreadBacklogAdditional", additional); } + +int BacklogSettings::asNeededLegacyBacklogAmount() const +{ + // Mimic FixedBacklogAmount defaults. This is only used on cores lacking + // Feature::BufferActivitySync. + return localValue("AsNeededLegacyBacklogAmount", 500).toInt(); +} + +void BacklogSettings::setAsNeededLegacyBacklogAmount(int amount) +{ + return setLocalValue("AsNeededLegacyBacklogAmount", amount); +}