diff --git a/www/scripts/codecheckerviewer/CheckerStatistics.js b/www/scripts/codecheckerviewer/CheckerStatistics.js index 82ab138782..f1f2a5cfb6 100644 --- a/www/scripts/codecheckerviewer/CheckerStatistics.js +++ b/www/scripts/codecheckerviewer/CheckerStatistics.js @@ -112,10 +112,8 @@ function (declare, ItemFileWriteStore, dom, Deferred, all, Memory, Observable, }); dom.place(this._uniqueCheckBox.domNode, this.domNode); - this._uniqueCheckBoxLabel = dom.create('label', { - for : this._uniqueCheckBox.get('id'), - innerHTML : 'Unique reports' - }, this._uniqueCheckBox.domNode, 'after'); + this._uniqueCheckBoxLabel = + util.createLabelForUniqueCheckbox(this._uniqueCheckBox); }, refreshGrids : function () { diff --git a/www/scripts/codecheckerviewer/ListOfBugs.js b/www/scripts/codecheckerviewer/ListOfBugs.js index a7e0247e03..f54a985412 100644 --- a/www/scripts/codecheckerviewer/ListOfBugs.js +++ b/www/scripts/codecheckerviewer/ListOfBugs.js @@ -346,7 +346,7 @@ function (declare, dom, style, Deferred, ObjectStore, Store, QueryResults, this._bugFilterView = new BugFilterView({ class : 'bug-filters', region : 'left', - style : 'width: 300px; padding: 0px;', + style : 'width: 320px; padding: 0px;', splitter : true, parent : this, diffView : this.newcheck, diff --git a/www/scripts/codecheckerviewer/filter/UniqueFilter.js b/www/scripts/codecheckerviewer/filter/UniqueFilter.js index 364b47e5dd..ad369c3e4b 100644 --- a/www/scripts/codecheckerviewer/filter/UniqueFilter.js +++ b/www/scripts/codecheckerviewer/filter/UniqueFilter.js @@ -8,8 +8,9 @@ define([ 'dojo/dom-construct', 'dojo/_base/declare', 'dijit/form/CheckBox', - 'codechecker/filter/FilterBase'], -function (dom, declare, CheckBox, FilterBase) { + 'codechecker/filter/FilterBase', + 'codechecker/util'], +function (dom, declare, CheckBox, FilterBase, util) { return declare(FilterBase, { defaultValue : false, @@ -24,10 +25,8 @@ function (dom, declare, CheckBox, FilterBase) { }); dom.place(this._uniqueCheckBox.domNode, this.domNode); - this._uniqueCheckBoxLabel = dom.create('label', { - for : this._uniqueCheckBox.get('id'), - innerHTML : 'Unique reports' - }, this._uniqueCheckBox.domNode, 'after'); + this._uniqueCheckBoxLabel = + util.createLabelForUniqueCheckbox(this._uniqueCheckBox); }, initByUrl : function (queryParams) { diff --git a/www/scripts/codecheckerviewer/util.js b/www/scripts/codecheckerviewer/util.js index 21b83d6a9d..9406ee32bb 100644 --- a/www/scripts/codecheckerviewer/util.js +++ b/www/scripts/codecheckerviewer/util.js @@ -451,6 +451,18 @@ function (locale, dom, style, json) { link.click(); document.body.removeChild(link); + }, + + createLabelForUniqueCheckbox(uniqueCheckBox) { + return dom.create('label', { + for : uniqueCheckBox.get('id'), + innerHTML : 'Unique reports ', + title : 'This narrows the report list to unique bug. The same bug may ' + + 'appear several times if it is found on different control paths, ' + + 'i.e. through different function calls. By checking ' + + '"Unique reports" a report appears only once even if it is found ' + + 'on several paths.' + }, uniqueCheckBox.domNode, 'after'); } }; }); diff --git a/www/style/codecheckerviewer.css b/www/style/codecheckerviewer.css index e180273b86..9bd91f638a 100644 --- a/www/style/codecheckerviewer.css +++ b/www/style/codecheckerviewer.css @@ -616,6 +616,10 @@ html, body { margin-left: 10px; } +.checker-statistics-filter > label { + font-weight: bold; +} + .component-description { list-style: none; margin: 0; diff --git a/www/style/icons.css b/www/style/icons.css index 1c4538fd67..d85ffd8271 100644 --- a/www/style/icons.css +++ b/www/style/icons.css @@ -337,3 +337,20 @@ span[class*="severity-"] { .carret-up::before { content: "\f0d8"; } + +.icon-help { + display: inline-block; + text-align: center; + background-color: #3680a9; + color: white; + border-radius: 50%; + width: 15px; + height: 15px; + font-size: 12px; + line-height: 15px; + cursor: help; +} + +.icon-help:after { + content : '?'; +}