Commit Graph

790 Commits

Author SHA1 Message Date
Florian Bruhin
9bf776aee1 Fix TypeError when closing tabs with older PyQt-versions.
Fixes #257.

It seems disconnecting a signal from a destroyed object gives us a
"TypeError: pyqtSignal must be bound to a QObject, not 'WebView'" instead of a
RuntimeError with older PyQt-versions (5.2.1).
2014-11-14 18:55:48 +01:00
Florian Bruhin
4c8ecbb40d Fix disconnecting from objreg for deleted objects. 2014-11-12 20:22:49 +01:00
Florian Bruhin
2419071b0f Disconnect destroyed signal of objects deleted in objreg.
Fixes #205.
2014-11-12 20:19:26 +01:00
Florian Bruhin
5fa1556588 Fix getting last main window when it was closed.
Fixes #242.
2014-11-10 23:21:31 +01:00
Florian Bruhin
6310081ef5 Clean up simple_split. 2014-11-10 23:02:34 +01:00
Florian Bruhin
c70f6f534b Get rid of dotted_getattr. 2014-11-10 18:59:13 +01:00
Florian Bruhin
398da22b54 Fix splitting with split=False and maxsplit=0.
Since re.split behaves differently from str.split with maxsplit=0,
4e9b9baeab broke things like ":open foo bar".
2014-11-10 10:38:19 +01:00
Florian Bruhin
d71147898b Move completion logic from statusbar widget to completer.
Fixes #247.
2014-11-10 07:49:22 +01:00
Florian Bruhin
404e425a9e Clean up faulthandler import 2014-11-09 22:59:14 +01:00
Florian Bruhin
5f9c56bcdd Fix exception when logging Qt warning without function. 2014-11-09 22:57:39 +01:00
Florian Bruhin
bc009ae624 Fix lint in split.py 2014-11-09 22:15:44 +01:00
Florian Bruhin
40be804ee6 Don't handle "foo: bar" as URL.
Fixes #227.
2014-11-09 21:54:15 +01:00
Florian Bruhin
bf752f6ea4 Update pyPEG2 install instructions.
Fixes #243.
2014-11-09 21:48:33 +01:00
Florian Bruhin
b7c1f32922 Strip pattern when completing. 2014-11-09 20:47:39 +01:00
Florian Bruhin
4e9b9baeab Split commands with split=False correctly.
Fixes #231.
2014-11-09 20:46:21 +01:00
Florian Bruhin
f689c89316 Merge branch 'shlex'
Fixes #122.
Fixes #232.
2014-11-09 18:25:51 +01:00
Florian Bruhin
31ee458e56 Hide _GTK_LOAD_ICONTHEMES Qt error 2014-11-08 20:03:33 +01:00
Florian Bruhin
2b8d6c5dd7 Use a for loop 2014-11-06 09:02:21 +01:00
Florian Bruhin
5fe04a6aec Make completion work more or less 2014-11-06 08:26:01 +01:00
Florian Bruhin
ac61422059 Fix splitting of whitespace at EOL 2014-11-06 08:25:46 +01:00
Florian Bruhin
76b72d3438 Try splitting with whitespace at next token. 2014-11-06 07:14:36 +01:00
Florian Bruhin
ca1ca7db36 shlexer cleanup 2014-11-06 07:13:58 +01:00
Florian Bruhin
77949c8d33 Get rid of continue 2014-11-06 06:46:21 +01:00
Florian Bruhin
cb24ec58cc Use yield 2014-11-06 06:44:23 +01:00
Florian Bruhin
9591e86054 cleanup state=None 2014-11-05 23:48:57 +01:00
Florian Bruhin
e6f4ac9b99 cleanup 2014-11-05 23:47:48 +01:00
Florian Bruhin
40a1c4a2d9 Remove newline test 2014-11-05 21:44:52 +01:00
Florian Bruhin
1d9b60d733 Fix some tests 2014-11-05 21:42:27 +01:00
Florian Bruhin
ac355b1c7c Use vdebug level. 2014-11-05 07:42:21 +01:00
Florian Bruhin
22da17bbca Add a keep-mode to shlexer. 2014-11-05 07:41:17 +01:00
Florian Bruhin
82e95d82d1 cleanup 2014-11-04 21:06:43 +01:00
Florian Bruhin
84916448a9 Use iterator to read chars 2014-11-04 20:41:29 +01:00
Florian Bruhin
409eba76ca Handle safe parsing directly in ShellLexer 2014-11-04 20:24:42 +01:00
Florian Bruhin
95f7940996 Get rid of _get_lexer. 2014-11-04 20:13:38 +01:00
Florian Bruhin
430ef5c935 Whitespace cleanup 2014-11-04 20:13:31 +01:00
Florian Bruhin
89a2057cac Simplify eof handling 2014-11-04 20:09:45 +01:00
Florian Bruhin
cfafc2e235 Get rid of get_token 2014-11-04 20:08:14 +01:00
Florian Bruhin
9a5df13639 Use logging for debug 2014-11-04 20:06:58 +01:00
Florian Bruhin
cb76a100c2 Assume whitespace_split=True, get rid of wordchars/pushback 2014-11-03 21:48:10 +01:00
Florian Bruhin
9180a8b0bb shlex: Some lint cleanup 2014-11-03 21:43:34 +01:00
Florian Bruhin
b8d9f3b041 shlex: Remove lineno/commenters 2014-11-03 21:37:36 +01:00
Florian Bruhin
861705f655 shlex: Assume posix=True 2014-11-03 21:35:47 +01:00
Florian Bruhin
cab18c248c shlex: Remove unneeded stuff 2014-11-03 21:30:39 +01:00
Florian Bruhin
3fa8efc34b Initial shlex fork 2014-11-03 21:27:07 +01:00
Florian Bruhin
f705194c00 Fix an exception related to handling IPC connections.
See http://paste.the-compiler.org/view/77f58b69
2014-11-02 21:53:12 +01:00
Florian Bruhin
8e713abadf Add some logging for #232 2014-11-02 20:30:00 +01:00
Florian Bruhin
6e4759b65a Better paste metainfo 2014-10-31 07:57:50 +01:00
Florian Bruhin
e639cdb117 Remove unused imports. 2014-10-26 22:08:59 +01:00
Florian Bruhin
2269d9a64b Split getting of completion model into multiple functions. 2014-10-26 22:08:36 +01:00
Florian Bruhin
6f3fde4450 Don't trigger completion update twice.
Fixes #206.
2014-10-21 16:45:04 +02:00
Florian Bruhin
7eba55459b Fix completion with flags.
Fixes #203.
2014-10-20 20:39:25 +02:00
Florian Bruhin
fd6e56d7af Convert all function annotations to dicts. 2014-10-20 17:20:39 +02:00
Florian Bruhin
0a5cee6ea2 Simplify text marking in completion.
Also improves performance, see #190.
2014-10-20 07:43:07 +02:00
Claude
ed51367bdd selfish parameters 2014-10-19 23:01:06 +02:00
Claude
ecbe5c071d match urls with open, names with quickmark-load 2014-10-19 22:25:21 +02:00
Claude
572a9857ec fixes 2014-10-18 22:00:28 +02:00
Claude
afe45f9970 puschschsch 2014-10-18 16:42:06 +02:00
Claude
36328a01a4 updating code
according to https://github.com/The-Compiler/qutebrowser/pull/189#issuecomment-59220531
2014-10-17 21:39:28 +02:00
Claude
9613cc0eab Merge remote-tracking branch 'florian/master' into quickmark-completion 2014-10-17 20:46:00 +02:00
Florian Bruhin
dc8f156c21 Make srcmodel public in CompletionFilterModel. 2014-10-15 20:43:20 +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
e8fa8fadce Fix completion tabbing.
I accidentally broke this in fb3682f5fa because
the variable gets reset before the slot is executed now.

See #189.
2014-10-15 13:00:56 +02:00
Claude
621388e5e0 init quickmark completion in init_static 2014-10-15 12:08: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
fb3682f5fa Load completion with a singleShot QTimer.
It still slows stuff down while typing, but at least it's a lot more responsive
for the initial load.

See #189.
2014-10-15 07:15:59 +02:00
Florian Bruhin
a8808aa3d4 Keep a reference to completion source model.
For some reason calling sourceModel() takes quite some time, which accounts for
about 1-2s of delay when showing the completion.

This matters for #189 for example.
2014-10-15 07:06:39 +02:00
Florian Bruhin
cf6d303ad1 Improve crash log handling because of single-instance. 2014-10-14 20:47:06 +02:00
Florian Bruhin
ef8873040a Add docstrings to signal debugging. 2014-10-14 07:59:07 +02:00
Florian Bruhin
bcf8040041 Whitespace fixes. 2014-10-14 07:58:50 +02:00
Florian Bruhin
0e9177eb4f Rename ipc param to process_args to via_ipc.
This prevents shadowing of the module.
2014-10-14 07:57:42 +02:00
Florian Bruhin
ca85dde71f Merge branch 'ipc' 2014-10-13 23:19:04 +02:00
Florian Bruhin
191b1dd240 Open new window for IPC args. 2014-10-13 23:14:24 +02:00
Florian Bruhin
19be96b4a8 Better invalid data logging 2014-10-13 22:51:11 +02:00
Florian Bruhin
f9c2eb836f Adjust docstring 2014-10-13 22:48:37 +02:00
Florian Bruhin
6b07fd969a Add timeout to IPC server. 2014-10-13 22:47:32 +02:00
Florian Bruhin
4617aee317 Log all socket errors 2014-10-13 22:38:40 +02:00
Florian Bruhin
103ba3b8b0 Don't log PeerDisconnectedError. 2014-10-13 22:36:05 +02:00
Florian Bruhin
bdb7cc96b4 Handle multiple connections properly #2. 2014-10-13 22:35:10 +02:00
Florian Bruhin
de41dee0b5 Add ipc logging 2014-10-13 21:38:28 +02:00
Florian Bruhin
879cdf8904 Ignore invalid UTF-8 data. 2014-10-13 21:17:49 +02:00
Florian Bruhin
7d492d7556 Ignore invalid json data. 2014-10-13 21:16:38 +02:00
Florian Bruhin
c42fc53980 Handle multiple connections properly. 2014-10-13 21:12:15 +02:00
Florian Bruhin
9e2e684124 Whitespace 2014-10-13 20:38:40 +02:00
Florian Bruhin
795a6937ac Add missing @pyqtSlot decorators. 2014-10-13 20:37:09 +02:00
Florian Bruhin
5bc4f85dc5 Fix QLocalServer error checking. 2014-10-13 20:37:00 +02:00
Florian Bruhin
a849901693 Shut down IPC cleanly on exit. 2014-10-13 20:36:23 +02:00
Florian Bruhin
6dc0bfa2d2 Convert IPCServer to a class and handle connections async. 2014-10-13 20:11:13 +02:00
Florian Bruhin
a3ee504c59 Add docstrings. 2014-10-13 07:59:03 +02:00
Florian Bruhin
93dd3d8d9d Fix check for QLocalSocket.UnknownSocketError 2014-10-13 07:49:26 +02:00
Florian Bruhin
8195f1875e Ignore QLocalSocket.ServerNotFoundError while connecting. 2014-10-13 07:49:01 +02:00
Florian Bruhin
2f0bbab635 Better IPC exceptions 2014-10-13 07:47:05 +02:00
Florian Bruhin
d861645d37 Remove wrong 'self' argument. 2014-10-13 07:43:22 +02:00
Florian Bruhin
5fc3332b6b Check errors correctly when connecting to socket. 2014-10-13 07:43:12 +02:00
Florian Bruhin
94b9bd42af Add missing "return True" when connected. 2014-10-13 07:42:15 +02:00
Florian Bruhin
f759106a14 Error handling when writing to running instance. 2014-10-13 07:34:15 +02:00
Florian Bruhin
451a8be748 Small cleanup. 2014-10-13 07:31:56 +02:00
Florian Bruhin
4958da9c70 Error checking on connection. 2014-10-13 07:31:48 +02:00
Florian Bruhin
869fd4f752 Add an IPCError exception. 2014-10-13 07:11:45 +02:00
Florian Bruhin
ae61ca8af9 whitespace 2014-10-13 07:09:25 +02:00
Florian Bruhin
e351217740 Wait until socket bytes are written. 2014-10-13 07:09:16 +02:00