diff --git a/resources/report/css/style.css b/resources/report/css/style.css index 716b3ae7..adfdcd2f 100644 --- a/resources/report/css/style.css +++ b/resources/report/css/style.css @@ -466,4 +466,19 @@ li[is=plugin-li] > .hasGlobalPriority, li[is=plugin-li] > .hasPriority { body.editMode li[is=plugin-li] > .hasGlobalPriority, body.editMode li[is=plugin-li] > .hasPriority { display: inline-block; +} + +#firstRun > ul { + list-style-type: disc; + padding-left: 40px; +} +#firstRun > button { + display: block; + margin: 0 auto; +} +#firstRun .tag { + margin: 0; +} +#firstRun .fa { + padding: 0 0.3em; } \ No newline at end of file diff --git a/resources/report/js/script.js b/resources/report/js/script.js index 431c6fb4..cde5e0f0 100644 --- a/resources/report/js/script.js +++ b/resources/report/js/script.js @@ -357,10 +357,10 @@ var loot = { query: function(request) { return new Promise(function(resolve, reject) { window.cefQuery({ - request: request, - persistent: false, - onSuccess: resolve, - onFailure: function(errorCode, errorMessage) { + request: request, + persistent: false, + onSuccess: resolve, + onFailure: function(errorCode, errorMessage) { reject(Error('Error code: ' + errorCode + '; ' + errorMessage)) } }); @@ -1147,6 +1147,9 @@ function focusSearch(evt) { document.getElementById('searchBox').focus(); } } +function closeFirstRunDialog(evt) { + evt.target.parentElement.close(); +} function setupEventHandlers() { var elements; /*Set up filter value and CSS setting storage read/write handlers.*/ @@ -1188,9 +1191,12 @@ function setupEventHandlers() { settings.getElementsByClassName('accept')[0].addEventListener('click', closeSettingsDialog, false); settings.getElementsByClassName('cancel')[0].addEventListener('click', closeSettingsDialog, false); - /* Set up about dialog handlers. */ + /* Set up about dialog handler. */ document.getElementById('about').getElementsByTagName('button')[0].addEventListener('click', closeAboutDialog, false); + /* Set up event handler for closing the first-run dialog. */ + document.getElementById('firstRun').getElementsByTagName('button')[0].addEventListener('click', closeFirstRunDialog, false); + /* Set up event handler for hover text. */ var hoverTargets = document.querySelectorAll('[title]'); for (var i = 0; i < hoverTargets.length; ++i) { @@ -1213,6 +1219,7 @@ function initVars() { loot.version = JSON.parse(result); document.getElementById('LOOTVersion').textContent = loot.version; + document.getElementById('firstTimeLootVersion').textContent = loot.version; } catch (e) { console.log(e); console.log('Response: ' + result); @@ -1324,6 +1331,10 @@ function initVars() { if (loot.settings.autoRefresh) { window.addEventListener('focus', onFocus, false); } + + if (!loot.settings.lastVersion || loot.settings.lastVersion != loot.version) { + document.getElementById('firstRun').showModal(); + } }).catch(processCefError); }).catch(processCefError); diff --git a/resources/report/report.html b/resources/report/report.html index 3a9e37e4..267e6249 100644 --- a/resources/report/report.html +++ b/resources/report/report.html @@ -550,5 +550,19 @@ along with LOOT. If not, see <http://www.gnu.org/licenses/>.