Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/marius-wieschollek/passwords-webextension.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorflo-mic <florianmichel@hotmail.de>2021-03-01 21:02:59 +0300
committerflo-mic <florianmichel@hotmail.de>2021-03-01 21:02:59 +0300
commit974a65efbea888ad3f771a71f7a157855e3a7d98 (patch)
treee44cc5801f4a9bdfd6e7d7b0059cceba4c28e630
parentaa8cdf89e5406273a9fe8214f40676a30539bae1 (diff)
add possibility to show username in title
-rw-r--r--src/js/App/Popup.js2
-rw-r--r--src/js/Controller/Setting/Get.js3
-rw-r--r--src/js/Controller/Setting/Reset.js3
-rw-r--r--src/js/Controller/Setting/Set.js3
-rw-r--r--src/js/Manager/PasswordSettingsManager.js26
-rw-r--r--src/js/Settings/MasterSettingsProvider.js7
-rw-r--r--src/platform/generic/_locales/de/messages.json4
-rw-r--r--src/platform/generic/_locales/en/messages.json4
-rw-r--r--src/vue/Components/List/Item/Password.vue10
-rw-r--r--src/vue/Components/Options/Settings.vue12
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);
+ }
}
}
};