summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArttu Tarkiainen <arttu.tarkiainen@qt.io>2020-10-09 15:03:44 +0300
committerArttu Tarkiainen <arttu.tarkiainen@qt.io>2020-11-05 07:43:46 +0000
commitc46a6424b8130583014d61424db7c79bc7ded1c8 (patch)
tree093d5fe97c05a9c6130d6a0cc657ca92d1a6bb59
parent27f085218c66c27546544f875a83fcf8da905f11 (diff)
CLI: Print extra archive information with higher verbosity level
Also rework verbosity level handling to use predefined and range constrained enumeration list values. Task-number: QTIFW-1998 Change-Id: Iaf15ca638411e6842d3d502c4d7ff11d28d06658 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
-rw-r--r--src/libs/installer/packagemanagercore.cpp5
-rw-r--r--src/libs/installer/packagemanagercore.h3
-rw-r--r--src/libs/installer/packagemanagercore_p.cpp2
-rw-r--r--src/libs/installer/utils.cpp51
-rw-r--r--src/libs/installer/utils.h13
-rw-r--r--src/libs/kdtools/filedownloader.cpp5
-rw-r--r--src/sdk/sdkapp.h2
7 files changed, 69 insertions, 12 deletions
diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp
index 820e939cc..2a5457b97 100644
--- a/src/libs/installer/packagemanagercore.cpp
+++ b/src/libs/installer/packagemanagercore.cpp
@@ -43,7 +43,6 @@
#include "remoteclient.h"
#include "remotefileengine.h"
#include "settings.h"
-#include "utils.h"
#include "installercalculator.h"
#include "uninstallercalculator.h"
@@ -3057,7 +3056,7 @@ bool PackageManagerCore::isVerbose() const
/*!
Returns verbose level.
*/
-uint PackageManagerCore::verboseLevel() const
+VerbosityLevel PackageManagerCore::verboseLevel() const
{
return QInstaller::verboseLevel();
}
@@ -3389,7 +3388,7 @@ bool PackageManagerCore::updateComponentData(struct Data &data, Component *compo
component->setUninstalled();
const QString localPath = component->localTempPath();
- if (verboseLevel() > 1) {
+ if (verboseLevel() == VerbosityLevel::Detailed) {
static QString lastLocalPath;
if (lastLocalPath != localPath)
qCDebug(QInstaller::lcDeveloperBuild()) << "Url is:" << localPath;
diff --git a/src/libs/installer/packagemanagercore.h b/src/libs/installer/packagemanagercore.h
index e7cadd4a8..3fce929ac 100644
--- a/src/libs/installer/packagemanagercore.h
+++ b/src/libs/installer/packagemanagercore.h
@@ -32,6 +32,7 @@
#include "protocol.h"
#include "repository.h"
#include "qinstallerglobal.h"
+#include "utils.h"
#include <QtCore/QHash>
#include <QtCore/QObject>
@@ -267,7 +268,7 @@ public:
bool isVerbose() const;
void setVerbose(bool on);
- uint verboseLevel() const;
+ VerbosityLevel verboseLevel() const;
Q_INVOKABLE bool gainAdminRights();
Q_INVOKABLE void dropAdminRights();
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp
index 8b08c3be1..3a9386816 100644
--- a/src/libs/installer/packagemanagercore_p.cpp
+++ b/src/libs/installer/packagemanagercore_p.cpp
@@ -447,7 +447,7 @@ bool PackageManagerCorePrivate::buildComponentTree(QHash<QString, Component*> &c
restoreCheckState();
- if (m_core->verboseLevel() > 1) {
+ if (m_core->verboseLevel() == VerbosityLevel::Detailed) {
foreach (QInstaller::Component *component, components) {
const QStringList warnings = ComponentChecker::checkComponent(component);
foreach (const QString &warning, warnings)
diff --git a/src/libs/installer/utils.cpp b/src/libs/installer/utils.cpp
index e3a18100b..76ce9a938 100644
--- a/src/libs/installer/utils.cpp
+++ b/src/libs/installer/utils.cpp
@@ -70,6 +70,19 @@
*/
/*!
+ \enum QInstaller::VerbosityLevel
+ \brief This enum holds the possible levels of output verbosity.
+
+ \value Silent
+ \value Normal
+ \value Detailed
+ \value Minimum
+ Minimum possible verbosity level. Synonym for \c VerbosityLevel::Silent.
+ \value Maximum
+ Maximum possible verbosity level. Synonym for \c VerbosityLevel::Detailed.
+*/
+
+/*!
\internal
*/
void QInstaller::uiDetachedWait(int ms)
@@ -152,7 +165,7 @@ QStringList QInstaller::localeCandidates(const QString &locale_)
}
-static uint verbLevel = 0;
+static QInstaller::VerbosityLevel verbLevel = QInstaller::VerbosityLevel::Silent;
/*!
Sets to verbose output if \a v is set to \c true. Calling this multiple
@@ -162,7 +175,7 @@ void QInstaller::setVerbose(bool v)
{
if (v)
verbLevel++;
- else if (verbLevel > 0)
+ else
verbLevel--;
}
@@ -171,13 +184,13 @@ void QInstaller::setVerbose(bool v)
*/
bool QInstaller::isVerbose()
{
- return verbLevel > 0 ? true : false;
+ return verbLevel != VerbosityLevel::Silent;
}
/*!
Returns the current verbosity level.
*/
-uint QInstaller::verboseLevel()
+QInstaller::VerbosityLevel QInstaller::verboseLevel()
{
return verbLevel;
}
@@ -529,3 +542,33 @@ QString QInstaller::windowsErrorString(int errorCode)
}
#endif
+
+/*!
+ \internal
+
+ Increments verbosity \a level.
+*/
+QInstaller::VerbosityLevel &QInstaller::operator++(QInstaller::VerbosityLevel &level, int)
+{
+ const int i = static_cast<int>(level) + 1;
+ level = (i > VerbosityLevel::Maximum)
+ ? VerbosityLevel::Maximum
+ : static_cast<VerbosityLevel>(i);
+
+ return level;
+}
+
+/*!
+ \internal
+
+ Decrements verbosity \a level.
+*/
+QInstaller::VerbosityLevel &QInstaller::operator--(QInstaller::VerbosityLevel &level, int)
+{
+ const int i = static_cast<int>(level) - 1;
+ level = (i < VerbosityLevel::Minimum)
+ ? VerbosityLevel::Minimum
+ : static_cast<VerbosityLevel>(i);
+
+ return level;
+}
diff --git a/src/libs/installer/utils.h b/src/libs/installer/utils.h
index 055f5cc0f..0c32c1672 100644
--- a/src/libs/installer/utils.h
+++ b/src/libs/installer/utils.h
@@ -45,6 +45,15 @@ class QIODevice;
QT_END_NAMESPACE
namespace QInstaller {
+
+ enum INSTALLER_EXPORT VerbosityLevel {
+ Silent = 0,
+ Normal = 1,
+ Detailed = 2,
+ Minimum = Silent,
+ Maximum = Detailed
+ };
+
void INSTALLER_EXPORT uiDetachedWait(int ms);
bool INSTALLER_EXPORT startDetached(const QString &program, const QStringList &arguments,
const QString &workingDirectory, qint64 *pid = 0);
@@ -65,7 +74,7 @@ namespace QInstaller {
void INSTALLER_EXPORT setVerbose(bool v);
bool INSTALLER_EXPORT isVerbose();
- uint INSTALLER_EXPORT verboseLevel();
+ VerbosityLevel INSTALLER_EXPORT verboseLevel();
QStringList INSTALLER_EXPORT checkMutualOptions(CommandLineParser &parser, const QStringList &options);
@@ -106,6 +115,8 @@ namespace QInstaller {
QString currentDateTimeAsString;
};
+ VerbosityLevel &operator++(VerbosityLevel &level, int);
+ VerbosityLevel &operator--(VerbosityLevel &level, int);
}
#endif // QINSTALLER_UTILS_H
diff --git a/src/libs/kdtools/filedownloader.cpp b/src/libs/kdtools/filedownloader.cpp
index ca50e26d9..9532aef62 100644
--- a/src/libs/kdtools/filedownloader.cpp
+++ b/src/libs/kdtools/filedownloader.cpp
@@ -31,6 +31,7 @@
#include "ui_authenticationdialog.h"
#include "fileutils.h"
+#include "utils.h"
#include <QDialog>
#include <QDir>
@@ -1398,7 +1399,9 @@ void KDUpdater::HttpDownloader::httpReqFinished()
if (d->http == 0)
return;
const QUrl url = d->http->url();
- if (url.isValid() && QInstaller::lcServer().isDebugEnabled()){
+ // Only print host information when the logging category is enabled
+ // and output verbosity is set above standard level.
+ if (url.isValid() && QInstaller::lcServer().isDebugEnabled() && verboseLevel() == VerbosityLevel::Detailed) {
const QFileInfo fi(d->http->url().toString());
if (fi.suffix() != QLatin1String("sha1")){
const QString hostName = url.host();
diff --git a/src/sdk/sdkapp.h b/src/sdk/sdkapp.h
index 3a32d0336..a5175e04c 100644
--- a/src/sdk/sdkapp.h
+++ b/src/sdk/sdkapp.h
@@ -169,7 +169,7 @@ public:
"ifw.package.displayname = true\n");
}
- if (QInstaller::verboseLevel() > 1) {
+ if (QInstaller::verboseLevel() == QInstaller::VerbosityLevel::Detailed) {
loggingRules += QLatin1String("\nifw.developer.build = true\n"
"ifw.package.* = true\n");
}