Commit Graph

2873 Commits

Author SHA1 Message Date
Florian Bruhin
0c5aed284b Fix popping of a dead question in prompter.
This happens when a question for a file path for an already cancelled download
gets popped.

Fixes #415.
2014-12-26 12:46:53 +01:00
Florian Bruhin
5d0dd5b11b Fix AttributeError on config changes on Ubuntu.
Fixes #390.
2014-12-26 12:25:42 +01:00
Florian Bruhin
bececc69c3 Save version to state config. 2014-12-22 23:47:43 +01:00
Florian Bruhin
017f143a5f Add a binary mode to utils.read_file.
This will be needed for #325.
2014-12-22 23:44:09 +01:00
Joel Torstensson
8746715bf0 Moved fullscreen method. 2014-12-22 22:56:52 +01:00
Joel Torstensson
19f75984e3 Implemented fullscreen mode. Fix #385 2014-12-22 21:57:46 +01:00
Florian Bruhin
4363db90c0 Don't treat things like "31c3" as IP address.
Fixes #388.
2014-12-22 18:38:45 +01:00
Florian Bruhin
b01041e455 Set zoom to default instead of 100% with :zoom/=. 2014-12-22 18:04:28 +01:00
Florian Bruhin
f50a19a488 Adjust page zoom if default zoom changed.
Fixes #393.
2014-12-22 18:01:32 +01:00
Florian Bruhin
3752733f15 Actually connect QWebView.on_config_changed slot. 2014-12-22 18:01:17 +01:00
Florian Bruhin
89e051ff51 Ignore clicks on failed downloads.
Fixes #396.
2014-12-22 17:36:02 +01:00
Florian Bruhin
57c8dff396 Handle category being None in Qt message handler.
Fixes #397.
2014-12-22 17:33:35 +01:00
Florian Bruhin
58c991145c Revert "Use scrollRequested signal instead of paintEvent."
It seems on some pages like Twitter or blog.fdik.org, the
QWebPage::scrollRequested signal never gets emitted, so we use this for now.

Fixes #400.
See https://bugreports.qt-project.org/browse/QTBUG-43521.

This reverts commit 03fb21c476.

Conflicts:
	qutebrowser/browser/webview.py
2014-12-22 17:20:43 +01:00
Florian Bruhin
2d1c12f69b Turn off flake8 for exception hook. 2014-12-21 18:11:35 +01:00
Florian Bruhin
877d814815 Clean up _get_window_registry. 2014-12-21 14:13:40 +01:00
Florian Bruhin
42890b8a7f Force tabs to be focused on :undo.
Closes #394.
2014-12-21 13:06:24 +01:00
Florian Bruhin
ef9ddb2d5f Encode Content-Disposition header name properly.
PyQt <= 5.3 accepted a Python string containing only latin1 chars as argument
for a QByteArray. This is deprecated in 5.4 and will be removed in 5.5 so we
should encode it by hand here.
2014-12-18 23:24:50 +01:00
Florian Bruhin
05e835684d Fix item sorting in NeighborList.
See #361.
2014-12-18 23:20:38 +01:00
Florian Bruhin
07957b105d Handle data being None in download read timer.
Fixes #307.
2014-12-18 23:09:33 +01:00
Florian Bruhin
5c15f56213 Stop download read timer when reply has finished.
See #307.
2014-12-18 23:08:19 +01:00
Florian Bruhin
29ce0a5157 Fix handling of small/big fuzzyval's in NeighborList.
This fixes an exception when having a really big or small zoom (e.g. 0) and
then using +/-.

Fixes #361.
2014-12-18 23:04:43 +01:00
Florian Bruhin
410d78cfa2 Add missing configexc.py file.
I forgot to add this in 512d7c4448b0610bc133d83d8280a94469841968...
2014-12-17 13:49:50 +01:00
Florian Bruhin
3cc1134e82 Fix AttributeError on HTTP/proxy authentications.
This is a regression introduced in cafb487ac9.

Fixes #355.
See #333.
2014-12-17 13:40:15 +01:00
Florian Bruhin
a714f0b70c config: Set self._initialized before validating.
With a setting with an interpolation this caused a ValueError because
validate_all called get before self._initialized was True.
2014-12-17 13:40:15 +01:00
Florian Bruhin
512d7c4448 Simplify config exception tree and handling.
Also make sure we catch all config-related errors in all related places.
Fixes #324.
2014-12-17 11:17:18 +01:00
Florian Bruhin
655ab31d48 Add a network -> proxy-dns-requests option.
Closes #330.
2014-12-16 23:27:55 +01:00
Florian Bruhin
cafb487ac9 Abort questions in NetworkManager on destroyed.
Hopefully fixes #333.
2014-12-16 17:22:01 +01:00
Florian Bruhin
676313e7ae Fix indent. 2014-12-16 15:09:47 +01:00
Florian Bruhin
05e6515aad Allow min-/maximizing of print preview on Windows.
Fixes #327.
2014-12-16 15:08:28 +01:00
Florian Bruhin
965a1256a3 Add "Remove finished" to the download context menu
Closes #344.
2014-12-16 14:30:47 +01:00
Florian Bruhin
ed013ac3cf Simplify generating of download context menu. 2014-12-16 14:10:25 +01:00
Florian Bruhin
e0271eff34 Open and remove clicked downloads.
Fixes #343.
2014-12-16 14:02:01 +01:00
Florian Bruhin
888a17b7c3 Fix height calculation of download view. 2014-12-16 13:53:54 +01:00
Florian Bruhin
b899d8b44d Always auto-remove adblock downloads when done.
Fixes #342.
2014-12-16 13:44:09 +01:00
Florian Bruhin
efd632ea73 Preserve arguments when re-splitting with aliases.
Fixes #339.
2014-12-15 23:06:42 +01:00
Florian Bruhin
512e51eeb4 Fix type annotation for :zoom. Fixes #332. 2014-12-15 22:59:45 +01:00
Florian Bruhin
0d9c7049b6 Clean up ConfigManager._from_cp. 2014-12-15 22:25:06 +01:00
Florian Bruhin
3c68506665 Fix sect/opt in config validation error message.
This is a regression introduced in 0c1420112c.
See #202.
2014-12-15 22:08:33 +01:00
Florian Bruhin
1d2016d3a5 Add some tests for config loading.
This would have prevented the issue in
e87b3fd568.
2014-12-15 22:06:11 +01:00
Florian Bruhin
d84c4fab84 Remove old comment. 2014-12-15 21:49:48 +01:00
Florian Bruhin
b7dcf34e67 Release v0.1 2014-12-14 20:46:32 +01:00
Florian Bruhin
e87b3fd568 Fix loading of renamed config sections. 2014-12-14 20:46:32 +01:00
Florian Bruhin
ba9bb0e418 Fix updating of scroll position with gg/G/etc. 2014-12-14 16:44:18 +01:00
Florian Bruhin
b7dc2e1bc6 Allow non-ASCII chars in keychains. Fixes #303. 2014-12-13 21:03:33 +01:00
Florian Bruhin
06ec1a3885 Big file tree reorganisation.
Closes #255.
Should make a lot more sense now ;)
2014-12-13 17:28:50 +01:00
Florian Bruhin
67001665a2 Cleanups in hint.py. 2014-12-13 00:30:35 +01:00
Johannes Altmanninger
d0bed460eb Hints: Use the src html attribute in addition to href in _resolve_url.
See issue #286
2014-12-12 18:40:12 +01:00
Johannes Altmanninger
582e3e57e9 Add hint target 'run' to execute a command based on a hint URL.
Fixes Issue #285.
The command is not preceded by a colon because there is no need to
distinguish between a search and a command.
2014-12-12 18:17:58 +01:00
Florian Bruhin
eceda53b3a Fix split tests. 2014-12-12 17:45:59 +01:00
Florian Bruhin
fc0428ef5f Fix ws stripping with simple_split and no flags.
Fixes #279.
2014-12-12 17:29:01 +01:00
Florian Bruhin
841e31283c hints: Store id() of destroyed frames.
Fixes #305. #152 should still be okay.
2014-12-12 01:38:13 +01:00
Florian Bruhin
decfd02033 Use a QNAM to pastebin from crash dialog.
Fixes #280.
2014-12-11 23:34:03 +01:00
Florian Bruhin
aefa637bc5 Check if command text is valid when hinting. 2014-12-11 22:16:56 +01:00
Florian Bruhin
cba120ac76 Fix starting without config. 2014-12-11 22:08:43 +01:00
Florian Bruhin
39cd36c8cd Don't use maxsplit=0 with :spawn. 2014-12-11 21:27:44 +01:00
Florian Bruhin
8bad7c0e4c Use maxsplit=1 for :repeat and :later. 2014-12-11 21:27:44 +01:00
Florian Bruhin
451df7bbf4 Handle flags with args correctly with split=False. 2014-12-11 21:17:43 +01:00
Florian Bruhin
3579caf1ff Make mode a kwarg-only argument for :bind. 2014-12-11 21:17:22 +01:00
Florian Bruhin
1d6661f90b Set maxsplit=0 for :set-cmd-text.
See #233.
2014-12-11 20:35:04 +01:00
Florian Bruhin
db4ca495f2 Use maxsplit=1 for :bind.
See #233.
2014-12-11 20:34:38 +01:00
Florian Bruhin
b7ea8e7979 Support a maxsplit argument for commands. 2014-12-11 20:32:52 +01:00
Florian Bruhin
81bc5dae94 Remove quotes with split=False commands.
Fixes #313.
2014-12-11 20:04:29 +01:00
Florian Bruhin
8c4c465c91 Fix completion update when the length is unchanged.
Fixes #312.
2014-12-11 18:37:22 +01:00
Florian Bruhin
4e6cedb1f7 Don't treat page load as failed with blocked hosts.
Fixes #315.
2014-12-11 18:05:01 +01:00
Florian Bruhin
5eeb89ec86 Add a :quickmark-del command. 2014-12-10 23:30:04 +01:00
Florian Bruhin
d0b5f2087a Fix un-hiding of hints. 2014-12-10 23:22:25 +01:00
Florian Bruhin
b00e00db37 Add a "retry" entry to the download menu.
Closes #38.
2014-12-10 21:56:57 +01:00
Florian Bruhin
9553bd44c1 Add an open menu entry to downloads.
See #39.
2014-12-10 20:48:19 +01:00
Florian Bruhin
0ecf8661eb Create inexistent paths in standardpath.get.
See #25.
2014-12-10 18:05:42 +01:00
Florian Bruhin
ec07e4f8be Handle OSError exceptions where appropriate.
Fixes #25.
2014-12-10 18:00:49 +01:00
Florian Bruhin
ea76bdfb0f Replace all IOError by OSErrors.
Starting with Python 3.3, IOError is just an alias for OSError.
2014-12-10 16:48:23 +01:00
Florian Bruhin
206b5f548e Fix checking for errors when a page is loaded.
Because of the error page, we got loadFinished with ok=True even with errors.

Fixes #84.
2014-12-10 16:38:24 +01:00
Florian Bruhin
06cc982ab5 Dynamically calculate needed size for command.
Closes #26.
2014-12-10 15:35:13 +01:00
Florian Bruhin
db2d4a6bed tabwidget: Add text padding in minimumTabSizeHint.
See #283.
2014-12-10 14:45:00 +01:00
Florian Bruhin
ef12bde654 tabwidget: Fix ...-width in minimumTabSizeHint.
See #283.
2014-12-10 14:44:28 +01:00
Florian Bruhin
92b9dc08f4 tabwidget: Clean up and fix minimumTabSizeHint.
See #283.

The width now accounts for the indicator, and the wrong docstring has been
removed.
2014-12-10 14:29:14 +01:00
Florian Bruhin
bac30b9192 Set a minimum height for the statusbar widget.
Fixes #194.
2014-12-10 14:15:34 +01:00
Florian Bruhin
b30ca6bcb6 Don't record command history in private mode.
Fixes #43.
2014-12-10 13:19:42 +01:00
Florian Bruhin
76c5c8bf8e cookies/cache: Handle por^H^Hrivate browsing mode.
See #43.
2014-12-10 13:12:53 +01:00
Florian Bruhin
0b82fdb4d8 Fix text/newline handling with QSaveFile.
Fixes #309.

We use io.TextIOWrapper which already handles newline converting, so we
shouldn't open the QSaveFile with QIODevice.Text in the mode, as this lead to
double-converting newlines, which in turn produced this error message on
Windows.
2014-12-10 10:58:55 +01:00
Florian Bruhin
7e95401f02 Check if download reply is None when closing tab.
Fixes #311.
2014-12-09 17:37:57 +01:00
Florian Bruhin
bf24578dfd Use QSaveFile for saving files. Fixes #234. 2014-12-08 23:42:26 +01:00
Florian Bruhin
d611a37d7d Fix statusbar with nested passthrough modes.
Fixes #87.
2014-12-08 20:18:55 +01:00
Florian Bruhin
1d7f704804 Fix comment typo. 2014-12-08 20:06:40 +01:00
Florian Bruhin
2b41c13e8b Fix lint 2014-12-08 18:52:20 +01:00
Florian Bruhin
0c1420112c Fix config interpolation with non-default values.
Fixes #202.
2014-12-08 18:50:53 +01:00
Florian Bruhin
175d01f516 config: Don't escape <eq> specially anymore. 2014-12-08 18:16:21 +01:00
Florian Bruhin
4ab4ac3db6 downloads: Make sure read timer is stopped.
Hopefully fixes #307.
2014-12-08 16:16:03 +01:00
Florian Bruhin
07fed5a401 Don't nest function calls in on_read_timer_timeout.
This would have made it easier to diagnose #307.
2014-12-08 16:07:50 +01:00
Florian Bruhin
edfc0e24b2 Abort running questions when closing tab.
Fixes #306.
2014-12-08 16:04:56 +01:00
Florian Bruhin
4829aee767 Add a --no-crash-dialog debug option. 2014-12-06 00:39:33 +01:00
Florian Bruhin
24d21bfe98 I suck. 2014-12-05 21:15:11 +01:00
Florian Bruhin
9946b4b0f6 Really disable that damn pylint check 2014-12-05 21:14:18 +01:00
Florian Bruhin
7aa01802d9 Whoops, s/ignore/disable/ 2014-12-05 21:08:15 +01:00
Florian Bruhin
c80f83671f pylint: ignore pypeg2 import error 2014-12-05 21:03:23 +01:00
Florian Bruhin
98a384c167 Properly ignore distutils-bug in qtutils. 2014-12-05 12:56:32 +01:00
Florian Bruhin
653fbe81d0 pylint: Ignore distutils ImportError.
See https://bitbucket.org/logilab/pylint/issue/73/
2014-12-05 12:46:57 +01:00
Florian Bruhin
1fb24e45ff Newline fix in adblock.py 2014-12-04 21:35:32 +01:00
Florian Bruhin
1af7112ea4 Handle ampersands in tab titles correctly.
Fixes #301.
2014-12-03 21:31:59 +01:00
Florian Bruhin
95d919b5f6 Force opening in fg when opening a JS-window.
Fixes #174.
2014-12-03 19:31:00 +01:00
Florian Bruhin
3adb97e4d2 Merge branch 'master' of ssh://tonks/qutebrowser 2014-12-02 21:28:54 +01:00
Florian Bruhin
03fb21c476 Use scrollRequested signal instead of paintEvent.
Closes #300.
2014-12-02 21:27:11 +01:00
Florian Bruhin
d94f848c82 Ignore isNullError while handling label elements.
Fixes #295 (hopefully for real this time!)
2014-12-02 21:27:06 +01:00
Florian Bruhin
99fb516aa3 Never disconnect signal from destroyed frames.
Fixes #152 - hopefully really this time!
2014-12-02 21:09:03 +01:00
Florian Bruhin
0814811e2b Change default startpage to HTTPS. 2014-12-02 16:38:57 +01:00
Florian Bruhin
66a42512c6 adblock: Convert some methods to functions. 2014-12-02 12:26:13 +01:00
Florian Bruhin
cd5f77210c Add keybinding Ss to open qute:settings.
See #13.
2014-12-01 23:11:18 +01:00
Florian Bruhin
c86b1d0508 Open qute:settings if :set is given without arguments. 2014-12-01 23:09:01 +01:00
Florian Bruhin
9fa036ecce Remove logging for #152.
This reverts a1ba05ff08.
2014-12-01 22:29:32 +01:00
Florian Bruhin
51fcfa07b0 Fix setting ui->default-zoom to a level not in ui->zoom-levels.
Fixes #296.
See #115.
2014-12-01 20:24:04 +01:00
Florian Bruhin
e8a6238028 Clean up hint labels and frames before clicking link.
Fixes #152.
Hopefully fixes #295.
2014-12-01 19:15:17 +01:00
Florian Bruhin
cb67198f7d Fix download redirections and :adblock-update.
We called init_reply again which started read_timer even if the file object was
already set.

Fixes #294.
2014-12-01 07:40:36 +01:00
Florian Bruhin
316d5ff189 Check if replies are open in downloads. 2014-12-01 07:35:57 +01:00
Florian Bruhin
f22c00c64d Move MAX_REDIRECTS attribute back to DownloadItem.
Fixes #293.
2014-12-01 06:55:15 +01:00
Florian Bruhin
fea35156bc Set parent of QNetworkReplies in NetworkManager.
Closes #258.
2014-11-30 22:38:12 +01:00
Florian Bruhin
64e43c6e14 Ignore IPC in exception handler. Closes #262. 2014-11-30 22:30:26 +01:00
Florian Bruhin
d558155620 Simplify some config types by using valid_values. 2014-11-30 22:16:55 +01:00
Florian Bruhin
1ceb8ac74d Add an ssl-strict=ask option. Closes #16. 2014-11-30 21:57:37 +01:00
Florian Bruhin
e3dfaa6a4b Send cwd over IPC. Fixes #254. 2014-11-30 19:22:35 +01:00
Florian Bruhin
9327c2a9ae Remove trailing spaces in simple_split with keep=False.
Fixes #279.
2014-11-30 18:59:51 +01:00
Florian Bruhin
9d28c59a28 Fix downloading of qute:log. Closes #81. 2014-11-30 18:47:41 +01:00
Florian Bruhin
d54f06ea91 Reparent a page's QNAM if there are running downloads.
Fixes #289.
2014-11-30 18:47:40 +01:00
Florian Bruhin
6d419b8346 Avoid starting downloads before we know the filename.
Closes #278.
2014-11-30 18:47:40 +01:00
Florian Bruhin
302fcec3ed Merge branch 'master' of ssh://tonks/qutebrowser 2014-11-30 17:30:27 +01:00
Florian Bruhin
25a665e601 Abort download question on errors. Fixes #266. 2014-11-30 15:34:15 +01:00
Florian Bruhin
a00dd7b679 Slowly download while the user is entering a filename.
Closes #79.
Closes #270.
2014-11-30 15:30:15 +01:00
Florian Bruhin
60ef39b4d0 fixup 2014-11-30 15:30:15 +01:00
Florian Bruhin
ee0cb00428 First download cleanup. 2014-11-30 15:30:14 +01:00
Florian Bruhin
d32096495d Apply default zoom correctly.
Fixes #287.
2014-11-28 17:01:29 +01:00
Mathias Fussenegger
aeb6ceb942 correct search engine regex to match multiple search terms 2014-11-27 22:59:43 +01:00
Florian Bruhin
f6dffa74b6 Fix lint 2014-11-27 22:27:13 +01:00
Florian Bruhin
9bd8d3f2e5 Merge branch 'search-engine-syntax' of https://github.com/mfussenegger/qutebrowser into mfussenegger-search-engine-syntax 2014-11-27 22:19:07 +01:00
Mathias Fussenegger
68398035ef change search engine syntax to match that of dwb
as pointed out in
https://github.com/The-Compiler/qutebrowser/issues/14 this
commit changes the syntax so that DuckDuckGo bang syntax
works.
2014-11-27 21:57:51 +01:00
Florian Bruhin
68b9aaace4 Add utils.raises. Closes #274. 2014-11-27 20:44:48 +01:00
Florian Bruhin
c87fa34544 Use a QTime in widgets.statusbar.bar. Fixes #124. 2014-11-27 20:09:58 +01:00
Florian Bruhin
cb1df68153 Automatic config migration for renamed sections/options. 2014-11-27 07:07:28 +01:00
Florian Bruhin
bdbe284a56 Fix tabbar updating when changing fg colors. 2014-11-26 21:21:02 +01:00
Florian Bruhin
d34aefcfee Another round of config breakage (sorry!).
- Rename colors->tab.* to colors->tabs.*
- Rename permission section to content.
2014-11-26 21:16:27 +01:00
Florian Bruhin
e8966ec7bb Remove some shlex vdebug. 2014-11-26 21:02:20 +01:00
Florian Bruhin
cbac8bb330 Fix lint 2014-11-25 23:24:52 +01:00
Florian Bruhin
7e879c9312 Don't add javascript-bridge only once.
Otherwise, qute:settings will break when reloading it.
2014-11-25 23:21:49 +01:00
Florian Bruhin
e85e11310d Merge branch 'master' of https://github.com/iggy/qutebrowser into iggy-master 2014-11-25 23:03:09 +01:00
Brian Jackson
9cfb4b3431 Fix problem with qutesettings scope in pages
Fix to make sure the js bridge code is only enabled when qute: pages are shown.
Previously it would only be available to the first page (and before that it
was available to all pages).
2014-11-25 14:29:20 -06:00
Florian Bruhin
010efcee93 Don't treat floats as IPs either. 2014-11-25 21:19:24 +01:00
Florian Bruhin
683a306c51 Fix @log_signals with deleted objects. 2014-11-25 19:51:53 +01:00
Brian Jackson
4fd4376c6a Pass around win_id so we can use it in the error message handler
The message class needs a win_id to know where to send error messages. Just
pass it through the jinja->js->qtwebbridge as it's just a simple int.
2014-11-25 11:19:00 -06:00
Brian Jackson
bf37d16896 View/edit browser config in a special browser page
Add the ability to view/edit the browser's config settings via a special
browser page.

It's very simplistic for now, but a good starting point.

Future possibilities:
* Matching config types to html input types
  * colors = html colorpicker
  * options with valid_values = select/multi-select
  * plain text fallbacks where appropriate
  * multi-line text edits for long options (i.e. host-block-lists)

* Javascript option verification
  * switch from submitting changes onblur to onchange if an option passes basic
    verification, etc.
2014-11-25 10:34:06 -06:00
Florian Bruhin
6973050ccc Don't treat any valid int as IP 2014-11-24 21:49:48 +01:00
Florian Bruhin
7be32dd70c Don't handle hexadecimal numbers as IP addresses.
Fixes #269.
2014-11-24 21:47:22 +01:00
Florian Bruhin
186f292586 Remove unused import 2014-11-24 21:07:03 +01:00