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,
|
||||
this, [this](bool required, const QTransform & tf){
|
||||
if (Settings::instance()->showBirdEyeView()){
|
||||
m_gv->setTransform(GraphicsView::resetScale(tf));
|
||||
m_gv->fitInView(m_gv->sceneRect(), Qt::KeepAspectRatio);
|
||||
m_gv->setVisible(required);
|
||||
m_gv->updateMainViewportRegion();
|
||||
} else {
|
||||
m_gv->setVisible(false);
|
||||
}
|
||||
});
|
||||
|
||||
connect(m_graphicsView, &GraphicsView::viewportRectChanged,
|
||||
|
||||
@@ -60,6 +60,11 @@ bool Settings::showTitleBar() const
|
||||
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
|
||||
{
|
||||
return m_qsettings->value("use_light_checkerboard", false).toBool();
|
||||
@@ -134,6 +139,12 @@ void Settings::setShowTitleBar(bool on)
|
||||
m_qsettings->sync();
|
||||
}
|
||||
|
||||
void Settings::setShowBirdEyeView(bool on)
|
||||
{
|
||||
m_qsettings->setValue("show_bird_eye_view", on);
|
||||
m_qsettings->sync();
|
||||
}
|
||||
|
||||
void Settings::setUseLightCheckerboard(bool light)
|
||||
{
|
||||
m_qsettings->setValue("use_light_checkerboard", light);
|
||||
|
||||
@@ -37,6 +37,7 @@ public:
|
||||
bool stayOnTop() const;
|
||||
bool useBuiltInCloseAnimation() const;
|
||||
bool showTitleBar() const;
|
||||
bool showBirdEyeView() const;
|
||||
bool useLightCheckerboard() const;
|
||||
bool loopGallery() const;
|
||||
bool autoLongImageMode() const;
|
||||
@@ -49,6 +50,7 @@ public:
|
||||
void setStayOnTop(bool on);
|
||||
void setUseBuiltInCloseAnimation(bool on);
|
||||
void setShowTitleBar(bool on);
|
||||
void setShowBirdEyeView(bool on);
|
||||
void setUseLightCheckerboard(bool light);
|
||||
void setLoopGallery(bool on);
|
||||
void setAutoLongImageMode(bool on);
|
||||
|
||||
@@ -22,6 +22,7 @@ SettingsDialog::SettingsDialog(QWidget *parent)
|
||||
, m_stayOnTop(new QCheckBox)
|
||||
, m_useBuiltInCloseAnimation(new QCheckBox)
|
||||
, m_showTitleBar(new QCheckBox)
|
||||
, m_showBirdEyeView(new QCheckBox)
|
||||
, m_useLightCheckerboard(new QCheckBox)
|
||||
, m_loopGallery(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("Use built-in close window animation"), m_useBuiltInCloseAnimation);
|
||||
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("Loop the loaded gallery"), m_loopGallery);
|
||||
settingsForm->addRow(tr("Auto long image mode"), m_autoLongImageMode);
|
||||
@@ -137,6 +139,7 @@ SettingsDialog::SettingsDialog(QWidget *parent)
|
||||
m_stayOnTop->setChecked(Settings::instance()->stayOnTop());
|
||||
m_useBuiltInCloseAnimation->setChecked(Settings::instance()->useBuiltInCloseAnimation());
|
||||
m_showTitleBar->setChecked(Settings::instance()->showTitleBar());
|
||||
m_showBirdEyeView->setChecked(Settings::instance()->showBirdEyeView());
|
||||
m_useLightCheckerboard->setChecked(Settings::instance()->useLightCheckerboard());
|
||||
m_loopGallery->setChecked(Settings::instance()->loopGallery());
|
||||
m_autoLongImageMode->setChecked(Settings::instance()->autoLongImageMode());
|
||||
@@ -179,6 +182,10 @@ SettingsDialog::SettingsDialog(QWidget *parent)
|
||||
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){
|
||||
Settings::instance()->setUseLightCheckerboard(state == Qt::Checked);
|
||||
});
|
||||
|
||||
@@ -25,6 +25,7 @@ private:
|
||||
QCheckBox * m_stayOnTop = nullptr;
|
||||
QCheckBox * m_useBuiltInCloseAnimation = nullptr;
|
||||
QCheckBox * m_showTitleBar = nullptr;
|
||||
QCheckBox * m_showBirdEyeView = nullptr;
|
||||
QCheckBox * m_useLightCheckerboard = nullptr;
|
||||
QCheckBox * m_loopGallery = nullptr;
|
||||
QCheckBox * m_autoLongImageMode = nullptr;
|
||||
|
||||
Reference in New Issue
Block a user