Navigation button hideability added

main
Anubhav Choudhary 4 years ago
parent ba514506bb
commit 03d1fe434c

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

@ -308,6 +308,7 @@ Settings::setConfiguration( const QByteArray& ba, const QString& explainName )
m_isSetupMode = requireBool( config, "oem-setup", !m_doChroot ); m_isSetupMode = requireBool( config, "oem-setup", !m_doChroot );
m_disableCancel = requireBool( config, "disable-cancel", false ); m_disableCancel = requireBool( config, "disable-cancel", false );
m_disableCancelDuringExec = requireBool( config, "disable-cancel-during-exec", 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 ); m_quitAtEnd = requireBool( config, "quit-at-end", false );
reconcileInstancesAndSequence(); reconcileInstancesAndSequence();

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

@ -369,6 +369,7 @@ ViewManager::next()
UPDATE_BUTTON_PROPERTY( backEnabled, false ) UPDATE_BUTTON_PROPERTY( backEnabled, false )
} }
updateCancelEnabled( !settings->disableCancel() && !( executing && settings->disableCancelDuringExec() ) ); updateCancelEnabled( !settings->disableCancel() && !( executing && settings->disableCancelDuringExec() ) );
updateBackAndNextVisibility(!executing || !settings->hideBackAndNextDuringExec());
} }
else else
{ {
@ -528,6 +529,12 @@ ViewManager::updateCancelEnabled( bool enabled )
emit cancelEnabled( enabled ); emit cancelEnabled( enabled );
} }
void
ViewManager::updateBackAndNextVisibility( bool visible)
{
UPDATE_BUTTON_PROPERTY( backAndNextVisible, visible )
}
QVariant QVariant
ViewManager::data( const QModelIndex& index, int role ) const 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 quitVisible READ quitVisible NOTIFY quitVisibleChanged FINAL )
Q_PROPERTY( bool backAndNextVisible READ backAndNextVisible NOTIFY backAndNextVisibleChanged FINAL )
///@brief Sides on which the ViewManager has side-panels ///@brief Sides on which the ViewManager has side-panels
Q_PROPERTY( Qt::Orientations panelSides READ panelSides WRITE setPanelSides MEMBER m_panelSides ) 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 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 * @brief Probably quit
* *
@ -203,6 +209,7 @@ signals:
void backEnabledChanged( bool ) const; void backEnabledChanged( bool ) const;
void backLabelChanged( QString ) const; void backLabelChanged( QString ) const;
void backIconChanged( QString ) const; void backIconChanged( QString ) const;
void backAndNextVisibleChanged( bool ) const;
void quitEnabledChanged( bool ) const; void quitEnabledChanged( bool ) const;
void quitLabelChanged( QString ) const; void quitLabelChanged( QString ) const;
@ -217,6 +224,7 @@ private:
void insertViewStep( int before, ViewStep* step ); void insertViewStep( int before, ViewStep* step );
void updateButtonLabels(); void updateButtonLabels();
void updateCancelEnabled( bool enabled ); void updateCancelEnabled( bool enabled );
void updateBackAndNextVisibility( bool visible );
inline bool currentStepValid() const { return ( 0 <= m_currentStep ) && ( m_currentStep < m_steps.length() ); } inline bool currentStepValid() const { return ( 0 <= m_currentStep ) && ( m_currentStep < m_steps.length() ); }
@ -236,6 +244,8 @@ private:
QString m_backLabel; QString m_backLabel;
QString m_backIcon; QString m_backIcon;
bool m_backAndNextVisible = true;
bool m_quitEnabled = false; bool m_quitEnabled = false;
QString m_quitLabel; QString m_quitLabel;
QString m_quitIcon; QString m_quitIcon;

Loading…
Cancel
Save