ui: scroll zoom preference now specific to widget

Fixes #1597
This commit is contained in:
itsmattkc
2021-05-10 12:07:15 +10:00
parent 94b2cebeea
commit 72ed87d923
8 changed files with 62 additions and 10 deletions
+17 -3
View File
@@ -31,7 +31,8 @@ namespace olive {
HandMovableView::HandMovableView(QWidget* parent) :
super(parent),
dragging_hand_(false)
dragging_hand_(false),
scroll_zooms_by_default_(Config::Current()[QStringLiteral("ScrollZooms")].toBool())
{
connect(Core::instance(), &Core::ToolChanged, this, &HandMovableView::ApplicationToolChanged);
}
@@ -122,9 +123,9 @@ const HandMovableView::DragMode &HandMovableView::GetDefaultDragMode() const
return default_drag_mode_;
}
bool HandMovableView::WheelEventIsAZoomEvent(QWheelEvent *event)
bool HandMovableView::WheelEventIsAZoomEvent(QWheelEvent *event) const
{
return (static_cast<bool>(event->modifiers() & Qt::ControlModifier) == !Config::Current()[QStringLiteral("ScrollZooms")].toBool());
return (static_cast<bool>(event->modifiers() & Qt::ControlModifier) == !scroll_zooms_by_default_);
}
void HandMovableView::wheelEvent(QWheelEvent *event)
@@ -154,4 +155,17 @@ void HandMovableView::ZoomIntoCursorPosition(QWheelEvent *event, double multipli
Q_UNUSED(cursor_pos)
}
QAction *HandMovableView::AddSetScrollZoomsByDefaultActionToMenu(QMenu *m, bool autoconnect)
{
QAction* ctrl_zoom = m->addAction(tr("Scroll Zooms By Default"));
ctrl_zoom->setCheckable(true);
ctrl_zoom->setChecked(GetScrollZoomsByDefault());
if (autoconnect) {
connect(ctrl_zoom, &QAction::triggered, this, &HandMovableView::SetScrollZoomsByDefault);
}
return ctrl_zoom;
}
}