fix: avoid create menu actions everytime when trigger context menu.
fix the minor memory leak issue, also bring some possibility to implement custom keybinding. And oops I also did another feature in this commit.. Now we are able to set mouse wheel behavior in config dialog.
This commit is contained in:
@ -28,6 +28,13 @@ DoubleClickBehavior Settings::doubleClickBehavior()
|
||||
return stringToDoubleClickBehavior(result);
|
||||
}
|
||||
|
||||
MouseWheelBehavior Settings::mouseWheelBehavior()
|
||||
{
|
||||
QString result = m_qsettings->value("mouse_wheel_behavior", "close").toString().toLower();
|
||||
|
||||
return stringToMouseWheelBehavior(result);
|
||||
}
|
||||
|
||||
void Settings::setStayOnTop(bool on)
|
||||
{
|
||||
m_qsettings->setValue("stay_on_top", on);
|
||||
@ -40,6 +47,12 @@ void Settings::setDoubleClickBehavior(DoubleClickBehavior dcb)
|
||||
m_qsettings->sync();
|
||||
}
|
||||
|
||||
void Settings::setMouseWheelBehavior(MouseWheelBehavior mwb)
|
||||
{
|
||||
m_qsettings->setValue("mouse_wheel_behavior", mouseWheelBehaviorToString(mwb));
|
||||
m_qsettings->sync();
|
||||
}
|
||||
|
||||
QString Settings::doubleClickBehaviorToString(DoubleClickBehavior dcb)
|
||||
{
|
||||
static QMap<DoubleClickBehavior, QString> _map {
|
||||
@ -51,6 +64,16 @@ QString Settings::doubleClickBehaviorToString(DoubleClickBehavior dcb)
|
||||
return _map.value(dcb, "close");
|
||||
}
|
||||
|
||||
QString Settings::mouseWheelBehaviorToString(MouseWheelBehavior mwb)
|
||||
{
|
||||
static QMap<MouseWheelBehavior, QString> _map {
|
||||
{ActionZoomImage, "zoom"},
|
||||
{ActionPrevNextImage, "switch"}
|
||||
};
|
||||
|
||||
return _map.value(mwb, "zoom");
|
||||
}
|
||||
|
||||
DoubleClickBehavior Settings::stringToDoubleClickBehavior(QString str)
|
||||
{
|
||||
static QMap<QString, DoubleClickBehavior> _map {
|
||||
@ -62,6 +85,16 @@ DoubleClickBehavior Settings::stringToDoubleClickBehavior(QString str)
|
||||
return _map.value(str, ActionCloseWindow);
|
||||
}
|
||||
|
||||
MouseWheelBehavior Settings::stringToMouseWheelBehavior(QString str)
|
||||
{
|
||||
static QMap<QString, MouseWheelBehavior> _map {
|
||||
{"zoom", ActionZoomImage},
|
||||
{"switch", ActionPrevNextImage}
|
||||
};
|
||||
|
||||
return _map.value(str, ActionZoomImage);
|
||||
}
|
||||
|
||||
Settings::Settings()
|
||||
: QObject(qApp)
|
||||
{
|
||||
|
Reference in New Issue
Block a user