feat: add an option to show/hide bird-eye view (#180)
This commit is contained in:
@@ -93,10 +93,14 @@ MainWindow::MainWindow(QWidget *parent)
|
|||||||
|
|
||||||
connect(m_graphicsView, &GraphicsView::navigatorViewRequired,
|
connect(m_graphicsView, &GraphicsView::navigatorViewRequired,
|
||||||
this, [this](bool required, const QTransform & tf){
|
this, [this](bool required, const QTransform & tf){
|
||||||
m_gv->setTransform(GraphicsView::resetScale(tf));
|
if (Settings::instance()->showBirdEyeView()){
|
||||||
m_gv->fitInView(m_gv->sceneRect(), Qt::KeepAspectRatio);
|
m_gv->setTransform(GraphicsView::resetScale(tf));
|
||||||
m_gv->setVisible(required);
|
m_gv->fitInView(m_gv->sceneRect(), Qt::KeepAspectRatio);
|
||||||
m_gv->updateMainViewportRegion();
|
m_gv->setVisible(required);
|
||||||
|
m_gv->updateMainViewportRegion();
|
||||||
|
} else {
|
||||||
|
m_gv->setVisible(false);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(m_graphicsView, &GraphicsView::viewportRectChanged,
|
connect(m_graphicsView, &GraphicsView::viewportRectChanged,
|
||||||
|
|||||||
@@ -60,6 +60,11 @@ bool Settings::showTitleBar() const
|
|||||||
return m_qsettings->value("show_title_bar", true).toBool();
|
return m_qsettings->value("show_title_bar", true).toBool();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Settings::showBirdEyeView() const
|
||||||
|
{
|
||||||
|
return m_qsettings->value("show_bird_eye_view", true).toBool();
|
||||||
|
}
|
||||||
|
|
||||||
bool Settings::useLightCheckerboard() const
|
bool Settings::useLightCheckerboard() const
|
||||||
{
|
{
|
||||||
return m_qsettings->value("use_light_checkerboard", false).toBool();
|
return m_qsettings->value("use_light_checkerboard", false).toBool();
|
||||||
@@ -134,6 +139,12 @@ void Settings::setShowTitleBar(bool on)
|
|||||||
m_qsettings->sync();
|
m_qsettings->sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Settings::setShowBirdEyeView(bool on)
|
||||||
|
{
|
||||||
|
m_qsettings->setValue("show_bird_eye_view", on);
|
||||||
|
m_qsettings->sync();
|
||||||
|
}
|
||||||
|
|
||||||
void Settings::setUseLightCheckerboard(bool light)
|
void Settings::setUseLightCheckerboard(bool light)
|
||||||
{
|
{
|
||||||
m_qsettings->setValue("use_light_checkerboard", light);
|
m_qsettings->setValue("use_light_checkerboard", light);
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ public:
|
|||||||
bool stayOnTop() const;
|
bool stayOnTop() const;
|
||||||
bool useBuiltInCloseAnimation() const;
|
bool useBuiltInCloseAnimation() const;
|
||||||
bool showTitleBar() const;
|
bool showTitleBar() const;
|
||||||
|
bool showBirdEyeView() const;
|
||||||
bool useLightCheckerboard() const;
|
bool useLightCheckerboard() const;
|
||||||
bool loopGallery() const;
|
bool loopGallery() const;
|
||||||
bool autoLongImageMode() const;
|
bool autoLongImageMode() const;
|
||||||
@@ -49,6 +50,7 @@ public:
|
|||||||
void setStayOnTop(bool on);
|
void setStayOnTop(bool on);
|
||||||
void setUseBuiltInCloseAnimation(bool on);
|
void setUseBuiltInCloseAnimation(bool on);
|
||||||
void setShowTitleBar(bool on);
|
void setShowTitleBar(bool on);
|
||||||
|
void setShowBirdEyeView(bool on);
|
||||||
void setUseLightCheckerboard(bool light);
|
void setUseLightCheckerboard(bool light);
|
||||||
void setLoopGallery(bool on);
|
void setLoopGallery(bool on);
|
||||||
void setAutoLongImageMode(bool on);
|
void setAutoLongImageMode(bool on);
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ SettingsDialog::SettingsDialog(QWidget *parent)
|
|||||||
, m_stayOnTop(new QCheckBox)
|
, m_stayOnTop(new QCheckBox)
|
||||||
, m_useBuiltInCloseAnimation(new QCheckBox)
|
, m_useBuiltInCloseAnimation(new QCheckBox)
|
||||||
, m_showTitleBar(new QCheckBox)
|
, m_showTitleBar(new QCheckBox)
|
||||||
|
, m_showBirdEyeView(new QCheckBox)
|
||||||
, m_useLightCheckerboard(new QCheckBox)
|
, m_useLightCheckerboard(new QCheckBox)
|
||||||
, m_loopGallery(new QCheckBox)
|
, m_loopGallery(new QCheckBox)
|
||||||
, m_autoLongImageMode(new QCheckBox)
|
, m_autoLongImageMode(new QCheckBox)
|
||||||
@@ -125,6 +126,7 @@ SettingsDialog::SettingsDialog(QWidget *parent)
|
|||||||
settingsForm->addRow(tr("Stay on top when start-up"), m_stayOnTop);
|
settingsForm->addRow(tr("Stay on top when start-up"), m_stayOnTop);
|
||||||
settingsForm->addRow(tr("Use built-in close window animation"), m_useBuiltInCloseAnimation);
|
settingsForm->addRow(tr("Use built-in close window animation"), m_useBuiltInCloseAnimation);
|
||||||
settingsForm->addRow(tr("Show title bar"), m_showTitleBar);
|
settingsForm->addRow(tr("Show title bar"), m_showTitleBar);
|
||||||
|
settingsForm->addRow(tr("Show bird's-eye view"), m_showBirdEyeView);
|
||||||
settingsForm->addRow(tr("Use light-color checkerboard"), m_useLightCheckerboard);
|
settingsForm->addRow(tr("Use light-color checkerboard"), m_useLightCheckerboard);
|
||||||
settingsForm->addRow(tr("Loop the loaded gallery"), m_loopGallery);
|
settingsForm->addRow(tr("Loop the loaded gallery"), m_loopGallery);
|
||||||
settingsForm->addRow(tr("Auto long image mode"), m_autoLongImageMode);
|
settingsForm->addRow(tr("Auto long image mode"), m_autoLongImageMode);
|
||||||
@@ -137,6 +139,7 @@ SettingsDialog::SettingsDialog(QWidget *parent)
|
|||||||
m_stayOnTop->setChecked(Settings::instance()->stayOnTop());
|
m_stayOnTop->setChecked(Settings::instance()->stayOnTop());
|
||||||
m_useBuiltInCloseAnimation->setChecked(Settings::instance()->useBuiltInCloseAnimation());
|
m_useBuiltInCloseAnimation->setChecked(Settings::instance()->useBuiltInCloseAnimation());
|
||||||
m_showTitleBar->setChecked(Settings::instance()->showTitleBar());
|
m_showTitleBar->setChecked(Settings::instance()->showTitleBar());
|
||||||
|
m_showBirdEyeView->setChecked(Settings::instance()->showBirdEyeView());
|
||||||
m_useLightCheckerboard->setChecked(Settings::instance()->useLightCheckerboard());
|
m_useLightCheckerboard->setChecked(Settings::instance()->useLightCheckerboard());
|
||||||
m_loopGallery->setChecked(Settings::instance()->loopGallery());
|
m_loopGallery->setChecked(Settings::instance()->loopGallery());
|
||||||
m_autoLongImageMode->setChecked(Settings::instance()->autoLongImageMode());
|
m_autoLongImageMode->setChecked(Settings::instance()->autoLongImageMode());
|
||||||
@@ -179,6 +182,10 @@ SettingsDialog::SettingsDialog(QWidget *parent)
|
|||||||
Settings::instance()->setShowTitleBar(state == Qt::Checked);
|
Settings::instance()->setShowTitleBar(state == Qt::Checked);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
connect(m_showBirdEyeView, &QCHECKBOX_CHECKSTATECHANGED, this, [ = ](QT_CHECKSTATE state){
|
||||||
|
Settings::instance()->setShowBirdEyeView(state == Qt::Checked);
|
||||||
|
});
|
||||||
|
|
||||||
connect(m_useLightCheckerboard, &QCHECKBOX_CHECKSTATECHANGED, this, [ = ](QT_CHECKSTATE state){
|
connect(m_useLightCheckerboard, &QCHECKBOX_CHECKSTATECHANGED, this, [ = ](QT_CHECKSTATE state){
|
||||||
Settings::instance()->setUseLightCheckerboard(state == Qt::Checked);
|
Settings::instance()->setUseLightCheckerboard(state == Qt::Checked);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ private:
|
|||||||
QCheckBox * m_stayOnTop = nullptr;
|
QCheckBox * m_stayOnTop = nullptr;
|
||||||
QCheckBox * m_useBuiltInCloseAnimation = nullptr;
|
QCheckBox * m_useBuiltInCloseAnimation = nullptr;
|
||||||
QCheckBox * m_showTitleBar = nullptr;
|
QCheckBox * m_showTitleBar = nullptr;
|
||||||
|
QCheckBox * m_showBirdEyeView = nullptr;
|
||||||
QCheckBox * m_useLightCheckerboard = nullptr;
|
QCheckBox * m_useLightCheckerboard = nullptr;
|
||||||
QCheckBox * m_loopGallery = nullptr;
|
QCheckBox * m_loopGallery = nullptr;
|
||||||
QCheckBox * m_autoLongImageMode = nullptr;
|
QCheckBox * m_autoLongImageMode = nullptr;
|
||||||
|
|||||||
Reference in New Issue
Block a user