diff options
author | flo-mic <florianmichel@hotmail.de> | 2021-03-01 21:02:59 +0300 |
---|---|---|
committer | flo-mic <florianmichel@hotmail.de> | 2021-03-01 21:02:59 +0300 |
commit | 974a65efbea888ad3f771a71f7a157855e3a7d98 (patch) | |
tree | e44cc5801f4a9bdfd6e7d7b0059cceba4c28e630 | |
parent | aa8cdf89e5406273a9fe8214f40676a30539bae1 (diff) |
add possibility to show username in title
-rw-r--r-- | src/js/App/Popup.js | 2 | ||||
-rw-r--r-- | src/js/Controller/Setting/Get.js | 3 | ||||
-rw-r--r-- | src/js/Controller/Setting/Reset.js | 3 | ||||
-rw-r--r-- | src/js/Controller/Setting/Set.js | 3 | ||||
-rw-r--r-- | src/js/Manager/PasswordSettingsManager.js | 26 | ||||
-rw-r--r-- | src/js/Settings/MasterSettingsProvider.js | 7 | ||||
-rw-r--r-- | src/platform/generic/_locales/de/messages.json | 4 | ||||
-rw-r--r-- | src/platform/generic/_locales/en/messages.json | 4 | ||||
-rw-r--r-- | src/vue/Components/List/Item/Password.vue | 10 | ||||
-rw-r--r-- | src/vue/Components/Options/Settings.vue | 12 |
10 files changed, 68 insertions, 6 deletions
diff --git a/src/js/App/Popup.js b/src/js/App/Popup.js index d8435d6..2b8e38e 100644 --- a/src/js/App/Popup.js +++ b/src/js/App/Popup.js @@ -10,6 +10,7 @@ import ThemeService from '@js/Services/ThemeService'; import SettingsService from '@js/Services/SettingsService'; import ClientSettingsProvider from '@js/Settings/ClientSettingsProvider'; import LocalisationService from "@js/Services/LocalisationService"; +import PasswordSettingsManager from '@js/Manager/PasswordSettingsManager'; class Popup { @@ -44,6 +45,7 @@ class Popup { await MessageService.init(true, 'background'); ConverterManager.init(); SettingsService.init(ClientSettingsProvider); + await PasswordSettingsManager.init(); this._authClient = new AuthorisationClient(); await ThemeService.apply(); diff --git a/src/js/Controller/Setting/Get.js b/src/js/Controller/Setting/Get.js index 269693e..8563469 100644 --- a/src/js/Controller/Setting/Get.js +++ b/src/js/Controller/Setting/Get.js @@ -24,7 +24,8 @@ export default class Get extends AbstractController { 'clipboard.clear.delay', 'clipboard.clear.passwords', 'search.recommendation.mode', - 'search.recommendation.maxRows' + 'search.recommendation.maxRows', + 'password.list.show.user' ]; } diff --git a/src/js/Controller/Setting/Reset.js b/src/js/Controller/Setting/Reset.js index ce66856..b45e6a0 100644 --- a/src/js/Controller/Setting/Reset.js +++ b/src/js/Controller/Setting/Reset.js @@ -21,7 +21,8 @@ export default class Reset extends AbstractController { 'search.recommendation.mode', 'search.recommendation.maxRows', 'clipboard.clear.passwords', - 'clipboard.clear.delay' + 'clipboard.clear.delay', + 'password.list.show.user' ]; } diff --git a/src/js/Controller/Setting/Set.js b/src/js/Controller/Setting/Set.js index 8afeeb3..6369a09 100644 --- a/src/js/Controller/Setting/Set.js +++ b/src/js/Controller/Setting/Set.js @@ -17,7 +17,8 @@ export default class Set extends AbstractController { 'notification.password.new', 'notification.password.update', 'debug.localisation.enabled', - 'clipboard.clear.passwords' + 'clipboard.clear.passwords', + 'password.list.show.user' ]; } diff --git a/src/js/Manager/PasswordSettingsManager.js b/src/js/Manager/PasswordSettingsManager.js new file mode 100644 index 0000000..e96319f --- /dev/null +++ b/src/js/Manager/PasswordSettingsManager.js @@ -0,0 +1,26 @@ +import SettingsService from '@js/Services/SettingsService'; + +export default new class PasswordSettingsManager { + + /** + * + */ + constructor() { + this._showUsernameInList = null; + } + + /** + * + */ + async init() { + this._showUsernameInList = await SettingsService.get('password.list.show.user') + } + + /** + * + */ + getShowUserInList() { + return this._showUsernameInList.getValue(); + } + +} diff --git a/src/js/Settings/MasterSettingsProvider.js b/src/js/Settings/MasterSettingsProvider.js index e424864..5d4e7d2 100644 --- a/src/js/Settings/MasterSettingsProvider.js +++ b/src/js/Settings/MasterSettingsProvider.js @@ -92,6 +92,10 @@ class MasterSettingsProvider { 'clipboard.clear.delay' : [ 'sync.clipboard.clear.delay', 'local.clipboard.clear.delay', + ], + 'password.list.show.user' : [ + 'sync.password.list.show.user', + 'local.password.list.show.user', ] }; this._defaults = { @@ -111,7 +115,8 @@ class MasterSettingsProvider { 'search.recommendation.mode' : 'host', 'search.recommendation.maxRows': 8, 'clipboard.clear.passwords' : false, - 'clipboard.clear.delay' : 60 + 'clipboard.clear.delay' : 60, + 'password.list.show.user' : false, }; } diff --git a/src/platform/generic/_locales/de/messages.json b/src/platform/generic/_locales/de/messages.json index fcfb2b2..983c2c9 100644 --- a/src/platform/generic/_locales/de/messages.json +++ b/src/platform/generic/_locales/de/messages.json @@ -1244,5 +1244,9 @@ "InputSliderOff" : { "message" : "ausgeschaltet", "description" : "Tooltip of any slider input element that is currently in the inactive/disabled state" + }, + "SettingsShowUsernameInList" : { + "message" : "Zeige Benutzername neben dem Titel", + "description": "Label of the setting in the extension settings to show the username next to the title in password lists." } } diff --git a/src/platform/generic/_locales/en/messages.json b/src/platform/generic/_locales/en/messages.json index 2181064..816113e 100644 --- a/src/platform/generic/_locales/en/messages.json +++ b/src/platform/generic/_locales/en/messages.json @@ -1258,5 +1258,9 @@ "InputSliderOff" : { "message" : "Currently off", "description" : "Tooltip of any slider input element that is currently in the inactive/disabled state" + }, + "SettingsShowUsernameInList" : { + "message" : "Show username next to title", + "description": "Label of the setting in the extension settings to show the username next to the title in password lists." } } diff --git a/src/vue/Components/List/Item/Password.vue b/src/vue/Components/List/Item/Password.vue index 7e99be1..ab3e4f4 100644 --- a/src/vue/Components/List/Item/Password.vue +++ b/src/vue/Components/List/Item/Password.vue @@ -2,7 +2,7 @@ <li class="item password-item"> <div class="label" @click="sendPassword()" :title="title"> <favicon :password="password.getId()" :size="22" v-if="favicon"/> - {{ password.getLabel() }} + {{ getLabel() }} </div> <div class="options"> <icon icon="user" hover-icon="clipboard" @click="copy('username', 'text')" draggable="true" @dragstart="drag($event, 'username')"/> @@ -21,6 +21,7 @@ import ErrorManager from '@js/Manager/ErrorManager'; import LocalisationService from '@js/Services/LocalisationService'; import SettingsService from '@js/Services/SettingsService'; + import PasswordSettingsManager from '@js/Manager/PasswordSettingsManager'; export default { components: {Favicon, Icon}, @@ -92,6 +93,13 @@ ErrorManager.logError(e); } }, + getLabel() { + var result = this.password.getLabel(); + if(PasswordSettingsManager.getShowUserInList()) { + result = result + " - " + this.password.getUserName(); + } + return result; + }, copy(property, type) { let data = this.password.getProperty(property); MessageService.send({type: 'clipboard.write', payload: {type: type, value: data}}).catch(ErrorManager.catch); diff --git a/src/vue/Components/Options/Settings.vue b/src/vue/Components/Options/Settings.vue index b2474e6..5fd8334 100644 --- a/src/vue/Components/Options/Settings.vue +++ b/src/vue/Components/Options/Settings.vue @@ -2,6 +2,10 @@ <div class="settings-general"> <translate tag="h3" say="AutofillSettings"/> <div class="setting"> + <slider-field id="show-username-in-list" v-model="showUserInList"/> + <translate tag="label" for="show-username-in-list" say="SettingsShowUsernameInList"/> + </div> + <div class="setting"> <slider-field id="paste-autoclose" v-model="autoclose"/> <translate tag="label" for="paste-autoclose" say="SettingsPastePopupClose"/> </div> @@ -87,7 +91,8 @@ recSearchMode : 'host', recSearchRows : 8, clearClipboard : false, - clearClipboardDelay: 60 + clearClipboardDelay: 60, + showUserInList : false, }; }, @@ -228,6 +233,11 @@ if(oldValue !== null && value !== oldValue) { this.setSetting('search.recommendation.maxRows', value); } + }, + showUserInList(value, oldValue) { + if(oldValue !== null && value !== oldValue) { + this.setSetting('password.list.show.user', value); + } } } }; |