diff --git a/src/js/core/gui/gui-information.js b/src/js/core/gui/gui-information.js index 1948370..8122233 100644 --- a/src/js/core/gui/gui-information.js +++ b/src/js/core/gui/gui-information.js @@ -10,10 +10,15 @@ import Helper_class from './../../libs/helpers.js'; var template = ` Size: - - + - +
Mouse: - + +
+ Resolution: + - `; /** @@ -76,6 +81,17 @@ class GUI_information_class { var height = this.Helper.get_user_unit(config.HEIGHT, this.units, this.resolution); document.getElementById('mouse_info_size').innerHTML = width + ' x ' + height; + + var resolution = this.Tools_settings.get_setting('resolution'); + document.getElementById('mouse_info_resolution').innerHTML = resolution; + + //show units + var default_units = this.Tools_settings.get_setting('default_units_short'); + var targets = document.querySelectorAll('.id-mouse_info_units'); + for (var i = 0; i < targets.length; i++) { + targets[i].innerHTML = default_units; + } + this.last_width = config.WIDTH; this.last_height = config.HEIGHT; } diff --git a/src/js/libs/helpers.js b/src/js/libs/helpers.js index c6e319d..1e45e61 100644 --- a/src/js/libs/helpers.js +++ b/src/js/libs/helpers.js @@ -422,20 +422,16 @@ class Helper_class { * JavaScript Number Formatter, author: KPL, KHL * * @param {int} n - * @param {int} decPlaces - * @param {string} thouSeparator - * @param {string} decSeparator + * @param {int} maximumFractionDigits * @returns {string} */ - number_format(n, decPlaces, thouSeparator, decSeparator) { - var decPlaces = isNaN(decPlaces = Math.abs(decPlaces)) ? 2 : decPlaces; - var decSeparator = decSeparator == undefined ? "." : decSeparator; - var thouSeparator = thouSeparator == undefined ? "," : thouSeparator; - var sign = n < 0 ? "-" : ""; - var i = parseInt(n = Math.abs(+n || 0).toFixed(decPlaces)) + ""; - var j = (j = i.length) > 3 ? j % 3 : 0; - var result = sign + (j ? i.substr(0, j) + thouSeparator : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thouSeparator) + (decPlaces ? decSeparator + Math.abs(n - i).toFixed(decPlaces).slice(2) : ""); - return parseFloat(result); + number_format(n, maximumFractionDigits) { + let x = parseFloat(n); + var number = x.toLocaleString('us', {minimumFractionDigits: 0, maximumFractionDigits: maximumFractionDigits}); + number = number.replaceAll(',', ''); + number = parseFloat(number); + + return number; } check_input_color_support() { diff --git a/src/js/modules/image/size.js b/src/js/modules/image/size.js index 3e67069..dff48df 100644 --- a/src/js/modules/image/size.js +++ b/src/js/modules/image/size.js @@ -53,10 +53,10 @@ class Image_size_class { var units = this.Tools_settings.get_setting('default_units'); var resolution = this.Tools_settings.get_setting('resolution'); - if (width < 1){ + if (width < 0){ width = 1; } - if (height < 1){ + if (height < 0){ height = 1; } diff --git a/src/js/modules/tools/settings.js b/src/js/modules/tools/settings.js index b43adb0..e1b65ae 100644 --- a/src/js/modules/tools/settings.js +++ b/src/js/modules/tools/settings.js @@ -9,14 +9,20 @@ class Tools_settings_class { this.Base_gui = new Base_gui_class(); this.POP = new Dialog_class(); this.Helper = new Helper_class(); + + this.default_units_config = { + pixels: 'px', + inches: '"', + centimeters: 'cm', + millimetres: 'mm', + }; } settings() { var _this = this; var transparency_values = ['squares', 'green', 'grey']; - var default_units_all = ['pixels', 'inches', 'centimeters', 'millimetres']; var resolutions_values = [72, 150, 300, 600]; - + var default_units_all = Object.keys(this.default_units_config); var transparency = this.get_setting('transparency'); var theme = this.get_setting('theme'); var snap = this.get_setting('snap'); @@ -67,6 +73,7 @@ class Tools_settings_class { this.save_setting('safe_search', params.safe_search); this.save_setting('exit_confirm', params.exit_confirm); this.save_setting('default_units', params.default_units); + this.save_setting('default_units_short', this.default_units_config[params.default_units]); this.save_setting('resolution', params.resolution); this.save_setting('thick_guides', params.thick_guides); @@ -115,7 +122,8 @@ class Tools_settings_class { 'guides': true, 'safe_search': true, 'exit_confirm': true, - 'default_units': 'pixels', + 'default_units': Object.keys(this.default_units_config)[0], + 'default_units_short': Object.values(this.default_units_config)[0], 'resolution': 72, 'thick_guides': false, };