Commit Graph

947 Commits

Author SHA1 Message Date
Florian Bruhin
9333e92891 Remove download assertions. 2014-11-24 06:55:54 +01:00
Florian Bruhin
6856c49be9 Handle HTTP redirections in downloads. 2014-11-24 00:12:52 +01:00
Florian Bruhin
655115858c Handle OSError when using subprocess. 2014-11-23 18:07:05 +01:00
Florian Bruhin
615be2a4bc Update docs. 2014-11-20 06:36:08 +01:00
Florian Bruhin
9c180fd91b Add a dest-parameter to :download. 2014-11-20 06:24:15 +01:00
Florian Bruhin
283cedff15 Never get downloads from the cache.
This is a workaround for corrupted files because Qt somehow reads them from the
cache wrongly. See https://bugreports.qt-project.org/browse/QTBUG-42757

This might fix a part of #78 - but we'll leave this open for now, since it
might also be another issue.
2014-11-19 19:43:07 +01:00
Florian Bruhin
b8b31fd914 downloads: default autoclose=True. Fixes #265. 2014-11-18 20:10:57 +01:00
Florian Bruhin
2a95533564 Add some assertions for 'successful'. 2014-11-18 19:56:57 +01:00
Florian Bruhin
b1d6e70c8b Check URL validity in :download. 2014-11-18 19:49:55 +01:00
Florian Bruhin
75d1f072c2 Add a raise_cmdexc_if_invalid to urlutils. 2014-11-18 19:49:31 +01:00
Florian Bruhin
41c3a59e81 Add a :download command. 2014-11-18 19:38:34 +01:00
Florian Bruhin
40918bfc98 Use _die on QNetworkReply errors. 2014-11-18 07:47:28 +01:00
Florian Bruhin
406f7b3b84 Don't try to set fileobject on errors. 2014-11-18 07:47:28 +01:00
Florian Bruhin
c6deae36b1 Fix setting of successful flag. 2014-11-18 07:47:28 +01:00
Florian Bruhin
829b8df535 downloads: Return the created DownloadItem. 2014-11-18 07:47:28 +01:00
Florian Bruhin
6301c740d1 downloads: Add a generic NetworkManager. 2014-11-18 07:47:28 +01:00
Florian Bruhin
c8a1c979e8 downloads: Whitespace change. 2014-11-18 07:47:28 +01:00
Florian Bruhin
d31e8edffc downloads: Document _win_id. 2014-11-18 07:47:28 +01:00
Florian Bruhin
da49424836 downloads: Make it possible to set fileobj instead of name. 2014-11-18 07:47:28 +01:00
Florian Bruhin
5ad516a438 DownloadItem: Make fileobj public. 2014-11-18 07:47:28 +01:00
Florian Bruhin
f250cd41ad DownloadItem: Add an autoclose attribute. 2014-11-18 07:47:28 +01:00
Florian Bruhin
ab0dba3344 DownloadItem: add successful attribute. 2014-11-18 07:47:28 +01:00
Florian Bruhin
ecbebba9e9 hints: Ignore TypeError when disconnecting contentsSizeChanged.
Fixes #263.
2014-11-16 00:05:20 +01:00
Florian Bruhin
3f6a40aac9 Update cache size if storage->cache-size is changed. 2014-11-14 19:02:22 +01:00
Florian Bruhin
b70c3754e8 downloads: Check if reply is open when doing delayed write.
This fixes a "QIODevice::read: device not open" warning when closing the window
while a download is active.
2014-11-11 21:40:25 +01:00
Florian Bruhin
b502280c06 Make download-manager a per-window object.
Fixes #228.
2014-11-11 21:36:47 +01:00
Florian Bruhin
326ce91eb7 Append hint elements inside body.
Fixes #226.
2014-11-09 22:02:08 +01:00
Florian Bruhin
c3a83bc412 Add hover description to docstring (#238) 2014-11-02 20:08:40 +01:00
Florian Bruhin
7b670b134d Small whitespace fix for #238 2014-11-02 20:04:41 +01:00
rikn00
4d101eea59 Improve hovering a hint 2014-11-02 16:37:34 +02:00
rikn00
84759a4928 Add support to hover mouse over a hint 2014-11-01 01:54:19 +02:00
Florian Bruhin
904d84db7e Set split=False for :quickmark-load.
See #231.

The completion still hides on the space and reappears on the first letter of
the second word, but it's a start.
2014-10-29 22:55:03 +01:00
Florian Bruhin
8e0e33e89a Use QWebElement API to set hint elem style.
See #225.
2014-10-29 22:50:29 +01:00
Florian Bruhin
2937fb9232 Use QWebElement API to set hint elem attributes.
Fixes #225.
2014-10-29 21:01:32 +01:00
Florian Bruhin
a1ba05ff08 Add some logging for #152 2014-10-29 07:09:43 +01:00
Florian Bruhin
0c8b9fe095 Add vdebug logging for hints.
This hopefully helps with #225.
2014-10-28 19:00:41 +01:00
Florian Bruhin
ae2284f4aa Fix multiple file QWebPage extension.
We accidentally broke that in 4c78b611eb.
2014-10-26 22:07:15 +01:00
Florian Bruhin
2d9425a0b7 Fix uppercase hint formatting. 2014-10-26 17:05:56 +01:00
Florian Bruhin
ef9e31c2d9 Merge branch 'master' of https://github.com/peterlvilim/qutebrowser into uppercase-hint 2014-10-26 19:50:54 +01:00
Peter Vilim
ee875ba895 hints: Show uppercase hint chars #73 2014-10-26 03:04:48 -05:00
Florian Bruhin
4c78b611eb Clean up QWebPage::extension handling. 2014-10-25 23:59:09 +02:00
Florian Bruhin
c79c1f950a Open unknown protocols with external viewer.
Closes #210.
2014-10-25 23:51:22 +02:00
Florian Bruhin
c2daadf0bd Fix exception when element has no web frame. 2014-10-22 20:18:58 +02:00
Florian Bruhin
fd6e56d7af Convert all function annotations to dicts. 2014-10-20 17:20:39 +02:00
Florian Bruhin
9f242cb907 Fix lint 2014-10-20 00:33:52 +02:00
Florian Bruhin
596c33fe1c Merge branch 'quickmark-completion' 2014-10-20 00:29:46 +02:00
Florian Bruhin
eb7d12445b Fix indent 2014-10-20 00:29:19 +02:00
Claude
ecbe5c071d match urls with open, names with quickmark-load 2014-10-19 22:25:21 +02:00
Florian Bruhin
76de3d0c51 Use signals and decorators for configs again.
This basically rolls back 64a119afb2 and
b7f2a6d143.

Fixes #188.
Breaks #156 again but the next commit will fix this.
2014-10-18 19:50:10 +02:00
Claude
9613cc0eab Merge remote-tracking branch 'florian/master' into quickmark-completion 2014-10-17 20:46:00 +02:00
Florian Bruhin
5a5ff70703 hints: fix replacing of {hint-url}.
Fixes #200.
2014-10-17 11:39:44 +02:00
Florian Bruhin
ee02f339d7 Draw hints correctly when page is zoomed.
Fixes #199.
2014-10-17 11:32:41 +02:00
Florian Bruhin
7e820a0e82 Show error messages in downloads. 2014-10-15 21:22:53 +02:00
Florian Bruhin
b54151f206 Use last focused window for download errors and other stuff.
When the event happens, it's possible we don't have any window focused yet, so
we display it in the window which was last focused.

Fixes #191.
2014-10-15 20:42:40 +02:00
Florian Bruhin
74839d7aff Use a QObject for quickmarks and add a changed signal.
See #189.
2014-10-15 16:55:55 +02:00
Claude
f4c7c1d5a0 der Sensemann 2014-10-15 12:04:37 +02:00
Claude
777e93bd3f quickmarks completion
It works, but:
* terrible performance (5s for ~1600 marks)
* split and join operations in the loop - i want direct access to name +
  url in the marks dict! how?
2014-10-15 11:54:10 +02:00
Florian Bruhin
7cebc94b31 Merge branch 'master' of https://github.com/claudehohl/qutebrowser into claudehohl-master 2014-10-15 06:13:25 +02:00
Florian Bruhin
818d2cb9d3 Split quickmarks correctly (from the right).
This was discovered in #189.
2014-10-14 23:29:24 +02:00
Florian Bruhin
fed1566370 Remove cookies when permissions->cookies-store was changed.
Fixes #116.
2014-10-14 21:24:09 +02:00
Claude
111f7b6e60 fixed a typo 2014-10-12 01:16:28 +02:00
Florian Bruhin
0e771db7f1 Use annotation instead of special argument names.
Explicit is better than implicit.

Fixes #161.
2014-10-09 06:33:24 +02:00
Florian Bruhin
d9213ecf17 Prevent double-entering hint mode. Fixes #160. 2014-10-08 22:19:24 +02:00
Florian Bruhin
61a836fec5 Merge DownloadModel into DownloadManager. 2014-10-08 20:18:44 +02:00
Florian Bruhin
f6695cac7d Small whitespace fix. 2014-10-08 06:22:20 +02:00
Florian Bruhin
0e7a60abf6 Move utils.get_standard_dir to its own file.
This is a preparation for #19 and #20 because there are too many functions
related to standarddir in utils.
2014-10-08 06:20:31 +02:00
Florian Bruhin
86f08a8536 Clean up overriding of javaScriptPrompt. 2014-10-08 05:20:56 +02:00
Florian Bruhin
596afab1ac Fix lint 2014-10-07 23:10:58 +02:00
Florian Bruhin
6349a6a213 Remove Emit:/Raise: from docstrings.
They got out-of-sync fast and provided no real benefit.
2014-10-07 23:08:37 +02:00
Florian Bruhin
6202477db5 Add --left/--right arguments to :tab-only. Closes #46. 2014-10-07 20:56:47 +02:00
Florian Bruhin
d8a917575d Add a cmdutils.check_exclusive function. 2014-10-07 20:39:02 +02:00
Florian Bruhin
8ca5c09e69 Add --left/--right/--opposite to :tab-close.
This fixes the updated version of #46.
2014-10-07 20:30:31 +02:00
Florian Bruhin
3e31e88921 Only close window (instead of quitting) when closing last tab.
This also renames the 'quit' value for tabs->last-close to 'close' to avoid
confusion.

Fixes #154.
2014-10-07 17:09:24 +02:00
Florian Bruhin
f9dc9f4acd Fix rapid hinting. Closes #148. 2014-10-07 07:45:29 +02:00
Florian Bruhin
d2b3f89d78 Remove frame signal workaround for hints. See #152. 2014-10-07 07:15:14 +02:00
Florian Bruhin
f0990aec32 Fix loading of quickmarks with fuzzy URLs 2014-10-07 07:04:49 +02:00
Florian Bruhin
881e45d9eb Fix exception when saving quickmark (multiwin). 2014-10-07 07:02:29 +02:00
Florian Bruhin
a19b6bf563 Fix :view-source 2014-10-06 22:23:12 +02:00
Florian Bruhin
15a2be877a Pass win_id correctly with invalid_url_error. 2014-10-06 22:22:59 +02:00
Florian Bruhin
08fdfebb50 Fix import of urlutils for url_invalid_error. 2014-10-06 22:15:26 +02:00
Florian Bruhin
105c25bc5f Merge branch 'multiwin'
Conflicts:
	qutebrowser/app.py
	qutebrowser/browser/commands.py
	qutebrowser/browser/hints.py
	qutebrowser/keyinput/modeman.py
	qutebrowser/network/networkmanager.py
	qutebrowser/widgets/mainwindow.py
	qutebrowser/widgets/statusbar/command.py
	qutebrowser/widgets/statusbar/prompt.py
	qutebrowser/widgets/statusbar/prompter.py
	qutebrowser/widgets/tabbedbrowser.py
2014-10-06 22:03:58 +02:00
Florian Bruhin
de37ed64ca Remove FIXME 2014-10-06 21:30:24 +02:00
Florian Bruhin
fd9a3fc5e7 Clean up mainwindow import mess. 2014-10-06 21:24:07 +02:00
Florian Bruhin
ecd31a6450 Add tab/window support to :help 2014-10-06 20:40:00 +02:00
Florian Bruhin
9281fa3992 Fix lint/bugs 2014-10-06 19:53:50 +02:00
Florian Bruhin
796dce86ae Remove go_back() and go_forward() from WebView.
If we use these in commands.py, we spawn a new window before checking if we can
go back/forward - but we want to check that before opening a new window.
2014-10-06 19:47:35 +02:00
Florian Bruhin
8eb0489357 Add rapid window hinting. 2014-10-06 19:39:48 +02:00
Florian Bruhin
52e72a8bec Fix window spawning with hints. 2014-10-06 18:47:55 +02:00
Florian Bruhin
6324751af6 More window support. 2014-10-06 17:58:40 +02:00
Florian Bruhin
85ead4273b Register tab registry under window registry with ID. 2014-10-06 07:41:05 +02:00
Florian Bruhin
4dcaa1fdec Be more forgiving when validating URLs. Fixes #141. 2014-10-03 16:58:30 +02:00
Florian Bruhin
e4e8d16ee8 Fix crash on error pages with URLs not encodable in latin1.
It seems PyQt does some implicit latin1 encoding when we set the content
attribute to a string rather than a bytes object.

Fixes #127.
2014-10-02 06:28:49 +02:00
Florian Bruhin
c75563907a Fix getting URL in :view-source.
Fixes #128.
2014-10-02 06:06:08 +02:00
Florian Bruhin
d674b90240 Clean up FIXMEs and add github URLs 2014-10-01 22:23:27 +02:00
Florian Bruhin
42a1d7028d Move :later back from commands to utilcmds. 2014-09-29 19:56:25 +02:00
Florian Bruhin
895f51083d Some more objreg fixes for multi-window. 2014-09-29 07:17:01 +02:00
Florian Bruhin
36f7ff6154 Fix some objreg.get calls. 2014-09-28 23:23:02 +02:00
Florian Bruhin
16c067e32d Simplify showing of main windows. 2014-09-28 22:46:37 +02:00
Florian Bruhin
cc0e164dcf First attempt at adding a --window to commands. 2014-09-28 22:41:43 +02:00
Florian Bruhin
d87b0bf301 Fix pyqtSlot error for downloads. 2014-09-28 22:41:11 +02:00
Florian Bruhin
dc7b32e460 Fix lint 2014-09-28 22:23:37 +02:00
Florian Bruhin
fb6cb62f93 First attempt at multi-window support. 2014-09-28 22:13:14 +02:00
Florian Bruhin
65d1d21d2e Always use a list for namedtuple. 2014-09-28 00:43:08 +02:00
Florian Bruhin
0fadf6b091 Use a list as items-argument for usertypes.enum 2014-09-28 00:42:53 +02:00
Florian Bruhin
8635dc8848 Make it possible to go back/forward in a new tab. 2014-09-27 23:14:39 +02:00
Florian Bruhin
17f2241bc0 Add a :tab-clone command. 2014-09-27 23:13:11 +02:00
Florian Bruhin
4410536f69 Refactor :undo and save/restore history. 2014-09-27 22:56:50 +02:00
Florian Bruhin
36fd2e5c7f Improve __repr__ methods. 2014-09-26 15:48:24 +02:00
Florian Bruhin
c188c6986d Call on_mode_entered only once for hints. 2014-09-25 19:06:38 +02:00
Florian Bruhin
f294e28fca Remove change_title signal in QWebPage.
When emitting it inside acceptNaviationRequest we don't know if javascript will
open a new window, so we could end up setting the title for the *wrong*
(current) tab.

It seems there isn't any good solution to this problem - in
QWebView.createWindow we won't know what the URL is - so we currently just
leave it blank.
2014-09-25 17:34:55 +02:00
Florian Bruhin
7b8829286c Merge branch 'objreg' 2014-09-25 08:08:08 +02:00
Florian Bruhin
55e2ccabf5 Fix lint 2014-09-25 07:58:08 +02:00
Florian Bruhin
78949a8c1b Use object registry for hintmanager. 2014-09-25 07:49:45 +02:00
Florian Bruhin
e029139764 Fix exception when adding quickmark with empty name. 2014-09-25 06:56:25 +02:00
Florian Bruhin
4783df8c32 Avoid download_get signal. 2014-09-25 00:29:29 +02:00
Florian Bruhin
62e55499eb Privatize all attributes which aren't needed from the outside. 2014-09-24 22:25:11 +02:00
Florian Bruhin
8cb6ba01e3 Use object registry for TabbedBrowser in SignalFilter. 2014-09-24 22:25:10 +02:00
Florian Bruhin
59058361b8 Add missing objreg import in browser.webpage. 2014-09-24 22:25:10 +02:00
Florian Bruhin
aa5e1922ef Remove _view attribute in BrowserPage. 2014-09-24 22:25:10 +02:00
Florian Bruhin
9868721cc7 Use object registry for webview.tabbedbrowser. 2014-09-24 22:25:10 +02:00
Florian Bruhin
b119100321 Get rid of _tabs attribute in CommandDispatcher. 2014-09-24 20:21:43 +02:00
Florian Bruhin
5e8144fafa Move cntwidget to commands. 2014-09-24 19:53:31 +02:00
Florian Bruhin
fd9c4b860a Use object registry for url_stack. 2014-09-24 07:32:05 +02:00
Florian Bruhin
3f02451828 Move object registry to its own file. 2014-09-24 07:06:45 +02:00
Florian Bruhin
b121ceef21 Use object registry for last focused tab. 2014-09-24 06:41:51 +02:00
Florian Bruhin
908a69af18 Better __repr__s 2014-09-23 23:31:17 +02:00
Florian Bruhin
9aa65a2341 Fix lint and bugs 2014-09-23 23:17:36 +02:00
Florian Bruhin
2b60cdb64c Object names cleanup 2014-09-23 23:05:55 +02:00
Florian Bruhin
07dde5be80 Fix downloading (getting messagebrige object). 2014-09-23 22:22:44 +02:00
Florian Bruhin
f5b1d3ce4d Use object registry for command-dispatcher. 2014-09-23 21:35:08 +02:00
Florian Bruhin
5f45d3de60 Use object registry for modeman. 2014-09-23 20:02:48 +02:00
Florian Bruhin
58be65f4f0 Use object registry for messagebridge. 2014-09-23 19:53:48 +02:00
Florian Bruhin
10f3c47ae2 Add __repr__ for cookies/cache. 2014-09-23 19:53:47 +02:00
Florian Bruhin
a4079bb39e Split :navigate into several functions 2014-09-22 22:36:31 +02:00
Florian Bruhin
d5a294ae55 commands: Move tab opening to _open functions. 2014-09-22 22:27:19 +02:00
Florian Bruhin
207bb00c50 Add increment/decrement to :navigate 2014-09-22 21:51:09 +02:00
Florian Bruhin
4213550206 Add :navigate up 2014-09-22 21:16:21 +02:00
Florian Bruhin
4615d22a5a browser.commands: Refactor :navigate. 2014-09-22 21:08:11 +02:00
Florian Bruhin
9145ba9656 Adjust comment 2014-09-22 21:03:01 +02:00
Florian Bruhin
51413094bf Merge prev-page/next-page into a navigate command. 2014-09-22 21:01:52 +02:00
Florian Bruhin
688b9a57cb Add missing is_visible check for hints. 2014-09-22 20:06:17 +02:00
Florian Bruhin
812a0fdd41 Merge branch 'newcmd'
Conflicts:
	.flake8
	pkg/PKGBUILD.qutebrowser-git
	qutebrowser/browser/commands.py
	qutebrowser/browser/hints.py
	qutebrowser/config/configdata.py
	qutebrowser/network/qutescheme.py
	qutebrowser/test/config/test_configtypes.py
	qutebrowser/utils/utils.py
2014-09-22 19:09:48 +02:00
Florian Bruhin
53b617590f Maybe fix segfault on download errors. 2014-09-22 17:56:23 +02:00
Florian Bruhin
84cdb30bcb webelem: Avoid unnecessary ::geometry calls 2014-09-19 17:39:37 +02:00
Florian Bruhin
658053842e hints: Wrap elements after checking is_visible.
Wrapping thousands of elements is really slow (>3 seconds for hinting on a
reddit page, because we wrap ~2500 elements with 50 methods each), so we try to
filter the elements first before wrapping them, as the visible elements will be
much less.
2014-09-19 12:32:28 +02:00
Florian Bruhin
2686278b48 webelem: Make it possible to use is_visible with unwrapped elements. 2014-09-19 12:30:38 +02:00
Florian Bruhin
bc884ed51e webelem: Refuse to wrap a wrapper in WebElementWrapper. 2014-09-19 12:28:23 +02:00
Florian Bruhin
a0cc55037e webelem: Get rid of functools.wraps/functools.update_wrapper. 2014-09-19 11:35:10 +02:00
Florian Bruhin
644dfe53e2 Add a decorator to prevent Exceptions (to prevent segfaults). 2014-09-16 22:06:48 +02:00
Florian Bruhin
d1ddc8c6cb Fix lint 2014-09-15 22:01:13 +02:00
Florian Bruhin
19afa69d87 view_source: Add line numbers. 2014-09-15 18:19:56 +02:00
Florian Bruhin
175d25b3c4 Merge branch 'master' of ssh://cmpl.cc:2323/qutebrowser 2014-09-15 18:01:20 +02:00
Florian Bruhin
715aec991e Add view_source command. 2014-09-15 17:59:54 +02:00
Florian Bruhin
81aa08593b hints: Ignore invalid href's instead of crashing. 2014-09-15 06:54:05 +02:00
Florian Bruhin
ad2435fa0b hints: Small cleanup 2014-09-15 06:53:05 +02:00
Florian Bruhin
00193df99e hints: Fix URL resolving crash with new WebElement API. 2014-09-15 06:52:34 +02:00
Florian Bruhin
4d3b3616a6 Fix lint 2014-09-14 23:56:19 +02:00
Florian Bruhin
b9216bca15 Fix hint command arguments. 2014-09-14 23:16:35 +02:00
Florian Bruhin
1fd8fb57a6 Use *args for commands where possible. 2014-09-14 23:10:51 +02:00
Florian Bruhin
b2058e2f0e cmdutils: Default to nargs='+' for *args. 2014-09-14 22:56:02 +02:00
Florian Bruhin
3391896037 Disable workaround for PyQt 5.3.2 2014-09-14 21:12:03 +02:00
Florian Bruhin
38c341e3ea Add count info in commands. 2014-09-13 00:33:54 +02:00
Florian Bruhin
80ef0782d5 Improve some docstrings. 2014-09-13 00:22:27 +02:00
Florian Bruhin
070d5ae300 Add more documentation. 2014-09-08 12:21:47 +02:00
Florian Bruhin
1220f0c5fd Move webelem from utils to browser. 2014-09-08 10:30:05 +02:00
Florian Bruhin
381b06e967 Fix lint 2014-09-08 07:44:32 +02:00
Florian Bruhin
5e6150e665 Add a :help command. 2014-09-08 07:36:18 +02:00
Florian Bruhin
4cf7e6e767 Add docstring for :quickmark-load. 2014-09-08 07:36:17 +02:00
Florian Bruhin
0a094c6e58 Refactor HintManager.start 2014-09-08 07:36:17 +02:00
Florian Bruhin
57d51ad9bb Lots of fixes for new command system.
Squashed commit:

- Fix getting current URL
- Get rid of *args for hints.
- Make enums work.
- Fix moving commands to utilcmds.
- Fix enums in argparse
- Fix arg splitting for hints.
- Fix default enum args.
- Fix argument splitting for hints if None is given.
- Fix set_cmd_text with flags and fix {url}.
- Fix unittests
- Fix tuple types for arguments.
- Fix scroll-page.
- Fix lint
- Fix open_target.
- Others
2014-09-08 07:36:17 +02:00
Florian Bruhin
a811f8cb07 Start initial newcmd stuff. 2014-09-08 07:36:17 +02:00
Florian Bruhin
b856bf3a47 Improve webelement API 2014-09-04 20:30:59 +02:00
Florian Bruhin
b789d14513 Improve prev-page/next-page matching and logging. 2014-09-03 22:55:48 +02:00
Florian Bruhin
71796e9528 Fix statusbar text when entering insert mode via hints.
Before, hints cleaned the statusbar text delayed, clearing the "==== INSERT
MODE ====" in the statusbar.

Now we only reset the text if it wasn't changed.
2014-09-03 11:51:24 +02:00
Florian Bruhin
3e904f4c52 Fix crash when using commands on startup which need a widget. 2014-09-03 11:32:56 +02:00
Florian Bruhin
ccfc0b3c19 Get rid of most @property's.
They were problematic because they're executing hidden code, and also PyQt
hides exceptions happening inside them.
2014-09-02 23:37:47 +02:00
Florian Bruhin
4caec2becb Document and mark workarounds. 2014-09-02 20:44:58 +02:00
Florian Bruhin
428d70c746 Add a network disk cache. 2014-09-01 19:42:21 +02:00
Florian Bruhin
6d97da7bcc browser.downloads: Download with default name if path is given. 2014-09-01 17:51:49 +02:00
Florian Bruhin
0a646b110b Store cookies in binary format.
We saved/opened cookies as UTF-8 which lead to an exception on saving with a
cookie with an ä in it.

ISO-8859-1 would be more appropriate, but we trust Qt to make the right choice
and don't re-encode anything now.
2014-09-01 16:22:01 +02:00
Florian Bruhin
c9ea83ca7b Fix lint 2014-08-29 06:14:52 +02:00
Florian Bruhin
bf515a4104 Adjust import 2014-08-28 22:11:30 +02:00
Florian Bruhin
d6b1b7be3a Handle exceptions in QWebPage::extension differently. 2014-08-28 22:11:10 +02:00
Florian Bruhin
a6ae129595 Use jinja for error page. 2014-08-28 20:14:40 +02:00
Florian Bruhin
5176dac391 Raise exceptions in QWebPage::extensions properly. 2014-08-28 20:14:24 +02:00
Florian Bruhin
ce4a5affa4 Rename commands.utils to commands.cmdutils. 2014-08-26 20:48:39 +02:00
Florian Bruhin
c72bfff306 Rename commands.exceptions to commands.cmdexc. 2014-08-26 20:38:10 +02:00
Florian Bruhin
5adf48ed3d Rename utils.url to utils.urlutils. 2014-08-26 20:33:41 +02:00
Florian Bruhin
8bd64382bd Rename utils.qt to utils.qtutils. 2014-08-26 20:25:11 +02:00
Florian Bruhin
d9a8cbe7ad Rename utils.misc to utils.utils 2014-08-26 20:20:17 +02:00
Florian Bruhin
b4298c2922 Remove 'as logger' imports. 2014-08-26 20:15:41 +02:00
Florian Bruhin
e04b31eb90 Remove qt_ prefix from qtutils functions. 2014-08-26 19:23:06 +02:00
Florian Bruhin
d625cde28c Clean up imports 2014-08-26 19:10:14 +02:00
Florian Bruhin
f452b02b24 Turn off repainting while moving tabs.
Before we had some flashing because we're removing the tab, inserting the new
one, and then focusing the new one.
2014-08-25 15:41:19 +02:00
Florian Bruhin
743cc47229 Default to delta=1 for gl/gr. 2014-08-25 15:40:48 +02:00
Florian Bruhin
03cb9c353b Fix clipboard selection in :paste on windows. 2014-08-25 15:28:07 +02:00
Florian Bruhin
9585b3c925 Add some logging for content-disposition 2014-08-14 14:59:13 +02:00
Florian Bruhin
dd2ed78f40 Handle wrong image/jpg mimetype in unsupportedContent slot. 2014-08-12 21:08:13 +02:00
Florian Bruhin
be2604cacd Add a new qutebrowser.utils.http module 2014-08-12 07:00:04 +02:00
Florian Bruhin
c7ee655750 Use pylint to check modelines and fix them. 2014-08-06 23:51:44 +02:00
Florian Bruhin
13b6fe24eb Reorder tab stuff in config. 2014-08-06 08:10:32 +02:00
Florian Bruhin
1217ed26ad Handle tab position of explicitely opened tab differently.
The default behaviour now should be the same as Chromium.
2014-08-06 07:58:07 +02:00
Florian Bruhin
c94ff7b946 Fix import for get_standard_dir 2014-08-05 19:58:47 +02:00
Florian Bruhin
11f1c8f369 Don't default all directories to DownloadPath if empty 2014-08-05 18:02:12 +02:00
Florian Bruhin
ee1b136807 Clean up pylint/noqa comments. 2014-08-04 03:47:09 +02:00
Florian Bruhin
3dc7a1b735 Lock mode while prompting. 2014-08-04 03:14:14 +02:00
Florian Bruhin
90f1d5851c Fix lint. 2014-08-03 00:58:59 +02:00
Florian Bruhin
acfc95e19d Simplify :hint by adding a 'fill' target. 2014-08-03 00:56:42 +02:00
Florian Bruhin
40aa387fb2 Whitespace fixes 2014-08-03 00:40:28 +02:00
Florian Bruhin
b68f22541c Merge tab-focus-last into tab-focus. 2014-08-03 00:39:39 +02:00
Florian Bruhin
d302886b87 Fix too long lines. 2014-08-03 00:36:35 +02:00
Florian Bruhin
9e73cba333 Improve command documentation. 2014-08-03 00:33:39 +02:00
Florian Bruhin
6c4b21117c Fix typo 2014-08-02 23:58:52 +02:00
Florian Bruhin
3467dd77ac Document the :hint command. 2014-08-02 23:46:27 +02:00
Florian Bruhin
c1d9f70fd6 Make js alert/confirm messages a bit more clear. 2014-08-02 16:16:13 +02:00
Florian Bruhin
f19a1db120 Clean up tab shutdown. 2014-08-01 23:23:31 +02:00
Florian Bruhin
682a395936 Shut down tabs while quitting 2014-07-31 20:40:21 +02:00
Florian Bruhin
cf8a8ad3b4 Fix crash when closing tab then doing tab-focus-last. 2014-07-29 22:42:59 +02:00
Florian Bruhin
e1f9403876 Clean up hint command. 2014-07-29 02:24:04 +02:00
Florian Bruhin
425a7fd7c4 Simplify userscript running. 2014-07-29 02:05:15 +02:00
Florian Bruhin
b83dd59469 Add userscript/spawn targets to hints. 2014-07-29 01:45:42 +02:00
Florian Bruhin
54246bacbe Add some type checking for enums 2014-07-29 00:23:20 +02:00
Florian Bruhin
7c8f9bec0f Use enum for keyboard modes. 2014-07-29 00:19:35 +02:00
Florian Bruhin
860ef75abc Fix lint 2014-07-28 21:09:49 +02:00
Florian Bruhin
8d80ce2628 Switch to python 3.4 enums.
Our home-brewn enum wasn't really liked by pylint (many no-member errors), so
instead of adding some workaround, we just use the python 3.4 enum instead.

This however also means we need to depend on Python 3.4 and not 3.3. Maybe we
should use enum34 on Python < 3.3.
2014-07-28 20:41:42 +02:00
Florian Bruhin
d60ff5ed27 Add a set-cmd-text command. 2014-07-28 02:16:37 +02:00
Florian Bruhin
e0bd89b762 Add an {url} variable for commands.
Note this also means we don't support :spawn running in a shell anymore, as
{url} is evaluated earlier. However this should be fine, as there's no really
important use case for that anyways, and shell escaping on Windows is rather
unmaintainable.
2014-07-28 01:40:36 +02:00
Florian Bruhin
f7304298ab Separate docstrings into command/documentation parts. 2014-07-16 20:09:41 +02:00
Florian Bruhin
23baab1fc0 Merge branch 'master' of ssh://cmpl.cc:2323/qutebrowser
Conflicts:
	qutebrowser/utils/webelem.py
2014-07-16 11:09:13 +02:00
Florian Bruhin
98edd45fee Stop using self.sender() in signalfilter, connect signals to mainframe 2014-07-16 11:07:05 +02:00
Florian Bruhin
e250d42f0b Better debugging for editing 2014-07-16 09:28:28 +02:00
Florian Bruhin
1f3b39eb75 Get rid of prevnext_rel selector group 2014-07-16 09:17:59 +02:00
Florian Bruhin
958b114d29 Add stricter focus checking for editor 2014-07-16 08:46:52 +02:00
Florian Bruhin
810e507da9 Add a focus_elem function to utils.webelem. 2014-07-16 07:55:30 +02:00
Florian Bruhin
bbd9d24334 Handle elements with contenteditable correctly for editor 2014-07-16 07:42:02 +02:00
Florian Bruhin
d5c8e73b14 Use same focus code for insertmode/editor 2014-07-16 06:58:01 +02:00
Florian Bruhin
fad22c63d9 Go back to using one NetworkManager per tab 2014-07-10 06:42:52 +02:00
Florian Bruhin
781390828f Merge branch 'master' of ssh://lupin/qutebrowser 2014-07-09 21:14:32 +02:00
Florian Bruhin
72b854049b Improvments for hints/page-prev/page-next 2014-07-09 21:14:15 +02:00
Florian Bruhin
5feee871ac Fix lint 2014-07-07 12:00:51 +02:00
Florian Bruhin
f173583605 Documentation update for Qt 5.3.1 2014-07-04 14:37:31 +02:00
Florian Bruhin
c18027f3ae Override QWebPage::acceptNavigationRequest.
We now do this instead of using linkDelegationPolicy and the linkClicked signal
of QWebView, as we are unable to get the target frame with linkClicked, causing
frames to open full-page instead of where they should.

See https://bugs.webkit.org/show_bug.cgi?id=37847
2014-07-02 22:17:36 +02:00
Florian Bruhin
400f619903 Handle user variables in path correctly 2014-06-28 01:15:31 +02:00
Florian Bruhin
1a73a90515 Fix downloading with relative filepaths 2014-06-27 18:30:20 +02:00
Florian Bruhin
b79cdbc416 Clean up Question objects correctly 2014-06-27 07:56:16 +02:00
Florian Bruhin
e95ef9ab4a Don't log scrolling 2014-06-26 14:10:53 +02:00
Florian Bruhin
46d621629f Fix download/question crashes 2014-06-26 13:36:00 +02:00
Florian Bruhin
92ff957543 Clean up message API 2014-06-26 07:58:00 +02:00
Florian Bruhin
7073d14cb8 Handle absolute paths for downloads better 2014-06-25 22:06:16 +02:00
Florian Bruhin
3c82724d10 Don't die on invalid quickmarks 2014-06-25 11:03:26 +02:00
Florian Bruhin
ab99669b4a Remove unused import 2014-06-25 10:03:13 +02:00
Florian Bruhin
c8cc92e8c2 Add basic HTML log 2014-06-25 10:00:27 +02:00
Florian Bruhin
411d57e539 Fix download-page 2014-06-25 10:00:09 +02:00
Florian Bruhin
9b4cc6ab76 Nicer downloads when size is unknown 2014-06-24 17:57:52 +02:00
Florian Bruhin
c7f2b45cbd Always yank to clipboard if primary selection is unavailable 2014-06-24 12:04:36 +02:00
Florian Bruhin
81990f792f Avoid using QApplication for downloads 2014-06-23 17:30:28 +02:00
Florian Bruhin
98a2e80b38 Fix quickmarks 2014-06-23 16:12:35 +02:00
Florian Bruhin
dc91bcdf91 Don't crash if URLs are invalid in commands 2014-06-23 14:26:47 +02:00
Florian Bruhin
f12d243f03 Clean up import 2014-06-23 12:17:13 +02:00
Florian Bruhin
e4b10af41a Move filename checking to utils.misc 2014-06-23 12:15:10 +02:00
Florian Bruhin
8a8ca0c34f Split utils.misc into utils.{qt,misc} 2014-06-23 07:45:04 +02:00
Florian Bruhin
5996651a2f Merge utils.signals into utils.debug 2014-06-23 07:11:15 +02:00
Florian Bruhin
bf9e829d4d Don't use .warn on loggers, use .warning instead. 2014-06-22 23:30:44 +02:00
Florian Bruhin
49fd08b30d Leave URLs encoded when setting commandline 2014-06-21 23:19:59 +02:00
Florian Bruhin
a64775a0f9 Improve logging messages 2014-06-21 22:40:31 +02:00
Florian Bruhin
664079c728 Don't raise CommandError in HintManager.fire 2014-06-21 17:41:25 +02:00
Florian Bruhin
7a6e2b3242 Ensure validity of Qt objects 2014-06-21 17:02:30 +02:00
Florian Bruhin
0dc2ecef46 Check QUrl objects for validity 2014-06-20 23:57:52 +02:00
Florian Bruhin
113221c731 Log some exceptions 2014-06-20 23:26:19 +02:00
Florian Bruhin
736f559afa Fix URL handling for quickmarks. 2014-06-20 22:57:32 +02:00
Florian Bruhin
2d2ee71bee Remove passwords from URLs going out via an insecure channel. 2014-06-20 22:57:04 +02:00
Florian Bruhin
d6fb0f7774 Fix crash when pasting an URL 2014-06-20 22:31:39 +02:00
Florian Bruhin
8b6af23b13 Make sure we don't display passwords in URLs to the user 2014-06-20 19:50:44 +02:00
Florian Bruhin
0fd64419da Remove urlutils.{urlstring,qurl}.
The idea of treating an URL-string and a QUrl as essentially the same data type
got us into all kinds of problems. Now we use QUrl everywhere except at the
borders to the user interface.
2014-06-20 16:33:01 +02:00
Florian Bruhin
3c9b4369cd Don't crash on Content-Disposition with wrong enc.
When declaring UTF-8 but encoding RFC2231 ISO-8859-1, rfc2259 raises an
UnicodeDecodeError.

Test case: http://greenbytes.de/tech/tc2231/#attwithfn2231iso-bad
2014-06-19 23:14:20 +02:00
Florian Bruhin
7690e918a2 Handle early download errors correctly 2014-06-19 21:37:22 +02:00
Florian Bruhin
0dfdd422a2 Prevent double-deleting file in downloads 2014-06-19 21:27:57 +02:00
Florian Bruhin
684154dd7d Remove set_trace 2014-06-19 21:26:01 +02:00
Florian Bruhin
2fd475b1a4 Fix downloading without content-disposition 2014-06-19 21:09:33 +02:00
Florian Bruhin
6ce5afccbe Use rfc6266 to handle Content-Disposition in downloads 2014-06-19 21:06:19 +02:00
Florian Bruhin
6b12572fb0 Add dwb download keybindings. 2014-06-19 17:58:46 +02:00
Florian Bruhin
c56c7c0394 Support cancelling a javascript confirm dialog 2014-06-19 12:21:22 +02:00
Florian Bruhin
d65587128f Add vim modelines to all files. 2014-06-19 09:04:37 +02:00
Florian Bruhin
b25b3c3786 Remove accidentally commited set_trace 2014-06-19 07:52:32 +02:00
Florian Bruhin
6e59b0ab3a Parse Content-Disposition header properly 2014-06-18 22:52:49 +02:00
Florian Bruhin
4a0e34fca7 Delete print dialogs on close 2014-06-17 14:33:15 +02:00
Florian Bruhin
2388874e82 Delete question if download as cancelled 2014-06-17 11:26:45 +02:00
Florian Bruhin
52bbabd91a Clean up downloads properly 2014-06-17 11:06:59 +02:00
Florian Bruhin
1fef2d02b9 Add an :all-objects command and __repr__s 2014-06-17 11:03:42 +02:00
Florian Bruhin
af9e4ae072 Fix parent/child relationships 2014-06-17 07:17:21 +02:00
Florian Bruhin
177e2945b6 Use currying instead of self.sender() where applicable 2014-06-16 22:49:22 +02:00
Florian Bruhin
7325cefdae Fix lint 2014-06-16 12:11:10 +02:00
Florian Bruhin
903de515e7 Add a check whether print works. 2014-06-16 10:21:03 +02:00
Florian Bruhin
43490202ca Add a qt_version_check function to utils.misc.
We're usually only interested in the runtime version, not in the compile-time
version, so we use this rather than comparing to QT_VERSION/PYQT_VERSION.
2014-06-16 10:20:05 +02:00
Florian Bruhin
d97823615a Auto-enable javaScriptPrompt at PyQt > 5.3.0 2014-06-16 08:52:47 +02:00
Florian Bruhin
f58e702589 Don't override javaScriptPrompt because of PyQt bugs 2014-06-14 23:31:39 +02:00
Florian Bruhin
9b42617c76 Fix lint 2014-06-13 23:09:24 +02:00
Florian Bruhin
5d6cb0e45d Clean up download value calculations 2014-06-13 22:51:16 +02:00
Florian Bruhin
85ee71b739 Add a rolling average of dl speed for time estimation 2014-06-13 21:53:06 +02:00
Florian Bruhin
d80c05b0b1 Decrease download speed refresh interval 2014-06-13 21:43:04 +02:00
Florian Bruhin
47c1908da2 Keep a reference to download path Question objects. 2014-06-13 20:18:16 +02:00
Florian Bruhin
fce591839b Abort filename prompt when download is cancelled. 2014-06-13 18:19:18 +02:00
Florian Bruhin
3e5e8e59c1 Add right-click menu to cancel download 2014-06-13 12:19:30 +02:00
Florian Bruhin
cd7d6b87f9 Format donwload string so it jumps less 2014-06-13 07:49:47 +02:00
Florian Bruhin
4dc33102b7 Cleanup 2014-06-13 07:41:51 +02:00
Florian Bruhin
efd83f40ca Print human readable sizes in downloads 2014-06-13 07:13:47 +02:00
Florian Bruhin
8c673ee66c Add basic download info to view 2014-06-12 23:29:34 +02:00
Florian Bruhin
2ffc9bb00a Add colors to DownloadView 2014-06-12 21:43:30 +02:00
Florian Bruhin
3c2c08f73a Add missing docstrings 2014-06-12 17:56:28 +02:00
Florian Bruhin
ad7856569f Handle download errors and handle everything async 2014-06-12 17:50:09 +02:00
Florian Bruhin
dc0b025055 Forward unsupported content properly 2014-06-12 13:17:45 +02:00
Florian Bruhin
db55865449 Add data_changed signal to downloadmanager. 2014-06-12 10:19:16 +02:00
Florian Bruhin
905eb9056d Fix speed calculation if downloadProgress hasn't been called yet. 2014-06-12 10:18:25 +02:00
Florian Bruhin
22a0639825 Connect readyRead signal properly 2014-06-12 10:18:02 +02:00
Florian Bruhin
a0d4429a32 Log download errors 2014-06-12 10:17:49 +02:00
Florian Bruhin
2114f0cd73 Start adding download model/view 2014-06-12 08:02:44 +02:00
Florian Bruhin
ace59e6f01 Fix speed calculation and do it more often 2014-06-11 22:40:28 +02:00
Florian Bruhin
35d35d31da Add some logging 2014-06-11 22:35:02 +02:00
Florian Bruhin
788302890f Add signals to DownloadItem 2014-06-11 22:33:40 +02:00
Florian Bruhin
c61289cedc Fix lint 2014-06-11 21:58:06 +02:00
Florian Bruhin
96891f6241 First working download draft 2014-06-11 21:55:23 +02:00
Florian Bruhin
80e2259df3 Add DownloadItem class 2014-06-11 17:27:39 +02:00
Florian Bruhin
7dd5b1b94e First debugging implementation of downloads 2014-06-10 22:11:17 +02:00
Florian Bruhin
71bc640131 Fix lint 2014-06-10 17:01:00 +02:00
Florian Bruhin
7315712359 Use statusbar to ask if long-running script should be interrupted. 2014-06-10 16:49:56 +02:00
Florian Bruhin
67f64b5e6a Support printing via javascript. 2014-06-10 16:49:44 +02:00
Florian Bruhin
57024f3174 Merge branch 'master' of ssh://cmpl.cc:2323/qutebrowser 2014-06-10 16:17:12 +02:00
Florian Bruhin
0e55f4d692 Implement file uploading 2014-06-10 16:16:42 +02:00
Florian Bruhin
2a2c21e0f7 Load webm videos correctly 2014-06-10 15:38:47 +02:00
Florian Bruhin
126a520674 Add some logging for error pages 2014-06-10 15:31:22 +02:00
Florian Bruhin
6a81710c71 Use HintContext per invocation of hintmanager 2014-06-07 18:07:09 +02:00
Florian Bruhin
2f1cd43f9c Change lists to tuples for immutable values 2014-06-06 17:21:35 +02:00
Florian Bruhin
fd220b1b36 Raise CommandError instead of message.error where possible 2014-06-06 11:55:55 +02:00
Florian Bruhin
af17746c20 Actually respect cookies-store 2014-06-03 20:30:50 +02:00
Florian Bruhin
35a3cc661e Reorder webkit options 2014-06-03 20:28:51 +02:00
Florian Bruhin
da2d8e1048 Log js console messages as debug, not info 2014-06-02 22:18:41 +02:00
Florian Bruhin
161b2ef7af Fix whitespace/CRLF 2014-05-27 16:24:26 +02:00
Florian Bruhin
1ff193e4dd Replace page_ by page() 2014-05-27 16:04:45 +02:00
Florian Bruhin
0976f95db7 Fix docstring 2014-05-27 15:56:44 +02:00
Florian Bruhin
53655dac02 Don't inherit CommandDispatcher from QObject 2014-05-27 15:12:43 +02:00
Florian Bruhin
4538745ffb Implement QWebPage:javaScript* 2014-05-26 20:04:44 +02:00
Florian Bruhin
fa01bfbbad Add per-tab inspector like dwb.
This also means the webinspector will always be detached / in its own window.
2014-05-26 15:35:05 +02:00
Florian Bruhin
8f12df6553 Purge old cookies from cookiejar 2014-05-26 16:09:49 +02:00
Florian Bruhin
1e256699f8 Add topic-specific loggers 2014-05-23 16:11:55 +02:00
Florian Bruhin
0c0cb48471 Fix lint 2014-05-22 15:44:16 +02:00
Florian Bruhin
7308fa97c5 Leave hinting mode when insert mode is entered 2014-05-22 17:49:18 +02:00
Florian Bruhin
8cddbec9e3 Implement quickmarks 2014-05-22 16:44:47 +02:00
Florian Bruhin
f3fd247282 Make LineConfigParser iterable. 2014-05-22 16:40:54 +02:00
Florian Bruhin
8d570b686c Initial userscript support 2014-05-21 19:53:58 +02:00
Florian Bruhin
ecc838d02c Fix ALL the lint 2014-05-21 17:29:09 +02:00
Florian Bruhin
2df8500792 Move ExternalEditor to own file 2014-05-21 15:47:21 +02:00
Florian Bruhin
60f25373e3 Merge branch 'editor'
Conflicts:
	qutebrowser/browser/commands.py
	qutebrowser/utils/misc.py
2014-05-21 15:37:18 +02:00
Florian Bruhin
407af1b02c Pass elem to on_editing_finished 2014-05-21 14:24:45 +02:00
Florian Bruhin
a77a25e6c1 Keep a hard reference to ExternalEditor 2014-05-21 14:22:46 +02:00
Florian Bruhin
ebefdfb5a9 Fix pasting in new tab 2014-05-19 15:09:12 +02:00
Florian Bruhin
633b87f61b Yank cleanup 2014-05-19 11:56:51 +02:00
Florian Bruhin
fe81e46f7c Small clipboard cleanup 2014-05-19 09:52:58 +02:00
Florian Bruhin
118d3e03cd Revert "Make scroll bars hideable"
This reverts commit 1bfbdd79e4.

Conflicts:
	qutebrowser/browser/commands.py
	qutebrowser/config/configdata.py
	qutebrowser/widgets/webview.py
2014-05-19 09:50:56 +02:00
Florian Bruhin
8ed373423a Fix undo 2014-05-18 08:19:27 +02:00
Florian Bruhin
869c0d82e1 Really fix tabclose 2014-05-18 08:18:20 +02:00
Florian Bruhin
d643d6ce44 Fix broken :yank 2014-05-18 08:14:11 +02:00
Florian Bruhin
578a58145c Fix tab closing 2014-05-18 08:08:58 +02:00
Florian Bruhin
1ec0766587 Rename CurCommandDispatcher to CommandDispatcher 2014-05-18 08:04:27 +02:00
Florian Bruhin
844e536fff Command cleanup 2014-05-17 23:22:10 +02:00
Florian Bruhin
c7cf0aaf9a Clean up webview and move commands 2014-05-17 22:38:07 +02:00
Florian Bruhin
d901fe69e6 Rename some commands 2014-05-16 23:01:40 +02:00
Florian Bruhin
19da80e58e Improve logging in signal filter 2014-05-16 21:49:35 +02:00
Florian Bruhin
1bfbdd79e4 Make scroll bars hideable 2014-05-16 14:20:37 +02:00
Florian Bruhin
d3eaeaac91 First steps at getting rid of signal cache 2014-05-15 17:57:08 +02:00
Florian Bruhin
326280f910 Fix consistency and spelling in docstrings/comments 2014-05-15 16:27:34 +02:00
Florian Bruhin
603fbdf239 Range-check all values passed to C code. 2014-05-15 00:02:20 +02:00
Florian Bruhin
cf02330b42 Make hinting work again.
6b2d2713f7 broke this as we accidentally
iterate over self._frames before setting it.
2014-05-14 18:54:34 +02:00
Florian Bruhin
a045511962 Use exceptions for command errors 2014-05-14 18:00:40 +02:00
Florian Bruhin
ed61244964 Make sure scroll count is int 2014-05-14 17:28:47 +02:00
Florian Bruhin
651eab1032 Return after error when there's no hint to follow 2014-05-14 14:56:13 +02:00
Florian Bruhin
6b2d2713f7 Clean up HintManager.start() 2014-05-13 21:13:53 +02:00
Florian Bruhin
0b3854bff1 Work around segfault in hintmanager 2014-05-13 13:42:30 +02:00
Florian Bruhin
d9bb1e904f Support back/forward mouse buttons 2014-05-13 09:53:29 +02:00
Florian Bruhin
7b2961f23e Fix some backslash-quotes 2014-05-12 15:58:09 +02:00
Florian Bruhin
fd43248d89 Remove needs_js for editor 2014-05-12 14:05:05 +02:00
Florian Bruhin
419caf7116 Rename rect_on_screen to rect_on_view 2014-05-12 10:05:00 +02:00
Florian Bruhin
50f31ca7cb Handle visibility of elements on screen correctly 2014-05-12 10:04:27 +02:00
Florian Bruhin
4eebe2dc57 First try at hinting with frames 2014-05-12 07:49:44 +02:00
Florian Bruhin
5a6208862e Add cmdutils.arg_or_count 2014-05-09 19:12:08 +02:00
Florian Bruhin
7966298a64 Don't pass parent to print dialogs. 2014-05-09 17:40:19 +02:00
Florian Bruhin
edc9d0810c Use QCoreApplication.instance() 2014-05-09 17:01:05 +02:00
Florian Bruhin
59a89d31fe Add reasons why modes are entered/left 2014-05-09 16:03:46 +02:00
Florian Bruhin
1785294a43 Fix some lint 2014-05-09 15:30:27 +02:00
Florian Bruhin
f7e6dc0244 Add zoom command. 2014-05-09 14:20:26 +02:00
Florian Bruhin
95f2950335 Add stop command (ctrl-s) 2014-05-09 13:11:47 +02:00
Florian Bruhin
05f38e15a6 Add command home 2014-05-09 13:09:37 +02:00
Florian Bruhin
70c8df095e Switch from appdirs to QStandardPaths 2014-05-08 22:33:24 +02:00
Florian Bruhin
4eb6f896b0 Remove unused import in hints.py 2014-05-08 20:36:23 +02:00
Florian Bruhin
e2a2ed8850 Support QWebView::createWindow (opening windows via js) 2014-05-08 20:36:05 +02:00
Florian Bruhin
14873285e6 Fix enum bugs 2014-05-06 21:09:09 +02:00
Florian Bruhin
164dcfb6bd Always click elements in the center when hinting 2014-05-06 21:07:20 +02:00
Florian Bruhin
557805c8b2 Don't pass an empty QPrinter to QPrintDialog.
This was garbage collected on Linux when the dialog was opened, leading
to segfaults when the printer was changed in the dialog.

But actually we don't need it at all, so we just drop it.
2014-05-06 18:31:08 +02:00
Florian Bruhin
e2ded2e0ad Add logging to handle_partial_key 2014-05-06 17:02:44 +02:00
Florian Bruhin
764c37c8d6 Hide elements instead of deleting them 2014-05-06 17:02:32 +02:00
Florian Bruhin
e683d85799 Add quick and dirty fix for hint clicking 2014-05-06 14:03:48 +02:00
Florian Bruhin
f6c3e00d59 Use NoneString config type for settings with Qt defaults.
This fixes wikipedia looking ugly because setUserStylesheet gets called
with an empty string.
2014-05-06 12:20:02 +02:00
Florian Bruhin
70d6efff96 Elements might be deleted already when hint mode is left 2014-05-06 10:04:40 +02:00
Florian Bruhin
e5000c315d Revert "Use global HintManager"
This reverts commit a76d68f564.

WTF. I thought I reset --hard-ed that one?
2014-05-06 07:11:20 +02:00
Florian Bruhin
3eaf1ec6d8 Remove old logging 2014-05-05 22:34:58 +02:00
Florian Bruhin
a76d68f564 Use global HintManager 2014-05-05 20:28:29 +02:00
Florian Bruhin
c8fd0937b0 Revert "Use global object dict for global objects"
This reverts commit bf2c7831c8.

This was a bad idea as we need to access some of the main attributes
from commands via instance=...
2014-05-05 20:12:20 +02:00
Florian Bruhin
bf2c7831c8 Use global object dict for global objects 2014-05-05 19:12:47 +02:00
Florian Bruhin
36e52721da Fix CRLFs in cookies.py 2014-05-05 17:56:35 +02:00
Florian Bruhin
667b255d01 Use QApplication for global singletons 2014-05-05 17:56:14 +02:00
Florian Bruhin
40720d3451 Whoops 2014-05-05 16:36:59 +02:00
Florian Bruhin
ae95b5ea3b Basic cookie handling 2014-05-05 16:28:43 +02:00
Florian Bruhin
3b75bbf495 Adjust shell_escape to maybe work on windows 2014-05-05 11:09:10 +02:00
Florian Bruhin
9cf713cbe4 Use a metaclass for Enums for easier reverse mapping 2014-05-05 10:08:06 +02:00
Florian Bruhin
4ebe643ea6 Use simple enums for constants 2014-05-05 07:45:36 +02:00
Florian Bruhin
ff37f03725 Explain why we use subprocess/QProcess. 2014-05-03 14:27:44 +02:00
Florian Bruhin
9e609bae8d Add :spawn command 2014-05-03 14:25:22 +02:00
Florian Bruhin
af68474fc3 Make sure frame is not None in HintManager.start 2014-05-02 18:57:59 +02:00
Florian Bruhin
efc613811f Implement numeric hints 2014-05-02 17:53:16 +02:00
Florian Bruhin
615a2e0bb5 Handle invalid hinting modes/targets 2014-05-02 11:25:24 +02:00
Florian Bruhin
ae0966a384 Fix encoding issues on windows.
locale.getpreferredencoding(False) returns cp1252 on Windows, which is
unable to parse our nice unicode arrows.

Therefore, we always need to specify the encoding when using open().

Also we exclude configdata.py from pep257 on Windows because it doesn't
detect the encoding correctly... Bug is submitted:
https://github.com/GreenSteam/pep257/issues/70
2014-05-02 11:15:38 +02:00
Florian Bruhin
be467d5e50 Refactor command argument splitting.
This uses split=True/False as cmdutils.register argument again (because
we would never want to set maxsplit ourselves, only not splitting the
*last* argument makes any sense.

Also this uses shlex for splitting again, like earlier.
2014-05-02 10:28:41 +02:00
Florian Bruhin
678abca244 Make user agent configurable 2014-05-02 06:55:55 +02:00
Florian Bruhin
7aef865b0d Lint fixes 2014-05-01 19:42:51 +02:00
Florian Bruhin
cb8f824f01 Add basurl 2014-05-01 16:40:14 +02:00
Florian Bruhin
5d80831752 prevpage/nextpage updates 2014-05-01 16:35:26 +02:00
Florian Bruhin
a3126635d4 Revert changes in _click 2014-05-01 15:29:18 +02:00
Florian Bruhin
fd678ff864 Make hints work 2014-05-01 15:27:32 +02:00
Florian Bruhin
12b36de5b5 Start implementing prev/next 2014-05-01 00:26:18 +02:00
Florian Bruhin
b9d7c7e7d9 Lint fixes 2014-05-01 00:24:53 +02:00
Florian Bruhin
545e63aa0e Bundle editor functions 2014-04-30 11:27:59 +02:00
Florian Bruhin
903d1876af Handle editor errors 2014-04-30 10:59:43 +02:00
Florian Bruhin
1488e54567 Fix docstrings 2014-04-30 10:46:20 +02:00
Florian Bruhin
689723508f Add broken JS checking for commands 2014-04-30 10:05:55 +02:00
Florian Bruhin
bc02df0bde Add open_editor command 2014-04-29 22:16:44 +02:00
Florian Bruhin
9fd7f8b975 Rewrite HintManager.fire to use handler dicts 2014-04-29 09:09:42 +02:00
Florian Bruhin
0d92e34310 Fix/silence checks 2014-04-28 00:05:14 +02:00
Florian Bruhin
a0f27fed61 Add manual hint following 2014-04-27 21:59:23 +02:00
Florian Bruhin
9252ef94ca Consistent string chars 2014-04-25 16:53:23 +02:00
Florian Bruhin
bc077f7503 Check if currentFrame() is None when starting hints 2014-04-25 13:21:14 +02:00
Florian Bruhin
875666265b s/BrowserTab/WebView/g 2014-04-25 12:24:26 +02:00
Florian Bruhin
6e78f67a81 Rename keyinput stuff 2014-04-25 12:21:01 +02:00
Florian Bruhin
926194849c Use normal commands for hint mode 2014-04-24 23:47:02 +02:00
Florian Bruhin
0def82fe8c Fix lint 2014-04-24 22:49:06 +02:00
Florian Bruhin
9320c813f7 Add set_cmd_text to MessageBridge 2014-04-24 21:28:24 +02:00
Florian Bruhin
c674d96cfe Reorganize input modules into keyinput subpackage 2014-04-24 21:03:45 +02:00
Florian Bruhin
ecdd887664 Split KeyParser into KeyParser (non-chain) and KeyChainParser 2014-04-24 19:21:38 +02:00
Florian Bruhin
8648d88b51 Handle special keys instead of only modifiers 2014-04-24 17:43:19 +02:00
Florian Bruhin
b372c23b80 Move hint webelem code to utils.webelem 2014-04-24 16:30:59 +02:00
Florian Bruhin
3d292fbc27 Use a stack for current modes 2014-04-24 06:44:58 +02:00
Florian Bruhin
8b5daad367 Add ModeManager 2014-04-23 21:15:47 +02:00
Florian Bruhin
387d0e3be6 Document hint lastChild() hack 2014-04-23 14:34:00 +02:00
Florian Bruhin
61802725a6 Actually use message.error for errors 2014-04-23 06:17:29 +02:00
Florian Bruhin
55e3aca702 linting cleanup 2014-04-22 17:53:27 +02:00
Florian Bruhin
a1650579e9 Reword FIXME comments 2014-04-22 14:35:56 +02:00
Florian Bruhin
70e1a0300c Add explicit types for editable hinting 2014-04-22 14:33:40 +02:00
Florian Bruhin
b167f1f8d8 Clarify QTBUG comment 2014-04-22 14:26:07 +02:00
Florian Bruhin
0de249e904 Support frames correctly in HintManager 2014-04-22 14:23:55 +02:00
Florian Bruhin
ebd3ab778f Make scrolling work with multiple frames 2014-04-22 14:17:17 +02:00
Florian Bruhin
26124920cd Display warnings if at beginning/end of history 2014-04-22 14:06:32 +02:00
Florian Bruhin
5d95c7e19c Remove unused import 2014-04-22 12:10:27 +02:00
Florian Bruhin
ce274aa9c8 Fix printing 2014-04-22 11:16:45 +02:00
Florian Bruhin
78060fc879 Get rid of temp_message signal 2014-04-22 10:08:56 +02:00
Florian Bruhin
1e27f5537d Filter javascript-links from hinting 2014-04-22 09:53:21 +02:00
Florian Bruhin
fec353809b Nicer statusbar texts when hinting 2014-04-22 09:41:43 +02:00
Florian Bruhin
233289228b Reposition hints if contents size changed 2014-04-22 09:35:59 +02:00
Florian Bruhin
8d891bf168 Hints style fixes 2014-04-22 09:35:49 +02:00
Florian Bruhin
ee5e066d86 Display message when hinting. 2014-04-22 09:06:38 +02:00
Florian Bruhin
7e2b590da1 Spelling fix 2014-04-22 08:46:21 +02:00
Florian Bruhin
03c1e1d896 cleanups 2014-04-21 23:53:13 +02:00
Florian Bruhin
65f2409d03 hints: Handle relative/javascript links correctly 2014-04-21 23:44:45 +02:00
Florian Bruhin
ba7f56f5e9 Add different hinting modes (yank, backtab, rapid) 2014-04-21 23:33:36 +02:00
Florian Bruhin
6ce415fc5e Make hint-labels non-clickable. 2014-04-21 23:32:58 +02:00
Florian Bruhin
6bbb5fe598 Add emitted signals to hintmanager docstrings. 2014-04-21 23:32:44 +02:00
Florian Bruhin
9caac26873 Handle no found elements to hint gracefully 2014-04-21 19:31:28 +02:00
Florian Bruhin
a11b14fd2d Implement more hinting modes 2014-04-21 19:29:11 +02:00
Florian Bruhin
67bf654d57 Handle scrolled frame correctly 2014-04-21 18:20:30 +02:00
Florian Bruhin
979685e37a Click topleft of elements 2014-04-21 17:41:51 +02:00
Florian Bruhin
ee8ba55676 Support esc to abort hinting 2014-04-21 17:17:34 +02:00
Florian Bruhin
de0e96ab2d Add clicking on links 2014-04-21 16:59:03 +02:00
Florian Bruhin
c2aa9517ea Mark partial hint matches 2014-04-21 15:45:29 +02:00
Florian Bruhin
d7b87e09c9 Implement modes and hint input. 2014-04-21 15:24:19 +02:00
Florian Bruhin
5a3966ca82 Fix lint, add documentation 2014-04-21 11:03:43 +02:00
Florian Bruhin
98ed6c9812 Implement hint strings 2014-04-21 11:03:43 +02:00
Florian Bruhin
809e7e15b8 Document HINT_CSS 2014-04-21 11:03:43 +02:00
Florian Bruhin
6434dac680 Check element visibility before drawing 2014-04-21 11:03:43 +02:00
Florian Bruhin
a2deba68dc Check if hints are inside screen 2014-04-21 11:03:42 +02:00
Florian Bruhin
3b894580a2 Also check x on invalid rects 2014-04-21 11:03:42 +02:00
Florian Bruhin
293b38a92f Return on invalid rects 2014-04-21 11:03:42 +02:00
Florian Bruhin
5dd74d39fd Make hinting configurable 2014-04-21 11:03:42 +02:00
Florian Bruhin
3bd1470b20 Keep a reference to the labels 2014-04-21 11:03:42 +02:00
Florian Bruhin
41b0655ade Add stop() to HintManager 2014-04-21 11:03:42 +02:00
Florian Bruhin
c4731b6e7e Nicer hints CSS 2014-04-21 11:03:42 +02:00
Florian Bruhin
0b5f4d9fb5 Add some labels to hints 2014-04-21 11:03:42 +02:00
Florian Bruhin
e6569f946c Add proof-of-concept hinting 2014-04-21 11:03:41 +02:00
Florian Bruhin
39f580d9f1 Cleanup 2014-04-17 17:44:27 +02:00
Florian Bruhin
b323706f5f Use maxsplit (passed to str.split()) instead bool 2014-04-17 12:06:27 +02:00
Florian Bruhin
4b1dcbd82a Refactor tab/browser widgets 2014-04-17 09:44:26 +02:00