1 /***************************************************************************
2 * Copyright (C) 2005-2020 by the Quassel Project *
3 * devel@quassel-irc.org *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) version 3. *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the *
17 * Free Software Foundation, Inc., *
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
19 ***************************************************************************/
21 #include "backlogsettings.h"
23 BacklogSettings::BacklogSettings()
24 : ClientSettings("Backlog")
27 int BacklogSettings::requesterType() const
29 int _requesterType = localValue("RequesterType", BacklogRequester::AsNeeded).toInt();
30 if (_requesterType == BacklogRequester::GlobalUnread) {
31 // GlobalUnread is currently disabled; don't allow it to be used. Reset to default instead.
32 _requesterType = BacklogRequester::AsNeeded;
34 return _requesterType;
37 void BacklogSettings::setRequesterType(int requesterType)
39 // This settings key is also used within ChatMonitorSettingsPage::ChatMonitorSettingsPage()
40 setLocalValue("RequesterType", requesterType);
43 int BacklogSettings::dynamicBacklogAmount() const
45 return localValue("DynamicBacklogAmount", 200).toInt();
48 void BacklogSettings::setDynamicBacklogAmount(int amount)
50 return setLocalValue("DynamicBacklogAmount", amount);
53 bool BacklogSettings::ensureBacklogOnBufferShow() const
55 // This settings key is also used within BufferWidget::BufferWidget()
56 return localValue("EnsureBacklogOnBufferShow", true).toBool();
59 void BacklogSettings::setEnsureBacklogOnBufferShow(bool enabled)
61 return setLocalValue("EnsureBacklogOnBufferShow", enabled);
64 int BacklogSettings::fixedBacklogAmount() const
66 return localValue("FixedBacklogAmount", 500).toInt();
69 void BacklogSettings::setFixedBacklogAmount(int amount)
71 return setLocalValue("FixedBacklogAmount", amount);
74 int BacklogSettings::globalUnreadBacklogLimit() const
76 return localValue("GlobalUnreadBacklogLimit", 5000).toInt();
79 void BacklogSettings::setGlobalUnreadBacklogLimit(int limit)
81 return setLocalValue("GlobalUnreadBacklogLimit", limit);
84 int BacklogSettings::globalUnreadBacklogAdditional() const
86 return localValue("GlobalUnreadBacklogAdditional", 100).toInt();
89 void BacklogSettings::setGlobalUnreadBacklogAdditional(int additional)
91 return setLocalValue("GlobalUnreadBacklogAdditional", additional);
94 int BacklogSettings::perBufferUnreadBacklogLimit() const
96 return localValue("PerBufferUnreadBacklogLimit", 200).toInt();
99 void BacklogSettings::setPerBufferUnreadBacklogLimit(int limit)
101 return setLocalValue("PerBufferUnreadBacklogLimit", limit);
104 int BacklogSettings::perBufferUnreadBacklogAdditional() const
106 return localValue("PerBufferUnreadBacklogAdditional", 50).toInt();
109 void BacklogSettings::setPerBufferUnreadBacklogAdditional(int additional)
111 return setLocalValue("PerBufferUnreadBacklogAdditional", additional);
114 int BacklogSettings::asNeededLegacyBacklogAmount() const
116 // Mimic FixedBacklogAmount defaults. This is only used on cores lacking
117 // Feature::BufferActivitySync.
118 return localValue("AsNeededLegacyBacklogAmount", 500).toInt();
121 void BacklogSettings::setAsNeededLegacyBacklogAmount(int amount)
123 return setLocalValue("AsNeededLegacyBacklogAmount", amount);