Commit Graph

6683 Commits

Author SHA1 Message Date
Florian Bruhin
bb46c01c50 Clear search text before closing QtWebEngine tab
See https://bugreports.qt.io/browse/QTBUG-58563 and #2261
2017-02-01 09:30:53 +01:00
Florian Bruhin
90f472bf59 Temporary fix for Qt 5.8 segfaults
See #2261
2017-01-29 22:56:53 +01:00
Florian Bruhin
95aeb86328 Update pdfjs version parsing
Fixes #2254
2017-01-27 09:19:10 +01:00
Florian Bruhin
2a773a2c55 Enable WebGL by default 2017-01-24 23:55:12 +01:00
Jan Verbeek
9845cbbd81 Remove mailto: scheme properly 2017-01-21 23:19:15 +01:00
Jan Verbeek
2700739a3a Strip mailto: when yanking a hint
Resolves #61.
2017-01-21 14:43:50 +01:00
Jan Verbeek
bd3c2f92fc Blacklist some modes for :enter-mode
This disallows using :enter-mode with modes that don't work properly
when entered that way. Fixes #1137.
2017-01-20 19:32:16 +01:00
Jan Verbeek
7e7cac2d48 Ignore non-register keys
Ignore all keys with an empty .text() return value, not just modifier
keys. You can still use unusual things like ß for registers, but
XF86WakeUp is out. Fixes #2125.
2017-01-20 17:34:33 +01:00
Florian Bruhin
b47f90d24f Really fix Python 3.6 deprecation warnings
Before, the module regexes didn't actually work properly, but we thought the
warnings were gone as they only were shown once because of __pycache__.

Now we instead don't filter by module, but simply hide those messages globally
during the earlyinit dependency import (which is the first import).
2017-01-18 08:40:57 +01:00
Cosmin Popescu
80372eb3f2 stop using the commands handler 2017-01-13 18:57:55 +01:00
Florian Bruhin
04dddc2475 Fix backslash escape 2017-01-13 18:25:34 +01:00
Florian Bruhin
73f371a956 Release v0.9.1 2017-01-13 18:10:03 +01:00
Florian Bruhin
cc4a8e53df Prevent using %2F as slash in a Content-Disposition header 2017-01-13 18:04:04 +01:00
Florian Bruhin
2d364f43cf Ignore Python 3.6 warnings in dependencies 2017-01-08 22:38:54 +01:00
Florian Bruhin
61e598552e eslint: Turn off prefer-destructuring 2017-01-08 15:36:51 +01:00
Florian Bruhin
420897eaf1 Merge branch 'clear-keychain' of https://github.com/kevinwang/qutebrowser into kevinwang-clear-keychain 2017-01-07 21:29:29 +01:00
Florian Bruhin
16c8c1b189 Document how webelem.js works 2017-01-07 12:21:22 +01:00
Kevin Wang
3a1ecad1f3 Clear keychain on <Ctrl-[> in addition to <Escape>. 2017-01-07 00:45:06 -05:00
Daniel Schadt
bd5274af5a fix tests 2017-01-04 17:59:53 +01:00
Daniel Schadt
69001111da actually use DownloadTarget for :download -m /path 2017-01-04 16:32:25 +01:00
Daniel Schadt
6497bb5ace break cicular imports in utils 2017-01-04 16:04:06 +01:00
Daniel Schadt
4fdd3cd761 deduplicate download opening code 2017-01-04 15:31:47 +01:00
Daniel Schadt
8c5ad7d46d use download prompt for mhtml downloads
Fixes #2204

We didn't previously use PromptMode.download for MHTML download prompts
to avoid dealing with thinks like "Open download", but the new download
prompt is just way better than the old, which justifies the extra work.

This means that MHTML downloads can now also be opened directly.
2017-01-04 15:18:56 +01:00
Nikolay Amiantov
19966a9b9f proxy_from_url: fix PACFetcher construction 2017-01-03 13:47:13 +03:00
Florian Bruhin
f4081c8b87 Fix error position when the statusbar is invisible 2016-12-29 20:35:10 +01:00
Florian Bruhin
643cf3f578 Fix various small mouse scrolling issues 2016-12-29 00:38:52 +01:00
Florian Bruhin
ce71b59894 Merge branch 'horizontal-scroll' of https://github.com/fiete201/qutebrowser into fiete201-horizontal-scroll 2016-12-29 00:34:26 +01:00
Fritz Reichwald
f25c5dedd6 First try for horizontal scrolling with mouse 2016-12-29 00:21:42 +01:00
Florian Bruhin
9837c9f70b Release v0.9.0 2016-12-28 23:47:59 +01:00
Florian Bruhin
6d9362028f Merge branch 'jinja-error' of https://github.com/fiete201/qutebrowser into fiete201-jinja-error 2016-12-28 23:31:04 +01:00
Florian Bruhin
864b9870a5 Also catch UnicodeDecodeError on Windows 2016-12-28 23:03:37 +01:00
Florian Bruhin
9727d6c74f Improve error output 2016-12-28 23:03:30 +01:00
Fritz Reichwald
ae736da5f7 Fix lint 2016-12-28 22:51:20 +01:00
Fritz Reichwald
8c3d461482 Fix test for logging 2016-12-28 22:35:03 +01:00
Fritz Reichwald
421fc7eca3 Remove icon from html_fallback 2016-12-28 22:23:05 +01:00
Fritz Reichwald
0bd3100de8 Fix test_not_found 2016-12-28 22:11:34 +01:00
Fritz Reichwald
f38dda5f16 Fix html_fallback and logged error message 2016-12-28 02:23:35 +01:00
Fritz Reichwald
eb03f79978 Add error handling for UnicodeDecodeError 2016-12-27 22:51:30 +01:00
Fritz Reichwald
07143dd433 Add html escape proper quotes and log call 2016-12-27 20:31:57 +01:00
Fritz Reichwald
004b0dc911 Add fallback for missing error.html 2016-12-27 17:54:06 +01:00
Florian Bruhin
2d1d078430 Merge branch 'issue-2173' of https://github.com/Kingdread/qutebrowser into Kingdread-issue-2173 2016-12-22 22:24:19 +01:00
Florian Bruhin
71404a87b9 Fix lint 2016-12-22 15:14:35 +01:00
Florian Bruhin
89fe725a85 Add __init__.py 2016-12-22 14:26:35 +01:00
Florian Bruhin
6c1b7dcca1 Move proxy/pac out of QtWebKit folder 2016-12-22 13:54:11 +01:00
Florian Bruhin
b220b5438f Add urlutils.proxy_for_url 2016-12-22 13:51:27 +01:00
Florian Bruhin
5a89ee96d9 Merge branch 'pac' of https://github.com/abbradar/qutebrowser into abbradar-pac 2016-12-22 08:53:10 +01:00
Daniel Schadt
f92c82ead1 downloads: don't remember dir for temp downloads
Fixes #2173
2016-12-20 14:52:39 +01:00
Samuel Walladge
aafcd1f1d7
fix failing pylint test (line too long) 2016-12-17 09:22:22 +10:30
Samuel Walladge
f6c73f3ad6
implement optional download-open handler setting
- adds new `general` -> `default-open-dispatcher` setting (string)
- if set, will be used instead of QDesktopServices.openUrl (xdg-open backend)
- fixes the 'download handlers' part of issue #841
- note that this is only relevent to the `:download-open` command and other
  methods of opening downloaded files from qutebrowser
2016-12-16 21:54:04 +10:30
Florian Bruhin
f0831dacae Bind back/forward keys by default
Those are the XF86Back/Forward media keys on a keyboard, which are apparently
handled by default with QtWebKit, but not QtWebEngine.

Fixes #2166.
2016-12-13 21:49:10 +00:00
Florian Bruhin
d0372f1730 Decode percent sequences in QtWebEngine downloads
Fixes #2122.
2016-12-09 07:08:51 +01:00
Florian Bruhin
03eea7f62a Remove download filename suffixes with QtWebEngine 2016-12-09 07:00:25 +01:00
Florian Bruhin
5b70df15fa Revert "Enable HighDPI scaling"
This reverts commit 62bcd24c9a.
Looks like this causes issues for various people...
2016-12-08 21:23:56 +01:00
Florian Bruhin
976cd5f881 Fix lint 2016-12-08 10:31:52 +01:00
Florian Bruhin
62bcd24c9a Enable HighDPI scaling
This should scale up things automatically, without needing to set e.g.
default-zoom (at least with QtWebEngine).

See #1993, #1585
2016-12-08 09:45:46 +01:00
Florian Bruhin
c7d4ea5247 Ignore connection failures for debug.log_signals 2016-12-08 07:15:59 +01:00
Florian Bruhin
70b0a86729 WebEngine: Save/restore zoom when opening a new page
This isn't very pleasurable, but I can't find a solution to set the zoom
correctly while the page is still loading.

See https://bugreports.qt.io/browse/QTBUG-51851
Fixes #1993
2016-12-08 07:06:11 +01:00
Florian Bruhin
e5ddb281f4 Add a ui -> prompt-filebrowser option
See #2104
2016-12-07 12:33:44 +01:00
Florian Bruhin
57adcea587 Fix QTBUG-54419 workaround with tabs-are-windows set
Fixes #2162
2016-12-07 07:01:06 +01:00
Nikolay Amiantov
a7d96e0b85 Ignore ESLint warnings for Mozilla's PAC utils 2016-12-07 02:01:19 +03:00
Nikolay Amiantov
87890dab20 Add PAC files support 2016-12-07 02:01:19 +03:00
Florian Bruhin
d709756eb1 Add AbstractZoom._set_factor_internal 2016-12-06 22:50:08 +01:00
Florian Bruhin
caf1950868 Set the default zoom initially with QtWebEngine
This solves a part of #1993, however when the user navigates to a
different page, the zoom is reset.
2016-12-06 20:28:18 +01:00
Nikolay Amiantov
271cb4b001 Add network logger 2016-12-06 18:16:25 +03:00
Florian Bruhin
df5ce12ed8 Make it possible to cancel authentication with QtWebEngine
Fixes #2156
2016-12-06 07:45:03 +01:00
Florian Bruhin
717fc97f05 Make tab.set_html work without base_url 2016-12-06 07:16:41 +01:00
Florian Bruhin
0ab23a74fb Allow --qt-arg and --qt-flag to be given multiple times
Fixes #2151
2016-12-06 06:47:42 +01:00
Florian Bruhin
61ada6ba32 Merge branch 'tab-move' of https://github.com/Raihid/qutebrowser into Raihid-tab-move 2016-12-01 13:25:03 +01:00
Florian Bruhin
d668a1b6d6 Merge branch 'master' of https://github.com/Raihid/qutebrowser into Raihid-master 2016-12-01 13:23:01 +01:00
Maciej Wołczyk
63808fdb98 Removed handling of tab's position and color since it's done by QTabBar 2016-12-01 00:44:07 +01:00
Maciej Wołczyk
2fca442892 Fixed TabbedBrowserStub's tabBar, no longer toggling updates while moving tabs 2016-11-30 15:23:35 +01:00
Maciej Wołczyk
e613d01263 Fixed problems with tab completion after moving tabs (#2141) 2016-11-30 14:17:20 +01:00
Maciej Wołczyk
2cbea50152 Fixed style issues, corrected unit test 2016-11-29 19:10:36 +01:00
Florian Bruhin
9f5f362533 Don't crash if we can't get an element's value for editing
Fixes #2150
2016-11-29 11:31:03 +01:00
Florian Bruhin
5f22affa36 Show longer debug string for elems got from JS
See #2150
2016-11-29 11:16:04 +01:00
Florian Bruhin
6340eee448 Handle invalid text layout when drawing tab 2016-11-29 09:33:27 +01:00
Maciej Wołczyk
729cc61152 Fixed mhtml quopri encoding with spaces and tabs (see: #2063) 2016-11-29 04:03:35 +01:00
Daniel Karbach
38ca583084 new default keybinds 2016-11-28 10:57:16 +01:00
Florian Bruhin
59d16efbef Don't set title from URL twice
browsertab already does that before emitting url_changed.
2016-11-26 13:35:49 +01:00
Florian Bruhin
c83c9d96ae Small cleanup 2016-11-26 13:33:38 +01:00
Florian Bruhin
c17bbd47b8 Fix QTBUG-54419 workaround for invalid URLs 2016-11-26 13:32:37 +01:00
Florian Bruhin
73c608dce7 Allow :open without URL with -t/-b/-w 2016-11-26 12:17:23 +01:00
Florian Bruhin
ea44c6d4b9 eslint: Turn off capitalized-comments 2016-11-26 11:48:57 +01:00
Florian Bruhin
64b47fc3a2 Handle an invalid $XDG_RUNTIME_DIR gracefully
This is probably against the XDG basedir spec, but some people have a
Linux without anything setting $XDG_RUNTIME_DIR correctly.

Fixes #971.
2016-11-24 10:14:02 +01:00
Florian Bruhin
3d140a1353 Get rid of --cycle for :set with multiple values
See https://github.com/The-Compiler/qutebrowser/pull/1840#issuecomment-258714784
2016-11-24 07:23:49 +01:00
Niklas Haas
1b5664b72f Add --cycle flag to :set
Chooses the next value from the provided list of values (string-wise
comparison). Technically, the 'option!' syntax for toggling bools is now
redundant, but a translation from 'option!' to '--cycle option false
true' is kept for backwards compatibility.

The '--cycle' flag could also be technically optionally, since the only
thing that depends on it is preserving the error message for specifying
multiple values. (But I think it's best to keep it explicit, as a
principle-of-least-surprise thing)

Note: The business logic of picking the next value and setting it was
moved out to a separate function to avoid tripping pylint's
too-many-branches detector.

Fixes #47
2016-11-24 07:22:06 +01:00
Florian Bruhin
c57ad91e04 Update comment for ignored Qt warning 2016-11-24 06:43:33 +01:00
thuck
8d4b55bb80 Fix comments and change self.pinned to self.pinned_count 2016-11-23 22:18:55 +01:00
Florian Bruhin
cc8db65b18 Merge branch 'cancel-register-key' of https://github.com/blyxxyz/qutebrowser into blyxxyz-cancel-register-key 2016-11-23 12:53:50 +01:00
Florian Bruhin
a3482a8979 Lowercase special keys when checking if they're new
Between v0.8.4 and now, the default keybinding for Ctrl-PgDown changed:

    - ('tab-focus', ['J', '<Ctrl-PgDown>']),
    + ('tab-next', ['J', '<Ctrl-PgDown>']),

The existing keybinding was lower-cased in the config, but _is_new
didn't lowercase the new one, causing a conflict to show up.

Fixes #1835
See #1958
Supersedes #1986
2016-11-23 12:37:19 +01:00
Florian Bruhin
552e0551af Revert zero counts
This initially seemed like a nice feature, but it means 0 can't be bound
as a separate key anymore, and 0<Esc> gives weird error messages...

Reverts #1953.
Fixes #2032.
2016-11-23 08:37:29 +01:00
Florian Bruhin
1507cfcae7 Fix lint 2016-11-23 08:37:24 +01:00
thuck
e9c79e9be3 Fix for comments on configdata 2016-11-23 08:18:10 +01:00
Florian Bruhin
946e3f93f9 Add --enable-webengine-inspector option
Since the inspector can be a security risk, it's now not linked to
developer-extras anymore until QtWebEngine provides a better way to
access it.

See:

https://bugreports.qt.io/browse/QTBUG-50725
http://bouk.co/blog/hacking-developers/
2016-11-23 08:12:13 +01:00
thuck
9dff4299e8 flake8 fixes 2016-11-23 08:10:13 +01:00
thuck
92e1181680 Included --force option for tab-close
This makes possible to close pinned tabs without
any confirmation.
2016-11-23 08:10:13 +01:00
thuck
b920de764f Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-23 08:10:11 +01:00
Florian Bruhin
d99a7bd7ad Pass arguments to websettings init functions 2016-11-23 07:57:35 +01:00
Florian Bruhin
7ffabb2b92 Update docs 2016-11-22 22:22:24 +01:00
Florian Bruhin
f0cc1de808 Merge branch 'master' of https://github.com/Raihid/qutebrowser into Raihid-master 2016-11-22 20:32:59 +01:00
Maciej Wołczyk
81cbd4c8a0 Hyphen in variable name fixed 2016-11-22 17:39:13 +01:00
Maciej Wołczyk
9d19c3aee6 Changed add to history option name 2016-11-22 17:27:34 +01:00
Florian Bruhin
20af3133eb Simplify if-condition 2016-11-22 11:24:34 +01:00
Florian Bruhin
97d23144f7 Add an API to get the QNAM of a tab 2016-11-22 11:23:45 +01:00
Florian Bruhin
c363982d05 Use per-tab QNAM for QtNetwork downloads again
When starting a download due to unsupportedContent being emitted, we
need to use (and later adopt) the page's QNetworkAccessManager.

Since we need the whole adopting logic for that case anyways, let's keep
things as they were and always run downloads in per-tab QNAMs.

This reverts 53e360ec4b and fixes #2134.
2016-11-22 11:10:37 +01:00
Maciej Wołczyk
918b3e2d12 History flag: test added, short version changed, minor fixes 2016-11-21 15:33:38 +01:00
Florian Bruhin
c5cacbc439 Handle background tabs in QtWebEngine createWindow with older Qt 2016-11-21 06:22:38 +01:00
Rahid
058c3e6541 Trailing spaces 2016-11-18 23:45:12 +01:00
Rahid
bf41135846 Added chronicle flag to init function, docs 2016-11-18 23:10:50 +01:00
Maciej Wołczyk
554b9b2bda Added chronicle flag 2016-11-18 20:16:43 +01:00
Florian Bruhin
d1154759d1 Improve --qt-arg docs 2016-11-16 22:35:20 +01:00
Florian Bruhin
8d7fcf41da Set a maximum width for prompts
Fixes #2124
2016-11-16 22:26:16 +01:00
Florian Bruhin
7c88fe318f Handle cancelled SSL prompts correctly
When the user pressed esc during an SSL prompt, the message.ask call
returned None, which was handled fine by QtWebKit (which simply used an
'if') but failed with QtWebEngine (which returned the value to Qt).

Fixes #2123.
2016-11-16 22:13:57 +01:00
Florian Bruhin
25358bb5fc Clean up webelem.text/set_text
webelem.text() was only used without use_js=True from webelem.__str__.
Now we instead default to the use_js=True behavior and renamed the
method from text() to value().

The old behavior is instead directly implemented in __str__.

This changes how webelem.value (aka text) handles elements for which
is_content_editable() returns True, but I haven't found any cases where
this makes a difference.

This also fixes getting existing text from elements with QtWebEngine,
which closes #1957.
2016-11-16 12:34:27 +01:00
Florian Bruhin
35d9514456 Whoops...
Dang, spacemacs!
2016-11-16 07:50:47 +01:00
Florian Bruhin
e9a8201aa1 cxfreeze requirements: Blacklist >= 5.0.0
See #1004
2016-11-16 07:48:37 +01:00
Florian Bruhin
3638849257 Fix lint 2016-11-15 23:41:53 +01:00
Florian Bruhin
7d8ef9fccf Remove urlutils import 2016-11-15 23:25:14 +01:00
Florian Bruhin
8e0565b79a Add {backend} window/tab title field 2016-11-15 23:23:20 +01:00
Florian Bruhin
d7d270ea28 Implement user stylesheets for QtWebEngine 2016-11-15 23:17:27 +01:00
Florian Bruhin
fcb955458c Require a filename for user-stylesheet; add hide-scrollbar setting 2016-11-15 22:58:56 +01:00
Florian Bruhin
964ddb472b Add urlutils.data_url 2016-11-15 22:25:51 +01:00
Florian Bruhin
a09a565aea Improve :click-element error message 2016-11-15 19:43:03 +01:00
Florian Bruhin
d05918ac0b Add custom user-agent support for QtWebEngine 2016-11-15 11:32:05 +01:00
Florian Bruhin
8d173e1718 Update comment 2016-11-15 10:55:12 +01:00
Florian Bruhin
fc7961ae22 Set correct paths for QtWebEngine 2016-11-15 10:51:14 +01:00
Florian Bruhin
ed10cd14d6 Remove history NUL byte logging
It just produces a lot of logging noise, and I still have no idea what
to do about it...
2016-11-15 07:28:35 +01:00
Florian Bruhin
a38e6be52a Fix standarddir._from_args 2016-11-15 07:26:10 +01:00
Florian Bruhin
671ce67be5 Remove --datadir/--confdir/--cachedir
Closes #2115.
2016-11-15 07:09:46 +01:00
Florian Bruhin
d04534dc33 Reenable @qtwebengine_createWindow tests
Closes #2121
2016-11-15 07:03:13 +01:00
Jan Verbeek
fc79349af6 Remove misplaced blank line 2016-11-15 00:30:54 +01:00
Jan Verbeek
f0d215e07a Change hard-coded escape to leave-mode binding 2016-11-14 23:28:38 +01:00
Florian Bruhin
81d67f8a2c Remove support for an empty data/config/cachedir
See #2115
2016-11-14 23:13:21 +01:00
Florian Bruhin
b30d37e3e0 WebEngine: Fake keypresses with modifiers instead of override_target
With QtWebEngine, handling a click (e.g. createWindow being called)
happens some time after a click event has been handled.

When setting override_target, that means we don't know when to set the
override target back, and we can't simply only unset it in createWindow
as elements not causing a new tab to be opened (like an input field) can
be hinted too.

Instead, we now only use override_target with QtWebKit, and simply
generate fake key events with the right modifiers to do the right thing
in createWindow for QtWebEngine.

Fixes #2119.
2016-11-14 23:09:16 +01:00
thuck
abe3c19646 Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-14 19:01:49 +01:00
Florian Bruhin
ba1bcc658e Fix WebEnginePage acceptNavigationRequest 2016-11-14 09:37:23 +01:00
Florian Bruhin
781a326648 Fix lint 2016-11-14 09:14:57 +01:00
Florian Bruhin
30827c1239 Fix rapid hinting with QtWebEngine
There were actually two issues here:

- The override_target was reset too early - now
  acceptNavigationRequest/createWindow is responsible for resetting it.
- The QTBUG-54419 workaround opened any tabs in the background instead
  of preserving their position/focus.

Fixes #2086.
2016-11-14 07:14:44 +01:00
Florian Bruhin
5de07246be Handle clicks via createWindow with QtWebEngine
Before, we used the same logic for QtWebKit and QtWebEngine, where we
simply set an attribute on the tab on a mousePressEvent and then handled
opening links in acceptNavigationRequest.

However, this caused random links to pop up in new tabs (probably to
things being much more async?) on QtWebEngine, so we now handle those
cases in createWindow and only use override_target from the tab there.

Fixes #2102.
2016-11-14 06:52:33 +01:00
Florian Bruhin
650b9e465c Merge branch 'webengine-prompts' 2016-11-13 21:25:07 +01:00
thuck
6053078637 Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-13 14:16:05 +01:00
Florian Bruhin
02257694c4 Fix indent 2016-11-13 12:43:20 +01:00
thuck
e1012501ec Issue only happens when using webengine
Check if using webengine, before trying to use thw workaround
2016-11-13 12:10:03 +01:00
thuck
0eab91ac4c Fix for webengine too 2016-11-13 11:56:21 +01:00
thuck
56ee7d63b3 Should fix the issue #2117 2016-11-13 09:50:54 +01:00
thuck
a8ccfe050d Remove unecessary empty line 2016-11-13 08:56:43 +01:00
thuck
785c03c15c Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-13 08:56:19 +01:00
Florian Bruhin
5bdd74138d Handle not being able to get elements via JS 2016-11-13 01:46:18 +01:00
Florian Bruhin
645a9aa6e1 Add a better workaround for QTBUG-54419
Whenever we open a new tab in createWindow, we now set an attribute
marking it - as soon as its URL changes the first time, we then close
and re-open it in a new tab in TabbedBrowser.
2016-11-13 01:38:02 +01:00
thuck
9eb0a85bae Some fixes for pyflake, pylint and remove useless function 2016-11-11 17:10:46 +01:00
thuck
25b69fe76a Configuration for the size of a pinned tab 2016-11-11 13:57:01 +01:00
thuck
19cc721eb1 Changed behavior on location of tab being pinned
Now when a tab is pinned it goes to the end of all pinned tabs.
Before it went to the index 1.
2016-11-11 12:05:04 +01:00
thuck
00f2b4df96 Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-11 11:07:30 +01:00
Florian Bruhin
2dd857d580 Remove FakeTypingMeta.__subclasscheck__ 2016-11-11 07:40:21 +01:00
Florian Bruhin
94e2a4dccc Make sure the tab indicator color is always available 2016-11-11 07:04:01 +01:00
Jan Verbeek
75c996c13e Cancel register key input with escape 2016-11-11 02:45:59 +01:00
Florian Bruhin
a6215be864 Get rid of NetworkManager._ask 2016-11-10 22:45:27 +01:00
Florian Bruhin
a9d48753ef Adjust docstring 2016-11-10 22:45:27 +01:00
Florian Bruhin
b270c69ea7 Improve authentication dialog with no realm 2016-11-10 22:45:27 +01:00
Florian Bruhin
29cb9279e5 Emit shutting_down signal when a WebEngineTab shuts down
Fixes #2109
2016-11-10 22:45:27 +01:00
Florian Bruhin
8d781c68c9 Fix lint 2016-11-10 22:45:27 +01:00
Florian Bruhin
013c2691d5 Fix javaScriptPrompt override for newer PyQt versions 2016-11-10 22:45:27 +01:00
Florian Bruhin
62d258190f Only support :debug-clear-ssl-errors with QtWebKit 2016-11-10 22:45:27 +01:00
Florian Bruhin
adb2ce0160 Remove MouseLock permission support
For some reason it doesn't work...
2016-11-10 22:45:27 +01:00
Florian Bruhin
bbcbb24cb5 Handle feature permissions with QtWebEngine 2016-11-10 22:45:27 +01:00
Florian Bruhin
8f55725555 Fix lint 2016-11-10 22:45:27 +01:00
Florian Bruhin
8a4ca25b8d Avoid circular import 2016-11-10 22:45:27 +01:00
Florian Bruhin
c6f83d3148 Don't show SSL error page for subresources 2016-11-10 22:45:27 +01:00
Florian Bruhin
d93bc8b26b Make prompt tests run 2016-11-10 22:45:27 +01:00
Florian Bruhin
6697d692e1 webengine: Initial SSL error support 2016-11-10 22:45:27 +01:00
Florian Bruhin
65625a9dea webengine: Initial support for authentication and javascript prompts 2016-11-10 22:45:27 +01:00
Florian Bruhin
6d72bce4b6 Remove stub call for WebEngineCaret._on_mode_(entered|left)
It doesn't really serve a purpose...
2016-11-10 22:41:41 +01:00
thuck
23628cdfbf Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-10 20:20:52 +01:00
Florian Bruhin
adcd8a7220 Fix lint 2016-11-10 08:53:44 +01:00
Florian Bruhin
bddda6b778 Use a data: URL for the broken qutebrowser logo
It blows our HTML up, but we use error.html from various places with
various security policies, so we can't rely on being able to load
file:// URLs.
2016-11-10 08:53:06 +01:00
Florian Bruhin
f1bba45db5 Revert "Serve broken qutebrowser logo via qute:resources"
This reverts commit 37fa7431b0.
2016-11-10 07:51:19 +01:00
Florian Bruhin
bbd842bd82 Get rid of modeman.maybe_leave 2016-11-10 07:19:45 +01:00
Florian Bruhin
2ef85d6c35 Fix macros with a mode-switching command 2016-11-10 07:16:52 +01:00
Florian Bruhin
5d30105a53 Merge branch 'macros' of https://github.com/blyxxyz/qutebrowser into blyxxyz-macros 2016-11-10 06:50:21 +01:00
thuck
9f70fa3ec8 Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-10 00:28:31 +01:00
thuck
9beb097c53 Corrected some unecessary spaces 2016-11-09 23:52:56 +01:00
thuck
d7f5f61f03 Implemented counter for total number of tabs
With this counter we can better control the space on the tabbar.
2016-11-09 23:50:41 +01:00
Cosmin Popescu
89e6ff6599 fix wrong spaces and priority for session restore 2016-11-09 19:27:48 +01:00
Florian Bruhin
ac2df2f253 Merge branch 'webengine-downloads-3' 2016-11-09 19:09:58 +01:00
Jan Verbeek
a778b7184c Revert back to objreg to avoid circular import 2016-11-09 19:07:56 +01:00
Jan Verbeek
f1c3bc89ec Further cleanup 2016-11-09 14:56:41 +01:00
Florian Bruhin
1a5e90f652 Fix lint 2016-11-09 14:29:06 +01:00
Jan Verbeek
479c8e56b4 Improve macro code style, info messages 2016-11-09 13:09:10 +01:00
Florian Bruhin
d80022f3cd Merge branch 'issue1619' of https://github.com/HolySmoke86/qutebrowser into HolySmoke86-issue1619 2016-11-09 12:32:52 +01:00
Jan Verbeek
e5dec949b0 Merge https://github.com/The-Compiler/qutebrowser into macros 2016-11-09 12:17:04 +01:00
Daniel Karbach
4afd75a24d typo in comment 2016-11-09 09:30:37 +01:00
Florian Bruhin
cf32aac111 Move usertypes.DownloadTarget to downloads module 2016-11-09 08:15:58 +01:00
Florian Bruhin
80562fbdca Add DownloadTarget.suggested_filename 2016-11-09 08:06:57 +01:00
Florian Bruhin
8771759f68 Improve error handling in objreg.dump_objects 2016-11-09 07:54:02 +01:00
Florian Bruhin
970e4d3e03 Fix mhtml overwrite prompts
See #2101
2016-11-08 23:23:53 +01:00
Florian Bruhin
df9bee33f4 Fix 100% coverage in misc.ipc 2016-11-08 21:56:54 +01:00
thuck
6f8aaccc2b Attach pin information to tabwidget
Simple access to pin information on tab widget.
Some change for the fmt_pin to not use fields as cheap trick
2016-11-08 21:12:20 +01:00
Florian Bruhin
baeb8653c8 Finish stats correctly with QtWebEngine downloads 2016-11-08 20:41:40 +01:00
Florian Bruhin
3ba7f28069 Re-add download cleanup on shutdown 2016-11-08 20:36:49 +01:00
Florian Bruhin
de1e3a7a54 Make DownloadItem._autoclose private 2016-11-08 20:35:07 +01:00
Florian Bruhin
b00c889dd1 Call _set_fileobj in AbstractDownloadItem.set_target 2016-11-08 20:33:25 +01:00
thuck
d8b5ca295e Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-08 19:53:46 +01:00
Florian Bruhin
23e7b3f551 Elide js element debug string 2016-11-08 12:17:44 +01:00
Florian Bruhin
19d31ac201 Deduplicate "Focus object changed" logging 2016-11-08 12:17:44 +01:00
Florian Bruhin
57ee378ec5 Ignore None-socket in ipc.on_timeout 2016-11-08 12:17:44 +01:00
Florian Bruhin
f271081012 Handle None-tab in on_current_changed 2016-11-08 12:17:44 +01:00
Florian Bruhin
19c7d747dd Fix downloads with unknown size with WebEngine 2016-11-08 09:18:10 +01:00
Florian Bruhin
ed3347365f Fix lint 2016-11-08 09:18:10 +01:00
Florian Bruhin
54db4255b1 Fix handling of temporary files
When we use self._set_filename in self._set_fileobj, the file already
exists, so we need to force "overwriting" it.

Also, move temporary file handling to a dedicated _set_tempfile method,
so we can officially claim not supporting _set_fileobj with QtWebEngine
instead of supporting it with a hack.
2016-11-08 09:18:10 +01:00
Florian Bruhin
53e360ec4b Always use a global QNAM for downloads
This makes a lot of code eaiser, and we don't have per-tab settings yet
anyways. Also, with QtWebEngine, we can't honour any per-tab settings
for downloads...
2016-11-08 09:18:09 +01:00
Florian Bruhin
bc1e4385e0 Fix first bunch of download tests 2016-11-08 09:18:09 +01:00
Florian Bruhin
ce1b675a1e Implement :download/hints via QtNetwork 2016-11-08 09:18:09 +01:00
Florian Bruhin
5bc3914f24 Pass basename only as suggested filename 2016-11-08 09:18:09 +01:00
Florian Bruhin
fc6c6d4998 Fix lint 2016-11-08 09:16:47 +01:00
thuck
17b7b5c663 Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab 2016-11-08 08:13:15 +01:00
thuck
931b008f89 Update title when title-format-pinned is modified 2016-11-08 08:12:40 +01:00
thuck
4f0034911a title-format-pinned initial work
Created configuration configdata.
Load and use template defined on configdata.

TODO: ability to conserve information between restart
TODO: ability to update title on configuration change
2016-11-08 07:56:13 +01:00
Florian Bruhin
39b3bfba93 Mention package names in pdfjs error
Closes #2095.
2016-11-08 06:18:40 +01:00
thuck
b24ac0ae78 More small fixes
Removed unsed variables.
Removed some empty lines.
Inncluded docstring.
2016-11-08 04:45:07 +01:00
thuck
f9b1d998d4 Last configuration as pin changed to pinned 2016-11-07 22:32:42 +01:00
thuck
f10284b04a Initial work on message.confirm_async
Creation of _tab_close and usage of partial.
2016-11-07 22:28:05 +01:00
thuck
ec50d39578 Some fixes for the pylint 2016-11-07 21:25:05 +01:00
thuck
4ed046d5e7 Everything is pinned instead of pin, and one if corrected 2016-11-07 21:12:34 +01:00
Cosmin Popescu
c590a37043 changed to using an internal _autosave session 2016-11-07 20:45:46 +01:00
thuck
20eae4d671 Modifed exception structure 2016-11-07 08:11:47 +01:00
thuck
f8dffb4e5c Some modifications from initial feedback
Moved pin information from BrowserTab to TabData.
Changed attribute from pin to pinned.
Changed "ifs" to implicit check boolen value.
Removed blancked line on before else statement.
2016-11-07 08:02:25 +01:00
thuck
29d1c0d68b Small fix for situations where we cannot find the tab for the index
Need to investigate better why and when this is excatly happening
2016-11-06 23:27:06 +01:00
thuck
d7a1a542b6 Change shortcut to tab-pin 2016-11-06 23:25:36 +01:00
thuck
d592651c50 Change command from pin/unpin to tab-pin 2016-11-06 23:24:24 +01:00
thuck
6d7a6db130 Proper title and size for pinned tab
As I'm using self.count() without taking in consideration the number of
pinned tabs the end result is a lot of empty space.
2016-11-06 19:04:32 +01:00
thuck
22133beb72 Fix small bug because result was not declared 2016-11-06 18:24:33 +01:00
thuck
6f610e9c44 Initial development to support pin tabs #926
Done so far:
Two new commands pin/unpin, both accept a index to help the organization
(maybe this should be more a flag and not exactly two commands)
Crtl+p to pin, Crtl+O to unpin (not sure which should a good default
shortcut)
If user tries to close a pinned tab it's asked to confirm
If user tries to open a URL in a pinned tab it receives a message with a
information that the tab is pinned and ignore the openurl command
Preserve the pinned information across restart if session is activated

Missing:
Visual indication of the tab being pinned
Tab appearance being distinct over other tabs
Make pinned tabs to be the firsts on the tab bar

This is not ready, but it would be good to get some feedback earlier
2016-11-06 15:52:23 +01:00
Florian Bruhin
690633bd87 Release v0.8.4 2016-11-06 00:47:53 +01:00
Florian Bruhin
f7cfb6afc3 Release v0.8.3 2016-11-05 23:08:28 +01:00
Florian Bruhin
b6195d4e77 Fix handling of typing.Union with newer Python 3.5 versions 2016-11-05 22:11:52 +01:00
Florian Bruhin
a5afdf6fb6 Handle QtWebEngine downloads in DownloadModel 2016-11-04 18:49:25 +01:00
Florian Bruhin
ea9796403f Fix _ask_confirm_question 2016-11-04 18:49:25 +01:00
Florian Bruhin
bf994cd8da Initial QtWebEngine download support 2016-11-04 18:49:24 +01:00
Florian Bruhin
c876c3d244 Fix lint 2016-11-04 18:49:24 +01:00
Florian Bruhin
a3a167e683 Split _die in two methods
We need to do some stuff before AbstractDownloadItem._die runs.
2016-11-04 18:49:24 +01:00
Florian Bruhin
6eef79e180 Adjust imports/objreg 2016-11-04 18:49:24 +01:00
Florian Bruhin
990985e60f Rename browser.webkit.downloads to browser.qtnetworkdownloads 2016-11-04 18:49:24 +01:00
Florian Bruhin
e985730cbf Simplify TempDownloadManager initialization 2016-11-04 18:49:24 +01:00
Florian Bruhin
7ca6996f39 Adjust imports 2016-11-04 18:49:24 +01:00
Florian Bruhin
0ac2b71304 Simplify how filename questions are handled 2016-11-04 18:49:24 +01:00
Florian Bruhin
3b51548d3a More download splitting 2016-11-04 18:49:24 +01:00
Florian Bruhin
92b1bf2227 Get rid of win_id for DownloadItem 2016-11-04 18:49:24 +01:00
Florian Bruhin
12d798d54d Continue download splitting 2016-11-04 18:49:24 +01:00
Florian Bruhin
5b04f1052f Add DownloadItem.set_target
This allows us to make _set_fileobj private, and also makes some code
simpler.
2016-11-04 18:49:24 +01:00
Florian Bruhin
2c94efbf8a First big download refactoring chunk 2016-11-04 18:49:24 +01:00
Florian Bruhin
352f83b95e Rename DownloadItem.do_retry 2016-11-04 18:49:24 +01:00
Florian Bruhin
34b4dcf0d5 Make DownloadItem._retry_info private 2016-11-04 18:49:24 +01:00
Florian Bruhin
70e390a2e8 downloads: Simplify redirect handling 2016-11-04 18:49:24 +01:00
Florian Bruhin
7256641288 Prevent questions from being aborted twice
When we abort a question (e.g. by closing a tab with SSL errors) while
another prompt is queued, the right prompt gets closed by the question
being aborted, but that in turn aborts the question again, affecting the
next prompt.
2016-11-04 13:21:22 +01:00
Florian Bruhin
a16d41333b Fix prompts while in command mode 2016-11-04 06:48:32 +01:00
Florian Bruhin
dd0ce8fe3b Add some more prompt logging 2016-11-04 06:47:10 +01:00
Florian Bruhin
3a79faac16 Also hide existing prompts when showing a new one
Otherwise when a prompt is interrupted, we'd still see the older one.
2016-11-03 23:03:42 +01:00
Florian Bruhin
59b4ccc620 Rename max_height_padding 2016-11-03 09:29:27 +01:00
Florian Bruhin
a006ecffec Add MainWindow._update_overlay_geometries() 2016-11-03 09:29:27 +01:00
Florian Bruhin
2b46228e3d Customize prompt selection colors
Seems like if we make the foreground color configurable, the selection
isn't colored at all?!
2016-11-03 09:29:27 +01:00
Florian Bruhin
ebcae3a69c Fix tabbing over .. in some directories on Windows 2016-11-03 08:40:42 +01:00
Florian Bruhin
0f03960525 Log if getting directory information failed 2016-11-03 08:40:42 +01:00
Florian Bruhin
732e7c260b Handle empty path for file completion
This also allows us to select drives on Windows hopefully...
2016-11-03 08:40:42 +01:00
Florian Bruhin
cbf1a44b75 Fix handling of / as path 2016-11-03 08:40:42 +01:00
Florian Bruhin
16b3b7a262 Fix prompt positioning with top statusbar 2016-11-03 08:40:42 +01:00
Florian Bruhin
25bb720f09 Bound maximum size for prompts 2016-11-03 08:40:42 +01:00
Florian Bruhin
9cf5d645f0 Hide prompts correctly
We now make sure to hide prompts everywhere when the prompt mode was
left. We also make sure to hide the prompt widget before deleting, as it
might be deleted later.
2016-11-03 08:40:42 +01:00
Florian Bruhin
293a388ac6 Use HTML list for quit confirmation message 2016-11-03 08:40:42 +01:00
Florian Bruhin
fa1846ab0e Adjust prompt path when backspacing a path 2016-11-03 08:40:42 +01:00
Florian Bruhin
60c6b7f0ab Simplify FilenamePrompt._insert_text 2016-11-03 08:40:42 +01:00
Florian Bruhin
5b33978259 Improve comment 2016-11-03 08:40:42 +01:00
Florian Bruhin
4e793180c1 Fix completion in file prompts 2016-11-03 08:40:42 +01:00
Florian Bruhin
63c6381e18 Add blank line 2016-11-03 08:40:42 +01:00
Florian Bruhin
fdc4b2e2f6 Move setting FilenamePrompt lineedit text up 2016-11-03 08:40:42 +01:00
Florian Bruhin
7d1b1d354d Remove duplicated docstrings 2016-11-03 08:40:42 +01:00
Florian Bruhin
14ecbc0cec Use jinja for SSL error message 2016-11-03 08:40:42 +01:00
Florian Bruhin
28a32e680d Add comment about HTML escaping 2016-11-03 08:40:42 +01:00
Florian Bruhin
64eeb95c30 Rename _init_title 2016-11-03 08:40:42 +01:00
Florian Bruhin
27f96943a2 Add missing html.escape 2016-11-03 08:40:42 +01:00
Florian Bruhin
efdcbd860e Increase font size for prompt titles 2016-11-03 08:40:42 +01:00
Florian Bruhin
3b7f65d956 Show URL in most questions 2016-11-03 08:40:42 +01:00
Florian Bruhin
4ad741d26d Simplify shutdown in app.py 2016-11-03 08:40:42 +01:00
Florian Bruhin
d85cfcbc07 Fix ask_for_filename call 2016-11-03 08:40:42 +01:00
Florian Bruhin
4552e06797 Only connect interrupted signal for questions once 2016-11-03 08:40:42 +01:00
Florian Bruhin
a87e46101c Fix lint 2016-11-03 08:40:42 +01:00
Florian Bruhin
5ebaddfaf2 Ignore "Unexpected null parameter" warning 2016-11-03 08:40:42 +01:00
Florian Bruhin
1b3e9613ea Fix mode handling with multi-window questions
When the prompt mode is left in any window, we need to take care of:

- Cancelling the question if needed (exactly once)
- Leaving the prompt mode in all other windows too
2016-11-03 08:40:42 +01:00
Florian Bruhin
4a360ba185 Simplify _set_fileview_root 2016-11-03 08:40:42 +01:00
Florian Bruhin
b0a04bff8e Use OS-independent path separators 2016-11-03 08:40:42 +01:00
Florian Bruhin
54a694e35e Hide prompts correctly after :prompt-download-open 2016-11-03 08:40:42 +01:00
Florian Bruhin
5eb66f2693 Restore self._question when restoring prompt 2016-11-03 08:40:42 +01:00
Florian Bruhin
6f83590553 Add some more logging for prompts 2016-11-03 08:40:42 +01:00
Florian Bruhin
dba29e518a First working prototype of global prompts 2016-11-03 08:40:42 +01:00
Florian Bruhin
fdd1147620 Revert "Global prompt container"
This reverts commit c23beee6502776dd19c0955b311e8dfb9f1c77ae.
2016-11-03 08:40:42 +01:00
Florian Bruhin
1d6166b474 Global prompt container 2016-11-03 08:40:42 +01:00
Florian Bruhin
9ce1180b31 First attempt at showing prompts in all windows 2016-11-03 08:40:42 +01:00
Florian Bruhin
d5a1f6d6b5 Only support calling _init_key_label once 2016-11-03 08:40:42 +01:00
Florian Bruhin
fefc8c4eb2 Add more tests for prompts 2016-11-03 08:40:42 +01:00
Florian Bruhin
653ca9799d Add a default for SSL questions 2016-11-03 08:40:41 +01:00
Florian Bruhin
20716c137c Support tab completion for auth prompts again 2016-11-03 08:40:41 +01:00
Florian Bruhin
3ffcb011a7 Simplify key label for auth prompts 2016-11-03 08:40:41 +01:00
Florian Bruhin
9bdbb257ba Add initial filename completion 2016-11-03 08:40:41 +01:00
Florian Bruhin
6ab51e0b7b Handle clicking on file items in prompt 2016-11-03 08:40:41 +01:00
Florian Bruhin
acbd5107d6 Only show directories in download filename prompts 2016-11-03 08:40:41 +01:00
Florian Bruhin
46b24fc64a Improve how file list is shown in download prompt 2016-11-03 08:40:41 +01:00
Florian Bruhin
6da6758263 Improve FilenamePrompt widget sizing 2016-11-03 08:40:41 +01:00
Florian Bruhin
741ecac9ef More improvements for yesno prompt key hints 2016-11-03 08:40:41 +01:00
Florian Bruhin
7d63795613 Improve bindings output for yesno questions 2016-11-03 08:40:41 +01:00
Florian Bruhin
7d57d884d6 Add configuration options for prompts 2016-11-03 08:40:41 +01:00
Florian Bruhin
a33333eb41 Make the radius for prompt edges configurable 2016-11-03 08:40:41 +01:00
Florian Bruhin
dff20ffe35 Fix message.confirm_async calls 2016-11-03 08:40:41 +01:00
Florian Bruhin
bc4e340323 Save key mode to leave
Doing self._prompt.question.done() already sets self._prompt to the next
prompt or to None.
2016-11-03 08:40:41 +01:00
Florian Bruhin
80caed4642 Add missing docstring 2016-11-03 08:40:41 +01:00
Florian Bruhin
e110f3b590 Get rid of StatusBar._set_prompt_active 2016-11-03 08:40:41 +01:00
Florian Bruhin
fe59e0618f Rename download_open function 2016-11-03 08:40:41 +01:00
Florian Bruhin
fe230219a9 Fix lint 2016-11-03 08:40:41 +01:00
Florian Bruhin
f4be35c981 Add a LineEdit subclass for prompts 2016-11-03 08:40:41 +01:00
Florian Bruhin
433afe8658 Handle invalid values with :prompt-accept 2016-11-03 08:40:41 +01:00
Florian Bruhin
051b31d101 Fix reinitializing of key label 2016-11-03 08:40:41 +01:00
Florian Bruhin
7d38430d2d Fix confirm_async 2016-11-03 08:40:41 +01:00
Florian Bruhin
9c34a64f81 self._build_question fail 2016-11-03 08:40:41 +01:00
Florian Bruhin
04d24e3d94 Fix permission question 2016-11-03 08:40:41 +01:00
Florian Bruhin
75bb2265be Take text as pos. argument for _build_question 2016-11-03 08:40:41 +01:00
Florian Bruhin
6d7748f05f Add FilenamePrompt 2016-11-03 08:40:41 +01:00
Florian Bruhin
47208eb022 Fix :prompt-open-download 2016-11-03 08:40:41 +01:00
Florian Bruhin
d74b0109c7 Add key hints 2016-11-03 08:40:41 +01:00
Florian Bruhin
f0ed43ec20 Use message module as API for most questions 2016-11-03 08:40:41 +01:00
Florian Bruhin
756564ebff Get rid of message_bridge.set_cmd_text 2016-11-03 08:40:41 +01:00
Florian Bruhin
523369882a Add title/text to questions 2016-11-03 08:40:41 +01:00
Florian Bruhin
e3581a50ca Remove generated stylesheets again
We can just use jinja logic instead...
2016-11-03 08:40:41 +01:00
Florian Bruhin
1f011bdd5f Fix prompt focus handling 2016-11-03 08:40:41 +01:00
Florian Bruhin
33088588d9 half-working auth prompts 2016-11-03 08:40:41 +01:00
Florian Bruhin
903e31efa4 First prototype of new prompts 2016-11-03 08:40:41 +01:00
Cosmin Popescu
3692c86a7e auto save session 2016-11-01 19:43:37 +01:00
Florian Bruhin
51a0c2a32c Remove unused imports 2016-10-31 07:27:30 +01:00
Florian Bruhin
f12d87fabc Only call sip.isdeleted on QObjects 2016-10-31 06:14:43 +01:00
Florian Bruhin
618e7650fe Don't include deleted objects in objreg.dump_objects 2016-10-30 23:25:28 +01:00
Florian Bruhin
b4872192c3 Merge branch 'more-tests' of https://github.com/HolySmoke86/qutebrowser into HolySmoke86-more-tests 2016-10-30 23:24:15 +01:00
Florian Bruhin
f6aefabf40 Initialize QtWebKit-specific stuff with QtWebKit only
Maybe this fixes issues we had with QtWebEngine segfaults in proxy.py on
Travis?

Note we can't move cookies/cache/network stuff yet as we still need that
for e.g. adblock downloads with QtWebEngine.
2016-10-30 23:07:19 +01:00
Florian Bruhin
428637746a Merge branch 'insert-text-js' of https://github.com/paretje/qutebrowser into paretje-insert-text-js 2016-10-30 19:51:25 +01:00
Florian Bruhin
713b00a102 Hide empty "Unhandled client message" warning
Fixes #2071
2016-10-30 19:00:29 +01:00
Kevin Velghe
0caee94994 Remove has_js 2016-10-30 18:54:34 +01:00
Florian Bruhin
f4022a86fd Improve line breaking 2016-10-30 18:49:41 +01:00
Florian Bruhin
620b952bb2 Merge branch 'jseval-2' of https://github.com/paretje/qutebrowser into paretje-jseval-2 2016-10-30 18:48:14 +01:00
Kevin Velghe
e83b99b0e1 Run javascript on document element
This enables `:jseval` for users who disable javascript on webpages.
2016-10-30 11:39:10 +01:00
Florian Bruhin
2ce15b0499 Use start.duckduckgo.com as startpage
Apparently some users got nagged by duckduckgo to set it as start page.
2016-10-27 22:16:53 +02:00
Jan Verbeek
2cc958fbb6 Stop progress bar from growing status bar height 2016-10-26 13:46:52 +02:00
Joel Bradshaw
e5a1bb5091 Update version number to 0.8.2
Bump version info to 0.8.2 so that it shows up in `qutebrowser --version`
2016-10-25 06:01:45 -07:00
Daniel Karbach
c801caa19a log debug console status changes 2016-10-24 17:10:47 +02:00
Daniel Karbach
5d92934d76 less brutal synthetic segfault 2016-10-24 17:10:47 +02:00
Daniel Karbach
bdb96becd6 unit tests for misc.lineparser 2016-10-24 17:10:47 +02:00
Jan Verbeek
21289a80ad Catch RegisterKeyParser command errors 2016-10-20 17:38:56 +02:00
Kevin Velghe
efadbe64b5 insert_text doesn't need javascript to be enabled
It runs in the context of an element, which seems possible, even without
javascript enabled (in qtwebkit?).
2016-10-20 15:54:06 +02:00
Daniel Karbach
da2ba86aa5 use https for links in docs and elsewhere
refs #2039
2016-10-20 14:48:35 +02:00
Jan Verbeek
f2b05a0395 Move keyboard macro system to MacroRecorder object 2016-10-20 02:50:00 +02:00
Daniel Karbach
ef3968c165 setting values tabs->new-tab-position[-explicit]
left -> prev
right -> next
2016-10-18 17:17:17 +02:00
Daniel Karbach
7eafa30084 :tab-close option names
--left -> --prev
--right -> --next
2016-10-18 15:03:08 +02:00
Daniel Karbach
845298ae41 :tab-close option names
--left -> --prev
--right -> --next
2016-10-18 15:03:08 +02:00
Daniel Karbach
828b7d744a setting values tabs->select-on-remove
left -> prev
right -> next
previous -> last-used

refs #1619
2016-10-18 15:03:01 +02:00
Florian Bruhin
2ae9f14d22 Add pylint disable 2016-10-18 06:22:45 +02:00
Kevin Velghe
59536828a1 Implement hint target "current" for webengine 2016-10-17 23:33:44 +02:00
Florian Bruhin
ab43ba71d2 Merge branch 'webkitelemparent' of https://github.com/paretje/qutebrowser into paretje-webkitelemparent 2016-10-17 22:26:58 +02:00
Jan Verbeek
2a304d7a6b Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into macros
Conflicts:
	qutebrowser/commands/runners.py
2016-10-17 19:14:58 +02:00
Kevin Velghe
ed91e1d4c8 Implement __setitem__ in WebEngineElement 2016-10-17 14:14:45 +02:00
Kevin Velghe
7bb4700352 Return None when parent is a null webelement 2016-10-14 14:54:43 +02:00
Florian Bruhin
229faac9cb Stabilize :session-delete tests 2016-10-14 07:24:36 +02:00
Florian Bruhin
d301f200e2 Improve docs for netrc-file setting 2016-10-14 06:45:41 +02:00
Florian Bruhin
26b6688b61 Merge branch 'netrc' of https://github.com/paretje/qutebrowser into paretje-netrc 2016-10-14 06:39:03 +02:00
Ryan Roden-Corrent
fbc084e416 Remove :<count>:cmd syntax support.
CommandRunner.parse had some logic for handling commands of form
:<count>:cmd. However, this complicated the parsing logic for something
that appears to only be used in tests. One could use it in a
userscript, but this is unlikely as it is undocumented. Removing
support for this simplifies the logic of parse.

The commnd `run-with-count` is added to provide this functionality.
It works like `repeat` but passes the count along to the command
instead of running the command multiple times.

This resolves #1997: Qutebrowser crashes when pasting commands.
This bug was caused by excess stripping of ':' from the command string
by _parse_count.
2016-10-10 08:02:30 -04:00
Kevin Velghe
087342894e Add setting for location of netrc file
There is no reason I guess to do this with an environment variable. On
top of that, introducing a settings also documents the netrc feature
itself (Closes #1975?).
2016-10-09 00:15:46 +02:00
Jan Verbeek
87899cb6b3 Fix long lines 2016-10-08 22:00:26 +02:00
Jan Verbeek
33ff0ba715 Interactively get macro register 2016-10-08 21:17:47 +02:00
Florian Bruhin
c40539c7e9 Merge branch 'pdfjs-1.6.210' of https://github.com/Kingdread/qutebrowser into Kingdread-pdfjs-1.6.210 2016-10-06 22:52:44 +02:00
Jan Verbeek
7aaaadac1a Add keyboard macros 2016-10-06 22:24:04 +02:00
Florian Bruhin
378976db29 Make log.stub work when inspect.stack fails
I got this during shutdown once:

Traceback (most recent call last):
  File ".../qutebrowser/mainwindow/mainwindow.py", line 552, in closeEvent
  File ".../qutebrowser/mainwindow/mainwindow.py", line 538, in _do_close
  File ".../qutebrowser/mainwindow/tabbedbrowser.py", line 218, in shutdown
    self._remove_tab(tab)
  File ".../qutebrowser/mainwindow/tabbedbrowser.py", line 280, in _remove_tab
    tab.shutdown()
  File ".../qutebrowser/browser/webengine/webenginetab.py", line 536, in shutdown
    log.stub()
  File ".../qutebrowser/utils/log.py", line 151, in stub
    function = inspect.stack()[1][3]
  File "/usr/lib64/python3.5/inspect.py", line 1464, in stack
    return getouterframes(sys._getframe(1), context)
  File "/usr/lib64/python3.5/inspect.py", line 1441, in getouterframes
    frameinfo = (frame,) + getframeinfo(frame, context)
  File "/usr/lib64/python3.5/inspect.py", line 1414, in getframeinfo
    lines, lnum = findsource(frame)
  File "/usr/lib64/python3.5/inspect.py", line 804, in findsource
    if pat.match(lines[lnum]): break
IndexError: list index out of range
2016-10-06 21:04:53 +02:00
Daniel Schadt
ffa276a182 pdfjs: compatibility for v1.6.210
They renamed PDFView to PDFViewerApplication, which we need to account
for in our pdfjs scripts.

Also, it seems like the actual viewer is now only created when the DOM
has been loaded. This means that at the time when our script is
executed, the viewer does not yet exist. Thus we need to delay the open
request too by registering a DOMContentLoaded handler.
2016-10-06 14:43:16 +02:00
Florian Bruhin
5e6d8e3944 Merge branch 'master' of https://github.com/sebastian-frysztak/qutebrowser into sebastian-frysztak-master 2016-10-05 21:19:17 +02:00
Florian Bruhin
6184da0224 Add a comment 2016-10-05 21:16:18 +02:00
Florian Bruhin
24eb27e385 Merge branch 'completer_unicode' of https://github.com/rcorre/qutebrowser into rcorre-completer_unicode 2016-10-05 21:15:28 +02:00
Kevin Velghe
e3c92a9bae Set netrc location with QUTE_NETRC 2016-10-05 12:03:52 +02:00
Florian Bruhin
c36ae5ab8f Fix quit confirmation text for downloads 2016-10-05 10:13:01 +02:00
Florian Bruhin
2f0db878e6 Break long lines 2016-10-05 09:07:35 +02:00
Sebastian Frysztak
f0cc168609 Style changes 2016-10-04 16:45:31 +02:00
Ryan Roden-Corrent
2696f9b427 Handle unicode characters in Completer.
Just limit the cursor position to the length of the text to avoid
crashes in this case.

Resolves #2007.
2016-10-04 07:36:49 -04:00
Florian Bruhin
f34d896ff4 Log total initialization time 2016-10-04 10:26:44 +02:00
Florian Bruhin
b107522d8c Make cssutils a lazy import
Importing cssutils takes more than a second on the 2009 Thinkpad with a
Core2 I'm on right now, so let's only import it when actually necessary.
2016-10-04 08:51:10 +02:00
Sebastian Frysztak
df83862088 Reserve space for empty favicon in _get_icon_rect. 2016-10-03 13:14:49 +02:00
Florian Bruhin
4407ef032a Clean up JS 2016-10-03 07:01:22 +02:00
Florian Bruhin
323d5fc9e7 Also fix scroll.to_perc with position:absolute 2016-10-03 06:59:35 +02:00
Florian Bruhin
bd831939bc Adjust for scrolling off-by-one errors
On some pages with particular zoom levels, elem.offsetHeight is exactly
one pixel more than elem.scrollHeight when fully scrolled down.

This is probably due to rounding/floats/off-by-one errors somewhere
inside Chromium?

We now instead always clip the displayed percentage at 100% (so we don't
display 101%), and consider the page fully scrolled even if we're
scrolled more than the page.
2016-10-03 06:52:54 +02:00
Florian Bruhin
fc0b62f122 Revert "scroll.js --> fix scroll measures"
This reverts commit 0c5d95c943.

Using those values is probably okay as long as we adjust for the
off-by-one errors which will follow in the next commit.
2016-10-03 06:51:57 +02:00
Florian Bruhin
fc1943e5e6 Merge branch 'patch-1' of https://github.com/Spreadyy/qutebrowser into Spreadyy-patch-1 2016-10-03 06:51:37 +02:00
Florian Bruhin
5b11eaad85 Merge branch 'issue1987' of https://github.com/HolySmoke86/qutebrowser into HolySmoke86-issue1987 2016-10-03 06:45:01 +02:00
Florian Bruhin
c7b74edfbe Merge branch 'issue1940' of https://github.com/HolySmoke86/qutebrowser into HolySmoke86-issue1940 2016-10-03 06:41:19 +02:00
Florian Bruhin
55cefd1ab7 Don't shadow outer name 2016-10-01 22:51:40 +02:00
Florian Bruhin
625bb7baa4 Clean up crash msgbox properly
Fixes #2004
2016-10-01 22:05:29 +02:00
Sebastian Frysztak
4f443c9f27 Reserve space for favicon with vertical tabs 2016-10-01 12:55:55 +02:00
Florian Bruhin
6b76d5defa Whitespace changes 2016-09-30 17:54:23 +02:00
Daniel Karbach
a3e9fe1fd7 removed duplicate userscript path lookup 2016-09-30 09:50:49 +02:00
Daniel Karbach
dc344989c6 revised missing userscript error messages 2016-09-30 09:50:49 +02:00
Daniel Karbach
eaa754648d common base for userscript exceptions 2016-09-30 09:26:43 +02:00
Florian Bruhin
822c100f52 Make 0 a usable count for :tab-focus
Fixes #1768
2016-09-30 08:33:16 +02:00
Daniel Karbach
46ca91cfc0 only use ';' as query delim if there's no '&' 2016-09-29 17:45:12 +02:00
Daniel Karbach
cbbfbabfc4 reorganize and document 2016-09-29 14:37:40 +02:00
Daniel Karbach
8eb12c6cb9 improved error messages for inexistent userscripts
fixes #1940
2016-09-29 13:29:39 +02:00
Daniel Karbach
b195b5b40d detect ';' delimiters when yanking URL
fixes #1987
2016-09-29 11:02:30 +02:00
Spreadyy
0c5d95c943 scroll.js --> fix scroll measures
scroll measures failed a travis test where document.documentElement.offsetHeight and document.documentElement.scrollHeight diffed by one pixel when the browser zoomed. --> Removed offsetHeight.
2016-09-29 08:59:46 +02:00
Florian Bruhin
5ce1f0b912 Don't update scroll position with 0 tabs 2016-09-29 08:48:04 +02:00
Florian Bruhin
42b7d1d10f Add a colon 2016-09-29 06:35:47 +02:00
Daniel Karbach
50fb4a78c7 early init of qapp and standarddir
this fixes the error that appeared when invoked with --version
2016-09-28 10:25:40 +02:00
Spreadyy
f2e471597d Lint test failed --> edited line length 2016-09-27 23:24:12 +02:00
Daniel Karbach
0c4c84d821 adhere to style guide 2016-09-27 13:22:28 +02:00
Daniel Karbach
7ce442c771 standarddir path names in qute://version
fixes #1947
2016-09-27 12:01:04 +02:00
Spreadyy
a22ae2818c Fix scroll JS for xkcd.
Fix wrong scroll.height for xkcd. Solution according to:
http://stackoverflow.com/questions/1145850/how-to-get-height-of-entire-document-with-javascript
2016-09-27 11:41:47 +02:00
Ryan Roden-Corrent
6aaa138619 Use a set instead of a list for Command._modes. 2016-09-26 08:30:28 -04:00
Ryan Roden-Corrent
14f8ec8754 Error on mode/command mismatch with :bind.
Resolves #1964 (:bind should error for mode/command mismatch)
2016-09-26 08:30:28 -04:00
Ryan Roden-Corrent
6fdd007dbb Simplify mode-checking in command.
Rather than maintaining separate _modes and _not_modes lists, just
build a single _modes list in the constructor.
2016-09-26 08:30:28 -04:00
Florian Bruhin
68e60ecc3c configtypes: Add a "# pragma: no cover" 2016-09-26 08:25:54 +02:00
Florian Bruhin
62ac87c34f Merge branch 'pretty-url' of https://github.com/lahwaacz/qutebrowser into lahwaacz-pretty-url 2016-09-26 07:08:33 +02:00
Florian Bruhin
cfe25b96fc Merge branch 'option-description' of https://github.com/HolySmoke86/qutebrowser into HolySmoke86-option-description 2016-09-26 07:00:17 +02:00
Florian Bruhin
27b524300b Improve configtypes tests
This also gets configtypes.py back to 100% coverage
2016-09-26 06:33:14 +02:00
Daniel Karbach
b801208d97 show option description in qute:settings 2016-09-23 15:42:02 +02:00
Jakub Klinkovský
a72efe4a3e also prettify url:pretty variable 2016-09-22 19:25:54 +02:00
Florian Bruhin
d4376c5196 Fix overlays with a top statusbar 2016-09-22 17:34:30 +02:00
Florian Bruhin
e6f62f8118 Remove now-unneeded _get_overlay_position 2016-09-22 17:34:17 +02:00
Florian Bruhin
17ceba5ce4 Round correct edge for keyhint with top statusbar 2016-09-22 17:29:25 +02:00
Florian Bruhin
e04e6c51d1 Add generator argument to set_register_stylesheet 2016-09-22 17:29:03 +02:00
Florian Bruhin
750dfd98af Generalize statusbar-attached website overlays
We already had some duplicated logic for completion/keyhint/messageview,
and plan to add prompt overlays too now - so here we refactor related
code to have a list of overlays instead, which are all
resized/positioned by the mainwindow when needed.

This also changes the size management, which gets moved into the
sizeHint of the respective overlay widgets.
2016-09-22 17:04:39 +02:00
Jakub Klinkovský
268db48f19 prettify yank pretty-url 2016-09-22 14:25:48 +02:00
Florian Bruhin
57d896e989 Fix hints when zoomed with QtWebEngine
We mutated rect (coming from self._js_dict), which means we used the
already adjusted values the second time we called rect_on_view.

Fixes #1863.
2016-09-21 20:09:31 +02:00
Ryan Roden-Corrent
1d2cf3b648 Completer: don't try to partition search.
Exit before trying to partition if the command prefix is not ':'.

Resolves #1969:
'TypeError with refactored completion when searching for command'
2016-09-21 07:08:34 -04:00
Florian Bruhin
43fa5f55c1 Don't set QT_HARFBUZZ with Qt >= 5.4
Fixes #1948
2016-09-16 08:35:17 +02:00
Florian Bruhin
e5b3880b71 Check for spaces in URLs with explicit scheme
Fixes #1954
2016-09-15 22:29:21 +02:00
Florian Bruhin
04a891cbf0 Merge branch 'kwonly-default-fix' of https://github.com/Kingdread/qutebrowser into Kingdread-kwonly-default-fix 2016-09-15 17:19:26 +02:00
Florian Bruhin
0d64257049 Add missing docstring 2016-09-15 17:16:30 +02:00
Florian Bruhin
bb1b1c8ee8 Remove unused imports 2016-09-15 16:45:48 +02:00
Florian Bruhin
018e9ef4a3 Merge branch 'completion_split' of https://github.com/rcorre/qutebrowser into rcorre-completion_split 2016-09-15 16:44:54 +02:00
Florian Bruhin
879ca0b873 Make qutescheme arg optional for resource_url 2016-09-15 16:42:07 +02:00
Daniel Schadt
794eb84805 add parameter name in error message 2016-09-15 16:38:18 +02:00
Florian Bruhin
37fa7431b0 Serve broken qutebrowser logo via qute:resources
This is needed when we want to display an error page after the user
requested a qute:// URL, as qute:// URLs can't access file:// content
with QtWebEngine.
2016-09-15 16:06:25 +02:00
Daniel Schadt
0ef5d338bd make sure keyword-only arguments have a default
Fixes #1872.

This prevents inspect.Parameter.empty from slipping through to the
command.
2016-09-15 15:44:33 +02:00
Florian Bruhin
44e8296a66 Remove environment variables from version()
We already have those in the report anyways.
2016-09-15 14:59:32 +02:00
Florian Bruhin
8403f2451f Add $PATH to crash info 2016-09-15 14:56:27 +02:00
Florian Bruhin
7e30792bfe Fix lint 2016-09-15 14:51:22 +02:00
Florian Bruhin
e32bbfa8f7 Init message.global_bridge at import time 2016-09-15 14:51:22 +02:00
Florian Bruhin
2c98b837d5 Add config migrations 2016-09-15 14:51:21 +02:00
Florian Bruhin
e5293d34de Add missing str() calls 2016-09-15 14:51:21 +02:00
Florian Bruhin
dfac0658ae Re-add logging for messages 2016-09-15 14:51:21 +02:00
Florian Bruhin
ed4f476ab4 Get rid of queued messages and unused code 2016-09-15 14:51:21 +02:00
Florian Bruhin
f16b96aa28 Initial implementation of new messages 2016-09-15 14:51:21 +02:00
Ryan Roden-Corrent
a9771007b1 Pass string, not index from on_selection_changed.
Simplify the CompletionWidget/Completer interface by changing
on_selection_changed to pass the newly selected text rather than the
index of the newly selected item.
This moves the logic from Completer to CompletionWidget but simplifies
the interaction between the two and makes testing easier.
2016-09-14 22:55:07 -04:00
Ryan Roden-Corrent
ac03095512 Small if-statement style tweak in Completer. 2016-09-14 22:35:05 -04:00
Florian Bruhin
c071964091 Fix lint 2016-09-14 15:21:30 +02:00
Florian Bruhin
886103c887 Fix showing errors in the current window 2016-09-14 15:18:12 +02:00
Florian Bruhin
982d00ff84 Let qute:* handlers decide their mimetype
This means we have to guess less, and handlers can give us HTML as text
which we then encode for them.
2016-09-14 12:33:20 +02:00
Florian Bruhin
5501d90268 Fix lint 2016-09-14 12:00:29 +02:00
Florian Bruhin
a1527f35d4 Allow to restrict qute:* pages to a backend 2016-09-14 11:04:47 +02:00
Florian Bruhin
71bc5bb943 Move QuteSchemeError to qutescheme 2016-09-14 11:04:37 +02:00
Florian Bruhin
aa71c9ae58 Initial qute:* support for QtWebEngine 2016-09-14 10:18:25 +02:00
Ryan Roden-Corrent
e23d611b37 Strip quotes from completion pattern.
Given a commandline like:
`:set general editor "gvim -f"|`, the pattern should be 'gvim -f'
rather than '"gvim -f"'.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
b867b87955 Don't crash Completer on unknown command.
The CommandRunner's fallback parsing behavior treated whitespace
differently than the normal flow. When a user entered an unknown
command, trailing whitespace would be stripped and the cmdline length
would be less than the cursor position.

This is fixed by making the fallback use the ShellLexer just as the
'normal' parsing does.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
69a3df174d Remove needless try/catch in on_selection_changed. 2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
d651cc75b0 Fix flake8/pylint errors. 2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
808a645b40 Fix quick-complete highlighting quirk.
When the commandline reads ':open |', quick-completing the only offered
completion will set the commandline to ':open some_url |'. Since `open`
has `maxsplit=0`, everything after ':open' is (correctly) treated as
one argument. This means completion is opened again with 'some url '
as the pattern (note trailing whitespace), which makes the comletion
menu 'flicker' and stay open even though it was 'supposed' to quick
compelte.

This is fixed by ignoring the next completion request if we just
completed something after maxsplit (because we don't expect any more
completions after the last split).

Resolves #1519.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
fcadde6aef Merge _split into _partition in Completer.
After the refactoring, _split is only called by _partition so just make
it part of the same method. This also removes the use of
_empty_item_index, as it can be figured out on the fly.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
127412d91c Simplify update_completion.
Remove the class variables _cursor_part and _empty_item_index. Instead,
split up the commandline around the cursor whenever that information is
needed. Using locals instead of class variables makes the logic easier
to follow and ends up requiring much less code.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
581d7659ba Clean up Completer.on_selection_changed.
Remove the dependency on the class variables _empty_item_index
and _cursor_part to make the code easier to follow. If
_update_completion is refactored in a similar way these variables can
be removed.
2016-09-12 22:19:44 -04:00
Florian Bruhin
0b310d6910 Fix removing of a clicked download 2016-09-12 21:47:01 +02:00
Florian Bruhin
5b0fc41367 Log scroll data we got via JS 2016-09-12 21:46:51 +02:00
Florian Bruhin
4b4582c452 Adjust comment in _rect_on_view_js 2016-09-12 20:00:59 +02:00
Florian Bruhin
14de9f58b8 Fix docstring 2016-09-12 18:33:57 +02:00
Florian Bruhin
8a35ebac7b Use a separate JS world for :jseval 2016-09-12 18:27:51 +02:00
Florian Bruhin
c9e3cc04cf Accept a name for --world with :jseval 2016-09-12 18:23:23 +02:00
Florian Bruhin
97edc59f03 Add some logging to argparse.multitype_conv 2016-09-12 18:22:49 +02:00
Florian Bruhin
b2608d7697 Add --world to :jseval 2016-09-12 15:59:17 +02:00
Florian Bruhin
a16c5a6a25 Add a world argument to tab.run_js_async 2016-09-12 15:59:03 +02:00
Florian Bruhin
2388489038 downloads: Be okay with the tmpdir being gone 2016-09-12 11:30:44 +02:00
Florian Bruhin
0fef141db5 Handle QBuffer in on_feature_permission_requested 2016-09-12 09:43:08 +02:00
Florian Bruhin
43b563f600 Add missing docstring 2016-09-11 21:27:16 +02:00
Florian Bruhin
7ec62c4523 Make some more things in download.py private 2016-09-11 20:58:34 +02:00
Florian Bruhin
3550d59e3a Make DownloadItem.reply private
This adds a new uses_nam method to DownloadItem though.
2016-09-11 20:58:34 +02:00
Florian Bruhin
36b7485262 Make some things in downloads.py private 2016-09-11 20:48:19 +02:00
Florian Bruhin
4a2f0eea2f Fix import order in utilcmds 2016-09-11 20:29:19 +02:00
Florian Bruhin
4537b786f5 Ignore already deleted windows in :window-only 2016-09-11 20:29:05 +02:00
Florian Bruhin
1b5cd98d38 Fix lint 2016-09-11 20:16:03 +02:00
Florian Bruhin
8eeb3b9c75 QtWebEngine: Round scroll percentages 2016-09-11 19:59:00 +02:00
Florian Bruhin
fff777404b Use QApplication.postEvent again
We had some funny segfaults reported during scrolling (i.e. with
QApplication.sendEvent), and some code already had to use postpone=True
so there was no segfault...

So now we're back to postEvent again, and eliminated the main reason for
segfaults with it, which was re-using (and -posting) events which had
already been posted.

At least during tests this seems to run stable, let's hope it helps for
the people having crashes as well.
2016-09-11 19:37:09 +02:00
Florian Bruhin
de03feabfe Fix DownloadModel.itemFlags with invalid index 2016-09-11 17:10:52 +02:00
Florian Bruhin
4d96586eb6 Merge branch 'visibility-api' of https://github.com/Ban3/qutebrowser into Ban3-visibility-api 2016-09-11 16:23:14 +02:00
Florian Bruhin
1fe2579bb1 Merge branch 'windows-userscripts' of https://github.com/Kingdread/qutebrowser into Kingdread-windows-userscripts 2016-09-11 16:14:25 +02:00
Florian Bruhin
4686e0349b Fix lint 2016-09-11 16:06:16 +02:00
Florian Bruhin
162e6d6483 Fix closing with no last-visible-main-window
Fixes #1918
2016-09-11 16:03:15 +02:00
Florian Bruhin
1c09649dcb Pass QNAM instead of page to DownloadManager 2016-09-11 14:58:07 +02:00
Florian Bruhin
e8f8f1e72a Add DownloadItem.remove
This also gets rid of the remove_items method and replaces it by a
simple loop. I don't think the optimization is actually needed...
2016-09-11 14:58:07 +02:00
Florian Bruhin
b332d22967 Make DownloadModel a sequence 2016-09-11 14:58:07 +02:00
Florian Bruhin
b949e4d73a Start splitting DownloadModel from DownloadManager
This mostly works, apart from remove_item/remove_items not being
available on the model.
2016-09-11 14:58:07 +02:00
Jussi Timperi
19d9ec374d Handle the missing attribute 2016-09-11 13:12:27 +03:00
Jussi Timperi
1adc308676 Access enums by their base class 2016-09-11 13:04:58 +03:00
Florian Bruhin
4c55963dc3 Fix lint 2016-09-10 17:32:04 +02:00
Jussi Timperi
6437a28184 QtWebKit: Add version checks to visibility API 2016-09-10 17:55:00 +03:00
Florian Bruhin
bd5f63db46 Make an invalid download target fatal
This should never happen, so there's no reason for it to log an error
instead of raising an exception.
2016-09-10 16:42:27 +02:00
Florian Bruhin
cc4cd6913d Make download model qtmodeltester compliant 2016-09-10 16:24:31 +02:00
Florian Bruhin
3bf841bdb4 Delete file on infinite redirects 2016-09-10 16:24:31 +02:00
Florian Bruhin
dc0ddd023a Add logging for deleting/removing downloads 2016-09-10 16:24:31 +02:00
Jussi Timperi
13d73359d4 QtWebKit: Handle visibility API
closes #1886
2016-09-10 16:07:29 +03:00
Florian Bruhin
7f2cc5dbc3 Make remove_data in DownloadItem.cancel kw-only 2016-09-09 19:29:14 +02:00
Florian Bruhin
b39d33d5e3 Revert "Remove remove_data arg for DownloadItem.cancel"
This reverts commit ece85dc903.

It's actually needed in _ask_confirm_question...
2016-09-09 19:28:17 +02:00
Florian Bruhin
433a8a8ced Fix filename with a misconfigured XDG_DOWNLOAD_DIR
'filename' is the relative path we got from the broken config file.
Instead of using the garbage, let's just drop it and use the suggested
name (self.basename) instead.
2016-09-09 18:46:51 +02:00
Florian Bruhin
a5793695de Mark almost-impossible check with a nocover pragma
This can only happen when running :download-open on a download created
by :adblock-update right now, which is a very small chance, so we can't
easily test for it.
2016-09-09 18:46:51 +02:00
Florian Bruhin
ece85dc903 Remove remove_data arg for DownloadItem.cancel
This was added in f0779f8cc0 but never
actually used.
2016-09-09 18:46:51 +02:00
Florian Bruhin
ab30124bd0 Remove (hopefully) dead download code
If the percentage is None, remaining/total should always be None
too (as percentage/remaining being None should be triggered by total
being None).
2016-09-09 18:46:51 +02:00
Florian Bruhin
7611281563 Add basename to "download finished" message 2016-09-09 18:46:51 +02:00
Florian Bruhin
864ec94cde Fix lint 2016-09-09 17:56:58 +02:00
knaggita
9ff3f6810a Remove --qt-* arguments 2016-09-09 17:55:16 +02:00
Florian Bruhin
f75f45addc Fix at_bottom scrolling check
This is a regression introduced in
b45f940e72
2016-09-09 16:03:51 +02:00
Florian Bruhin
d0cf452ec8 Remove :prompt-yes and :prompt-no
Those are replaced by :prompt-accept yes and :prompt-accept no
2016-09-09 15:59:00 +02:00
Florian Bruhin
d579697245 Add a value argument to :prompt-accept 2016-09-09 15:48:42 +02:00
Florian Bruhin
b45f940e72 Move some scroll logic from JS to Python 2016-09-09 14:19:21 +02:00
Florian Bruhin
71a89bd418 *Really* fix completion with multiple words.
Turns out re.escape also escapes spaces, so we'd need to replace '(\\ )'
groups after escaping. At this point it's easier to just combine spaces
before escaping the pattern.

Fixes #1934.
Supersedes #1935.
2016-09-09 09:03:18 +02:00
Florian Bruhin
0a3853fcb7 Fix handling of spaces in completion
This is a regression introduced in
faa052ad6f.

Fixes #1934.
2016-09-08 21:59:18 +02:00
Florian Bruhin
f8f74400c6 Fix more lint 2016-09-07 18:57:00 +02:00
Florian Bruhin
955910a0e8 Fix lint 2016-09-07 18:45:46 +02:00
Florian Bruhin
44d1056e54 QtWebEngine: Implement custom HTTP headers 2016-09-07 18:29:38 +02:00
Florian Bruhin
5a54699863 Remove unused code from qutebrowser.browser.shared 2016-09-07 18:17:56 +02:00
Florian Bruhin
df7f74c782 Add qutebrowser.browser.shared 2016-09-07 18:17:05 +02:00
Florian Bruhin
d7f9e4735e earlyinit: Only display exception if there was one 2016-09-07 17:33:22 +02:00
Florian Bruhin
4d91ccfea5 Enforce Qt >= 5.6.0 for QtWebEngine 2016-09-07 17:31:48 +02:00
Florian Bruhin
02bd42cbed Implement adblocking for QtWebEngine 2016-09-07 17:27:21 +02:00
Florian Bruhin
6fec236757 Add some blank lines to app._init_modules 2016-09-07 16:45:46 +02:00
Florian Bruhin
3a55dbf712 Don't use 'current' win_id for adblock update 2016-09-07 16:24:51 +02:00
Florian Bruhin
bac7a6eaf2 Remove BrowserPage.chooseFile
Seems like QtWebKit comes with a default implementation of that.
2016-09-07 13:39:19 +02:00
Florian Bruhin
8c3906b784 Remove BrowserPage.shouldInterruptJavaScript
This is useless due to a Qt bug anyways:
https://bugreports.qt.io/issues/?jql=text%20~%20%22shouldInterruptJavascript%22
2016-09-07 12:49:57 +02:00
Florian Bruhin
fca37abf55 QtWebEngine: Implement webelem.classes 2016-09-07 12:31:48 +02:00
Florian Bruhin
3e1583bb1c Make WebKitElement._is_visible private
It makes a lot of sense for this to be in webkitelem.py, but it should
not be public API as it's only used internally and can't be implemented
here with QtWebEngine.
2016-09-07 11:58:39 +02:00
Florian Bruhin
ae3b7c9f15 Remove unused imports 2016-09-07 11:51:57 +02:00
Florian Bruhin
0ff98f568c Add a webelem logger 2016-09-07 11:51:23 +02:00
Florian Bruhin
c3b80c6b5b Use double quotes for JS strings
eslint won't enforce it inside that snippet, but hey, why not?
2016-09-07 11:48:34 +02:00
Florian Bruhin
60c86a08c4 Get rid of WebElement.debug_text 2016-09-07 11:47:39 +02:00
Florian Bruhin
e700d11447 Add check_vanished() in webkitelem.insert_text 2016-09-07 11:29:26 +02:00
Florian Bruhin
8f9cfcf232 Get rid of webelem.run_js_async 2016-09-07 11:27:37 +02:00
Florian Bruhin
78d64f4791 Get rid of webkitelem.focus_elem 2016-09-07 11:24:28 +02:00
Florian Bruhin
948fa033c7 Implement :insert-text for QtWebEngine 2016-09-07 11:20:32 +02:00
Florian Bruhin
ee5a972069 Move auto-insert-mode handling to browsertab
This means auto-insert-mode now works correctly with QtWebEngine.
2016-09-07 10:24:27 +02:00
Florian Bruhin
2ef6423cf2 Add some QtWebEngine comments to webkit.webview 2016-09-07 10:11:01 +02:00
Florian Bruhin
02df91e369 Mark colors -> webpage.bg as QtWebKit-only 2016-09-07 09:49:37 +02:00
Florian Bruhin
919196714b QtWebEngine: Implement WebEngineScroller.at_bottom 2016-09-07 09:32:51 +02:00
Daniel Schadt
22ac19b151 style fixes 2016-09-06 20:33:48 +02:00
Florian Bruhin
b65440e7e3 Update docs 2016-09-06 18:21:12 +02:00
Florian Bruhin
7c4548ece1 Split off _yank_url from :yank 2016-09-06 18:19:40 +02:00
nanjekyejoannah
d3e19ec8fc Add general -> yank-ignored-url-parameters 2016-09-06 18:19:40 +02:00