2022-08-19 15:59:36 +02:00
|
|
|
// Copyright (C) 2016 The Qt Company Ltd.
|
|
|
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0
|
2009-12-08 17:37:40 +01:00
|
|
|
|
|
|
|
|
#include "behaviorsettings.h"
|
|
|
|
|
|
2011-02-01 14:13:54 +01:00
|
|
|
#include <utils/settingsutils.h>
|
|
|
|
|
|
2012-02-15 10:42:41 +01:00
|
|
|
#include <QSettings>
|
|
|
|
|
#include <QString>
|
2009-12-08 17:37:40 +01:00
|
|
|
|
2014-02-10 13:23:59 +01:00
|
|
|
static const char mouseHidingKey[] = "MouseHiding";
|
2011-05-10 15:19:38 +02:00
|
|
|
static const char mouseNavigationKey[] = "MouseNavigation";
|
|
|
|
|
static const char scrollWheelZoomingKey[] = "ScrollWheelZooming";
|
2011-07-20 13:40:24 +02:00
|
|
|
static const char constrainTooltips[] = "ConstrainTooltips";
|
2011-09-19 19:00:53 +02:00
|
|
|
static const char camelCaseNavigationKey[] = "CamelCaseNavigation";
|
2011-12-08 13:23:41 +01:00
|
|
|
static const char keyboardTooltips[] = "KeyboardTooltips";
|
2011-05-10 15:19:38 +02:00
|
|
|
static const char groupPostfix[] = "BehaviorSettings";
|
2015-12-20 19:59:00 +01:00
|
|
|
static const char smartSelectionChanging[] = "SmartSelectionChanging";
|
2009-12-08 17:37:40 +01:00
|
|
|
|
|
|
|
|
namespace TextEditor {
|
|
|
|
|
|
|
|
|
|
BehaviorSettings::BehaviorSettings() :
|
2014-02-10 13:23:59 +01:00
|
|
|
m_mouseHiding(true),
|
2009-12-09 16:27:34 +01:00
|
|
|
m_mouseNavigation(true),
|
2011-07-20 13:40:24 +02:00
|
|
|
m_scrollWheelZooming(true),
|
2011-12-08 13:23:41 +01:00
|
|
|
m_constrainHoverTooltips(false),
|
|
|
|
|
m_camelCaseNavigation(true),
|
2015-12-20 19:59:00 +01:00
|
|
|
m_keyboardTooltips(false),
|
|
|
|
|
m_smartSelectionChanging(true)
|
2009-12-08 17:37:40 +01:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void BehaviorSettings::toSettings(const QString &category, QSettings *s) const
|
|
|
|
|
{
|
2011-02-01 14:13:54 +01:00
|
|
|
Utils::toSettings(QLatin1String(groupPostfix), category, s, this);
|
2009-12-08 17:37:40 +01:00
|
|
|
}
|
|
|
|
|
|
2021-12-01 15:41:12 +02:00
|
|
|
void BehaviorSettings::fromSettings(const QString &category, QSettings *s)
|
2009-12-08 17:37:40 +01:00
|
|
|
{
|
2011-02-01 14:13:54 +01:00
|
|
|
*this = BehaviorSettings();
|
|
|
|
|
Utils::fromSettings(QLatin1String(groupPostfix), category, s, this);
|
|
|
|
|
}
|
2009-12-08 17:37:40 +01:00
|
|
|
|
2021-12-01 15:41:12 +02:00
|
|
|
QVariantMap BehaviorSettings::toMap() const
|
2011-02-01 14:13:54 +01:00
|
|
|
{
|
2021-12-01 15:41:12 +02:00
|
|
|
return {
|
|
|
|
|
{mouseHidingKey, m_mouseHiding},
|
|
|
|
|
{mouseNavigationKey, m_mouseNavigation},
|
|
|
|
|
{scrollWheelZoomingKey, m_scrollWheelZooming},
|
|
|
|
|
{constrainTooltips, m_constrainHoverTooltips},
|
|
|
|
|
{camelCaseNavigationKey, m_camelCaseNavigation},
|
|
|
|
|
{keyboardTooltips, m_keyboardTooltips},
|
|
|
|
|
{smartSelectionChanging, m_smartSelectionChanging}
|
|
|
|
|
};
|
2011-02-01 14:13:54 +01:00
|
|
|
}
|
2009-12-08 17:37:40 +01:00
|
|
|
|
2021-12-01 15:41:12 +02:00
|
|
|
void BehaviorSettings::fromMap(const QVariantMap &map)
|
2011-02-01 14:13:54 +01:00
|
|
|
{
|
2021-12-01 15:41:12 +02:00
|
|
|
m_mouseHiding = map.value(mouseHidingKey, m_mouseHiding).toBool();
|
|
|
|
|
m_mouseNavigation = map.value(mouseNavigationKey, m_mouseNavigation).toBool();
|
|
|
|
|
m_scrollWheelZooming = map.value(scrollWheelZoomingKey, m_scrollWheelZooming).toBool();
|
|
|
|
|
m_constrainHoverTooltips = map.value(constrainTooltips, m_constrainHoverTooltips).toBool();
|
|
|
|
|
m_camelCaseNavigation = map.value(camelCaseNavigationKey, m_camelCaseNavigation).toBool();
|
|
|
|
|
m_keyboardTooltips = map.value(keyboardTooltips, m_keyboardTooltips).toBool();
|
|
|
|
|
m_smartSelectionChanging = map.value(smartSelectionChanging, m_smartSelectionChanging).toBool();
|
2009-12-08 17:37:40 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool BehaviorSettings::equals(const BehaviorSettings &ds) const
|
|
|
|
|
{
|
2014-02-10 13:23:59 +01:00
|
|
|
return m_mouseHiding == ds.m_mouseHiding
|
|
|
|
|
&& m_mouseNavigation == ds.m_mouseNavigation
|
2009-12-09 16:27:34 +01:00
|
|
|
&& m_scrollWheelZooming == ds.m_scrollWheelZooming
|
2011-12-08 13:23:41 +01:00
|
|
|
&& m_constrainHoverTooltips == ds.m_constrainHoverTooltips
|
2011-09-19 19:00:53 +02:00
|
|
|
&& m_camelCaseNavigation == ds.m_camelCaseNavigation
|
2011-12-08 13:23:41 +01:00
|
|
|
&& m_keyboardTooltips == ds.m_keyboardTooltips
|
2015-12-20 19:59:00 +01:00
|
|
|
&& m_smartSelectionChanging == ds.m_smartSelectionChanging
|
2009-12-08 17:37:40 +01:00
|
|
|
;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} // namespace TextEditor
|
|
|
|
|
|