Add --pretty flag to :yank
With --pretty, the URL is yanked in a "pretty form", with most percent-encoded characters decoded. Partially fixes #1372.
This commit is contained in:
parent
d33fae455d
commit
bd6783c7e6
@ -654,13 +654,14 @@ class CommandDispatcher:
|
||||
frame.scroll(dx, dy)
|
||||
|
||||
@cmdutils.register(instance='command-dispatcher', scope='window')
|
||||
def yank(self, title=False, sel=False, domain=False):
|
||||
def yank(self, title=False, sel=False, domain=False, pretty=False):
|
||||
"""Yank the current URL/title to the clipboard or primary selection.
|
||||
|
||||
Args:
|
||||
sel: Use the primary selection instead of the clipboard.
|
||||
title: Yank the title instead of the URL.
|
||||
domain: Yank only the scheme, domain, and port number.
|
||||
pretty: Yank the URL in pretty decoded form.
|
||||
"""
|
||||
if title:
|
||||
s = self._tabbed_browser.page_title(self._current_index())
|
||||
@ -672,8 +673,11 @@ class CommandDispatcher:
|
||||
':' + str(port) if port > -1 else '')
|
||||
what = 'domain'
|
||||
else:
|
||||
s = self._current_url().toString(
|
||||
QUrl.FullyEncoded | QUrl.RemovePassword)
|
||||
cur_url = self._current_url()
|
||||
if pretty:
|
||||
s = cur_url.toString(QUrl.RemovePassword)
|
||||
else:
|
||||
s = cur_url.toString(QUrl.FullyEncoded | QUrl.RemovePassword)
|
||||
what = 'URL'
|
||||
|
||||
if sel and QApplication.clipboard().supportsSelection():
|
||||
|
10
tests/integration/data/title with spaces.html
Normal file
10
tests/integration/data/title with spaces.html
Normal file
@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Test title</title>
|
||||
</head>
|
||||
<body>
|
||||
foo
|
||||
</body>
|
||||
</html>
|
@ -33,6 +33,18 @@ Feature: Yanking and pasting.
|
||||
Then the message "Yanked domain to clipboard: http://localhost:(port)" should be shown
|
||||
And the clipboard should contain "http://localhost:(port)"
|
||||
|
||||
Scenario: Yanking fully encoded URL
|
||||
When I open data/title with spaces.html
|
||||
And I run :yank
|
||||
Then the message "Yanked URL to clipboard: http://localhost:(port)/data/title%20with%20spaces.html" should be shown
|
||||
And the clipboard should contain "http://localhost:(port)/data/title%20with%20spaces.html"
|
||||
|
||||
Scenario: Yanking pretty decoded URL
|
||||
When I open data/title with spaces.html
|
||||
And I run :yank --pretty
|
||||
Then the message "Yanked URL to clipboard: http://localhost:(port)/data/title with spaces.html" should be shown
|
||||
And the clipboard should contain "http://localhost:(port)/data/title with spaces.html"
|
||||
|
||||
#### :paste
|
||||
|
||||
Scenario: Pasting an URL
|
||||
|
Loading…
Reference in New Issue
Block a user