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