Merge remote-tracking branch 'origin/4.5' into 4.6

Change-Id: Iaf254ce5bc895c703aa6772b4aaa139e531696f6
This commit is contained in:
Eike Ziller
2018-03-02 15:55:29 +01:00
5 changed files with 48 additions and 5 deletions

View File

@@ -1,11 +1,37 @@
import qbs 1.0 import qbs 1.0
import qbs.TextFile import qbs.File
import qbs.FileInfo import qbs.FileInfo
import qbs.TextFile
import qbs.Utilities
Module { Module {
Depends { id: qtcore; name: "Qt.core" } Depends { id: qtcore; name: "Qt.core" }
Depends { name: "qtc" } Depends { name: "qtc" }
// TODO: Wrap the VCS specific stuff in a dedicated module
property bool hasVcs: Utilities.versionCompare(qbs.version, "1.10") >= 0
Depends { name: "vcs"; condition: hasVcs }
Properties {
condition: hasVcs
vcs.repoDir: {
// TODO: Could something like this be incorporated into the vcs module?
// Currently, the default repo dir is project.sourceDirectory, which
// does not make sense for Qt Creator.
var dir = sourceDirectory;
while (true) {
if (File.exists(FileInfo.joinPaths(dir, ".git")))
return dir;
var newDir = FileInfo.path(dir);
if (newDir === dir || dir === project.sourceDirectory) {
console.warn("No git repository found for product " + product.name
+ ", revision information will not be evailable.");
break;
}
dir = newDir;
}
}
}
additionalProductTypes: ["qt_plugin_metadata"] additionalProductTypes: ["qt_plugin_metadata"]
Rule { Rule {
@@ -56,6 +82,8 @@ Module {
vars['IDE_VERSION_RELEASE'] = product.moduleProperty("qtc", "ide_version_release"); vars['IDE_VERSION_RELEASE'] = product.moduleProperty("qtc", "ide_version_release");
vars['QTCREATOR_COPYRIGHT_YEAR'] vars['QTCREATOR_COPYRIGHT_YEAR']
= product.moduleProperty("qtc", "qtcreator_copyright_year") = product.moduleProperty("qtc", "qtcreator_copyright_year")
if (!vars['QTC_PLUGIN_REVISION'])
vars['QTC_PLUGIN_REVISION'] = product.vcs ? (product.vcs.repoState || "") : "";
var deplist = []; var deplist = [];
for (i in plugin_depends) { for (i in plugin_depends) {
deplist.push(" { \"Name\" : \"" + plugin_depends[i] + "\", \"Version\" : \"" + qtcVersion + "\" }"); deplist.push(" { \"Name\" : \"" + plugin_depends[i] + "\", \"Version\" : \"" + qtcVersion + "\" }");

View File

@@ -32,6 +32,8 @@
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <QDir> #include <QDir>
#include <QJsonObject>
#include <QJsonValue>
#include <QRegExp> #include <QRegExp>
/*! /*!
@@ -65,6 +67,16 @@ PluginDetailsView::~PluginDetailsView()
delete m_ui; delete m_ui;
} }
// TODO: make API in PluginSpec
static QString getSpecRevision(PluginSpec *spec)
{
const QJsonObject metaData = spec->metaData();
const QJsonValue revision = metaData.value("Revision");
if (revision.isString())
return revision.toString();
return QString();
}
/*! /*!
Reads the given \a spec and displays its values Reads the given \a spec and displays its values
in this PluginDetailsView. in this PluginDetailsView.
@@ -72,7 +84,10 @@ PluginDetailsView::~PluginDetailsView()
void PluginDetailsView::update(PluginSpec *spec) void PluginDetailsView::update(PluginSpec *spec)
{ {
m_ui->name->setText(spec->name()); m_ui->name->setText(spec->name());
m_ui->version->setText(spec->version()); const QString revision = getSpecRevision(spec);
const QString versionString = spec->version() + (revision.isEmpty() ? QString()
: " (" + revision + ")");
m_ui->version->setText(versionString);
m_ui->compatVersion->setText(spec->compatVersion()); m_ui->compatVersion->setText(spec->compatVersion());
m_ui->vendor->setText(spec->vendor()); m_ui->vendor->setText(spec->vendor());
const QString link = QString::fromLatin1("<a href=\"%1\">%1</a>").arg(spec->url()); const QString link = QString::fromLatin1("<a href=\"%1\">%1</a>").arg(spec->url());

View File

@@ -49,7 +49,7 @@ public:
{ {
m_effect = new QGraphicsOpacityEffect(this); m_effect = new QGraphicsOpacityEffect(this);
setGraphicsEffect(m_effect); setGraphicsEffect(m_effect);
m_effect->setOpacity(1.); m_effect->setOpacity(.999);
m_label = new QLabel; m_label = new QLabel;
QFont font = m_label->font(); QFont font = m_label->font();

View File

@@ -371,7 +371,7 @@ void FutureProgressPrivate::fadeAway()
m_isFading = true; m_isFading = true;
QGraphicsOpacityEffect *opacityEffect = new QGraphicsOpacityEffect; QGraphicsOpacityEffect *opacityEffect = new QGraphicsOpacityEffect;
opacityEffect->setOpacity(1.); opacityEffect->setOpacity(.999);
m_q->setGraphicsEffect(opacityEffect); m_q->setGraphicsEffect(opacityEffect);
QSequentialAnimationGroup *group = new QSequentialAnimationGroup(this); QSequentialAnimationGroup *group = new QSequentialAnimationGroup(this);

View File

@@ -51,7 +51,7 @@ using namespace ProjectExplorer::Internal;
using namespace Utils; using namespace Utils;
ToolWidget::ToolWidget(QWidget *parent) : FadingPanel(parent), ToolWidget::ToolWidget(QWidget *parent) : FadingPanel(parent),
m_targetOpacity(1.0f) m_targetOpacity(.999)
{ {
auto layout = new QHBoxLayout; auto layout = new QHBoxLayout;
layout->setMargin(4); layout->setMargin(4);