fix #1209: copying app information to clipboard

This commit is contained in:
antelle 2019-08-17 11:15:23 +02:00
parent e2e7176b51
commit 51cc550502
9 changed files with 40 additions and 30 deletions

View File

@ -74,7 +74,7 @@ const DetailsView = Backbone.View.extend({
this.listenTo(Backbone, 'set-locale', this.render);
this.listenTo(OtpQrReader, 'qr-read', this.otpCodeRead);
this.listenTo(OtpQrReader, 'enter-manually', this.otpEnterManually);
KeyHandler.onKey(Keys.DOM_VK_C, this.copyPassword, this, KeyHandler.SHORTCUT_ACTION);
KeyHandler.onKey(Keys.DOM_VK_C, this.copyPasswordFromShortcut, this, KeyHandler.SHORTCUT_ACTION, false, true);
KeyHandler.onKey(Keys.DOM_VK_B, this.copyUserName, this, KeyHandler.SHORTCUT_ACTION);
KeyHandler.onKey(Keys.DOM_VK_U, this.copyUrl, this, KeyHandler.SHORTCUT_ACTION);
if (AutoType.enabled) {
@ -557,7 +557,7 @@ const DetailsView = Backbone.View.extend({
copyKeyPress: function(editView) {
if (this.isHidden()) {
return;
return false;
}
if (!window.getSelection().toString()) {
const fieldValue = editView.value;
@ -570,6 +570,15 @@ const DetailsView = Backbone.View.extend({
}
const copyRes = CopyPaste.copy(fieldText);
this.fieldCopied({ source: editView, copyRes: copyRes });
return true;
}
return false;
},
copyPasswordFromShortcut: function(e) {
const copied = this.copyKeyPress(this.passEditView);
if (copied) {
e.preventDefault();
}
},

View File

@ -3,7 +3,7 @@
align-items: stretch;
flex-direction: column;
justify-content: flex-start;
@include user-select(text);
user-select: text;
width: 100%;
&__back-button {
@ -29,7 +29,7 @@
overflow: visible;
min-height: 40px;
&-title {
@include user-select(text);
user-select: text;
flex: 1;
align-self: flex-start;
cursor: text;
@ -52,7 +52,7 @@
}
}
input.details__header-title-input {
@include user-select(text);
user-select: text;
flex: 1;
margin: 0 6px;
padding: 0 6px;
@ -66,7 +66,7 @@
}
&-color,
&-icon {
@include user-select(none);
user-select: none;
@include area-selectable();
display: inline;
font-size: $large-header-font-size;
@ -85,7 +85,7 @@
}
&__colors-popup {
@include user-select(none);
user-select: none;
display: none;
position: absolute;
z-index: $z-index-no-modal;
@ -220,7 +220,7 @@
}
&-value {
flex: 1;
@include user-select(text);
user-select: text;
align-self: flex-start;
position: relative;
cursor: text;
@ -255,7 +255,7 @@
}
}
.details__field--protect & {
@include user-select(none);
user-select: none;
}
.details__field--multiline & {
width: 0;
@ -309,7 +309,7 @@
}
> label {
font-weight: normal;
@include user-select(none);
user-select: none;
}
> a {
max-width: 100%;
@ -369,7 +369,7 @@
width: 50%;
position: absolute;
top: 0;
@include user-select(none);
user-select: none;
&:before {
padding: 0.2em 1.5em;
}
@ -407,7 +407,7 @@
&--no-select {
.details__field-label,
.details__field-value {
@include user-select(none);
user-select: none;
}
}
@ -426,7 +426,7 @@
flex-direction: row;
justify-content: flex-end;
flex-wrap: nowrap;
@include user-select(none);
user-select: none;
overflow: hidden;
white-space: nowrap;
.details--drag & {
@ -435,7 +435,7 @@
}
&__attachment {
@include user-select(none);
user-select: none;
@include area-selectable();
align-self: flex-end;
flex: 0 1 auto;
@ -458,7 +458,7 @@
}
&__attachment-add {
@include user-select(none);
user-select: none;
align-self: flex-end;
flex: 0 0 auto;
@include th {
@ -502,7 +502,7 @@
}
}
&-download-text {
@include user-select(none);
user-select: none;
position: absolute;
bottom: $base-padding-v;
right: $base-padding-h;
@ -582,7 +582,7 @@
margin-right: 20px;
}
&-desc {
@include user-select(none);
user-select: none;
}
&-timeline {
flex: 1 0 auto;
@ -653,7 +653,7 @@
flex: 1 1 auto;
}
&-buttons {
@include user-select(none);
user-select: none;
align-self: flex-end;
margin-bottom: $base-padding-v;
padding-right: $base-padding-h;

View File

@ -21,14 +21,14 @@
&__sample {
font-weight: normal;
@include user-select(text);
user-select: text;
@include th {
color: th(muted-color);
}
}
&__example {
@include user-select(text);
user-select: text;
font-family: $monospace-font-family;
margin-top: 0;
white-space: pre-wrap;

View File

@ -33,7 +33,7 @@
}
}
&__result {
@include user-select(text);
user-select: text;
font-family: $monospace-font-family;
margin-top: 6px;
margin-bottom: 3px;

View File

@ -99,7 +99,7 @@
}
&__pre {
@include user-select(text);
user-select: text;
white-space: pre-wrap;
}
@ -160,7 +160,7 @@
margin-bottom: $base-padding-v;
}
&__logs {
@include user-select(text);
user-select: text;
margin-top: $base-padding-v;
word-break: break-all;
&-log {

View File

@ -4,7 +4,7 @@ html {
body {
@include size(100%);
@include user-select(none);
user-select: none;
@include th {
color: th(text-color);
background-color: th(background-color);

View File

@ -5,7 +5,7 @@
flex-direction: row;
justify-content: flex-start;
flex-wrap: wrap;
@include user-select(none);
user-select: none;
padding-bottom: $base-padding-h;
&--custom {
padding-top: $base-padding-h;

View File

@ -38,12 +38,12 @@
text-align: center;
}
&__header {
@include user-select(text);
user-select: text;
text-align: center;
font-size: $small-header-font-size;
}
&__body {
@include user-select(text);
user-select: text;
text-align: left;
margin: $base-spacing;
}

View File

@ -1,9 +1,10 @@
Release notes
-------------
##### v1.9.0 (TBD)
`-` fix #1221: added '30 min' lock option
`-` fixed generator style issues in Firefox
`+` option to hide password in the generator
`-` fix #1221: added '30 min' lock option
`-` fixed generator style issues in Firefox
`+` option to hide password in the generator
`-` fix #1209: copying app information to clipboard
##### v1.8.2 (2019-04-22)
`-` fix #1163: fixed libgconf-2-4 dependency