Merge branch 'forkbong-pretty_url'

This commit is contained in:
Florian Bruhin 2016-04-20 22:17:35 +02:00
commit 391900cc99
6 changed files with 24 additions and 5 deletions

View File

@ -30,6 +30,7 @@ Changed
- qutebrowser got a new (slightly updated) logo
- `:tab-focus` can now take a negative index to focus the nth tab counted from
the right.
- `:yank` can now yank the pretty/decoded URL by adding `--pretty`
v0.6.1
-----

View File

@ -166,6 +166,7 @@ Contributors, sorted by the number of commits in descending order:
* Philipp Hansch
* Kevin Velghe
* Austin Anderson
* Panagiotis Ktistakis
* Alexey "Averrin" Nabrodov
* avk
* ZDarian
@ -173,7 +174,6 @@ Contributors, sorted by the number of commits in descending order:
* John ShaggyTwoDope Jenkins
* Jimmy
* Peter Vilim
* Panagiotis Ktistakis
* Clayton Craft
* Oliver Caldwell
* Jonas Schürmann

View File

@ -794,7 +794,7 @@ Save open pages and quit.
[[yank]]
=== yank
Syntax: +:yank [*--title*] [*--sel*] [*--domain*]+
Syntax: +:yank [*--title*] [*--sel*] [*--domain*] [*--pretty*]+
Yank the current URL/title to the clipboard or primary selection.
@ -802,6 +802,7 @@ Yank the current URL/title to the clipboard or primary selection.
* +*-t*+, +*--title*+: Yank the title instead of the URL.
* +*-s*+, +*--sel*+: Use the primary selection instead of the clipboard.
* +*-d*+, +*--domain*+: Yank only the scheme, domain, and port number.
* +*-p*+, +*--pretty*+: Yank the URL in pretty decoded form.
[[yank-selected]]
=== yank-selected

View File

@ -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,10 @@ class CommandDispatcher:
':' + str(port) if port > -1 else '')
what = 'domain'
else:
s = self._current_url().toString(
QUrl.FullyEncoded | QUrl.RemovePassword)
flags = QUrl.RemovePassword
if not pretty:
flags |= QUrl.FullyEncoded
s = self._current_url().toString(flags)
what = 'URL'
if sel and QApplication.clipboard().supportsSelection():

View File

@ -1448,6 +1448,8 @@ KEY_DATA = collections.OrderedDict([
('yank -ts', ['yT']),
('yank -d', ['yd']),
('yank -ds', ['yD']),
('yank -p', ['yp']),
('yank -ps', ['yP']),
('paste', ['pp']),
('paste -s', ['pP']),
('paste -t', ['Pp']),

View File

@ -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