VirtualBox

Changeset 34811 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Dec 7, 2010 6:23:35 PM (14 years ago)
Author:
vboxsync
Message:

FE/Qt: 5386: Extension pack GUI: Show extension package license if necessary.

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

Legend:

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

    r31885 r34811  
    3434#endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
    3535
    36 VBoxLicenseViewer::VBoxLicenseViewer (const QString &aFilePath)
    37     : QIWithRetranslateUI<QDialog> ()
    38       , mFilePath (aFilePath)
    39       , mLicenseText (0)
    40       , mAgreeButton (0)
    41       , mDisagreeButton (0)
     36VBoxLicenseViewer::VBoxLicenseViewer()
     37    : QIWithRetranslateUI<QDialog>()
     38    , mLicenseText (0)
     39    , mAgreeButton (0)
     40    , mDisagreeButton (0)
    4241{
    4342#ifndef Q_WS_WIN
     
    7170}
    7271
    73 int VBoxLicenseViewer::exec()
     72int VBoxLicenseViewer::showLicenseFromFile(const QString &strLicenseFileName)
    7473{
    75     /* read & show the license file */
    76     QFile file (mFilePath);
    77     if (file.open (QIODevice::ReadOnly))
     74    /* Read license file: */
     75    QFile file(strLicenseFileName);
     76    if (file.open(QIODevice::ReadOnly))
    7877    {
    79         mLicenseText->setText (file.readAll());
    80         return QDialog::exec();
     78        return showLicenseFromString(file.readAll());
    8179    }
    8280    else
    8381    {
    84         vboxProblem().cannotOpenLicenseFile (this, mFilePath);
     82        vboxProblem().cannotOpenLicenseFile(this, strLicenseFileName);
    8583        return QDialog::Rejected;
    8684    }
     85}
     86
     87int VBoxLicenseViewer::showLicenseFromString(const QString &strLicenseText)
     88{
     89    /* Set license text: */
     90    mLicenseText->setText(strLicenseText);
     91    return exec();
    8792}
    8893
     
    9398    mAgreeButton->setText (tr ("I &Agree"));
    9499    mDisagreeButton->setText (tr ("I &Disagree"));
     100}
     101
     102int VBoxLicenseViewer::exec()
     103{
     104    return QDialog::exec();
    95105}
    96106
  • trunk/src/VBox/Frontends/VirtualBox/src/VBoxLicenseViewer.h

    r31885 r34811  
    3737public:
    3838
    39     VBoxLicenseViewer (const QString &aFilePath);
     39    VBoxLicenseViewer();
    4040
    41 public slots:
    42 
    43     int exec();
     41    int showLicenseFromFile(const QString &strLicenseFileName);
     42    int showLicenseFromString(const QString &strLicenseText);
    4443
    4544protected:
     
    4847
    4948private slots:
     49
     50    int exec();
    5051
    5152    void onScrollBarMoving (int aValue);
     
    6061
    6162    /* Private member vars */
    62     QString       mFilePath;
    6363    QTextBrowser *mLicenseText;
    6464    QPushButton  *mAgreeButton;
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp

    r34740 r34811  
    21372137            return true;
    21382138
    2139     VBoxLicenseViewer licenseDialog (latestFilePath);
    2140     bool result = licenseDialog.exec() == QDialog::Accepted;
     2139    VBoxLicenseViewer licenseDialog;
     2140    bool result = licenseDialog.showLicenseFromFile(latestFilePath) == QDialog::Accepted;
    21412141    if (result)
    21422142        virtualBox().SetExtraData (VBoxDefs::GUI_LicenseKey, (strList << latestVersion).join(","));
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp

    r34806 r34811  
    2727#include "VBoxGlobal.h"
    2828#include "VBoxProblemReporter.h"
     29#include "VBoxLicenseViewer.h"
    2930
    3031/* Extension package item: */
     
    129130        if (extPackFile.GetUsable())
    130131        {
    131             bool fAck = vboxProblem().confirmInstallingPackage(extPackFile.GetName(),
    132                                                                QString("%1.%2").arg(extPackFile.GetVersion()).arg(extPackFile.GetRevision()),
    133                                                                extPackFile.GetDescription());
    134 
    135             if (fAck)
     132            /* Ask user to confirm installation: */
     133            QString strPackName = extPackFile.GetName();
     134            QString strPackVersion = QString("%1.%2").arg(extPackFile.GetVersion()).arg(extPackFile.GetRevision());
     135            QString strPackDescription = extPackFile.GetDescription();
     136            if (vboxProblem().confirmInstallingPackage(strPackName, strPackVersion, strPackDescription))
    136137            {
    137                 /* TODO: Display license! */
    138 
    139                 /* Install package: */
    140                 extPackFile.Install();
    141                 if (extPackFile.isOk())
    142                     fInstalled = true;
    143                 else
    144                     vboxProblem().cannotInstallExtPack(strFilePath, extPackFile, pParent);
     138                /* Display license if necessary: */
     139                bool fShouldBeLicenseShown = extPackFile.GetShowLicense();
     140                QString strLicense = extPackFile.GetLicense();
     141                VBoxLicenseViewer licenseViewer;
     142                if (!fShouldBeLicenseShown || licenseViewer.showLicenseFromString(strLicense) == QDialog::Accepted)
     143                {
     144                    /* Install package: */
     145                    extPackFile.Install();
     146                    if (extPackFile.isOk())
     147                        fInstalled = true;
     148                    else
     149                        vboxProblem().cannotInstallExtPack(strFilePath, extPackFile, pParent);
     150                }
    145151            }
    146152        }
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