Commit Graph

463 Commits

Author SHA1 Message Date
Florian Bruhin
361dc94a21 More intelligent harfbuzz choosing. Fixes rendering segfaults. 2014-06-05 00:07:32 +02:00
Florian Bruhin
9be3b0499d We can use QtCore in fix_harfbuzz so use logging 2014-06-04 23:55:34 +02:00
Florian Bruhin
b9abb04e4e Check harfbuzz fix is executed before PyQt is imported 2014-06-04 14:29:47 +02:00
Florian Bruhin
cc27d42250 Use argparse for fix_harfbuzz 2014-06-04 14:15:33 +02:00
Florian Bruhin
a196bc5da9 Add arguments to choose harfbuzz engine 2014-06-04 12:13:51 +02:00
Florian Bruhin
af8c68360a Fix lint 2014-06-04 07:16:48 +02:00
Florian Bruhin
9add8b105c Get rid of NoCompletionsError 2014-06-04 07:16:34 +02:00
Florian Bruhin
311b9f2034 Get rid of FakeDict 2014-06-04 07:16:02 +02:00
Florian Bruhin
83d8bc47c0 Make it possible to pass a start= argument to enum() 2014-06-04 07:02:04 +02:00
Florian Bruhin
93c6d8ea2f Add current value to completions for settings 2014-06-04 06:44:07 +02:00
Florian Bruhin
062b7b177b Simplify setting value completion models. 2014-06-04 06:42:57 +02:00
Florian Bruhin
5a6eb2bec3 Improve function match regex 2014-06-03 17:24:12 +02:00
Florian Bruhin
282874cc80 Hide all OpenType warnings. 2014-06-03 17:23:51 +02:00
Florian Bruhin
5e6cddecaf Just change level to DEBUG with suppressed Qt messages 2014-06-03 17:18:20 +02:00
Florian Bruhin
eb426cb870 Suppress OpenType warning message 2014-06-03 17:04:22 +02:00
Florian Bruhin
298e757991 Fix qt warning regex 2014-06-03 17:01:42 +02:00
Florian Bruhin
a4c3ce6bdc Fix lint 2014-06-03 14:34:38 +02:00
Florian Bruhin
813783d976 Get rid of _lastmodel in completer 2014-06-03 13:50:13 +02:00
Florian Bruhin
0f41366269 Fix lint 2014-06-03 13:48:12 +02:00
Florian Bruhin
02e92fd0ed Move set_model logging to completer 2014-06-03 13:42:29 +02:00
Florian Bruhin
968bb3d430 Move selection_changed to Completer 2014-06-03 13:37:11 +02:00
Florian Bruhin
7d440426eb Move on_update_completion 2014-06-03 12:59:50 +02:00
Florian Bruhin
ff06e753df Start moving stuff to Completer 2014-06-03 12:51:23 +02:00
Florian Bruhin
4d0649a825 Let qt function parsing be more forgiving 2014-06-03 06:54:55 +02:00
Florian Bruhin
2286d1d65a Handle Qt warning category in log handler 2014-06-02 23:16:09 +02:00
Florian Bruhin
6fedc53a4d Suppress libpng warning about color profiles 2014-06-02 23:10:21 +02:00
Florian Bruhin
8aff446a30 Refine dead actute meta-warning 2014-06-02 23:07:46 +02:00
Florian Bruhin
b415773cc7 Use custom Qt message handler 2014-06-02 22:43:32 +02:00
Florian Bruhin
c5230dc347 Use logging system for python warnings 2014-06-02 22:19:35 +02:00
Florian Bruhin
0253dd6977 Catch empty standard paths 2014-05-27 16:28:01 +02:00
Florian Bruhin
7fa65a0f1e Add GPL to version output 2014-05-27 15:33:44 +02:00
Florian Bruhin
2fe5ae413b Fix readline rl_kill_line 2014-05-27 14:58:23 +02:00
Florian Bruhin
c65ebc81da editor: force UTF-8 2014-05-27 11:30:39 +02:00
Florian Bruhin
156d63b4b6 Only handle {} as editor arg when alone in argument 2014-05-27 11:16:53 +02:00
Florian Bruhin
06b0761755 Always clean up editor tempfiles, even on exit != 0 2014-05-27 07:43:07 +02:00
Florian Bruhin
4538745ffb Implement QWebPage:javaScript* 2014-05-26 20:04:44 +02:00
Florian Bruhin
d00a946497 Set orgname to make inspector settings persistent 2014-05-26 11:47:02 +02:00
Florian Bruhin
bb9f301410 Use getattr to get numeric logging level.
It turns out it was a bad idea to use logging._nameToLevel since that
doesn't exist in python 3.3.
2014-05-26 09:00:45 +02:00
Florian Bruhin
7c3c572519 Increase RAMHandler capacity to 500 2014-05-25 20:28:24 +02:00
Florian Bruhin
8fb54d4c55 More beautiful logging format 2014-05-25 20:13:58 +02:00
Florian Bruhin
7200bf5690 Whitespace 2014-05-25 20:08:37 +02:00
Florian Bruhin
b37ca744b2 Disable coloring when requested/on Windows/no tty 2014-05-25 20:08:07 +02:00
Florian Bruhin
e89fc3d940 Add colored logging 2014-05-25 20:00:48 +02:00
Florian Bruhin
f87e7b76f4 Log to RAM and display log in crash dialog 2014-05-25 18:46:15 +02:00
Florian Bruhin
353a447dd6 Initialize logging by hand, nicer output 2014-05-23 18:22:22 +02:00
Florian Bruhin
6825c669b5 Add the ability to filter logging messages 2014-05-23 16:57:08 +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
e7da95a3b1 Add question() and confirm_action() to message.py 2014-05-22 16:44:10 +02:00
Florian Bruhin
9a3554a784 Add answered_(yes|no) signals to Question. 2014-05-22 16:43:38 +02:00
Florian Bruhin
89350cbff4 Emit answered signal from statusbar prompt.
This is so we can leave the mode (and hide the command widget) before
emitting the answered signal (and possibly ask something again).
2014-05-22 16:41:58 +02:00
Florian Bruhin
2bcf46194b Add readline-like shortcuts 2014-05-22 10:49:19 +02:00
Florian Bruhin
ecc838d02c Fix ALL the lint 2014-05-21 17:29:09 +02:00
Florian Bruhin
1f4ca39e53 Fix wrong conditional 2014-05-21 15:50:08 +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
f72a72e98c Add FIXME for runtime location 2014-05-21 12:53:26 +02:00
Florian Bruhin
f43549d452 Clean up prompt code 2014-05-20 11:03:55 +02:00
Florian Bruhin
f0d1d4ed45 Selectively queue messages rather than unqueueing. 2014-05-19 03:40:10 +02:00
Florian Bruhin
844e536fff Command cleanup 2014-05-17 23:22:10 +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
2c2c79af2e Display some messages immediately 2014-05-16 17:21:43 +02:00
Florian Bruhin
8f58d22ad7 Fix lint 2014-05-16 07:49:04 +02:00
Florian Bruhin
70214bfedf Add elide() 2014-05-16 07:46:56 +02:00
Florian Bruhin
a70aa212e0 Fix lint 2014-05-15 22:02:43 +02:00
Florian Bruhin
d3eaeaac91 First steps at getting rid of signal cache 2014-05-15 17:57:08 +02:00
Florian Bruhin
452e9bfb5e Simplify NeighborList:getitem 2014-05-15 16:38:27 +02:00
Florian Bruhin
326280f910 Fix consistency and spelling in docstrings/comments 2014-05-15 16:27:34 +02:00
Florian Bruhin
8b13658eaf NeighborList: Don't snap in values if they match exactly 2014-05-15 15:38:53 +02:00
Florian Bruhin
659fe5126b Display error dialog when started after segfault 2014-05-15 12:20:03 +02:00
Florian Bruhin
e8a42e6cd3 Remove _signal_needs_caching from SignalCache 2014-05-15 10:49:51 +02:00
Florian Bruhin
765e20f881 Try to preserve git commit id with setup.py/freeze.py 2014-05-15 07:13:49 +02:00
Florian Bruhin
603fbdf239 Range-check all values passed to C code. 2014-05-15 00:02:20 +02:00
Florian Bruhin
a045511962 Use exceptions for command errors 2014-05-14 18:00:40 +02:00
Florian Bruhin
a86a3427fc Fix broken faulthandler condition 2014-05-14 14:38:00 +02:00
Florian Bruhin
0508f509ec Fix lint on Windows 2014-05-14 08:59:24 +02:00
Florian Bruhin
4a2fee8b1c Fix earlyinit to run properly on Windows.
signal.SIGUSR1 is not available on Windows so we import signal and check
dynamically if SIGUSR1 is available instead.
2014-05-14 08:52:40 +02:00
Florian Bruhin
bdd0846397 Move python check to separate file 2014-05-13 19:46:57 +02:00
Florian Bruhin
02e8e2236e Clean up earlyinit 2014-05-13 19:24:43 +02:00
Florian Bruhin
8fddd328f6 Move early init code to own file 2014-05-13 18:01:10 +02:00
Florian Bruhin
abe183f024 Remove logging from webelem.py 2014-05-13 11:17:22 +02:00
Florian Bruhin
1c4bb0214d Handle cx_freeze in read_file. 2014-05-13 10:39:37 +02:00
Florian Bruhin
bf639602f5 Check if sys.stdout is not None before using it.
When using pythonw (e.g. with cx_Freeze), sys.__stdout__ and sys.stdout
will be None, so we don't need to flush it.

This also means faulthandler won't work correctly, so we don't enabled
it if we don't have an stdout.
2014-05-13 10:38:27 +02:00
Florian Bruhin
8ff4b6dd99 Fix lint 2014-05-12 14:52:04 +02:00
Florian Bruhin
db7077d94f Clean up javascript_escape 2014-05-12 14:33:12 +02:00
Florian Bruhin
6cd8fd407f Make copies of geometries before modifying them 2014-05-12 12:06:08 +02:00
Florian Bruhin
0c9074f71b Handle QWebElements with an invalid geometry correctly 2014-05-12 10:59:30 +02:00
Florian Bruhin
3974c4dd88 Check hidden CSS elements 2014-05-12 10:58:23 +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
c61af3c805 Don't place hints in invisible frames 2014-05-12 09:17:05 +02:00
Florian Bruhin
4eebe2dc57 First try at hinting with frames 2014-05-12 07:49:44 +02:00
Florian Bruhin
fd9f801cab Define some magic methods for usertypes 2014-05-09 22:11:33 +02:00
Florian Bruhin
edc9d0810c Use QCoreApplication.instance() 2014-05-09 17:01:05 +02:00
Florian Bruhin
2c314d61cf Flush stdout before printing 2014-05-09 16:25:50 +02:00
Florian Bruhin
662ae603c7 Flush stdout before printing warning 2014-05-09 16:24:44 +02:00
Florian Bruhin
e88ce5e837 Fix CRLF in depenencies.py 2014-05-09 15:32:01 +02:00
Florian Bruhin
7868e57520 Add snap_in/fuzzyval to NeighborList 2014-05-09 14:20:10 +02:00
Florian Bruhin
1570fc8a95 Nice error messages on import errors 2014-05-09 11:06:05 +02:00
Florian Bruhin
590ab887cd Remove deprecated FIXME 2014-05-09 09:19:54 +02:00
Florian Bruhin
419d47afd3 Split paths correctly in get_standard_dir 2014-05-09 09:16:09 +02:00
Florian Bruhin
f411741389 Correct path separator on Windows 2014-05-09 09:13:08 +02:00
Florian Bruhin
7d8883fd11 Use QCoreApplication::applicationName in get_standard_dir 2014-05-09 09:12:32 +02:00
Florian Bruhin
3b2ae6bcf1 Add warning for dead_actute warning.
Yo dawg, I herd you like warnings!
2014-05-09 06:57:44 +02:00
Florian Bruhin
70c8df095e Switch from appdirs to QStandardPaths 2014-05-08 22:33:24 +02:00
Florian Bruhin
077d3be2e0 Detect local files correctly 2014-05-06 20:24:53 +02:00
Florian Bruhin
4999a59470 Add pastebin button to crash dialog 2014-05-06 15:36:15 +02:00
Florian Bruhin
7fb0a7745b Don't treat single words as URL 2014-05-06 14:25:11 +02:00
Florian Bruhin
3753e87465 Depend on appdirs instead of bundling 2014-05-06 06:22:28 +02:00
Florian Bruhin
317cdada8c Log messages 2014-05-05 22:36:08 +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
938fbd5608 Add ImmutableDict 2014-05-05 19:12:41 +02:00
Florian Bruhin
667b255d01 Use QApplication for global singletons 2014-05-05 17:56:14 +02:00
Florian Bruhin
2e744cf96d Use sys.platform.startswith 2014-05-05 14:19:06 +02:00
Florian Bruhin
c8882cd75e Fix protocol detection in _is_url_naive 2014-05-05 13:36:36 +02:00
Florian Bruhin
8b8a17f535 Small urlutils fixes 2014-05-05 13:08:20 +02:00
Florian Bruhin
8220a99219 Replace quotes properly 2014-05-05 12:15:31 +02:00
Florian Bruhin
ee1961cb42 Fix safe_shlex_split when both conditions are true 2014-05-05 12:06:44 +02:00
Florian Bruhin
3b75bbf495 Adjust shell_escape to maybe work on windows 2014-05-05 11:09:10 +02:00
Florian Bruhin
85c4bb823f Fix lint 2014-05-05 10:09:19 +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
4ff5431436 Fix checks 2014-05-04 01:33:01 +02:00
Florian Bruhin
9e609bae8d Add :spawn command 2014-05-03 14:25:22 +02:00
Florian Bruhin
f7fa315890 Better URL detection 2014-05-03 00:20:01 +02:00
Florian Bruhin
b74a97580f Handle completions for ValueList sections correctly 2014-05-02 14:18:40 +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
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
545e63aa0e Bundle editor functions 2014-04-30 11:27:59 +02:00
Florian Bruhin
1488e54567 Fix docstrings 2014-04-30 10:46:20 +02:00
Florian Bruhin
bc02df0bde Add open_editor command 2014-04-29 22:16:44 +02:00
Florian Bruhin
9ef956ae5e Fix some checks 2014-04-29 08:38:01 +02:00
Florian Bruhin
2a7062c5c8 Modify read_file to use pkg_utils 2014-04-29 06:44:47 +02:00
Florian Bruhin
8474bbdf6a Rename and reorder config options 2014-04-27 21:21:14 +02:00
Florian Bruhin
4692414255 Support file:// as special URLs 2014-04-26 14:47:00 +02:00
Florian Bruhin
9252ef94ca Consistent string chars 2014-04-25 16:53:23 +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
6311deb6b0 Read unbound-keys setting only once 2014-04-24 19:06:51 +02:00
Florian Bruhin
718295eb9f Use <> instead of @@ for special keys 2014-04-24 17:48:38 +02:00
Florian Bruhin
8648d88b51 Handle special keys instead of only modifiers 2014-04-24 17:43:19 +02:00
Florian Bruhin
0e3e588038 Add forward_unbound_keys setting 2014-04-24 16:53:16 +02:00
Florian Bruhin
b372c23b80 Move hint webelem code to utils.webelem 2014-04-24 16:30:59 +02:00
Florian Bruhin
1c5ae25b68 Start implementing auto_insert_mode 2014-04-24 16:03:16 +02:00
Florian Bruhin
10d7d887ec Pass keypresses to statusbar correctly 2014-04-24 15:47:38 +02:00
Florian Bruhin
ff887c647d Don't append mode to mode stack if it's already 2014-04-24 07:44:54 +02:00
Florian Bruhin
b9d845180e Better logging for ModeManager 2014-04-24 07:44:47 +02:00
Florian Bruhin
5b84848ad9 s/leaved/left/g 2014-04-24 07:01:27 +02:00
Florian Bruhin
95691e1e11 Show passthrough modes in statusbar 2014-04-24 06:59:39 +02:00
Florian Bruhin
afa9c47867 Lint cleanups 2014-04-24 06:45:38 +02:00
Florian Bruhin
3d292fbc27 Use a stack for current modes 2014-04-24 06:44:58 +02:00
Florian Bruhin
cd5f2562aa Adjust eventFilter to use new features 2014-04-23 23:24:46 +02:00
Florian Bruhin
e56d33badc Check if handler is available for new mode 2014-04-23 23:23:30 +02:00
Florian Bruhin
5385307582 Register modes explicitely with modemanager. 2014-04-23 23:23:04 +02:00
Florian Bruhin
fc11021c08 Add a passthrough argument to modemanager register() 2014-04-23 23:22:34 +02:00
Florian Bruhin
522a703863 Remove module-level modemanager register() 2014-04-23 23:21:29 +02:00
Florian Bruhin
8f44b56923 Start implementing eventFilter in ModeManager 2014-04-23 23:20:39 +02:00
Florian Bruhin
ce48ed9b8e Add entered/leaved signals to modemanager 2014-04-23 21:15:47 +02:00
Florian Bruhin
8b5daad367 Add ModeManager 2014-04-23 21:15:47 +02:00
Florian Bruhin
46f1a2a0d0 Add log_events decorator 2014-04-22 23:50:56 +02:00
Florian Bruhin
0f29526f91 Refactor keyparser 2014-04-22 17:21:29 +02:00
Florian Bruhin
aedf1889dd Support ambiguous keybindings 2014-04-22 16:50:37 +02:00
Florian Bruhin
f38871c9c9 Remove FIXME 2014-04-22 16:12:53 +02:00
Florian Bruhin
97578df7a5 Use QHostInfo instead of socket to resolve 2014-04-22 16:09:41 +02:00
Florian Bruhin
963066b4bd Remove some old FIXMEs 2014-04-22 14:45:24 +02:00
Florian Bruhin
9b5cf6ee7d Update appdirs.py 2014-04-22 12:07:57 +02:00
Florian Bruhin
e1b7305e40 Get rid of unneeded text slots in statusbar 2014-04-22 10:00:43 +02:00
Florian Bruhin
d700d962af Add the ability to display persistent messages. 2014-04-22 09:06:17 +02:00
Florian Bruhin
341481cd99 Allow bindings to be modified 2014-04-21 11:00:58 +02:00
Florian Bruhin
52c7376402 Split command-related stuff off from KeyParser 2014-04-21 10:45:57 +02:00
Florian Bruhin
39f580d9f1 Cleanup 2014-04-17 17:44:27 +02:00
Florian Bruhin
457e173592 More config cleanup.
This renames the config instance from "config" to "instance" and adds a
convenience get() function in the config module.
2014-04-17 15:26:27 +02:00
Florian Bruhin
91e6f4c37d Better linting with config files 2014-04-16 11:05:58 +02:00
Florian Bruhin
e878fc538d Fix some checks 2014-04-16 10:02:34 +02:00
Florian Bruhin
175eabdc80 Remove fallback values from config 2014-04-10 14:40:02 +02:00
Florian Bruhin
c5ca0e56be Remove blank lines before """ in docstrings.
pep257 has changed in this regard so we reflect this change.
2014-04-10 14:21:27 +02:00
Florian Bruhin
4ff86b660c Lint fixes 2014-04-10 12:24:41 +02:00
Florian Bruhin
235d588827 Remove MessageBridge debug 2014-04-09 21:17:56 +02:00
Florian Bruhin
72ab405040 Handle statusbar messages centrally 2014-04-09 20:47:24 +02:00
Florian Bruhin
638fdca573 appdirs.py update 2014-03-25 06:23:55 +01:00
Florian Bruhin
f079d6bf3b More config update/adoption 2014-03-10 00:39:14 +01:00
Florian Bruhin
eb2097772d Add utils/debug.py 2014-03-03 21:22:20 +01:00
Florian Bruhin
b75fc347dc Fix checks 2014-03-03 21:19:29 +01:00
Florian Bruhin
af0b6901be First kinda working version 2014-03-03 21:06:10 +01:00
Florian Bruhin
b22b19d881 Start using (broken) decorators 2014-03-03 06:09:23 +01:00
Florian Bruhin
3b648a4c0d Move config to config subfolder 2014-02-23 18:14:40 +01:00
Florian Bruhin
7da05b3fb9 Raise better error in NeighborList.curitem if no index is set 2014-02-23 17:39:29 +01:00
Florian Bruhin
b59f0e9a34 Rename types.py to usertypes.py 2014-02-23 16:30:07 +01:00
Florian Bruhin
a96261e7b8 Cleanup 2014-02-21 19:44:46 +01:00
Florian Bruhin
90e56e6477 Rename about:... to qute:... 2014-02-21 07:18:04 +01:00
Florian Bruhin
ec1951c56c Move abouthandler to network subpackage 2014-02-20 22:26:25 +01:00
Florian Bruhin
88b8b6ea4e Improve config save warning 2014-02-20 20:49:31 +01:00
Florian Bruhin
7fc45728a9 NeighborList: add firstitem() and lastitem() 2014-02-20 20:47:06 +01:00
Florian Bruhin
92b0024f25 NeighborList: Remove off-by-one error 2014-02-20 20:46:53 +01:00
Florian Bruhin
7d74e62696 NeighborList; Remove old FIXME 2014-02-20 20:46:43 +01:00