Commit Graph

2350 Commits

Author SHA1 Message Date
Florian Bruhin
f7c0f8f11e Remove :get and use :set with ...? instead. 2014-09-15 06:24:15 +02:00
Florian Bruhin
22e6a26ec3 Fix function calls with changed attribute names. 2014-09-15 06:20:33 +02:00
Florian Bruhin
fa9d9b62b1 config: Use sectname/optname argument names. 2014-09-15 00:03:59 +02:00
Florian Bruhin
f2e68685d2 Fix doc generation with overridden argument names. 2014-09-15 00:03:39 +02:00
Florian Bruhin
4d3b3616a6 Fix lint 2014-09-14 23:56:19 +02:00
Florian Bruhin
063be350e4 cmdutils: Merge _param_to_argparse_args and _param_to_argparse_kw. 2014-09-14 23:34:55 +02:00
Florian Bruhin
66f0aa8d5f cmdutils: Bind keyword-only arguments as flags. 2014-09-14 23:25:40 +02:00
Florian Bruhin
fe08052641 command: Don't handle varargs if they are None 2014-09-14 23:16:54 +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
f1f05516b3 command: Fix handling of count when it's not given. 2014-09-14 23:06:52 +02:00
Florian Bruhin
b2058e2f0e cmdutils: Default to nargs='+' for *args. 2014-09-14 22:56:02 +02:00
Florian Bruhin
d4f584684b command: Iterate over function signature when calling instead over namespace. 2014-09-14 22:48:25 +02:00
Florian Bruhin
4b759c5513 cmdutils: Make sure functions don't have **kwargs. 2014-09-14 22:48:00 +02:00
Florian Bruhin
cd8d137dd6 cmdutils: Bail out if instance is given but function takes no self. 2014-09-14 22:47:18 +02:00
Florian Bruhin
319ea242da cmdutils: raise TypeError instead of ValueError. 2014-09-14 22:46:48 +02:00
Florian Bruhin
ef31157f5e cmdutils: Use inspect.getdoc 2014-09-14 22:09:01 +02:00
Florian Bruhin
3391896037 Disable workaround for PyQt 5.3.2 2014-09-14 21:12:03 +02:00
Florian Bruhin
74b45aea47 conftypes: Better handling of ShellCommand. 2014-09-13 00:42:16 +02:00
Florian Bruhin
fea3524443 Remove 'or None' in docs. 2014-09-13 00:37:07 +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
2336b5de43 Refactor qutehandlers so they are not classmethods. 2014-09-12 20:27:20 +02:00
Florian Bruhin
16caa9ba69 Handle qute://help more intuitively (load index.html) 2014-09-12 20:19:27 +02:00
Florian Bruhin
0c9d7723c8 Fix on_config_changed for tabbar (renamed to tabs) 2014-09-12 20:15:20 +02:00
Florian Bruhin
f2b10160cc Handle IOError with qute://help. 2014-09-12 20:10:13 +02:00
Florian Bruhin
ab0e600977 Error if unknown sections are in the config. 2014-09-12 17:53:27 +02:00
Florian Bruhin
052fa8e277 Don't emit config changed signals during init.
When we're initializing anyways nobody got a config value yet, so emitting the
signals just will mean code gets executed twice.

This reduces the startup time by about 1-2 seconds.
2014-09-12 17:38:40 +02:00
Florian Bruhin
cd14cbbfb8 Handle changed config correctly for interpolated values. 2014-09-12 17:26:47 +02:00
Florian Bruhin
a796482c83 Support !-keysections, don't bind leave-mode in normal mode. 2014-09-12 07:33:52 +02:00
Florian Bruhin
e516589fe3 Fix double default keybindings. 2014-09-12 07:18:04 +02:00
Florian Bruhin
c0e8352c95 Allow unbinding keys. 2014-09-09 23:12:55 +02:00
Florian Bruhin
4fde56a942 Allow binding keys. 2014-09-09 23:05:28 +02:00
Florian Bruhin
277dab4069 keyconfparser: Add empty sections. 2014-09-09 22:38:14 +02:00
Florian Bruhin
95d8091205 Fix double bindings 2014-09-09 22:34:20 +02:00
Florian Bruhin
30e926abf6 Check duplicate keychains 2014-09-09 22:29:17 +02:00
Florian Bruhin
e3d16f3bbe Full read-write support for key config. 2014-09-09 22:18:00 +02:00
Florian Bruhin
414ab88a0e Fix lint 2014-09-09 18:32:18 +02:00
Florian Bruhin
91514ad6c0 Add missing keyconfparser file. 2014-09-09 13:42:25 +02:00
Florian Bruhin
6f03f08111 Make new key config work (readonly) 2014-09-09 07:43:27 +02:00
Florian Bruhin
64183b5a26 Start moving keybindings 2014-09-08 16:53:33 +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
6f22319158 webview: Fix insert mode check. 2014-09-08 10:23:18 +02:00
Florian Bruhin
25da8dd169 webelem: Fix debug output 2014-09-08 10:19:52 +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
0267dac2be Add --help documentation 2014-09-08 07:36:18 +02:00
Florian Bruhin
fc70d700b2 cmdutils: Force metavar if choices are given. 2014-09-08 07:36:17 +02:00
Florian Bruhin
dcfb52847f Nicer flag output in docs. 2014-09-08 07:36:17 +02:00
Florian Bruhin
4cf7e6e767 Add docstring for :quickmark-load. 2014-09-08 07:36:17 +02:00
Florian Bruhin
6674eedfae cmdutils: Add default value type to multitype_conv tuple. 2014-09-08 07:36:17 +02:00
Florian Bruhin
13a2506c6a argparser: Also catch TypeError for multitype_conv. 2014-09-08 07:36:17 +02:00
Florian Bruhin
47f42f9e5a commands.argparser: Make type tuples a set(). 2014-09-08 07:36:17 +02:00
Florian Bruhin
05f3809d01 Fix lint 2014-09-08 07:36:17 +02:00
Florian Bruhin
0a094c6e58 Refactor HintManager.start 2014-09-08 07:36:17 +02:00
Florian Bruhin
b453ae563e Clean up docstring parsing and move it into qutebrowser for commands. 2014-09-08 07:36:17 +02:00
Florian Bruhin
b5f28b6ff2 commands.argparser: Make ArgumentParser take args, add name. 2014-09-08 07:36:17 +02:00
Florian Bruhin
a656c8cfb0 commands: Add initial --help argument support. 2014-09-08 07:36:17 +02:00
Florian Bruhin
32e24479b9 commands.cmdutils: Clean up decorator. 2014-09-08 07:36:17 +02:00
Florian Bruhin
03a0a1c599 commands: Handle ArgumentParser exit. 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
d836e26107 Nicer debug printing of functions. 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
84a034d7e9 More liberal quoting. 2014-09-08 07:35:18 +02:00
Florian Bruhin
522b408fde utils.completer: Quote strings for completion. 2014-09-08 07:12:55 +02:00
Florian Bruhin
6b8c597d18 Remove unused import. 2014-09-04 20:35:26 +02:00
Florian Bruhin
b856bf3a47 Improve webelement API 2014-09-04 20:30:59 +02:00
Florian Bruhin
becc4490bc Add FIXME to qurl 2014-09-03 22:56:54 +02:00
Florian Bruhin
b789d14513 Improve prev-page/next-page matching and logging. 2014-09-03 22:55:48 +02:00
Florian Bruhin
5ba3440369 Add details to colorama workaround. 2014-09-03 22:20:17 +02:00
Florian Bruhin
15b8c553c8 Fix rl-unix-line-discard by reimplementing QLineEdit::home. 2014-09-03 21:30:30 +02:00
Florian Bruhin
e3bb3af7ba Make it possible to use pdb for debugging. 2014-09-03 13:31:01 +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
a2e457ccc3 Remove old Ubuntu workaround. 2014-09-02 20:45:25 +02:00
Florian Bruhin
4caec2becb Document and mark workarounds. 2014-09-02 20:44:58 +02:00
Florian Bruhin
bcaba3f5ca Rename tests to reflect renamed modules. 2014-09-02 08:27:53 +02:00
Florian Bruhin
83e9638d42 Add fancy URL to tests. 2014-09-02 08:21:53 +02:00
Florian Bruhin
e112038a8b Handle IPv6 literals correctly. 2014-09-02 08:20:33 +02:00
Florian Bruhin
330af95778 Strip spaces in url string correctly. 2014-09-02 07:49:06 +02:00
Florian Bruhin
96c1d53222 urlutils: Strip URL before testing. 2014-09-02 07:11:01 +02:00
Florian Bruhin
892c02268a Shut down NetworkManager before deleting WebPage.
Now that the QWebPage actually is a parent of the QNetworkAccessManager, first
setting the page to None and then deleting the QNetworkAccessManager will get
us a RuntimeError because the underlying C++ object is already gone.
2014-09-02 07:02:21 +02:00
Florian Bruhin
7813f8f0c2 Remove unused cookiejar NetworkManager, fix parenting.
Before, the QWebPage got passed to the QNetworkAccessManager as cookiejar,
causing no parent to be set. Now, the QWebPage actually owns the
QNetworkAccessManager.
2014-09-02 07:00:02 +02:00
Florian Bruhin
71a2ade637 Fix URL detection corner cases. 2014-09-02 06:53:52 +02:00
Florian Bruhin
2bf616ff78 Adjust QWebSettings paths. 2014-09-01 21:56:30 +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
e163478782 Handle Shift-Return keypresses correctly. 2014-08-30 14:38:34 +02:00
Florian Bruhin
c0a88bf3d0 qute:log: Scroll to bottom on load 2014-08-29 07:38:07 +02:00
Florian Bruhin
d8fa2e8ef0 Fix lint 2014-08-29 07:34:44 +02:00
Florian Bruhin
d059c468af Merge branch 'ninja' 2014-08-29 07:33:43 +02:00
Florian Bruhin
f44896cc44 Add a VDEBUG logging level. 2014-08-29 07:33:37 +02:00
Florian Bruhin
2cc2e769c3 network.qutescheme: Make pylint shut up. 2014-08-29 07:07:21 +02:00
Florian Bruhin
1dce50309b First steps at using jinja2 for qute:log. 2014-08-29 06:59:44 +02:00
Florian Bruhin
0f0929ac78 Use jinja for most qute:... pages. 2014-08-29 06:41:18 +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
350f1c1405 Use inherited templates for error page. 2014-08-28 20:14:40 +02:00
Florian Bruhin
dd3489b936 Add spaces in templates. 2014-08-28 20:14:40 +02:00
Florian Bruhin
a6ae129595 Use jinja for error page. 2014-08-28 20:14:40 +02:00
Florian Bruhin
0b15790f3d Use jinja for stylesheets. 2014-08-28 20:14:40 +02:00
Florian Bruhin
a4c87b4c54 Remove STYLESHEET class attribute from docstrings. 2014-08-28 20:14:40 +02:00
Florian Bruhin
0d42eaa152 Remove useless getraw() from ColorDict/FontDict. 2014-08-28 20:14:40 +02:00
Florian Bruhin
2fdf241da2 Add dependency on jinja2. 2014-08-28 20:14:40 +02:00
Florian Bruhin
6d2acc244c Use an LRU cache for stylesheets 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
cb2dd62dc5 Fix lint 2014-08-27 22:23:37 +02:00
Florian Bruhin
3a73f9f532 Improve performance with statusbar error property 2014-08-27 21:03:43 +02:00
Florian Bruhin
af10d1c857 Fix cache invalidation for on_setting_changed. 2014-08-27 20:22:38 +02:00
Florian Bruhin
68ef9b97a3 Add an LRU cache to the config. 2014-08-27 20:16:04 +02:00
Florian Bruhin
562388fe52 Rename config.conftypes to config.configtypes. 2014-08-26 21:41:41 +02:00
Florian Bruhin
ce4a5affa4 Rename commands.utils to commands.cmdutils. 2014-08-26 20:48:39 +02:00
Florian Bruhin
270b822908 Simplify imports in keyinput.modeman. 2014-08-26 20:38:50 +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
45608ee9f8 Add bugs URL to colorama issue 2014-08-26 06:35:58 +02:00
Florian Bruhin
1a24e953c6 Better way to deinit colorama 2014-08-25 22:26:52 +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
2b85093d90 Fix ss/sl/sk keybindings. 2014-08-25 15:41:06 +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
984f984cf0 Fix lint. 2014-08-25 10:58:12 +02:00
Florian Bruhin
012482ce10 Fix colorama log issues on Windows when frozen.
With the new version of colorlog, colorama.init() gets called when opening
colorlog, which then lead to sys.stderr not being None anymore (but a wrapped
"None"), which lead to an exception when we checked isatty().

We now just unwrap these again.
2014-08-25 10:52:38 +02:00
Florian Bruhin
d2b7530c0a Merge branch 'master' of ssh://lupin/qutebrowser 2014-08-25 07:01:33 +02:00
Florian Bruhin
bbcf593f38 Fix logfilter 2014-08-25 06:58:41 +02:00
Florian Bruhin
66e670a96b Fix ignore_case for searching. 2014-08-25 06:56:14 +02:00
Florian Bruhin
e576ff608f utils.webelem: Don't treat select boxes as editable. 2014-08-22 07:54:48 +02:00
Florian Bruhin
c826db7e03 Make editor config configurable 2014-08-20 20:57:10 +02:00
Florian Bruhin
17dd4732ae Add explicit encoding to open() calls. 2014-08-20 20:33:14 +02:00
Florian Bruhin
05727b2584 Merge branch 'master' of ssh://cmpl.cc:2323/qutebrowser 2014-08-20 15:08:07 +02:00
Florian Bruhin
cd117ccabb Treat ACE editor as editable. 2014-08-20 15:07:33 +02:00
Florian Bruhin
d18a025d68 earlyinit: Beautify messages 2014-08-15 18:58:46 +02:00
Florian Bruhin
f1f5c344bc Whitespace fix 2014-08-14 15:11:48 +02:00
Florian Bruhin
36572bc0cb Add pypeg2 to version info 2014-08-14 15:08:33 +02:00
Florian Bruhin
9585b3c925 Add some logging for content-disposition 2014-08-14 14:59:13 +02:00
Florian Bruhin
c7bfe784e4 Adjust the rest of the code for rfc6266 -> pypeg2 2014-08-14 13:37:27 +02:00
Florian Bruhin
ef1035f2ba utils.rfc6266: Fix lint 2014-08-14 13:29:07 +02:00
Florian Bruhin
9cf80cf498 utils.rfc6266: Cleanup 2014-08-14 13:29:07 +02:00
Florian Bruhin
62b00e5ff6 utils.rfc6266: Test for invalid ISO-8859-1 and duplicate params. 2014-08-14 13:29:06 +02:00
Florian Bruhin
03ea837211 utils.rfc6266: Do parsing of ext-values earlier. 2014-08-14 13:29:06 +02:00
Florian Bruhin
33b1cc6916 utils.rfc6266: Remove percent_decode function. 2014-08-14 13:29:06 +02:00
Florian Bruhin
9ae5a90f5e utils.rfc6266: Remove unneeded IKeyword. 2014-08-14 13:29:06 +02:00
Florian Bruhin
532f739e26 tests: Fix rfc6266 testcase. 2014-08-14 13:29:06 +02:00
Florian Bruhin
acb5159791 utils.rfc6266: Nicer ext-param handling 2014-08-14 13:29:06 +02:00
Florian Bruhin
e159990363 utils.rfc6266: Initial implementation. 2014-08-14 13:29:06 +02:00
Florian Bruhin
f13607ced2 Fix lint 2014-08-14 13:28:48 +02:00
Florian Bruhin
1a91972a5c console: Ignore empty texts 2014-08-13 09:08:31 +02:00
Florian Bruhin
4cab864ea0 console: Add 'self' to locals. 2014-08-13 09:07:18 +02:00
Florian Bruhin
0ec6234030 widgets.misc: Prevent moving cursor to prompt in CommandLineEdit. 2014-08-13 09:02:53 +02:00
Florian Bruhin
3ea0f0d8a6 Make CommandPrompt aware of its prompt. 2014-08-13 07:45:57 +02:00
Florian Bruhin
4318a01774 console: Add qApp to locals. 2014-08-13 07:14:21 +02:00
Florian Bruhin
2586f5ca9a console: Never give focus to output view. 2014-08-13 07:10:36 +02:00
Florian Bruhin
47e405dda5 Stop history browsing at the correct places. 2014-08-13 07:10:24 +02:00
Florian Bruhin
9c69ea3c45 Use a validator function for ConsoleLineEdit.
The prompts provided (e.g. sys.ps1/sys.ps2) could change during the lifetime of
the validator.
2014-08-13 07:10:05 +02:00
Florian Bruhin
73214836da console: Set nicer font 2014-08-13 06:56:46 +02:00
Florian Bruhin
35d0fe2b52 console: Print prompts. 2014-08-13 06:54:08 +02:00
Florian Bruhin
5b61487130 Refactor different LineEdit classes. 2014-08-13 06:53:36 +02:00
Florian Bruhin
b9e4dd282c cmdhistory: Make history public. 2014-08-13 06:53:02 +02:00
Florian Bruhin
2e760a92cf debug-console: Handle I/O and exceptions. 2014-08-13 06:09:18 +02:00
Florian Bruhin
103a81a976 console: Set focus on line edit. 2014-08-13 05:15:58 +02:00
Florian Bruhin
2a40002c2d Add instance for :debug-console command. 2014-08-13 05:15:21 +02:00
Florian Bruhin
07fda5818c Add broken debugging console. 2014-08-13 00:13:32 +02:00
Florian Bruhin
0233d2b561 configdata: Default insert-mode-on-plugins to false 2014-08-12 23:26:21 +02:00
Florian Bruhin
48e81b34d0 http: remove change_content_type.
We're probably not going to need it.
2014-08-12 21:16:33 +02:00
Florian Bruhin
cdd7457aee utils.http: Return [None, None] in parse_content_type. 2014-08-12 21:12:13 +02:00
Florian Bruhin
dd2ed78f40 Handle wrong image/jpg mimetype in unsupportedContent slot. 2014-08-12 21:08:13 +02:00
Florian Bruhin
298f672084 Whitespace fix 2014-08-12 18:30:15 +02:00
Florian Bruhin
3c9aad8e26 Add some messages to searching 2014-08-12 17:32:50 +02:00
Florian Bruhin
5b915186d7 Add a 'smart' option for ignore-case. 2014-08-12 17:00:18 +02:00
Florian Bruhin
5b3abfa5dd tests: Disable logging properly. 2014-08-12 16:28:32 +02:00
Florian Bruhin
07100178f3 networkmanager: Formatting 2014-08-12 10:01:11 +02:00
Florian Bruhin
bad9031914 Change image/jpg Content-Type to image/jpeg.
This makes QtWebKit display images with a (nonstandard) image/jpg content-type,
e.g. http://m.c.lnkd.licdn.com/mpr/mpr/p/2/005/07b/08a/018245a.jpg (instead of
downloading them).
2014-08-12 09:57:40 +02:00
Florian Bruhin
7be3976890 tests: Add tests for tests.utils.http 2014-08-12 09:13:03 +02:00
Florian Bruhin
cf3fa25ef4 tests.utils.http: Add __init__.py 2014-08-12 09:04:26 +02:00
Florian Bruhin
91a701552d utils.http: Fix joining. 2014-08-12 09:03:59 +02:00
Florian Bruhin
157f5b211f tests: Adjust FakeNetworkReply to work with all headers. 2014-08-12 09:03:38 +02:00
Florian Bruhin
be811e5c62 utils.http: Add some Content-Type stuff 2014-08-12 07:30:53 +02:00
Florian Bruhin
c86e252a9b Change tests to use is_url instead of _is_url_naive. 2014-08-12 07:09:40 +02:00
Florian Bruhin
069371501a Hide QNetworkReplyImplPrivate warning message 2014-08-12 07:00:05 +02:00
Florian Bruhin
be2604cacd Add a new qutebrowser.utils.http module 2014-08-12 07:00:04 +02:00
Florian Bruhin
c51a891e89 utils.url: Add support for opening relative files. 2014-08-08 13:14:48 +02:00
Florian Bruhin
45657141a0 utils.url: Always treat URLs with explicit scheme as URL. 2014-08-08 13:05:46 +02:00
Florian Bruhin
8ab022407b confdata: Comment adjustments 2014-08-08 12:56:07 +02:00
Florian Bruhin
5355096fc3 Add Terminus to default ${_monospace} fonts. 2014-08-08 12:51:47 +02:00
Florian Bruhin
4ff9804f2c Fix lint 2014-08-07 14:47:39 +02:00
Florian Bruhin
1c2a44eebc mainwindow: Don't ensure the completion rect is valid.
This did lead to problems if there was an exception shortly after initializing the mainwindow.
2014-08-07 14:42:22 +02:00
Florian Bruhin
837b2b386e utils.debug: Add a broken qflags_key. 2014-08-07 14:41:39 +02:00
Florian Bruhin
318805a088 utils.debug: Format numbers as hex for qenum_key. 2014-08-07 14:41:07 +02:00
Florian Bruhin
5c50640a68 test_debug: Improve tests for qenum_key. 2014-08-07 14:40:34 +02:00
Florian Bruhin
7063f2445c cmdhistory: Make History more modular. 2014-08-07 14:39:42 +02:00
Florian Bruhin
b8ad04bbe7 test_conftypes: Fix lint. 2014-08-07 07:56:59 +02:00
Florian Bruhin
8756d9e644 test_conftypes: Test float point size correctly. 2014-08-07 07:56:47 +02:00
Florian Bruhin
186a831482 conftypes: Set namedweight correcly for QtFont. 2014-08-07 07:41:06 +02:00
Florian Bruhin
934aaf80c6 conftypes: Set pixel size correctly in QtFont. 2014-08-07 07:39:47 +02:00
Florian Bruhin
ef603090c8 test_conftypes: Activate test for QtFont. 2014-08-07 07:39:36 +02:00
Florian Bruhin
956f6ef5e6 test_conftypes: Use qenum_key for Font.__repr__ 2014-08-07 07:35:25 +02:00
Florian Bruhin
2546c871c8 utils.debug: Improve qenum_key. 2014-08-07 07:35:05 +02:00
Florian Bruhin
19b80c1e90 test_conftypes: Adjust docstring. 2014-08-07 07:34:46 +02:00
Florian Bruhin
e3f1cfe121 conftypes: Set default settings for QtFont. 2014-08-07 07:33:24 +02:00
Florian Bruhin
c8fe5bd1d2 conftypes: Remove quotes for QtFont. 2014-08-07 07:33:14 +02:00
Florian Bruhin
fef5a9944f conftypes: Use namedtuple for font descriptions. 2014-08-07 07:31:41 +02:00
Florian Bruhin
c7ee655750 Use pylint to check modelines and fix them. 2014-08-06 23:51:44 +02:00
Florian Bruhin
5a88028738 Rename qutebrowser.commands.managers module to .runners. 2014-08-06 15:58:08 +02:00
Florian Bruhin
aebce80b2b Rename {Command,Search}Manager to ...Runner 2014-08-06 15:38:25 +02:00
Florian Bruhin
eae81fa560 Cleanup 2014-08-06 14:44:00 +02:00
Florian Bruhin
fcd0d88b1f config: Default tabs -> select-on-remove to right. 2014-08-06 08:24:21 +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
49ebdff65c Make position of new tabs configurable and more natural. 2014-08-06 07:47:59 +02:00
Florian Bruhin
598fec7ce9 configdata: Remove duplicate keys in default config. 2014-08-06 07:11:33 +02:00
Florian Bruhin
98a026b2a2 Make sure there are no duplicate keys in default config. 2014-08-06 07:11:14 +02:00
Florian Bruhin
2868ea2236 default conf: Remove double ;b binding. 2014-08-06 06:58:15 +02:00
Florian Bruhin
681995600e conftypes: Fix wrong docstring. 2014-08-06 06:58:03 +02:00
Florian Bruhin
d0ed459b56 Fix quickmark-load-... keybindings (b/B). 2014-08-06 06:57:26 +02:00
Florian Bruhin
b2a227fb50 log: Clean up log formatting. 2014-08-05 23:35:20 +02:00
Florian Bruhin
7818366f0a Fix lint 2014-08-05 23:23:15 +02:00
Florian Bruhin
60d4dafbbb Replace cgi.escape by html.escape.
cgi.escape is deprecated:
https://docs.python.org/3.4/library/cgi.html#cgi.escape
2014-08-05 23:20:26 +02:00
Florian Bruhin
f1a8f91d51 log: Adjust colors so warnings/errors are more visible. 2014-08-05 23:07:53 +02:00
Florian Bruhin
1dd56e512a log: Fix RAMHandler so the data can change while iterating. 2014-08-05 23:07:25 +02:00
Florian Bruhin
4e200653a0 Enable python warnings with --debug 2014-08-05 22:33:08 +02:00
Florian Bruhin
d7f9ccf7e5 log: Fix lepl filter with debug logging. 2014-08-05 22:31:30 +02:00
Florian Bruhin
36511ecdb9 Add --debug-exit option for late exit debugging. 2014-08-05 22:17:29 +02:00
Florian Bruhin
f5064c6295 test: Use unittest's subTest.
https://docs.python.org/3.4/library/unittest.html#distinguishing-test-iterations-using-subtests
2014-08-05 22:15:12 +02:00
Florian Bruhin
4d051bea73 test_conftypes: Fix lint 2014-08-05 21:16:30 +02:00
Florian Bruhin
3c5c0fcabe pylint: Disable too-many-lines. 2014-08-05 21:09:55 +02:00
Florian Bruhin
263ee37685 test_conftype: More tests. 2014-08-05 21:08:12 +02:00
Florian Bruhin
ac6defaa7f test_conftypes: Cleanups. 2014-08-05 21:08:01 +02:00
Florian Bruhin
2a34366d2c test: Remove unneeded custom __eq__ methods. 2014-08-05 21:07:37 +02:00
Florian Bruhin
7d97d54f6c conftypes: Transform AutoSearch correctly. 2014-08-05 21:06:46 +02:00
Florian Bruhin
bc009ef462 conftypes: Check URL for SearchEngineUrl. 2014-08-05 21:06:32 +02:00
Florian Bruhin
a81bd44850 conftype: Simplify URL checking for Proxy. 2014-08-05 21:06:11 +02:00
Florian Bruhin
6011cc80ae conftypes: Check {} correctly in ShellCommand. 2014-08-05 21:05:47 +02:00
Florian Bruhin
0766116424 conftypes: cleanup 2014-08-05 21:05:38 +02:00
Florian Bruhin
309ecb95c8 conftypes: Use special SYSTEM_PROXY object instead of 0. 2014-08-05 21:04:37 +02:00
Florian Bruhin
c94ff7b946 Fix import for get_standard_dir 2014-08-05 19:58:47 +02:00
Florian Bruhin
857533aca7 conftypes: Expand user in Directory 2014-08-05 18:47:42 +02:00
Florian Bruhin
3b93f6121b Add more unittypes tests. 2014-08-05 18:02:52 +02:00
Florian Bruhin
a6375a8065 conftypes: handle None for RegexList. 2014-08-05 18:02:31 +02:00
Florian Bruhin
11f1c8f369 Don't default all directories to DownloadPath if empty 2014-08-05 18:02:12 +02:00
Florian Bruhin
f397b6301b Accept prompt_accept in KeyMode.yesno 2014-08-05 17:08:40 +02:00
Florian Bruhin
8d07ec2235 test_conftypes: Add (broken) Font tests. 2014-08-05 17:08:16 +02:00
Florian Bruhin
0e645d9361 usertypes: Move QSS_FONT_REGEX to class. 2014-08-05 17:05:13 +02:00
Florian Bruhin
ec1b31a61c test_conftypes: Add more tests. 2014-08-05 15:01:29 +02:00
Florian Bruhin
1c24faeb92 conftypes: Treat rgb(...) etc. as valid for QssColor 2014-08-05 15:00:48 +02:00
Florian Bruhin
a287c8ac68 conftypes: if -> elif 2014-08-05 15:00:24 +02:00
Florian Bruhin
963fb40961 conftypes: Various bugfixes/cleanups/tests. 2014-08-05 14:16:15 +02:00
Florian Bruhin
7c54c20808 conftypes: Fix is_none in all types 2014-08-05 13:49:03 +02:00
Florian Bruhin
a117cf0405 test_conftypes: Add more tests. 2014-08-05 13:06:03 +02:00
Florian Bruhin
4dd4b465e2 conftypes: Fix minint/maxint validation in PercList. 2014-08-05 13:05:36 +02:00
Florian Bruhin
8402aa051a conftypes: Use slicing instead of rstrip.
"100%%".rstrip('%') would give use "100" instead of "100%" which is not what we
want.
2014-08-05 13:04:34 +02:00
Florian Bruhin
f414a0bf4b conftypes: More max >= min checkes. 2014-08-05 12:46:29 +02:00
Florian Bruhin
4ee722d8b1 conftypes: Fix none_ok for many types. 2014-08-05 12:45:53 +02:00
Florian Bruhin
66af4e8c0a conftypes: Fix String length check. 2014-08-05 12:44:37 +02:00
Florian Bruhin
8fdeab32c5 Add first tests for conftypes. 2014-08-05 07:27:29 +02:00
Florian Bruhin
98cc10b9c2 Check if maxlen/minlen make sense in conf.usertypes.String. 2014-08-05 07:26:48 +02:00
Florian Bruhin
036178147b Draw tabbar background correctly again. 2014-08-04 19:30:09 +02:00
Florian Bruhin
95df8a045c Don't use stylesheets anymore for QTabWidget.
When using stylesheets there, all children (i.e. the QWebView) use
QStyleSheetStyle as well, which means the bug at [1] will annoy us.

We had to write our own font parsing as we can't use stylesheets, but at least
the bug is gone...

https://bugreports.qt-project.org/browse/QTBUG-40263
2014-08-04 17:00:01 +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
355acfccd2 Remove editable hinting.
The code for it was removed some time ago, and fixing it would mean some
unneeded code duplication. Let's remove it and see if anyone complains.
2014-08-02 23:45:39 +02:00
Florian Bruhin
aa8d66f092 Improve settings value documentation. 2014-08-02 22:54:15 +02:00
Florian Bruhin
f8c995d58d Support multiline setting descriptions. 2014-08-02 22:53:57 +02:00
Florian Bruhin
e5c86a5337 Remove window-open-behaviour setting. 2014-08-02 21:30:20 +02:00
Florian Bruhin
de2f267607 Fix restarting/exceptions with URLs with spaces. 2014-08-02 19:49:15 +02:00
Florian Bruhin
b707987be0 Better logging on exit. 2014-08-02 19:40:24 +02:00
Florian Bruhin
3307c5f518 Shut down correctly while being asked a question. 2014-08-02 19:38:02 +02:00
Florian Bruhin
9a6bff315b Revert "widgets.statusbar.prompter: Use None for self.question instead of _busy."
This reverts commit 5d5f3c7f87.
2014-08-02 18:19:33 +02:00
Florian Bruhin
5d5f3c7f87 widgets.statusbar.prompter: Use None for self.question instead of _busy. 2014-08-02 17:58:33 +02:00
Florian Bruhin
ee1bdacf25 Show errors during prompt/command mode. 2014-08-02 17:45:51 +02:00
Florian Bruhin
2f4cd56033 bar: Make prompt color more important than insert color. 2014-08-02 17:05:28 +02:00
Florian Bruhin
1a449ef7de Log changing of statusbar color attributes. 2014-08-02 17:05:11 +02:00
Florian Bruhin
2b123bdeb9 Make it clearer we schedule an insertmode check if hittest is null. 2014-08-02 16:55:11 +02:00
Florian Bruhin
c1d9f70fd6 Make js alert/confirm messages a bit more clear. 2014-08-02 16:16:13 +02:00
Florian Bruhin
7d9bd17aff Fix error message when executing command in wrong mode. 2014-08-02 16:15:59 +02:00
Florian Bruhin
157975b0d4 widgets.webview: Add a cur_url property so the initial URL is available immediately. 2014-08-02 02:35:38 +02:00
Florian Bruhin
f6b26f0d56 Improve interrupt docs 2014-08-02 01:53:27 +02:00
Florian Bruhin
b0cfb281f4 shutdown correctly before mainwindow exists. 2014-08-02 01:12:05 +02:00
Florian Bruhin
2dfc599e3c Interrupt more forcefully with 3 times Ctrl+C. 2014-08-02 00:57:32 +02:00
Florian Bruhin
cdde060135 Call shutdown via a singleShot QTimer. 2014-08-02 00:53:30 +02:00
Florian Bruhin
df0558fb47 Add a --nowindow argument. 2014-08-02 00:47:04 +02:00
Florian Bruhin
3b16207bfc Delete network requests during shutdown. 2014-08-02 00:41:59 +02:00
Florian Bruhin
2691e6bb6b Remove unneeded colorama.init().
We don't want colorama to replace stdout/stderr, so we shouldn't call .init()
at all.
2014-08-01 23:47:44 +02:00
Florian Bruhin
9dd688095c Move late shutdown logging out of QApplication. 2014-08-01 23:45:12 +02:00
Florian Bruhin
246cff63ed Use singleShot timer to call QApplication.exit. 2014-08-01 23:26:33 +02:00
Florian Bruhin
f19a1db120 Clean up tab shutdown. 2014-08-01 23:23:31 +02:00
Florian Bruhin
6015bed786 widgets.tabbedbrowser: Fix closing tab with mouse. 2014-08-01 14:27:57 +02:00
Florian Bruhin
b6cd0dd600 Use sys.__stderr__ for faulthandler. 2014-08-01 00:55:18 +02:00
Florian Bruhin
ad1ba4c1f7 Remove eventfilter on shutdown 2014-07-31 23:09:59 +02:00
Florian Bruhin
9ccce461c9 Stop tab loading before removing. 2014-07-31 23:05:29 +02:00
Florian Bruhin
c04ad1de45 utils.debug.trace_lines: Improve output 2014-07-31 23:03:49 +02:00
Florian Bruhin
b56df7c955 utils.debug.trace_lines: Stop tracing if sys is None 2014-07-31 22:53:57 +02:00
Florian Bruhin
c27f8b69d6 Trace lines on shutdown with --debug. 2014-07-31 21:21:07 +02:00
Florian Bruhin
70d8163353 Write to stderr in utils.debug.trace_lines. 2014-07-31 21:20:51 +02:00
Florian Bruhin
8fedf1a9be Adjust shebangs to call python3 2014-07-31 21:14:05 +02:00
Florian Bruhin
c39bce79f6 Disable javascript/plugins when shutting down tab. 2014-07-31 20:45:18 +02:00
Florian Bruhin
682a395936 Shut down tabs while quitting 2014-07-31 20:40:21 +02:00
Florian Bruhin
55755262e1 Remove tab widgets properly when a tab is closed.
We forgot to do that which means we had a memory leak, and sound of tabs
continued to play when a tab was closed.
2014-07-31 19:34:30 +02:00
Florian Bruhin
d65fbb0b8c Fix mixed tabs/spaces. 2014-07-31 19:32:00 +02:00
Florian Bruhin
cda0f561aa Move removing of a tab out of close_tab. 2014-07-31 19:31:24 +02:00
Florian Bruhin
2358ed7d4c Remove 'Good bye' log 2014-07-31 01:07:43 +02:00
Florian Bruhin
371c40f815 Explicitely setPage to None in WebView's __del__. 2014-07-31 00:51:11 +02:00
Florian Bruhin
d47f13e69b Explicitely set qApp before/after calling exec_(). 2014-07-31 00:48:32 +02:00
Florian Bruhin
6859ca9301 Fix lint 2014-07-30 18:56:01 +02:00
Florian Bruhin
ed4e3e2a75 Remove redundant .replace() in utils.misc.key_to_string. 2014-07-30 18:55:34 +02:00
Florian Bruhin
ffe2c7f91d Use a string mapping for utils.misc.key_to_string. 2014-07-30 18:55:08 +02:00
Florian Bruhin
377706ec54 Handle not found crashlog gracefully 2014-07-30 18:45:56 +02:00
Florian Bruhin
d178c89a0e Compact logged stylesheets 2014-07-30 18:27:18 +02:00
Florian Bruhin
36c4e8940e Remove print we accidentally added. 2014-07-30 18:22:13 +02:00
Florian Bruhin
77ca7db46a Handle early shutdown better 2014-07-30 18:21:40 +02:00
Florian Bruhin
8c78806e1c Shutdown correctly if config is not initialized yet 2014-07-30 18:13:36 +02:00
Florian Bruhin
276315483d Add some more logging to shutdown. 2014-07-30 18:11:35 +02:00
Florian Bruhin
19d0f832ad Handle SIGTERM/SIGINT gracefully. 2014-07-30 18:11:22 +02:00
Florian Bruhin
17220d8ef5 Fix signal imports 2014-07-30 17:50:12 +02:00
Florian Bruhin
11ea911940 Clean up after removing shutdown code 2014-07-30 17:12:20 +02:00
Florian Bruhin
db51a51e5a Add utilcmds and :later command. 2014-07-30 17:05:52 +02:00
Florian Bruhin
70faceea67 Check for overflows in custom Timer 2014-07-30 17:05:29 +02:00
Florian Bruhin
cb8af1de31 Merge branch 'shutdown'
Conflicts:
	qutebrowser/widgets/webview.py
2014-07-30 16:39:01 +02:00
Florian Bruhin
b574fcfe19 Print '<Default configuration>' in crash report if it's unchanged 2014-07-29 22:51:32 +02:00
Florian Bruhin
0091b4729a Make tabbedbrowser.now_focused private 2014-07-29 22:44:14 +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
8ce779261f Parse Content-Disposition headers more relaxed.
Before, we got an unhandled ValueError if there were multiple spaces in a
filename.

Instead of ignoring such a header altogether, we now add relaxed=True which
still tries to get the filename in this situation (and with a semicolon at the
line end).

Because the parser is also more relaxed in that second case, we mark a test as
expected failure.
2014-07-29 22:36:00 +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
016e8f3c8d Don't explicitely fill commandline 2014-07-29 01:04:17 +02:00
Florian Bruhin
265019650b Use enum for completions 2014-07-29 00:37:32 +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
54c7f29f04 Remove weird condition when cmd text ends with ' '.
For some reason we checked nargs if split is False. This caused the completion
to not get hidden with ":spawn ". Since this condition makes no sense (and
probably was converted wrong in be467d5e) we remove it here.
2014-07-28 02:27:12 +02:00
Florian Bruhin
d60ff5ed27 Add a set-cmd-text command. 2014-07-28 02:16:37 +02:00
Florian Bruhin
76ff8aa30a Add missing imports from current_url move. 2014-07-28 02:16:22 +02:00