Ryan Roden-Corrent
a940de3717
Rename editing_finished to file_updated.
...
ExternalEditor now fires an event on save rather than on exit, so the
signal name should be updated to match the behavior.
2018-01-27 15:03:18 -05:00
Ryan Roden-Corrent
23eb6a6c53
Fix test_editor for edit-on-write behavior.
...
Now that the editor fires editing_finished on every write, the unit
tests had to be updated.
- Add qtbot to the editor fixture to resolve `QtWarningMsg:
QSocketNotifier: Can only be used with threads started with QThread`
- Use removePaths instead of disconnect to stop the watcher from
signalling. This avoids an error when the editor is forcibly cleaned
up by the tests without the signal ever being connected, but otherwise
has the same behavior as disconnecting the singal.
- wait for a signal on write instead of proc closed
- wait for _watcher.fileChanged in test_unreadable to ensure the write
event is fired before the test exits.
2018-01-27 15:03:18 -05:00
Ryan Roden-Corrent
8a9b98c2dc
Editor triggers update on every save.
...
For any command that spawns an editor, tirgger an update on save, not
just on exit.
- :open-editor writes the text field on save
- :edit-url navigates on save
- :edit-url -t opens a new tab on each save
- :edit-command updates the statusbar text on save
- :edit-command --run runs a command on each save
- :config-edit reloads the config on save
Resolves #2307 .
Helps mitigate #1596 by allowing users to 'save' partial work, and
notice if there was an error without closing the editor.
2018-01-27 15:03:18 -05:00
Marc Jauvin
fe4dd579f9
add --sel option to prompt-yank
2018-01-26 22:06:05 -05:00
Florian Bruhin
24cc54a574
Simplify initializing of AbstractTab subclasses
...
If we already pass the tab object, no need to pass the window ID separately.
2018-01-26 09:47:26 +01:00
Florian Bruhin
677e188894
Update docs
2018-01-26 09:37:35 +01:00
Florian Bruhin
125b3c1de9
Merge remote-tracking branch 'origin/pr/3521'
2018-01-26 09:25:50 +01:00
Marc Jauvin
d2287b7a2e
move backend specific code out of AbstractTab into respective backend
...
classes.
2018-01-25 22:38:25 -05:00
Marc Jauvin
ddcc960aa5
url arg was a string
2018-01-25 22:01:18 -05:00
Marc Jauvin
88ff0c0425
url_str -> urlstr: urlstr used accross the codebase, more consistent
2018-01-25 18:01:43 -05:00
Marc Jauvin
520b473350
modify Question.yank_text to Question.url
...
error out when question.url is None
add url to yesno prompts
add default binding in prompt mode (ctrl-y)
2018-01-25 17:48:45 -05:00
Marc Jauvin
bb8bc7ea3c
fix test related to view-source
...
remove pygment title
remove view-source from history
2018-01-25 15:17:03 -05:00
Marc Jauvin
eb888cc8d7
fix latest change requests
2018-01-25 13:35:23 -05:00
Florian Bruhin
40df5baa83
Merge remote-tracking branch 'origin/pr/3515'
2018-01-25 09:04:44 +01:00
Florian Bruhin
54e9edfd60
Merge remote-tracking branch 'origin/pr/3515'
2018-01-25 09:02:20 +01:00
Marc Jauvin
3b1fb92b11
remove extra line to satisfy flake8
2018-01-24 19:13:28 -05:00
Marc Jauvin
d77c9ae009
Add prompt-yank command
...
add yank_text property to utils.usertypes.Question class
Resolves #2591
2018-01-24 18:53:06 -05:00
Marc Jauvin
d7c51f7fc4
implement requested changes for PR #3521 .
2018-01-24 18:04:05 -05:00
Daniel Hahler
4f04c776c1
fixup! fixup! incdec_number: add support for port
2018-01-24 22:22:00 +01:00
Florian Bruhin
961eebaf71
Merge remote-tracking branch 'origin/pr/3510'
2018-01-24 21:33:04 +01:00
Florian Bruhin
582236e42b
Merge remote-tracking branch 'origin/pr/3509'
2018-01-24 21:28:58 +01:00
Florian Bruhin
e5b6ccd716
Merge remote-tracking branch 'origin/pr/3506'
2018-01-24 21:14:25 +01:00
Florian Bruhin
caca3614f8
Merge remote-tracking branch 'origin/pr/3443'
2018-01-24 20:36:15 +01:00
Marc Jauvin
2e912eeadf
move backend dependent code to AbstractAction respective classes
2018-01-23 23:30:22 -05:00
Marc Jauvin
83515628a8
fix line indentation warning
2018-01-23 10:11:34 -05:00
Marc Jauvin
56e6864159
Inject qutebrowser's JS files at DocumentReady
...
Use WebEngine's view-source: scheme for "view-source" command.
Also add missing URL when viewing source for WebKit.
Resolves #3490
Resolves #2395
Resolves #2948
2018-01-23 10:03:04 -05:00
Daniel Hahler
9f14ae184f
fixup! incdec_number: add support for port
2018-01-22 21:48:21 +01:00
Daniel Hahler
6a40cbf160
incdec_number: add support for port
2018-01-22 21:26:46 +01:00
Simon Doppler
02396cb455
Remove useless function
2018-01-22 16:12:45 +01:00
Simon Doppler
f11d7ab489
Check if the window still exists
2018-01-22 16:11:59 +01:00
Simon Doppler
ab9f17b053
Use default value for dictionary item in tabs handler
2018-01-22 16:08:30 +01:00
Ryan Roden-Corrent
1e9a70855d
Show '&' properly in completion widget.
...
When highlighting the matched part of the text, we need to html-escape
the pattern used to find the matching text so it will replace terms that
have been escaped in the text, like &.
Resolves #3508 .
2018-01-21 07:46:53 -05:00
Ryan Roden-Corrent
9d5beff937
Set some PRAGMAs to optimize the history database.
...
Enable write-ahead-logging and reduce the synchronous level to NORMAL.
This should reduce the number of writes to disk and avoid some of the
hangs users are experiencing.
Resolves #3507 .
Resolves #2930 (optimistically, reopen if not fixed).
See https://sqlite.org/pragma.html and https://www.sqlite.org/wal.html .
2018-01-20 15:49:52 -05:00
Florian Bruhin
d62cb58f7d
Release v1.1.1
...
(cherry picked from commit 4e8abaa2d16103f42cb26919e50d59937a88ae8f)
2018-01-20 19:21:40 +01:00
Florian Bruhin
748de85ba2
Fix crash when getting signals for closed tabs
...
Fixes #3498
2018-01-20 18:50:17 +01:00
Florian Bruhin
1f5cbf21a3
Merge remote-tracking branch 'origin/pr/3348'
2018-01-20 18:28:14 +01:00
Florian Bruhin
182bf1d688
Simplify platform handling
2018-01-20 16:43:39 +01:00
Jimmy
aebc1a7d48
Greasemonkey: don't complain about an unset run-at
...
Apparently is is not an unusual situation to leave it unset and rely on
the default. Logging a warning about this could be unnecerasily
confusing for users.
I'm leaving the log message in there if it is set to something weird
like `window-load` or `document-complete` which scriptish may support.
2018-01-20 13:40:53 +13:00
Jimmy
d5d22783ea
Greasemonkey: optimize pattern matching a little
...
Moving `QUrl.toString()` out of the `_match()` function which is called
for every pattern in every stript seems to make it ~40% faster.
2018-01-20 13:40:53 +13:00
Jimmy
971b413991
Greasemonkey: make *clude regexes case insensitive
...
Sometimes I don't read specs so good.
2018-01-20 13:40:47 +13:00
Jimmy
b2f95339ce
Greasemonkey: support regexes in @include and @exclude.
...
Like the spec says, if a value for the @include or @exclude rules starts
and ends with a '/' it should be parsed as a regular expression.
Technically a ECMAScript syntax regular expression, but I am not sure of
the differences and I assume they are far fewer than the similarities.
One that I did see mentioned was that javascript RegExp doesn't support
unicode. Although it apparently does support a 'u' flag now.
Note that code will only be ran for QtWebkit and QWebEngine < 5.8
we rely on the builtin support for metadata it QWebEngine for most
things greasemonkey related. Sadly it seems that they missed the regex
requirement too. I've opened a ticket to track that https://bugreports.qt.io/browse/QTBUG-65484
2018-01-20 13:39:19 +13:00
Jay Kamat
968367b042
Simplify logic for checking if an element is a frame
2018-01-19 15:25:03 -05:00
Artur Shaikhullin
1e3f11ca13
Fix eslint warnings
2018-01-19 23:17:03 +06:00
Artur Shaikhullin
22d77fadd7
Eliminate caret blinking
2018-01-19 22:40:47 +06:00
Artur Shaikhullin
2d2d71512f
Add initial comment
2018-01-19 22:31:12 +06:00
Artur Shaikhullin
79766aa65b
Add chromium license
2018-01-19 22:28:49 +06:00
Artur Shaikhullin
6eb001fc34
Rename js caret file
2018-01-19 22:24:11 +06:00
Artur Shaikhullin
859469c600
Remove redundancy comment
2018-01-19 22:15:54 +06:00
Artur Shaikhullin
4fde8ff204
Add separate function in js to set current platform
2018-01-19 22:14:01 +06:00
Marc Jauvin
4a4a6549d0
use a temporary attribute of the class to prevent the loop; tested to work in both backends
2018-01-19 09:34:45 -05:00
Marc Jauvin
9e258a490e
might as well use the same loop prevention mechanism for both backends
2018-01-19 06:59:40 -05:00
Argn0
bd7054fa2e
use self.delete and add test
2018-01-19 09:29:37 +01:00
Argn0
aeb7bac886
added :session-load --delete
2018-01-19 02:33:42 +01:00
Marc Jauvin
a2ca59b822
add netrc support for webengine. resolves #2785 .
2018-01-18 18:06:47 -05:00
Florian Bruhin
cb2cd615e0
Update docs
2018-01-18 07:57:31 +01:00
Florian Bruhin
380021e818
Merge remote-tracking branch 'origin/pr/3484'
2018-01-18 07:54:42 +01:00
Jay Kamat
12d729c3bc
Merge remote-tracking branch 'upstream/master' into jay/frame-hinting
2018-01-17 17:24:43 -05:00
Jay Kamat
ffda82170d
Fix several style issues
2018-01-17 17:02:53 -05:00
Marc Jauvin
72c97ca846
sort modes, "normal" mode first
2018-01-17 14:25:07 -05:00
Jay Kamat
c5e688f26c
Stop iterating over every frame to check if element is frame
2018-01-17 13:08:04 -05:00
Marc Jauvin
5db4493667
@The-Compiler requested changes addressed.
2018-01-17 10:11:32 -05:00
Florian Bruhin
b3ebcfd394
Merge remote-tracking branch 'origin/pr/3482'
2018-01-17 15:53:47 +01:00
Florian Bruhin
923785c781
Merge remote-tracking branch 'origin/pr/3467'
2018-01-17 14:41:45 +01:00
Florian Bruhin
a1798b3843
Merge remote-tracking branch 'origin/pr/3474'
2018-01-17 13:38:22 +01:00
Florian Bruhin
4acb63ca49
Merge remote-tracking branch 'origin/pr/3478'
2018-01-17 13:23:31 +01:00
Marc Jauvin
e25a33790f
remove blank line to satisfy flake8
2018-01-15 20:44:56 -05:00
Marc Jauvin
fb0a418d0a
use url even if we do not need it
2018-01-15 16:03:22 -05:00
Marc Jauvin
528b48dab6
fix line too
2018-01-15 15:51:14 -05:00
Marc Jauvin
9b473093b1
silence pylint warning
2018-01-15 15:45:29 -05:00
Marc Jauvin
f6cfb0c529
add missing super() call
2018-01-15 15:44:21 -05:00
Florian Bruhin
fbbb9ae940
Release v1.1.0
2018-01-15 19:39:16 +01:00
Florian Bruhin
8c8cb3bc29
Fix crash when clicking <form> element with name="value" child
...
https://stackoverflow.com/q/22942689/2085149
Fixes #2877
See #2569
2018-01-14 20:20:51 +01:00
Nemanja Nedeljkovic
8d8566a5ab
Merge branch 'master' of github.com:qutebrowser/qutebrowser into angular-hints
2018-01-13 23:18:39 +01:00
Marc Jauvin
a2cdb2e4db
Merge branch 'patch-issue#24' of https://github.com/mjauvin/qutebrowser into patch-issue#24
2018-01-13 15:55:05 -05:00
Marc Jauvin
48b6c160f5
improve styling as suggested by @jgkamat
2018-01-13 15:52:49 -05:00
Christian Helbling
cd20c32973
simplify more
2018-01-13 10:48:13 +01:00
Christian Helbling
141d020ede
import debug is not needed anymore
2018-01-13 10:47:58 +01:00
Marc Jauvin
4848182204
code cleanup
...
- move qute_bindings block AFTER qute_settings block
- remove unnecessary variable declaration
2018-01-13 01:39:05 -05:00
Marc Jauvin
1e8694f3cc
remove unused module
2018-01-12 17:35:04 -05:00
Marc Jauvin
3a7ac51a00
html template to render qute://bindings
2018-01-12 17:28:56 -05:00
Marc Jauvin
8940e05baf
bind without agruments shows current bindings
2018-01-12 17:27:44 -05:00
Marc Jauvin
4ae33deebd
add handler for qute://bindings
2018-01-12 17:24:20 -05:00
Christian Helbling
559059d244
simplify code - state_before_fullscreen seems not to be needed anymore
2018-01-12 11:21:55 +01:00
Christian Helbling
699abef159
fix regression of #2778 which reappeared with qt 5.10 in combination with up-to-date KDE
...
this should also avoid an unneccessary KDE maximize animation when exiting fullscreen into maximized
2018-01-12 10:54:05 +01:00
Argn0
d9741d56c5
removed a trailing whitespace
2018-01-11 16:38:55 +01:00
Argn0
57e8b428c3
e.accept() and return
2018-01-11 15:45:44 +01:00
Argn0
200b36bd36
review 1
2018-01-11 14:09:08 +01:00
Argn0
2d7dd391a3
review 1
2018-01-11 14:08:17 +01:00
Argn0
66d0591684
new method
2018-01-11 14:03:43 +01:00
Argn0
4932323d3b
review 1 setText
2018-01-11 12:40:20 +01:00
Argn0
860b22c0e0
review 1
2018-01-10 22:05:14 +01:00
Argn0
9fd2ad9909
review 1
2018-01-10 21:34:19 +01:00
Argn0
1db4309eec
review 1
2018-01-10 21:29:31 +01:00
Argn0
be5b8e2632
option to close commandline by deleting the prefix
2018-01-10 20:02:39 +01:00
Argn0
5003432a55
option to close commandline by deleting the prefix
2018-01-10 19:59:34 +01:00
Florian Bruhin
6b9edefb05
Merge remote-tracking branch 'origin/pr/3432'
2018-01-10 09:39:08 +01:00
Florian Bruhin
0518a03b1e
Merge remote-tracking branch 'origin/pr/3423'
2018-01-10 09:38:07 +01:00
Simon Doppler
dea0aa9f7c
Add tabs page
2018-01-08 18:01:42 +01:00
Nemanja Nedeljkovic
5f3ee66775
Code style improvement and documentation
2018-01-07 12:06:36 +01:00
Nemanja Nedeljkovic
957d5b3f02
Add more angular1 selectors
2018-01-07 11:58:02 +01:00
Jay Kamat
8500509532
Implement is_visible for same-origin frames
2018-01-06 11:13:54 -08:00
Nemanja Nedeljković
555f43c854
Add ng-click for hinting to Angular 1.x links
2018-01-06 19:18:17 +01:00
Artur Shaikhullin
aebd59247d
Check platform
variable
2018-01-06 22:45:53 +06:00
Artur Shaikhullin
c4e50369e7
Enable caret only when mode is 'caret'
2018-01-06 22:43:39 +06:00
Artur Shaikhullin
dc8c919c30
Fix pylint warnings
2018-01-05 22:44:07 +06:00
Artur Shaikhullin
5553e64a75
Restore chrome-caretbrowsing extension comments
2018-01-05 19:21:55 +06:00
Artur Shaikhullin
8268c1d7ff
Disable eslint rules globally
2018-01-05 19:02:19 +06:00
Artur Shaikhullin
b6662fd243
Use inner functions for callbacks
2018-01-05 18:35:15 +06:00
Jay Kamat
3d508be9ff
Clear unpinned tabs before prompting user with :tab-only
2018-01-04 18:34:40 -08:00
Ryan Roden-Corrent
c290b3f80f
Don't attempt completion if input starts with flag.
...
Always interpret the first word in the command string as the command to
offer completions for, even if that word looks like a flag.
Fixes #3460 , where the command string `:-w open` would attempt to offer
completions for `open` but crash because the parsing was thrown off.
By moving the flag-stripping logic to _after_ we determine the command,
`:-w open` interprets `:-w` as the command. Since that is not a valid
command, we won't offer any completions.
2018-01-04 12:34:06 -05:00
Artur Shaikhullin
695f734142
Extract js call method
2017-12-30 23:46:04 +06:00
Artur Shaikhullin
e22dc1b5c6
Update copyright year
2017-12-30 23:37:57 +06:00
Artur Shaikhullin
fe4eb19ecf
Add link to chrome-caretbrowsing extension
2017-12-30 23:37:17 +06:00
Artur Shaikhullin
6dc3108747
Get OS name using python
2017-12-30 23:35:12 +06:00
Artur Shaikhullin
25436e2544
Fix eslint warnings
2017-12-30 09:43:16 +06:00
Florian Bruhin
28889cf099
Use a dict for ModeManager.eventFilter
2017-12-29 20:36:55 +01:00
Florian Bruhin
e7af961be2
Remove filtering of mouse events
...
This was needed for the hide-mouse-cursor setting. However, this setting was
removed in 2223a285ef
, so this code has been dead
since then.
2017-12-29 19:36:52 +01:00
Artur Shaikhullin
e254ea2fa7
Add license and description
2017-12-29 23:43:39 +06:00
Florian Bruhin
dcf89f7a28
Fix KeyConfig._prepare
2017-12-29 16:10:12 +01:00
Florian Bruhin
a145497c65
Make :unbind work correctly
2017-12-29 16:05:16 +01:00
Florian Bruhin
81e9060239
Make sure KeySequence keys are valid
2017-12-29 16:04:25 +01:00
Florian Bruhin
caa05df16d
Use KeySequences in config.py
2017-12-29 15:58:20 +01:00
Florian Bruhin
7b3cb14e6e
Revert "Try to have strings in KeyConfig"
...
This reverts commit 28b6b97f39
.
2017-12-29 15:41:28 +01:00
Florian Bruhin
28b6b97f39
Try to have strings in KeyConfig
2017-12-29 15:41:12 +01:00
Artur Shaikhullin
d04a087c2b
Try fix Windows caret issues 2
2017-12-29 20:10:18 +06:00
Florian Bruhin
737ff2cc69
Add <> around special keys in __str__
2017-12-29 14:43:04 +01:00
Florian Bruhin
f1fe26b0b7
Handle modifiers correctly
2017-12-29 14:40:00 +01:00
Florian Bruhin
7b17ab4b3f
Initial str() attempt
2017-12-29 14:22:20 +01:00
Artur Shaikhullin
882beab3f2
Try to fix Windows caret ussues
2017-12-29 19:01:12 +06:00
Florian Bruhin
d9c768ed86
Strip out shift modifier for non-alpha bindings
2017-12-29 13:53:43 +01:00
Artur Shaikhullin
db16a87e68
Removed unused import
2017-12-29 18:39:29 +06:00
Florian Bruhin
917f2a30de
Get tests to collect
2017-12-29 13:23:38 +01:00
Artur Shaikhullin
3b836d3483
Fix lint warnings
2017-12-29 17:56:16 +06:00
Florian Bruhin
cc747b00ce
Move parsing to class
2017-12-29 01:50:51 +01:00
Florian Bruhin
705767bcfb
fixme
2017-12-29 01:43:47 +01:00
Florian Bruhin
c98eb5502d
Add some FIXMEs
2017-12-29 01:24:05 +01:00
Florian Bruhin
d961211188
Delete some old code
2017-12-29 01:24:05 +01:00
Florian Bruhin
21b3e05ed0
Fix getting reverse bindings
2017-12-29 01:24:05 +01:00
Florian Bruhin
b1dde41b74
Rename sequence.py to keyutils.py
2017-12-29 01:24:05 +01:00
Florian Bruhin
dcf0d21121
Move key related utils to sequence.py
2017-12-29 01:24:05 +01:00
Florian Bruhin
600919a23a
Add a custom KeySequence class
2017-12-29 01:24:05 +01:00
Florian Bruhin
a565b77bf0
Switch from string to QKeySequence
2017-12-29 01:24:05 +01:00
Florian Bruhin
8478a1ea3d
Remove _handle_special_key
2017-12-29 01:24:05 +01:00
Florian Bruhin
26fdc129d3
Split off counts
2017-12-29 01:24:05 +01:00
Florian Bruhin
55803afbd2
Fix matching
2017-12-29 01:24:05 +01:00
Florian Bruhin
a8aaf01ff0
Fix some more stuff (and break some :D)
2017-12-29 01:24:05 +01:00
Florian Bruhin
ddcb5445a2
Initial refactoring for new key parsing
2017-12-29 01:24:05 +01:00
Artur Shaikhullin
7d181ee4b5
Check if document body exists
2017-12-28 23:04:04 +06:00
Artur Shaik
5605d3cd8e
Merge branch 'master' into webengine_caret
2017-12-28 20:43:31 +06:00
Artur Shaikhullin
63658d3a1e
Catch userscript exception and show error message
2017-12-28 20:40:37 +06:00
Artur Shaikhullin
a01566ed15
Fix loosed variable
2017-12-28 19:17:25 +06:00
RyanJenkins
53575aaeed
Default raise_windows() alert param to True to preserve existing
...
behavior
2017-12-27 12:40:55 -08:00
RyanJenkins
9cb25e0c76
Raise browser window after editor closes regardless of outcome of
...
inserting text and avoid calling QApplication.instance().alert() in this
scenario.
2017-12-26 20:19:39 -08:00
RyanJenkins
d9b00acdc6
Return focus to qutebrowser when external editor finishes.
2017-12-23 23:59:02 -08:00
Ryan Farley
46f6336e6e
and add back needed connection
2017-12-22 12:47:38 -06:00
Ryan Farley
1d0b91475d
remove broken connection
2017-12-22 12:45:37 -06:00
Ryan Farley
252fbf651f
add back blank line for D204
2017-12-22 11:47:13 -06:00
Ryan Farley
f90342741a
comma spacing
2017-12-22 11:41:07 -06:00
Ryan Farley
feb327e80e
fix style issues, better names, less indirection
...
Added spaces to comments, use python naming conventions, remove
_load_progress_fake as unnecessary, rename _on_load_*_fake to
_on_load_*_workaround (for less confusion), and use qtutils rather than
QT_VERSION_STR
2017-12-22 11:32:31 -06:00
seebye
125af531cb
database qute://back
2017-12-22 15:44:42 +01:00
Ryan Farley
fa10b76ce8
remove extraneous loadStarted connection
...
Copying and pasting without thinking might lead to redundancy.
2017-12-22 01:27:35 -06:00
Ryan Farley
4a6c9ecc34
only reroute load signals with Qt=5.10
...
This stops regressions on Qt<=5.9. It also reintroduces #3110 , but
fixing #3110 was just a nice side effect rather than the main goal here.
2017-12-21 21:22:20 -06:00
Ryan Farley
d6c56b83a8
fix line length
2017-12-21 16:31:45 -06:00
Ryan Farley
5bfab54828
supplement broken webengine load signals
...
This uses the much more reliable `loadProgress(100)` in place of
`loadFinished(true)` for WebEngine, with `loadProgressFake` and
`loadFinishedFake` used instead of the 'official' variants.
2017-12-21 15:35:43 -06:00
seebye
801b6b90ce
pylint adjustments
2017-12-20 01:15:12 +01:00
seebye
c8ae405bfe
fix #3396
2017-12-20 00:10:21 +01:00
Florian Bruhin
f203535e00
Merge remote-tracking branch 'origin/pr/3407'
2017-12-18 16:11:16 +01:00
Ryan Roden-Corrent
ef2de8201a
Fix colors.completion.fg default and description.
...
Update the description to mention the number of columns and change the
default to ["white", "white", "white"] to make it more obvious that
multiple colors can be specified. This also satisfies the config test
that expects the default value for ListOrValue types to be a list.
One other test had to be tweaked to use a config option that is still
just a QtColor rather than a ListOrValue.
While it is possible to provide just two colors, it is "undefined
behavior". It will use the first color as the third color, but that is
an artifact of the implementation and therefore not documented (though
also not an error, as it is harmless).
2017-12-18 08:42:22 -05:00
Jay Kamat
6433096611
Disable max-lines in eslint
2017-12-15 21:30:08 -05:00
Florian Bruhin
d03e314762
Explain eslint philosophy
2017-12-15 23:26:18 +01:00
Florian Bruhin
430126dcc8
pylint: Re-enable ungrouped-imports
2017-12-15 23:08:53 +01:00
Jay Kamat
7f9d4888fd
Fix a couple eslint errors
...
Restructure serialize_elem into a bunch of smaller functions
2017-12-15 15:55:16 -05:00
Jay Kamat
2898c416aa
Simplify and clean up frame logic
2017-12-15 15:16:18 -05:00
Florian Bruhin
e65c0dd8a7
pylint: Re-enable bad-continuation
...
And lots and lots of whitespace changes.
2017-12-15 19:16:55 +01:00
Florian Bruhin
26a622c46d
Disable wrong inconsistent-return-statements
2017-12-15 16:33:47 +01:00
Florian Bruhin
f4ed31b295
Add an utils.Unreachable exception
2017-12-15 16:33:47 +01:00
Florian Bruhin
016fc0ebb1
Fix some inconsistent returns
2017-12-15 16:33:47 +01:00
Florian Bruhin
1a4a9b4392
Declare *args before keyword arguments
...
See https://pylint.readthedocs.io/en/latest/whatsnew/1.8.html
2017-12-15 16:33:47 +01:00
Florian Bruhin
fc987ea9c0
Make message.confirm_async keyword-only
2017-12-15 14:49:49 +01:00
Florian Bruhin
79717528ec
Fix exception message formatting
2017-12-15 14:42:37 +01:00
Florian Bruhin
bb44f1d4cc
Remove old pylint disables
2017-12-15 14:39:42 +01:00
Florian Bruhin
e76732693c
Fix wrong import order
2017-12-15 14:35:07 +01:00
Florian Bruhin
3f9ded3bed
Add missing docstrings
2017-12-15 13:55:06 +01:00
Florian Bruhin
8173a48b8a
Don't access stale settings object after hinting
...
When QtWebEngine shuts down, it calls pending callbacks, which means we access
an invalid 'settings' object when that happens. The stack would look something
like this:
0 QtWebEngineCore::WebEngineSettings::setAttribute(QtWebEngineCore::WebEngineSettings::Attribute, bool)
12 QtWebEngineCore::CallbackDirectory::invokeEmptyInternal<QVariant const&>(QtWebEnginePrivate::QWebEngineCallbackPrivateBase<QVariant const&>*)
14 QtWebEngineCore::CallbackDirectory::~CallbackDirectory()
19 QWebEnginePage::~QWebEnginePage()
If we instead get the settings from the view freshly, we get a RuntimeError from
PyQt telling us that it's dead. Not sure why it doesn't know about settings
being dead...
With that, we'd get a RuntimeError, which we can simply ignore as it doesn't
matter anyways if the tab is gone.
Fixes #3399
2017-12-14 22:56:44 +01:00
Florian Bruhin
76db8d6f81
Make webelem.OrphanedError subclass of webelem.Error
...
This means something like this:
:hint ;; later 20 follow-hint a ;; later 20 tab-close
Won't crash anymore, as the webelem.Error will be shown in the statusbar.
2017-12-14 22:43:19 +01:00
Florian Bruhin
dc1d5036b6
Simplify scrollbar width calculation
...
This gives us slightly different values it seems, but I think they are more
correct (and don't need the "+ 5" above).
Taking the width directly (not the sizeHint width) returned values like 100 or
so when the scrollbar wasn't shown yet, so that seems wrong.
2017-12-14 09:39:07 +01:00
Florian Bruhin
58043b5653
Always subtract scroll bar width from completion view
...
The situation where there's no scroll bar at the point the column widths are
calculated is a very rare one. What happens more often is that the scroll bar
disappears due to filtering, in which case we didn't recalculate the column
widths anyways.
Furthermore, we can even go wrong with this calculation, when we calculate the
column widths while the entire completion is invisible - then the scroll bar
won't be visible either, and we won't subtract the space needed for it.
Let's not try to optimize for this uncommon case, and just always subtract the
scrollbar, even if it's not there initially.
Fixes #3359
Closes #3389
2017-12-14 09:13:34 +01:00
Florian Bruhin
f0ad24b08a
Remove long deprecated :download invocation
2017-12-14 09:06:46 +01:00
Florian Bruhin
43588b2818
Merge remote-tracking branch 'origin/pr/3393'
2017-12-14 09:02:31 +01:00
Ryan Roden-Corrent
57e2d407ce
Support different colors per completion column.
...
Now colors.completion.fg may be set to a list to specify a different
color for each completion column. For example:
:set colors.completion.fg [black,blue,white] will use black text for the
first column, blue for the second, and white for the third.
Setting to a single value still works and behaves as before. The default
is unchanged from 'white'.
Resolves #1794 .
2017-12-13 17:03:59 -05:00
Florian Bruhin
7a3554e77a
Stabilize :session-save --quiet test
...
By adding a way to check for the loglevel, we can easily check there's no
message but still wait for the session to be saved.
2017-12-13 23:02:44 +01:00
Ryan Roden-Corrent
12112e0fc7
Implement command-accept --rapid.
...
command-accept --rapid will run the command without clearing the prompt,
allowing "rapid fire" commands. For example, one could open completion
for `open -t` and open several tabs in a row.
The default binding is ctrl+enter.
Resolves #588 .
2017-12-13 16:30:42 -05:00
Florian Bruhin
922b1e8f10
Use system locale to decode subprocess output
2017-12-13 20:09:56 +01:00
Florian Bruhin
2b3250144b
Merge remote-tracking branch 'origin/pr/3388'
2017-12-13 20:06:00 +01:00
Florian Bruhin
f32b4d88ba
Merge remote-tracking branch 'origin/pr/3385'
2017-12-13 19:56:53 +01:00
Ryan Roden-Corrent
6420037dd9
Fix histcategory query reuse logic.
...
I mistakenly checked the length of wheres instead of words. This fixes
that check, renames 'wheres' to 'where_clause' to be clear
that it is a string and not an array, and adds a test.
2017-12-13 08:39:34 -05:00
Ryan Roden-Corrent
2e36e5151e
Fix comment in histcategory.
2017-12-13 08:21:48 -05:00
Florian Bruhin
c8aef015b0
Merge remote-tracking branch 'origin/pr/3201'
2017-12-13 09:22:36 +01:00
Florian Bruhin
31e3356d01
Merge remote-tracking branch 'origin/pr/3382'
2017-12-13 08:43:21 +01:00
Ryan Roden-Corrent
ae294e92ad
Remove unused re import
2017-12-12 20:27:06 -05:00
Ryan Roden-Corrent
8358c76f86
Fix casing of LIKE in comment
2017-12-12 20:26:30 -05:00
Ryan Roden-Corrent
158cfa1194
Clean up "any order" SQL query code.
...
- Replace a list with a generator
- Add commments to the less obvious parts
- Simplify the binding variable names
2017-12-12 17:28:38 -05:00
George Edward Bulmer
16a9948759
Replace malformed utf-8 characters in spawn output.
...
Previously this simply crashed if there was ever malformed utf-8 in the
stderr or stdout streams, perhaps as a result of an incorrectly spawned
command. See e.g. #3222
2017-12-12 22:23:33 +00:00
Florian Bruhin
19596e3104
Make qute://log lines darker
2017-12-12 22:52:35 +01:00
Justin Partain
8f5394934f
Fix bad merge when rebasing incremental_search feature
2017-12-12 11:32:52 -05:00
Justin Partain
aff6510e35
Refactor _incremental_search() based on PR review
2017-12-12 11:31:28 -05:00
Justin Partain
9f511fe18c
pylint fix, change if len(text) to if text
2017-12-12 11:31:28 -05:00
Justin Partain
8451899a76
Add block for ignore_case
2017-12-12 11:31:28 -05:00
Justin Partain
4eebd2a85d
Create config.search.* group with ignore_case and incremental
2017-12-12 11:31:28 -05:00
Justin Partain
bb2fcddcd4
Update incremental_search PR with changes from review
2017-12-12 11:31:28 -05:00
Justin Partain
77054cc063
Make 'Text not found on page!' warnings replace
2017-12-12 11:31:28 -05:00
Justin Partain
c1094b6660
Feature - incremental_search
...
Added config option to find on a page incrementally, renewing the search
each time a new character is entered.
2017-12-12 11:31:28 -05:00
George Edward Bulmer
b07a4c8c28
Add explicit left anchor to directory check regex.
2017-12-12 13:25:35 +00:00
George Edward Bulmer
3cf4e8ba67
Merge remote-tracking branch 'upstream/master' into regex-match
2017-12-12 13:22:11 +00:00
Ryan Roden-Corrent
6a20f9d4c9
Cache url query when possible.
...
We don't need to regenerate a new query every keystroke, but rather
every time the user adds a new word.
2017-12-12 07:37:31 -05:00
Florian Bruhin
5fe91c30cc
Fix :click-element with an ID containing non-alphanumeric characters
...
See #3201
2017-12-12 11:33:59 +01:00
Florian Bruhin
12f6304659
Fix indent
2017-12-12 07:03:48 +01:00
Florian Bruhin
8e319a762f
Merge remote-tracking branch 'origin/pr/3374'
2017-12-12 07:03:10 +01:00
George Edward Bulmer
747a9bc5b6
Modify usage of re.match to fit re.fullmatch or re.search.
...
re.match features an implicit left anchor, which can be surprising.
re.fullmatch features implicit anchors on both sides, but is aptly named
and unsurprising.
re.search has no such implicit anchors, which ought to be the default
even if a single anchor is needed.
2017-12-11 21:32:55 +00:00
Florian Bruhin
481dec067d
Don't override background-color for qutebrowser pages
...
Fixes #3381
2017-12-11 17:38:12 +01:00
George Edward Bulmer
a2bcd68d56
Code review changes.
...
This fixes whitespace and alignment issues, and removes a stray test.
2017-12-11 13:35:39 +00:00
Ryan Roden-Corrent
8909e03f1c
Match url completion terms in any order.
...
Perviously, 'foo bar' would match 'foo/bar' but not 'bar/foo'. Now it
will match both, using a query with a WHERE clause like:
WHERE ((url || title) like '%foo%' AND (url || title) like '%bar%')
This does not seem to change the performance benchmark. However, it does
create a new query for every character added rather than re-running the
same query with different parameters. We could re-use queries if we
maintained a list like self._queries=[1_arg_query, 2_arg_query, ...].
However, it isn't clear that such a complexity would be necessary.
Resolves #1651 .
2017-12-11 07:46:50 -05:00
Florian Bruhin
6a7d2f4275
Remove dead code
...
QUrl.path() never returns None
2017-12-11 09:14:26 +01:00
Florian Bruhin
444f0a36df
Update docs
2017-12-11 07:12:45 +01:00
Florian Bruhin
6c7b8ce895
Merge remote-tracking branch 'origin/pr/3370'
2017-12-11 07:09:49 +01:00
George Edward Bulmer
d32a4ea99e
Seperate _output from guiprocess and keep window opening in spawn.
...
This removes the extraneous variable, and makes testing easier.
2017-12-10 23:45:43 +00:00
George Edward Bulmer
038bb85a67
Capture stdout and stderr always for spawn.
...
This change makes it so that stderr and stdout is unconditionally read
from for a completed process, and sent to qute://spawn-output. This
allows the user to see the results of the previous process, even if they
had forgotten to use --output.
2017-12-10 19:12:47 +00:00
George Edward Bulmer
9f8dbe95e4
Code review changes.
...
This fixes the following problems found in a review:
1. Manual modification of the asciidoc has been undone.
2. --output-to-tab has been renamed to the less verbose --output.
3. spawn_output has been changed to spawn-output in the url.
4. Erroneous newline in imports has been removed.
5. output in guiprocess.py has been marked private.
6. If there is no output for either stderr or stdout, say so.
7. Missing space in a text line was added.
8. Redundant initialising of an empty string removed.
2017-12-08 19:00:46 +00:00
George Edward Bulmer
9f9311840a
Add --output-to-tab flag for :spawn.
...
This puts the exit status, stdout, and stderr in a new tab.
2017-12-08 18:00:07 +00:00
unknown
25526f00bf
fixed catch error in tabwidget
2017-12-07 15:47:03 -07:00
unknown
2483b8315c
Merge remote-tracking branch 'refs/remotes/origin/master'
2017-12-07 13:36:49 -07:00
Jay Kamat
5c5f992821
Implement find_id inside frames
...
Fixes :click-element
2017-12-07 14:53:15 -05:00
Jay Kamat
825939633a
Implement follow_selected in frames
2017-12-07 14:46:18 -05:00
Jay Kamat
0fc99108bf
Implement iframe support for clicking elements
2017-12-07 14:32:08 -05:00
Jay Kamat
052823b74c
Fix broken width and height location in frames
2017-12-07 13:03:06 -05:00
Jay Kamat
c737d7ab22
Fix various js problems with frame support
2017-12-07 12:47:51 -05:00
Artur Shaikhullin
a8d79fedf3
Fix fetching selection
2017-12-07 17:45:05 +06:00
Artur Shaikhullin
5f1e0224a9
Pass caret tests
2017-12-07 17:30:32 +06:00
evanlee123
d1a00eb934
Clarity on protocol field
2017-12-07 02:35:34 -07:00
evanlee123
20ac618752
Simplified code in get_tab_fields
...
changed self.tab_url(idx) to url in get_tab_fields()
2017-12-07 02:04:02 -07:00
Florian Bruhin
d4cadcc62e
Add comment about @run-at
...
[ci skip]
2017-12-07 08:17:15 +01:00
evanlee123
02b24e8dfb
Update tabwidget.py
2017-12-06 21:35:09 -07:00
Jay Kamat
d4001a4a98
Add support for hinting elements from within same-origin frames
2017-12-06 23:02:00 -05:00
unknown
f0de3601cb
Merge remote-tracking branch 'upstream/master'
2017-12-06 13:37:05 -07:00
unknown
94809032a4
field[protocol] gives the right protocol]
2017-12-06 13:24:27 -07:00
unknown
30b25da273
Added protocol key to field
2017-12-06 13:09:44 -07:00
Florian Bruhin
6aafe02320
Make sure scripts are removed correctly
2017-12-06 20:18:41 +01:00
Florian Bruhin
a37ecc353c
Simplify for loop
2017-12-06 20:18:41 +01:00
Florian Bruhin
2633dcc0d5
Fix lint
2017-12-06 20:18:41 +01:00
Florian Bruhin
dd63508be7
Add a greasemonkey.init()
...
This also creates the greasemonkey directory if it doesn't exist yet, for
discoverability.
2017-12-06 11:55:08 +01:00
Florian Bruhin
0c792d228e
Update docs
2017-12-06 11:12:25 +01:00
Florian Bruhin
3cd2910fa2
Merge branch 'greasemonkey' of https://github.com/toofar/qutebrowser into greasemonkey
2017-12-06 10:47:29 +01:00
Artur Shaikhullin
890e26b2b5
Additional fixes
2017-12-06 13:58:23 +06:00
Jimmy
ead108eeeb
fixup! Greasemonkey: Add run-at document-idle.
2017-12-06 20:27:56 +13:00
Jimmy
129f97873a
Greasemonkey: add assert to tests scripts_for assumptions.
...
And crash the users browsing session as a result of any accidental and
totally, otherwise, non-fatal unforseen errors.
2017-12-06 20:21:29 +13:00
Florian Bruhin
1a3f8662e6
Improve handling of cancelled search callbacks
2017-12-06 07:56:59 +01:00
Florian Bruhin
9ec4e749f1
Merge branch 'fix_search_callbacks' of https://github.com/jupart/qutebrowser
2017-12-06 07:51:19 +01:00
Artur Shaikhullin
ed1d036077
Fix eslint warnings
...
used some eslint ignore comments
2017-12-06 12:11:06 +06:00
Florian Bruhin
0df1d07558
Merge remote-tracking branch 'origin/pr/3367'
2017-12-06 06:57:59 +01:00
Florian Bruhin
7a6d568c8c
Remove blank line
2017-12-06 06:53:27 +01:00
Florian Bruhin
7f81f0c0ab
Always open session tabs in foreground
...
This helps with issues with lazy sessions as document.hidden was set
incorrectly.
See #3345 , #3366
2017-12-06 06:51:15 +01:00
Florian Bruhin
dcb4448594
Merge remote-tracking branch 'origin/pr/3345'
2017-12-06 06:51:03 +01:00
Justin Partain
00a09354c3
Track number of active searches in tab, ignore all but most recent search callbacks
2017-12-05 08:28:10 -05:00
Ryan Roden-Corrent
636f9edff6
History completion by both URL and title.
...
Resolves #1649 .
2017-12-05 07:32:58 -05:00
mhm@mhm.com
02104a318e
delay added, text changed
2017-12-04 19:03:12 +01:00
mhm@mhm.com
28caddf3c1
delay added, text changed
2017-12-04 19:02:09 +01:00
Florian Bruhin
a137a29cce
Style improvements
...
This adds a blank line and makes Completer arguments keyword-only to make their
meaning more clear.
2017-12-03 22:32:17 +01:00
Ryan Roden-Corrent
b610563e7f
Don't show current window for :tab-give/:tab-take.
...
Resolves #3144 .
2017-12-03 08:03:54 -05:00
Florian Bruhin
97054ca35d
Don't hide report dialog early
...
It looks like hiding it already causes it to be accepted.
Fixes #1128
2017-12-03 13:04:08 +01:00
Florian Bruhin
f07301cfb5
Revert "Restart correctly after reporting crash."
...
This reverts commit 7001f068b3
.
2017-12-03 12:48:29 +01:00
Florian Bruhin
ce46b30a1e
Show error instead of warning
2017-12-02 14:49:06 +01:00
Florian Bruhin
003ec31848
Merge remote-tracking branch 'origin/pr/3333'
2017-12-02 14:47:24 +01:00
Florian Bruhin
689fe96393
Improve workaround comment
2017-12-02 14:37:59 +01:00
Florian Bruhin
e9be357104
Merge remote-tracking branch 'origin/pr/3352'
2017-12-02 14:37:01 +01:00
mhm@mhm.com
b58cfead05
style fixed
2017-11-30 16:05:01 +01:00
Artur Shaikhullin
4eda328a61
Fix some lint warnings. Enable caret tests
2017-11-30 20:38:38 +06:00
Artur Shaikhullin
c7a5dd6abb
Clean up javascript caret code
2017-11-30 18:02:50 +06:00
mhm@mhm.com
d29cf1ee4d
lazy sessions, restore if visible, forward user after restore
2017-11-30 00:09:28 +01:00
Artur Shaikhullin
f965c0daec
Don't position caret if selection exists
2017-11-29 21:01:47 +06:00
Artur Shaikhullin
70b58d1928
Inject caret css on mode enter
2017-11-29 20:07:24 +06:00
Ryan Roden-Corrent
fcad40ceb7
Add orphaned tab check to WebKit as well.
...
This implements the orphaned editor fix for WebKit. Webkit wasn't
crashing before, but this causes webkit to show the same warning
webengine does if the editor is orhpaned (rather than silently
continuing). This allows the same BDD test to pass for both webkit and
webengine.
2017-11-29 07:35:11 -05:00
Ryan Roden-Corrent
e09a8c77e9
Simplify check for orphaned editor.
...
Instead of rewiring signals on tab.shutting_down, have the webelem check
if its parent tab is deleted, and throw a specific exception.
This is only necessary in WebEngine, Webkit does not crash when the
editor is orphaned.
I tried to write a test for is_deleted, but could not get it to pass:
```
def test_is_deleted(qtbot, view, config_stub, tab_registry, mode_manager):
tab_w = Tab(win_id=0, mode_manager=mode_manager)
qtbot.add_widget(tab_w)
tab_w._set_widget(view)
assert not tab_w.is_deleted()
sip.delete(view)
#assert tab_w.is_deleted()
```
The qtbot post-test cleanup would error due to the deleted view.
2017-11-29 07:01:48 -05:00
Florian Bruhin
81045fb1bd
Drop unneeded parens
2017-11-29 10:44:50 +01:00
Florian Bruhin
911616707e
Merge remote-tracking branch 'origin/pr/3329'
2017-11-29 10:40:40 +01:00
Florian Bruhin
ca74991900
Read backend after args.temp_settings
...
This should hopefully not affect any config change handlers, as almost nothing
is registered this early.
Fixes #3340
2017-11-28 17:00:45 +01:00
Ryan Roden-Corrent
9dfc6b0f61
Change wording for orphaned editor.
...
The term "vanished" is used elsewhere.
2017-11-28 08:37:38 -05:00
Ryan Roden-Corrent
b6dcd4d387
Reapply "Hide quickmark/bookmark completion if empty."
...
This reverts commit e72e8b8556
.
Now that the SQL category works in isolation, it is possible to hide
quickmarks/bookmarks when those categories are empty.
Fixes #960
2017-11-28 07:21:26 -05:00
Florian Bruhin
b407f4ab41
Release v1.0.4
2017-11-28 10:56:15 +01:00
Florian Bruhin
ef1825efb0
Handle sqlite errors during :history-clear
2017-11-28 07:02:33 +01:00
Florian Bruhin
73587b1e16
Add SQLITE_CORRUPT to environmental SQL errors
2017-11-28 06:55:55 +01:00
Florian Bruhin
4fed8518e1
Handle "out of memory" error in sql.init()
2017-11-28 06:53:41 +01:00
Ryan Roden-Corrent
40e4e73e36
Ensure HistoryCategory works in isolation.
...
While QSortFilterProxyModel emits layoutChanged when changing the
pattern, QSqlQueryModel emits modelReset. As only layoutChanged was
connected, a HistoryCategory would only work in a model that also had at
least one ListCategory.
The simplest solution is to have the parent model emit the signal
directly. This also emits a single signal on a pattern change rather
that one for each child model.
Resolves #3016 .
2017-11-27 11:49:32 -05:00
Jimmy
0381d74e9a
Greasemonkey: privatise some utility functions
2017-11-27 20:10:38 +13:00
Florian Bruhin
db353c4030
Connect the page signal for GreaseMonkey
...
Looks like we don't get the mainFrame's loadFinished signal properly.
2017-11-27 20:10:38 +13:00
Florian Bruhin
6933bc05b4
Add some debug logging for GreaseMonkey with QtWebKit
2017-11-27 20:10:38 +13:00
Jimmy
df624944f9
Greasemonkey: webkit: injected all scripts on loadFinished.
...
The signal we were using to inject greasemonkey scripts registered to
run at document-start (javaScriptWindowObjectCleared) was unreliable to
non-existant. The initialLayoutCompleted signal is a bit of an odd duck
too I suppose. Anyway, we don't anticipate any scripts would break from
being injected when the page is finished loaded that wouldn't already
have been flaky due to the complexities of the modern web. If there is
an issue hopefully someone raises an issue and we can look into it.
2017-11-27 20:10:38 +13:00
Jimmy
8a5b42ffbd
Greasemonkey: es6ify the greasemonkey wrapper js.
...
Because backwards compatibility sucks I guess.
2017-11-27 20:10:38 +13:00
Jimmy
361a1ed6e4
Greasemonkey: change PROPS_REGEX to handle non-value keys.
...
We weren't actually picking up the @noframes greasemonkey directive
because of this. I haven't tested this very extensively but it seems to
work for making the property value optional.
2017-11-27 19:27:31 +13:00
Jimmy
9aeb5775c1
greasemonkey: run scripts on subframes on webkit
...
Use the `QWebPage.frameCreated` signal to get notifications of subframes
and connect the javascript injection triggering signals on those frames
too.
I had to add a `url = url() or requestedUrl()` bit in there because the
inject_userjs method was getting called to early or something when
frame.url() wasn't set or was set to the previous page so we were
passing the wrong url to greasemonkey.scripts_for().
I ran into a bizarre (I maybe it is completely obvious and I just don't
see it) issue where the signals attached to the main frame that were
connected to a partial function with the main frame as an argument were
not getting emitted, or at least those partial functions were not being
called. I worked around it by using None to mean defaulting to the main
frame in a couple of places.
2017-11-27 19:27:31 +13:00
Jimmy
7c497427ce
Greasemonkey: various javascript fixups to GM wrapper template.
...
Thanks to @sandrosc. A few breaking changes fixed (default method to
GM_xhr not working, GM_listvalues not cleaning up output, GM_setvalue
param checking logic wrong) and a few hygenic changes made.
2017-11-27 19:27:31 +13:00
Jimmy
c0832eb04b
Greasemonkey: support @nosubframes.
...
And run on frames by default. At least on webengine. There is probably
some api to enumerate frames on a webkit page.
Not tested.
2017-11-27 19:27:31 +13:00
Jimmy
fb019b2dab
Address second round line comments.
...
Add qute version to GM_info object in GM wrapper.
Support using the greasemonkey @namespace metadata for its intended
purpose of avoiding name collisions.
Get a nice utf8 encoded string from a QUrl more better.
2017-11-27 19:27:31 +13:00
Jimmy
efde31aa57
Greasemonkey: Support QTWebEngine versions < 5.8
...
QTWebEngine 5.8 added support for parsing greasemonkey metadata blocks
and scripts added to the QWebEngineScriptCollection of a page or its
profile and then deciding what urls to run those scripts on and at what
point in the load process to run them. For earlier versions we must do
that work ourselves. But with the additional handicap of the less rich
qtwebengine api.
We have acceptNavigationRequest, loadStarted, loadProgress,
loadFinished, urlChanged to choose from regarding points at which to
register scripts for the current page.
Adding scripts on acceptNavigation loadStarted and loadFinished causes
scripts to run too early or too late (eg on the pages being navigated
from/to) and not run on the desired page at the time they are inserted.
We could maybe do some more sophisticated stuff with loadProgress but it
didn't have any better behaviour in the brief testing I gave it.
Registering scripts on the urlChanged event seems to work fine. Even if
it seems like there could be problems with the signal firing too often,
due to not necessarily being tied to the page load progress, that
doesn't seem to have an effect in practice. The event is fired when, for
example, the url fragment changes and even if we add a new script to the
collection (or remove an existing one) it doesn't have an effect on what
is running on the page.
I suspect all of those timing issues is due to the signals being
forwarded fairly directly from the underlying chomium/blink code but the
webengine script stuff only being pushed back to the implementation on
certain events.
Anyway, using urlChanged seems to work fine due to some quirk(s) of the
implementation. That might change with later development but this
codepath is only ever going to be used for version 5.7.
There are other potential optimizations like not removing and then
re-adding scripts for the current page. But they probably wouldn't do
anything anyway, or at least anything that you would expect.
2017-11-27 19:27:31 +13:00
Jimmy
209e43e0ba
Greasemonkey: Match against percent encoded urls only.
...
This change requires urls specified in @include, @exclude and @matches
directives in metadata blocks to be in the same form that
QUrl.toEncoded() returns. That is a punycoded domain and percent encoded
path and query. This seems to be what Tampermonkey on chrome expects to.
Also changes the scripts_for() function to take a QUrl arg so the caller
doesn't need to worry about encodings.
2017-11-27 19:27:31 +13:00
Jimmy
d318178567
Greasemonkey: Fix metadata block regex.
...
This regex was broken since the original PR and subsequent code seemed to be
working around it. Before re.split was returning [everything up to
/UserScript, everything else], now it returns [before UserScript, metadata,
after /UserScript], which is good.
Also I added the check for the UserScript line starting at column 0 as per
spec.
2017-11-27 19:27:31 +13:00
Jimmy
5e49e7eef2
Greasemonkey: Throw Errors if GM_ function args wrong type.
...
These argument type restrictions are mentioned on the greasespot pages for
these value storage functions. We could call JSON.dumps() instead but better
to push that onto the caller so we don't have to try handle deserialization.
Also removes the check for localstorage because everyone has supported that
for years.
2017-11-27 19:27:31 +13:00
Jimmy
d93c583c0d
Greasemonkey: Escape jinja variables for JS strings.
2017-11-27 19:27:31 +13:00
Jimmy
a7f41b4564
Greasemonkey: ensure only GM scripts are cleaned up on reload.
...
WebEngine only. Previously we were just removing every script from the
main world. But some other scripts might got here in the future so new
we are overriding the name field to add a GM- prefix so hopefully we
only remove greasemonkey scripts before adding new ones.
2017-11-27 19:27:31 +13:00
Jimmy
fd5d44182b
Greasemonkey: move GM_* template into seperate file.
...
Also ported it to jinja rather than str.format().
Also ran the js through jslint and fixed up a few very minor things.
2017-11-27 19:27:31 +13:00
Jimmy
c1b912f567
Greasemonkey: move inject_userscripts into webenginesettings
2017-11-27 19:27:31 +13:00
Jimmy
edf737ff7d
Greasemonkey: move scripts for a domain into data class.
...
Also makes scripts that don't include a greasemonkey metadata block
match any url. QWebEngine already has that behaviour.
2017-11-27 19:27:31 +13:00
Jimmy
41035cb5ca
Greasemonkey: restrict page schemes that scripts can run on
...
Scripts shouldn't run on qute://settings or source:// etc.
Whitelist from:
https://wiki.greasespot.net/Include_and_exclude_rules
2017-11-27 19:27:31 +13:00
Jimmy
799730f686
Remove GM_ and userscript variables from global scope.
2017-11-27 19:27:31 +13:00
Jimmy
325c595b89
Greasemonkey: Don't strip gm metadata from scripts when loading.
...
Since we just pass them to webenginescriptcollection on that backend and
that wants to parse it itself to figure out injection point etc.
2017-11-27 19:27:31 +13:00
Jimmy
f26377351c
Greasemonkey: Add greasemonkey hooks for webengine.
...
For qtwebengine 5.8+ only. This is because as of 5.8 some greasemonkey
script support is in upstream. That is, qtwebenginescript(collection)
parses the greasemonkey metadata block and uses @include/match/exclude
to decide what sites to inject a script onto and @run-at to decide when
to inject it, which saves us the trouble. Notes on doing this in <5.8
are below.
Scripts are currently injected into the main "world", that is the same
world as the javascript from the page. This is good because it means
userscripts can modify more stuff on the page but it would be nice if we
could have more isolation without sacrificing functionality. I'm still
looking into why my more feature-full scripts are not having any effect
on the page while running in a separate world.
Userscripts are added to both the default and private profile because I
that if people have scripts installed they want them to run in private mode
too.
We are grabbing the scripts from the greasemonkey module, as opposed to
reading them directly from disk, because the module adds some GM_* functions
that the scripts may expect, and because that is used for webkit anyway.
I have code to support qtwebengine <5.8 but didn't because I am not
happy with the timing of some of the signals that we are provided
regarding page load state, and the actual load state. While the
difference between document-end and document-idle isn't so bad,
injecting document-start scripts when a urlChanged event is emitted
results in the script being injected into the environment for the page
being navigated away from. Anyway, if anyone wants this for earlier
webengines I can oblige them.
2017-11-27 19:27:31 +13:00
Jimmy
be9f8bd0de
Greasemonkey: Lift greasemonkey init app.py
...
To prepare for multiple-backend support.
2017-11-27 19:27:31 +13:00
Jimmy
25f626a436
Greasemonkey: Add run-at document-idle.
...
Supposed to be after all the assets have finished loading and in page js
has run. Not that we can garuntee that last bit. If a script misbehaves
because a precondition isn't yet met I suggest adding a defer method to
the script that adds a timer until the precondition is met.
Also changed the map/filter calls to use list comprehensions to keep
pylint happy. Even if it does look uglier.
2017-11-27 19:27:31 +13:00
Jimmy
13728387d7
Greasemonkey: Fix crash on undefined metadata.
2017-11-27 19:27:31 +13:00
Jimmy
ecdde7663f
Add greasemonkey-reload command.
...
Also add a signal to emit when scripts are reloaded. Had to make
GreasemonkeyManager inherit from QObject to get signals to work.
2017-11-27 19:27:31 +13:00
Andor Uhlár
568d60753e
Add greasemonkey compatible userscript module.
...
WebKit backend only for now. Loads all .js files from a directory,
specified in the greasemonkey-directory key in the storage section,
defaulting to data/greasemonkey, and wraps them in a minimal environment
providing some GM_* functions. Makes those scripts available via the
"greasemonkey" registered object in objreg and injects scripts at appropriate
times in a page load base on @run-at directives.
2017-11-27 19:27:31 +13:00
Florian Bruhin
248a12a8b9
Add flake8-comprehensions
2017-11-26 21:42:50 +01:00
Florian Bruhin
b5dd647678
Upgrade pydocstyle/flake8-docstrings
...
See #3320
2017-11-26 20:30:32 +01:00
Florian Bruhin
0f3cff60fa
Merge remote-tracking branch 'origin/pr/3335'
2017-11-26 19:42:54 +01:00
Florian Bruhin
38f8cacd2b
Merge remote-tracking branch 'origin/pr/3336'
2017-11-26 19:35:26 +01:00
Florian Bruhin
67253726fa
Handle empty messages in qt_message_handler
...
I can't reproduce this, but someone on KDE reported always getting a crash (as
msg.splitlines()[0] gives an IndexError) when trying to select a file with
Qt 5.9.3.
2017-11-26 17:31:07 +01:00
Ryan Roden-Corrent
54fffc8264
Resolve crash when editor tab is closed.
...
If an editor is open on a form in a tab and that tab is closed, rewire
the callback to print a warning. Previously, the callback would access a
deleted C++ object and cause a crash.
Resolves #2758 .
2017-11-26 07:50:49 -05:00
Panagiotis Ktistakis
e05dabefdf
Show default keybinding in :bind completion
2017-11-26 13:34:18 +02:00
Ryan Farley
5ed8019115
update flake8 and flake8-deprecated
...
Updated requirements and adjusted the configuration in `.flake8`; other
files have been modified where the lack of per-file auto-ignore caused
problems, where putty's `# flake8: disable=` syntax could be replaced
with a simpler `noqa`, or where pylint directives already suppressed the
same error.
2017-11-26 00:16:14 -06:00
mhm@mhm.com
9df149fe8f
urlencode fix
2017-11-24 17:15:26 +01:00
Artur Shaikhullin
72040a3bbb
Position caret on top element
2017-11-24 17:32:23 +06:00
Florian Bruhin
0afd6b23c9
Add the option name to the backend error message
2017-11-24 09:25:45 +01:00
Florian Bruhin
28d7c5e204
Fix lint
2017-11-24 07:25:10 +01:00
Jay Kamat
739cfc03ba
Fix undercounting short hints
2017-11-23 23:14:21 -05:00
Artur Shaikhullin
8a64ce19c3
Fetch selection for userscripts
2017-11-23 20:18:43 +06:00
Ryan Roden-Corrent
8eab402820
Abort :edit-command on invalid input.
...
Show an error message if the user edits the command such that it is
missing a start character (:, /, or ?). Previously, this would cause the
browser to crash.
Resolves #3326 .
2017-11-23 08:15:27 -05:00
Florian Bruhin
b31360b6e3
Fix line break
2017-11-22 17:19:21 +01:00
Florian Bruhin
750d2c490f
Fix :completion-item-focus --history with / or ?
...
If we have no completion (like when searching), we can just always go through
history with up/down.
2017-11-22 15:34:48 +01:00
Artur Shaikhullin
e7a66d92a8
Selection implentation
2017-11-22 19:56:05 +06:00
Florian Bruhin
487951cd31
Fix joining :jseval path
2017-11-22 10:57:48 +01:00
Florian Bruhin
12f4940ef3
Make :jseval use a fixed path with relative paths
2017-11-22 09:37:17 +01:00
Florian Bruhin
3b3acba34e
Edit description of tabs.persist_mode_on_change
2017-11-22 09:11:17 +01:00
Florian Bruhin
2581be051f
Always leave hint/caret mode when switching tabs
...
See #3323
2017-11-22 08:53:01 +01:00
mhm@mhm.com
e2d5a443cc
lazy sessions
2017-11-21 23:57:06 +01:00
Vladimir Shulyak
358c888760
Fix long line
2017-11-21 22:35:19 +00:00
Vladimir Shulyak
7532db83c4
Add option to persist current mode on tab change
2017-11-21 18:57:41 +00:00
Artur Shaikhullin
8aca37e5d5
Implement all caret browsing methods
2017-11-21 19:56:00 +06:00
Florian Bruhin
203b6c354f
Fix content.cache.size overflow with QtWebEngine
...
While 64-bit values are allowed with QtWebKit/QNetworkDiskCache, QtWebEngine
only allows 32-bit values here. With the updated sip's strict overflow checking,
that means we get an exception when setting a too big value.
2017-11-21 14:07:49 +01:00
mhm@mhm.com
607cd9ba6e
indent adjusted
2017-11-21 01:19:04 +01:00
mhm@mhm.com
aa40842848
lazy sessions, docstring formatted, settings renamed, javascript notice changed, insert method changed
2017-11-21 00:38:51 +01:00
Ryan Roden-Corrent
5495380580
Exit command mode after :edit-command --run.
...
Resolves #3317 , where the command prompt was left open and populated
with text after running the command.
2017-11-20 11:46:26 -05:00
Artur Shaikhullin
82b1bd10ec
Add some movement caret actions
2017-11-20 17:49:42 +06:00
Florian Bruhin
a2c549b954
Merge remote-tracking branch 'origin/pr/3313'
2017-11-19 21:09:19 +01:00
Florian Bruhin
87b174b418
Simplify :completion-item-focus
2017-11-19 21:07:33 +01:00
Florian Bruhin
62f37df573
Make cursor keys go through completion if a text was entered
...
This hopefully helps with people who try to use arrow keys for the completion,
while still making the command history somewhat discoverable.
2017-11-19 20:35:16 +01:00
akhilkpdasan
740d629b36
Update utilcmds.py
2017-11-20 00:56:09 +05:30
akhilkpdasan
9a58fe229c
fixed spelling error
2017-11-19 19:32:24 +05:30
akhilkpdasan
ba6d90aa7a
fixed docmentation for pyeval
2017-11-19 19:08:52 +05:30
Florian Bruhin
91c909cb80
Merge remote-tracking branch 'origin/pr/3212'
2017-11-19 14:24:40 +01:00
Florian Bruhin
8c7bf12b88
Merge remote-tracking branch 'origin/pr/3306'
2017-11-19 14:08:58 +01:00
Florian Bruhin
2b063f577e
Handle OSError in :config-write-py
2017-11-19 14:06:11 +01:00
Florian Bruhin
8fb03208e7
Improve parsing of fatal stacktraces
...
We now also recognize "Windows fatal exception: ..." message and refuse to
send empty Windows access violation messages.
2017-11-19 14:06:11 +01:00
Akhil kp
c5eab53a87
Added --file for :debug-pyeval
2017-11-19 18:20:58 +05:30
Ryan Roden-Corrent
d145b304d0
Remove maxsplit from edit_command.
...
This was a copy-paste typo, no need for maxsplit as this command takes
no positional args.
2017-11-18 20:41:23 -05:00
mhm@mhm.com
13dc24f6ca
debug code removed
2017-11-18 14:31:55 +01:00
mhm@mhm.com
cf8130bd22
lazy session, fix: active entry is not the end of the history
2017-11-18 14:28:44 +01:00
mhm@mhm.com
2debeafe1b
lazy sessions, dont save qute://back
2017-11-18 13:51:30 +01:00
mhm@mhm.com
1a33c88c96
lazy sessions, dont save qute://back
2017-11-18 13:47:57 +01:00
mhm@mhm.com
c150c5481a
lazy sessions, dont save qute://back
2017-11-18 13:46:50 +01:00
mhm@mhm.com
c4bb134313
lazy sessions, improved version
2017-11-18 11:05:54 +01:00
mhm@mhm.com
51dea053f4
lazy sessions
2017-11-18 01:00:16 +01:00
mhm@mhm.com
ade7004f8f
lazy sessions
2017-11-18 00:48:31 +01:00
mhm@mhm.com
95f8c07d7f
lazy sessions
2017-11-18 00:31:53 +01:00
Ryan Roden-Corrent
0f93d53210
Implement :edit-command.
...
:edit-command opens the current command line in an editor, and updates
the command line if the editor exits successfully. If --run is passed,
the command is executed when the editor exits sucessfully.
Resolves #2453 .
2017-11-17 11:16:42 -05:00
Artur Shaikhullin
b184d2f94d
dirty initial port of chrome caretbrowser extension
2017-11-16 19:25:15 +06:00
Florian Bruhin
b26f2290bc
Merge remote-tracking branch 'origin/pr/3097'
2017-11-16 11:14:59 +01:00
Florian Bruhin
b3085f5d60
Merge remote-tracking branch 'origin/pr/3291'
2017-11-16 10:17:02 +01:00
dwagle
233cea4b62
discarded unnecessary comment and adjusted some code to make pylint happy, also made adjustments to pytest scenarios
2017-11-15 15:48:21 +05:45
Florian Bruhin
ea71f0e318
Merge remote-tracking branch 'origin/pr/3285'
2017-11-15 07:32:04 +01:00
Florian Bruhin
404f9ea1d0
Merge remote-tracking branch 'origin/pr/3290'
2017-11-15 07:31:10 +01:00
dwagle
b3b768f4a8
normalize url path and strip trailing slashes when doing gu/gU, normalize every qute://* urls and raise OSError when a url redirects to a directory in qute://help/ pages
2017-11-14 21:23:40 +05:45
Florian Bruhin
e72e8b8556
Revert "Hide quickmark/bookmark completion if empty."
...
This reverts commit 23716f1212
.
See #3016
Fixes #3288
Reopens #960
2017-11-14 13:29:58 +01:00
Florian Bruhin
62f35ee064
Fix lint
2017-11-14 09:05:28 +01:00
Dasith Gunawardhana
ea70a0dea1
changed setting name and reverted non-issue fix
2017-11-14 01:41:15 -05:00
Florian Bruhin
1203be2a44
Remove unnecessary str() call
2017-11-14 06:19:42 +01:00
Dasith Gunawardhana
4419e59d46
prevent WM fullscreen from being unset when desktop_fullscreen is false
2017-11-13 23:25:10 -05:00
Jay Kamat
ae48fa68a8
Add an uptime section to qute:version
2017-11-13 21:58:00 -05:00
Dasith Gunawardhana
36c8ca9790
added option to limit fullscreen to window only
2017-11-13 21:38:02 -05:00
Florian Bruhin
408ceefad1
Merge branch 'none-position'
2017-11-13 20:42:22 +01:00
Florian Bruhin
870c15a02c
Merge remote-tracking branch 'origin/pr/3264'
2017-11-13 20:40:23 +01:00
Ryan Roden-Corrent
b72343d126
Yank selected text with completion-item-yank.
...
If text is highlighted in the status command bar, completion-item-yank
should yank that rather than the selected completion item.
Resolves #3281 .
2017-11-13 13:25:18 -05:00
Jay Kamat
0f17e6633d
Stop calling _register automatically for StyleSheetObservers
2017-11-13 12:04:31 -05:00
Florian Bruhin
df4a011d48
Put files into the config dir with :config-write-py and rel. paths
2017-11-13 10:58:51 +01:00
Florian Bruhin
5c43dca0da
Improve error message for files which don't exist
2017-11-13 10:47:37 +01:00
Florian Bruhin
f6cc6677dd
Remove hiding of commands
...
This was often confusing for people - let's instead just hide commands which are
not available in normal mode.
2017-11-13 09:02:16 +01:00
Florian Bruhin
ec6017b3b2
Remove unneeded parens
2017-11-13 07:09:59 +01:00
Florian Bruhin
7f0ecaa89e
Merge remote-tracking branch 'origin/pr/3266'
2017-11-13 07:09:49 +01:00
Florian Bruhin
fc8f2090f0
Merge remote-tracking branch 'origin/pr/3271'
2017-11-13 07:09:29 +01:00
Florian Bruhin
ccb564de36
Merge remote-tracking branch 'origin/pr/3279'
2017-11-13 07:08:53 +01:00
Ryan Roden-Corrent
23716f1212
Hide quickmark/bookmark completion if empty.
...
If there are no quickmarks/bookmarks, hide the entire category in url
completion. Note that this only hides the category if
quickmarks/bookmarks is empty to begin with. An empty category is still
shown if the completion pattern filters out all items in that category.
See #960 .
2017-11-12 22:28:49 -05:00
Florian Bruhin
f6e6f9d27b
Make qutebrowser aware of settings requiring a restart
...
See #3270
2017-11-12 17:17:19 +01:00
Jay Kamat
c1fcabe846
Remove default config-cycle bindings
...
Many people accidentally hit 'x{x,t,b}', hiding their statusbar by mistake
2017-11-11 16:16:26 -05:00
Jay Kamat
f242fc5cd7
Add setting to avoid shrinking pinned tabs
2017-11-11 11:33:33 -05:00
Jay Kamat
e00a072d15
Fix garbage collection of StyleSheetObserver objects
2017-11-10 23:25:46 -05:00
Florian Bruhin
c47f0402ab
Fix lint
2017-11-10 13:14:51 +01:00
Florian Bruhin
456c854f06
Improve documentation for :hint --rapid
2017-11-10 10:23:16 +01:00
Florian Bruhin
8df759ecad
Merge remote-tracking branch 'origin/pr/3259'
2017-11-10 09:42:05 +01:00
Ulrik de Muelenaere
b37517e55f
Fix error in stylesheet.js on older QtWebEngine
2017-11-09 19:28:36 +02:00
dkanada
6ecd429d8f
group indicator preferences
2017-11-08 15:27:16 -07:00
dkanada
b8b49637e2
replace changes to desc
2017-11-08 14:46:00 -07:00
dkanada
785bf24652
change the code for the renamed preferences
2017-11-08 14:42:09 -07:00
Panagiotis K
59cebae28e
Remove redundant import.
2017-11-08 18:23:51 +02:00
Florian Bruhin
180fb0d65a
Fix handling of caret position with Qt 5.10
...
With Chromium 61 in Qt 5.10, we get null when getting .selectionStart on a
non-text element, like changed in the WhatWG HTML standard:
https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#dom-textarea/input-selectionstart
See https://www.chromestatus.com/feature/5740194741354496
Older QtWebEngines and QtWebKit raise InvalidStateError instead.
This also changes the surrounding code and API so None is used to say "there's
no caret position available", which seems like a nicer API.
2017-11-08 16:27:26 +01:00
cryzed
6e719d1796
Fix issue #3251
2017-11-08 15:08:36 +01:00
Florian Bruhin
fdc9dfdf87
Merge remote-tracking branch 'origin/pr/3175'
2017-11-07 11:24:41 +01:00
Florian Bruhin
9f898611f3
Add missing path assignment
2017-11-07 11:24:00 +01:00
Florian Bruhin
32914cfaf8
Remove unneeded backslash
2017-11-07 11:17:18 +01:00
Florian Bruhin
3eafdc13d7
Merge remote-tracking branch 'origin/pr/3177'
2017-11-07 11:17:00 +01:00
Florian Bruhin
4f0d8a84ee
Merge remote-tracking branch 'origin/pr/3253'
2017-11-07 07:46:30 +01:00
Joel Bradshaw
52be2dd665
Update documents to reflect new dictcli.py script
2017-11-06 22:21:07 -08:00
Jay Kamat
ecf6f4bca0
Fix Qt Mnemonics affecting min tab width
...
See #3245
2017-11-06 15:05:26 -05:00
Jan Verbeek
3e8c84c018
Make :undo re-open all tabs closed by :tab-only
...
This changes the undo stack from a list of UndoEntry objects to a list
of lists of UndoEntry objects, so groups of tabs can be added. Only
:tab-only does that, but it's exposed by TabbedBrowser.close_tab as a
keyword argument.
2017-11-06 19:32:10 +01:00
Florian Bruhin
0053b10e4d
Merge remote-tracking branch 'origin/pr/3243'
2017-11-06 16:26:21 +01:00
Florian Bruhin
e7da2142f3
Merge remote-tracking branch 'origin/pr/3249'
2017-11-06 13:52:19 +01:00
Florian Bruhin
29cbf75615
Merge remote-tracking branch 'origin/pr/3249'
2017-11-06 13:46:24 +01:00
Ryan Roden-Corrent
c74cb22374
Improve completion-item-yank documentation.
2017-11-06 07:34:31 -05:00
Florian Bruhin
378b280f9a
Fix qute://gpl
2017-11-06 12:13:54 +01:00
Florian Bruhin
55815bd17b
Add some debug logging for #3219
2017-11-06 10:53:37 +01:00
Florian Bruhin
b55bb5dc6f
Work around QUrl::query() not being available with PyQt 5.9.1
...
See https://www.riverbankcomputing.com/pipermail/pyqt/2017-November/039702.html
2017-11-06 08:50:03 +01:00
Florian Bruhin
2514b009af
Use QUrlQuery to get log level on qute://log
...
This helps with
https://www.riverbankcomputing.com/pipermail/pyqt/2017-November/039702.html
2017-11-06 08:42:59 +01:00
Florian Bruhin
4d8ac7486c
Go back to using subprocess.Popen for :restart
...
With subprocess.run, we wait until the subprocess has completed, which means the
parent process will hang on :restart.
Since we *don't* want to wait for the subprocess here, using subprocess.Popen
seems the right thing to do.
This was introduced in bb54a954fe
/ #3203
Probably doesn't affect #3210 and #3220 .
2017-11-06 07:45:17 +01:00
Florian Bruhin
22f3fade24
Bump up default font size to 10pt
...
See #1585
2017-11-06 07:36:52 +01:00
Florian Bruhin
f52930c857
Make the window.hide_wayland_decoration option less special
2017-11-06 07:33:13 +01:00
Florian Bruhin
4fdf2d6f40
Update docs
2017-11-06 07:11:00 +01:00
Florian Bruhin
341e8ca864
Add a qt.highdpi setting
...
See #1585
2017-11-06 07:02:07 +01:00
Florian Bruhin
f222aa30a6
Merge remote-tracking branch 'origin/pr/3250'
2017-11-06 06:53:11 +01:00
Jay Kamat
ca0aa68f74
Fix icon width calculation for pinned tabs
2017-11-05 23:23:33 -05:00
Michal Siedlaczek
855d0312b5
Review fixes
2017-11-05 18:12:15 -05:00
Michael Hoang
966aa810df
Set maxsplit to 0 on :buffer
...
Remove double quotes from tests
2017-11-06 06:41:43 +11:00
Ryan Roden-Corrent
db3b1aee0d
Add default ctrl+c binding for completion yank.
...
By default, ctrl+c will yank the selection from the completion menu onto
the clipboard, and ctrl+shift+c will yank it onto the primary selection.
Unfortunately ctrl+y was already taken by rl-yank (which,
counter-intuitively to vim users, will paste the last deleted text).
2017-11-05 11:14:28 -05:00
Ryan Roden-Corrent
bb63f9fd92
Implement completion-item-yank.
...
Yank the text from the first column of the completion menu.
Resolves #1588 .
2017-11-05 11:07:38 -05:00
Michal Siedlaczek
3ac2cfdf73
Support updating dictionaries and removing old versions.
2017-11-04 18:16:05 -04:00
Panagiotis K
5215321e64
Error handling, better code quality.
...
Handling of os errors raised during parent
directory creation.
2017-11-04 20:17:35 +02:00
Florian Bruhin
87c339587f
Release v1.0.3
...
(cherry picked from commit fc63cea91790ddfc4b7fe2ef590de83a3c31dd39)
2017-11-04 17:05:05 +01:00
Florian Bruhin
5689a3c0dc
Fix unbinding default keys twice
...
When doing :unbind with a default keybinding the first time, it gets inserted
into bindings.commands with None as value.
When then doing :unbind a second time, instead of just leaving that None value
as-is, we removed it again (because it got treated as a custom binding).
Fixes #3162
2017-11-04 15:17:19 +01:00
Michal Siedlaczek
2dc0115c81
Load the newest version of the dictionary.
2017-11-03 19:20:31 -04:00
Michal Siedlaczek
16ad9182f1
Add en-AU (Australia) to the list of valid languages
2017-11-03 17:24:33 -04:00
Florian Bruhin
c22a27d47f
Add missing trailing dots
...
(cherry picked from commit 5f43b02badc20a4fc67931ab6e76f1050ab283aa)
2017-11-03 15:03:05 +01:00
Florian Bruhin
864249d798
Merge remote-tracking branch 'origin/pr/3181'
2017-11-03 15:02:27 +01:00
Florian Bruhin
0f28804032
Merge pull request #3237 from rcorre/completionsort
...
Fix completion sorting
2017-11-03 14:36:42 +01:00
Florian Bruhin
1536c098cf
Merge pull request #3215 from deewakar/issue3161
...
Add trailing slash to qute://help pages
2017-11-03 11:49:31 +01:00
Ulrik de Muelenaere
ce1494e5ec
Update stylesheet.js to ES6
2017-11-03 12:17:35 +02:00
Ulrik de Muelenaere
72c57d16f4
Merge branch 'master' into stylesheet
2017-11-03 12:13:52 +02:00
Florian Bruhin
d53a96d9f2
Merge pull request #3208 from 7lb/refactor/make_completer_less_stateful
...
[RDY] Make completer less stateful
2017-11-03 10:47:52 +01:00
Florian Bruhin
be325853d8
Revert "Inject JS into the profile"
...
This reverts commit acfb3aa26f
.
The related code doesn't really belong in webenginesettings.py after all, and
for some reason I don't understand right now this breaks tests in
javascript.feature because window._qutebrowser is undefined when running them.
2017-11-03 09:59:00 +01:00
Florian Bruhin
25bda66260
Merge pull request #3191 from gyorb/refactor/enum
...
use Enum start number
2017-11-03 09:30:47 +01:00
Marcel Schilling
7e07f5c996
standardize placeholders in configdata descriptions
...
* Keep descriptions concise.
* Prefer starting descriptions with a noun.
* Don't explain that placeholders are placeholders/get replaced.
* Introduce placeholder list by the following line:
'The following placeholders are defined:'
* List placeholders in a markdown-style list:
'* `{<placeholder>}`: <description>.'
2017-11-03 08:48:30 +01:00
Marcel Schilling
c6d7509220
rephrase configdata descriptions
...
* see discussion of PR #3181
2017-11-03 08:44:11 +01:00
Marcel Schilling
87ec7a1a0b
prefer nouns for configdata descriptions
...
* reserve interrogative words for selection type options
2017-11-03 08:44:11 +01:00
Marcel Schilling
aebe4c8f9e
assume single user in configdata descriptions
...
* 'a user' -> 'the user'
2017-11-03 08:44:11 +01:00
Marcel Schilling
a6451c05d7
add missing units to configdata descriptions
...
* fixes #3171
2017-11-03 08:44:11 +01:00
Marcel Schilling
01b29cd640
use interrogative words for configdata descriptions
...
* for selections, use appropriate determiner/pro-adverb/pronoun:
* 'When to [...].'
* 'How to [...].'
* 'Which [...] to [...].'
* 'What [...] to [...].'
2017-11-03 08:44:11 +01:00
Marcel Schilling
0a908206bc
avoid boolean redundancy in configdata descriptions
...
* 'Enable or disable [...]' -> 'Enable [...]'
What else? ---^^^^^^^
2017-11-03 08:44:11 +01:00
Marcel Schilling
494aceec45
use imperative mood for bools in configdata descriptions
...
* considers ConfirmQuit and BoolAsk in addition to Bool
2017-11-03 08:44:11 +01:00
Marcel Schilling
f76af6c949
define type before desc in configdata YAML file
2017-11-03 08:44:11 +01:00
Marcel Schilling
b187a83d59
avoid spaces before colons in confidata YAML file
...
* ' desc : [...]' -> ' desc: [...]'
space ----^ no space ----^
2017-11-03 08:44:11 +01:00
Marcel Schilling
56671e5787
avoid articles in configdata descriptions
...
* includes `valid_value` descriptions in addition to `desc` fields
2017-11-03 08:44:11 +01:00
Marcel Schilling
e744a7c25a
avoid code duplication in configdata descriptions
...
* available placeholders are defined for tabs.title.format
* tabs.title.format_pinned refers to that definition
* window.title.format repeats the identical(!) definition
* this replaces the repetion by another reference
2017-11-03 08:44:11 +01:00
Marcel Schilling
fe8b9519c8
avoid redundancy in configdata descriptions
...
* drop phrases referring to the settings themselves:
* 'set ...'
* 'control ...'
* 'definitons of ...'
2017-11-03 08:44:11 +01:00
Marcel Schilling
fd52409d0c
standardize units in configdata descriptions
...
* encapsulate units in parentheses: ('(in <unit>)')
* move units right behind the corresponding noun
2017-11-03 08:44:11 +01:00
Marcel Schilling
e126faf8c1
prefer 'duration' in configdata descriptions
2017-11-03 08:44:11 +01:00
Marcel Schilling
7672fb5241
avoid abbreviations in configdata description
...
* chars -> characters
* px -> pixels
* ms -> milliseconds
* regexes -> regular expressions
* includes `valid_value` descriptions in addition to `desc` fields
ms_fix
2017-11-03 08:44:11 +01:00
Marcel Schilling
99ad1547bc
break long lines in configdata YAML file
...
* max. 79 chars (as per PEP8)
* two long lines remain (as I didn't know how to safely break them):
> 389 - "http://malwaredomains.lehigh.edu/files/justdomains.zip "
> -> 390 - "https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext "
> 391 type:
> --
> 2222 Sh: open qute://history
> ->2223 xx: config-cycle statusbar.hide ;; config-cycle tabs.show always switching
> 2224 xt: config-cycle tabs.show always switching
2017-11-03 08:44:11 +01:00
Marcel Schilling
31e7d8dd3f
fix capitalization in configdata descriptions
...
* url -> URL
* os -> OS
* Page Cache -> page cache
* Spatial Navigation -> spatial navigation
2017-11-03 08:44:11 +01:00
Marcel Schilling
a55d12bf70
add missing periods (.) to configdata descriptions
...
* includes `valid_value` descriptions in addition to `desc` fields
2017-11-03 08:44:11 +01:00
Marcel Schilling
0c01d9b61a
fixed typos in configdata descriptions
2017-11-03 08:44:11 +01:00
Ryan Roden-Corrent
47447c047a
Ensure completions are sorted after filtering.
...
I previously removed the sorting logic from SortFilter thinking it was
unnecessary if we construct the model with a sorted list. However, this
only worked when no pattern was set, and the items are misordered as
soon as a pattern is input.
This patch reintroduces alpha-sorting, which can be disabled by passing
sort=False to the ListCategory constructor. The session completion test
had to be tweaked as it simulated the incorrect assumption that the
session list is not alpha-ordered; sessions come out of the
session-manager pre-sorted so we may as well use alpha-sorting in the
session completion model.
Resolves #3156 .
2017-11-02 22:10:00 -04:00
Florian Bruhin
acfb3aa26f
Inject JS into the profile
...
Closes #3216
2017-11-02 21:59:22 +01:00
Florian Bruhin
a14ef88acf
Remove some obsolete/deprecated eslint customizations
2017-11-02 20:00:29 +01:00
Florian Bruhin
1cf66976d2
Merge remote-tracking branch 'origin/pr/3225'
2017-11-02 19:43:04 +01:00
Florian Bruhin
bb208f4e77
Un-hide :open-editor
...
It can be used in normal mode as well, and it's nice to have it discoverable.
Fixes #3235 .
2017-11-02 19:32:45 +01:00
Florian Bruhin
5469a238de
Fix docs for new editor replacements
...
See #3100
2017-11-02 19:30:47 +01:00
Gyorgy Orban
98c6b49cde
use enum module instead or usertypes.enum
...
Remove the usertypes.enum from the source and use
the standard enum module instead.
Enum start number is available since python 3.5
2017-11-02 18:56:11 +01:00
plexigras
6e624bcd3c
Merge branch 'master' into es6ify-js
2017-11-02 16:44:25 +01:00
Florian Bruhin
9a69ccc9e3
Merge remote-tracking branch 'origin/pr/3100'
2017-11-02 11:32:45 +01:00
Florian Bruhin
3385585ca5
Merge remote-tracking branch 'origin/pr/3203'
2017-11-02 11:02:49 +01:00
Florian Bruhin
f620ffd9d4
Merge remote-tracking branch 'origin/pr/3228'
2017-11-02 09:14:49 +01:00
Florian Bruhin
1c39715267
Clarify qute://configdiff/old title
2017-11-01 22:36:59 +01:00
Gyorgy Orban
bb54a954fe
use subprocess run
...
The usage of subprocess.run is recommended since python 3.5.
Popen, check_call, call and check_output calls were replaced with run.
2017-11-01 09:59:32 +01:00
Jay Kamat
cb7e6ab02d
Abort pinned tab prompt if tab is destroyed
...
Closes #3223
2017-10-31 19:07:01 -04:00
Luca Benci
24231ae405
Remove unnecessary parens
2017-10-31 23:22:17 +01:00
Luca Benci
bc0c877b87
Formatting
2017-10-31 23:21:37 +01:00
Luca Benci
370405c0ed
Remove assert
2017-10-31 23:20:13 +01:00
Luca Benci
dcc53026a3
Stay within 79 columns
2017-10-31 23:14:07 +01:00
plexigras
fa8476f762
keep old pac_utils.js
2017-10-31 16:40:09 +01:00
plexigras
905c984148
change some lambdas to functions
2017-10-31 12:54:26 +01:00
plexigras
d4d791f14e
es6ified js
2017-10-31 11:53:35 +01:00
Florian Bruhin
0b86b302a2
pylint: Turn off some more too-many-* stuff globally
...
Humans are just better at judging what's okay here than a machine.
2017-10-31 07:35:00 +01:00
Florian Bruhin
e9483bc485
Merge remote-tracking branch 'origin/pr/3122'
2017-10-31 07:05:38 +01:00
dwagle
f70740cc3a
set original query parameters if any before redirecting to new_url
2017-10-31 11:47:06 +05:45
Ulrik de Muelenaere
95b41b311f
Disable ESLint no-bitwise rule
2017-10-30 22:24:59 +02:00
Ulrik de Muelenaere
3adc2e0f83
Add filter to NodeIterator checking for styled nodes
2017-10-30 19:56:12 +02:00
Ulrik de Muelenaere
34b27437d0
Clarify function names in stylesheet.js
2017-10-30 19:55:37 +02:00
Ulrik de Muelenaere
0540a43995
Check for deleted window
2017-10-30 19:52:15 +02:00
Jay Kamat
64b6852ae3
Fix a couple style issues
2017-10-30 12:40:44 -04:00
dwagle
aab7496916
fixes issue #3161
2017-10-30 17:09:45 +05:45
Florian Bruhin
daee729fc2
Merge remote-tracking branch 'origin/pr/3200'
2017-10-30 06:58:46 +01:00
Florian Bruhin
3d53ffb7ef
Bump up YAML load deadline some more
2017-10-30 06:55:55 +01:00
Ulrik de Muelenaere
2fe1a1db89
Remove unused variable
2017-10-29 00:23:11 +02:00
Ulrik de Muelenaere
51d48f6b00
Rewrite user stylesheet injection for WebEngine
...
This now works correctly in XML documents. The stylesheet is applied at
document creation to reduce flickering, and is updated if the
user_stylesheets setting is changed after page load.
2017-10-28 22:16:29 +02:00
Jay Kamat
2a4163b2c7
Fix ellipsis on pinned tabs with index > 10
...
See #3209
2017-10-27 17:20:55 -04:00
Luca Benci
f5f11f7f4e
Remove _ignore_change
2017-10-27 20:15:33 +02:00
Luca Benci
2947b75ab9
Make eslint happy
2017-10-27 19:52:10 +02:00
Ryan Roden-Corrent
24f466b2c3
Add --related flag to edit-url.
2017-10-26 22:13:35 -04:00
Ryan Roden-Corrent
6519f500a9
Add --private flag to edit_url.
...
The command :edit-url --private (or :edit-url -p) will spawn a new
private window with the url input from the editor.
I had to add 'Given I have a fresh instance' to the feature file to
ensure tests were not interfering.
Resolves #3185 .
2017-10-26 07:21:51 -04:00
Florian Bruhin
eee5f8263f
Merge remote-tracking branch 'origin/pr/3179'
2017-10-26 09:43:42 +02:00
Florian Bruhin
c883d6b429
Merge remote-tracking branch 'origin/pr/3196'
2017-10-26 08:46:21 +02:00
Luca Benci
ff7edf79e7
Rethrow exception if we can't handle it
2017-10-25 22:53:54 +02:00
Luca Benci
ae2dad7d18
Only catch the correct exception
2017-10-25 22:43:17 +02:00
Luca Benci
3fd7fb3e14
Do not assume elem.selectionStart exists
2017-10-25 22:38:44 +02:00
Luca Benci
f195b7e4d2
Fix flake8 failures
2017-10-25 21:18:53 +02:00
Florian Bruhin
2ab441a5a3
Merge remote-tracking branch 'origin/pr/3129'
2017-10-25 20:49:55 +02:00
lxhillwind
4c7f6e5339
Update configfiles.py: line too long fix
2017-10-26 02:04:09 +08:00
lxhillwind
66c5350989
handle <EOL> of :config-write-py
generated file
2017-10-26 00:06:53 +08:00
Florian Bruhin
ed2f473a8e
Make it more clear that :messages helps with failing processes
2017-10-24 22:56:04 +02:00
Jay Kamat
cb6f4313d7
Lower tabbar cache bound and clean up code
2017-10-24 10:18:10 -04:00
Florian Bruhin
1d18e808b1
Merge remote-tracking branch 'origin/pr/3182'
2017-10-24 09:31:25 +02:00
Florian Bruhin
43bca9793e
Merge remote-tracking branch 'origin/pr/3136'
2017-10-24 08:57:28 +02:00
siddhugolu
570f1a849f
modified as requested
2017-10-24 12:20:07 +05:30
siddhugolu
bc9d305354
modified as requested
2017-10-23 01:46:02 +05:30
siddhugolu
4862b2faf9
modified pylint pragmas
2017-10-22 23:52:35 +05:30
Luca Benci
96bbdb19e6
Add missing docstrings
2017-10-22 20:02:32 +02:00
Christopher Pezley
96eff65690
Log when url contains characters not present in current locale.
2017-10-22 18:41:29 +02:00
Florian Bruhin
bd0289423e
Merge remote-tracking branch 'origin/pr/3180'
2017-10-22 17:33:06 +02:00
Florian Bruhin
a704526582
Remove messages.unfocused
2017-10-22 17:30:47 +02:00
Michael Hoang
e5f2d27ed9
Ensure that a window with the given win_id exists
2017-10-22 08:22:45 +11:00
Luca Benci
56d29a1b5f
Avoid scheduling spurious completion updates
...
Instead of setting `_ignore_change` to `True` before calling
`_change_completed_part` we just stop `_cmd` from emitting
`update_completion`.
This has the nice side-effect that when writing a complete command
`_ignore_change` was set to `True` regardless, and thus hitting space
would not update the completion view.
Now, hitting space will (as always) schedule a completion update that
now will not be incorrectly ignored
2017-10-21 23:20:37 +02:00
Jay Kamat
49daa7aab8
Add most recent tab bar to cache statistics
2017-10-21 16:18:23 -04:00
Christopher Pezley
bdfb9c60cc
Fix issue where opening a file whose name contains characters not
...
present in locale would cause a crash.
Fixes qutebrowser/qutebrowser/1450
2017-10-21 21:01:07 +02:00
Jay Kamat
b499474599
Prevent calling _tab_pinned on every tab twice
2017-10-21 00:32:05 -04:00
Jay Kamat
caae1c7008
Fix blowing cache for different icons
2017-10-20 22:13:54 -04:00
Jay Kamat
fde4495bc7
Clear cache on config changes
2017-10-20 16:35:11 -04:00
Luca Benci
dee0799e15
Avoid crash with LC_ALL=C
and unicode filename
2017-10-20 22:06:59 +02:00
Jay Kamat
e705ea7e56
Rename _minimum_tab_size_hint_helper
2017-10-20 15:40:11 -04:00
Jay Kamat
f6cc9d53b8
Merge branch 'master' into jay/cache-tabsize
2017-10-20 15:24:22 -04:00
Florian Bruhin
128a16173e
Merge remote-tracking branch 'origin/pr/3165'
2017-10-20 09:14:41 +02:00
Florian Bruhin
5fe6e60ffd
Fix lint
2017-10-20 09:12:23 +02:00
Florian Bruhin
8504d41db3
Use Qt API for QtWebEngine scrolling
...
See #2233
Fixes #2822
2017-10-20 08:58:28 +02:00
Florian Bruhin
dd927ded6b
Only update tab/window title on scroll if needed
...
This way, if {scroll_pos} is not in the window/tab title template,
we don't redraw anything unnecessarily.
See #2233
2017-10-20 08:25:43 +02:00
Florian Bruhin
fd8e5e30c6
Re-add scroll filtering and disable it for mark/scroll tests
...
See #2233
2017-10-20 07:38:51 +02:00
Florian Bruhin
455b90ecad
Log which dictionaries have been found
...
See #3166
2017-10-20 07:14:32 +02:00
Martin Fraga
2bfa853847
Add keyhint radius configuration option
...
The radius for the keyhint dialog box should be configurable vi via
c.keyhint.radius. The default was set to 6px, which is the previous
hardcoded value.
2017-10-19 02:03:59 -07:00
Luca Benci
0436526203
Change default editor command
2017-10-18 21:08:22 +02:00
Luca Benci
cf04219f79
Rename possible_placeholder
to arg
2017-10-18 20:20:05 +02:00
Luca Benci
7907840ead
Add full stops
2017-10-18 20:19:47 +02:00
Luca Benci
addccd7492
Move comment to docstring and fix typo
2017-10-18 20:19:09 +02:00
Florian Bruhin
5a9042ab3e
Add a config.source() method
2017-10-18 13:53:26 +02:00
Florian Bruhin
354c3c8c9b
Handle unknown filetypes with qute://help
2017-10-18 09:02:39 +02:00
Luca Benci
f710536092
Move line and column calculation to own function
2017-10-17 22:48:43 +02:00
Luca Benci
233e72fef1
Adjust docstring
2017-10-17 22:38:11 +02:00
Florian Bruhin
9dc9bcaf39
Make standarddir work on HaikuOS
...
For some reason, it returns an empty DataLocation.
2017-10-17 22:37:14 +02:00
Luca Benci
e508224a46
Avoid the use of chained replace
s
2017-10-17 22:35:01 +02:00
Luca Benci
b3445bc35a
Add default value for caret_position
2017-10-17 22:08:54 +02:00
Jay Kamat
5d11a1fd75
Prevent :home from bypassing pinned tab warnings
...
Closes #3138
2017-10-17 11:37:37 -04:00
Florian Bruhin
96bec9f9d7
Fix error code for "database is locked"
...
See #2930
2017-10-17 15:35:23 +02:00
Florian Bruhin
12c9590524
Always use shortest match for completion.use_best_match
2017-10-17 15:01:37 +02:00
Florian Bruhin
161b96be1e
Fix long line
2017-10-17 13:10:00 +02:00
Florian Bruhin
2e64dda592
Clean up getting matching commands
2017-10-17 11:40:34 +02:00
Florian Bruhin
c233099bca
Merge remote-tracking branch 'origin/pr/3063'
2017-10-17 11:34:35 +02:00
Florian Bruhin
458a45c172
Remove old deprecated commands
2017-10-17 10:44:22 +02:00
Florian Bruhin
f1ddf58260
Add a deprecated :tab-detach
2017-10-17 10:30:47 +02:00
Florian Bruhin
f84af0a6fb
Fix docstring
2017-10-17 09:33:20 +02:00
Florian Bruhin
ced4713fda
Reverse if/else
2017-10-17 09:14:59 +02:00
Florian Bruhin
cce4ff6d53
Merge remote-tracking branch 'origin/pr/3054'
2017-10-17 09:10:45 +02:00
Florian Bruhin
373ad28d2e
Release v1.0.2
...
(cherry picked from commit 55a88ceea674fdfaf5577c255bc704e41e3353a3)
2017-10-17 07:46:02 +02:00
Florian Bruhin
1a7612e559
Bump up yaml timeout a bit
2017-10-17 06:28:22 +02:00
Florian Bruhin
d8384ced0a
Show better error message when trying to toggle with :set
2017-10-17 06:26:42 +02:00
Aneesh Roy
50983f01b8
New tab opens as unrelated
2017-10-16 17:14:48 +01:00
Aneesh Roy
4d780e23af
Add tabs.close_mouse_button_on_bar ignore option
2017-10-16 15:49:19 +01:00
Aneesh Roy
674269724f
Configurable behavior of close mouse button on bar
2017-10-16 15:44:52 +01:00
Florian Bruhin
e89fda189a
Fix tab sizing when we get a QPainter and not a QStylePainter
...
I'm not sure yet how that happens, but I got a crash report for that.
See #3099
2017-10-16 13:44:51 +02:00
Florian Bruhin
e766fe14fc
Fix HTML escaping in completion
2017-10-16 12:27:13 +02:00
Florian Bruhin
5307b97ca5
Improve checkpyver error message
2017-10-16 09:24:31 +02:00
Florian Bruhin
8756997dc8
Merge remote-tracking branch 'origin/pr/3099'
2017-10-16 08:30:03 +02:00
Florian Bruhin
09868c1e7f
Update docs
2017-10-16 08:17:45 +02:00
Florian Bruhin
3797b0cfed
Merge remote-tracking branch 'origin/pr/3034'
2017-10-16 08:12:15 +02:00
Florian Bruhin
3d02feac2b
Merge pull request #3118 from jgkamat/jay/git-version
...
Change qute:version git commit to display hash
2017-10-16 07:59:52 +02:00
Florian Bruhin
2a65cadb67
Fix setting monospace fonts with None values
...
Fixes #3130
2017-10-16 06:18:09 +02:00
Florian Bruhin
e003b11670
Fix overflow handling for QtWebKit scrolling
...
If we do "m * val / 100", the value gets bigger, so we need to check for an
overflow afterwards.
2017-10-15 22:30:17 +02:00
Florian Bruhin
fa4a66f7b3
Add SQLITE_READONLY to environmental errors
2017-10-15 21:10:11 +02:00
Adrien Folie
57e1135abe
fix blurry favicons on hidpi displays
2017-10-15 19:24:15 +02:00
Florian Bruhin
16b2df56df
Merge remote-tracking branch 'origin/pr/3115'
2017-10-15 00:27:14 +02:00
Florian Bruhin
f4796b5ec6
Add missing period
2017-10-15 00:22:19 +02:00
Florian Bruhin
71f48a1e30
Move statusbar colors together in configdata.yml
2017-10-15 00:21:35 +02:00
Florian Bruhin
69d4bb6c6a
Merge remote-tracking branch 'origin/pr/3119'
2017-10-15 00:20:47 +02:00
Jay Kamat
4ff44eff7b
Clean up logic for finding git hash
...
Also add implementation for release scripts as well
2017-10-14 18:08:52 -04:00
Jay Kamat
08b562ea0c
Add caching for tab sizes
2017-10-14 17:59:50 -04:00
Florian Bruhin
01d2654c23
Improve history formatting in crashdialog
2017-10-14 22:27:30 +02:00
Florian Bruhin
bad349aacf
Fix getting history in crash dialog
2017-10-14 22:23:03 +02:00
Kimat Boven
ffab9e263f
it was not possible to show the current_url in tab or window title
...
note that I couldn't use {url} as field for the FormatString
2017-10-14 22:14:01 +02:00
Florian Bruhin
5dacf1431f
eslint: Disable multiline-comment-style
2017-10-14 21:41:56 +02:00
Florian Bruhin
27c46f20c0
Make sure the config default values are mutable
...
While the old values meant the same thing, they weren't mutable, so the config
couldn't modify them with a simple .append().
Fixes #3104
2017-10-14 16:40:44 +02:00
Florian Bruhin
0195f717c3
Move QOpenGL imports to the top
...
We don't support Qt < 5.4 anymore anyways.
2017-10-14 12:11:41 +02:00
Florian Bruhin
b3f395453b
Run Nvidia shader workaround earlier
...
We need to do it before utils.opengl_vendor(), and it fits better there anyway.
This was a regression in v1.0.
See #2554 , #3106
2017-10-14 12:10:21 +02:00
sMailund
f5cccfb097
re-add erroneously removed line
2017-10-14 10:43:34 +02:00
sMailund
14005e3684
trigger color change on passthrough mode
2017-10-14 10:30:44 +02:00
sMailund
57c4285dbc
configure colorflags for passthrough mode
2017-10-14 10:29:34 +02:00
sMailund
4d2ca878ea
add color configuration to passthrough mode
2017-10-14 10:26:55 +02:00
Jay Kamat
ee3d7463f6
Change qute:version git commit to display hash
...
Replaces output of git-describe
Closes #3095
2017-10-13 23:30:07 -04:00
Florian Bruhin
d411ec1eba
Mark content.notifications as QtWebKit-only
2017-10-13 23:18:36 +02:00
Luca Benci
440740d30b
Don't crash when opening editor under webkit
2017-10-13 20:40:08 +02:00
Florian Bruhin
2872ae5641
Release v1.0.1
2017-10-13 09:21:56 +02:00
Florian Bruhin
2bf9a81451
Prevent empty segfault reports
2017-10-13 07:52:55 +02:00
Luca Benci
ad9ac2191b
Also accept {file}
placeholder
2017-10-12 23:48:49 +02:00
Luca Benci
6425061b3a
Substitute new editor.command
placeholders
...
Added placeholders are:
* `{file}` has the same function as `{}`
* `{line}` is the 1-based line number
* `{column}` is the 1-based column number
* `{line0}` like `{line}`, but 0-based
* `{column0}` like `{column}` but 0-based
2017-10-12 22:46:05 +02:00
Luca Benci
cdf4f69251
Pass caret_position
to editor's edit()
2017-10-12 22:43:31 +02:00
Luca Benci
67e41af875
Add sanity check and accessor for caret_position
2017-10-12 22:43:06 +02:00
Luca Benci
f43a597370
Add cursor_position
to serialize_elem
output
2017-10-12 22:42:40 +02:00
Florian Bruhin
bf1d6acb06
Properly fix up version checks...
2017-10-12 22:41:52 +02:00
Bryan Gilbert
0e527d2584
Consistently space + center favicons when using vertical tabs
2017-10-12 14:55:13 -04:00
Florian Bruhin
8539d092df
Fix version checking in earlyinit
...
With the previous commit, we also checked that PyQt was >= 5.7.1, but we want to
support PyQt 5.7.0. Instead, we now check the individual components by hand.
Also, the previous check accidentally allowed PyQt >= 5.2.0 instead of 5.7.0.
2017-10-12 19:41:49 +02:00
Florian Bruhin
dfe2f9e38c
Also check PyQt version for qtutils.version_check()
...
With an older PyQt built against a newer Qt, we still don't have its features
available.
This also drops support for exact=True with compiled=True as the semantics for
that are unclear, and it's not used.
2017-10-12 19:13:20 +02:00
Florian Bruhin
4f870f902c
Fix loading of monospace fonts in configtypes.QtFont
...
See #3096
2017-10-12 18:26:54 +02:00
Joakim Reinert
efef588c30
fix lints in completer
2017-10-12 14:43:22 +02:00
Panagiotis K
10388b0515
Remove an unused variable.
2017-10-12 15:16:35 +03:00
Panagiotis K
0a753915ff
Prompt for non-existing download directories.
...
Closes #2120
2017-10-12 15:00:35 +03:00
Florian Bruhin
e9f9449237
Release v1.0.0
2017-10-12 09:15:02 +02:00
Florian Bruhin
f035d4f362
Fix quote handling for fonts.monospace family
2017-10-11 22:14:58 +02:00
Florian Bruhin
a21a60c5ca
Fix updating fonts when fonts.monospace is changed
...
Fixes #2973
2017-10-11 22:14:55 +02:00
Florian Bruhin
cbe9ff7435
Fix reading of fonts.monospace on init
...
See #2973
2017-10-11 22:06:47 +02:00
Florian Bruhin
96c0cde8b8
Fix copy-paste error in colors.messages.warning.border description
2017-10-11 16:26:52 +02:00
Florian Bruhin
ba92f32e9f
Merge pull request #3073 from qutebrowser/sql-errors
...
Handle some sqlite errors gracefully
2017-10-11 14:48:01 +02:00
Florian Bruhin
64443a3eed
Fix docstrings
2017-10-11 14:40:05 +02:00
Florian Bruhin
1b5f1aaebf
Merge remote-tracking branch 'origin/pr/3055'
2017-10-11 14:37:59 +02:00
Florian Bruhin
f5e7388bfe
Improve YAML deadline warning
...
See #2777
2017-10-11 13:15:15 +02:00
Florian Bruhin
35335d954b
Show error when YAML load took too long
...
See #2777
2017-10-11 13:15:11 +02:00
Florian Bruhin
9c080538ba
Add a setting to force the platform and improve Wayland handling
...
Closes #3078
See #2932
2017-10-11 09:23:21 +02:00
Florian Bruhin
bdc82bc633
Fix lint
...
See https://github.com/PyCQA/pylint/issues/1698
2017-10-11 08:41:23 +02:00
Michael Hoang
29f66dcd95
Merge :tab-detach with :tab-give
2017-10-11 17:18:12 +11:00
Florian Bruhin
59a1609dd8
Handle RuntimeError in AbstractTab __repr__
...
Apparently it can happen that we try to get a repr of an already destroyed tab.
In that case, we display <RuntimeError> as the URL now.
2017-10-11 08:02:27 +02:00
Florian Bruhin
2a3369e2fe
Show nicer errors when trying to set deleted/renamed options
2017-10-11 08:00:38 +02:00
Florian Bruhin
0cd5d4300b
Rename qt_args and force_software_rendering to add qt. prefix
...
Closes #3077
2017-10-11 07:45:38 +02:00
Michael Hoang
67437a0d5d
Add :tab-give and :tab-take commands and tests
2017-10-11 16:27:35 +11:00
Michael Hoang
b7061dc7db
Separate logic for resolving buffers from index
2017-10-11 16:27:35 +11:00
Florian Bruhin
abbd69f604
Implement deleting/renaming values in configdata.yml
...
This is needed for #3077 , but also is used for the deletion in #2847 now.
See #2772 .
2017-10-11 07:13:51 +02:00
Anton S
fadc8f1e0b
[review] convey via_ipc from process_pos_args to get_window
2017-10-11 00:45:22 +03:00
Anton S
085304a1de
[review] removed ApplicationActivate handler due to bugs
2017-10-11 00:28:20 +03:00
Anton S
ba1a7a8de8
[review] force_raise -> no_raise
2017-10-10 23:02:10 +03:00
Florian Bruhin
4c1273ba0a
Fix indent
2017-10-10 14:59:24 +02:00
Anton S
e1f5da3eff
[review] docstrings, url logging, etc.
2017-10-10 14:13:49 +03:00
Anton S
e537826ff5
fixed docstring, converted list to set
2017-10-10 01:46:49 +03:00
Anton S
40185385cf
moved methods to restore initial order
2017-10-10 01:37:39 +03:00
Anton S
14da05f7b1
use open_url to handle FileOpen event
2017-10-10 01:31:31 +03:00
Anton S
00f0e519a9
added option to suppress window raising
2017-10-10 01:30:58 +03:00
Anton S
552d041422
reused some code from process args
2017-10-10 01:30:14 +03:00
Anton S
5301a42495
raise last focused window if requested
2017-10-10 01:00:34 +03:00
Anton S
6b7cecc840
separated window raising into it's own function
2017-10-10 01:00:33 +03:00
Florian Bruhin
8a6ea6a375
Add spaces around args with annotations
...
Looks like pylint 1.7.3/.4 notices those
2017-10-09 21:21:17 +02:00
Joakim Reinert
0226025308
add adjustable amount of chars required to update completions
2017-10-09 16:51:19 +02:00
Joakim Reinert
019d66a4c6
add adjustable delay for completion updates
2017-10-09 16:51:19 +02:00
Florian Bruhin
b5777299fd
Fix getting a short text from the SqlError
2017-10-09 16:08:56 +02:00
Florian Bruhin
b608259751
Handle some sqlite errors gracefully
...
We mark some SQL errors as "environmental", and then show those as error
messages instead of raising an exception.
Fixes #3004
Workaround for #2930
2017-10-09 16:06:24 +02:00
Luca Benci
0578349e29
Default completion.use_best_match to false
2017-10-09 11:12:42 +02:00
Luca Benci
71048a1b55
Add (and use) completion.use_best_match config
2017-10-09 11:12:37 +02:00
Luca Benci
9d0dfd5726
Always run best-matching command
2017-10-09 11:12:28 +02:00
Florian Bruhin
83aa936276
Ignore _on_history_trigger for destroyed tabs
2017-10-09 07:13:43 +02:00
Florian Bruhin
e95260092c
Add some more dwb keybindings
...
See #13
2017-10-09 07:00:59 +02:00
Florian Bruhin
0e64511d63
Split up _init_envvars from configinit.early_init
2017-10-09 06:52:14 +02:00
Florian Bruhin
f63b95c298
Fix the window.hide_wayland_decoration setting
...
Fixes #2267
2017-10-09 06:50:29 +02:00
Florian Bruhin
220d1be500
Fix docstring
2017-10-08 23:10:08 +02:00
Florian Bruhin
36ef68c698
Add :bind --default
...
Closes #3059
2017-10-08 21:48:48 +02:00
Florian Bruhin
8c1e95787d
Improve error message for PercOrInt
...
Fixes #3068
2017-10-08 19:47:05 +02:00
Florian Bruhin
6c3f90146f
Make qtutils.version_check strict by default
...
This also renames 'strict' to 'compiled' to be more descriptive.
It also fixes a crash when starting qutebrowser with an older compiled Qt
version which was introduced recently (calling setSpellCheckEnabled).
2017-10-08 19:08:37 +02:00
Florian Bruhin
1d1faf8d25
Merge remote-tracking branch 'origin/pr/2940'
2017-10-08 16:53:10 +02:00
Florian Bruhin
1d7af2e74b
Use double quotes to avoid escaping
2017-10-08 15:25:21 +02:00
Florian Bruhin
277daa334d
Merge remote-tracking branch 'origin/pr/2891'
2017-10-08 15:23:01 +02:00
Florian Bruhin
e63d11527d
Get rid of CommandRunner.run_safely_init
...
All messages are queued nowadays.
2017-10-08 14:42:42 +02:00
Florian Bruhin
51ea56375e
Improve error handling for config commands
...
- Use self._handle_config_error() for key commands too
- Catch getting an invalid key properly
- Remove (wrong) "set: " prefix
2017-10-08 14:40:10 +02:00
Florian Bruhin
8d34d4d4f5
Turn on overflow checking in sip
2017-10-08 12:58:28 +02:00
Bryan Gilbert
be3727a599
Improved zoom level management and enforcement
2017-10-06 20:30:06 -04:00
Michal Siedlaczek
4bac2f3e44
Initialize profiles with spellchecking turn on by default.
2017-10-06 07:58:26 -04:00
Florian Bruhin
54e5176f28
Revert "Only emit perc_changed signal when the percentage actually changed"
...
This reverts commit 1d50c2c39a
.
This breaks various end2end test relying on getting log messages for scrolling.
2017-10-06 10:16:41 +02:00
Florian Bruhin
1d50c2c39a
Only emit perc_changed signal when the percentage actually changed
...
QtWebEngine emits scrollPositionChanged a lot during smooth scrolling, and
there's no reason we need to update percentages when they didn't *actually*
change.
This reduces the updates with a single spacebar press from 6-7 to 2-3 on my
machine, which might not be enough though.
See #2233
2017-10-06 08:51:48 +02:00
Florian Bruhin
2651688ef4
Only show customized options for :config-unset completion
2017-10-05 18:40:34 +02:00
Florian Bruhin
618586f8b0
Merge branch 'config-write-py'
2017-10-05 11:30:50 +02:00
Florian Bruhin
712e4a975a
Add a test to make sure :write-config-py files actually work
2017-10-05 10:48:14 +02:00
Florian Bruhin
ade0e1bd0b
Finish ConfigPyWriter and tests
2017-10-05 10:21:31 +02:00
Florian Bruhin
231b0522ca
Refactor write_config_py
2017-10-05 09:01:33 +02:00
Florian Bruhin
8dc34cf78a
Write commented lines with :write-config-py when writing defaults
2017-10-05 08:50:41 +02:00
Anton S
91c6847e59
[review] style fixes
2017-10-05 01:49:13 +03:00
Florian Bruhin
763d035ee3
Add environment variables to skip backendproblem checks
...
This is usually a bad idea, but might be useful in some special situations.
2017-10-04 22:25:14 +02:00
Michal Siedlaczek
c5d695b59e
Remove spellcheck.enabled option.
2017-10-04 09:54:59 -04:00
Michał Siedlaczek
e20ad95666
Merge branch 'master' into spell
2017-10-04 09:47:42 -04:00
Michal Siedlaczek
6a486058c5
Review fixes
2017-10-04 09:22:35 -04:00
Florian Bruhin
36857d9250
Remove valid values for Bool from docs
2017-10-04 11:46:42 +02:00
Florian Bruhin
6fa001481d
Add some comments to generated config.py
2017-10-04 11:43:14 +02:00
Florian Bruhin
7fc5e42cca
Initial :config-write-py implementation
2017-10-04 11:14:24 +02:00
Florian Bruhin
f0c0fea281
Merge branch 'pr/3025'
2017-10-04 09:28:40 +02:00
Florian Bruhin
208b4d1cbc
Make configfiles.YamlConfig iteration deterministic
2017-10-04 08:47:10 +02:00
Florian Bruhin
42550cd2e6
Merge remote-tracking branch 'origin/pr/3048'
2017-10-04 06:47:48 +02:00
Florian Bruhin
ae4d5153b9
Add missing docstring
2017-10-04 06:47:08 +02:00
Florian Bruhin
cdf0cf56fa
Merge remote-tracking branch 'origin/pr/3056'
2017-10-04 06:45:08 +02:00
Florian Bruhin
8c660d1bf4
Add a :version command
2017-10-04 06:23:15 +02:00
Ryan Roden-Corrent
4a9e22163b
Filter keyhints based on count prefix.
...
If a count prefix is given, only hint commands that can take a count.
2017-10-03 22:15:21 -04:00
Ryan Roden-Corrent
5d787c84ea
Show keyhint even with count prefix.
...
The keyhintwidget was not showing up when a keychain was prefixed with a
count. For example, 'g' would show a keyhint but '5g' would not. Now
keyhints are shown even when a count is given.
Resolves #3045 .
2017-10-03 22:04:53 -04:00
Michal Siedlaczek
932e7a9ab9
Review fixes
2017-10-03 20:07:06 -04:00
Florian Bruhin
feaccb3083
Rename :scroll-perc to :scroll-to-perc
...
Closes #2819
2017-10-03 22:59:32 +02:00
Florian Bruhin
7f28097f55
Be explicit about constraints instead
2017-10-03 22:17:29 +02:00
Florian Bruhin
d70bdb5552
Honour --no-err-windows in more places
...
Fixes #3053
2017-10-03 21:28:55 +02:00
Florian Bruhin
6c2958b646
Set star_args_optional for :config-cycle
2017-10-03 20:49:16 +02:00
Florian Bruhin
22088d9f7b
Remove --force for :bind and config.bind(...)
...
Turns out --force is just in the way for most people, and at least for default
bindings it's easy to reset them.
Also, it makes :config-source fail when config.py contains keybindings.
Closes #3049
2017-10-03 20:43:38 +02:00
Florian Bruhin
727580d1f4
Add a :config-edit command
...
See #2794
2017-10-03 20:43:38 +02:00
Florian Bruhin
555930791f
Refactor ExternalEditor to be able to edit an existing file
2017-10-03 19:24:04 +02:00
Michael Hoang
8506e1f4f2
Add arg to run when count given for :set-cmd-text
2017-10-04 03:57:23 +11:00
Florian Bruhin
8edaad51c3
Add a :config-source command
...
See #2794
2017-10-03 16:28:11 +02:00
Florian Bruhin
ed8c3f4aa2
Add :config-clear and :config-unset
...
See #2794
2017-10-03 12:45:39 +02:00
Florian Bruhin
31f49afdb2
Fix incorrect docstring
2017-10-03 10:28:36 +02:00
Florian Bruhin
1603b15cfd
Default to NOT NULL for table constraints
...
Ideally, we'd update all existing tables to add the new constraints, but sqlite
doesn't offer an easy way to do so: https://www.sqlite.org/lang_altertable.html
Since that migration really isn't worth the effort, we only set the constraint
for new tables...
2017-10-03 10:28:36 +02:00
Florian Bruhin
b06a38ce7e
Reorder methods
...
(cherry picked from commit ba9bd292dbc43bf0ad382a1ef060c87ee651b5d7)
2017-10-03 10:28:19 +02:00
Florian Bruhin
ad867a3b90
Merge branch 'pr/3024'
2017-10-03 10:17:01 +02:00
Florian Bruhin
58bef6ba97
Regenerate docs
2017-10-03 10:16:41 +02:00
Florian Bruhin
f533e3b751
Move config toggling to :config-cycle
...
This removes :set option! and allows :config-cycle option instead.
2017-10-03 07:38:10 +02:00
Florian Bruhin
81993a70a2
Split off :config-cycle from :set
...
Before, we allowed :set to take multiple values, which often lead to confusing
error messages when a user forgot to quote the value.
Now, we instead have a dedicated :config-cycle command for that.
See #1840 , #2794
2017-10-03 07:37:55 +02:00
Michael Hoang
138ce60c1d
Add count support to buffer command
2017-10-02 23:44:04 +11:00
Florian Bruhin
5af8a95c82
Refactor SQL error handling
...
This renames SqlException to SqlError (to be more consistent with how Python
names exceptions), and adds an utility function which logs a few more useful
details about errors.
See #3004
2017-10-02 09:48:15 +02:00
Florian Bruhin
85532248fa
Merge remote-tracking branch 'origin/pr/2879'
2017-10-02 09:05:01 +02:00
Florian Bruhin
14dacbaa92
Fix typo
2017-10-02 07:49:31 +02:00
Florian Bruhin
0df4569502
Merge remote-tracking branch 'origin/pr/2847'
2017-10-02 07:49:20 +02:00
Florian Bruhin
a8fc561707
Split config commands off to their own file.
2017-10-02 07:08:30 +02:00
Florian Bruhin
a273baf8a0
Make sure :bind/unbind works properly when bindings.commands is None
...
To make this work, we should never return None when trying to get bindings to
modify.
Fixes #3026
2017-10-01 21:43:00 +02:00
Florian Bruhin
0fbd914432
Fix completion for empty config values
...
If we have an empty string in the completion, that already gets completed as ''.
If we return "", we'd have '""' in the completion.
Fixes #3027
2017-10-01 20:14:49 +02:00
Anton S
ab6bfe61b8
[osx] first step to become default browser
2017-10-01 00:39:13 +03:00
Florian Bruhin
1a381bf0a5
eslint: Report unused disables
2017-09-29 22:29:18 +02:00
Florian Bruhin
0b5af757ec
Clarify settings which need a restart
...
[ci skip]
2017-09-28 21:51:07 +02:00
Florian Bruhin
322d97c3fa
Only show warning message stack with --debug
2017-09-28 21:30:32 +02:00
Florian Bruhin
5c181a23ab
Fix default prompt color
...
The former value was interpreted as a comment in the YAML...
2017-09-28 21:24:12 +02:00
Florian Bruhin
02bcec37f4
Darken default prompt color a bit more
2017-09-28 19:20:29 +02:00
Florian Bruhin
9d963d55f5
Fix :debug-cache-stats with QtWebEngine
...
When we use --backend webengine, the QtWebKit stuff might be importable, but the
history still isn't initialized because of that.
2017-09-28 17:42:21 +02:00
Florian Bruhin
6c25e96621
Remove unused imports
2017-09-28 11:38:52 +02:00
Florian Bruhin
865fc2e0de
Handle -s argument earlier
...
This makes sure we can e.g. set software_rendering via -s
2017-09-28 10:10:14 +02:00
Florian Bruhin
6770a474c4
Force software rendering earlier
...
We need to do this before a QApplication exists
2017-09-28 09:52:56 +02:00
Florian Bruhin
35beb84e85
Fix tests and lint
2017-09-28 09:38:57 +02:00
Florian Bruhin
f077f52997
Add asserts for the backend
2017-09-28 08:57:48 +02:00
Florian Bruhin
c77cff3fcb
Also fail with DISPLAY with wayland platform plugin
...
QtWebEngine spews errors at us, and while it seems to work with Weston for some
reason (despite errors logged), it doesn't with sway.
2017-09-28 08:56:05 +02:00
Florian Bruhin
b906c862bb
Remove ipc-server from objreg
2017-09-28 08:52:32 +02:00
Florian Bruhin
ce0622e38a
Document how initialization roughly works
2017-09-28 08:41:10 +02:00
Florian Bruhin
e5958e6061
Override --backend argument from backend problem dialog
2017-09-28 08:41:10 +02:00
Florian Bruhin
defcf5394a
Move SSL backend checking to backendproblem.py
2017-09-28 08:41:10 +02:00
Florian Bruhin
fa902c5d82
Improve error dialogs when QtWebKit/QtWebEngine was not found
2017-09-28 08:41:10 +02:00
Florian Bruhin
093f34183c
Add improved checks for Nouveau/Wayland for QtWebEngine
...
Closes #2368
Closes #2932
See #2335
2017-09-28 08:41:10 +02:00
Florian Bruhin
ca4a997559
Update settings for QtWebEngine by default
...
See #2335
2017-09-28 08:41:10 +02:00
Jay Kamat
bb8d41cedc
Add indicator padding to minimumTabSizeHint
...
Previously, indicator_padding was not taken into account, causing
problems when using a indicator_padding too small
Also removed icon padding to width calculation (seemed to be overestimating)
2017-09-27 21:04:06 -04:00
Florian Bruhin
e1f3829383
Cache the completion delegate stylesheet
...
We removed various caches in b5eac744b5
but the
completion delegate stylesheet gets rendered a lot, causing things to slow down.
The rendering takes around 1ms, but it gets done ~10k times with a simple
profiling run, so that adds up quickly.
We don't use a functools.lru_cache here as the stylesheet template never
changes.
Thanks a lot to gilbertw1 for tracking this down!
See #2812 - there's probably more possible, but this should fix the performance
regression some people saw with the new config.
2017-09-27 23:16:40 +02:00
Florian Bruhin
fac322058e
Improve crashdialog result codes
2017-09-27 11:46:51 +02:00
Florian Bruhin
6573888dc6
Fix :bind completion with invalid commands
...
Now that Command doesn't validate things anymore, we can't rely on parsing to
work.
2017-09-27 11:10:25 +02:00
Florian Bruhin
fef1a65247
Fix ListOrValue.to_doc signature
2017-09-27 10:37:42 +02:00
Florian Bruhin
9607f3de59
Improve type documentation of settings
...
Use .get_name() for the docs
2017-09-27 08:25:52 +02:00
Florian Bruhin
c694bff902
Allow direct values for url.start_pages and content.user_stylesheets
2017-09-27 08:21:03 +02:00
Jay Kamat
cc84c1722d
Merge remote-tracking branch 'upstream/master' into jay/remote-pintab-width
2017-09-26 18:07:10 -04:00
Jay Kamat
59c6555537
Remove the tabs.width.pinned setting
2017-09-26 18:06:23 -04:00
Florian Bruhin
2dfcf9c506
Remove unused imports
2017-09-26 21:37:20 +02:00
Florian Bruhin
b879f5e648
Slightly re-style prompts
...
See #2104
2017-09-26 21:28:01 +02:00
Florian Bruhin
6af879887f
Drop --relaxed-config
2017-09-26 20:12:21 +02:00
Florian Bruhin
8e000dfe54
Make qute://configdiff usable with the new config too
...
Closes #2983
2017-09-26 19:39:47 +02:00
Florian Bruhin
1704438777
Reintroduce crash dialogs for QtWebKit
2017-09-26 19:25:53 +02:00
Florian Bruhin
6b5d34c7fb
Fix updating of stylesheet when scrolling.bar is set
...
Fixes #2981
2017-09-26 11:28:40 +02:00
Florian Bruhin
277beae399
Merge branch 'pr/2984'
2017-09-26 08:48:45 +02:00
Florian Bruhin
38449e3e2b
Make sure the autoconfig.yml is saved periodically
...
Fixes #2982
2017-09-26 06:41:55 +02:00
Florian Bruhin
38038df703
Compare objects with :set with multiple values
2017-09-25 21:24:12 +02:00
Florian Bruhin
6aed6bca93
Make loading autoconfig.yml opt-in when a config.py exists
...
This lets the user control the precedence those files should have, and also
simplifies the code quite a bit.
Fixes #2975
2017-09-25 21:24:12 +02:00
Ian Walker
ad2bb45446
Allow user to cancel proxy authentication request
2017-09-25 15:00:17 +09:00
Ian Walker
78bddaefe6
Move _on_proxy_authentication_required to WebEngineTab
2017-09-25 14:47:54 +09:00
Florian Bruhin
07862ce52e
Merge branch 'pr/3029'
2017-09-25 06:57:02 +02:00
Florian Bruhin
8408d6ed9b
Fix emacs syntax highlighting in configdata.yml
2017-09-25 06:56:33 +02:00
Florian Bruhin
40f0f75ad5
Improve error message for duplicate keys in config.py
2017-09-24 19:43:30 +02:00
arza
cb68e4b6b2
Remove extra backslashes in configdata.yml
2017-09-23 22:58:30 +03:00
arza
1784dc777d
Add table headers and widen input fields in qute://settings
2017-09-23 22:24:17 +03:00
Ryan Roden-Corrent
888a1b8c57
Append multiple history backups on import.
...
Previously, a successful import of the text history into sqlite would
move 'history' to 'history.bak'. If history.bak already existed, this
would overwrite it on unix and fail on windows.
With this patch, the most recently imported history is appended to
history.bak to avoid data loss.
Resolves #3005 .
A few other options I considered:
1. os.replace:
- fast, simple, no error on Windows
- potential data loss
2. numbered backups (.bak.1, .bak.2, ...):
- fast, no data loss, but more complex
3. append each line to the backup as it is read:
- more efficient than current patch (no need to read history twice)
- potentially duplicate data if backup fails
2017-09-23 13:06:11 -04:00
Ian Walker
e2e9bbacce
Move _on_proxy_authentication_required to WebEngineTab
2017-09-23 17:26:41 +09:00
Florian Bruhin
b8389e4496
Revert "Fix NUL byte error handling on Python 3.4"
...
This reverts commit a7d5a98cc4
.
Not needed anymore now that we dropped support.
2017-09-22 22:30:02 +02:00
Florian Bruhin
5be44756e3
Remove unused imports
2017-09-22 17:29:01 +02:00
Michal Siedlaczek
b840b8066b
Spell only when pyqt>=5.8
2017-09-22 11:16:59 -04:00
Florian Bruhin
1e2015be65
Make bindings win over mappings
...
Fixes #2995
2017-09-22 17:13:17 +02:00
Florian Bruhin
d5a1fff637
Move init stuff from config.py to configinit.py
...
Closes #2997
2017-09-22 14:11:54 +02:00
Florian Bruhin
d1a4a028cd
Use more idiomatic comparison
2017-09-22 13:24:26 +02:00
Florian Bruhin
501764d1cb
Fix documented default values for falsey non-strings
...
Fixes #3015 .
2017-09-22 13:18:27 +02:00
Florian Bruhin
7f8ae531aa
Add config.configdir and config.datadir to config API.
...
Fixes #1419
2017-09-22 09:59:46 +02:00
Florian Bruhin
9b22480b07
Raise config.py errors happening in tests
2017-09-22 09:09:45 +02:00
Jay Kamat
43ce10efc3
Simplify and reorganize configfile tests
...
Also make save/load of sys.path a little more robust
2017-09-22 02:05:55 -04:00
Jay Kamat
4e22b4666d
Convert save-restore of sys to a context-manager
...
Also improve and simplify tests for save/load of sys.module and sys.path
2017-09-22 02:05:55 -04:00
Jay Kamat
7ddde334da
Add tests for module/path isolation
2017-09-22 02:05:55 -04:00
Jay Kamat
333c0d848b
Restructure save/load of state to be more extensible
...
Also save/load sys.modules as well
- This is a little rough, but I can't find a better way...
2017-09-22 02:05:54 -04:00
Jay Kamat
0332dce458
Get config path from config.py location, rather than standarddir
2017-09-22 02:05:54 -04:00
Jay Kamat
a2952e13a8
Add qutebrowser config directory to python path
...
This is done so config.py can import other python files in the config
directory. For example, config.py can 'import theme' which would load
a theme.py.
The previous path is restored at the end of this function, to avoid
tainting qutebrowser's path
2017-09-22 02:05:52 -04:00
Florian Bruhin
f4017eb5b6
Ignore more Python warnings when importing in earlyinit
...
With a17c4767d6
we moved the first time
pkg_resources is imported to earlyinit.py, which means less warnings were
suppressed.
Fixes #2990
2017-09-21 23:24:22 +02:00
Florian Bruhin
599a5b9648
Remove windows/pip instructions from earlyinit
...
Windows: The instructions are outdated and not really relevant anymore with the
standalone packages;
pip: Let's recommend tox/virtualenv by just linking to the install docs.
Closes #2998
2017-09-21 22:48:15 +02:00
Florian Bruhin
1c76a51c1e
Improve configtypes.Command docs
2017-09-21 22:31:11 +02:00
Michal Siedlaczek
396f82d474
Valid dictionaries
2017-09-21 16:30:58 -04:00
Florian Bruhin
64b783d9c0
Do not validate commands in the config and with :bind
...
There are just way too many gotchas related to valid modes, aliases, and
circular dependencies when validating aliases/bindings in the config.
Let's just remove this and let invalid commands fail late, when they're actually
used.
2017-09-21 22:30:48 +02:00
Florian Bruhin
f97f427100
Add an assertion for Completer._partition
2017-09-21 21:50:33 +02:00
Michal Siedlaczek
9e620ce6e9
Fix spell with new config
2017-09-21 12:09:55 -04:00
Florian Bruhin
7cad8f41f2
Remove unknown YAML data from config
...
I considered introducing another list of deleted options (or a "deleted: True"
in configdata.yml), similar to what we had with the old config.
However, let's take the easier route and just delete everything we don't know
from configdata.yml. If someone edits it by hand, it's their fault :P
See #2772 , #2847
2017-09-21 16:29:40 +02:00
Michal Siedlaczek
132b1f705e
Revert requirements changes
2017-09-21 09:56:38 -04:00
Michal Siedlaczek
329cfa5756
End2end tests for spell checking
2017-09-21 09:56:33 -04:00
Michal Siedlaczek
cf229cb9c8
Dictionary path bug fix & added warning whenever a selected dictionary isn't installed
2017-09-21 09:56:27 -04:00
Michal Siedlaczek
e61e6b124e
Check if spelling supported by QWebEngineProfile (version 5.8 or higher)
2017-09-21 09:56:27 -04:00
Michal Siedlaczek
95592770a7
Fixing test dependencies and other test issues
2017-09-21 09:53:51 -04:00
Michal Siedlaczek
fac0e44a7e
Test all available languages and getting installed langs when the dir doesn't exist
2017-09-21 09:52:31 -04:00
Michal Siedlaczek
82433e04ad
Set default value for spelling settings and limit number of installed languages for testing
2017-09-21 09:52:09 -04:00
Michal Siedlaczek
d923ab9ae5
Moved and renamed the language list file
2017-09-21 09:51:52 -04:00
Michal Siedlaczek
c2197102a3
Enable spell checking and installing dictionaries for QtWebEngine
2017-09-21 09:51:52 -04:00
Florian Bruhin
a559477028
Merge remote-tracking branch 'origin/pr/2953'
2017-09-21 13:43:01 +02:00
Florian Bruhin
53b1ffe953
Merge remote-tracking branch 'origin/pr/2965'
2017-09-21 09:12:56 +02:00
Florian Bruhin
fb33985f07
Merge remote-tracking branch 'origin/pr/2992'
2017-09-21 09:12:03 +02:00
Florian Bruhin
106edc953a
Merge branch 'is-os'
2017-09-21 08:57:32 +02:00
Jay Kamat
d5c2f2855a
Clean up pinned_tab width implementation
...
Misc fixes from PR
2017-09-20 20:48:48 -04:00
Jay Kamat
e49aa35c75
Remove pinned_width variables
...
Now it calculates the number of pinned tabs directly, instead of
keeping track of a variable. Potentially slower though.
2017-09-20 11:31:05 -04:00
Jay Kamat
da57d21f0c
Remove pinned-width from config
2017-09-20 11:31:05 -04:00
Jay Kamat
b46f116075
Switch pinned tabs to use their title width
...
Previously, their width was determined by a config setting
Closes #2845
2017-09-20 11:31:03 -04:00
Florian Bruhin
9d360f80cf
Use __attrs_post_init__ to validate ArgInfo
...
This makes qutebrowser compatible with attrs < 17.1.0, such as attrs 16.3.0
coming with Debian Stretch.
2017-09-20 17:27:28 +02:00
Penaz91
6132a3d7ca
Made _handle_auto_insert_mode public
2017-09-20 15:52:07 +02:00
Penaz91
7f03b0d0d5
Deleted a commented-out line
2017-09-20 13:37:40 +02:00
Penaz91
ccba76f757
Fix for Issue #2879
2017-09-20 13:31:44 +02:00
Ryan Roden-Corrent
5cd00f699e
Resolve KeyError when deleting URL with space.
...
Resolves #2963 .
2017-09-20 07:15:59 -04:00
Ryan Roden-Corrent
f9440b8026
Use CommandParser for configmodel.bind.
...
The parsing bind() did manually is now available through CommandParser.
Resolves #2952 .
This also adds a unit test for the case when there is no current
binding, as I broke that while working on this and there was no test to
catch it :)
2017-09-20 07:05:38 -04:00
Florian Bruhin
ef1c83862b
Use utils.is_* for platform checks everywhere
2017-09-20 11:10:24 +02:00
Florian Bruhin
e4594bd688
Use attributes for utils.is_*
2017-09-20 11:10:23 +02:00
Florian Bruhin
9ddc59e8e5
Also add utils.is_posix()
2017-09-20 11:10:23 +02:00
Florian Bruhin
e50ab3f72c
Merge remote-tracking branch 'origin/pr/2972'
2017-09-20 10:08:08 +02:00
Felix Van der Jeugt
285b534384
make changed dirty and save on duplicate write
2017-09-20 10:04:34 +02:00
Florian Bruhin
31bd4d7ffe
Make sure ProxyId is hashable
...
Fixes proxy auth with QtWebEngine
2017-09-20 09:30:58 +02:00
Florian Bruhin
10c84dfb90
Use unpacking to access config mutables
2017-09-20 08:52:11 +02:00
Florian Bruhin
55cbb39127
Merge remote-tracking branch 'origin/pr/2999'
2017-09-20 08:48:22 +02:00
Florian Bruhin
50b19462f4
Bring back accidentally deleted hunk
2017-09-20 08:17:04 +02:00
Florian Bruhin
ba1cf06be6
Reintroduce handling for typing.Union.__union_params__
...
Looks like Python 3.5.2 doesn't have typing.Union.__args__.
2017-09-20 08:17:04 +02:00
Florian Bruhin
1d2d31d0f9
Remove duplicate key mapping
2017-09-20 08:17:04 +02:00
Ian Walker
a3456c41e4
Mark url argument as unused
2017-09-20 12:51:38 +09:00
Ryan Farley
dd4294de03
fix #2979 : use dictionary for mutable tracking
...
Using a dictionary instead of a list keeps only one working copy,
allowing consistency in between calls of update_mutables()
2017-09-19 16:26:02 -05:00
Florian Bruhin
3a5241b642
Start using attrs
...
Closes #1073
2017-09-19 22:21:45 +02:00
Ryan Farley
a530b0cc95
fixed iteration
2017-09-19 14:19:28 -05:00
Ryan Farley
cc540bb166
Merge branch 'master' into mutable-dict
2017-09-19 14:07:46 -05:00
Felix Van der Jeugt
8e14d1b7e6
remove unused import
2017-09-19 17:47:38 +02:00
Felix Van der Jeugt
8db630d358
don't copy values but set dirty
2017-09-19 17:26:03 +02:00
Felix Van der Jeugt
7b192d426e
add unit test and fix issues with it
2017-09-19 15:30:28 +02:00
Felix Van der Jeugt
0e743f0e09
save only a changed autoconfig file
2017-09-19 14:33:34 +02:00
Florian Bruhin
1a1a6ebf79
Improve bind documentation
...
[ci skip]
2017-09-19 13:56:29 +02:00
Florian Bruhin
248afde21e
configapi: Also allow mode as posarg
2017-09-19 13:18:44 +02:00
Florian Bruhin
7d1549aaeb
Make mode optionally in ConfigAPI.bind and .unbind
2017-09-19 13:14:41 +02:00
Florian Bruhin
40b26d7492
Always require QtOpenGL
...
It makes it a bit easier to explain things, and it makes the transition to
QtWebEngine smoother.
2017-09-19 08:16:26 +02:00
Florian Bruhin
43ff79be0b
Merge branch 'drop-legacy'
2017-09-18 23:07:58 +02:00
Florian Bruhin
8ae87bbde2
Remove typing module from version.py
...
It comes with python now
2017-09-18 23:06:49 +02:00
Florian Bruhin
b1b6c462c1
Add a backend setting
...
See #2589
2017-09-18 23:02:08 +02:00
Florian Bruhin
61e183d9bb
Fix indent
2017-09-18 23:01:18 +02:00
Florian Bruhin
cd701e95fa
Reintroduce __hash__ for CertificateErrorWrapper
2017-09-18 23:01:18 +02:00
Florian Bruhin
5c0ebc1f94
Fix lint
2017-09-18 23:01:18 +02:00
Florian Bruhin
3772dc5930
Drop legacy QtWebKit support
...
See #2742
2017-09-18 23:01:17 +02:00
Florian Bruhin
3e70bf5af9
Make sure we never compare against an uninit'ed backend
2017-09-18 23:01:17 +02:00
Florian Bruhin
5298d14084
Move backend initialization to config.py
2017-09-18 23:01:17 +02:00
Florian Bruhin
01da144a03
Revert ipc.py socket opts handling
2017-09-18 23:01:17 +02:00
Florian Bruhin
a17c4767d6
Check libraries before Qt version
...
Importing qtutils for version_check needs pkg_resources, so we need to check
that's available earlier.
Also, import pkg_resources also shows warnings on older setuptools versions
because of invalid escapes, so we need to import it with warnings suppressed.
2017-09-18 23:01:17 +02:00
Florian Bruhin
db807a1bbc
Reintroduce downloadview workaround
...
This still seems to be an issue on AppVeyor
2017-09-18 23:01:17 +02:00
Florian Bruhin
cf07bfc5c5
Make sure the :set-cmd-text command is registered
2017-09-18 23:01:17 +02:00
Florian Bruhin
505321c336
Drop support for Python 3.4
...
See #2742
2017-09-18 23:01:17 +02:00
Florian Bruhin
852baaa8c3
Drop support for Qt < 5.7.1
...
See #2742
2017-09-18 23:01:17 +02:00
Florian Bruhin
ee4d92364e
Fix off-by-one issue for odd/even tabs
2017-09-18 14:29:14 +02:00
Ian Walker
9867200c38
Change username/password prompt for proxyAuthenticationRequired
...
Update webview.py to more closely follow the webkit/networkmanager.py
on_proxy_authentication_required().
2017-09-18 15:55:44 +09:00
Florian Bruhin
8e2b2d113b
Improve explanations for dicts in the config
2017-09-18 06:25:39 +02:00
Ryan Farley
c6ea0f8372
Use dictionary for configuration mutable storage
...
Includes a test for persistence of intermediate mutations in a
configuration file (i.e. more than one update) and a switch of the
_mutable attribute in configurations to a dictionary of (old, new)
values rather than (name, old, new). get_obj() now checks for an
existing mutable value and returns a reference to that value, only
making an initial copy; this preserves changes between update_mutables()
2017-09-17 16:07:52 -05:00
Florian Bruhin
66e4c3286a
Fix lint
2017-09-17 22:53:32 +02:00
Florian Bruhin
fe05947b54
Add a new qt_args setting
...
See #2589
2017-09-17 22:53:27 +02:00
Florian Bruhin
34042522f1
Set default hints font in pt and not px
2017-09-17 22:13:13 +02:00
Florian Bruhin
2398a58526
Fix more file move issues
2017-09-17 21:54:42 +02:00
Florian Bruhin
4c616a5733
Move all documentation files to doc/
2017-09-17 21:27:38 +02:00
Florian Bruhin
3e0ca5d94d
Stop using objreg for state-config
2017-09-17 21:04:34 +02:00
Florian Bruhin
70b8585e95
Move qtutils.unset_organization to standarddir
2017-09-17 20:44:08 +02:00
Florian Bruhin
6f1b8bd1d9
Make sure the config is available before the QApplication
...
See #2589
2017-09-17 20:06:35 +02:00
Florian Bruhin
e4d05e3fec
Log error information when config init fails
2017-09-17 14:13:36 +02:00
Florian Bruhin
f85f4630ff
Turn off SQL history writing during end2end tests
...
This hopefully makes them a bit faster, and also should help with weird hangs we
had in tests.
2017-09-17 10:58:30 +02:00
Florian Bruhin
7ed64efa08
Fix standarddir.cache() on Windows
2017-09-17 10:35:05 +02:00
Florian Bruhin
df9726a152
Fix standarddir without AppDataLocation
2017-09-17 09:49:06 +02:00
Lakshay Kalbhor
813a7b2c3a
Removed if statements
2017-09-17 10:56:53 +05:30
Lakshay Kalbhor
476ca6d42f
Added 'startswith()' to each OS
2017-09-17 10:27:21 +05:30
Florian Bruhin
9706dcbda5
Fix lint
2017-09-16 23:48:02 +02:00
Florian Bruhin
a1fa40f067
Remove the ability to migrate old QtWebEngine data
...
Versions before v0.9.0 (which didn't even support hinting with QtWebEngine!)
used to write QtWebEngine data to:
~/.local/share/qutebrowser/qutebrowser/QtWebEngine/Default
~/.cache/qutebrowser/qutebrowser/QtWebEngine/Default
In v0.9.0 this was changed to:
~/.local/share/qutebrowser/webengine
~/.cache/qutebrowser/webengine
Now we don't try to migrate data from the old location anymore.
2017-09-16 23:48:02 +02:00
Florian Bruhin
a85e19a5e1
Add initial support for early standarddir init
...
See #2589 , #2791
2017-09-16 23:47:22 +02:00
Florian Bruhin
046a16f924
Bind <Ctrl-Shift-N> and <Ctrl-Shift-W> by default
...
See #2954
2017-09-16 22:22:36 +02:00
Lakshay Kalbhor
c5ceb6b880
Added functions to check OS/Platform
2017-09-16 19:23:05 +05:30
Florian Bruhin
0ae1f5909d
Strip the old text for configdiff
...
This means we don't report an unneeded whitespace hunk anymore.
2017-09-16 14:41:37 +02:00
Florian Bruhin
2afd7549bc
Encode Unicode in old config as escapes
...
This seems to fix #2971 .
2017-09-16 14:39:37 +02:00
Florian Bruhin
714c18db0e
Fix \b escapes in old config file
2017-09-16 14:20:08 +02:00
Florian Bruhin
3179e8c7b9
Always autoescape jinja environments unless overridden
...
We were only rendering .html files before, so the old _guess_autoescape function
had the effect of always autoescaping .render() (from a file) but never
autoescaping .from_string(). However, most places using .from_string() actually
render (Qt-)HTML via jinja, so they should escape stuff!
Now, we always autoescape, except when the caller uses the
jinja.environment.no_autoescape() context manager, which places rendering
stylesheets now do.
This impacted:
- Confirm quit texts (no HTML here)
- config.py loading errors
(where this was found because of an error containing - a <keybinding>)
- Certificate error prompts
(should be fine from what I can tell, as the only user-controllable output is
the hostname, which cannot contain HTML)
2017-09-16 10:43:59 +02:00
Florian Bruhin
337d57b940
Be more clever about missing qute://help pages
2017-09-16 10:43:59 +02:00
Ian Walker
eaa1bdcddb
Show error page when user cancels proxy authentication dialog
2017-09-16 17:13:16 +09:00
Ian Walker
9face7567c
Removed QAuthenticator import
2017-09-16 17:01:18 +09:00
Florian Bruhin
c8f3743008
Remove auto_save.config setting
...
This is not needed anymore now that we have config.load_autoconfig=False and
wasn't even read anywhere.
2017-09-15 22:22:09 +02:00
Florian Bruhin
1bcc66b5b9
Add documentation for new config
...
This also changes qute://help to show the documentation generation error if a
help page wasn't found. This way, people who pull from git but not re-generate
the documentation hopefully get the idea.
2017-09-15 22:22:09 +02:00
Florian Bruhin
4f6e085be8
Quote a completed value if it contains "
2017-09-15 22:17:38 +02:00
Florian Bruhin
a7d5a98cc4
Fix NUL byte error handling on Python 3.4
...
Looks like Python 3.4 raises TypeError and not ValueError...
2017-09-15 22:17:38 +02:00
Florian Bruhin
543bc3bcaa
Fix default :open keybindings
...
:open -i (--implicit) is now -r (--related).
2017-09-15 22:17:38 +02:00
Florian Bruhin
42039eee99
Fully remove ConfigAPI.val
2017-09-15 19:01:03 +02:00
Florian Bruhin
3be7299cb4
Fix completions for FlagList
2017-09-15 18:41:08 +02:00
Florian Bruhin
54c417391d
Add a qute://configdiff page
2017-09-15 18:26:33 +02:00
Florian Bruhin
2e8419db27
Fix lint
2017-09-15 17:24:39 +02:00
Florian Bruhin
c9625cb311
Add more tests for YAML error handling
2017-09-15 17:21:11 +02:00
Florian Bruhin
3f8817cc2d
Use blocking message boxes for config errors
2017-09-15 17:21:11 +02:00
Florian Bruhin
745ef63451
Start implementing autoconfig.yml error handling
2017-09-15 17:21:11 +02:00
Florian Bruhin
a92ffd9770
Improve NoOptionError traceback
2017-09-15 17:21:11 +02:00
Florian Bruhin
413c7ec1ac
Add config type docstrings to settings.asciidoc
2017-09-15 17:21:11 +02:00
Florian Bruhin
d7d8d191c0
Remove FIXMEs
...
backend validation: I decided not to do this, as it is quite annoying when
switching between backends.
2017-09-15 17:20:58 +02:00
Florian Bruhin
e87a782411
Move command-history init to cmdhistory.py
2017-09-15 14:27:15 +02:00
Florian Bruhin
ee5dd7fad2
Remove interpolation FIXME and DEFAULT_FONT_SIZE
...
This is just not going to happen, and with the new config we have no good way of
supporting a DEFAULT_FONT_SIZE.
2017-09-15 14:11:10 +02:00
Florian Bruhin
e0621c6eda
Fix initializing without a config.py
2017-09-15 14:08:37 +02:00
Florian Bruhin
7c39600508
Change default bindings for Up/Down in command mode
...
Those now look at the history again.
Looking at the behavior in different applications:
- vim: History
- spacemacs: Completion if open, else history
- luakit: Completion if open, else history
- dwb: Always completion (has no history?)
- vimb: Nothing if completion open, else history
- vimperator: Always history
So this is consistent with at least some of them - the much more important
factor is that <Tab> is probably intuitively easy to discover if up/down doesn't
do what's expected, but <ctrl-p>/<ctrl-n> are not.
2017-09-15 14:08:37 +02:00
Florian Bruhin
f406e8d9ca
Remove config.val support for config.py
2017-09-15 14:08:37 +02:00
Florian Bruhin
bb648b62f3
Make sure we honour config_api.load_autoconfig even with errors
...
We don't raise ConfigFileErrors inside read_config_py so we can get back the
config_api object. Instead we raise it in config.init().
2017-09-15 12:07:54 +02:00
Florian Bruhin
5efce10c2c
Add initial tests for config.py error handling
2017-09-15 12:07:54 +02:00
Florian Bruhin
bbffda669a
Fix lint
2017-09-15 12:07:54 +02:00
Florian Bruhin
c031a7ab3d
Fix another Python 3.4 circular import
2017-09-15 12:07:54 +02:00
Florian Bruhin
b8fb88f4c2
Improve config error handling
...
- Errors are now combined if possible
- Rich text output in message boxes
- ConfigContainer errors are collected properly
2017-09-15 12:07:54 +02:00
Ian Walker
506ee571b1
Add handler for proxyAuthenticationRequired()
2017-09-15 08:36:59 +09:00
Florian Bruhin
490de32b49
Initial attempt at error handling for config.py
2017-09-14 21:51:29 +02:00
Florian Bruhin
b3734b151b
Handle mutations in config.py correctly
2017-09-14 17:38:33 +02:00
Florian Bruhin
cb806aefa3
Initial config.py support
...
See #2795
2017-09-14 17:38:33 +02:00
Florian Bruhin
6618c3a6e8
Don't use shlex for configtypes.ShellCommand
...
We accidentally did show the command as a list in to_str(). However, after
correcting that to use shlex.escape, we got ugly qutebrowser command lines
when tabbing to the default value, because of how shlex handles double-escaping:
>>> print(shlex.quote("gvim -f '{}'"))
'gvim -f '"'"'{}'"'"''
While in this case, outputting "gvim -f '{}'" would be much more appropriate, it
doesn't look like we can teach shlex.quote to do that.
Instead, we now only accept a list as input for ShellCommand, at the price that
the user needs to do
:set editor.command '["gvim", "-f", "{}"]'
instead of
:set editor.command 'gvim -f {}'
Fixes #2962 .
2017-09-14 14:44:24 +02:00
Florian Bruhin
12260e068a
Don't move cache directory on Windows
2017-09-14 13:35:42 +02:00
Florian Bruhin
0de7b2eb83
Skip standarddir migrations when a basedir is given
2017-09-14 00:37:54 +02:00
Florian Bruhin
3dc67df180
Fix minor standarddir migration issues
2017-09-14 00:37:54 +02:00
Florian Bruhin
cee51df4fb
Refactor JS log handling and use a dict for javascript.log
...
Fixes #2828
2017-09-14 00:37:01 +02:00
Florian Bruhin
1fc9817cd4
Remove support for ambiguous keybindings
2017-09-14 00:37:01 +02:00
Florian Bruhin
bf9d401198
Reorder statusbar settings in configdata.yml
2017-09-13 21:32:36 +02:00
Florian Bruhin
13f49738d7
Fix typo in content.user_stylesheets
2017-09-13 21:32:36 +02:00
Florian Bruhin
8537e92d39
Add backend: QtWebKit for hints.find_implementation
2017-09-13 21:32:36 +02:00
Florian Bruhin
9d95dec5ea
Handle standarddir.config() correctly on macOS
...
With auto=False we should get ~/.qutebrowser
2017-09-13 21:32:36 +02:00
Florian Bruhin
718dd21573
Handle auto-config location properly with --basedir
2017-09-13 21:32:36 +02:00
Florian Bruhin
f7d17c4c55
Allow existing empty dir when migrating files
...
Remove old empty directory if it exists - otherwise, we move old/data to
new/data/data.
2017-09-13 21:32:22 +02:00
Florian Bruhin
2a9441dfbf
Make moving data in standarddir more generic
2017-09-13 21:32:22 +02:00
Florian Bruhin
8c4bc76de6
Stabilize hint test which failed on macOS
2017-09-13 17:26:56 +02:00
Florian Bruhin
ad2598b475
Add initial support for standarddir.config(auto=True)
...
This doesn't actually migrate things yet.
See #2791 , #383 .
2017-09-13 17:26:56 +02:00
Florian Bruhin
a2f16dbecd
Merge standarddir.system_data() into standarddir.data(system=True)
...
See #2791
2017-09-13 17:26:56 +02:00
Florian Bruhin
2d500d4efa
Also don't create ~/Downloads in standarddir.downloads()
...
This means we need to create it in downloads.py instead.
Fixes #2418
2017-09-13 17:26:56 +02:00
Florian Bruhin
91f5e72f02
Remove download dir from path info
...
This always returns the default Qt path (e.g. ~/Downloads) and also creates it
each time.
See #2418
2017-09-13 17:26:56 +02:00
Florian Bruhin
1fe1cd45f5
Remove dead code
...
This code is not called/needed anymore with the changes done in the new-config
branch.
2017-09-13 17:26:56 +02:00
Florian Bruhin
56bbd73622
Introduce standarddir caching
...
This makes things a bit more complicated, but is needed to make standarddir (and
thus the config) work without a QApplication.
2017-09-13 17:26:56 +02:00
Florian Bruhin
b04a233e8d
Adjust :unbind signature to match :bind
2017-09-12 22:51:52 +02:00
Florian Bruhin
f70c5968a9
Improve documentation for command modes
2017-09-12 22:12:37 +02:00
Florian Bruhin
07079664a6
Don't use alias in default binding
...
See #2957
2017-09-12 22:12:37 +02:00
Florian Bruhin
fe8ffcc5c3
Quote default xos4 Terminus font properly
2017-09-11 21:50:35 +02:00
Florian Bruhin
f6a0500bd3
Merge branch 'master' into new-config
...
This pulls the travis changes to drop the old Qt 5.2 environment.
2017-09-11 18:39:41 +02:00
Florian Bruhin
b4f30f6df2
Move coverage to QtWebEngine environment with PyPI-PyQt
2017-09-11 18:30:23 +02:00
Florian Bruhin
1d66aacb36
Remove old :wq handler
2017-09-09 11:05:15 +02:00
Florian Bruhin
a283a1bb65
Merge branch 'master' into new-config
2017-09-09 10:52:02 +02:00
Ryan Roden-Corrent
a8b0a42791
Remove extra blank line from utilcmds
2017-09-08 08:00:29 -04:00
Ryan Roden-Corrent
deb6cccff9
Fix merge resolution in messageview.
...
Remove a line that was acidentally re-added while merging master into
new-config.
2017-09-07 12:08:26 -04:00
Ryan Roden-Corrent
a6d14ad7dc
Fix two new-config/master merge resolutions.
...
Remove icon from jinja.render call (removed in master).
Add 'When the unwritable dir is unwritable' to download feature file.
2017-09-07 08:58:55 -04:00
Ryan Roden-Corrent
607c64742c
Fix configmodel nitpicks
2017-09-07 08:56:11 -04:00
Ryan Roden-Corrent
f0509d1c26
Fix web_history_max_items default value.
...
Should default to -1, not 1000 as the new history completion is better
able to handle large numbers of entries. I believe this was acidentally
reset to 1000 while fixing a merge conflict.
Also re-run src2asciidoc.
2017-09-07 08:45:05 -04:00
Ryan Roden-Corrent
aec736439c
Restore history cache stats.
...
Acidentally removed in merge.
2017-09-07 07:32:51 -04:00
Ryan Roden-Corrent
3726502017
Fix bad merge from master to newconfig.
2017-09-05 07:44:36 -04:00
Ryan Roden-Corrent
0d78c72018
Remove config dependency from get_cmd_completions.
...
In order to really resolve the python3.4 circular import, this should
take the completion info as an argument and not depend on the config
module.
2017-09-04 15:00:35 -04:00
Ryan Roden-Corrent
3bfa01f0d0
Pass CompletionInfo to completion functions.
...
In python3.4, there is a circular dependency between the config module
and configmodel.bind. This is resolved by dependency injection. The
config/keyconfig instances are embedded in a struct passed to every
completion function, so the functions no longer depend on the modules.
This will also enable completion functions to access other previously
inaccessible info, such as the window id.
See #2814 .
2017-09-04 14:01:48 -04:00
Florian Bruhin
1938520878
eslint: Turn off function-paren-newline
2017-09-04 15:48:33 +02:00
Florian Bruhin
79d3c49f26
Merge pull request #2909 from jgkamat/jay/fix-2900
...
Fix saving a session with --only-active-window
2017-08-28 07:58:25 +02:00
Florian Bruhin
25780eb2bc
Merge pull request #2905 from rcorre/urlencode
...
Consistently format urls in history.
2017-08-28 07:56:45 +02:00
Ryan Roden-Corrent
37ba256900
Ensure web-history-max-items has int64 as maxval.
...
See #2779 .
2017-08-27 22:29:01 -04:00
Ryan Roden-Corrent
d2d55531e6
Remove double-registration of proxy factory.
...
Due to a bad merge, proxy.init() was called twice.
2017-08-27 22:27:34 -04:00
Ryan Roden-Corrent
b89caf0458
Use REPLACE when rebuilding completion table.
...
When upgrading from an old table that used different url formatting, two
entries might map to the same key, so we'll need to replace the previous
entry to avoid a primary key conflict.
2017-08-23 21:26:27 -04:00
Ryan Roden-Corrent
d35b47c9d8
Regenerate history completion on version change.
...
Incrementing _USER_VERSION in the source will cause the
HistoryCompletion table to regenerate when users update.
This is currently necessary to support some recent formatting fixes, but
could be incremented again in the future for other changes.
2017-08-21 08:45:40 -04:00
Ryan Roden-Corrent
111846a909
Merge remote-tracking branch 'upstream/master' into configmerge
2017-08-20 21:18:47 -04:00
Ryan Roden-Corrent
b5a6583559
Fix pylint/flake8/vulture errors.
2017-08-20 21:12:38 -04:00
Ryan Roden-Corrent
90c49b3fe7
Move bind completion to configmodels.
...
When in miscmodels, the config module was unable to find the function.
It appears to be some sort of circular import issue:
```
File "/home/rcorre/projects/contrib/qutebrowser/qutebrowser/app.py", line 44, in <module>
from qutebrowser.completion.models import miscmodels
File "/home/rcorre/projects/contrib/qutebrowser/qutebrowser/completion/models/miscmodels.py", line 24, in <module>
from qutebrowser.completion.models import completionmodel, listcategory, util
File "/home/rcorre/projects/contrib/qutebrowser/qutebrowser/completion/models/util.py", line 24, in <module>
from qutebrowser.config import config
File "/home/rcorre/projects/contrib/qutebrowser/qutebrowser/config/config.py", line 223, in <module>
class ConfigCommands:
File "/home/rcorre/projects/contrib/qutebrowser/qutebrowser/config/config.py", line 314, in ConfigCommands
@cmdutils.argument('command', completion=miscmodels.bind)
AttributeError: module 'qutebrowser.completion.models.miscmodels' has no attribute 'bind'
```
As configmodel imports util (and thereby config as well) it is unclear
to me why moving bind() to configmodel actually fixes this, but it does.
2017-08-20 21:12:38 -04:00
Ryan Roden-Corrent
0286e9ddf2
Fix completion tests after config merge.
2017-08-20 21:12:38 -04:00
Ryan Roden-Corrent
5f45b9b40e
Fix pylint and coverage for history.
2017-08-20 20:59:48 -04:00
Ryan Roden-Corrent
8c6133e29d
Regenerate history completion table if needed.
...
If the HistoryCompletion table is removed, regenerate it from the
History table. This allows users to manually edit History, then remove
HistoryCompletion to prompt regeneration.
See #2903 .
2017-08-18 07:39:36 -04:00
Ryan Roden-Corrent
c607537319
Consistently format urls in history.
...
Encode urls that are inserted into the history, but do not encode urls
for completion (other than removing passwords).
Also ensure that urls read from the history text file are formatted
consistenly with those added while browsing.
Fixes #2903 .
2017-08-14 21:37:43 -04:00
cryzed
085d1e9c10
:save-session --only-active-window implies --with-private for private windows
2017-08-14 00:30:45 +02:00
cryzed
6ef53c814c
Expand ~ to user's home on Linux
2017-08-13 02:34:50 +02:00
Ryan Roden-Corrent
5ea420b49b
Fix startup crashes after config merge.
...
Get qutebrowser to the point where it can at least start
- Declare _messages earlier in MessageView.__init__ so it is set before
the config trigger tries to access it.
- Remove unused configmodel completion functions
- Move bind completion to configmodel to avoid a circular import with
the config module
- Fix some config accesses (forgot to use .val)
- Fix old Completion.CompletionKind references
2017-08-09 07:28:22 -04:00
Florian Bruhin
3a2d64ba46
version.distribution(): Handle Funtoo
2017-08-08 20:19:33 +02:00
Florian Bruhin
a20f017c7a
Sort sessions in SessionMnager.list_sessions()
2017-08-08 07:56:10 +02:00
Ryan Roden-Corrent
71b71dbc58
Merge remote-tracking branch 'upstream/master' into HEAD
2017-08-06 18:13:49 -04:00
Ryan Roden-Corrent
6e025c1bb0
Don't perform alphabetical sort in listcategory.
...
Instead, expect the data to be given in the desired order. Completion
functions should sort their data _if_ they want it sorted in the
completion. This has a few implications:
- {book,quick}marks appear in the same order they do in the text file.
This means users can rearrange their mark files for custom sorting.
Fixes #2354
- Sessions are sorted as they appear in the session manager
- Tabs are sorted numerically, not alphabetically (Fixes #2883 )
Note that prefix-based filter sorting is still performed, so items
starting with the filter pattern come first.
2017-08-06 10:00:18 -04:00
Florian Bruhin
49b858e359
Add more variants of fake apple URL to ignored ones
2017-08-01 16:00:53 +02:00
Florian Bruhin
695769d1b4
Merge pull request #2875 from rcorre/obsolete-signals
...
Remove obsolete signals.
2017-07-29 20:30:25 +02:00
Florian Bruhin
ba92ea9fb4
Merge pull request #2873 from rcorre/completion-del-marks
...
Support delete from :{quick,book}mark-load.
2017-07-29 19:27:25 +02:00
Ryan Roden-Corrent
8e34b54cd7
Remove obsolete signals.
...
The added/removed signals for the urlmark managers are no longer used as
the completion models are generated on-the-fly. The changed signal is
still needed so the save-manager knows when to trigger a write to disk.
Also removes session_manager.update_completion, which is no longer
needed for the same reason as above.
keyconf.changed cannot be removed, as it is still wired up to
basekeyparser.
Resolves #2874 .
2017-07-29 13:09:10 -04:00
Ryan Roden-Corrent
1ab7bb83cc
Support delete from :{quick,book}mark-load.
...
Pressing ctrl-d in the completion menu for
:quickmark-load/:bookmark-load will now delete the selected
quickmark/bookmark.
Resolves #2840 .
2017-07-29 12:49:20 -04:00
Ryan Roden-Corrent
c6cb6ccd07
Fix fetch/delete sql category bug.
...
Fixes #2868 , where pressing <shift-tab> then <ctrl-d> in history
completion (with > 256 items) would cause later items to disappear (and
cause a crash if you try to delete again).
Cause:
Scrolling to the bottom would fetch an additional 256 items (in addition
to the 256 that are fetched at first). Deleting causes the query to
re-run, but it only fetches the initial 256 items, so the current index
is now invalid.
Fix:
After deleting from the history category, call fetchMore until it has
enough rows populated that the current index is valid.
2017-07-28 09:07:30 -04:00
Florian Bruhin
8f63bb1edc
Merge pull request #2853 from rcorre/fix-completionview
...
Expand history completion results if on last index.
2017-07-27 12:31:01 +02:00
Florian Bruhin
629f6a6876
Remove unused import
2017-07-27 09:56:34 +02:00
Florian Bruhin
a942613d7f
Use ctypes instead of PyOpenGL for QtWebEngine Nvidia workaround
...
Fixes #2821
2017-07-27 09:22:12 +02:00
Ryan Roden-Corrent
32fa1ff1e9
Expand history completion results if on last index.
...
When tabbing to the last index of history completion, call expandAll
which will call fetchMore to retrieve more query results, if available.
Calling fetchMore directly will not update the view, and for some
reason self.expand(idx.parent()) and
self.expand(self.model().index(idx.row(), 0)) did not work, so I'm using
expandAll.
Fixes #2841 .
2017-07-26 07:46:12 -04:00
Ryan Roden-Corrent
1929883485
Fix bind completion for bindings with arguments.
...
When a key is bound to a command line that includes one or more
arguments to a command, bind completion should show the whole command
for the "Current" category, and use only the command name to look up the
description.
Fixes #2859 , where a crash was caused by looking up the description by
the full command text rather than just the name.
2017-07-25 12:55:44 -04:00
Florian Bruhin
5ecda25fdb
Fix renderer process test for older Qt versions
2017-07-25 17:35:42 +02:00
Florian Bruhin
792a01ba6d
Try to stabilize renderer process test
2017-07-25 16:56:38 +02:00
Florian Bruhin
3de0b15073
Delay showing the "renderer process killed" error page a bit
...
Sometimes, we get another error with "Renderer process was killed" and the data:
URL for the error page. This is probably because the renderer process wasn't
restarted yet. This hopefully helps.
2017-07-25 16:00:52 +02:00
Ryan Roden-Corrent
f09423efe5
Abort resizeEvent if model is None.
...
Some reports came in that a resizeEvent was causing a crash due to the
model being none in the CompletionView.
Fixes #2854 .
2017-07-24 08:16:14 -04:00
Florian Bruhin
df3ba278e9
Merge pull request #2852 from rcorre/fix-max-items
...
Fix web-history-max-items-crash.
2017-07-24 07:29:15 +02:00
Florian Bruhin
837ee5c626
Merge pull request #2846 from rcorre/completion-fixes
...
Completion fixes
2017-07-24 07:27:11 +02:00
Ryan Roden-Corrent
2ad4cdd729
Fix web-history-max-items-crash.
...
Fixes #2849 , where pressing 'o' with web-history-max-items set and no
history items would cause a crash as the query result is empty.
2017-07-23 21:17:22 -04:00
Ryan Roden-Corrent
ff9efe22ae
Fix unused imports and removeRow override.
...
Override removeRows instead of removeRow.
> removeRow is not virtual in C++, so if this gets called by Qt
> internally for some reason, it wouldn't use the overloaded version -
> so I think it'd be better to implement removeRows and then use
> removeRow without overloading that
- The-Compiler
2017-07-23 17:30:09 -04:00
Florian Bruhin
e402e37f12
Work around segfault when using pdb
2017-07-23 22:45:13 +02:00
Florian Bruhin
56b4989f44
Fix tests for QProcess changes
2017-07-23 22:10:50 +02:00
Florian Bruhin
a08fd0fcb1
Fix error message with :spawn -d
2017-07-23 21:38:10 +02:00
Florian Bruhin
353f86488a
Disallow :spawn -u -d
2017-07-23 21:38:10 +02:00
Ryan Roden-Corrent
00be9e3c7f
Remove obsolete TODO.
...
New aliases will now show up without a signal, as completions are
generated on-demand.
2017-07-22 18:09:10 -04:00
Ryan Roden-Corrent
b61691684e
Clear selection when setting completion pattern.
...
It doesn't make sense to have an active selection while you are
filtering by entering text. You should be in one of two states:
1. Tabbing through completions (valid selection)
2. Entering a filter pattern (invalid selection)
Fixes #2843 , where a crash would occur after the following:
1. tab to an item other than the first
2. <backspace>
3. re-type last character
4. <ctrl-d>
This would try to delete an out of range index.
2017-07-22 18:06:16 -04:00
Ryan Roden-Corrent
bc21904fef
Fix completion-item-del on undeletable item.
...
Even though no item was deleted, it was manipulating the completion
model because beginRemoveRows was called before the exception was
raised.
This fixes that problem by moving the removal logic (and delete_func
check) into the parent model, so it can check whether deletion is
possible before calling beginRemoveRows.
Fixes #2839 .
2017-07-22 17:16:35 -04:00
Florian Bruhin
a00548ec4d
Merge pull request #2827 from jgkamat/jay/fix-small-crash
...
Enforce a minimum size for non-pinned tabs
2017-07-22 22:07:31 +02:00
Jay Kamat
27dfc72012
Restructure minimum tab size behavior
2017-07-22 10:55:08 -07:00
Florian Bruhin
118a7942a5
Add maximum bound for web-history-max-items
...
sqlite can't handle values bigger than uint64_t for LIMIT.
2017-07-21 18:30:12 +02:00
Florian Bruhin
544094ba72
Use simpler way of preventing History completion
2017-07-21 17:55:47 +02:00
Florian Bruhin
6660297871
Fix new completion with web-history-max-items set to 0
...
We get no last_atime limit at all otherwise:
qutebrowser.misc.sql.SqlException: Failed to prepare query "SELECT url, title,
strftime('%Y-%m-%d', last_atime, 'unixepoch', 'localtime') FROM
CompletionHistory WHERE (url LIKE :pat escape '\' or title LIKE :pat escape '\')
AND last_atime >= ORDER BY last_atime DESC": "near "ORDER": syntax error Unable
to execute statement"
2017-07-21 17:11:38 +02:00
Florian Bruhin
fba25338be
Merge pull request #2295 from rcorre/really_complete
...
Completion refactor V3
2017-07-21 15:05:43 +02:00
Ryan Roden-Corrent
1175543ce1
Fix qutescheme timestamp error.
...
A date object doesn't have a timestamp property. Go back to using
mktime.
2017-07-20 22:07:37 -04:00
Ryan Roden-Corrent
0eb347186c
Add 'localtime' to sql history query.
...
We need to tell sqlite to convert the timestamps to localtime during
formatting, otherwise it formats them as though you are in UTC.
Also fix up a few uses of mktime.
2017-07-20 09:06:29 -04:00
Jay Kamat
8dbb61e9e3
Enforce a minimum size for non-pinned tabs
...
Closes #2826
2017-07-19 21:37:48 -07:00
Florian Bruhin
fafa063bcd
Remove unused import
2017-07-19 12:55:51 +02:00
Florian Bruhin
a26fc89f49
Simplify setting the size for background tabs
...
We can simply look at the size of the existing open tab.
2017-07-19 11:59:44 +02:00
Florian Bruhin
0f85898137
Add a config version to the YAML file
2017-07-19 08:22:00 +02:00
Florian Bruhin
4a7fe25f66
Only clear search with :search if one is displayed
...
For some reason, calling search.clear() while no search is displayed causes the
backends to un-focus inputs, and with QtWebKit, even hinting can't focus them
again after that.
2017-07-17 15:00:18 +02:00
Ryan Roden-Corrent
c32d452786
Add LIMIT to history query.
...
For performance, re-introduce web-history-max-items.
As the history query has now become a very specific multi-part query and
history completion was the only consumer of SqlCategory, SqlCategory is
now replaced by a HistoryCategory class.
2017-07-16 18:13:51 -04:00
Florian Bruhin
ee1707c4d4
Update back/forward indicator on tab switches
2017-07-16 20:20:33 +02:00
Florian Bruhin
cbf9da0b7e
Set window.navigator.languages correctly
2017-07-13 21:24:17 +02:00
Florian Bruhin
5c367e7ab2
Fix the "try again" button on error pages
...
Fixes #2810
2017-07-13 17:26:58 +02:00
Ryan Roden-Corrent
8745f80d90
Fix qute://history SQL bug.
...
The javascript history page was requesting the new start_time in ms, but
the python code was expecting seconds. This is fixed by removing all the
millisecond translations in the python code and only translating to
milliseconds in the javascript code that formats dates.
2017-07-13 08:54:21 -04:00
Florian Bruhin
71ee64a974
Merge branch 'jay/prompt-on-click' of https://github.com/jgkamat/qutebrowser
2017-07-13 11:01:04 +02:00
Jay Kamat
7dfca60893
Refactor tab_close_prompt_if_pinned
...
Now it lives in tabbedbrowser.py as method instead of a static function
2017-07-12 20:18:57 -07:00
Ryan Roden-Corrent
1aed2470e5
SQL code review.
...
- Fix flake8
- history.clear should also clear completion table
- call _resize_columns in set_model, not set_pattern
- add more unit-testing for the history completion table
2017-07-12 22:14:27 -04:00
Ryan Roden-Corrent
ea459a1eca
SQL code review fixes.
...
- Ignore invalid variable name in flake8 (pylint already checks this and
we don't want to have to double-ignore)
- Fix and test completion bug with `:set asdf `
- Remove unused import
- Use `assert not func.called` instead of `func.assert_not_called` for
backwards compatibility
2017-07-12 08:19:31 -04:00
Florian Bruhin
53620ecce4
Fix printing on macOS
...
Fixes #2798
2017-07-12 07:43:03 +02:00
Florian Bruhin
ba8083c539
Fix issues with new stylesheet cache
2017-07-11 21:59:17 +02:00
Florian Bruhin
9307cf86fa
Add a cache for rendered stylesheets
...
Otherwise, when showing hints a few times, we spend around 8-10s just in jinja
generating stylesheets.
2017-07-11 21:06:53 +02:00
Ryan Roden-Corrent
182d067ff8
SQL code review fixes.
...
- Fix comment and empty line check in _parse_entry
- connect layoutAboutToBeChanged signal
- assert sort_order is None if sort_by is None
- modify sql init failure message to ask about Qt sqlite support.
2017-07-11 08:07:48 -04:00
Florian Bruhin
c0426d3482
Merge branch 'pr/2808'
2017-07-11 09:27:08 +02:00
Florian Bruhin
882dc75536
Set default count for AbstractHistory.back/.forward
...
Otherwise, using back/forward mouse buttons will crash.
2017-07-11 08:38:06 +02:00
Florian Bruhin
f93b92cca8
adblock: Fix getting filename from URL
...
On Windows, we would end up with /C:/foo as "path".
2017-07-10 21:36:34 +02:00
Yashar Shahi
7da6908850
Check for interval being positive.
...
Check for interval being positive instead of checking for it to be
non-zero. So if somehow some unexpected thing happend and made
message-timeout negative, the bug doesn't cascade.
2017-07-10 21:14:55 +04:30
Yashar Shahi
1cb23f1193
Change timer interval after appending to _messages
2017-07-10 21:11:38 +04:30
Florian Bruhin
1f4012cc1e
Merge branch 'master' of https://github.com/iordanisg/qutebrowser
2017-07-10 18:33:46 +02:00
Florian Bruhin
135fb042da
Make settings from qute://settings persistent
2017-07-10 18:04:39 +02:00
Yashar Shahi
9574549798
Merge https://github.com/qutebrowser/qutebrowser
2017-07-10 19:58:03 +04:30
Florian Bruhin
045831f3c7
Fix coverage check
2017-07-10 16:57:26 +02:00
Yashar Shahi
cb0bd2c52d
Do not call _set_timer_interval() at constructor
...
No need to call _set_timer_interval() at constructor since it's called
every time timer is going to be started.
2017-07-10 19:21:35 +04:30
Iordanis Grigoriou
9c83ea4717
Refactor _back_forward
2017-07-10 15:58:11 +02:00
Iordanis Grigoriou
6ab49fdf1d
Move back/forward logic to AbstractHistory, fix method names
2017-07-10 15:43:35 +02:00
Yashar Shahi
3c1b05c81e
Show messages longer if there are multiple of them
2017-07-10 18:05:35 +04:30
Florian Bruhin
e81dcccace
Add a test for a None currentWidget with backforward widget
2017-07-10 09:29:45 +02:00
Florian Bruhin
5fb6cb713b
Hide back/forward widget when there's no text
2017-07-10 07:59:56 +02:00
Iordanis Grigoriou
bf074d14de
Adjust back/forward method arguments in AbstractHistory class
2017-07-10 01:00:48 +02:00
Iordanis Grigoriou
c6ed4fe4f9
Skip intermediate pages with :back/:forward and a count
2017-07-10 00:28:47 +02:00
Jay Kamat
28a2482cf7
Merge branch 'master' into jay/prompt-on-click
2017-07-09 14:17:03 -07:00
Daniel Hahler
b3a9e09d6c
Add statusline widget for back/forward indicator
...
Fixes https://github.com/qutebrowser/qutebrowser/issues/2737 .
2017-07-09 22:38:44 +02:00
Florian Bruhin
bb567a61b6
Fix ipc test coverage
2017-07-09 22:09:31 +02:00
Florian Bruhin
84c2289aa5
Merge branch 'master' of https://github.com/iordanisg/qutebrowser
2017-07-09 12:56:52 +02:00
Florian Bruhin
6a2163d36f
ipc: Remove support for connecting to legacy servers
2017-07-09 12:49:47 +02:00
Florian Bruhin
cfb169b5f0
Remove unused import
2017-07-09 12:40:16 +02:00
Florian Bruhin
9e7f2e470f
Move OpenGL workaround import
...
OpenGL.GL gets imported in earlyinit already anyways, so we can move everything
there.
2017-07-09 11:57:06 +02:00
Florian Bruhin
915cd5f016
Fix long lines
2017-07-09 11:51:22 +02:00
Florian Bruhin
fcf5158258
Recommend QT_XCB_FORCE_SOFTWARE_OPENGL
...
This won't disable OpenGL for stuff started from qutebrowser.
See #2368 .
2017-07-08 17:36:14 +02:00
Florian Bruhin
b81474d2fd
Improve earlyinit check for PyOpenGL
...
Importing OpenGL alone doesn't actually load libgl, it only checks that the
package is here. If libgl is missing, we'd later get an exception.
2017-07-08 17:33:50 +02:00
Iordanis Grigoriou
c9fd182dba
Adjust suggested_fn_from_title, add tests
2017-07-08 16:28:58 +02:00
Ryan Roden-Corrent
f9f8900fe9
More sql code review fixes.
...
- remove outdated comment
- fix sql init error message
- clean up history text import code
- fix test_history file path in coverage check
- use real web history, not stub, for completion model tests
- use qtmodeltester in sql/list_category tests
- test url encoding in history tests
- fix test_clear by using a callable mock
- remove test_debug_dump_history_oserror as the check is now the same as
for the file not existing
- rename nonempty to data in test_completionmodel
- add more delete_cur_item tests
- test empty option/value completion
2017-07-08 09:57:32 -04:00
Florian Bruhin
ad615941a2
Replace OS X with macOS
2017-07-08 11:12:43 +02:00
Florian Bruhin
0de0bbfa71
Fix :restart with private browsing mode
2017-07-08 10:46:08 +02:00
Ryan Roden-Corrent
515e82262d
Merge remote-tracking branch 'upstream/master' into really_complete
2017-07-07 20:42:21 -04:00
Florian Bruhin
f80fd2a27c
Merge branch 'pr/2782'
2017-07-07 18:38:29 +02:00
Christian Helbling
6d9e5dc931
avoid too long lines
2017-07-07 11:30:18 +02:00
Florian Bruhin
6a8d2ac826
Disable search workaround for Qt 5.9.2
2017-07-06 23:18:29 +02:00
Iordanis Grigoriou
82d194cf2e
Improve function docstring, add more tests
2017-07-06 21:37:11 +02:00
Iordanis Grigoriou
3bfafb5e50
Refactor suggested_fn_from_title, add unit tests
2017-07-06 17:41:54 +02:00
Christian Helbling
d179450c29
:fullscreen, enter video fullscreen, :fullscreen, exit video fullscreen should not go into video fullscreen
2017-07-06 15:35:52 +02:00
Ryan Roden-Corrent
1dd5f06a4f
Fix debug-dump-history behavior.
...
Ensure the file is closed before printing the success message. This will
hopefully fix the AppVeyor tests.
2017-07-06 08:02:16 -04:00
Ryan Roden-Corrent
cee0aa3adc
Show error dialog is sql isn't available.
...
If creating the sql database fails, show an error dialog assuming sqlite
is not installed.
This removes the isDriverAvailable check as it was true even with sqlite
uninstalled.
sql.version now inits itself if sql is not already initialized and
prints 'UNAVAILABLE (<error message>)' if init fails. This is to avoid
cascading errors, where one error would create a crash dialog, which
calls sql.version, which would create another error.
2017-07-06 07:36:59 -04:00
Florian Bruhin
911e59b0f4
Improve version output without SSL support
2017-07-06 12:23:08 +02:00
Iordanis Grigoriou
57e4d4978b
Use page title only for whitelisted extensions
2017-07-06 11:59:02 +02:00
Florian Bruhin
3c9de92d58
Add Gentoo instructions to backend warning
2017-07-06 00:41:06 +02:00
Florian Bruhin
a4833fcc46
Merge branch 'pr/2747'
2017-07-05 22:14:07 +02:00
Florian Bruhin
a8120a23c4
Update comment for TabBarStyle
2017-07-05 22:13:24 +02:00
Ryan Roden-Corrent
dc4472470e
Merge remote-tracking branch 'upstream/master' into really_complete
2017-07-05 08:45:57 -04:00
Christian Helbling
361251bf53
mark public attribute as public, fix debug output
2017-07-04 23:30:06 +02:00
Christian Helbling
20db65e430
preserve window state when exiting video fullscreen
2017-07-04 22:56:44 +02:00
Florian Bruhin
28410b8533
Release v0.11.0
2017-07-04 18:02:34 +02:00
Christian Helbling
7ea7a2f3fd
restore maximized state on :fullscreen and when exiting video fullscreen
2017-07-04 17:50:07 +02:00
Florian Bruhin
45b1285402
Merge pull request #2765 from jgkamat/jay/tab-crashes
...
Refactor set_tab_pinned to take a tab widget.
2017-07-04 17:24:10 +02:00
Florian Bruhin
0cdd3ff82f
Update some more references to old config options
2017-07-04 16:46:02 +02:00
Florian Bruhin
cff61fa0bc
Fix pylint
...
This also reverts commit 8df0b063be
.
2017-07-04 15:34:10 +02:00
Florian Bruhin
88b878098d
Implement pretty-printing of configtypes for the doc
...
This is also needed to make the docs environment work on Travis - as otherwise,
doc generation wasn't deterministic because of changing dict key order.
2017-07-04 15:09:23 +02:00
Florian Bruhin
397ca47efb
Fix vulture
2017-07-04 15:09:23 +02:00
Florian Bruhin
9ac2dbcc80
Disallow surrogate escapes in dicts and lists in the config
...
In Dict.to_str() and List.to_str() we use json.dump to get a value. However,
JSON includes surrogate escapes in the dumped values, which breaks round trips.
>>> yaml.load(json.dumps({'\U00010000': True}))
{'\ud800\udc00': True}
>>> yaml.load(json.dumps({'\U00010000': True}, ensure_ascii=False))
yaml.reader.ReaderError: unacceptable character #x10000: special characters are not allowed
See:
https://stackoverflow.com/a/38552626/2085149
https://news.ycombinator.com/item?id=12798032
2017-07-04 15:09:23 +02:00
Florian Bruhin
0528a800f2
Fix config things relying on dict order
2017-07-04 15:08:04 +02:00
Florian Bruhin
91cd6c6288
Fix Python 3.4 circular imports
2017-07-04 15:08:04 +02:00
Florian Bruhin
b42265212b
Update test_keyhints for new config
...
This also makes the keyhint display things sorted
2017-07-04 15:08:04 +02:00
Florian Bruhin
1663280f53
Update test_shared for new config
...
Also, make accept_language none_ok=True like it was in the old configdata.py
2017-07-04 15:08:04 +02:00
Florian Bruhin
78d7ac311f
Use fonts.monospace properly
2017-07-04 15:08:04 +02:00
Florian Bruhin
4562a3574b
Allow a list for content.user_stylesheets
2017-07-04 15:08:04 +02:00
Florian Bruhin
afb3b496e8
Add missing backend: QtWebKit for content.pdfjs
2017-07-04 15:08:04 +02:00
Florian Bruhin
a36f5bafc1
Rename content.javascript.can_*_windows to _tabs
2017-07-04 15:08:04 +02:00
Florian Bruhin
be94098597
Improve more docs
2017-07-04 15:08:04 +02:00
Florian Bruhin
5ada3606d8
Allow to not send the DNT header
2017-07-04 15:08:04 +02:00
Florian Bruhin
040be60697
Improve more docs
2017-07-04 15:08:04 +02:00
Florian Bruhin
202b8445f6
Move content.accept_language under headers
2017-07-04 15:08:04 +02:00
Florian Bruhin
f546cbe934
Clarify some docs
2017-07-04 15:08:04 +02:00
Florian Bruhin
d7036fe8a8
Clarify history_session_interval and rename it to _gap_interval
...
"session" is already overloaded enough.
2017-07-04 15:08:04 +02:00
Florian Bruhin
8712fc6fd3
Move new_instance_open_target out of url.
...
It doesn't really fit there really...
See 3cf028db23cbfe256e499d8881c3c2856f224d94
2017-07-04 15:08:04 +02:00
Florian Bruhin
d641652a92
More test_config improvements
2017-07-04 15:08:04 +02:00
Florian Bruhin
c214acd899
Remove config from objreg
2017-07-04 15:08:04 +02:00
Florian Bruhin
1a492e9f4a
Re-add backend checks to new config
2017-07-04 15:08:04 +02:00
Florian Bruhin
556f49d367
Add PACFetcher.fetch
...
Let's not try to download proxies during tests...
2017-07-04 15:08:04 +02:00
Florian Bruhin
2b9b54cf6b
Tests and improvements for ConfigContainer
2017-07-04 15:08:03 +02:00
Florian Bruhin
4495e721d8
Tests and fixes for config.Config
2017-07-04 15:08:03 +02:00
Florian Bruhin
e259293f83
Always copy config objects
...
If we mutate the value we get from the config, we want to make sure the value in
the config always stays the same (especially when it's the default!).
2017-07-04 15:08:03 +02:00
Florian Bruhin
2c3981e57e
Get rid of Config.read_configdata()
...
No need for this indirection
2017-07-04 15:08:03 +02:00
Florian Bruhin
252c5396f3
Apply proxy changes from master
...
This are the same changes as done in 629038632c
,
but only the part related to the config. This is so we don't forget this when
merging them.
2017-07-04 15:08:03 +02:00
Florian Bruhin
07d0ea6a54
Unit tests and improvements for :bind/:unbind
2017-07-04 15:08:03 +02:00
Florian Bruhin
3edebce833
Add tests for :set
2017-07-04 15:08:03 +02:00
Florian Bruhin
31b999ea59
Tests and improvements for KeyConfig
2017-07-04 15:08:03 +02:00
Florian Bruhin
725ffef5f3
Use a real config object in unit tests
2017-07-04 15:08:03 +02:00
Florian Bruhin
5aac991446
Remove unnecessary sip.isdeleted line
...
Now that the StyleSheetObserver is a child of the object it observes, it should
get cleaned up properly when the object is deleted.
This means this is hopefully not needed anymore, even on Qt 5.2.
2017-07-04 15:08:03 +02:00
Florian Bruhin
978013e750
Fix CommandParser and don't use a generator
2017-07-04 15:08:03 +02:00
Florian Bruhin
a8c7e8ba05
Add first config tests
2017-07-04 15:08:03 +02:00
Florian Bruhin
28670f8e48
Move config.style into config.config and refactor it
2017-07-04 15:08:03 +02:00
Florian Bruhin
a2f62238f1
Change default binding to leave passthrough mode to Ctrl-V
...
Also, display the binding in the statusbar
2017-07-04 15:08:03 +02:00
Florian Bruhin
df1685905e
Add content.headers and content.cache groups
2017-07-04 15:08:03 +02:00
Florian Bruhin
50602cbf26
Add an url. group to settings
2017-07-04 15:08:03 +02:00
Florian Bruhin
5c08c6c930
Add conditional backend infos to docs
2017-07-04 15:08:03 +02:00
Florian Bruhin
034d727a2c
Clean up configdata
2017-07-04 15:08:03 +02:00
Florian Bruhin
25ab3b30c2
Initial doc update with new settings
2017-07-04 15:08:03 +02:00
Florian Bruhin
94ac2ca56c
Merge :wq into :quit and add an alias
2017-07-04 15:08:03 +02:00
Florian Bruhin
065f82f485
Fix endless recursion while validating aliases
2017-07-04 15:08:03 +02:00
Florian Bruhin
ac78039171
Use aliases for :w and :q
2017-07-04 15:08:03 +02:00
Florian Bruhin
ac64ea287a
Rename tabs.new_position/_explicit to .related/.unrelated
2017-07-04 15:08:03 +02:00
Florian Bruhin
441b3a4df4
Allow missing fixed_keys for configtypes.Dict
...
We just fill them up with a None value for the value type, so we can e.g. only
specify a subset of modes for bindings and the rest is {}.
2017-07-04 15:08:03 +02:00
Florian Bruhin
9d8b76e497
Simplify _none_value for List/Dict configtypes
...
We don't need to check for fixed_keys/required_keys in get_obj (only get_py),
and we don't need to care about mutability in get_py.
2017-07-04 15:08:03 +02:00
Florian Bruhin
da0a2b8578
Handle {} and [] with none_ok for configtypes.Dict/List
2017-07-04 15:08:03 +02:00
Florian Bruhin
2ba637891a
Add required_keys for configtypes.Dict
2017-07-04 15:08:03 +02:00
Florian Bruhin
bc526cf0ce
Remove some FIXMEs
2017-07-04 15:08:03 +02:00
Florian Bruhin
7ee222af88
Return [] for none-values for configtypes.List
2017-07-04 15:08:03 +02:00
Florian Bruhin
c141c33b32
Clean up start_pages setting
...
The value is now of type FuzzyUrl, and the setting is renamed to start_pages.
2017-07-04 15:08:03 +02:00
Florian Bruhin
9cbacf3264
Use {} for none-dicts and fix keybindings
2017-07-04 15:08:03 +02:00
Florian Bruhin
0115285a84
Initial update for better bindings management
2017-07-04 15:08:03 +02:00
Florian Bruhin
127db2fe42
Be a bit more relaxed about values for Perc
...
We now allow float/int for objects, and strings without a trailing % sign.
2017-07-04 15:08:03 +02:00
Florian Bruhin
cbf6e4287f
Rename fonts.tabbar to fonts.tabs
2017-07-04 15:08:03 +02:00
Florian Bruhin
e7ba56cb2c
Read YAML config after config.val is ready
...
This means we can (at least somewhat) validate aliases in configtypes.Command.
2017-07-04 15:08:03 +02:00
Florian Bruhin
0ed0a6db57
Clean up code
2017-07-04 15:08:03 +02:00
Florian Bruhin
67cb6a9802
Implement initial reading from YAML
2017-07-04 15:08:03 +02:00
Florian Bruhin
70f6d0e305
Add qutebrowser.config.configfiles
2017-07-04 15:08:03 +02:00
Florian Bruhin
78434a330c
Remove old stub FIXMEs
2017-07-04 15:08:03 +02:00
Florian Bruhin
fda4fd4888
Rename NewConfigManager.set to set_obj
2017-07-04 15:08:03 +02:00
Florian Bruhin
ad0a961a5f
Add an lru_cache for configdata.is_valid_prefix()
...
This gets called a lot, and caused some :bind calls to take ~3s.
Stats after starting with a bit of :bind:
CacheInfo(hits=25917, misses=139, maxsize=256, currsize=139)
2017-07-04 15:08:03 +02:00
Florian Bruhin
45e7e35233
Detect mutated values in new config
...
This will allow config.py to get a value and then mutate it, and we can also
make things easier for :bind and :unbind.
2017-07-04 15:08:03 +02:00
Florian Bruhin
2577b2c5e3
Validate configtypes.Command correctly
2017-07-04 15:08:03 +02:00
Florian Bruhin
23d30d4fc0
Fix remaining :bind/:unbind issues
2017-07-04 15:08:03 +02:00
Florian Bruhin
f434f955c2
Improve exception handling for :bind/:unbind
2017-07-04 15:08:02 +02:00
Florian Bruhin
ba1bc29a97
Initial :bind/:unbind implementation
2017-07-04 15:08:02 +02:00
Florian Bruhin
290d27a064
Add a cmdexc.Error
2017-07-04 15:08:02 +02:00
Florian Bruhin
a6c629899e
Split CommandRunner into runner/parser
2017-07-04 15:08:02 +02:00
Florian Bruhin
d4cbd4ace4
Fix getting the scrollbar option
2017-07-04 15:08:02 +02:00
Florian Bruhin
ed5bea6e3f
Call int() for zoom level messages
2017-07-04 15:08:02 +02:00
Florian Bruhin
3c2d568a2e
Add an ID for qute://settings inputs
2017-07-04 15:08:02 +02:00
Florian Bruhin
d7f1ebedbf
Fix toggling options
2017-07-04 15:08:02 +02:00
Florian Bruhin
44e4816cbb
Use get_opt in NewConfigManager.set
2017-07-04 15:08:02 +02:00
Florian Bruhin
5081e4f201
Fix NewConfigManager.get_str
2017-07-04 15:08:02 +02:00
Florian Bruhin
5e4675b34a
Fix ignore_case handling
2017-07-04 15:08:02 +02:00
Florian Bruhin
340a62869d
Fix javascript.prompt default
2017-07-04 15:08:02 +02:00
Florian Bruhin
ceca99a99c
Fix :help with new config
2017-07-04 15:08:02 +02:00
Florian Bruhin
e752f87876
Add Shift-Delete mapping for :completion-item-del
...
This seems to be what Chromium and Firefox use for the same purpose.
2017-07-04 15:08:02 +02:00
Florian Bruhin
75798bebb0
Normalize bindings correctly when checking key_mappings
2017-07-04 15:08:02 +02:00
Florian Bruhin
383968d948
Add a Key config type
...
Make sure any key we get from the config is normalized).
2017-07-04 15:08:02 +02:00
Florian Bruhin
e894ad4ab0
Improve :set --temp docs
2017-07-04 15:08:02 +02:00
Florian Bruhin
6aafaca329
Fix invalid default_page replacement
2017-07-04 15:08:02 +02:00
Florian Bruhin
ae6cc543ed
Fix shared.feature_permission
2017-07-04 15:08:02 +02:00
Florian Bruhin
089e1ee91b
Rewrite various references to old settings
2017-07-04 15:08:02 +02:00
Florian Bruhin
88fb5bbd82
tests: Fix various issues with new config
2017-07-04 15:08:02 +02:00
Florian Bruhin
198040b2e2
Fix setting descriptions
2017-07-04 15:08:02 +02:00
Florian Bruhin
f27978e268
Rename input.insert_mode.auto_focused to _load
2017-07-04 15:08:02 +02:00
Florian Bruhin
3470e9bf5d
Fix invocation with -s
2017-07-04 15:08:02 +02:00
Florian Bruhin
471755d370
Fix old config access in hints
2017-07-04 15:08:02 +02:00
Florian Bruhin
3aa7f771c1
Fix dirbrowser.html for stricter jinja env
2017-07-04 15:08:02 +02:00
Florian Bruhin
d0904a9f67
Adjust test settings
2017-07-04 15:08:02 +02:00
Florian Bruhin
c2a2845ee7
Remove the tabs.movable setting
2017-07-04 15:08:02 +02:00
Florian Bruhin
85bee4a7d2
Rename completion background settings to .odd/.even
2017-07-04 15:08:02 +02:00
Florian Bruhin
bc8176ff21
Remove most legacy config code
2017-07-04 15:08:02 +02:00
Florian Bruhin
785de9fb99
Add dump_userconfig
2017-07-04 15:08:02 +02:00
Florian Bruhin
b5eac744b5
Remove old caching code
...
Not deleting debug_cache_stats as we'll soon re-add stuff there.
2017-07-04 15:08:02 +02:00
Florian Bruhin
46d0fee11b
Bring back :set
2017-07-04 15:08:02 +02:00
Florian Bruhin
30f1970850
Fix key-config usage
2017-07-04 15:08:02 +02:00
Florian Bruhin
aa75262fe4
Fix keyhintwidget
2017-07-04 15:08:02 +02:00
Florian Bruhin
22f096088b
Fix alias handling
2017-07-04 15:08:02 +02:00
Florian Bruhin
f5d2c48bbb
Fix new keyconfig issues
2017-07-04 15:08:02 +02:00
Florian Bruhin
056edcfed3
More keyconfig work
2017-07-04 15:08:02 +02:00
Florian Bruhin
67afc06d79
Initial work on new keyconfig
2017-07-04 15:08:02 +02:00
Florian Bruhin
e4278a69ac
Re-activate aliases
2017-07-04 15:08:02 +02:00
Florian Bruhin
82102279bc
Get rid of configdata.SECTION_DESC
2017-07-04 15:08:02 +02:00
Florian Bruhin
624c6777ff
Reorder configdata.yml
2017-07-04 15:08:02 +02:00
Florian Bruhin
94b200835a
Hack in setting a value to NewConfigManager
2017-07-04 15:08:02 +02:00
Florian Bruhin
dc74a55b84
Fix remaining configtypes issues
2017-07-04 15:08:02 +02:00
Florian Bruhin
72d4421ac8
Make ShellCommand a List subclass
...
Also, let's not require a list in Command (which is used for aliases).
2017-07-04 15:08:02 +02:00
Florian Bruhin
ecba175b16
Test and fix configtypes to_str.
2017-07-04 15:08:02 +02:00
Florian Bruhin
4c2f65819b
Try to fix qute://settings
2017-07-04 15:08:02 +02:00
Florian Bruhin
5414744439
Clean up NewConfigManager
2017-07-04 15:08:02 +02:00
Florian Bruhin
d69c6d0c66
Reorganize how configtypes store their data
...
Now the "object" kind of value (like in YAML) is stored internally, and that's
the canonical value. The methods changed their meaning slightly, see the
docstring in configtypes.py for details.
2017-07-04 15:08:02 +02:00