gui: Add copy to clipboard, share by email, and share by SMS buttons to device IDs (fixes #2771, ref #3868) (#7984)
gui: Add copy to clipboard, share by email, and share by SMS buttons to device IDs (fixes #2771, ref #3868) Add buttons to allow for simpler sharing device IDs with others. The first one copies the ID to clipboard (trying to use three different methods, depending on the browser). The second one triggers a mailto link with prefilled subject and body. The third one triggers an sms link with prefilled body. The short description of Syncthing included in the latter part of the body is a direct copy from the description at the official website https://syncthing.net. Issue #3868 is referred here, because the copy to clipboard button offers an alternative method for IE11 users to actually be able to copy device IDs without having to select it manually (which doesn't work). Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com>
This commit is contained in:
@@ -524,6 +524,11 @@ ul.three-columns li, ul.two-columns li {
|
||||
* columns. */
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
/* Move share buttons below device ID on small screens. */
|
||||
#shareDeviceIdButtons {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
|
||||
.form-horizontal .form-group {
|
||||
@@ -553,6 +558,13 @@ html[lang|="ko"] i {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
/* Prevent buttons from jumping up and down
|
||||
when a tooltip is shown for one of them. */
|
||||
.btn-group-vertical > .tooltip + .btn,
|
||||
.btn-group-vertical > .tooltip + .btn-group {
|
||||
margin-top: -1px;
|
||||
}
|
||||
|
||||
.select-on-click {
|
||||
-webkit-user-select: all;
|
||||
user-select: all;
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
"Automatically create or share folders that this device advertises at the default path.": "Automatically create or share folders that this device advertises at the default path.",
|
||||
"Available debug logging facilities:": "Available debug logging facilities:",
|
||||
"Be careful!": "Be careful!",
|
||||
"Body:": "Body:",
|
||||
"Bugs": "Bugs",
|
||||
"Cancel": "Cancel",
|
||||
"Changelog": "Changelog",
|
||||
@@ -67,6 +68,9 @@
|
||||
"Continuously watching for changes is now available within Syncthing. This will detect changes on disk and issue a scan on only the modified paths. The benefits are that changes are propagated quicker and that less full scans are required.": "Continuously watching for changes is now available within Syncthing. This will detect changes on disk and issue a scan on only the modified paths. The benefits are that changes are propagated quicker and that less full scans are required.",
|
||||
"Copied from elsewhere": "Copied from elsewhere",
|
||||
"Copied from original": "Copied from original",
|
||||
"Copied!": "Copied!",
|
||||
"Copy": "Copy",
|
||||
"Copy failed! Try to select and copy manually.": "Copy failed! Try to select and copy manually.",
|
||||
"Currently Shared With Devices": "Currently Shared With Devices",
|
||||
"Custom Range": "Custom Range",
|
||||
"Danger!": "Danger!",
|
||||
@@ -207,6 +211,7 @@
|
||||
"Last seen": "Last seen",
|
||||
"Latest Change": "Latest Change",
|
||||
"Learn more": "Learn more",
|
||||
"Learn more at {%url%}": "Learn more at {{url}}",
|
||||
"Limit": "Limit",
|
||||
"Listener Failures": "Listener Failures",
|
||||
"Listener Status": "Listener Status",
|
||||
@@ -326,6 +331,8 @@
|
||||
"Settings": "Settings",
|
||||
"Share": "Share",
|
||||
"Share Folder": "Share Folder",
|
||||
"Share by Email": "Share by Email",
|
||||
"Share by SMS": "Share by SMS",
|
||||
"Share this folder?": "Share this folder?",
|
||||
"Shared Folders": "Shared Folders",
|
||||
"Shared With": "Shared With",
|
||||
@@ -357,6 +364,7 @@
|
||||
"Statistics": "Statistics",
|
||||
"Stopped": "Stopped",
|
||||
"Stores and syncs only encrypted data. Folders on all connected devices need to be set up with the same password or be of type \"{%receiveEncrypted%}\" too.": "Stores and syncs only encrypted data. Folders on all connected devices need to be set up with the same password or be of type \"{{receiveEncrypted}}\" too.",
|
||||
"Subject:": "Subject:",
|
||||
"Support": "Support",
|
||||
"Support Bundle": "Support Bundle",
|
||||
"Sync Extended Attributes": "Sync Extended Attributes",
|
||||
@@ -364,9 +372,11 @@
|
||||
"Sync Protocol Listen Addresses": "Sync Protocol Listen Addresses",
|
||||
"Sync Status": "Sync Status",
|
||||
"Syncing": "Syncing",
|
||||
"Syncthing device ID for \"{%devicename%}\"": "Syncthing device ID for \"{{devicename}}\"",
|
||||
"Syncthing has been shut down.": "Syncthing has been shut down.",
|
||||
"Syncthing includes the following software or portions thereof:": "Syncthing includes the following software or portions thereof:",
|
||||
"Syncthing is Free and Open Source Software licensed as MPL v2.0.": "Syncthing is Free and Open Source Software licensed as MPL v2.0.",
|
||||
"Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers in real time, safely protected from prying eyes. Your data is your data alone and you deserve to choose where it is stored, whether it is shared with some third party, and how it's transmitted over the internet.": "Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers in real time, safely protected from prying eyes. Your data is your data alone and you deserve to choose where it is stored, whether it is shared with some third party, and how it's transmitted over the internet.",
|
||||
"Syncthing is listening on the following network addresses for connection attempts from other devices:": "Syncthing is listening on the following network addresses for connection attempts from other devices:",
|
||||
"Syncthing is not listening for connection attempts from other devices on any address. Only outgoing connections from this device may work.": "Syncthing is not listening for connection attempts from other devices on any address. Only outgoing connections from this device may work.",
|
||||
"Syncthing is restarting.": "Syncthing is restarting.",
|
||||
@@ -396,6 +406,7 @@
|
||||
"The following items could not be synchronized.": "The following items could not be synchronized.",
|
||||
"The following items were changed locally.": "The following items were changed locally.",
|
||||
"The following methods are used to discover other devices on the network and announce this device to be found by others:": "The following methods are used to discover other devices on the network and announce this device to be found by others:",
|
||||
"The following text will automatically be inserted into a new message.": "The following text will automatically be inserted into a new message.",
|
||||
"The following unexpected items were found.": "The following unexpected items were found.",
|
||||
"The interval must be a positive number of seconds.": "The interval must be a positive number of seconds.",
|
||||
"The interval, in seconds, for running cleanup in the versions directory. Zero to disable periodic cleaning.": "The interval, in seconds, for running cleanup in the versions directory. Zero to disable periodic cleaning.",
|
||||
@@ -422,6 +433,7 @@
|
||||
"This setting controls the free space required on the home (i.e., index database) disk.": "This setting controls the free space required on the home (i.e., index database) disk.",
|
||||
"Time": "Time",
|
||||
"Time the item was last modified": "Time the item was last modified",
|
||||
"To connect with the Syncthing device named \"{%devicename%}\", add a new remote device on your end with this ID:": "To connect with the Syncthing device named \"{{devicename}}\", add a new remote device on your end with this ID:",
|
||||
"Today": "Today",
|
||||
"Trash Can": "Trash Can",
|
||||
"Trash Can File Versioning": "Trash Can File Versioning",
|
||||
@@ -473,6 +485,7 @@
|
||||
"When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.": "When adding a new folder, keep in mind that the Folder ID is used to tie folders together between devices. They are case sensitive and must match exactly between all devices.",
|
||||
"Yes": "Yes",
|
||||
"Yesterday": "Yesterday",
|
||||
"You can also copy and paste the text into a new message manually.": "You can also copy and paste the text into a new message manually.",
|
||||
"You can also select one of these nearby devices:": "You can also select one of these nearby devices:",
|
||||
"You can change your choice at any time in the Settings dialog.": "You can change your choice at any time in the Settings dialog.",
|
||||
"You can read more about the two release channels at the link below.": "You can read more about the two release channels at the link below.",
|
||||
@@ -481,6 +494,8 @@
|
||||
"You have unsaved changes. Do you really want to discard them?": "You have unsaved changes. Do you really want to discard them?",
|
||||
"You must keep at least one version.": "You must keep at least one version.",
|
||||
"You should never add or change anything locally in a \"{%receiveEncrypted%}\" folder.": "You should never add or change anything locally in a \"{{receiveEncrypted}}\" folder.",
|
||||
"Your SMS app should open to let you choose the recipient and send it from your own number.": "Your SMS app should open to let you choose the recipient and send it from your own number.",
|
||||
"Your email app should open to let you choose the recipient and send it from your own address.": "Your email app should open to let you choose the recipient and send it from your own address.",
|
||||
"days": "days",
|
||||
"directories": "directories",
|
||||
"files": "files",
|
||||
|
||||
Reference in New Issue
Block a user