From f1b95821053da5a849e231de31621f9c373ac7d9 Mon Sep 17 00:00:00 2001 From: Rahul Kannan Date: Sat, 3 Jun 2023 16:33:09 +0530 Subject: [PATCH 1/3] fix date picker localizations --- css/styles.css | 5 +++++ js/date-to-string-util.js | 15 ++++++++++++++- js/menus.js | 8 ++++++++ src/preferences.html | 6 +++++- src/preferences.js | 28 +++++++++++++++++++++++++++- 5 files changed, 59 insertions(+), 3 deletions(-) diff --git a/css/styles.css b/css/styles.css index 841264f1d..855ea32d3 100644 --- a/css/styles.css +++ b/css/styles.css @@ -668,6 +668,11 @@ input:disabled + .slider { } /* Styles for Right Alignment of input type date */ +#preferences-window input[type="text"].date-right { + text-align: right; + position: relative; +} + #preferences-window input[type="date"].date-right::-webkit-datetime-edit { text-align: right; position: relative; diff --git a/js/date-to-string-util.js b/js/date-to-string-util.js index f81a6cf3e..88671ff20 100644 --- a/js/date-to-string-util.js +++ b/js/date-to-string-util.js @@ -26,7 +26,20 @@ function getMonthName(languageData, monthIndex) return getTranslationInLanguageData(languageData, `$DateUtil.${monthNames[monthIndex]}`); } + +function getMonthNames(languageData) +{ + return monthNames.map(val => getTranslationInLanguageData(languageData, `$DateUtil.${val}`)); +} + +function getDay(languageData) +{ + return dayAbbrs.map(val => getTranslationInLanguageData(languageData, `$DateUtil.${val}`)); +} + export { getDayAbbr, - getMonthName + getMonthName, + getMonthNames, + getDay }; \ No newline at end of file diff --git a/js/menus.js b/js/menus.js index 8d9f4894f..99633e860 100644 --- a/js/menus.js +++ b/js/menus.js @@ -154,6 +154,14 @@ function getEditMenuTemplate(mainWindow) BrowserWindow.getFocusedWindow().webContents.toggleDevTools(); } }); + prefWindow.webContents.on('before-input-event', (event, input) => + { + if (input.control && input.shift && input.key.toLowerCase() === 'r') + { + BrowserWindow.getFocusedWindow().reload(); + } + }); + }, }, {type: 'separator'}, diff --git a/src/preferences.html b/src/preferences.html index e368c058b..a1d24c59c 100644 --- a/src/preferences.html +++ b/src/preferences.html @@ -5,6 +5,7 @@ + @@ -13,6 +14,7 @@ + @@ -105,7 +107,9 @@

Overall Balance Start Date

- +

View

diff --git a/src/preferences.js b/src/preferences.js index 7aeb1a276..9181276af 100644 --- a/src/preferences.js +++ b/src/preferences.js @@ -2,6 +2,8 @@ import { applyTheme } from '../renderer/themes.js'; import { translatePage } from '../renderer/i18n-translator.js'; +import { getMonthNames, getDay } from '../js/date-to-string-util.js'; + // Global values for preferences page let usersStyles; @@ -35,6 +37,7 @@ function listenerLanguage() window.mainApi.changeLanguagePromise(this.value).then((languageData) => { translatePage(this.value, languageData, 'Preferences'); + refreshDate(this.value,languageData); window.mainApi.notifyNewPreferences(preferences); }); }); @@ -47,9 +50,23 @@ function setupLanguages() window.mainApi.getLanguageDataPromise().then(languageData => { translatePage(usersStyles['language'], languageData.data, 'Preferences'); + refreshDate(usersStyles['language'],languageData.data); }); } +function refreshDate(language, languageData) +{ + $.datepicker.regional[`${language}`] = { + monthNames: getMonthNames(languageData), + monthNamesShort: getMonthNames(languageData), + weekHeader: 'Sm', + dayNames: getDay(languageData), + dayNamesShort: getDay(languageData), + dayNamesMin: getDay(languageData), + firstDay: 0}; + $.datepicker.setDefaults($.datepicker.regional[`${language}`]); +} + function refreshContent() { return new Promise((resolve) => @@ -91,6 +108,15 @@ function renderPreferencesWindow() $('#view').val(usersStyles['view']); } + $( function() + { + $( '#datepicker' ).datepicker({ + dateFormat: 'yy-mm-dd', + changeYear: true, + changeMonth: true + }); + }); + $('input[type="checkbox"]').on('change', function() { changeValue(this.name, this.checked); @@ -105,7 +131,7 @@ function renderPreferencesWindow() } }); - $('input[type="number"], input[type="date"]').on('change', function() + $('input[type="number"], input[type="date"], input[type="text"]').on('change', function() { changeValue(this.name, this.value); }); From 95a66b1a9be5f9dd563a0d3da1ffe680969c7bdb Mon Sep 17 00:00:00 2001 From: Rahul Kannan Date: Sat, 3 Jun 2023 18:03:43 +0530 Subject: [PATCH 2/3] fix date picker localizations --- js/date-to-string-util.js | 4 ++-- src/preferences.js | 14 ++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/js/date-to-string-util.js b/js/date-to-string-util.js index 88671ff20..6be98af20 100644 --- a/js/date-to-string-util.js +++ b/js/date-to-string-util.js @@ -32,7 +32,7 @@ function getMonthNames(languageData) return monthNames.map(val => getTranslationInLanguageData(languageData, `$DateUtil.${val}`)); } -function getDay(languageData) +function getDayAbbrvs(languageData) { return dayAbbrs.map(val => getTranslationInLanguageData(languageData, `$DateUtil.${val}`)); } @@ -41,5 +41,5 @@ export { getDayAbbr, getMonthName, getMonthNames, - getDay + getDayAbbrvs }; \ No newline at end of file diff --git a/src/preferences.js b/src/preferences.js index 9181276af..e67edf454 100644 --- a/src/preferences.js +++ b/src/preferences.js @@ -2,7 +2,7 @@ import { applyTheme } from '../renderer/themes.js'; import { translatePage } from '../renderer/i18n-translator.js'; -import { getMonthNames, getDay } from '../js/date-to-string-util.js'; +import { getMonthNames, getDayAbbrvs } from '../js/date-to-string-util.js'; // Global values for preferences page @@ -56,13 +56,15 @@ function setupLanguages() function refreshDate(language, languageData) { + var monthAbbrs = getMonthNames(languageData); + var dayAbbrs = getDayAbbrvs(languageData); $.datepicker.regional[`${language}`] = { - monthNames: getMonthNames(languageData), - monthNamesShort: getMonthNames(languageData), + monthNames: monthAbbrs, + monthNamesShort: monthAbbrs, weekHeader: 'Sm', - dayNames: getDay(languageData), - dayNamesShort: getDay(languageData), - dayNamesMin: getDay(languageData), + dayNames: dayAbbrs, + dayNamesShort: dayAbbrs, + dayNamesMin: dayAbbrs, firstDay: 0}; $.datepicker.setDefaults($.datepicker.regional[`${language}`]); } From 2d7b3ba7dd2cb7222b3c63b104f7f8d1494b8f3b Mon Sep 17 00:00:00 2001 From: Rahul Kannan Date: Thu, 8 Jun 2023 09:13:27 +0530 Subject: [PATCH 3/3] fix date picker localizations --- package.json | 4 +++- src/preferences.html | 7 ++++--- src/preferences.js | 10 +++++----- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 6c62d1130..77ee40fbe 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,9 @@ "i18next-node-fs-backend": "^2.1.3", "is-online": "^9.0.1", "jquery": "^3.6.0", - "jquery-mousewheel": "^3.1.13" + "jquery-mousewheel": "^3.1.13", + "jquery-ui": "^1.13.2", + "jquery-ui-css": "^1.11.5" }, "engines": { "node": ">=14.15.5", diff --git a/src/preferences.html b/src/preferences.html index a1d24c59c..8480d6d83 100644 --- a/src/preferences.html +++ b/src/preferences.html @@ -5,7 +5,8 @@ - + + @@ -14,7 +15,7 @@ - + @@ -107,7 +108,7 @@

Overall Balance Start Date

-
diff --git a/src/preferences.js b/src/preferences.js index e67edf454..57dcf9dd9 100644 --- a/src/preferences.js +++ b/src/preferences.js @@ -37,7 +37,7 @@ function listenerLanguage() window.mainApi.changeLanguagePromise(this.value).then((languageData) => { translatePage(this.value, languageData, 'Preferences'); - refreshDate(this.value,languageData); + refreshDate(this.value, languageData); window.mainApi.notifyNewPreferences(preferences); }); }); @@ -50,14 +50,14 @@ function setupLanguages() window.mainApi.getLanguageDataPromise().then(languageData => { translatePage(usersStyles['language'], languageData.data, 'Preferences'); - refreshDate(usersStyles['language'],languageData.data); + refreshDate(usersStyles['language'], languageData.data); }); } function refreshDate(language, languageData) { - var monthAbbrs = getMonthNames(languageData); - var dayAbbrs = getDayAbbrvs(languageData); + const monthAbbrs = getMonthNames(languageData); + const dayAbbrs = getDayAbbrvs(languageData); $.datepicker.regional[`${language}`] = { monthNames: monthAbbrs, monthNamesShort: monthAbbrs, @@ -110,7 +110,7 @@ function renderPreferencesWindow() $('#view').val(usersStyles['view']); } - $( function() + $(()=> { $( '#datepicker' ).datepicker({ dateFormat: 'yy-mm-dd',