VirtualBox

Changeset 94750 in vbox for trunk/src


Ignore:
Timestamp:
Apr 28, 2022 7:11:26 PM (3 years ago)
Author:
vboxsync
Message:

FE/Qt/Ds: bugref:10205: Continue reworking UIUpdateDefs; Cache check-enabled and check-required flags; Adding corresponding getters.

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/networking/UIUpdateDefs.cpp

    r94740 r94750  
    6767VBoxUpdateData::VBoxUpdateData(const QString &strData)
    6868    : m_strData(strData)
     69    , m_fCheckEnabled(false)
     70    , m_fCheckRequired(false)
    6971    , m_enmUpdatePeriod(UpdatePeriodType_Never)
    7072    , m_enmUpdateChannel(KUpdateChannel_Invalid)
     
    7375    if (m_strData == "never")
    7476        return;
     77
     78    /* Check is enabled in all cases besides 'never': */
     79    m_fCheckEnabled = true;
    7580
    7681#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
     
    108113        m_version = UIVersion(parser.at(3));
    109114    }
    110 }
    111 
    112 VBoxUpdateData::VBoxUpdateData(UpdatePeriodType enmUpdatePeriod, KUpdateChannel enmUpdateChannel)
     115
     116    /* Decide whether we need to check: */
     117    m_fCheckRequired =    (QDate::currentDate() >= date())
     118                       && (   !version().isValid()
     119                           || version() != UIVersion(uiCommon().vboxVersionStringNormalized()));
     120}
     121
     122VBoxUpdateData::VBoxUpdateData(bool fCheckEnabled, UpdatePeriodType enmUpdatePeriod, KUpdateChannel enmUpdateChannel)
    113123    : m_strData("never")
     124    , m_fCheckEnabled(fCheckEnabled)
     125    , m_fCheckRequired(false)
    114126    , m_enmUpdatePeriod(enmUpdatePeriod)
    115127    , m_enmUpdateChannel(enmUpdateChannel)
    116128{
    117     /* Skip 'UpdatePeriodType_Never' case: */
    118     if (m_enmUpdatePeriod == UpdatePeriodType_Never)
     129    /* Skip 'check disabled' case: */
     130    if (!m_fCheckEnabled)
    119131        return;
    120132
     
    144156    /* Compose m_strData: */
    145157    m_strData = QString("%1, %2, %3, %4").arg(strRemindPeriod, strRemindDate, strUpdateChannel, strVersionValue);
     158
     159    /* Decide whether we need to check: */
     160    m_fCheckRequired =    (QDate::currentDate() >= date())
     161                       && (   !version().isValid()
     162                           || version() != UIVersion(uiCommon().vboxVersionStringNormalized()));
    146163}
    147164
    148165bool VBoxUpdateData::isCheckEnabled() const
    149166{
    150     /* Check is enabled if Period != Never: */
    151     return m_enmUpdatePeriod != UpdatePeriodType_Never;
     167    return m_fCheckEnabled;
    152168}
    153169
    154170bool VBoxUpdateData::isCheckRequired() const
    155171{
    156     /* Return 'false' if there check is disabled: */
    157     if (!isCheckEnabled())
    158         return false;
    159 
    160     /* Return 'true' if date of next check is today or missed: */
    161     if (QDate::currentDate() >= m_date)
    162         return true;
    163 
    164     /* Return 'true' if saved version value is NOT valid or NOT equal to current: */
    165     if (!version().isValid() || version() != UIVersion(uiCommon().vboxVersionStringNormalized()))
    166         return true;
    167 
    168     /* Return 'false' in all other cases: */
    169     return false;
     172    return m_fCheckRequired;
    170173}
    171174
  • trunk/src/VBox/Frontends/VirtualBox/src/networking/UIUpdateDefs.h

    r94740 r94750  
    8282    /** Constructs update description on the basis of passed @a strData. */
    8383    VBoxUpdateData(const QString &strData = QString());
    84     /** Constructs update description on the basis of passed @a enmUpdatePeriod and @a enmUpdateChannel. */
    85     VBoxUpdateData(UpdatePeriodType enmUpdatePeriod, KUpdateChannel enmUpdateChannel);
     84    /** Constructs update description on the basis of passed @a fCheckEnabled, @a enmUpdatePeriod and @a enmUpdateChannel. */
     85    VBoxUpdateData(bool fCheckEnabled, UpdatePeriodType enmUpdatePeriod, KUpdateChannel enmUpdateChannel);
    8686
    8787    /** Returns whether check is enabled. */
     
    130130    QString  m_strData;
    131131
     132    /** Holds whether check is enabled. */
     133    bool  m_fCheckEnabled;
     134    /** Holds whether it's need to check for update. */
     135    bool  m_fCheckRequired;
     136
    132137    /** Holds the update period. */
    133     UpdatePeriodType  m_enmUpdatePeriod;
     138    UpdatePeriodType      m_enmUpdatePeriod;
    134139    /** Holds the update date. */
    135     QDate             m_date;
     140    QDate           m_date;
    136141    /** Holds the update channel. */
    137     KUpdateChannel    m_enmUpdateChannel;
     142    KUpdateChannel  m_enmUpdateChannel;
    138143    /** Holds the update version. */
    139     UIVersion         m_version;
     144    UIVersion       m_version;
    140145};
    141146
  • trunk/src/VBox/Frontends/VirtualBox/src/networking/UIUpdateManager.cpp

    r94740 r94750  
    364364    VBoxUpdateData currentData(gEDataManager->applicationUpdateData());
    365365    /* Encode/save new update data: */
    366     VBoxUpdateData newData(currentData.updatePeriod(), currentData.updateChannel());
     366    VBoxUpdateData newData(currentData.isCheckEnabled(), currentData.updatePeriod(), currentData.updateChannel());
    367367    gEDataManager->setApplicationUpdateData(newData.data());
    368368
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/editors/UIUpdateSettingsEditor.cpp

    r94740 r94750  
    6969VBoxUpdateData UIUpdateSettingsEditor::value() const
    7070{
    71     return m_pCheckBox ? VBoxUpdateData(updatePeriod(), updateChannel()) : m_guiValue;
     71    return VBoxUpdateData(isCheckEnabled(), updatePeriod(), updateChannel());
    7272}
    7373
     
    141141{
    142142    if (m_pFieldUpdateDate)
    143         m_pFieldUpdateDate->setText(VBoxUpdateData(updatePeriod(), updateChannel()).dateToString());
     143        m_pFieldUpdateDate->setText(VBoxUpdateData(isCheckEnabled(), updatePeriod(), updateChannel()).dateToString());
    144144}
    145145
     
    265265}
    266266
     267bool UIUpdateSettingsEditor::isCheckEnabled() const
     268{
     269    return m_pCheckBox ? m_pCheckBox->isChecked() : m_guiValue.isCheckEnabled();
     270}
     271
    267272UpdatePeriodType UIUpdateSettingsEditor::updatePeriod() const
    268273{
    269     return   m_pCheckBox && m_pCheckBox->isChecked() && m_pComboUpdatePeriod
    270            ? (UpdatePeriodType)m_pComboUpdatePeriod->currentIndex()
    271            : UpdatePeriodType_Never;
     274    return m_pComboUpdatePeriod ? (UpdatePeriodType)m_pComboUpdatePeriod->currentIndex() : m_guiValue.updatePeriod();
    272275}
    273276
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/editors/UIUpdateSettingsEditor.h

    r94733 r94750  
    7272    void prepareConnections();
    7373
     74    /** Returns whether check is enabled. */
     75    bool isCheckEnabled() const;
    7476    /** Returns update period. */
    7577    UpdatePeriodType updatePeriod() const;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette