Add general -> yank-ignored-url-parameters
This commit is contained in:
parent
e77bf62ace
commit
d3e19ec8fc
@ -25,7 +25,7 @@ import shlex
|
||||
import functools
|
||||
|
||||
from PyQt5.QtWidgets import QApplication, QTabBar
|
||||
from PyQt5.QtCore import Qt, QUrl, QEvent
|
||||
from PyQt5.QtCore import Qt, QUrl, QEvent, QUrlQuery
|
||||
from PyQt5.QtGui import QKeyEvent
|
||||
from PyQt5.QtPrintSupport import QPrintDialog, QPrintPreviewDialog
|
||||
try:
|
||||
@ -702,7 +702,13 @@ class CommandDispatcher:
|
||||
flags = QUrl.RemovePassword
|
||||
if what != 'pretty-url':
|
||||
flags |= QUrl.FullyEncoded
|
||||
s = self._current_url().toString(flags)
|
||||
url = QUrl(self._current_url())
|
||||
url_query = QUrlQuery(url)
|
||||
for key in dict(url_query.queryItems()):
|
||||
if key in config.get('general', 'yank-ignored-url-parameters'):
|
||||
url_query.removeQueryItem(key)
|
||||
url.setQuery(url_query)
|
||||
s = url.toString(flags)
|
||||
what = 'URL' # For printing
|
||||
elif what == 'selection':
|
||||
caret = self._current_widget().caret
|
||||
|
@ -139,6 +139,12 @@ def data(readonly=False):
|
||||
SettingValue(typ.List(typ.String()), 'https://duckduckgo.com'),
|
||||
"The default page(s) to open at the start, separated by commas."),
|
||||
|
||||
('yank-ignored-url-parameters',
|
||||
SettingValue(typ.List(typ.String()), 'ref,utm_source,'
|
||||
'utm_medium,utm_campaign,utm_term,utm_content'),
|
||||
"The default parameters to strip on yank,"
|
||||
" separated by commas."),
|
||||
|
||||
('default-page',
|
||||
SettingValue(typ.FuzzyUrl(), '${startpage}'),
|
||||
"The page to open if :open -t/-b/-w is used without URL. Use "
|
||||
|
@ -20,6 +20,18 @@ Feature: Yanking and pasting.
|
||||
Then the message "Yanked URL to primary selection: http://localhost:(port)/data/title.html" should be shown
|
||||
And the primary selection should contain "http://localhost:(port)/data/title.html"
|
||||
|
||||
Scenario: Yanking URLs with ref and UTM parameters
|
||||
When I open data/title.html?utm_source=kikolani&utm_medium=320banner&utm_campaign=bpp&ref=facebook
|
||||
And I run :yank
|
||||
Then the message "Yanked URL to clipboard: http://localhost:(port)/data/title.html" should be shown
|
||||
And the clipboard should contain "http://localhost:(port)/data/title.html"
|
||||
|
||||
Scenario: Yanking URLs with ref and UTM parameters and some other parameters
|
||||
When I open data/title.html?stype=models&utm_source=kikolani&utm_medium=320banner&utm_campaign=bpp&ref=facebook
|
||||
And I run :yank
|
||||
Then the message "Yanked URL to clipboard: http://localhost:(port)/data/title.html?stype=models" should be shown
|
||||
And the clipboard should contain "http://localhost:(port)/data/title.html?stype=models"
|
||||
|
||||
Scenario: Yanking title to clipboard
|
||||
When I open data/title.html
|
||||
And I wait for regex "Changing title for idx \d to 'Test title'" in the log
|
||||
|
Loading…
Reference in New Issue
Block a user