Navigation button hideability added

main
Anubhav Choudhary 4 years ago
parent ba514506bb
commit 03d1fe434c

@ -35,7 +35,7 @@ Rectangle {
icon.name: ViewManager.backIcon;
enabled: ViewManager.backEnabled;
visible: true;
visible: ViewManager.backAndNextVisible;
onClicked: { ViewManager.back(); }
}
Button
@ -44,7 +44,7 @@ Rectangle {
icon.name: ViewManager.nextIcon;
enabled: ViewManager.nextEnabled;
visible: true;
visible: ViewManager.backAndNextVisible;
onClicked: { ViewManager.next(); }
}
Button

@ -308,6 +308,7 @@ Settings::setConfiguration( const QByteArray& ba, const QString& explainName )
m_isSetupMode = requireBool( config, "oem-setup", !m_doChroot );
m_disableCancel = requireBool( config, "disable-cancel", false );
m_disableCancelDuringExec = requireBool( config, "disable-cancel-during-exec", false );
m_hideBackAndNextDuringExec = requireBool( config, "hide-back-and-next-during-exec", false );
m_quitAtEnd = requireBool( config, "quit-at-end", false );
reconcileInstancesAndSequence();

@ -157,6 +157,8 @@ public:
/** @brief Temporary setting of disable-cancel: can't cancel during exec. */
bool disableCancelDuringExec() const { return m_disableCancelDuringExec; }
bool hideBackAndNextDuringExec() const { return m_hideBackAndNextDuringExec; }
/** @brief Is quit-at-end set? (Quit automatically when done) */
bool quitAtEnd() const { return m_quitAtEnd; }
@ -176,6 +178,7 @@ private:
bool m_promptInstall;
bool m_disableCancel;
bool m_disableCancelDuringExec;
bool m_hideBackAndNextDuringExec;
bool m_quitAtEnd;
};

@ -369,6 +369,7 @@ ViewManager::next()
UPDATE_BUTTON_PROPERTY( backEnabled, false )
}
updateCancelEnabled( !settings->disableCancel() && !( executing && settings->disableCancelDuringExec() ) );
updateBackAndNextVisibility(!executing || !settings->hideBackAndNextDuringExec());
}
else
{
@ -528,6 +529,12 @@ ViewManager::updateCancelEnabled( bool enabled )
emit cancelEnabled( enabled );
}
void
ViewManager::updateBackAndNextVisibility( bool visible)
{
UPDATE_BUTTON_PROPERTY( backAndNextVisible, visible )
}
QVariant
ViewManager::data( const QModelIndex& index, int role ) const
{

@ -45,6 +45,8 @@ class UIDLLEXPORT ViewManager : public QAbstractListModel
Q_PROPERTY( bool quitVisible READ quitVisible NOTIFY quitVisibleChanged FINAL )
Q_PROPERTY( bool backAndNextVisible READ backAndNextVisible NOTIFY backAndNextVisibleChanged FINAL )
///@brief Sides on which the ViewManager has side-panels
Q_PROPERTY( Qt::Orientations panelSides READ panelSides WRITE setPanelSides MEMBER m_panelSides )
@ -144,6 +146,10 @@ public Q_SLOTS:
return m_backIcon; ///< Name of the icon to show
}
bool backAndNextVisible() const
{
return m_backAndNextVisible; ///< Is the quit-button to be enabled
}
/**
* @brief Probably quit
*
@ -203,6 +209,7 @@ signals:
void backEnabledChanged( bool ) const;
void backLabelChanged( QString ) const;
void backIconChanged( QString ) const;
void backAndNextVisibleChanged( bool ) const;
void quitEnabledChanged( bool ) const;
void quitLabelChanged( QString ) const;
@ -217,6 +224,7 @@ private:
void insertViewStep( int before, ViewStep* step );
void updateButtonLabels();
void updateCancelEnabled( bool enabled );
void updateBackAndNextVisibility( bool visible );
inline bool currentStepValid() const { return ( 0 <= m_currentStep ) && ( m_currentStep < m_steps.length() ); }
@ -236,6 +244,8 @@ private:
QString m_backLabel;
QString m_backIcon;
bool m_backAndNextVisible = true;
bool m_quitEnabled = false;
QString m_quitLabel;
QString m_quitIcon;

Loading…
Cancel
Save