feat: add an option to show/hide navigator view
This commit is contained in:
+10
-5
@@ -78,11 +78,16 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
// Binding graphics and navigator views signals
|
||||
connect(ui->m_gv, &GraphicsView::navigatorViewRequired,
|
||||
this, [this](bool required, const QTransform & tf){
|
||||
ui->m_nav->setTransform(GraphicsView::resetScale(tf));
|
||||
ui->m_nav->fitInView(ui->m_nav->sceneRect(), Qt::KeepAspectRatio);
|
||||
ui->m_nav->setVisible(required);
|
||||
ui->m_navPH->setVisible(required);
|
||||
ui->m_nav->updateMainViewportRegion();
|
||||
if (Settings::instance()->showNavigatorView()){
|
||||
ui->m_nav->setTransform(GraphicsView::resetScale(tf));
|
||||
ui->m_nav->fitInView(ui->m_nav->sceneRect(), Qt::KeepAspectRatio);
|
||||
ui->m_nav->setVisible(required);
|
||||
ui->m_navPH->setVisible(required);
|
||||
ui->m_nav->updateMainViewportRegion();
|
||||
} else {
|
||||
ui->m_nav->setVisible(false);
|
||||
ui->m_navPH->setVisible(false);
|
||||
}
|
||||
});
|
||||
connect(ui->m_gv, &GraphicsView::viewportRectChanged,
|
||||
ui->m_nav, &NavigatorView::updateMainViewportRegion);
|
||||
|
||||
@@ -42,6 +42,11 @@ namespace QEnumHelper
|
||||
}
|
||||
}
|
||||
|
||||
bool Settings::showNavigatorView() const
|
||||
{
|
||||
return m_qsettings->value("show_navigator_view", true).toBool();
|
||||
}
|
||||
|
||||
bool Settings::useLightCheckerboard() const
|
||||
{
|
||||
return m_qsettings->value("use_light_checkerboard", false).toBool();
|
||||
@@ -83,6 +88,12 @@ Qt::HighDpiScaleFactorRoundingPolicy Settings::hiDpiScaleFactorBehavior() const
|
||||
return QEnumHelper::fromString<Qt::HighDpiScaleFactorRoundingPolicy>(result, Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
|
||||
}
|
||||
|
||||
void Settings::setShowNavigatorView(bool on)
|
||||
{
|
||||
m_qsettings->setValue("show_navigator_view", on);
|
||||
m_qsettings->sync();
|
||||
}
|
||||
|
||||
void Settings::setUseLightCheckerboard(bool light)
|
||||
{
|
||||
m_qsettings->setValue("use_light_checkerboard", light);
|
||||
|
||||
@@ -25,6 +25,7 @@ public:
|
||||
|
||||
static Settings *instance();
|
||||
|
||||
bool showNavigatorView() const;
|
||||
bool useLightCheckerboard() const;
|
||||
bool loopGallery() const;
|
||||
bool svgTiny12Only() const;
|
||||
@@ -32,6 +33,7 @@ public:
|
||||
WindowSizeBehavior initWindowSizeBehavior() const;
|
||||
Qt::HighDpiScaleFactorRoundingPolicy hiDpiScaleFactorBehavior() const;
|
||||
|
||||
void setShowNavigatorView(bool on);
|
||||
void setUseLightCheckerboard(bool light);
|
||||
void setLoopGallery(bool on);
|
||||
void setSvgTiny12Only(bool on);
|
||||
|
||||
@@ -79,6 +79,7 @@ SettingsDialog::SettingsDialog(QWidget *parent)
|
||||
setWindowFlag(Qt::WindowContextHelpButtonHint, false);
|
||||
|
||||
auto* settings = Settings::instance();
|
||||
ui->m_showNavigatorView->setChecked(Settings::instance()->showNavigatorView());
|
||||
ui->m_useLightCheckerboard->setChecked(settings->useLightCheckerboard());
|
||||
ui->m_loopGallery->setChecked(settings->loopGallery());
|
||||
ui->m_svgTiny12Only->setChecked(settings->svgTiny12Only());
|
||||
@@ -100,6 +101,10 @@ SettingsDialog::SettingsDialog(QWidget *parent)
|
||||
# define QT_CHECKSTATE int
|
||||
#endif // QT_VERSION >= QT_VERSION_CHECK(6, 7, 0)
|
||||
|
||||
connect(ui->m_showNavigatorView, &QCHECKBOX_CHECKSTATECHANGED, this, [ = ](QT_CHECKSTATE state){
|
||||
Settings::instance()->setShowNavigatorView(state == Qt::Checked);
|
||||
});
|
||||
|
||||
connect(ui->m_useLightCheckerboard, &QCHECKBOX_CHECKSTATECHANGED, this, [ = ](QT_CHECKSTATE state){
|
||||
Settings::instance()->setUseLightCheckerboard(state == Qt::Checked);
|
||||
});
|
||||
|
||||
+15
-8
@@ -20,54 +20,61 @@
|
||||
</attribute>
|
||||
<layout class="QFormLayout" name="settingsForm">
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="m_showNavigatorView">
|
||||
<property name="text">
|
||||
<string>Show navigation view</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="m_useLightCheckerboard">
|
||||
<property name="text">
|
||||
<string>Use light-color checkerboard</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="m_loopGallery">
|
||||
<property name="text">
|
||||
<string>Loop the loaded gallery</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="m_svgTiny12Only">
|
||||
<property name="text">
|
||||
<string>Limit SVG support to SVG Tiny 1.2</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="m_mouseWheelBehaviorLabel">
|
||||
<property name="text">
|
||||
<string>Mouse wheel behavior</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<item row="4" column="1">
|
||||
<widget class="QComboBox" name="m_mouseWheelBehavior"/>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="m_initWindowSizeBehaviorLabel">
|
||||
<property name="text">
|
||||
<string>Default window size</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<item row="5" column="1">
|
||||
<widget class="QComboBox" name="m_initWindowSizeBehavior"/>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="m_hiDpiRoundingPolicyBehaviorLabel">
|
||||
<property name="text">
|
||||
<string>HiDPI scale factor rounding policy</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<item row="6" column="1">
|
||||
<widget class="QComboBox" name="m_hiDpiRoundingPolicyBehavior"/>
|
||||
</item>
|
||||
</layout>
|
||||
|
||||
Reference in New Issue
Block a user