Commit Graph

6683 Commits

Author SHA1 Message Date
Florian Bruhin
3cdcc34d1d Update private-browsing option description 2017-05-15 11:07:43 +02:00
Florian Bruhin
c4307c9f03 Fix lint 2017-05-15 11:07:43 +02:00
Florian Bruhin
f6fc2666ce Generate stylesheet for statusbar 2017-05-15 11:07:43 +02:00
Florian Bruhin
73ca884d24 Add a setting for private command mode color
This also refactors how color properties are handled in StatusBar.
2017-05-15 11:07:43 +02:00
Florian Bruhin
3c3f695af4 Fix things pointed out in reviews 2017-05-15 11:07:43 +02:00
Florian Bruhin
6ee382ef30 Sort windows when saving sessions
This should help with flaky tests when the window order changes
2017-05-15 11:02:29 +02:00
Florian Bruhin
8993667479 Remove unused imports 2017-05-15 11:02:29 +02:00
Florian Bruhin
eda95d7926 Simplify window/private distinction in commands.py 2017-05-15 11:02:29 +02:00
Florian Bruhin
cde36f34b0 Remove QtWebKit-NG warnings
The next release will support private browsing, and we can't easily check the
version somehow.
2017-05-15 11:02:29 +02:00
Florian Bruhin
9805b43c85 Handle private browsing in sessions 2017-05-15 11:02:29 +02:00
Florian Bruhin
f907b6b6b0 Have an isolated command history for private windows 2017-05-15 11:02:26 +02:00
Florian Bruhin
dd675c4e8d Set title for :view-source pages 2017-05-15 09:16:24 +02:00
Florian Bruhin
5b1d35bef9 Don't add data: URLs to history 2017-05-15 09:04:16 +02:00
Florian Bruhin
920dde4a68 Don't set an URL for :view-source tabs
Otherwise the page URL gets added to the history again with QtWebKit.
2017-05-15 09:03:45 +02:00
Jay Kamat
17169812be
Misc cleanup and fixes 2017-05-14 00:21:51 -07:00
Matthias Lisin
c814ced7b3 Add Android UA 2017-05-13 15:05:54 +02:00
Anton Grensjö
47f391d38b
Set explicit=False for :navigate --tab
Related to #2624
2017-05-13 04:16:49 +02:00
Jay Kamat
b526c9a2a9
Try to fix a pylint error 2017-05-12 18:38:06 -07:00
Jay Kamat
068e47e22c
Fix a few style issues 2017-05-12 16:56:07 -07:00
Florian Bruhin
273749cce8 Don't set explicit=True for :tab-clone/:view-source
Fixes #2624
2017-05-12 22:27:24 +02:00
Jay Kamat
2ae1bfc033
Keep pinned tabs in place rather than moving them. 2017-05-12 13:09:22 -07:00
Jay Kamat
66dfb1b1c9
Fix a bug with titles not being refreshed when pinning tabs 2017-05-12 09:53:25 -07:00
Florian Bruhin
17fdda6a5e Check for href attribute in WebElement.is_link
Fixes #2619
2017-05-12 12:59:25 +02:00
Florian Bruhin
9e2aa65c02 Remove webelem.Group.prevnext
Apart from checking for buttons with an href attribute (which made no sense at
all and should never return any element) this was identical to
webelem.Group.links.
2017-05-12 09:41:12 +02:00
Florian Bruhin
203a5dff74 Get rid of webelem.FILTERS
There's actually no good reason to filter javascript links as we might want to
click them (or copy their URL) just like any other link - this fixes #2404.

With that being gone, we don't need FILTERS at all anymore, as we can check for
existence of the href attribute in the CSS selector instead.
2017-05-12 09:41:12 +02:00
Jay Kamat
21455cf0e7
Clean up pinned tab alert logic
should be a lot more reusable now
2017-05-11 15:37:52 -07:00
Jay Kamat
4c28487fd0
Warn user if pinned tab is closed via tab-only 2017-05-11 14:30:45 -07:00
Jay Kamat
3317834b36
Fix a bug where pinned tabs were occasionally miscounted
Example case: :tab-only. This should cover other cases, but currently those
cases (such as :tab-only) do NOT have a warning message when popping up.
2017-05-11 13:28:26 -07:00
Jay Kamat
725bafea54
Merge branch 'master' into jay/pintab 2017-05-10 23:51:33 -07:00
Florian Bruhin
c6e31391de Fix most tests/lint 2017-05-10 09:19:24 +02:00
Florian Bruhin
f4d3f97cb7 Implement private browsing for QtWebEngine 2017-05-10 09:17:54 +02:00
Florian Bruhin
1c50377c0a Initial work on new private browsing 2017-05-10 07:00:21 +02:00
Florian Bruhin
b91d4ee9c2 Clean up :debug-webaction 2017-05-09 22:02:30 +02:00
Florian Bruhin
822623f2ed Finally update copyrights... 2017-05-09 21:37:03 +02:00
Florian Bruhin
905032924a Remove search_displayed initialization in subclasses
We set this in BrowserTab anyways, and the value in WebKitTab was wrong.
2017-05-09 17:58:28 +02:00
Florian Bruhin
4b5e528d05 Add AbstractTab.key_press 2017-05-09 17:56:07 +02:00
Florian Bruhin
76fa126133 Simplify debug string 2017-05-09 17:55:51 +02:00
Florian Bruhin
e3eda28d88 Update docstrings 2017-05-09 17:52:13 +02:00
Jay Kamat
e10d636ca0
Fix a few small issues
- Remove an unused warnings
- Reverse if statement arguments to simplify logic
2017-05-09 08:08:05 -07:00
Jay Kamat
a3d41c0467
Refactor search method of AbstractBrowserTab into a field 2017-05-09 00:24:13 -07:00
Jay Kamat
d1aac9e9e9
Add docstrings to key_press methods 2017-05-08 23:43:21 -07:00
Jay Kamat
5bdd291d28
Refactor key_press into _repeated_key_press
Also split off generic key pressing ability from WebKitScroller to WebKitTab
2017-05-08 23:11:50 -07:00
Jay Kamat
63cffaf558
Refactor _key_press from WebEngineScroller to WebEngineTab 2017-05-08 22:49:14 -07:00
Jay Kamat
c9953b9f0d
Add support for follow_selected via fake-clicks 2017-05-08 22:31:29 -07:00
Jay Kamat
e07a1045a8
Add is_link method to webelem 2017-05-08 22:00:11 -07:00
Florian Bruhin
9db92de2d5 Add a no cover pragma for certificate error hashing 2017-05-09 06:15:21 +02:00
Florian Bruhin
90b0af97ce Improve serialization crash check
It now works correctly with view-source URLs and is disabled on Qt 5.9.

Fixes #2289
See #2458
2017-05-03 23:15:17 +02:00
Florian Bruhin
ea2d5e97e2 Disable serialization crash check on Qt 5.9 2017-05-03 21:31:09 +02:00
Florian Bruhin
ebf3d208f6 Adjust Qt 5.8.1 check
There's never going to be a 5.8.1
2017-05-03 21:25:00 +02:00
Florian Bruhin
a320aa5ef7 Disable renderer process crash workaround on Qt 5.9 2017-05-03 21:24:25 +02:00
Florian Bruhin
a77cb44723 Block all request methods in host blocker 2017-05-03 08:42:37 +02:00
Florian Bruhin
64e144f3eb Make text selectable in prompts 2017-05-01 13:52:46 +02:00
Florian Bruhin
5bbd16c92a Fix qWebKitVersion issues 2017-04-28 22:59:24 +02:00
Florian Bruhin
bffdea6719 Read qWebKitVersion in qtutils.is_webkit_ng.
This means we need to try and import qWebKitVersion in qtutils, but better there
than at every place which calls it.
2017-04-28 21:36:02 +02:00
Florian Bruhin
8101fe99a8 Fix starting with Python 2
Fixes #2567
2017-04-28 20:51:38 +02:00
Florian Bruhin
a5b1c293a4 Ignore comment position with eslint 2017-04-28 20:29:20 +02:00
Florian Bruhin
421aa0d319 Also try harder to get text content 2017-04-28 19:11:02 +02:00
Florian Bruhin
76ec465f67 Allow to set cookies-store at runtime with Qt 5.9
Fixes #2588
2017-04-28 17:40:43 +02:00
Florian Bruhin
5ed870e0c6 Fix lint 2017-04-28 16:29:44 +02:00
Florian Bruhin
6458c692cb Improve JS value type checks 2017-04-28 15:15:32 +02:00
Florian Bruhin
571f0c4486 Loosen JS value type check 2017-04-28 14:57:14 +02:00
Florian Bruhin
0c653c4703 Handle elem.className in webelem.js 2017-04-28 14:48:30 +02:00
Florian Bruhin
513f83d446 Try harder to get tag name from element
This could happen for any of the attributes, but for tagName this actually
happens in the wild... Since elem.tagName is equal to elem.nodeName we just try
to use this.

Fixes #2569
2017-04-28 14:48:30 +02:00
Florian Bruhin
06e317ac53 Do type checks on values we get from JS 2017-04-28 14:48:30 +02:00
Florian Bruhin
4f92fe6895 Add an assert for tag_name we get from JS
This should help tracking down #2569 once we get another report about it.
2017-04-28 10:33:57 +02:00
Florian Bruhin
d8bfa6d6b7 Merge commit '6549fd84ce461d3098c13818219df4e4bfd6b444' 2017-04-27 21:15:09 +02:00
Florian Bruhin
d62ebdb926 Make most of search BDD tests work with QtWebEngine 2017-04-27 21:02:26 +02:00
Florian Bruhin
4cd977cab6 Fix zero handling in qflags_key 2017-04-27 20:14:51 +02:00
Niklas Haas
6549fd84ce
Add tabs->favicon-scale setting
This allows users to change the size of the favicon independently from
the size of the font/tab, in order to adjust the balance between
favicons and text. The drawing code is also adjusted to place the icon
relative to the text center, rather than the text top.

Works as expected even for values of 0.0 (which is equivalent to hiding
the favicon completely).

Closes #2549.
2017-04-27 08:53:51 +02:00
Florian Bruhin
95b866e4f4 Merge commit 'fe7d21dfbe0b9dabcb66eaa61c20a5d16c9e175c' 2017-04-26 08:54:39 +02:00
Florian Bruhin
70d7a56b11 Also set Fusion style for downloads and completion
This makes those UI elements look the same on different platforms/OS styles,
with the small drawback of overriding the context menu style.

This most likely fixes #80 (though I couldn't reproduce that on Windows 10).
2017-04-25 22:20:37 +02:00
Florian Bruhin
66eb330a0a Always base tabbar on Fusion style.
Fixes crashes with qt5ct.
Fixes #2477.
Fixes #1554.
2017-04-25 21:44:15 +02:00
Florian Bruhin
1015badb8b Disable animation for completion view 2017-04-25 09:18:31 +02:00
Florian Bruhin
c3e6222296 Close the current tab when the tabbar itself is clicked 2017-04-25 06:59:51 +02:00
Florian Bruhin
3125b69d19 Fix no-cover pragma 2017-04-25 06:43:31 +02:00
Florian Bruhin
111944fb65 Revert "Raise exception when a stylesheet is unparsable."
This reverts commit 0400945ac4.

See #2571
2017-04-24 23:16:10 +02:00
Imran Sobir
fe7d21dfbe Show hostname in non-javascript history page. 2017-04-24 15:30:01 +05:00
Florian Bruhin
11c026bf4c Reenable QtWebKit cache with Qt 5.9.
This was fixed here:
https://codereview.qt-project.org/#/c/190818/

See #2427
2017-04-24 12:27:00 +02:00
Imran Sobir
18082526f4 Show hostname in history page. 2017-04-24 10:59:11 +05:00
Marcel Schilling
930b0f0818 typo fix (in comment) 2017-04-24 07:56:44 +02:00
Florian Bruhin
52f31ed15c Rename urlutils.safe_display_url to safe_display_string 2017-04-24 07:49:12 +02:00
Florian Bruhin
b632fe3285 Fix invalid URL handling in statusbar 2017-04-24 07:47:58 +02:00
Florian Bruhin
195d0ea207 Show Punycode URL for IDN pages in addition to decoded one
This helps when Unicode homographs are used for phishing purposes.
Fixes #2547
2017-04-24 06:58:41 +02:00
Florian Bruhin
beb661cdc7 Add xos4 Terminus to default monospace fonts 2017-04-23 23:11:12 +02:00
Florian Bruhin
9d2734ff62 Make sure host is valid for qute:// redirects 2017-04-16 13:15:15 +02:00
Florian Bruhin
c82bd83715 Implement RedirectNetworkReply.abort 2017-04-16 13:14:19 +02:00
Florian Bruhin
2d45257dcc Remove exclamation mark for bookmark messages 2017-04-16 13:08:15 +02:00
Florian Bruhin
842c2d297e Allow to set message clear timer to 0
Fixes #2527
2017-04-16 13:07:33 +02:00
Florian Bruhin
1d0f187fab Adjustments for new pylint version 2017-04-13 18:22:16 +02:00
Fritz Reichwald
3d549bf607 Remove closeWriteChannel from detached start 2017-04-12 07:32:12 +02:00
Fritz Reichwald
bc7f8018c0 Close stdin after starting QProcess Fixes 2491 2017-04-12 06:56:38 +02:00
Florian Bruhin
c47da15bb1 Remove nargs=1 for --debug-flag
Otherwisse we get [['foo'], ['bar']] from argparse...
2017-04-11 21:26:23 +02:00
Florian Bruhin
20b17f3fb1 Improve --debug-flag error message 2017-04-11 21:21:07 +02:00
Florian Bruhin
b966034250 Merge commit 'f31aead992e829cb15c4fbedbf816a23d2a916a7' into jswz72/master 2017-04-11 21:17:49 +02:00
Jacob Sword
f31aead992 Add default to --debug-flag 2017-04-09 23:34:33 -04:00
Jacob Sword
dcf8f29a67 Remove old --pdb-postmortem and --debug-exit flags 2017-04-09 10:43:40 -05:00
Jacob Sword
c0ac1bd79a Add 'dest' for '--debug-flag' 2017-04-09 10:34:51 -05:00
Jacob Sword
37d91cd17b Merge branch 'master' of https://github.com/jswz72/qutebrowser 2017-04-08 19:05:22 -04:00
Jacob Sword
7588cdb185 fixed formatting issues 2017-04-08 19:04:25 -04:00
Jacob Sword
6ccb420230 Fix syntax error in debug-exit 2017-04-08 18:42:26 -04:00
Florian Bruhin
778832a813 Set path when redirecting qute:* URLs
Fixes #2513
2017-04-08 23:04:10 +02:00
Jacob Sword
45dff6c0c8 update usage of debug-flag arguments 2017-04-08 16:54:08 -04:00
Jacob Sword
dadbf7657f Merge remote-tracking branch 'upstream/master' 2017-04-07 21:21:01 -04:00
Jacob Sword
3b87e7c297 Add --debug-exit argument and validity check 2017-04-07 21:12:42 -04:00
Florian Bruhin
fd9b86a340 Remove unused imports 2017-04-06 21:40:26 +02:00
Florian Bruhin
871504d91b Fix undefined names 2017-04-06 21:37:23 +02:00
Florian Bruhin
4ec5700cbf Redirect qute:foo to qute://foo
Before, we just returned the same data for both, but then we'll run into
same-origin restrictions as qute:history and qute:history/data are not the same
host.
2017-04-06 21:18:58 +02:00
Florian Bruhin
3cc9f9f073 Don't use from-import 2017-04-06 20:36:54 +02:00
Florian Bruhin
760dca475e Merge commit 'be254be13a61171d4109224450db9e67d1076080' into imransobir/fix-webkit-history 2017-04-06 20:34:49 +02:00
Martin Tournoij
e7755f5d9f
Add :debug-log-filter none
This allows us to clear any filters. Useful for users, and needed for
the tests.
2017-04-04 20:51:14 +01:00
Martin Tournoij
200e439a30
Fix crash of :debug-log-filter when --filter wasn't given
There was no `LogFilter`. The fix is to always initialize a
`LogFilter()` with `None`. as the "filter".

Fixes #2303.
2017-04-04 17:45:23 +01:00
Imran Sobir
be254be13a Use new history page on webkit-ng. 2017-04-04 19:21:25 +05:00
Martin Tournoij
c5427a0127
Fix display of errors while reading the key config file
Also catch `cmdexc.CommandError` on startup to show these errors in the
alert dialog on startup.

Fixes #1340
2017-04-04 09:50:12 +01:00
Florian Bruhin
0de3b5460e Only disable the cache on Qt 5.7.1
I ended up bisecting it, and https://codereview.qt-project.org/#/c/153977/
causes this, which is not in 5.7.0.
2017-04-04 08:24:50 +02:00
Florian Bruhin
2eb365b146 Also disable cache on Qt 5.7 2017-04-03 20:22:54 +02:00
Florian Bruhin
b6642e66fa Fix cache tests on Qt 5.8 2017-04-03 19:41:37 +02:00
Florian Bruhin
1b0ea19ca4 Disable QtNetwork cache on Qt 5.8
See #2427
2017-04-03 17:49:13 +02:00
Florian Bruhin
cb4c64eec9 Remove null argument for QtValueError 2017-04-03 10:18:56 +02:00
Florian Bruhin
2c3fcda18e Remove qtutils.ensure_not_null
It's not used anymore.
2017-04-03 09:32:13 +02:00
Florian Bruhin
3b1b325711 Fix logging 2017-04-03 09:04:28 +02:00
Florian Bruhin
a11356bb99 Don't require working icon to start 2017-04-03 08:32:39 +02:00
Florian Bruhin
35181ff84e Merge commit '4004d5adf09e6d22dae5d781a02c5fc2bbd26724' into Carpetsmoker/unwritable-keyconf 2017-04-03 06:55:01 +02:00
Martin Tournoij
4004d5adf0
Don't crash when trying to write an unwritable keyconf.
Also change the logic in _load_default a wee bit so that it won't try to
write the keys.conf on startup.

Fixes #1235
2017-04-03 01:48:39 +01:00
Florian Bruhin
248ff09624 Merge commit '5efca155948bc467e4fb7b19dafd98d47e33745b' into Carpetsmoker/config-comments 2017-04-02 19:14:00 +02:00
Florian Bruhin
b20267b57d Merge commit '7f13c9a3c31aa719144ca3afcad7af305dd2f6ed' into Carpetsmoker/relax-cmdline 2017-04-02 18:47:00 +02:00
Florian Bruhin
338307ac24 Add #noqa for Quitter._shutdown 2017-04-02 18:35:10 +02:00
Martin Tournoij
79a22f1f47
Allow pressing ^C when there's an unknown setting
All of it is just converting `objreg.get('xxx')` to `objreg.get('xxx',
None)` and adding a `if xxx is not None` check.

Fixes #1170
2017-04-01 21:14:35 +01:00
Martin Tournoij
7f13c9a3c3
Relax commandline parsing a bit
Problem 1: Entering a command of `:::save` gives an error.
Problem 2: Entering a command of `:save\n` gives an error.

Both scenarios may seem a bit silly at first, but I encountered both by
copy/pasting a command:

1. Enter `:` in qutebrowser.
2. Copy a full line from a terminal starting with `:`.
3. You will now have both of the above problems.

Solution: Trim all whitespace and `:` of a command. This is also what
Vim does, by the way.
2017-03-31 17:14:11 +01:00
Florian Bruhin
1eda2b0ea4 Fallback to clipboard when primary selection is unsupported 2017-03-31 13:05:34 +02:00
Florian Bruhin
64feb62fb1 Paste clipboard when using shift-insert in prompts 2017-03-31 13:05:34 +02:00
Florian Bruhin
708b46d6c0 Fix text with empty primary selection 2017-03-31 13:03:40 +02:00
Florian Bruhin
2c4e549d80 Close temporary download file for QtWebEngine
Otherwise, Chromium won't be able to write on it on Windows - and we only
need the name anyways.
2017-03-31 13:03:18 +02:00
Florian Bruhin
a55d1b1ee8 Save old socket for IPC
At least on Windows with Qt 5.8, we get readyRead notifications *after*
disconnect...
2017-03-31 13:03:17 +02:00
Martin Tournoij
5efca15594
Put option comments right above the option value
Problem: I like to edit `~/.config/qutebrowser/qutebrowser.conf`
manually with Vim. This works great, except that the current format is a
bit of a pain to deal with:

	[section-name]
	# section description
	#
	# [ Description of all the options]

	actual options

So if I want to know the description or what the default value is, I
need to scroll up and back down.

Solution: change the order of the comments to:

	# section description
	[section-name]

	# Option description
	option = value

	# Option description two
	optiontwo = value

	# Hello, world!
	[section-two]
	...

Which is much more convenient (and also what almost any other program
does).

(This patch changes much less code than it looks in the diff; I just
de-looped and moved `_str_option_desc` below `_str_items` as that makes
more sense since it gets called by `_str_items`).
2017-03-30 18:45:28 +01:00
Florian Bruhin
6939f81de7 Merge commit '563a5431e35831cb0a8c418835c54d0264d92c78' into Kingdread/windows-drive-cwd 2017-03-30 10:48:39 +02:00
Florian Bruhin
2377235c14 Merge commit 'caf0a87e16cf930f67ce9fc64ea94e17cae6269d' into amosbird/master 2017-03-30 10:48:32 +02:00
Florian Bruhin
6a144ef7bd Merge branch 'Kingdread/windows-drive-cwd' 2017-03-30 10:41:58 +02:00
Daniel Schadt
563a5431e3 fixup! use message.error instead of a tooltip 2017-03-29 18:32:07 +02:00
Daniel Schadt
186eab8eb1 use message.error instead of a tooltip 2017-03-29 17:07:53 +02:00
Daniel Schadt
99f7bfa712 show messages on top of the prompt
Otherwise, errors are hidden behind the prompt, which makes it hard to
use them in the filename prompt.
2017-03-29 16:44:29 +02:00
Imran Sobir
3aaebe83fb Remove noscript message from history.html. 2017-03-29 14:22:58 +05:00
Amos Bird
caf0a87e16 Fix #2476, recognize SOCKS5, SOCKS4 in proxy. 2017-03-29 14:22:37 +08:00
Imran Sobir
4a4c7b96d1 Add nojs history page. 2017-03-28 18:34:47 +05:00
Florian Bruhin
bcb4649235 Fix crash when window_ids change during init 2017-03-27 08:00:19 +02:00
Florian Bruhin
b98d34b29c Handle None-tab in get_tab_fields
I can't reproduce this but I got a crash report about it.
2017-03-27 07:57:43 +02:00
Florian Bruhin
bcee6d295c Handle None-widget in tabbedbrowser.widgets()
I can't reproduce this, but got a crash report about it.
2017-03-27 07:52:33 +02:00
Florian Bruhin
f6906512dc Merge commit 'df93e30ec20dd1b2b4fe163bdb5a69c232fb8c71' into Al-Caveman/master 2017-03-27 07:00:53 +02:00
Florian Bruhin
37d22a7cfd Merge commit '9dccd00ebb2483fd0bb6c6447f57c76a4b40d335' into Kingdread/windows-drive-cwd 2017-03-26 22:14:47 +02:00
Florian Bruhin
39b09f7822 Improve messageview hide code 2017-03-26 15:03:44 +02:00
Florian Bruhin
2181e1ddc4 Merge commit '13677d3563dbd01ae188a2b1a79c7dd840a5dc5e' into pkill-nine/upstream-master-close_message_on_click 2017-03-26 14:59:08 +02:00