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
Florian Bruhin
1cbb4ece4b
Force configtype.Dict keys to be strings
2017-07-04 15:08:02 +02:00
Florian Bruhin
41655e7852
Fix handling of none_ok in List/Dict
...
We now always return None (and '' as string) when the user configured an empty
list or dict.
2017-07-04 15:08:01 +02:00
Florian Bruhin
8ea3d92697
Initial implementation of to_str for configtypes
2017-07-04 15:08:01 +02:00
Florian Bruhin
ffc29ee043
Make qute://settings work with QtWebEngine and new config
...
Fixes #2332
2017-07-04 15:08:01 +02:00
Florian Bruhin
18eb133811
configdata: Make sure default values are valid
2017-07-04 15:08:01 +02:00
Florian Bruhin
0857a45b0a
configtypes: parse regex flags properly
2017-07-04 15:08:01 +02:00
Florian Bruhin
a7c3bb0d55
Initial qute://settings upgrade
2017-07-04 15:08:01 +02:00
Florian Bruhin
3a6bcb3dd0
Remove icon from base.html
2017-07-04 15:08:01 +02:00
Florian Bruhin
36a5614c61
Add "FIXME"
2017-07-04 15:08:01 +02:00
Florian Bruhin
a1ed81f790
Patch out setting completion
...
Let's bring it back with the completion refactoring
2017-07-04 15:08:01 +02:00
Florian Bruhin
6733e92b50
Handle files correctly in utils.yaml_dump
2017-07-04 15:08:01 +02:00
Florian Bruhin
001312ca82
Disallow Booleans for configtypes.Int.from_py
2017-07-04 14:42:56 +02:00
Florian Bruhin
dfee857466
Make utils.yaml_dump return str
2017-07-04 14:42:56 +02:00
Florian Bruhin
ffd1a91467
Fix Directory conftype
2017-07-04 14:42:56 +02:00
Florian Bruhin
61ba92ae18
configtypes: Separate str/py basic validation
...
This also ensures the behavior for none_ok is consistent.
2017-07-04 14:42:56 +02:00
Florian Bruhin
51a29468be
configtypes: Use YAML for loading List/Dict from a string
...
This allows for a more lightweight syntax (like "{a: b}").
2017-07-04 14:42:56 +02:00
Florian Bruhin
41565fcfd4
configtypes: Use from_py for List/Dict values from a string
2017-07-04 14:42:56 +02:00
Florian Bruhin
7ddce62cd6
Refactor most of remaining config.get() calls
2017-07-04 14:42:56 +02:00
Florian Bruhin
51474724e5
Refactor objreg.get('config') calls
2017-07-04 14:42:56 +02:00
Florian Bruhin
cc0e66fe7b
More config fixes
2017-07-04 14:42:56 +02:00
Florian Bruhin
6a451b37d7
re-raise NoOptionError
2017-07-04 14:42:56 +02:00
Florian Bruhin
52f15c84a6
Get rid of config sections
2017-07-04 14:42:56 +02:00
Florian Bruhin
7e7fbf106b
Fix lint and old config options
2017-07-04 14:42:56 +02:00
Florian Bruhin
ce7597b3f6
Fix various configtypes issues found while writing tests
2017-07-04 14:42:56 +02:00
Florian Bruhin
d751539a25
Add __eq__ and __repr__ for PACFetcher
...
This makes it possible to use it in comparisons during tests easily.
2017-07-04 14:42:56 +02:00
Florian Bruhin
3cee9cdcd7
Fix JS logging
2017-07-04 14:42:56 +02:00
Florian Bruhin
45ce7efc71
Adjust feature permissions
2017-07-04 14:42:56 +02:00
Jakub Klinkovský
7eacea1057
Preserve fullscreen when exiting video fullscreen
...
Fixes #2778
2017-07-04 14:12:21 +02:00
Ryan Roden-Corrent
1e1335aa5e
Make various SQL code review changes.
...
- Fix outdated comments
- Use mock specs when possible
- More precise error message check in test_import_txt_invalid.
- Fix copyright message
- Tweak missing pyqt error message
- Dead code: remove group_by and where from sqlcategory.
With the new separate completion table, these are no longer used.
- Move test_history out of webkit/. History is no longer purely webkit
related, it could be webengine.
2017-07-03 09:45:08 -04:00
Ryan Roden-Corrent
25c79bec67
Check correct SQL driver in earlyinit.
2017-07-03 08:15:06 -04:00
Ryan Roden-Corrent
a34df34208
Fix various test/flake8/pylint errors.
2017-07-03 08:12:47 -04:00
Ryan Roden-Corrent
f2dbff92f4
Check for PyQt.QtSql and sqlite in earlyinit.
...
Show a graphical error box with install instructions if PyQt.QtSql is
not found, rather than failing with CLI errors. Also show an error box
if the sqlite driver is not available.
2017-07-03 07:57:55 -04:00
Florian Bruhin
629038632c
Add proxy support for QtWebEngine and Qt 5.7.1
...
This used to give us crashes in libproxy:
https://github.com/libproxy/libproxy/issues/45
https://bugreports.qt.io/browse/QTBUG-56852
However, trying again with Qt 5.7.1 on Debian and from PyPI, this doesn't happen
anymore, so it was probably something with how Archlinux handled things.
See #2082 , #2775 .
Reverts fd29528e4f
2017-07-03 10:29:28 +02:00
Florian Bruhin
e828f5b812
Fix most config changed handlers
2017-07-02 22:17:33 +02:00
Florian Bruhin
c25022f549
Fix LimitLineParser
2017-07-02 22:17:33 +02:00
Florian Bruhin
1022b7ea32
Make jinja templating more strict
...
This ensures we actually know when an AttributeError happens.
It also changes most external code to use the correct environment, rather than
simply creating a jinja2.Template, which wouldn't use the more tightened
environment.
2017-07-02 22:17:33 +02:00
Florian Bruhin
4b4acc5f5a
Minor config fixes
2017-07-02 22:17:33 +02:00
Florian Bruhin
c8c9536beb
Fix completion stuff
2017-07-02 22:17:33 +02:00
Florian Bruhin
8c1b5f0581
Fix up background_tabs, favicon_show and some custom config magic
2017-07-02 22:17:33 +02:00
Florian Bruhin
1f508d9d8f
Fix config getters
2017-07-02 22:17:33 +02:00
Florian Bruhin
b9aa5d0e4e
Fix valid_values initing from configdata
2017-07-02 22:17:33 +02:00
Florian Bruhin
fcc0b3e8c0
Fix tab indicator width
2017-07-02 22:17:33 +02:00
Florian Bruhin
269e9d69e0
Improve typechecking message
2017-07-02 22:17:33 +02:00
Florian Bruhin
500ad8b00f
Use strings for Perc configtypes
2017-07-02 22:17:33 +02:00
Florian Bruhin
e6275ab561
Fix startpage
2017-07-02 22:17:33 +02:00
Florian Bruhin
298553d48d
Fix QssColor
2017-07-02 22:17:33 +02:00
Florian Bruhin
61fe40f4a1
Initial stylesheet refactoring for new config
2017-07-02 22:17:33 +02:00
Florian Bruhin
e2b0fdf8aa
Fix VerticalPosition and NewTabPosition
...
Make them string so they have to_py() defined.
2017-07-02 22:17:33 +02:00
Florian Bruhin
a3d4822b9f
Fix up adblock settings
2017-07-02 22:17:33 +02:00
Florian Bruhin
26bf588fad
Fix _validate_valid_values
2017-07-02 22:17:33 +02:00
Florian Bruhin
231b7303f5
Use null for empty config values.
2017-07-02 22:17:33 +02:00
Florian Bruhin
af134eb861
Refactor websettings for new config
2017-07-02 22:17:33 +02:00
Florian Bruhin
129ee33ffb
Refactor former network section
2017-07-02 22:17:33 +02:00
Florian Bruhin
f1d81d86aa
Fix configtypes _basic_validation
2017-07-02 22:17:33 +02:00
Florian Bruhin
aa6f229e6b
Add utils.yaml_{load,dump}
2017-07-02 22:17:33 +02:00
Florian Bruhin
1a6511c7a8
Refactor most stuff using config.val.ui
2017-07-02 22:17:33 +02:00
Florian Bruhin
1ed8df8903
Fix various typos/bugs
2017-07-02 22:17:33 +02:00
Florian Bruhin
3e3685b68b
Initial configexc refactoring
2017-07-02 22:17:33 +02:00
Florian Bruhin
5ab2c89a37
Adjust config.change_filter
2017-07-02 22:17:33 +02:00
Florian Bruhin
b5110b07f0
Fix newconfig init
2017-07-02 22:17:33 +02:00
Florian Bruhin
3009e5eebe
Fix configtypes mistakes
2017-07-02 22:17:33 +02:00
Florian Bruhin
8de0445661
Move UserAgent to configdata
2017-07-02 22:17:33 +02:00
Florian Bruhin
616aad84d8
More configtypes refactoring
2017-07-02 22:17:33 +02:00
Florian Bruhin
5ec47da127
Get rid of configtypes.AutoSearch and IgnoreCase
2017-07-02 22:17:33 +02:00
Florian Bruhin
921d02e4d3
First portion of configtypes refactoring
2017-07-02 22:17:33 +02:00
Florian Bruhin
7e52eb7b0e
Initial work on new configdata
2017-07-02 22:17:33 +02:00
Florian Bruhin
c2e75bf2fd
Initial conversion to new config syntax
2017-07-02 22:17:33 +02:00
Florian Bruhin
938946c48b
configdata: Add check for shadowing keys
2017-07-02 22:17:33 +02:00
Florian Bruhin
8b9b750f8f
configdata: Rename some options for consistency
2017-07-02 22:17:33 +02:00
Florian Bruhin
52f6ea2525
Initial parsing
2017-07-02 22:17:33 +02:00
Florian Bruhin
f965805099
First setting renames
2017-07-02 22:17:33 +02:00
Florian Bruhin
836395cdb1
Add configdata.yml
2017-07-02 22:17:33 +02:00
Florian Bruhin
00c8d8da34
Initial stubbing out of a new config
2017-07-02 22:17:33 +02:00
Florian Bruhin
2f26490536
Remove FIXME
2017-07-02 14:03:38 +02:00
Jay Kamat
2fbadc46d2
Remove error when count is invalid to :tab-pin
2017-06-30 09:57:39 -07:00
Florian Bruhin
9cedaa60bc
Check for PyQt5.QtQml in earlyinit
2017-06-30 14:56:02 +02:00
Florian Bruhin
e4a054d34e
Stop marking QtWebEngine as experimental
2017-06-30 10:42:33 +02:00
Jay Kamat
596dee69d6
Clean up pin_tab
...
Also add a test case for :pin-tab with an invalid count
2017-06-29 20:04:02 -07:00
Ryan Roden-Corrent
c1f5e77fc6
Implement "Current" completion for bind.
...
When binding a key, the first row will be the current binding if the key
is already bound. This should make it easier for users to tell when they
are binding a key that is already bound, and what it is bound to.
2017-06-29 21:44:44 -04:00
Ryan Roden-Corrent
1e489325c4
Assert if index is invalid in delete_cur_item.
...
CompletionView already checks the index, so an error here shouldn't
happen.
2017-06-29 20:58:15 -04:00
Ryan Roden-Corrent
fd07c571e5
Store pattern in completion view, not model.
...
The pattern property is used for highlighting. It is purely
display-related, so it should be in the view rather than the model.
2017-06-29 20:56:39 -04:00
Ryan Roden-Corrent
c007f592b3
Use more intuitive argument order in sql.delete.
2017-06-29 20:43:42 -04:00
Florian Bruhin
d132b6ed71
Fix :scroll-page with --bottom-navigate on QtWebEngine
...
There were two issues here:
- The comparison was backwards, causing scroller.at_bottom() to always return
true.
- When zoomed in, jsret['px']['y'] can be a float, which means we can be
slightly off when checking the difference - math.ceil() fixes that.
2017-06-29 22:39:48 +02:00
Ryan Roden-Corrent
9c0c174534
Use builtin SortFilter regex functionality.
...
With the new completion API, we no longer need a custom filterAcceptsRow
function. This was necessary to handle the tree structure of the model,
but now we use a separate QSortFilterProxyModel for each category, so
the data it filters is flat. We can simplify the code by using the
builtin setFilterRegExp.
This changes the behavior a little, as now all list categories filter on
all columns. This should be beneficial if anything. For example, help
topics are now filtered on description in addition to name.
This also seems to slightly speed up filtering, according to the url
model benchmark.
Before:
----------------------------------------------- benchmark: 1 tests ----------------------------------------------
Name (time in s) Min Max Mean StdDev Median IQR Outliers(*) Rounds Iterations
-----------------------------------------------------------------------------------------------------------------
test_url_completion_benchmark 1.2806 1.3817 1.3195 0.0390 1.3068 0.0487 1;0 5 1
-----------------------------------------------------------------------------------------------------------------
After:
----------------------------------------------- benchmark: 1 tests ----------------------------------------------
Name (time in s) Min Max Mean StdDev Median IQR Outliers(*) Rounds Iterations
-----------------------------------------------------------------------------------------------------------------
test_url_completion_benchmark 1.1183 1.1508 1.1281 0.0132 1.1241 0.0142 1;0 5 1
-----------------------------------------------------------------------------------------------------------------
2017-06-29 12:44:02 -04:00
Jay Kamat
302961a86a
Refactor set_tab_pinned to take a tab widget.
...
See #2759
2017-06-28 22:22:33 -07:00
Florian Bruhin
f136f78802
Fix :undo documentation
...
See #2759
2017-06-28 22:41:08 +02:00
Jay Kamat
4d1dbe11e8
Prompt when closing a pinned tab via the mouse
...
Closes #2761
2017-06-27 19:03:13 -07:00
Ryan Roden-Corrent
6ac940fa32
Fix pylint/coverage errors.
...
Ensure 100% coverage for sqlcategory and history, and fix some linter
errors
2017-06-27 12:33:51 -04:00
Ryan Roden-Corrent
f06880c6e2
Fix history completion delete function.
...
In order to update SqlQueryModel's rowCount after re-running the query,
we must call setQuery again.
2017-06-27 08:42:10 -04:00
Iordanis Grigoriou
5e2be8a44a
Fix PEP-8 issue
2017-06-27 08:25:59 +02:00
Iordanis Grigoriou
8a5b48d374
Add suggested_fn argument to get_request
2017-06-26 23:21:32 +02:00
Florian Bruhin
5ec94f96fd
Allow a trailing % for :zoom
2017-06-26 21:51:35 +02:00
Florian Bruhin
92d5f6c41d
Ignore _remove_tab for crashed deleted tabs
2017-06-26 20:50:17 +02:00
Florian Bruhin
24caaea54d
Handle OSError in SessionManager.delete
2017-06-26 19:52:07 +02:00
Florian Bruhin
130be2aedc
Handle OSError when trying to delete autosave session
2017-06-26 19:47:54 +02:00
Ryan Roden-Corrent
46161c3af0
Refactor delete_cur_item.
...
Taking the completion widget as an argument was overly complex.
The process now looks like:
1. CompletionView gets deletion request
2. CompletionView passes selected index to CompletionModel
3. CompletionModel passes the row data to the owning category
4. The category runs its custom completion function.
This also fixes a bug. With the switch to the hybrid (list/sql)
completion model, the view was no longer updating when items were
deleted. This fixes that by ensuring the correct signals are emitted.
The SQL model must be refreshed by running the query. We could try using
a SqlTableModel so we can call removeRows instead.
The test for deleting a url fails because qmodeltester claims the length
of the query model is still 3.
2017-06-26 08:57:36 -04:00
Iordanis Grigoriou
a24d7f6686
Use page title for filename with :download
2017-06-26 12:25:03 +02:00
Marius
df6b8b7ff5
Update tabwidget.py
2017-06-21 09:03:15 +02:00
Ryan Roden-Corrent
6080830a8b
Fix outdated docstring and pylint error.
2017-06-20 22:25:09 -04:00
Ryan Roden-Corrent
b722cc1dec
Pass invalid index to [can]FetchMore.
...
For QSqlQueryModel, the argument should always be an invalid index:
http://doc.qt.io/qt-5/qsqlquerymodel.html#canFetchMore
For a QStandardItemModel, it doesn't matter. Either way, passing the
top-level parent index was wrong.
2017-06-20 22:11:53 -04:00
Ryan Roden-Corrent
63cb88a0f4
Use _cat_from_index in completionmodel.data.
...
Keep all the category lookup inside _cat_from_idx for easier refactoring
if the organization ever changes.
2017-06-20 22:08:23 -04:00
Ryan Roden-Corrent
0f585eda4f
Bring history.py back to 100% coverage.
...
The code of debug_dump_history was tweaked to handle a possible
OSException that can be thrown by open, which I noticed while trying to
test it.
2017-06-20 21:41:43 -04:00
Marius
f3a2b84033
remove space
2017-06-20 23:58:23 +02:00
Marius
dfedddf0bd
Wrap scroll button workaround in try/except
...
for older pyqt5 versions (5.2.1)
2017-06-20 23:55:11 +02:00
Marius
6e166d139a
Fix alignment of scroll buttons in tab bar
2017-06-20 21:18:13 +02:00
Florian Bruhin
096b0a7a37
Remove unused import
2017-06-20 15:03:42 +02:00
Florian Bruhin
750ef834dc
Make PyOpenGL a required dependency
...
Looks like the "black screen" issue isn't the only thing going wrong, some
people even report segfaults since the vendor check was added.
2017-06-20 13:05:53 +02:00
Florian Bruhin
cf3c7266aa
Make show_error keyword-only
2017-06-20 12:45:36 +02:00
Florian Bruhin
06d4a24bd1
Merge branch 'master' of https://github.com/iordanisg/qutebrowser
2017-06-20 12:45:21 +02:00
Florian Bruhin
038dcff4ba
Ignore common URL issues while importing history
...
See #2646 .
This ignores the "corrupted" Apple-lookalike URLs, comments and data: URLs.
2017-06-20 12:19:14 +02:00
Florian Bruhin
f838eb1bdc
Use named formatting for queries in sql.py
2017-06-20 12:11:41 +02:00
Florian Bruhin
da875755d1
Add spaces after commas in SQL queries
2017-06-20 12:06:17 +02:00
Florian Bruhin
c1776bbf9d
Add error message when query failed to prepare
2017-06-20 12:05:40 +02:00
Florian Bruhin
29ce1b3811
Add column order in SqlTable._insert_query
...
_insert_query gets called with a query and dict of values such as:
{'val': 1, 'lucky': False, 'name': 'one'}
Via bindValues(), we only assign a placeholder in the query string to a value,
so we get a query with bindings like:
INSERT INTO Foo values(:lucky,:val,:name)
{':name': 'one', ':val': 1, ':lucky': False}
So what we're executing is something like:
INSERT INTO Foo values(false,1,"one")
However, if the column order in the database doesn't happen to be the order
we're passing the values in, we get the wrong values in the wrong columns.
Instead, we now do:
INSERT INTO Foo (lucky, val, name) values(false,1,"one")
Which inserts the values in the order we intended.
With Python 3.6, this just happened to work before because we always passed the
keyword arguments in the table column order, and in 3.6 dicts
(and thus **kwargs) happen to be ordered:
https://mail.python.org/pipermail/python-dev/2016-September/146327.html
2017-06-20 12:03:43 +02:00
Iordanis Grigoriou
f0ff02fcb2
Avoid throwing exception when no last focused tab exists
2017-06-19 15:48:17 +02:00
Florian Bruhin
7062f9e060
Update qt5-webkit-ng docs for Archlinux
2017-06-19 13:44:41 +02:00
Florian Bruhin
9f94f28181
Use :memory: for an in-memory database
...
Using an empty string for the same purpose only started working in some
recent-ish Qt/sqlite/? version, so using --version failed on Ubuntu Trusty.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
051d2665f3
Fix signal type error in CompletionView.
...
On Travis CI we are sometimes seeing:
```
CompletionView.selection_changed[str].emit():
argument 1 has unexpected type 'int'
```
Cast the data to a string before emitting it just to be safe.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
891a6bcf14
Fix flake8 errors
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
4e87773d89
Use a dict instead of named params for insert.
...
This allows replace to be a named parameter and allows consolidating
some duplicate code between various insert methods.
This also fixes some tests that broke because batch insert was broken.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
e436f48164
Small sql fixes.
...
- Remove unused SqlTable.Entry
- Fix wording of two log messages
- Remove unused import
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
f4f52ee204
Remove history.Entry.
...
No longer needed with sql backend. Query results build their own
namedtuple from the returned columns, and inserting new entries is just
done with named parameters.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
1fe1813431
Fix pylint errors.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
679e001a48
Separate sqlcategory title from table name.
...
Also fix a number of sql/completion tests that were failing.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
61a1709141
Fix completion selection bug.
...
Fix the issue where pressing `o<esc>o` would show a url completion
dialog where attempting to <Tab> select items would do nothing but show
a Qt warning.
The fix is to ensure we set _last_completion_func to None whenever we
clear completion (there was a case I missed).
It also ensures we always delete the old model and adds a safety to
prevent deleting an in-use model is set_model is called with the current
model.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
fa39b82b3c
Backup old history file after import.
...
Instead of removing it, move it to history.bak.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
22b7b21d5a
Use named placeholders for sql queries.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
862f8d3188
Always return col 0 for index parent.
...
This was changed during code review but was causing Qt errors while
TAB-completing in the selection view:
08:42:34 WARNING qt Unknown module:none:0 Can't select indexes from different model or with different parents
2017-06-19 07:44:11 -04:00
Florian Bruhin
18cd8ba0b6
Add indices for HistoryAtimeIndex and CompletionHistoryAtimeIndex
...
before
------
sqlite> SELECT * FROM History where not redirect and not url like "qute://%" and atime > ? and atime <= ? ORDER BY atime desc;
Run Time: real 0.072 user 0.063334 sys 0.010000
sqlite> explain query plan SELECT * FROM History where not redirect and not url like "qute://%" and atime > ? and atime <= ? ORDER BY atime desc;
0|0|0|SCAN TABLE History
0|0|0|USE TEMP B-TREE FOR ORDER BY
sqlite> explain query plan select url, title, strftime('%Y-%m-%d', last_atime, 'unixepoch') from CompletionHistory where (url like "%qute%" or title like "%qute%") order by last_atime desc;
0|0|0|SCAN TABLE CompletionHistory
0|0|0|USE TEMP B-TREE FOR ORDER BY
after
-----
sqlite> SELECT * FROM History where not redirect and not url like "qute://%" and atime > ? and atime <= ? ORDER BY atime desc;
Run Time: real 0.000 user 0.000000 sys 0.000000
sqlite> explain query plan SELECT * FROM History where not redirect and not url like "qute://%" and atime > ? and atime <= ? ORDER BY atime desc;
0|0|0|SEARCH TABLE History USING INDEX AtimeIndex (atime>? AND atime<?)
sqlite> explain query plan select url, title, strftime('%Y-%m-%d', last_atime, 'unixepoch') from CompletionHistory where (url like "%qute%" or title like "%qute%") order by last_atime desc;
0|0|0|SCAN TABLE CompletionHistory USING INDEX CompletionAtimeIndex
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
3a4ef09f58
More sql code review fixes
2017-06-19 07:44:11 -04:00
Florian Bruhin
9b0395db08
Add an lru cache for WebHistoryInterface.historyContains
...
When loading heise.de, for some crazy reason QtWebKit calls historyContains
about 16'000 times.
With this cache (which we simply clear when *any* page has been loaded, as then
the links which have been visited can change), that's down to 250 or so...
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
6fc61d12fc
Assorted small fixes for sql code review.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
feed9c8936
Better exception handling in history.
...
- Show an error message when import fails, not a generic crash dialog
- Raise CommandError when debug-dump-history fails
- Check that the path exists for debug-dump-history
2017-06-19 07:44:11 -04:00
Florian Bruhin
6ce52f39ae
Add debug timings for SQL
2017-06-19 07:44:11 -04:00
Florian Bruhin
57d96a4512
Add a CompletionHistory instead of HistoryVisits table
2017-06-19 07:44:11 -04:00
Florian Bruhin
c64b7d00e6
Add separate table for history visits
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
7f27603772
Fix columns_to_filter for sql category.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
389e1b0178
Fix bad objreg reference in app.py.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
f8325cbbc1
Remove print statement
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
309b6ba32c
Move _import_history to history.py.
...
Also adjusts the history import test to operate at a higher level and
ensure the old text file is removed (or isn't, in the case of an error).
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
ea0b3eee05
Use full, not partial index for history.
...
historyContains includes redirect urls, so we actually don't want a
partial index here.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
478a719f77
Use a prepared query for historyContains.
...
This is called often, hopefully a prepared query will speed it up.
This also modifies Query.run to return self for easier chaining, so you
can use `query.run.value()` instead of `query.run` ; query.value()`.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
5b827cf86a
Fix typo in sql exception handling
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
6a0fc5afd2
Create a SQL index on History.url.
...
This will hopefully speed up historyContains but does not seem to speed
up the completion query, unfortunately.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
565ba23f8c
Don't instantiate completion models nedlessly.
...
For real this time. A mistake on the last commit like this meant models
were still spuriously instantiated.
Now that the completion model is reused, the layoutChanged signal needs
to be forwarded through, otherwise the view will not update.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
42243d3d97
Add more performance logging to completion.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
a01c76db54
Remove 'group by' from url completion query.
...
This seemed to have a significant performance impact. Removing it means
that instead of just seeing the most recent atime for a given url, you
will see multiple entries.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
c297f047d2
Don't regenerate completion model needlessly.
...
If the completion model would stay the same, just keep it and update the
filter pattern rather than instantiating a new model each time the
pattern changes.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
2cd02be7b1
Remove CompletionModel.columns_to_filter.
...
Instead set this on inidividual categories, as that is where it actually
gets used. This makes it easier for SqlCompletionCategory to reuse a
prepared query (as it gets the filter field names in its constructor).
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
8fb6f45bec
Don't set pattern in SqlCategory constructor.
...
This will be called by the Completer after construction anyways, this
was a duplicate call that could be expensive.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
cf89ffa971
Fix pylint/flake8 errors
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
e67da51662
Use prepared SQL queries.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
20000088de
Add debug-dump-history and fix sql history tests.
...
Trying to read from the sql database from another process was flaky.
This adds a debug-dump-history command which is used by the history BDD
tests to validate the history contents.
It outputs history in the old pre-SQL text format, so it might be
useful for those who want to manipulate their history as text.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
e201a42383
Fix eslint errors
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
9b25b7ee5d
Fix misspelling of 'occurs'
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
882da71397
Remove unused imports
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
eb61269068
Fix qute://history javascript for SQL.
...
Returning "next" was no longer possible as the SQL query does not fetch
more items than necessary. This is solved by using a start time, a
limit, and an offset. The offset is needed to prevent fetching duplicate
items if multiple entries have the same timestamp.
Two of the history tests that relied on qute://history were changed to
rely on qute://history/data instead to make them less failure-prone.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
0aa0478327
Use EXISTS for SqlTable.contains.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
71191f10a2
Only complete most recent atime for url.
...
The history completion query is extended to pick only the most recent item for
a given url.
The tests in test_models now check for ordering of elements.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
9d4888a772
Optimize qute://history for SQL backend.
...
The old implementation was looping through the whole history list, which for
SQL was selecting every row in the database. The history benchmark was taking
~2s. If this is rewritten as a specialized SQL query, the benchmark takes
~10ms, an order of magnitude faster than the original non-SQL implementation.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
784d9bb043
Remove code rendered dead by sql implementation.
...
Vulture exposed the following dead code:
- AppendLineParse was only used for reading the history text file, which is now
a sql database (and the import code for the old text file is simpler and does
not need a complex line parser)
- async_read_done is no longer used as importing the history text file is
synchronous (and should only happen once)
- config._init_key_config is unused as it was moved to keyconf.init
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
a8ed9f1c2f
Fix qute://version sql init bug.
...
Calling sql.init() in version.version() would replace the existing sql
connection and cause a crash when accessed by opening qute://version.
Now version relies on sql already being initted, and app.py inits sql early if
the --version arg is given.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
f110cf4d53
Fix long hang after importing history.
...
Turns out historyContains was getting called for the webkit backend multiple
times when the browser starts. This was calling `url in history`, which was
enumerating the entire history as `__contains__` was not defined.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
024386d189
Fail on history file parsing errors.
...
Instead of skipping bad history lines during the import to sql, fail hard. We
don't want to delete the user's old history file if we couldn't parse all of
the lines.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
6412c88277
Clean up history module.
...
Eliminate out-of-date docstring and remove an unused signal.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
3e63b62d6e
Fix pylint/flake8 for sql work.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
8ff45331df
Clean up sql implementation.
...
Now that sql is only used for history (not quickmarks/bookmarks) a number of
functions are no longer needed. In addition, primary key support was removed as
we actually need to support multiple entries for the same url with different
access times. The completion model will have to handle this by selecting
something like (url, title, max(atime)).
This also fixes up a number of tests that were broken with the last few
sql-related commits.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
80647b062a
Convert old history file to sqlite.
...
If qutebrowser detects a history text file when it starts
(~/.local/share/qutebrowser/history by default on Linux), it will import this
file into the new sqlite database, then delete it.
The read is done as a coroutine as it can take some time.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
de5be0dc5a
Store history in an on-disk sqlite database.
...
Instead of reading sqlite history from a file and storing it in an in-memory
database, just directly use an on-disk database. This resolves #755 , where
history entries don't pop in to the completion menu immediately as they are
still being read asynchronously for a few seconds after the browser starts.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
7d04f155c8
Add missing docstring.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
93e0bfa410
Fix tests after sql completion rebase.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
5dce6fa494
Fix pylint/flake8 errors
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
f95dff4d9e
Decouple categories from completionmodel.
...
Instead of add_list and add_sqltable, the completion model now supports
add_category, and callees either pass in a SqlCategory or ListCategory. This
makes unit testing much easier.
This also folds CompletionFilterModel into the ListCategory class.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
ce3c555712
Use list completion for bookmarks/quickmarks.
...
The RFC on moving from plaintext to SQL storage (#2340 ) showed that many would
be upset if bookmarks and quickmarks were no longer stored in plaintext.
This commit uses list-based completion for quickmarks and bookmarks. Now the
history storage can be moved from plaintext to an on-disk SQL database while
leaving bookmarks and quickmarks as-is.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
80619c88b3
Revert "Use SQL for quickmark/bookmark storage."
...
This reverts commit fa1ebb03b70dfff4ac64038e67d9bab04b984de5.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
e3a33ca427
Implement a hybrid list/sql completion model.
...
Now all completion models are of a single type called CompletionModel.
This model combines one or more categories. A category can either be a
ListCategory or a SqlCategory.
This simplifies the API, and will allow the use of models that combine simple
list-based and sql sources. This is important for two reasons:
- Adding searchengines to url completion
- Using an on-disk sqlite database for history, while keeping bookmarks and
quickmars as text files.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
921211bbaa
Remove web-history-max-items.
...
This was a performance optimization that shouldn't be needed with the new SQL
history backend. This also removes support for the LIMIT feature from SqlTable
as it only existed to support web-history-max-items.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
c4c5723a61
Sort history completion entries by atime.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
56f3b3a027
Small review fixups for SQL implementation.
...
Respond to the low-hanging code review fruit:
- Clean up some comments
- Remove an acidentally added duplicate init_autosave
- Combine two test_history tests
- Move test_init cleanup into a fixture to ensure it gets called.
- Name the _ argument of bind(_) to _key
- Ensure index is valid for first_item/last_item
- Move SqlException to top of module
- Rename test_index to test_getitem
- Return QItemFlags.None instead of None
- Fix copyright dates (its 2017 now!)
- Use * to force some args to be keyword-only
- Make some returns explicit
- Add sql to LOGGER_NAMES
- Add a comment to explain the sql escape statement
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
3c676f9562
Fix pylint/flake8 errors for SQL work.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
a050cb94f6
Report sqlite version with --version.
2017-06-19 07:44:11 -04:00
Ryan Roden-Corrent
c6645d47ba
Remove newest_slice and StatusBar._option.
...
newest_slice is no longer needed after the completion refactor. Now that
history is based on the SQL backend, LIMIT is used instead.
StatusBar._option is not used, though I'm not sure why vulture only caught it
now.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
6a8b1d51fa
Avoid config -> configmodel circular import.
...
Avoid the config dependency by using objreg.get('config') instead of
config.get.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
6cc2095221
Avoid keyconf circular import.
...
The new function-based completion API introduced a circular import:
config -> keyconf -> miscmodels -> config.
config only depended on keyconf so it could initialize it as part of
config.init. This can be resolved by moving this to keyconf.init and
initializing keyconf as part of app.init.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
21757a96a3
Add docstrings to SqlCompletionModel overrides.
...
Leaving QAbstractItemModel overrides undocumented made pylint angry.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
be07107b1c
Fix end2end completion tests for SQL backend.
...
Change the logging to report the completion function name and have the end2end
tests check for this.
Remove the tests for realtime completion, as it was decided this is not an
important feature and the code is much simpler without it.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
6a04c4b3e8
Allow replacing quickmark with SQL backend.
...
This functionality was lost with the transition to SQL.
The user should be able to replace a quickmark if they answer 'yes' to the
prompt.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
02fb1a037c
Implement canFetchMore for SQL completion.
...
This just forwards canFetchMore and fetchMore to the underlying tables.
It seems to be returning True and fetching in some cases (with a large
history), so I guess it is useful?
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
ffd044b52b
Fix pylint and flake8 for SQL work.
...
Vanity commit. This also touches up a few comments.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
ea9217a61f
Fix qutescheme for new SQL backend.
...
The qute://history and qute://bookmarks handlers were added during my work, and
had to be adapted to the SQL-based history backend.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
0e650ad719
Return namedtuples from SqlTable.
...
Instead of returning a regular tuple and trying to remember which index maps to
which field, return named tuples that allow accessing the fields by name.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
d89898ef7d
Implement delete_cur_item for sql completion.
...
This re-enables bookmark/quickmark deletion for url completions via the new SQL
interface.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
fe80878788
Implement custom where clause in SQL.
...
Allow categories to specify a WHERE clause that applies in addition to the
pattern filter. This allows the url completion model to filter out redirect
entries.
This also fixed the usage of ESCAPE so it applies to all the LIKE statements.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
9f27a9a5d7
Implement column selectors for sql completion.
...
A SQL completion category can now provide a customized column expression for
the select statement. This enables the url model to format timestamps, as well
as rearrange the name and url in the quickmark section.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
3f6f03e325
Respect web-history-max-items with SQL.
...
Use a LIMIT with the sql competion model to limit history entries as the old
completion implementation did.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
df995c02a3
Get rid of varargs in sql.run_query.
...
Things are clearer when just passing a list.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
b70d5ba901
Use QSqlQueryModel instead of QSqlTableModel.
...
This allows setting the query as a QSqlQuery instead of a string, which allows:
- Escaping quotes
- Using LIMIT (needed for history-max-items)
- Using ORDER BY (needed for sorting history)
- SELECTing columns (needed for quickmark completion)
- Creating a custom select (needed for history timestamp formatting)
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
52d7d1df0c
Use SQL completer for quickmarks/bookmarks.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
839d49a8ac
Fix up pylint/flake8 for completion revamp.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
5bd047b70b
Fix CompletionView.completion_item_del for new API.
...
The new function based completion models work a little differently so the view
needed slightly different error handling.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
c3155afc21
Rethrow KeyError as DoesNotExistError in urlmarks.
...
From @TheCompiler:
To expand on this: I think it's fine to use KeyError on a lower level, i.e.
with the SqlTable object with a dict-like interface. However, on this higher
level, I think it makes sense to re-raise them as more specific exceptions.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
d4f2a70f83
Slightly simplify CompletionModel.new_item.
...
There was no need to have a branch based on whether the misc value was None or
not.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
3005374ada
Simplify sorting logic in sortfilter.
...
For URL completion, time-based sorting is handled by the SQL model.
All the other models use simple alphabetical sorting. This allowed cleaning up
some logic in the sortfilter, removing DUMB_SORT, and removing the
completion.Role.sort.
This also removes the userdata completion field as it was only used in url
completion and is no longer necessary with the SQL model.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
acea0d3c67
Use SQL completion for the open command.
...
Now that history, bookmark, and quickmark storage are SQL-backed, use
a sql completion model to serve url completions.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
6e1ea89ca1
Implement SQL completion model.
...
This model wraps one or more SQL tables and exposes data in a tiered
manner that can be consumed by the tree view used for completion.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
93d81d96ce
Use SQL for quickmark/bookmark storage.
...
Store quickmarks and bookmarks in an in-memory sql database instead of a
python dict. Long-term storage is not affected, bookmarks and
quickmarks are still persisted in a text file.
The added and deleted signals were removed, as once sql completion
models are used the models will no longer need to update themselves.
This will set the stage for SQL-based history completion.
See #1765 .
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
9477a2eeb2
Use SQL for history storage.
...
The browser-wide in-memory web history is now stored in an in-memory sql
database instead of a python dict. Long-term storage is not affected, it
is still persisted in a text file of the same format.
This will set the stage for SQL-based history completion.
See #1765 .
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
f43f78c40f
Implement SQL interface.
...
When qutebrowser starts, it creates an in-memory sqlite database. One
can instantiate a SqlTable to create a new table in the database. The
object provides an interface to query and modify the table.
This intended to serve as the base class for the quickmark, bookmark,
and history manager objects in objreg. Instead of reading their data
into an in-memory dict, they will read into an in-memory sql table.
Eventually the completion models for history, bookmarks, and quickmarks
can be replaced with SqlQuery models for faster creation and filtering.
See #1765 .
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
3b30b42211
Remove completion.instances, usertypes.Completion.
...
The new completion API no longer needs either of these. Instead of
referencing an enum member, cmdutils.argument.completion now points to
a function that returnsthe desired completion model.
This vastly simplifies the addition of new completion types. Previously
it was necessary to define the new model as well as editing usertypes
and completion.models.instances. Now it is only necessary to define a
single function under completion.models.
This is the next step of Completion Model/View Revamping (#74 ).
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
b36cf0572d
Avoid potential circular import in config.py.
...
There was a circular import from
config -> keyconf -> miscmodels -> config.
This is resolved by scoping config's keyconf import to the one function
that uses it.
2017-06-19 07:42:12 -04:00
Ryan Roden-Corrent
08bb3f4f19
Implement completion models as functions.
...
First step of Completion Model/View revamping (#74 ). Rewrite the
completion models as functions that each return an instance of a
CompletionModel class.
Caching is removed from all models except the UrlModel. Models other
than the UrlModel can be generated very quickly so caching just adds
needless complexity and can lead to incorrect results if one forgets to
wire up a signal.
2017-06-19 07:42:12 -04:00
Florian Bruhin
40b949364e
Fix qute://backend-warning issues
...
We now set a title correctly, and don't crash if we find a Debian/Ubuntu without
version.
2017-06-19 13:37:00 +02:00
Florian Bruhin
bef372e5f5
Clear search on page load
...
Fixes #2728
2017-06-19 10:27:27 +02:00
Florian Bruhin
4ae8e247d0
Show 'legacy QtWebKit' in version output
2017-06-19 10:24:33 +02:00
Florian Bruhin
5bb63e67e0
Remove another stray #
2017-06-19 09:43:45 +02:00
Florian Bruhin
8494332c3a
Merge branch 'fix-tabbar-padding' of https://github.com/kmarius/qutebrowser
2017-06-19 09:43:26 +02:00
Florian Bruhin
df6c4c6e73
Fix earlyinit.qt_version issues
2017-06-19 09:42:49 +02:00
Florian Bruhin
6c534bea6b
Actually remove version import in earlyinit...
2017-06-19 08:59:26 +02:00
Florian Bruhin
fdba676933
Move version.qt_version() to earlyinit
...
Importing version in earlyinit is a bad idea, as it already pulls in a lot of
stuff we don't want.
2017-06-19 08:57:29 +02:00
Marius
de743732aa
remove # inside comment
2017-06-19 08:29:23 +02:00
Marius
ebd442ea95
add needed parens and remove trailing whitespace
2017-06-18 23:07:38 +02:00
Marius
68f172558b
fix line length
2017-06-18 22:44:06 +02:00
Marius
4b2bf12efa
Fix padding of remaining tabbar space with pinned tabs
2017-06-18 21:49:04 +02:00
Florian Bruhin
695a2656fe
Rename webelem.js functions to match WebEngineElem
...
Fixes #2726
2017-06-16 23:14:17 +02:00
Florian Bruhin
9cc688ea2b
Fix initial tab sizing with vertical tabbar
2017-06-16 23:00:16 +02:00
Iordanis Grigoriou
f28d523225
Select the last focused tab when running ':tab-focus <current tab number>'
2017-06-16 12:28:56 +02:00
Florian Bruhin
b37d040d44
Add version check for 5.8 search segfault workaround
2017-06-14 10:57:32 +02:00
Florian Bruhin
38d54cb112
Stabilize history tests
...
Get current URL right away in :view-source, and wait until source is shown in
the test.
2017-06-12 18:13:17 +02:00
Florian Bruhin
b687ede25c
Adjust eslintrc for eslint 4.0
2017-06-12 09:23:20 +02:00
Florian Bruhin
57fbfbd606
Set an initial window size for background tabs
...
When we open a background tab, it gets a hardcoded size (800x600 or so) because
it doesn't get resized by the layout yet.
By resizing it to the size it'll actually have later, we make sure scrolling to
an anchor in an background tab works, and JS also gets the correct size for
background tabs.
Fixes #1190
Fixes #2495
See #1417
2017-06-11 17:48:01 +02:00
Florian Bruhin
2e5620cac1
Try a different way of fixing userscript crashes
2017-06-11 14:44:19 +02:00
Florian Bruhin
a49adc6298
Revert "Work around userscript crash issue"
...
This reverts commit 73ff2afb3f
.
Doesn't seem to help, at least for pkill9...
2017-06-11 14:41:58 +02:00
Florian Bruhin
73ff2afb3f
Work around userscript crash issue
2017-06-11 13:17:40 +02:00
Florian Bruhin
89218c9d31
Improve error handling in version.opengl_vendor()
...
Not being able to get versionFunctions is now handled, and the cleanup is done
in a finally: block.
2017-06-09 23:14:34 +02:00
Florian Bruhin
b874432c69
Remove private browsing notes for QtWebKit-NG
2017-06-09 10:31:21 +02:00
Florian Bruhin
6361a5bab2
Merge branch 'private_tag_tab_title' of https://github.com/craftyguy/qutebrowser
2017-06-08 14:17:43 +02:00
Florian Bruhin
c8d4ef13de
Adjust default :messages level
2017-06-08 12:35:21 +02:00
Florian Bruhin
63f6409fdb
Remove stray StatusBar._option
2017-06-08 12:29:07 +02:00
Clayton Craft
daa12ed435
Add private mode title format for tabs too
...
This continues the spirit of my previous PR and allows formatting tab
titles to designate when private mode is enabled. I didn't even realize
that tab title-format was a separate thing from window-title-format
(yes, it's in the name.. silly craftyguy), until now.
2017-06-07 08:17:03 -07:00
Florian Bruhin
09baa08948
Remove colon from error page
2017-06-06 22:15:19 +02:00
Florian Bruhin
dd4fb87db6
Update docs
2017-06-06 18:25:42 +02:00
Florian Bruhin
8990513c1b
Merge commit '49b8737f7979fc878ba25aed94cc3e57f481ae3a' into craftyguy/private_tab_title
2017-06-06 18:23:51 +02:00
Florian Bruhin
8df0b063be
Get rid of utils.unused because it's unused
2017-06-06 17:04:21 +02:00
Clayton Craft
49b8737f79
Implement changing of tab title when privacy mode is enabled
2017-06-06 08:00:19 -07:00
Florian Bruhin
6d175fbb4b
Get rid of configtypes.WebKitBytes
2017-06-06 16:17:44 +02:00
Florian Bruhin
f9b046d766
Get proper settings object in WebEngineElement._click_js
2017-06-06 16:15:25 +02:00
Florian Bruhin
a7413d7b4a
Remove stale getter
2017-06-06 15:59:42 +02:00
Florian Bruhin
1b0a125cf3
websettings: Improve errors when setting settings=...
2017-06-06 15:59:42 +02:00
Florian Bruhin
b1a0bc13f2
webkitsettings: Use self._get_settings in CookiePolicy._set
2017-06-06 15:59:42 +02:00
Florian Bruhin
30fe3ed328
Remove old websetting comments
2017-06-06 15:46:54 +02:00
Florian Bruhin
e17494c972
Cleanup
2017-06-06 15:25:21 +02:00
Florian Bruhin
0ca59f2184
Rename storage -> offline-web-application-storage to -cache
2017-06-06 14:50:57 +02:00
Florian Bruhin
c696723650
Merge storage -> offline-storage-database into local-storage setting
...
Looks like it's the same with QtWebEngine too - setting LocalStorageEnabled also
toggles WebSQL there.
2017-06-06 14:50:57 +02:00
Florian Bruhin
626d299a0d
Add webenginesettings.DefaultProfileSetter.__repr__
2017-06-06 14:50:57 +02:00
Florian Bruhin
2a32e26846
Get rid of various rarely customized settings
...
All those were customized by some <5 people in the past few years of crash
reports.
Closes #1751 .
See #2639 .
2017-06-06 14:50:57 +02:00
Florian Bruhin
1785b72393
Refactor websettings default handling
...
With per-domain settings, having a getter for a setting gets really complicated,
as there isn't one true value for a setting.
The only reason we needed those getters is to save away the default values for
some settings where we were unsure what the defaults are.
- For font setters, we can get the defaults from QFont, like QtWeb{Kit,Engine}
do.
- For font sizes, we hardcode the defaults QtWeb{Kit,Engine} hardcodes too.
- For maximum-page-in-cache, we hardcode 0, just like QtWebKit.
- For default-encoding, we hardcode iso-8559-1, like QtWeb{Kit,Engine}
- For offline-storage-default-quota, we hardcode 5MB, like QtWebKit
- For offline-web-application-cache-quota, we hardcode MAXINT as default value,
but we still keep the empty value in the config. It means "no quota"
internally in QtWebKit, but it's a too confusing value to have in the config.
- For object-cache-capacities it's a bit more complicated (the defaults are
calculated based on disk space), but let's just get rid of the setting
altogether in the next commit (see #1751 ).
Closes #2639 .
2017-06-06 14:50:57 +02:00
Florian Bruhin
d4f58533c0
Add error messages for QtWebEngine downloads
...
Fixes #2164
2017-06-06 06:29:52 +02:00
Florian Bruhin
a45de9cef2
Remove request tracking from NetworkManager
...
This breaks things (with "ValueError: list.remove(x): x not in list") on
PyQt 5.9 (probably due to the destroyed object tracking it introduces?).
This was originally added in 0abb5cf738
to fix
some segfaults on exit, but things look much better with recent Qt versions.
2017-06-05 18:19:29 +02:00
Florian Bruhin
4d64bcc852
Make version.opengl_vendor() work with an existing context
...
This makes it possible to use it in :debug-console
2017-06-04 23:05:23 +02:00
Florian Bruhin
a858611bb9
Don't make errors in version.opengl_vendor() fatal
...
Fixes #2694
2017-06-04 22:55:39 +02:00
Florian Bruhin
722c117d54
Better handling of OpenSSL 1.1
...
Fixes #2690
2017-06-02 21:52:53 +02:00
Florian Bruhin
a90429fe6e
Update needed dependencies
...
Fixes #2683
2017-06-01 19:30:32 +02:00
Florian Bruhin
a690d242a4
Update webengine dependency message
2017-06-01 14:03:46 +02:00
Florian Bruhin
587861d899
Check for OpenGL ES later
...
It looks like we still got False on AppVeyor with "versionFunctions: Not
supported on OpenGL ES". Hopefully this helps.
2017-05-31 11:44:34 +02:00
Florian Bruhin
4cec9adce6
Fix lint
2017-05-31 09:44:17 +02:00
Florian Bruhin
912cea6e7d
Improve version.opengl_vendor()
...
On Windows with OpenGL ES we can't use versionFunctions, so we just return None
early.
Also, this fixes some lint and adds a smoke test.
2017-05-30 19:23:27 +02:00
Florian Bruhin
b8a32c577f
Merge branch 'nouveau'
2017-05-30 17:36:58 +02:00
Florian Bruhin
62b44c5338
Fix lint
2017-05-30 17:07:31 +02:00
Florian Bruhin
67755e6f6c
Add error message for QtWebEngine and Nouveau
...
See #2368
2017-05-30 16:47:39 +02:00
Florian Bruhin
048aec1aa6
Revert "Reorganize earlyinit checks"
...
This reverts commit 6f3f9ede01a6b30b105d5110a48cfea592e8db52.
2017-05-30 15:53:29 +02:00
Florian Bruhin
d0461eece3
Reorganize earlyinit checks
...
We first do all checks we can without knowing the backend, before getting that.
This is because we need to do some more stuff in get_backend now.
2017-05-30 15:53:29 +02:00
Florian Bruhin
1c6fd6f725
Add a backend warning when using QtWebKit
2017-05-30 08:42:37 +02:00
Florian Bruhin
4cb82af11e
Add QUTE_FAKE_OS_RELEASE envvar
2017-05-30 07:37:10 +02:00
Florian Bruhin
ef504e5b25
Allow None for WebKitElement.value
...
This fixes an exception when trying to run :open-editor with a comment field
with QtWebKit:
16:37:51 DEBUG webelem webelem:is_editable:238 Checking if element is editable: <qutebrowser.browser.webkit.webkitelem.WebKitElement html='<div id="writer9997095275-writer" class="writer selectable no-lub put-art-here ui-droppable empty" style="min-height: 146px; width: 1169px;" contenteditable="true"></div>'>
16:37:51 ERROR misc crashsignal:exception_hook:205 Uncaught exception
Traceback (most recent call last):
File "/home/florian/proj/qutebrowser/git/qutebrowser/app.py", line 882, in eventFilter
return handler(event)
File "/home/florian/proj/qutebrowser/git/qutebrowser/app.py", line 842, in _handle_key_event
return man.eventFilter(event)
File "/home/florian/proj/qutebrowser/git/qutebrowser/keyinput/modeman.py", line 337, in eventFilter
return self._eventFilter_keypress(event)
File "/home/florian/proj/qutebrowser/git/qutebrowser/keyinput/modeman.py", line 168, in _eventFilter_keypress
handled = parser.handle(event)
File "/home/florian/proj/qutebrowser/git/qutebrowser/keyinput/basekeyparser.py", line 307, in handle
handled = self._handle_special_key(e)
File "/home/florian/proj/qutebrowser/git/qutebrowser/keyinput/basekeyparser.py", line 136, in _handle_special_key
self.execute(cmdstr, self.Type.special, count)
File "/home/florian/proj/qutebrowser/git/qutebrowser/keyinput/keyparser.py", line 44, in execute
self._commandrunner.run(cmdstr, count)
File "/home/florian/proj/qutebrowser/git/qutebrowser/commands/runners.py", line 275, in run
result.cmd.run(self._win_id, args, count=count)
File "/home/florian/proj/qutebrowser/git/qutebrowser/commands/command.py", line 525, in run
self.handler(*posargs, **kwargs)
File "/home/florian/proj/qutebrowser/git/qutebrowser/browser/commands.py", line 1600, in open_editor
tab.elements.find_focused(self._open_editor_cb)
File "/home/florian/proj/qutebrowser/git/qutebrowser/browser/webkit/webkittab.py", line 589, in find_focused
callback(webkitelem.WebKitElement(elem, tab=self._tab))
File "/home/florian/proj/qutebrowser/git/qutebrowser/browser/commands.py", line 1580, in _open_editor_cb
text = elem.value()
File "/home/florian/proj/qutebrowser/git/qutebrowser/browser/webkit/webkitelem.py", line 116, in value
assert isinstance(val, (int, float, str)), val
AssertionError: None
2017-05-29 16:56:36 +02:00
Florian Bruhin
7186dcb98f
Send crash reports to private pastebin
...
Fixes #481
2017-05-29 09:20:10 +02:00
Florian Bruhin
b32223acc7
Only inherit private mode when window is set
...
Otherwise, everything calling _open in a private window (like :quickmark-load)
will open a new window.
2017-05-29 06:37:28 +02:00
Florian Bruhin
8bd6974042
Open a window with an empty session
...
With general -> save-session on and only private windows open, we can easily get
a session file with "windows: []" in it. If we loaded such a file, we got no
windows at all when qutebrowser started.
Fixes #2664
2017-05-28 11:15:51 +02:00
Florian Bruhin
beb731c04c
Move signal connections around
2017-05-28 10:54:16 +02:00
Florian Bruhin
06e754a632
Track HTML fullscreen per-tab
...
We now automatically get out of fullscreen when switching away from a
fullscreened tab. This also means we can't get into a situation where we can't
leave fullscreen anymore.
Fixes #2379 .
2017-05-28 10:51:14 +02:00
Florian Bruhin
a18ebd52a9
Rename TabWidget methods
2017-05-26 18:39:35 +02:00
Florian Bruhin
e96f085f8d
Merge commit '38ca583084e89de0da35cb1b626d21b051ea2c70'
2017-05-23 17:43:01 +02:00
Florian Bruhin
af1e1d9239
Merge commit 'c814ced7b35968cfdeb6284cc79168bfffed7c85'
2017-05-23 17:18:55 +02:00
Florian Bruhin
c32c01ffc0
Merge commit '419793c0b9ff4f293babea7623dcaf4787bbaa35'
2017-05-22 07:55:44 +02:00
Jay Kamat
419793c0b9
Misc cleanup and documentation update
2017-05-21 22:42:51 -07:00
Jay Kamat
00f001729b
Fix undo with pinned tabs
...
Add tests for undo with a pinned tab
Add tests for clone with a pinned tab
2017-05-21 21:03:33 -07:00
Jay Kamat
2a961c3951
Clean up pinned status to a centralized location
...
- Add support for :tab-clone with pinned tabs
Now tabbed_browser.set_tab_pinned can be called independently.
2017-05-21 19:49:10 -07:00
Florian Bruhin
aa8e6c8d17
Add parsed distribution to version info
...
Fixes #2369
2017-05-20 23:26:00 +02:00
Florian Bruhin
fe145b66c1
Add a version.distribution()
...
See #2369
2017-05-20 23:26:00 +02:00
Florian Bruhin
f66c1a0e44
Merge commit '3d9729839d6d9b5ee5d38afdf6ddf410dfca2027' into abbradar/pac-fix
2017-05-19 08:36:39 +02:00
Florian Bruhin
c4fb2bc609
Fix URL/renderer crash tests with Qt 5.9
...
The behavior in Qt changed there (in a good way), so we need to adjust the tests
accordingly.
Fixes #2514
2017-05-19 08:10:17 +02:00
Nikolay Amiantov
3d9729839d
Fix crash on PAC evaluation error
2017-05-18 16:54:49 +03:00
Florian Bruhin
00a7a0cee6
Reorganize pylint config
...
This removes various stuff we don't need anymoe, and also re-enables and fixes
the import order check.
2017-05-17 20:20:12 +02:00
Florian Bruhin
12520bf4ba
Install PyQt from PyPI for pylint
...
This means we can be sure to have QtWebEngine available and won't have QtWebKit.
2017-05-17 19:08:59 +02:00
Florian Bruhin
608ac89f06
Fix lint
2017-05-17 14:32:13 +02:00
Florian Bruhin
9898d80625
Remove legacy cx_Freeze code
...
This also removes frozen tests for now. They should be readded at some point...
2017-05-17 11:31:14 +02:00
Florian Bruhin
a48ea597d0
Set websettings on each profile's setting object
...
Turns out QWebEngineSettings.globalSettings() only sets things on the default
profile. We now get everything from the default profile settings, but set it on
both the default and the private profile.
Fixes #2638
(cherry picked from commit b11a4388cd10b6ff2fd917fca689ebdc50d581ae)
2017-05-17 06:31:51 +02:00
Jay Kamat
5e3c68530a
Regenerate documentation
2017-05-16 21:03:33 -07:00
Florian Bruhin
766a1ebb6d
Remove wrong private browsing assertion
...
This tried to assert that we never create a DiskCache object when private
browsing is turned on. However, when initializing, we still create a global
DiskCache, so this will hit when qutebrowser is started with private browsing
turned on via the config.
We could just not create the DiskCache at all when started in private browsing
mode, however we might still need it later when opening a non-private window.
2017-05-16 11:33:52 +02:00
Florian Bruhin
27aa40428e
Also make DownloadManager NAM private if private browsing is on
...
There's only one global DownloadManager with its own NAM (for downloads not
associated with a page). We can't really decide whether that should be private
or not, so as a best-effort approximation we simply make it private if private
browsing was turned on when starting qutebrowser.
2017-05-16 11:32:35 +02:00
Florian Bruhin
89dc8185b9
Fix lint
2017-05-16 09:08:59 +02:00
Florian Bruhin
1fcce6d87c
Change how error page retries work
...
A simple reload won't work when e.g. the renderer process crashed, so let's try
this instead.
Also, searchFor seemed to be unused.
2017-05-16 07:51:37 +02:00
Florian Bruhin
a4021e8e7a
Show error page for renderer process crashes on 5.9
...
Fixes #2291
2017-05-16 07:50:26 +02:00
Florian Bruhin
bdf56e63dd
Fix long line
2017-05-16 07:31:02 +02:00
Florian Bruhin
d0dd1644af
Set user agent correctly on QtWebEngine
2017-05-16 06:46:45 +02:00
Florian Bruhin
086139110d
Merge branch 'new-private-browsing'
2017-05-16 06:32:15 +02:00
Florian Bruhin
adb924a758
Use -p for :save-session --with-private
2017-05-16 06:28:21 +02:00
Florian Bruhin
658abf7b2b
Fix coverage on old Qt versions
2017-05-15 13:39:49 +02:00
Florian Bruhin
e13a5c0f17
Use a list for stylesheet flags
...
If we simply use sorted() on a dict, we define insert before private-command,
which means the statusbar isn't going to be green when in insert mode while
private browsing.
2017-05-15 11:07:43 +02:00
Florian Bruhin
3cdcc34d1d
Update private-browsing option description
2017-05-15 11:07:43 +02:00
Florian Bruhin
c4307c9f03
Fix lint
2017-05-15 11:07:43 +02:00
Florian Bruhin
f6fc2666ce
Generate stylesheet for statusbar
2017-05-15 11:07:43 +02:00
Florian Bruhin
73ca884d24
Add a setting for private command mode color
...
This also refactors how color properties are handled in StatusBar.
2017-05-15 11:07:43 +02:00
Florian Bruhin
3c3f695af4
Fix things pointed out in reviews
2017-05-15 11:07:43 +02:00
Florian Bruhin
6ee382ef30
Sort windows when saving sessions
...
This should help with flaky tests when the window order changes
2017-05-15 11:02:29 +02:00
Florian Bruhin
8993667479
Remove unused imports
2017-05-15 11:02:29 +02:00
Florian Bruhin
eda95d7926
Simplify window/private distinction in commands.py
2017-05-15 11:02:29 +02:00
Florian Bruhin
cde36f34b0
Remove QtWebKit-NG warnings
...
The next release will support private browsing, and we can't easily check the
version somehow.
2017-05-15 11:02:29 +02:00
Florian Bruhin
9805b43c85
Handle private browsing in sessions
2017-05-15 11:02:29 +02:00
Florian Bruhin
f907b6b6b0
Have an isolated command history for private windows
2017-05-15 11:02:26 +02:00
Florian Bruhin
dd675c4e8d
Set title for :view-source pages
2017-05-15 09:16:24 +02:00
Florian Bruhin
5b1d35bef9
Don't add data: URLs to history
2017-05-15 09:04:16 +02:00
Florian Bruhin
920dde4a68
Don't set an URL for :view-source tabs
...
Otherwise the page URL gets added to the history again with QtWebKit.
2017-05-15 09:03:45 +02:00
Jay Kamat
17169812be
Misc cleanup and fixes
2017-05-14 00:21:51 -07:00
Matthias Lisin
c814ced7b3
Add Android UA
2017-05-13 15:05:54 +02:00
Anton Grensjö
47f391d38b
Set explicit=False for :navigate --tab
...
Related to #2624
2017-05-13 04:16:49 +02:00
Jay Kamat
b526c9a2a9
Try to fix a pylint error
2017-05-12 18:38:06 -07:00
Jay Kamat
068e47e22c
Fix a few style issues
2017-05-12 16:56:07 -07:00
Florian Bruhin
273749cce8
Don't set explicit=True for :tab-clone/:view-source
...
Fixes #2624
2017-05-12 22:27:24 +02:00
Jay Kamat
2ae1bfc033
Keep pinned tabs in place rather than moving them.
2017-05-12 13:09:22 -07:00
Jay Kamat
66dfb1b1c9
Fix a bug with titles not being refreshed when pinning tabs
2017-05-12 09:53:25 -07:00
Florian Bruhin
17fdda6a5e
Check for href attribute in WebElement.is_link
...
Fixes #2619
2017-05-12 12:59:25 +02:00
Florian Bruhin
9e2aa65c02
Remove webelem.Group.prevnext
...
Apart from checking for buttons with an href attribute (which made no sense at
all and should never return any element) this was identical to
webelem.Group.links.
2017-05-12 09:41:12 +02:00
Florian Bruhin
203a5dff74
Get rid of webelem.FILTERS
...
There's actually no good reason to filter javascript links as we might want to
click them (or copy their URL) just like any other link - this fixes #2404 .
With that being gone, we don't need FILTERS at all anymore, as we can check for
existence of the href attribute in the CSS selector instead.
2017-05-12 09:41:12 +02:00
Jay Kamat
21455cf0e7
Clean up pinned tab alert logic
...
should be a lot more reusable now
2017-05-11 15:37:52 -07:00
Jay Kamat
4c28487fd0
Warn user if pinned tab is closed via tab-only
2017-05-11 14:30:45 -07:00
Jay Kamat
3317834b36
Fix a bug where pinned tabs were occasionally miscounted
...
Example case: :tab-only. This should cover other cases, but currently those
cases (such as :tab-only) do NOT have a warning message when popping up.
2017-05-11 13:28:26 -07:00
Jay Kamat
725bafea54
Merge branch 'master' into jay/pintab
2017-05-10 23:51:33 -07:00
Florian Bruhin
c6e31391de
Fix most tests/lint
2017-05-10 09:19:24 +02:00
Florian Bruhin
f4d3f97cb7
Implement private browsing for QtWebEngine
2017-05-10 09:17:54 +02:00
Florian Bruhin
1c50377c0a
Initial work on new private browsing
2017-05-10 07:00:21 +02:00
Florian Bruhin
b91d4ee9c2
Clean up :debug-webaction
2017-05-09 22:02:30 +02:00
Florian Bruhin
822623f2ed
Finally update copyrights...
2017-05-09 21:37:03 +02:00
Florian Bruhin
905032924a
Remove search_displayed initialization in subclasses
...
We set this in BrowserTab anyways, and the value in WebKitTab was wrong.
2017-05-09 17:58:28 +02:00
Florian Bruhin
4b5e528d05
Add AbstractTab.key_press
2017-05-09 17:56:07 +02:00
Florian Bruhin
76fa126133
Simplify debug string
2017-05-09 17:55:51 +02:00
Florian Bruhin
e3eda28d88
Update docstrings
2017-05-09 17:52:13 +02:00
Jay Kamat
e10d636ca0
Fix a few small issues
...
- Remove an unused warnings
- Reverse if statement arguments to simplify logic
2017-05-09 08:08:05 -07:00
Jay Kamat
a3d41c0467
Refactor search method of AbstractBrowserTab into a field
2017-05-09 00:24:13 -07:00
Jay Kamat
d1aac9e9e9
Add docstrings to key_press methods
2017-05-08 23:43:21 -07:00
Jay Kamat
5bdd291d28
Refactor key_press into _repeated_key_press
...
Also split off generic key pressing ability from WebKitScroller to WebKitTab
2017-05-08 23:11:50 -07:00
Jay Kamat
63cffaf558
Refactor _key_press from WebEngineScroller to WebEngineTab
2017-05-08 22:49:14 -07:00
Jay Kamat
c9953b9f0d
Add support for follow_selected via fake-clicks
2017-05-08 22:31:29 -07:00
Jay Kamat
e07a1045a8
Add is_link method to webelem
2017-05-08 22:00:11 -07:00
Florian Bruhin
9db92de2d5
Add a no cover pragma for certificate error hashing
2017-05-09 06:15:21 +02:00
Florian Bruhin
90b0af97ce
Improve serialization crash check
...
It now works correctly with view-source URLs and is disabled on Qt 5.9.
Fixes #2289
See #2458
2017-05-03 23:15:17 +02:00
Florian Bruhin
ea2d5e97e2
Disable serialization crash check on Qt 5.9
2017-05-03 21:31:09 +02:00
Florian Bruhin
ebf3d208f6
Adjust Qt 5.8.1 check
...
There's never going to be a 5.8.1
2017-05-03 21:25:00 +02:00
Florian Bruhin
a320aa5ef7
Disable renderer process crash workaround on Qt 5.9
2017-05-03 21:24:25 +02:00
Florian Bruhin
a77cb44723
Block all request methods in host blocker
2017-05-03 08:42:37 +02:00
Florian Bruhin
64e144f3eb
Make text selectable in prompts
2017-05-01 13:52:46 +02:00
Florian Bruhin
5bbd16c92a
Fix qWebKitVersion issues
2017-04-28 22:59:24 +02:00
Florian Bruhin
bffdea6719
Read qWebKitVersion in qtutils.is_webkit_ng.
...
This means we need to try and import qWebKitVersion in qtutils, but better there
than at every place which calls it.
2017-04-28 21:36:02 +02:00
Florian Bruhin
8101fe99a8
Fix starting with Python 2
...
Fixes #2567
2017-04-28 20:51:38 +02:00
Florian Bruhin
a5b1c293a4
Ignore comment position with eslint
2017-04-28 20:29:20 +02:00
Florian Bruhin
421aa0d319
Also try harder to get text content
2017-04-28 19:11:02 +02:00
Florian Bruhin
76ec465f67
Allow to set cookies-store at runtime with Qt 5.9
...
Fixes #2588
2017-04-28 17:40:43 +02:00
Florian Bruhin
5ed870e0c6
Fix lint
2017-04-28 16:29:44 +02:00
Florian Bruhin
6458c692cb
Improve JS value type checks
2017-04-28 15:15:32 +02:00
Florian Bruhin
571f0c4486
Loosen JS value type check
2017-04-28 14:57:14 +02:00
Florian Bruhin
0c653c4703
Handle elem.className in webelem.js
2017-04-28 14:48:30 +02:00
Florian Bruhin
513f83d446
Try harder to get tag name from element
...
This could happen for any of the attributes, but for tagName this actually
happens in the wild... Since elem.tagName is equal to elem.nodeName we just try
to use this.
Fixes #2569
2017-04-28 14:48:30 +02:00
Florian Bruhin
06e317ac53
Do type checks on values we get from JS
2017-04-28 14:48:30 +02:00
Florian Bruhin
4f92fe6895
Add an assert for tag_name we get from JS
...
This should help tracking down #2569 once we get another report about it.
2017-04-28 10:33:57 +02:00
Florian Bruhin
d8bfa6d6b7
Merge commit '6549fd84ce461d3098c13818219df4e4bfd6b444'
2017-04-27 21:15:09 +02:00
Florian Bruhin
d62ebdb926
Make most of search BDD tests work with QtWebEngine
2017-04-27 21:02:26 +02:00
Florian Bruhin
4cd977cab6
Fix zero handling in qflags_key
2017-04-27 20:14:51 +02:00
Niklas Haas
6549fd84ce
Add tabs->favicon-scale setting
...
This allows users to change the size of the favicon independently from
the size of the font/tab, in order to adjust the balance between
favicons and text. The drawing code is also adjusted to place the icon
relative to the text center, rather than the text top.
Works as expected even for values of 0.0 (which is equivalent to hiding
the favicon completely).
Closes #2549 .
2017-04-27 08:53:51 +02:00
Florian Bruhin
95b866e4f4
Merge commit 'fe7d21dfbe0b9dabcb66eaa61c20a5d16c9e175c'
2017-04-26 08:54:39 +02:00
Florian Bruhin
70d7a56b11
Also set Fusion style for downloads and completion
...
This makes those UI elements look the same on different platforms/OS styles,
with the small drawback of overriding the context menu style.
This most likely fixes #80 (though I couldn't reproduce that on Windows 10).
2017-04-25 22:20:37 +02:00
Florian Bruhin
66eb330a0a
Always base tabbar on Fusion style.
...
Fixes crashes with qt5ct.
Fixes #2477 .
Fixes #1554 .
2017-04-25 21:44:15 +02:00
Florian Bruhin
1015badb8b
Disable animation for completion view
2017-04-25 09:18:31 +02:00
Florian Bruhin
c3e6222296
Close the current tab when the tabbar itself is clicked
2017-04-25 06:59:51 +02:00
Florian Bruhin
3125b69d19
Fix no-cover pragma
2017-04-25 06:43:31 +02:00
Florian Bruhin
111944fb65
Revert "Raise exception when a stylesheet is unparsable."
...
This reverts commit 0400945ac4
.
See #2571
2017-04-24 23:16:10 +02:00
Imran Sobir
fe7d21dfbe
Show hostname in non-javascript history page.
2017-04-24 15:30:01 +05:00
Florian Bruhin
11c026bf4c
Reenable QtWebKit cache with Qt 5.9.
...
This was fixed here:
https://codereview.qt-project.org/#/c/190818/
See #2427
2017-04-24 12:27:00 +02:00
Imran Sobir
18082526f4
Show hostname in history page.
2017-04-24 10:59:11 +05:00
Marcel Schilling
930b0f0818
typo fix (in comment)
2017-04-24 07:56:44 +02:00
Florian Bruhin
52f31ed15c
Rename urlutils.safe_display_url to safe_display_string
2017-04-24 07:49:12 +02:00
Florian Bruhin
b632fe3285
Fix invalid URL handling in statusbar
2017-04-24 07:47:58 +02:00
Florian Bruhin
195d0ea207
Show Punycode URL for IDN pages in addition to decoded one
...
This helps when Unicode homographs are used for phishing purposes.
Fixes #2547
2017-04-24 06:58:41 +02:00
Florian Bruhin
beb661cdc7
Add xos4 Terminus to default monospace fonts
2017-04-23 23:11:12 +02:00
Florian Bruhin
9d2734ff62
Make sure host is valid for qute:// redirects
2017-04-16 13:15:15 +02:00
Florian Bruhin
c82bd83715
Implement RedirectNetworkReply.abort
2017-04-16 13:14:19 +02:00
Florian Bruhin
2d45257dcc
Remove exclamation mark for bookmark messages
2017-04-16 13:08:15 +02:00
Florian Bruhin
842c2d297e
Allow to set message clear timer to 0
...
Fixes #2527
2017-04-16 13:07:33 +02:00
Florian Bruhin
1d0f187fab
Adjustments for new pylint version
2017-04-13 18:22:16 +02:00
Fritz Reichwald
3d549bf607
Remove closeWriteChannel from detached start
2017-04-12 07:32:12 +02:00
Fritz Reichwald
bc7f8018c0
Close stdin after starting QProcess Fixes 2491
2017-04-12 06:56:38 +02:00
Florian Bruhin
c47da15bb1
Remove nargs=1 for --debug-flag
...
Otherwisse we get [['foo'], ['bar']] from argparse...
2017-04-11 21:26:23 +02:00
Florian Bruhin
20b17f3fb1
Improve --debug-flag error message
2017-04-11 21:21:07 +02:00
Florian Bruhin
b966034250
Merge commit 'f31aead992e829cb15c4fbedbf816a23d2a916a7' into jswz72/master
2017-04-11 21:17:49 +02:00
Jacob Sword
f31aead992
Add default to --debug-flag
2017-04-09 23:34:33 -04:00
Jacob Sword
dcf8f29a67
Remove old --pdb-postmortem and --debug-exit flags
2017-04-09 10:43:40 -05:00
Jacob Sword
c0ac1bd79a
Add 'dest' for '--debug-flag'
2017-04-09 10:34:51 -05:00
Jacob Sword
37d91cd17b
Merge branch 'master' of https://github.com/jswz72/qutebrowser
2017-04-08 19:05:22 -04:00
Jacob Sword
7588cdb185
fixed formatting issues
2017-04-08 19:04:25 -04:00
Jacob Sword
6ccb420230
Fix syntax error in debug-exit
2017-04-08 18:42:26 -04:00
Florian Bruhin
778832a813
Set path when redirecting qute:* URLs
...
Fixes #2513
2017-04-08 23:04:10 +02:00
Jacob Sword
45dff6c0c8
update usage of debug-flag arguments
2017-04-08 16:54:08 -04:00
Jacob Sword
dadbf7657f
Merge remote-tracking branch 'upstream/master'
2017-04-07 21:21:01 -04:00
Jacob Sword
3b87e7c297
Add --debug-exit argument and validity check
2017-04-07 21:12:42 -04:00
Florian Bruhin
fd9b86a340
Remove unused imports
2017-04-06 21:40:26 +02:00
Florian Bruhin
871504d91b
Fix undefined names
2017-04-06 21:37:23 +02:00
Florian Bruhin
4ec5700cbf
Redirect qute:foo to qute://foo
...
Before, we just returned the same data for both, but then we'll run into
same-origin restrictions as qute:history and qute:history/data are not the same
host.
2017-04-06 21:18:58 +02:00
Florian Bruhin
3cc9f9f073
Don't use from-import
2017-04-06 20:36:54 +02:00
Florian Bruhin
760dca475e
Merge commit 'be254be13a61171d4109224450db9e67d1076080' into imransobir/fix-webkit-history
2017-04-06 20:34:49 +02:00
Martin Tournoij
e7755f5d9f
Add :debug-log-filter none
...
This allows us to clear any filters. Useful for users, and needed for
the tests.
2017-04-04 20:51:14 +01:00
Martin Tournoij
200e439a30
Fix crash of :debug-log-filter when --filter wasn't given
...
There was no `LogFilter`. The fix is to always initialize a
`LogFilter()` with `None`. as the "filter".
Fixes #2303 .
2017-04-04 17:45:23 +01:00
Imran Sobir
be254be13a
Use new history page on webkit-ng.
2017-04-04 19:21:25 +05:00
Martin Tournoij
c5427a0127
Fix display of errors while reading the key config file
...
Also catch `cmdexc.CommandError` on startup to show these errors in the
alert dialog on startup.
Fixes #1340
2017-04-04 09:50:12 +01:00
Florian Bruhin
0de3b5460e
Only disable the cache on Qt 5.7.1
...
I ended up bisecting it, and https://codereview.qt-project.org/#/c/153977/
causes this, which is not in 5.7.0.
2017-04-04 08:24:50 +02:00
Florian Bruhin
2eb365b146
Also disable cache on Qt 5.7
2017-04-03 20:22:54 +02:00
Florian Bruhin
b6642e66fa
Fix cache tests on Qt 5.8
2017-04-03 19:41:37 +02:00
Florian Bruhin
1b0ea19ca4
Disable QtNetwork cache on Qt 5.8
...
See #2427
2017-04-03 17:49:13 +02:00
Florian Bruhin
cb4c64eec9
Remove null argument for QtValueError
2017-04-03 10:18:56 +02:00
Florian Bruhin
2c3fcda18e
Remove qtutils.ensure_not_null
...
It's not used anymore.
2017-04-03 09:32:13 +02:00
Florian Bruhin
3b1b325711
Fix logging
2017-04-03 09:04:28 +02:00
Florian Bruhin
a11356bb99
Don't require working icon to start
2017-04-03 08:32:39 +02:00
Florian Bruhin
35181ff84e
Merge commit '4004d5adf09e6d22dae5d781a02c5fc2bbd26724' into Carpetsmoker/unwritable-keyconf
2017-04-03 06:55:01 +02:00
Martin Tournoij
4004d5adf0
Don't crash when trying to write an unwritable keyconf.
...
Also change the logic in _load_default a wee bit so that it won't try to
write the keys.conf on startup.
Fixes #1235
2017-04-03 01:48:39 +01:00
Florian Bruhin
248ff09624
Merge commit '5efca155948bc467e4fb7b19dafd98d47e33745b' into Carpetsmoker/config-comments
2017-04-02 19:14:00 +02:00
Florian Bruhin
b20267b57d
Merge commit '7f13c9a3c31aa719144ca3afcad7af305dd2f6ed' into Carpetsmoker/relax-cmdline
2017-04-02 18:47:00 +02:00
Florian Bruhin
338307ac24
Add #noqa for Quitter._shutdown
2017-04-02 18:35:10 +02:00
Martin Tournoij
79a22f1f47
Allow pressing ^C when there's an unknown setting
...
All of it is just converting `objreg.get('xxx')` to `objreg.get('xxx',
None)` and adding a `if xxx is not None` check.
Fixes #1170
2017-04-01 21:14:35 +01:00
Martin Tournoij
7f13c9a3c3
Relax commandline parsing a bit
...
Problem 1: Entering a command of `:::save` gives an error.
Problem 2: Entering a command of `:save\n` gives an error.
Both scenarios may seem a bit silly at first, but I encountered both by
copy/pasting a command:
1. Enter `:` in qutebrowser.
2. Copy a full line from a terminal starting with `:`.
3. You will now have both of the above problems.
Solution: Trim all whitespace and `:` of a command. This is also what
Vim does, by the way.
2017-03-31 17:14:11 +01:00
Florian Bruhin
1eda2b0ea4
Fallback to clipboard when primary selection is unsupported
2017-03-31 13:05:34 +02:00
Florian Bruhin
64feb62fb1
Paste clipboard when using shift-insert in prompts
2017-03-31 13:05:34 +02:00
Florian Bruhin
708b46d6c0
Fix text with empty primary selection
2017-03-31 13:03:40 +02:00
Florian Bruhin
2c4e549d80
Close temporary download file for QtWebEngine
...
Otherwise, Chromium won't be able to write on it on Windows - and we only
need the name anyways.
2017-03-31 13:03:18 +02:00
Florian Bruhin
a55d1b1ee8
Save old socket for IPC
...
At least on Windows with Qt 5.8, we get readyRead notifications *after*
disconnect...
2017-03-31 13:03:17 +02:00
Martin Tournoij
5efca15594
Put option comments right above the option value
...
Problem: I like to edit `~/.config/qutebrowser/qutebrowser.conf`
manually with Vim. This works great, except that the current format is a
bit of a pain to deal with:
[section-name]
# section description
#
# [ Description of all the options]
actual options
So if I want to know the description or what the default value is, I
need to scroll up and back down.
Solution: change the order of the comments to:
# section description
[section-name]
# Option description
option = value
# Option description two
optiontwo = value
# Hello, world!
[section-two]
...
Which is much more convenient (and also what almost any other program
does).
(This patch changes much less code than it looks in the diff; I just
de-looped and moved `_str_option_desc` below `_str_items` as that makes
more sense since it gets called by `_str_items`).
2017-03-30 18:45:28 +01:00
Florian Bruhin
6939f81de7
Merge commit '563a5431e35831cb0a8c418835c54d0264d92c78' into Kingdread/windows-drive-cwd
2017-03-30 10:48:39 +02:00
Florian Bruhin
2377235c14
Merge commit 'caf0a87e16cf930f67ce9fc64ea94e17cae6269d' into amosbird/master
2017-03-30 10:48:32 +02:00
Florian Bruhin
6a144ef7bd
Merge branch 'Kingdread/windows-drive-cwd'
2017-03-30 10:41:58 +02:00
Daniel Schadt
563a5431e3
fixup! use message.error instead of a tooltip
2017-03-29 18:32:07 +02:00
Daniel Schadt
186eab8eb1
use message.error instead of a tooltip
2017-03-29 17:07:53 +02:00
Daniel Schadt
99f7bfa712
show messages on top of the prompt
...
Otherwise, errors are hidden behind the prompt, which makes it hard to
use them in the filename prompt.
2017-03-29 16:44:29 +02:00
Imran Sobir
3aaebe83fb
Remove noscript message from history.html.
2017-03-29 14:22:58 +05:00
Amos Bird
caf0a87e16
Fix #2476 , recognize SOCKS5, SOCKS4 in proxy.
2017-03-29 14:22:37 +08:00
Imran Sobir
4a4c7b96d1
Add nojs history page.
2017-03-28 18:34:47 +05:00
Florian Bruhin
bcb4649235
Fix crash when window_ids change during init
2017-03-27 08:00:19 +02:00
Florian Bruhin
b98d34b29c
Handle None-tab in get_tab_fields
...
I can't reproduce this but I got a crash report about it.
2017-03-27 07:57:43 +02:00
Florian Bruhin
bcee6d295c
Handle None-widget in tabbedbrowser.widgets()
...
I can't reproduce this, but got a crash report about it.
2017-03-27 07:52:33 +02:00
Florian Bruhin
f6906512dc
Merge commit 'df93e30ec20dd1b2b4fe163bdb5a69c232fb8c71' into Al-Caveman/master
2017-03-27 07:00:53 +02:00
Florian Bruhin
37d22a7cfd
Merge commit '9dccd00ebb2483fd0bb6c6447f57c76a4b40d335' into Kingdread/windows-drive-cwd
2017-03-26 22:14:47 +02:00
Florian Bruhin
39b09f7822
Improve messageview hide code
2017-03-26 15:03:44 +02:00
Florian Bruhin
2181e1ddc4
Merge commit '13677d3563dbd01ae188a2b1a79c7dd840a5dc5e' into pkill-nine/upstream-master-close_message_on_click
2017-03-26 14:59:08 +02:00
pkill9
5e1c530d71
Add docstring to MessageView.mousePressEvent
2017-03-25 21:03:21 +00:00
pkill9
67034273f7
Move criteria into a list and add middle mouse button.
2017-03-25 15:58:37 +00:00
caveman
df93e30ec2
fixes #2468
2017-03-25 11:44:36 +04:00
Daniel Schadt
9dccd00ebb
fix unused import
2017-03-24 14:49:30 +01:00
Daniel Schadt
df83f7aa99
also add path transformations to :download
2017-03-24 12:30:29 +01:00
Daniel Schadt
07b3a7db7c
add integration tests for reserved filenames
2017-03-24 11:57:05 +01:00
Daniel Schadt
bc4430e5d9
prevent reserved filenames on Windows
...
Fixes #82
Prevents filenames like COM1, ...
2017-03-24 11:36:19 +01:00
Daniel Schadt
9d905ebb5c
disallow filenames like E:filename
...
Per-drive working directories are not really supported.
2017-03-24 11:04:20 +01:00
Daniel Schadt
3da21a32d2
treat E: and E:\ the same when downloading
...
Fixes #2305
2017-03-23 18:16:15 +01:00
Ryan Roden-Corrent
a68f997d95
Make keyhint delay configurable.
...
ui.keyhint-delay controls the time from starting a keychain to showing the
keyhint dialog. Resolves #2462 .
2017-03-22 21:50:26 -04:00
Florian Bruhin
042ffeca91
Merge commit '631936361405d812f353b4108246c883cdf48100' into Kingdread/issue-2304
2017-03-22 22:50:28 +01:00
Florian Bruhin
4d65abfcc6
Check if widget is deleted in _on_webkit_icon_changed
2017-03-22 06:32:09 +01:00
Daniel Schadt
ebc70f66e5
Check for None-reply in _do_die
...
Fixes #2304
In some cases, the finished handler fired before the error handler, e.g.
when downloading a 500 error page that is sent as attachment:
HTTP/1.1 500 Internal Server Error
Content-Type: application/octet-stream
Content-Disposition: inline; filename="attachment.jpg"
here we downloaded 0 bytes, fired the finished handler and after that
fired the error handler because of the 500 - but the finished handler
had already set our reply to None (and displayed the error message).
2017-03-21 18:54:21 +01:00
Florian Bruhin
f8e043214a
Update WORKAROUND comments
2017-03-21 10:29:31 +01:00
Florian Bruhin
081abde9cd
Fix indent
2017-03-20 22:06:05 +01:00
Florian Bruhin
3fbb9a14e0
Fix continuing a search after clearing it
...
Fixes #2438
2017-03-20 21:34:33 +01:00
Florian Bruhin
c996245012
Fix line length
2017-03-20 16:48:21 +01:00
Florian Bruhin
98f17a03bb
Prevent page without history from being serialized
...
Fixes #2458
2017-03-20 11:50:04 +01:00
Florian Bruhin
6888ac04e1
Fix handling of failed downloads with QtWebEngine
2017-03-20 09:44:07 +01:00
Florian Bruhin
3e2ba32240
Fix retrying downloads with QtWebEngine
...
Fixes #2298
2017-03-20 09:35:53 +01:00
Florian Bruhin
7652b6ae03
Merge commit '724e6b29c38a55f722f17997379f1ebe190fa6db'
2017-03-20 09:11:47 +01:00
thuck
650b1de3b6
Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab
2017-03-19 14:26:48 +01:00
thuck
02bf0401ab
Last pinned to pinned_count
2017-03-19 14:05:21 +01:00
thuck
2eb07fc9cc
Fix line size
2017-03-19 14:03:24 +01:00
Florian Bruhin
99c7301fb4
Update IPC atime once all 3h
...
See #996
2017-03-16 09:24:49 +01:00
Imran Sobir
724e6b29c3
Make session interval configurable.
2017-03-16 12:11:16 +05:00
Imran Sobir
fb97c6dffc
Send history item atime in milliseconds.
2017-03-16 12:03:40 +05:00
Florian Bruhin
d33e590ce5
Fix lint
2017-03-15 22:15:52 +01:00
Florian Bruhin
85fff35eef
Merge branch 'gl-workaround'
2017-03-15 19:52:33 +01:00
Florian Bruhin
0877092cea
Add workaround for black screen with QtWebEngine
...
Fixes #2441
2017-03-15 19:52:21 +01:00
Florian Bruhin
84d2e9adc6
Improve documentation around scrolling
...
Fixes #2447
2017-03-14 16:58:33 +01:00
Florian Bruhin
8d9030ec47
Use debug log for on_timeout message
2017-03-13 07:01:21 +01:00
pkill9
b1771a13c9
Removed setting.
2017-03-12 16:48:57 +00:00
pkill9
87c4c143bf
Clear notification messages in a window when they're clicked.
2017-03-11 20:45:12 +00:00
Imran Sobir
ccbf8572c3
Check for null when receiving history.
2017-03-09 22:16:46 +05:00
Imran Sobir
19b7f779ef
Fix ambiguity in history table ID.
2017-03-09 21:41:57 +05:00
Imran Sobir
3fbeecbec2
Hide 'Show more' when Javascript is disabled.
2017-03-09 21:35:22 +05:00
Florian Bruhin
eb2888a957
Merge commit 'd3b16bbd075f9e8c8656a402975d776088c2dab8' into pkill-nine/upstream-master-close_messages
2017-03-08 19:19:30 +01:00
Florian Bruhin
4278cd5e3e
Remove unused operator imports
2017-03-08 19:10:29 +01:00
pkill9
d3b16bbd07
Add command to clear messages - cleaner
2017-03-08 10:49:15 +00:00
Florian Bruhin
7ba01e6764
Get rid of utils.actute_warning
...
Only Ubuntu Trusty still uses Qt < 5.3, and the issue seems to be fixed there by
now.
2017-03-08 09:25:46 +01:00
Florian Bruhin
f86f9cd92a
Refactor qtutils.version_check API
...
Fixes #2423
2017-03-08 08:41:18 +01:00
Florian Bruhin
dfb4374ae1
Release v0.10.1
2017-03-08 06:26:22 +01:00
Florian Bruhin
7c9d004bbc
Fix compiled version check
...
Fixes #2412
2017-03-07 22:05:17 +01:00
Florian Bruhin
4c3c86081f
Refactor adblock parsing
2017-03-07 21:46:04 +01:00
Florian Bruhin
c45019f0a0
Handle invalid UTF8 data in hostblock lists
...
Fixes #2301
2017-03-07 20:25:13 +01:00
Florian Bruhin
d42dff67f2
Reorder initialization
...
marcos.init() really belongs into _init_modules, and we need to do _process_args
after everything has been initialized.
Fixes #2408 .
2017-03-07 06:46:35 +01:00
pkill9
74be2fa4b9
Add command to close all messages.
2017-03-05 14:55:28 +00:00
Florian Bruhin
ec42d2fd2a
Merge branch 'fast-open-download' of https://github.com/Kingdread/qutebrowser into Kingdread-fast-open-download
2017-03-05 15:50:38 +01:00
Florian Bruhin
a585015d9d
Merge branch 'hide_adblock_message' of https://github.com/TomRiddle01/qutebrowser into TomRiddle01-hide_adblock_message
2017-03-05 15:18:43 +01:00
Florian Bruhin
a1c7d179e3
Only call QApplication::sync() with QtWebEngine
2017-03-05 15:16:14 +01:00
Florian Bruhin
c422897abb
Make sure to process history after the rest of init is done
...
Otherwise, with 5ccafd62d4
the history starts
processing before the webview opened, and opening it is delayed until the whole
history is read.
Instead, call _process_args directly (I'm not even sure why it was using a 0ms
QTimer...) and schedule _init_late_modules after everything is really done.
2017-03-04 18:24:44 +01:00
Florian Bruhin
5ccafd62d4
Fix initial keyboard focus with QtWebEngine
...
Fixes #2321 .
2017-03-04 18:11:34 +01:00
Florian Bruhin
e81edc8224
ipc: Delay deleting of QLocalSocket on disconnect
...
Fixes #2396 .
See https://bugreports.qt.io/browse/QTBUG-59297 and
https://github.com/qutebrowser/qutebrowser/issues/2321#issuecomment-284024213
2017-03-04 18:11:34 +01:00
Yannis Rohloff
7984643365
flake8 fails fixed
2017-03-04 17:16:52 +01:00
Yannis Rohloff
5d5652a24b
always read the host file
2017-03-04 17:08:53 +01:00
Yannis Rohloff
6219b37c39
adblock: Don't show message if host-blocking-enabled is true
...
Fixes #2364
2017-03-04 16:39:44 +01:00
Imran Sobir
0092b18c44
Fix qute:javascript on Windows.
2017-03-04 19:37:48 +05:00
Daniel Schadt
90f12a1d5a
return fast from DownloadItem.open_file
...
Fixes #2296
By using a singleshot timer, we return fast from DownloadItem.open_file,
which in turn closes the prompt fast, which in turn doesn't allow a
second Ctrl-x to be registered, which in turn doesn't want to set the
filename twice.
2017-03-04 11:30:41 +01:00
Florian Bruhin
0186a9bde5
Fix lint
2017-03-02 21:10:31 +01:00
Florian Bruhin
75bc400e74
Add Chromium version to version output
...
This also restructures things a bit to show the backend version together with
the backend.
Fixes #2380
2017-03-02 20:22:17 +01:00
Imran Sobir
96e81f595f
Fix a case where 'next' is not correctly returned.
2017-03-02 23:14:00 +05:00
Florian Bruhin
56ab02f54d
Set tab as parent for print dialogs
...
Fixes #2366
2017-03-02 18:44:07 +01:00
Imran Sobir
895620b536
Don't assume 'next' appears last.
2017-03-02 22:40:24 +05:00
Florian Bruhin
81a36ffd7d
Strip QtWebEngine download suffixes properly
...
Fixes #2386
2017-03-01 23:43:04 +01:00
Florian Bruhin
f4490fb90c
Fix WebKitElement._move_text_cursor with old PyQt
2017-03-01 20:19:40 +01:00
Florian Bruhin
1f12b4c1c1
Relax validation of QssColor values
...
Fixes #2370
2017-03-01 18:11:53 +01:00
Florian Bruhin
65f407e926
Remove webelem.style_property()
...
It's not used anymore, and not possible to support with QtWebEngine without a
massive performance hit when serializing elements.
2017-03-01 17:54:27 +01:00
Florian Bruhin
03f1e0913d
Add _js_call to WebEngineElement
2017-03-01 17:34:21 +01:00
Florian Bruhin
bc0a9cd94d
Move cursor to end with input elements on QtWebEngine
2017-03-01 17:30:48 +01:00
Florian Bruhin
1e1ba34b60
Fix selecting text fields with QtWebKit
...
Using focus() in JS there means that existing text in the field gets selected.
Move the cursor to the end after focusing it to prevent that.
Fixes #2359
2017-03-01 17:13:02 +01:00
Florian Bruhin
deb59fc66e
Don't strip info when loading PAC from a file
2017-03-01 14:19:23 +01:00
Florian Bruhin
9bb5c9fdab
Remove UserInfo and path/query for PAC URLs
2017-03-01 14:19:13 +01:00
Florian Bruhin
1e42fd1319
Fix lint
2017-03-01 11:12:28 +01:00
Florian Bruhin
61e7d5883f
Merge branch 'ZZ-and-ZQ' of https://github.com/wasamasa/qutebrowser into wasamasa-ZZ-and-ZQ
2017-02-28 21:22:55 +01:00
Florian Bruhin
47a9c8e17c
Also check compiled Qt version in version checks
2017-02-28 21:01:47 +01:00
Florian Bruhin
67dfbc7e5f
Don't create QWebEngine profile at import time
...
Fixes #2378
2017-02-28 17:24:48 +01:00
Imran Sobir
cb6c6b814e
Fix pylint errors.
2017-02-28 20:11:51 +05:00
Imran Sobir
9e6b0240f6
Put javascript in module, fix lint errors
2017-02-28 19:23:31 +05:00
Imran Sobir
3e45f739fc
Show message when Javascript is turned off.
2017-02-28 19:22:10 +05:00
Florian Bruhin
9be0e0d57d
Clarify javascript-can-access-clipboard description
...
Fixes #2374 .
2017-02-27 20:28:47 +01:00
Imran Sobir
e8db008671
Move qute:history javascript to own file.
2017-02-27 22:44:13 +05:00
Imran Sobir
3b3846c9dc
Add qute:javascript to serve JS files.
2017-02-27 22:37:24 +05:00
Florian Bruhin
fb5377b710
Remove unnecessary code
2017-02-27 17:55:50 +01:00
Imran Sobir
783769d302
Load new history items from next item's time.
2017-02-27 21:44:23 +05:00
Imran Sobir
c4416c8ac0
Prevent crash with invalid start_time param.
2017-02-27 21:41:35 +05:00
Imran Sobir
c223f6c69d
Style/misc fixes.
2017-02-27 21:39:51 +05:00
Florian Bruhin
94cabdb840
Use double dashes for --qt-arg/--qt-flag
...
Qt seems to not care about -style vs --style, but this way we can also pass
stuff to Chromium.
2017-02-27 13:33:12 +01:00
Florian Bruhin
c59b6bf02b
Handle invalid layout in TabBarStyle.subElementRect
2017-02-27 09:05:40 +01:00
Imran Sobir
76bf8c0049
Convert history to list before converting to JSON.
2017-02-26 19:58:14 +05:00
Imran Sobir
845f21b275
New qute:history page.
2017-02-26 17:07:30 +05:00
Vasilij Schneidermann
ce433bd139
Add ZZ and ZQ keys to (save and) quit the session
2017-02-25 23:10:18 +01:00
Florian Bruhin
469445e816
Release v0.10.0
2017-02-25 21:47:56 +01:00
Florian Bruhin
fc2250b3b2
Merge branch 'session-save-only-active-window' of https://github.com/danfis/qutebrowser into danfis-session-save-only-active-window
2017-02-25 17:55:42 +01:00
Florian Bruhin
9656449545
Merge branch 'master' of https://github.com/kiryl/qutebrowser into kiryl-master
2017-02-25 17:53:05 +01:00
Florian Bruhin
496b70697b
Merge branch 'newbmarkstyle' of https://github.com/imransobir/qutebrowser into imransobir-newbmarkstyle
2017-02-25 17:46:21 +01:00
Florian Bruhin
1eab108323
Merge branch 'upstream-master-jseval-file' of https://github.com/pkill-nine/qutebrowser into pkill-nine-upstream-master-jseval-file
2017-02-25 17:26:12 +01:00
pkill9
6cb48ba2b6
Adds a --file flag to :jseval
2017-02-25 13:11:53 +00:00
Florian Bruhin
48c9a4061b
Also fix ACE hinting for QtWebKit
2017-02-24 18:36:15 +01:00
Florian Bruhin
23183bd918
Fix hinting in ACE editors
2017-02-24 15:12:35 +01:00
Florian Bruhin
3feb4211fe
Don't show hints for opacity: 0 elements
...
Fixes #2347
2017-02-24 09:13:25 +01:00
Florian Bruhin
e832105dd5
Treat the Jupyter input line as editable
2017-02-23 17:43:22 +01:00
Imran Sobir
34abad27c4
Use jinja filter to set default title.
2017-02-23 19:29:49 +05:00
Imran Sobir
4b643f0b74
Extract common styling from bookmarks, history.
2017-02-23 19:23:18 +05:00
Florian Bruhin
91d3326a9e
Show a warning when using private-browsing with QtWebKit-NG
2017-02-23 06:49:09 +01:00
Florian Bruhin
6004bfa72f
Don't lose warnings shown in early init phases
2017-02-23 06:48:58 +01:00
Florian Bruhin
cd2c547b6b
Don't show error if no autosave session exists
2017-02-22 23:17:59 +01:00
Daniel Fiser
6e1ac8be78
Fixed indentation of SessionManager.save() arguments.
2017-02-22 10:37:55 +01:00
Daniel Fiser
bb5825e043
session-save: in case of --only-active-window, the win-id is determined in session_save().
2017-02-22 10:22:30 +01:00
Daniel Fiser
bb74b2703f
session-save: doc generated from docstring.
2017-02-22 09:59:29 +01:00
Florian Bruhin
5379138c17
Merge branch 'pac+file' of https://github.com/kiryl/qutebrowser into kiryl-pac+file
2017-02-22 07:35:06 +01:00
Florian Bruhin
e8443241df
Allow input -> mouse-zoom-divider to be 0
2017-02-22 05:15:57 +01:00
Florian Bruhin
5a87c9b6cb
Re-add missing import
2017-02-21 19:44:15 +01:00
Florian Bruhin
b69d66e437
Actually check for Qt 5.7.1
2017-02-21 19:28:22 +01:00
Florian Bruhin
71f7b01ea7
Bring back PyQt (but not Qt) 5.7.0 support with QtWebEngine
...
This was originally removed in a86170f45
, however Debian testing (Stretch) comes
with Qt 5.7.1, but PyQt 5.7.
2017-02-21 19:25:18 +01:00
Florian Bruhin
a179d6a738
Improve earlyinit Qt/PyQt version messages
2017-02-21 19:15:22 +01:00
Kirill A. Shutemov
ac3c8bb319
pac_utils.js: remove excessive escaping
...
Looks like the implementation was derived from Mozilla's
nsProxyAutoConfig.js, which is evaluated twice. It requires double
escaping.
In our case excessive escaping is harmful.
In particular it makes ip-matching regexp in isInNet() invalid and makes
it really slow as we go to dnsResolve() all the time, even when it's not
needed.
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
2017-02-21 15:23:27 +03:00
Imran Sobir
7cb384aaf3
Update qute:bookmarks design.
2017-02-21 16:02:03 +05:00
Kirill A. Shutemov
de088c18b9
Allow pac+file proxy scheme to load PAC file from local filesystem
...
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
2017-02-21 12:57:18 +03:00
Kirill A. Shutemov
13213724b0
PAC: fix isPlainHostName()
...
Fix isPlainHostName() implementation and add test-case for it.
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
2017-02-21 12:16:46 +03:00
Florian Bruhin
25f217552c
Remove unused import
2017-02-21 06:17:17 +01:00
Florian Bruhin
1708b38d7b
Add SessionManager.{save,delete}_autosave
2017-02-20 07:43:41 +01:00
Florian Bruhin
ee25e900f8
Add error handling for autosave session
2017-02-20 06:44:23 +01:00
Florian Bruhin
cafff3e1b6
Merge branch 'session-autosave' of https://github.com/cosminadrianpopescu/qutebrowser into cosminadrianpopescu-session-autosave
2017-02-20 06:30:34 +01:00
Florian Bruhin
eb4d699be3
Add missing click_target arg to _click_editable
2017-02-19 20:46:43 +01:00
Florian Bruhin
389501deb9
Merge branch 'navigate-fix' of https://github.com/EliteTK/qutebrowser into EliteTK-navigate-fix
2017-02-19 20:22:27 +01:00
Florian Bruhin
f772ccb203
QtWebEngine: Fall back to events for hints if JS is broken
...
*cough* musl *cough*
2017-02-19 20:03:27 +01:00
Florian Bruhin
5b4b226186
Add Qt library/data paths to version info
2017-02-19 14:02:40 +01:00
Tomasz Kramkowski
5b7090e402
browser/navigate: _find_nextprev allow for space sep rel attribs
...
The _find_nextprev function of browser/navigate.py only checks to see if
the rell attribute equals 'prev', 'previous', or 'next'. This patch
changes this to check for a set intersection between {'prev',
'previous'} or {'next'} and the set of the space separated list of the
rel attribute.
2017-02-19 12:31:09 +00:00
Florian Bruhin
01db59ff36
Handle all uerscript errors when hinting with userscript-target
2017-02-19 13:15:15 +01:00
Florian Bruhin
4e74fff5e8
Test/lint fixes
2017-02-18 00:10:13 +01:00
Florian Bruhin
410b56447a
Temporarily set JavascriptCanOpenWindows for hints
...
This partially reverts ba21fb3784
.
Fixes #2311 .
2017-02-17 22:08:46 +01:00
Florian Bruhin
a767e33f15
Re-add title setting code
2017-02-17 15:52:12 +01:00
Florian Bruhin
dcdfc116a4
Fix indent
2017-02-17 15:52:05 +01:00
Florian Bruhin
0deb422cfd
Remove unused imports
2017-02-17 15:44:25 +01:00
Florian Bruhin
b5dd69f4a6
Add some logging for clicking
2017-02-17 15:43:25 +01:00
Florian Bruhin
a86170f45d
Drop PyQt < 5.7.1 support for QtWebEngine
2017-02-17 14:42:57 +01:00
Florian Bruhin
7a4a34c374
Fix WebEngineElement.click on Qt 5.6
2017-02-17 14:32:45 +01:00
Florian Bruhin
ba21fb3784
webengine: Use _click_href for hinting target=_blank links
...
Fixes #2311
2017-02-17 06:57:31 +01:00
Florian Bruhin
40e1337e03
Adjust WebEngineEleement _js_dict in remove_blank_target
...
Otherwise, when checking later if the element has target=_blank set, we still
think it is.
This is not perfect as remove_blank_target also removes it from sub-elements,
but it's a good start.
2017-02-17 06:56:12 +01:00
Florian Bruhin
3de2bfb277
Handle renderer process not starting at all
2017-02-13 11:23:29 +01:00
Florian Bruhin
2b76cca2b2
Improve earlyinit error messages
2017-02-12 21:19:58 +01:00
Florian Bruhin
d60e365e3c
Don't use _click_js for target=_blank links
...
Fixes #2311
2017-02-12 01:06:56 +01:00
Florian Bruhin
a4f04db848
Cap scroll count to 5000
...
Fixes #1694
2017-02-11 22:26:37 +01:00
Florian Bruhin
b73cda22de
Fix lint
2017-02-11 21:17:16 +01:00
Florian Bruhin
bd8ead2279
Detect rel-attributes on <a> elements for :navigate
2017-02-11 20:48:48 +01:00
Florian Bruhin
66cbb8aa31
Fix lint
2017-02-11 17:22:35 +01:00
Florian Bruhin
b15ae97444
Get timestamp of curr_date instead of today
2017-02-11 17:06:51 +01:00
Florian Bruhin
c3153273f5
Merge branch 'master' of https://github.com/imransobir/qutebrowser into imransobir-master
2017-02-11 17:05:57 +01:00
Imran Sobir
37c3b79b9b
Add :history command.
2017-02-10 17:47:20 +05:00
Florian Bruhin
46752a2c24
Add some performance improvements for qute:history
2017-02-10 11:39:08 +05:00
Imran Sobir
9001ec079c
Align history time to the right.
2017-02-09 18:37:33 +05:00
Imran Sobir
d21585f603
Add rel=prev, rel=next to pagination links.
2017-02-09 18:11:17 +05:00
Florian Bruhin
85d8d45e19
Ask for confirmation with :history-clear
2017-02-09 13:20:00 +01:00
Imran Sobir
a15aa9eade
Hide next links to future.
2017-02-09 17:18:57 +05:00
Florian Bruhin
859974fa99
Don't crash without hint context in HintManager._start_cb
2017-02-08 22:49:25 +01:00
Florian Bruhin
b5ab3adc8c
Fix sip.assign check
2017-02-08 22:27:49 +01:00
Florian Bruhin
0897e8e5ad
Add pdfjs path for pdf.js in AUR
2017-02-08 22:17:34 +01:00
Florian Bruhin
3adcfddfff
Handle LookupError when reading adblock zips
2017-02-08 22:17:30 +01:00
Florian Bruhin
4d08dc5ddb
Point out QtWebKit-NG in version info
2017-02-08 18:34:50 +01:00
Florian Bruhin
df35c9138b
Filter out uninteresting elements early in TabBarStyle
...
Otherwise we call _tab_layout on something which is not a QStyleOptionTab, which
might cause AttributeErrors. In a crash report I couldn't reproduce, it got
called with a QStyleOptionMenuItem when right-clicking on the page.
2017-02-08 16:53:03 +01:00
Florian Bruhin
36e2cc9628
Fix broken "if" when closing tab.
...
Combining the "add_undo" with "tab.url().isValid()" was a mistake as the "else"
meant something else then...
2017-02-08 12:45:09 +01:00
Florian Bruhin
6ae7960d9a
Fix lint
2017-02-08 12:14:24 +01:00
Florian Bruhin
2501eed5f5
Re-add tab.deleteLater() call
...
This got removed in 1af951fd62
but
tab.layout().unwrap() only deletes the underlying widget, not the tab itself.
2017-02-08 12:12:36 +01:00
Florian Bruhin
0130866e89
Only do mhtml import in DownloadManager.get_mhtml
...
We also import qtnetworkdownloads on QtWebEngine without QtWebKit available, so
we can't be sure we can import mhtml.
2017-02-08 12:03:32 +01:00
Florian Bruhin
8226afd167
Hide more SSL warnings
2017-02-08 12:01:30 +01:00
Florian Bruhin
7c08444c37
Refuse to serialize chrome:// and view-source:// tabs
...
Fixes #2289
2017-02-08 11:40:00 +01:00
Florian Bruhin
1af951fd62
Work around crashes when opening URL after renderer crash
...
Fixes #2290
2017-02-08 10:56:44 +01:00
Florian Bruhin
2469d01ce7
Add renderer_process_terminated signal to tab API
2017-02-08 10:55:05 +01:00
Imran Sobir
ec0e95969e
Add unit tests for qute://history.
2017-02-08 13:28:04 +05:00
Florian Bruhin
87d1a2c7a3
Fix lint
2017-02-08 09:14:54 +01:00
Florian Bruhin
12ed226ce6
Set COLUM_WIDTHS for :help completion
...
Fixes #2287
2017-02-08 09:11:58 +01:00
Florian Bruhin
c4a74c7a34
Make sure completion column widths never get negative
...
I discovered this because of #2287 but it doesn't actually change anything
there. When we don't have a third column, subtract the scrollbar width from the
second one.
2017-02-08 09:10:40 +01:00
Florian Bruhin
02198c4f65
Also check for QtWebKitWidgets in earlyinit
2017-02-08 00:57:47 +01:00
Florian Bruhin
8b9b49f180
Fix message on renderer process crash
2017-02-08 00:41:17 +01:00
Florian Bruhin
c198f3a6a3
Adjust descriptions and dependencies
...
See #1571
2017-02-07 23:27:44 +01:00
Florian Bruhin
3f1433dcf7
Merge branch 'webengine-mhtml'
2017-02-07 22:24:25 +01:00
Florian Bruhin
d13809089f
Exclude socket notifier events during prompts
...
This helps with segfaults while the prompt is shown, like those which happened
during mhtml downloads with QtWebEngine.
2017-02-07 22:13:33 +01:00
Florian Bruhin
7aa0e900d7
Add mhtml support for QtWebEngine
2017-02-07 22:13:33 +01:00
Florian Bruhin
bae1f41599
Set user-agent for QtWebKit downloads
...
See #513
2017-02-07 22:00:03 +01:00
Imran Sobir
9a218256b7
Fix pylint complaints.
2017-02-07 19:25:01 +05:00
Imran Sobir
2c40be31a2
Prevent crash if invalid date is passed to qute:history.
2017-02-07 16:15:10 +05:00
Imran Sobir
be12b4cccf
Use history item's url as title if no title.
2017-02-07 16:06:19 +05:00
Daniel Fiser
c092840c04
Add optional argument --only-active-window to :session-save.
...
The new optional argument --only-active-window makes :session-save to
save only the tabs in the currently active window.
2017-02-07 10:38:41 +01:00
Imran Sobir
f5e75ff870
Misc qute_history() fixes.
2017-02-07 11:56:51 +05:00
Imran Sobir
46a34a99f3
Use QUrlQuery to parse qute://history queries.
2017-02-07 11:22:04 +05:00
Florian Bruhin
e487fe441e
Revert "Add a workaround to save cookies on exit"
...
This causes sqlite cookie errors from Chromium on shutdown...
See #2263
This reverts commit 8d55d093f2
.
2017-02-06 22:16:39 +01:00
Florian Bruhin
2b6b18d7bf
Fix lint
2017-02-06 21:33:08 +01:00
Florian Bruhin
df245dae48
Add support for general -> print-element-backgrounds with WebEngine
2017-02-06 21:08:32 +01:00
Florian Bruhin
a40db1735e
Update QtWebEngine settings todo
2017-02-06 21:01:19 +01:00
Florian Bruhin
811bb84587
Clarify site-specific-quirks setting value
2017-02-06 20:43:25 +01:00
Florian Bruhin
8d55d093f2
Add a workaround to save cookies on exit
...
Fixes #2263
2017-02-06 20:43:23 +01:00
Florian Bruhin
b8b4611b4d
Enable errors on renderer process crashes
2017-02-06 20:43:03 +01:00
Imran Sobir
748ec7e7a1
Add history page.
2017-02-07 00:04:32 +05:00
Florian Bruhin
52e3865367
Add support for the colors -> webpage.bg option with QtWebEngine
2017-02-06 17:18:36 +01:00
Florian Bruhin
29ffa3d134
Add a fullscreen notification overlay
...
From the spec:
User agents should ensure, e.g. by means of an overlay, that the end user is
aware something is displayed fullscreen. User agents should provide a means of
exiting fullscreen that always works and advertise this to the user. This is
to prevent a site from spoofing the end user by recreating the user agent or
even operating system environment when fullscreen.
https://fullscreen.spec.whatwg.org/#security-and-privacy-considerations
2017-02-06 16:22:58 +01:00
Florian Bruhin
39508d984e
Handle multiple commands in KeyConfigParser.get_reverse_bindings_for
2017-02-06 16:22:58 +01:00
Florian Bruhin
98e6ccf548
Add fullscreen support for QtWebEngine
2017-02-06 16:22:58 +01:00
Florian Bruhin
1209724f83
Fix lint
2017-02-06 13:42:31 +01:00
Florian Bruhin
dd9d6264c7
Fix search/replace fail
2017-02-06 13:09:39 +01:00
Florian Bruhin
89108be013
Clean up printing code in browser.commands
2017-02-06 12:54:13 +01:00
Florian Bruhin
c8913cbdc4
Fix QtWebEngine PDF printing
2017-02-06 12:49:02 +01:00
Florian Bruhin
4518afbde2
Add support for storage -> cache-size with QtWebEngine
2017-02-06 12:46:28 +01:00
Florian Bruhin
bd0b62ab80
Add support for content -> cookies-store with QtWebEngine
2017-02-06 10:47:03 +01:00
Florian Bruhin
4104056950
Split profile related stuff to webenginesettings._init_profile
2017-02-06 10:46:37 +01:00
Florian Bruhin
b1894ed7e0
Add a utils.unused()
2017-02-06 10:45:36 +01:00
Florian Bruhin
2f4c185da0
Implement printing with QtWebEngine
2017-02-06 09:51:11 +01:00
Florian Bruhin
99d1636878
Properly implement session support for QtWebKit-NG
...
See #1571
2017-02-06 08:48:08 +01:00
Florian Bruhin
dfbcb75313
First prototype of QtWebKit-NG history/session support
2017-02-06 08:48:08 +01:00
Florian Bruhin
348a50ad69
Fix inserting text with QtWebEngine
...
The insertText event doesn't seem to be available with newer Chromium releases,
which means this broke (probably with Qt 5.7.1).
Fixes #2183
Fixes #2217
2017-02-06 08:06:58 +01:00
Florian Bruhin
5e58764326
Fix lint
2017-02-05 19:52:59 +01:00
Florian Bruhin
3f332d3871
Remove @pyqtSlot annotation which breaks with LibreSSL
...
Fixes #2213
2017-02-05 19:08:44 +01:00
Florian Bruhin
57793fb6d6
Handle hint keypress without a context.
...
Fixes #2098
2017-02-05 18:53:58 +01:00
Florian Bruhin
9b843f24eb
Re-enable segfault reports for QtWebEngine
...
Fixes #2174
2017-02-05 18:50:17 +01:00
Florian Bruhin
f3b39c55a0
Fix lint
2017-02-05 18:42:34 +01:00
Florian Bruhin
2de0904b07
Fix lint
2017-02-05 17:21:33 +01:00
Florian Bruhin
a5c68babc1
Add backend to version output
2017-02-05 17:16:47 +01:00
Florian Bruhin
b1a95a3930
Add automatic backend selection in earlyinit
2017-02-05 17:09:04 +01:00
Florian Bruhin
7fe86b196d
Add missing import
2017-02-05 14:24:10 +01:00
Florian Bruhin
8c30e57356
Fix configtypes.py coverage
2017-02-05 14:22:21 +01:00
Florian Bruhin
a62062af27
Relax font validation in the config
...
Fixes #2256
2017-02-05 12:51:49 +01:00
Florian Bruhin
112e4a1dad
Use sip.assign for QAuthenticator if available
...
Fixes #2171
2017-02-05 12:39:28 +01:00
Florian Bruhin
b40a1bfb83
Disable percent-decoding for QtWebEngine with Qt >= 5.8.1
2017-02-05 12:33:40 +01:00
Florian Bruhin
de50f30b9b
Replace all GitHub links
2017-02-05 00:13:11 +01:00
Florian Bruhin
ba5ac6139a
Update docs
2017-02-05 00:09:18 +01:00
Florian Bruhin
0a0aa57754
Merge branch 'docs' of https://github.com/lucc/qutebrowser into lucc-docs
2017-02-05 00:07:36 +01:00
Florian Bruhin
cc2b085443
Uppercase word-hints with hints -> uppercase
...
Fixes #2278
2017-02-04 23:45:00 +01:00
Florian Bruhin
021b3645cc
Don't stack zoom level messages
...
Fixes #1980
2017-02-04 23:42:55 +01:00
Florian Bruhin
2c46f8ecdb
Fix zoom handling with QtWebKit
2017-02-04 23:30:12 +01:00
Lucas Hoffmann
d874f68463
docs: Clarify hints.mode = number
2017-02-04 22:31:52 +01:00
Lucas Hoffmann
378e4f1bdd
docs: Clarify behaviour of view-source
2017-02-04 22:31:52 +01:00
Florian Bruhin
e8bbc1adf8
QtWebEngine: Fix insert mode checks with zoom
...
Fixes #2169
2017-02-04 22:12:41 +01:00
Florian Bruhin
f99bf661cc
Fix lint
2017-02-04 21:59:39 +01:00
Florian Bruhin
d3f359e490
Disallow caret mode with QtWebEngine
2017-02-04 21:43:32 +01:00
Florian Bruhin
fd29528e4f
Add proxy support for QtWebEngine with Qt >= 5.8
...
See #666
Fixes #2082
2017-02-04 21:39:22 +01:00
Florian Bruhin
e01ac4c41f
Merge branch 'issue-2204' of https://github.com/Kingdread/qutebrowser into Kingdread-issue-2204
2017-02-04 18:34:51 +01:00
Florian Bruhin
662859c133
Remove unnecessary inheritance on Python 3
2017-02-04 18:10:57 +01:00
Florian Bruhin
4c14b2983b
Merge branch 'more-pac' of https://github.com/abbradar/qutebrowser into abbradar-more-pac
2017-02-04 18:07:45 +01:00
Florian Bruhin
007065b63c
Merge branch 'ignore-invalid-register-keys' of https://github.com/blyxxyz/qutebrowser into blyxxyz-ignore-invalid-register-keys
2017-02-04 17:55:07 +01:00
Florian Bruhin
8cdf2f61c7
Merge branch 'enter-mode-blacklist' of https://github.com/blyxxyz/qutebrowser into blyxxyz-enter-mode-blacklist
2017-02-04 17:52:16 +01:00
Florian Bruhin
c1f2f0ac06
Merge branch 'strip-mailto' of https://github.com/blyxxyz/qutebrowser into blyxxyz-strip-mailto
2017-02-04 17:48:53 +01:00
Florian Bruhin
3e6fd27afd
Merge branch 'upstream-master-cmdlinetext_userscript' of https://github.com/pkill-nine/qutebrowser into pkill-nine-upstream-master-cmdlinetext_userscript
2017-02-04 17:42:51 +01:00
Florian Bruhin
148b34a50b
Fix remaining Qt 5.8 QtWebEngine test failures
2017-02-04 13:28:38 +01:00
Florian Bruhin
987cb236e8
Revert changes to WebEngineView.createWindow
...
We still need those to open tabs in the background when middle-clicked.
This was a regression introduced in 545539f28d
.
Fixes #2276 .
2017-02-04 11:52:59 +01:00
Florian Bruhin
6cd4105ea1
Fix long line
2017-02-04 00:11:48 +01:00
Florian Bruhin
66719c5ecc
Fix lint
2017-02-03 23:55:14 +01:00
Florian Bruhin
545539f28d
Do more sophisticated clicking for hints with QtWebEngine
...
We now use click() or focus() in JS if possible, or manually follow links in a
href attribute.
While this probably introduces some new corner cases, it fixes a handful of
older ones:
- window.open() in JS can now be handled correctly as we don't need hacks in
createWindow anymore.
- Focusing input fields with images now works - fixes #1613 , #1879
- Hinting now works better on QtWebEngine with Qt 5.8 - fixes #2273
Also see #70 .
2017-02-03 23:21:57 +01:00
Florian Bruhin
ba2f4fb1b9
Use event_target to filter out mouse events
...
Fixes #2262
2017-02-01 13:08:11 +01:00
pkill9
8ad28719ab
Add "QUTE_COMMANDLINE_TEXT" environment variable for userscripts.
...
- Added "QUTE_COMMANDLINE_TEXT" environment variable for userscripts.
- Updated documentation to include "QUTE_COMMANDLINE_TEXT" environment
variable for userscripts.
2017-02-01 09:29:05 +00:00
Florian Bruhin
72bdf69fe3
Fix long line
2017-02-01 09:51:50 +01:00
Florian Bruhin
bb46c01c50
Clear search text before closing QtWebEngine tab
...
See https://bugreports.qt.io/browse/QTBUG-58563 and #2261
2017-02-01 09:30:53 +01:00
Florian Bruhin
90f472bf59
Temporary fix for Qt 5.8 segfaults
...
See #2261
2017-01-29 22:56:53 +01:00
Florian Bruhin
95aeb86328
Update pdfjs version parsing
...
Fixes #2254
2017-01-27 09:19:10 +01:00
Florian Bruhin
2a773a2c55
Enable WebGL by default
2017-01-24 23:55:12 +01:00
Jan Verbeek
9845cbbd81
Remove mailto: scheme properly
2017-01-21 23:19:15 +01:00
Jan Verbeek
2700739a3a
Strip mailto: when yanking a hint
...
Resolves #61 .
2017-01-21 14:43:50 +01:00
Jan Verbeek
bd3c2f92fc
Blacklist some modes for :enter-mode
...
This disallows using :enter-mode with modes that don't work properly
when entered that way. Fixes #1137 .
2017-01-20 19:32:16 +01:00
Jan Verbeek
7e7cac2d48
Ignore non-register keys
...
Ignore all keys with an empty .text() return value, not just modifier
keys. You can still use unusual things like ß for registers, but
XF86WakeUp is out. Fixes #2125 .
2017-01-20 17:34:33 +01:00
Florian Bruhin
b47f90d24f
Really fix Python 3.6 deprecation warnings
...
Before, the module regexes didn't actually work properly, but we thought the
warnings were gone as they only were shown once because of __pycache__.
Now we instead don't filter by module, but simply hide those messages globally
during the earlyinit dependency import (which is the first import).
2017-01-18 08:40:57 +01:00
Cosmin Popescu
80372eb3f2
stop using the commands handler
2017-01-13 18:57:55 +01:00
Florian Bruhin
04dddc2475
Fix backslash escape
2017-01-13 18:25:34 +01:00
Florian Bruhin
73f371a956
Release v0.9.1
2017-01-13 18:10:03 +01:00
Florian Bruhin
cc4a8e53df
Prevent using %2F as slash in a Content-Disposition header
2017-01-13 18:04:04 +01:00
Florian Bruhin
2d364f43cf
Ignore Python 3.6 warnings in dependencies
2017-01-08 22:38:54 +01:00
Florian Bruhin
61e598552e
eslint: Turn off prefer-destructuring
2017-01-08 15:36:51 +01:00
Florian Bruhin
420897eaf1
Merge branch 'clear-keychain' of https://github.com/kevinwang/qutebrowser into kevinwang-clear-keychain
2017-01-07 21:29:29 +01:00
Florian Bruhin
16c8c1b189
Document how webelem.js works
2017-01-07 12:21:22 +01:00
Kevin Wang
3a1ecad1f3
Clear keychain on <Ctrl-[> in addition to <Escape>.
2017-01-07 00:45:06 -05:00
Daniel Schadt
bd5274af5a
fix tests
2017-01-04 17:59:53 +01:00
Daniel Schadt
69001111da
actually use DownloadTarget for :download -m /path
2017-01-04 16:32:25 +01:00
Daniel Schadt
6497bb5ace
break cicular imports in utils
2017-01-04 16:04:06 +01:00
Daniel Schadt
4fdd3cd761
deduplicate download opening code
2017-01-04 15:31:47 +01:00
Daniel Schadt
8c5ad7d46d
use download prompt for mhtml downloads
...
Fixes #2204
We didn't previously use PromptMode.download for MHTML download prompts
to avoid dealing with thinks like "Open download", but the new download
prompt is just way better than the old, which justifies the extra work.
This means that MHTML downloads can now also be opened directly.
2017-01-04 15:18:56 +01:00
Nikolay Amiantov
19966a9b9f
proxy_from_url: fix PACFetcher construction
2017-01-03 13:47:13 +03:00
Florian Bruhin
f4081c8b87
Fix error position when the statusbar is invisible
2016-12-29 20:35:10 +01:00
Florian Bruhin
643cf3f578
Fix various small mouse scrolling issues
2016-12-29 00:38:52 +01:00
Florian Bruhin
ce71b59894
Merge branch 'horizontal-scroll' of https://github.com/fiete201/qutebrowser into fiete201-horizontal-scroll
2016-12-29 00:34:26 +01:00
Fritz Reichwald
f25c5dedd6
First try for horizontal scrolling with mouse
2016-12-29 00:21:42 +01:00
Florian Bruhin
9837c9f70b
Release v0.9.0
2016-12-28 23:47:59 +01:00
Florian Bruhin
6d9362028f
Merge branch 'jinja-error' of https://github.com/fiete201/qutebrowser into fiete201-jinja-error
2016-12-28 23:31:04 +01:00
Florian Bruhin
864b9870a5
Also catch UnicodeDecodeError on Windows
2016-12-28 23:03:37 +01:00
Florian Bruhin
9727d6c74f
Improve error output
2016-12-28 23:03:30 +01:00
Fritz Reichwald
ae736da5f7
Fix lint
2016-12-28 22:51:20 +01:00
Fritz Reichwald
8c3d461482
Fix test for logging
2016-12-28 22:35:03 +01:00
Fritz Reichwald
421fc7eca3
Remove icon from html_fallback
2016-12-28 22:23:05 +01:00
Fritz Reichwald
0bd3100de8
Fix test_not_found
2016-12-28 22:11:34 +01:00
Fritz Reichwald
f38dda5f16
Fix html_fallback and logged error message
2016-12-28 02:23:35 +01:00
Fritz Reichwald
eb03f79978
Add error handling for UnicodeDecodeError
2016-12-27 22:51:30 +01:00
Fritz Reichwald
07143dd433
Add html escape proper quotes and log call
2016-12-27 20:31:57 +01:00
Fritz Reichwald
004b0dc911
Add fallback for missing error.html
2016-12-27 17:54:06 +01:00
Florian Bruhin
2d1d078430
Merge branch 'issue-2173' of https://github.com/Kingdread/qutebrowser into Kingdread-issue-2173
2016-12-22 22:24:19 +01:00
Florian Bruhin
71404a87b9
Fix lint
2016-12-22 15:14:35 +01:00
Florian Bruhin
89fe725a85
Add __init__.py
2016-12-22 14:26:35 +01:00
Florian Bruhin
6c1b7dcca1
Move proxy/pac out of QtWebKit folder
2016-12-22 13:54:11 +01:00
Florian Bruhin
b220b5438f
Add urlutils.proxy_for_url
2016-12-22 13:51:27 +01:00
Florian Bruhin
5a89ee96d9
Merge branch 'pac' of https://github.com/abbradar/qutebrowser into abbradar-pac
2016-12-22 08:53:10 +01:00
Daniel Schadt
f92c82ead1
downloads: don't remember dir for temp downloads
...
Fixes #2173
2016-12-20 14:52:39 +01:00
Samuel Walladge
aafcd1f1d7
fix failing pylint test (line too long)
2016-12-17 09:22:22 +10:30
Samuel Walladge
f6c73f3ad6
implement optional download-open handler setting
...
- adds new `general` -> `default-open-dispatcher` setting (string)
- if set, will be used instead of QDesktopServices.openUrl (xdg-open backend)
- fixes the 'download handlers' part of issue #841
- note that this is only relevent to the `:download-open` command and other
methods of opening downloaded files from qutebrowser
2016-12-16 21:54:04 +10:30
Florian Bruhin
f0831dacae
Bind back/forward keys by default
...
Those are the XF86Back/Forward media keys on a keyboard, which are apparently
handled by default with QtWebKit, but not QtWebEngine.
Fixes #2166 .
2016-12-13 21:49:10 +00:00
Florian Bruhin
d0372f1730
Decode percent sequences in QtWebEngine downloads
...
Fixes #2122 .
2016-12-09 07:08:51 +01:00
Florian Bruhin
03eea7f62a
Remove download filename suffixes with QtWebEngine
2016-12-09 07:00:25 +01:00
Florian Bruhin
5b70df15fa
Revert "Enable HighDPI scaling"
...
This reverts commit 62bcd24c9a
.
Looks like this causes issues for various people...
2016-12-08 21:23:56 +01:00
Florian Bruhin
976cd5f881
Fix lint
2016-12-08 10:31:52 +01:00
Florian Bruhin
62bcd24c9a
Enable HighDPI scaling
...
This should scale up things automatically, without needing to set e.g.
default-zoom (at least with QtWebEngine).
See #1993 , #1585
2016-12-08 09:45:46 +01:00
Florian Bruhin
c7d4ea5247
Ignore connection failures for debug.log_signals
2016-12-08 07:15:59 +01:00
Florian Bruhin
70b0a86729
WebEngine: Save/restore zoom when opening a new page
...
This isn't very pleasurable, but I can't find a solution to set the zoom
correctly while the page is still loading.
See https://bugreports.qt.io/browse/QTBUG-51851
Fixes #1993
2016-12-08 07:06:11 +01:00
Florian Bruhin
e5ddb281f4
Add a ui -> prompt-filebrowser option
...
See #2104
2016-12-07 12:33:44 +01:00
Florian Bruhin
57adcea587
Fix QTBUG-54419 workaround with tabs-are-windows set
...
Fixes #2162
2016-12-07 07:01:06 +01:00
Nikolay Amiantov
a7d96e0b85
Ignore ESLint warnings for Mozilla's PAC utils
2016-12-07 02:01:19 +03:00
Nikolay Amiantov
87890dab20
Add PAC files support
2016-12-07 02:01:19 +03:00
Florian Bruhin
d709756eb1
Add AbstractZoom._set_factor_internal
2016-12-06 22:50:08 +01:00
Florian Bruhin
caf1950868
Set the default zoom initially with QtWebEngine
...
This solves a part of #1993 , however when the user navigates to a
different page, the zoom is reset.
2016-12-06 20:28:18 +01:00
Nikolay Amiantov
271cb4b001
Add network logger
2016-12-06 18:16:25 +03:00
Florian Bruhin
df5ce12ed8
Make it possible to cancel authentication with QtWebEngine
...
Fixes #2156
2016-12-06 07:45:03 +01:00
Florian Bruhin
717fc97f05
Make tab.set_html work without base_url
2016-12-06 07:16:41 +01:00
Florian Bruhin
0ab23a74fb
Allow --qt-arg and --qt-flag to be given multiple times
...
Fixes #2151
2016-12-06 06:47:42 +01:00
Florian Bruhin
61ada6ba32
Merge branch 'tab-move' of https://github.com/Raihid/qutebrowser into Raihid-tab-move
2016-12-01 13:25:03 +01:00
Florian Bruhin
d668a1b6d6
Merge branch 'master' of https://github.com/Raihid/qutebrowser into Raihid-master
2016-12-01 13:23:01 +01:00
Maciej Wołczyk
63808fdb98
Removed handling of tab's position and color since it's done by QTabBar
2016-12-01 00:44:07 +01:00
Maciej Wołczyk
2fca442892
Fixed TabbedBrowserStub's tabBar, no longer toggling updates while moving tabs
2016-11-30 15:23:35 +01:00
Maciej Wołczyk
e613d01263
Fixed problems with tab completion after moving tabs ( #2141 )
2016-11-30 14:17:20 +01:00
Maciej Wołczyk
2cbea50152
Fixed style issues, corrected unit test
2016-11-29 19:10:36 +01:00
Florian Bruhin
9f5f362533
Don't crash if we can't get an element's value for editing
...
Fixes #2150
2016-11-29 11:31:03 +01:00
Florian Bruhin
5f22affa36
Show longer debug string for elems got from JS
...
See #2150
2016-11-29 11:16:04 +01:00
Florian Bruhin
6340eee448
Handle invalid text layout when drawing tab
2016-11-29 09:33:27 +01:00
Maciej Wołczyk
729cc61152
Fixed mhtml quopri encoding with spaces and tabs (see: #2063 )
2016-11-29 04:03:35 +01:00
Daniel Karbach
38ca583084
new default keybinds
2016-11-28 10:57:16 +01:00
Florian Bruhin
59d16efbef
Don't set title from URL twice
...
browsertab already does that before emitting url_changed.
2016-11-26 13:35:49 +01:00
Florian Bruhin
c83c9d96ae
Small cleanup
2016-11-26 13:33:38 +01:00
Florian Bruhin
c17bbd47b8
Fix QTBUG-54419 workaround for invalid URLs
2016-11-26 13:32:37 +01:00
Florian Bruhin
73c608dce7
Allow :open without URL with -t/-b/-w
2016-11-26 12:17:23 +01:00
Florian Bruhin
ea44c6d4b9
eslint: Turn off capitalized-comments
2016-11-26 11:48:57 +01:00
Florian Bruhin
64b47fc3a2
Handle an invalid $XDG_RUNTIME_DIR gracefully
...
This is probably against the XDG basedir spec, but some people have a
Linux without anything setting $XDG_RUNTIME_DIR correctly.
Fixes #971 .
2016-11-24 10:14:02 +01:00
Florian Bruhin
3d140a1353
Get rid of --cycle for :set with multiple values
...
See https://github.com/The-Compiler/qutebrowser/pull/1840#issuecomment-258714784
2016-11-24 07:23:49 +01:00
Niklas Haas
1b5664b72f
Add --cycle flag to :set
...
Chooses the next value from the provided list of values (string-wise
comparison). Technically, the 'option!' syntax for toggling bools is now
redundant, but a translation from 'option!' to '--cycle option false
true' is kept for backwards compatibility.
The '--cycle' flag could also be technically optionally, since the only
thing that depends on it is preserving the error message for specifying
multiple values. (But I think it's best to keep it explicit, as a
principle-of-least-surprise thing)
Note: The business logic of picking the next value and setting it was
moved out to a separate function to avoid tripping pylint's
too-many-branches detector.
Fixes #47
2016-11-24 07:22:06 +01:00
Florian Bruhin
c57ad91e04
Update comment for ignored Qt warning
2016-11-24 06:43:33 +01:00
thuck
8d4b55bb80
Fix comments and change self.pinned to self.pinned_count
2016-11-23 22:18:55 +01:00
Florian Bruhin
cc8db65b18
Merge branch 'cancel-register-key' of https://github.com/blyxxyz/qutebrowser into blyxxyz-cancel-register-key
2016-11-23 12:53:50 +01:00
Florian Bruhin
a3482a8979
Lowercase special keys when checking if they're new
...
Between v0.8.4 and now, the default keybinding for Ctrl-PgDown changed:
- ('tab-focus', ['J', '<Ctrl-PgDown>']),
+ ('tab-next', ['J', '<Ctrl-PgDown>']),
The existing keybinding was lower-cased in the config, but _is_new
didn't lowercase the new one, causing a conflict to show up.
Fixes #1835
See #1958
Supersedes #1986
2016-11-23 12:37:19 +01:00
Florian Bruhin
552e0551af
Revert zero counts
...
This initially seemed like a nice feature, but it means 0 can't be bound
as a separate key anymore, and 0<Esc> gives weird error messages...
Reverts #1953 .
Fixes #2032 .
2016-11-23 08:37:29 +01:00
Florian Bruhin
1507cfcae7
Fix lint
2016-11-23 08:37:24 +01:00
thuck
e9c79e9be3
Fix for comments on configdata
2016-11-23 08:18:10 +01:00
Florian Bruhin
946e3f93f9
Add --enable-webengine-inspector option
...
Since the inspector can be a security risk, it's now not linked to
developer-extras anymore until QtWebEngine provides a better way to
access it.
See:
https://bugreports.qt.io/browse/QTBUG-50725
http://bouk.co/blog/hacking-developers/
2016-11-23 08:12:13 +01:00
thuck
9dff4299e8
flake8 fixes
2016-11-23 08:10:13 +01:00
thuck
92e1181680
Included --force option for tab-close
...
This makes possible to close pinned tabs without
any confirmation.
2016-11-23 08:10:13 +01:00
thuck
b920de764f
Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab
2016-11-23 08:10:11 +01:00
Florian Bruhin
d99a7bd7ad
Pass arguments to websettings init functions
2016-11-23 07:57:35 +01:00
Florian Bruhin
7ffabb2b92
Update docs
2016-11-22 22:22:24 +01:00
Florian Bruhin
f0cc1de808
Merge branch 'master' of https://github.com/Raihid/qutebrowser into Raihid-master
2016-11-22 20:32:59 +01:00
Maciej Wołczyk
81cbd4c8a0
Hyphen in variable name fixed
2016-11-22 17:39:13 +01:00
Maciej Wołczyk
9d19c3aee6
Changed add to history option name
2016-11-22 17:27:34 +01:00
Florian Bruhin
20af3133eb
Simplify if-condition
2016-11-22 11:24:34 +01:00
Florian Bruhin
97d23144f7
Add an API to get the QNAM of a tab
2016-11-22 11:23:45 +01:00
Florian Bruhin
c363982d05
Use per-tab QNAM for QtNetwork downloads again
...
When starting a download due to unsupportedContent being emitted, we
need to use (and later adopt) the page's QNetworkAccessManager.
Since we need the whole adopting logic for that case anyways, let's keep
things as they were and always run downloads in per-tab QNAMs.
This reverts 53e360ec4b
and fixes #2134 .
2016-11-22 11:10:37 +01:00
Maciej Wołczyk
918b3e2d12
History flag: test added, short version changed, minor fixes
2016-11-21 15:33:38 +01:00
Florian Bruhin
c5cacbc439
Handle background tabs in QtWebEngine createWindow with older Qt
2016-11-21 06:22:38 +01:00
Rahid
058c3e6541
Trailing spaces
2016-11-18 23:45:12 +01:00
Rahid
bf41135846
Added chronicle flag to init function, docs
2016-11-18 23:10:50 +01:00
Maciej Wołczyk
554b9b2bda
Added chronicle flag
2016-11-18 20:16:43 +01:00
Florian Bruhin
d1154759d1
Improve --qt-arg docs
2016-11-16 22:35:20 +01:00
Florian Bruhin
8d7fcf41da
Set a maximum width for prompts
...
Fixes #2124
2016-11-16 22:26:16 +01:00
Florian Bruhin
7c88fe318f
Handle cancelled SSL prompts correctly
...
When the user pressed esc during an SSL prompt, the message.ask call
returned None, which was handled fine by QtWebKit (which simply used an
'if') but failed with QtWebEngine (which returned the value to Qt).
Fixes #2123 .
2016-11-16 22:13:57 +01:00
Florian Bruhin
25358bb5fc
Clean up webelem.text/set_text
...
webelem.text() was only used without use_js=True from webelem.__str__.
Now we instead default to the use_js=True behavior and renamed the
method from text() to value().
The old behavior is instead directly implemented in __str__.
This changes how webelem.value (aka text) handles elements for which
is_content_editable() returns True, but I haven't found any cases where
this makes a difference.
This also fixes getting existing text from elements with QtWebEngine,
which closes #1957 .
2016-11-16 12:34:27 +01:00
Florian Bruhin
35d9514456
Whoops...
...
Dang, spacemacs!
2016-11-16 07:50:47 +01:00
Florian Bruhin
e9a8201aa1
cxfreeze requirements: Blacklist >= 5.0.0
...
See #1004
2016-11-16 07:48:37 +01:00
Florian Bruhin
3638849257
Fix lint
2016-11-15 23:41:53 +01:00
Florian Bruhin
7d8ef9fccf
Remove urlutils import
2016-11-15 23:25:14 +01:00
Florian Bruhin
8e0565b79a
Add {backend} window/tab title field
2016-11-15 23:23:20 +01:00
Florian Bruhin
d7d270ea28
Implement user stylesheets for QtWebEngine
2016-11-15 23:17:27 +01:00
Florian Bruhin
fcb955458c
Require a filename for user-stylesheet; add hide-scrollbar setting
2016-11-15 22:58:56 +01:00
Florian Bruhin
964ddb472b
Add urlutils.data_url
2016-11-15 22:25:51 +01:00
Florian Bruhin
a09a565aea
Improve :click-element error message
2016-11-15 19:43:03 +01:00
Florian Bruhin
d05918ac0b
Add custom user-agent support for QtWebEngine
2016-11-15 11:32:05 +01:00
Florian Bruhin
8d173e1718
Update comment
2016-11-15 10:55:12 +01:00
Florian Bruhin
fc7961ae22
Set correct paths for QtWebEngine
2016-11-15 10:51:14 +01:00
Florian Bruhin
ed10cd14d6
Remove history NUL byte logging
...
It just produces a lot of logging noise, and I still have no idea what
to do about it...
2016-11-15 07:28:35 +01:00
Florian Bruhin
a38e6be52a
Fix standarddir._from_args
2016-11-15 07:26:10 +01:00
Florian Bruhin
671ce67be5
Remove --datadir/--confdir/--cachedir
...
Closes #2115 .
2016-11-15 07:09:46 +01:00
Florian Bruhin
d04534dc33
Reenable @qtwebengine_createWindow tests
...
Closes #2121
2016-11-15 07:03:13 +01:00
Jan Verbeek
fc79349af6
Remove misplaced blank line
2016-11-15 00:30:54 +01:00
Jan Verbeek
f0d215e07a
Change hard-coded escape to leave-mode binding
2016-11-14 23:28:38 +01:00
Florian Bruhin
81d67f8a2c
Remove support for an empty data/config/cachedir
...
See #2115
2016-11-14 23:13:21 +01:00
Florian Bruhin
b30d37e3e0
WebEngine: Fake keypresses with modifiers instead of override_target
...
With QtWebEngine, handling a click (e.g. createWindow being called)
happens some time after a click event has been handled.
When setting override_target, that means we don't know when to set the
override target back, and we can't simply only unset it in createWindow
as elements not causing a new tab to be opened (like an input field) can
be hinted too.
Instead, we now only use override_target with QtWebKit, and simply
generate fake key events with the right modifiers to do the right thing
in createWindow for QtWebEngine.
Fixes #2119 .
2016-11-14 23:09:16 +01:00
thuck
abe3c19646
Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab
2016-11-14 19:01:49 +01:00
Florian Bruhin
ba1bcc658e
Fix WebEnginePage acceptNavigationRequest
2016-11-14 09:37:23 +01:00
Florian Bruhin
781a326648
Fix lint
2016-11-14 09:14:57 +01:00
Florian Bruhin
30827c1239
Fix rapid hinting with QtWebEngine
...
There were actually two issues here:
- The override_target was reset too early - now
acceptNavigationRequest/createWindow is responsible for resetting it.
- The QTBUG-54419 workaround opened any tabs in the background instead
of preserving their position/focus.
Fixes #2086 .
2016-11-14 07:14:44 +01:00
Florian Bruhin
5de07246be
Handle clicks via createWindow with QtWebEngine
...
Before, we used the same logic for QtWebKit and QtWebEngine, where we
simply set an attribute on the tab on a mousePressEvent and then handled
opening links in acceptNavigationRequest.
However, this caused random links to pop up in new tabs (probably to
things being much more async?) on QtWebEngine, so we now handle those
cases in createWindow and only use override_target from the tab there.
Fixes #2102 .
2016-11-14 06:52:33 +01:00
Florian Bruhin
650b9e465c
Merge branch 'webengine-prompts'
2016-11-13 21:25:07 +01:00
thuck
6053078637
Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab
2016-11-13 14:16:05 +01:00
Florian Bruhin
02257694c4
Fix indent
2016-11-13 12:43:20 +01:00
thuck
e1012501ec
Issue only happens when using webengine
...
Check if using webengine, before trying to use thw workaround
2016-11-13 12:10:03 +01:00
thuck
0eab91ac4c
Fix for webengine too
2016-11-13 11:56:21 +01:00
thuck
56ee7d63b3
Should fix the issue #2117
2016-11-13 09:50:54 +01:00
thuck
a8ccfe050d
Remove unecessary empty line
2016-11-13 08:56:43 +01:00
thuck
785c03c15c
Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab
2016-11-13 08:56:19 +01:00
Florian Bruhin
5bdd74138d
Handle not being able to get elements via JS
2016-11-13 01:46:18 +01:00
Florian Bruhin
645a9aa6e1
Add a better workaround for QTBUG-54419
...
Whenever we open a new tab in createWindow, we now set an attribute
marking it - as soon as its URL changes the first time, we then close
and re-open it in a new tab in TabbedBrowser.
2016-11-13 01:38:02 +01:00
thuck
9eb0a85bae
Some fixes for pyflake, pylint and remove useless function
2016-11-11 17:10:46 +01:00
thuck
25b69fe76a
Configuration for the size of a pinned tab
2016-11-11 13:57:01 +01:00
thuck
19cc721eb1
Changed behavior on location of tab being pinned
...
Now when a tab is pinned it goes to the end of all pinned tabs.
Before it went to the index 1.
2016-11-11 12:05:04 +01:00
thuck
00f2b4df96
Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab
2016-11-11 11:07:30 +01:00
Florian Bruhin
2dd857d580
Remove FakeTypingMeta.__subclasscheck__
2016-11-11 07:40:21 +01:00
Florian Bruhin
94e2a4dccc
Make sure the tab indicator color is always available
2016-11-11 07:04:01 +01:00
Jan Verbeek
75c996c13e
Cancel register key input with escape
2016-11-11 02:45:59 +01:00
Florian Bruhin
a6215be864
Get rid of NetworkManager._ask
2016-11-10 22:45:27 +01:00
Florian Bruhin
a9d48753ef
Adjust docstring
2016-11-10 22:45:27 +01:00
Florian Bruhin
b270c69ea7
Improve authentication dialog with no realm
2016-11-10 22:45:27 +01:00
Florian Bruhin
29cb9279e5
Emit shutting_down signal when a WebEngineTab shuts down
...
Fixes #2109
2016-11-10 22:45:27 +01:00
Florian Bruhin
8d781c68c9
Fix lint
2016-11-10 22:45:27 +01:00
Florian Bruhin
013c2691d5
Fix javaScriptPrompt override for newer PyQt versions
2016-11-10 22:45:27 +01:00
Florian Bruhin
62d258190f
Only support :debug-clear-ssl-errors with QtWebKit
2016-11-10 22:45:27 +01:00
Florian Bruhin
adb2ce0160
Remove MouseLock permission support
...
For some reason it doesn't work...
2016-11-10 22:45:27 +01:00
Florian Bruhin
bbcbb24cb5
Handle feature permissions with QtWebEngine
2016-11-10 22:45:27 +01:00
Florian Bruhin
8f55725555
Fix lint
2016-11-10 22:45:27 +01:00
Florian Bruhin
8a4ca25b8d
Avoid circular import
2016-11-10 22:45:27 +01:00
Florian Bruhin
c6f83d3148
Don't show SSL error page for subresources
2016-11-10 22:45:27 +01:00
Florian Bruhin
d93bc8b26b
Make prompt tests run
2016-11-10 22:45:27 +01:00
Florian Bruhin
6697d692e1
webengine: Initial SSL error support
2016-11-10 22:45:27 +01:00
Florian Bruhin
65625a9dea
webengine: Initial support for authentication and javascript prompts
2016-11-10 22:45:27 +01:00
Florian Bruhin
6d72bce4b6
Remove stub call for WebEngineCaret._on_mode_(entered|left)
...
It doesn't really serve a purpose...
2016-11-10 22:41:41 +01:00
thuck
23628cdfbf
Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab
2016-11-10 20:20:52 +01:00
Florian Bruhin
adcd8a7220
Fix lint
2016-11-10 08:53:44 +01:00
Florian Bruhin
bddda6b778
Use a data: URL for the broken qutebrowser logo
...
It blows our HTML up, but we use error.html from various places with
various security policies, so we can't rely on being able to load
file:// URLs.
2016-11-10 08:53:06 +01:00
Florian Bruhin
f1bba45db5
Revert "Serve broken qutebrowser logo via qute:resources"
...
This reverts commit 37fa7431b0
.
2016-11-10 07:51:19 +01:00
Florian Bruhin
bbd842bd82
Get rid of modeman.maybe_leave
2016-11-10 07:19:45 +01:00
Florian Bruhin
2ef85d6c35
Fix macros with a mode-switching command
2016-11-10 07:16:52 +01:00
Florian Bruhin
5d30105a53
Merge branch 'macros' of https://github.com/blyxxyz/qutebrowser into blyxxyz-macros
2016-11-10 06:50:21 +01:00
thuck
9f70fa3ec8
Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab
2016-11-10 00:28:31 +01:00
thuck
9beb097c53
Corrected some unecessary spaces
2016-11-09 23:52:56 +01:00
thuck
d7f5f61f03
Implemented counter for total number of tabs
...
With this counter we can better control the space on the tabbar.
2016-11-09 23:50:41 +01:00
Cosmin Popescu
89e6ff6599
fix wrong spaces and priority for session restore
2016-11-09 19:27:48 +01:00
Florian Bruhin
ac2df2f253
Merge branch 'webengine-downloads-3'
2016-11-09 19:09:58 +01:00
Jan Verbeek
a778b7184c
Revert back to objreg to avoid circular import
2016-11-09 19:07:56 +01:00
Jan Verbeek
f1c3bc89ec
Further cleanup
2016-11-09 14:56:41 +01:00
Florian Bruhin
1a5e90f652
Fix lint
2016-11-09 14:29:06 +01:00
Jan Verbeek
479c8e56b4
Improve macro code style, info messages
2016-11-09 13:09:10 +01:00
Florian Bruhin
d80022f3cd
Merge branch 'issue1619' of https://github.com/HolySmoke86/qutebrowser into HolySmoke86-issue1619
2016-11-09 12:32:52 +01:00
Jan Verbeek
e5dec949b0
Merge https://github.com/The-Compiler/qutebrowser into macros
2016-11-09 12:17:04 +01:00
Daniel Karbach
4afd75a24d
typo in comment
2016-11-09 09:30:37 +01:00
Florian Bruhin
cf32aac111
Move usertypes.DownloadTarget to downloads module
2016-11-09 08:15:58 +01:00
Florian Bruhin
80562fbdca
Add DownloadTarget.suggested_filename
2016-11-09 08:06:57 +01:00
Florian Bruhin
8771759f68
Improve error handling in objreg.dump_objects
2016-11-09 07:54:02 +01:00
Florian Bruhin
970e4d3e03
Fix mhtml overwrite prompts
...
See #2101
2016-11-08 23:23:53 +01:00
Florian Bruhin
df9bee33f4
Fix 100% coverage in misc.ipc
2016-11-08 21:56:54 +01:00
thuck
6f8aaccc2b
Attach pin information to tabwidget
...
Simple access to pin information on tab widget.
Some change for the fmt_pin to not use fields as cheap trick
2016-11-08 21:12:20 +01:00
Florian Bruhin
baeb8653c8
Finish stats correctly with QtWebEngine downloads
2016-11-08 20:41:40 +01:00
Florian Bruhin
3ba7f28069
Re-add download cleanup on shutdown
2016-11-08 20:36:49 +01:00
Florian Bruhin
de1e3a7a54
Make DownloadItem._autoclose private
2016-11-08 20:35:07 +01:00
Florian Bruhin
b00c889dd1
Call _set_fileobj in AbstractDownloadItem.set_target
2016-11-08 20:33:25 +01:00
thuck
d8b5ca295e
Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab
2016-11-08 19:53:46 +01:00
Florian Bruhin
23e7b3f551
Elide js element debug string
2016-11-08 12:17:44 +01:00
Florian Bruhin
19d31ac201
Deduplicate "Focus object changed" logging
2016-11-08 12:17:44 +01:00
Florian Bruhin
57ee378ec5
Ignore None-socket in ipc.on_timeout
2016-11-08 12:17:44 +01:00
Florian Bruhin
f271081012
Handle None-tab in on_current_changed
2016-11-08 12:17:44 +01:00
Florian Bruhin
19c7d747dd
Fix downloads with unknown size with WebEngine
2016-11-08 09:18:10 +01:00
Florian Bruhin
ed3347365f
Fix lint
2016-11-08 09:18:10 +01:00
Florian Bruhin
54db4255b1
Fix handling of temporary files
...
When we use self._set_filename in self._set_fileobj, the file already
exists, so we need to force "overwriting" it.
Also, move temporary file handling to a dedicated _set_tempfile method,
so we can officially claim not supporting _set_fileobj with QtWebEngine
instead of supporting it with a hack.
2016-11-08 09:18:10 +01:00
Florian Bruhin
53e360ec4b
Always use a global QNAM for downloads
...
This makes a lot of code eaiser, and we don't have per-tab settings yet
anyways. Also, with QtWebEngine, we can't honour any per-tab settings
for downloads...
2016-11-08 09:18:09 +01:00
Florian Bruhin
bc1e4385e0
Fix first bunch of download tests
2016-11-08 09:18:09 +01:00
Florian Bruhin
ce1b675a1e
Implement :download/hints via QtNetwork
2016-11-08 09:18:09 +01:00
Florian Bruhin
5bc3914f24
Pass basename only as suggested filename
2016-11-08 09:18:09 +01:00
Florian Bruhin
fc6c6d4998
Fix lint
2016-11-08 09:16:47 +01:00
thuck
17b7b5c663
Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into pintab
2016-11-08 08:13:15 +01:00
thuck
931b008f89
Update title when title-format-pinned is modified
2016-11-08 08:12:40 +01:00
thuck
4f0034911a
title-format-pinned initial work
...
Created configuration configdata.
Load and use template defined on configdata.
TODO: ability to conserve information between restart
TODO: ability to update title on configuration change
2016-11-08 07:56:13 +01:00
Florian Bruhin
39b3bfba93
Mention package names in pdfjs error
...
Closes #2095 .
2016-11-08 06:18:40 +01:00
thuck
b24ac0ae78
More small fixes
...
Removed unsed variables.
Removed some empty lines.
Inncluded docstring.
2016-11-08 04:45:07 +01:00
thuck
f9b1d998d4
Last configuration as pin changed to pinned
2016-11-07 22:32:42 +01:00
thuck
f10284b04a
Initial work on message.confirm_async
...
Creation of _tab_close and usage of partial.
2016-11-07 22:28:05 +01:00
thuck
ec50d39578
Some fixes for the pylint
2016-11-07 21:25:05 +01:00
thuck
4ed046d5e7
Everything is pinned instead of pin, and one if corrected
2016-11-07 21:12:34 +01:00
Cosmin Popescu
c590a37043
changed to using an internal _autosave session
2016-11-07 20:45:46 +01:00
thuck
20eae4d671
Modifed exception structure
2016-11-07 08:11:47 +01:00
thuck
f8dffb4e5c
Some modifications from initial feedback
...
Moved pin information from BrowserTab to TabData.
Changed attribute from pin to pinned.
Changed "ifs" to implicit check boolen value.
Removed blancked line on before else statement.
2016-11-07 08:02:25 +01:00
thuck
29d1c0d68b
Small fix for situations where we cannot find the tab for the index
...
Need to investigate better why and when this is excatly happening
2016-11-06 23:27:06 +01:00
thuck
d7a1a542b6
Change shortcut to tab-pin
2016-11-06 23:25:36 +01:00
thuck
d592651c50
Change command from pin/unpin to tab-pin
2016-11-06 23:24:24 +01:00
thuck
6d7a6db130
Proper title and size for pinned tab
...
As I'm using self.count() without taking in consideration the number of
pinned tabs the end result is a lot of empty space.
2016-11-06 19:04:32 +01:00
thuck
22133beb72
Fix small bug because result was not declared
2016-11-06 18:24:33 +01:00
thuck
6f610e9c44
Initial development to support pin tabs #926
...
Done so far:
Two new commands pin/unpin, both accept a index to help the organization
(maybe this should be more a flag and not exactly two commands)
Crtl+p to pin, Crtl+O to unpin (not sure which should a good default
shortcut)
If user tries to close a pinned tab it's asked to confirm
If user tries to open a URL in a pinned tab it receives a message with a
information that the tab is pinned and ignore the openurl command
Preserve the pinned information across restart if session is activated
Missing:
Visual indication of the tab being pinned
Tab appearance being distinct over other tabs
Make pinned tabs to be the firsts on the tab bar
This is not ready, but it would be good to get some feedback earlier
2016-11-06 15:52:23 +01:00
Florian Bruhin
690633bd87
Release v0.8.4
2016-11-06 00:47:53 +01:00
Florian Bruhin
f7cfb6afc3
Release v0.8.3
2016-11-05 23:08:28 +01:00
Florian Bruhin
b6195d4e77
Fix handling of typing.Union with newer Python 3.5 versions
2016-11-05 22:11:52 +01:00
Florian Bruhin
a5afdf6fb6
Handle QtWebEngine downloads in DownloadModel
2016-11-04 18:49:25 +01:00
Florian Bruhin
ea9796403f
Fix _ask_confirm_question
2016-11-04 18:49:25 +01:00
Florian Bruhin
bf994cd8da
Initial QtWebEngine download support
2016-11-04 18:49:24 +01:00
Florian Bruhin
c876c3d244
Fix lint
2016-11-04 18:49:24 +01:00
Florian Bruhin
a3a167e683
Split _die in two methods
...
We need to do some stuff before AbstractDownloadItem._die runs.
2016-11-04 18:49:24 +01:00
Florian Bruhin
6eef79e180
Adjust imports/objreg
2016-11-04 18:49:24 +01:00
Florian Bruhin
990985e60f
Rename browser.webkit.downloads to browser.qtnetworkdownloads
2016-11-04 18:49:24 +01:00
Florian Bruhin
e985730cbf
Simplify TempDownloadManager initialization
2016-11-04 18:49:24 +01:00
Florian Bruhin
7ca6996f39
Adjust imports
2016-11-04 18:49:24 +01:00
Florian Bruhin
0ac2b71304
Simplify how filename questions are handled
2016-11-04 18:49:24 +01:00
Florian Bruhin
3b51548d3a
More download splitting
2016-11-04 18:49:24 +01:00
Florian Bruhin
92b1bf2227
Get rid of win_id for DownloadItem
2016-11-04 18:49:24 +01:00
Florian Bruhin
12d798d54d
Continue download splitting
2016-11-04 18:49:24 +01:00
Florian Bruhin
5b04f1052f
Add DownloadItem.set_target
...
This allows us to make _set_fileobj private, and also makes some code
simpler.
2016-11-04 18:49:24 +01:00
Florian Bruhin
2c94efbf8a
First big download refactoring chunk
2016-11-04 18:49:24 +01:00
Florian Bruhin
352f83b95e
Rename DownloadItem.do_retry
2016-11-04 18:49:24 +01:00
Florian Bruhin
34b4dcf0d5
Make DownloadItem._retry_info private
2016-11-04 18:49:24 +01:00
Florian Bruhin
70e390a2e8
downloads: Simplify redirect handling
2016-11-04 18:49:24 +01:00
Florian Bruhin
7256641288
Prevent questions from being aborted twice
...
When we abort a question (e.g. by closing a tab with SSL errors) while
another prompt is queued, the right prompt gets closed by the question
being aborted, but that in turn aborts the question again, affecting the
next prompt.
2016-11-04 13:21:22 +01:00
Florian Bruhin
a16d41333b
Fix prompts while in command mode
2016-11-04 06:48:32 +01:00
Florian Bruhin
dd0ce8fe3b
Add some more prompt logging
2016-11-04 06:47:10 +01:00
Florian Bruhin
3a79faac16
Also hide existing prompts when showing a new one
...
Otherwise when a prompt is interrupted, we'd still see the older one.
2016-11-03 23:03:42 +01:00
Florian Bruhin
59b4ccc620
Rename max_height_padding
2016-11-03 09:29:27 +01:00
Florian Bruhin
a006ecffec
Add MainWindow._update_overlay_geometries()
2016-11-03 09:29:27 +01:00
Florian Bruhin
2b46228e3d
Customize prompt selection colors
...
Seems like if we make the foreground color configurable, the selection
isn't colored at all?!
2016-11-03 09:29:27 +01:00
Florian Bruhin
ebcae3a69c
Fix tabbing over .. in some directories on Windows
2016-11-03 08:40:42 +01:00
Florian Bruhin
0f03960525
Log if getting directory information failed
2016-11-03 08:40:42 +01:00
Florian Bruhin
732e7c260b
Handle empty path for file completion
...
This also allows us to select drives on Windows hopefully...
2016-11-03 08:40:42 +01:00
Florian Bruhin
cbf1a44b75
Fix handling of / as path
2016-11-03 08:40:42 +01:00
Florian Bruhin
16b3b7a262
Fix prompt positioning with top statusbar
2016-11-03 08:40:42 +01:00
Florian Bruhin
25bb720f09
Bound maximum size for prompts
2016-11-03 08:40:42 +01:00
Florian Bruhin
9cf5d645f0
Hide prompts correctly
...
We now make sure to hide prompts everywhere when the prompt mode was
left. We also make sure to hide the prompt widget before deleting, as it
might be deleted later.
2016-11-03 08:40:42 +01:00
Florian Bruhin
293a388ac6
Use HTML list for quit confirmation message
2016-11-03 08:40:42 +01:00
Florian Bruhin
fa1846ab0e
Adjust prompt path when backspacing a path
2016-11-03 08:40:42 +01:00
Florian Bruhin
60c6b7f0ab
Simplify FilenamePrompt._insert_text
2016-11-03 08:40:42 +01:00
Florian Bruhin
5b33978259
Improve comment
2016-11-03 08:40:42 +01:00
Florian Bruhin
4e793180c1
Fix completion in file prompts
2016-11-03 08:40:42 +01:00
Florian Bruhin
63c6381e18
Add blank line
2016-11-03 08:40:42 +01:00
Florian Bruhin
fdc4b2e2f6
Move setting FilenamePrompt lineedit text up
2016-11-03 08:40:42 +01:00
Florian Bruhin
7d1b1d354d
Remove duplicated docstrings
2016-11-03 08:40:42 +01:00
Florian Bruhin
14ecbc0cec
Use jinja for SSL error message
2016-11-03 08:40:42 +01:00
Florian Bruhin
28a32e680d
Add comment about HTML escaping
2016-11-03 08:40:42 +01:00
Florian Bruhin
64eeb95c30
Rename _init_title
2016-11-03 08:40:42 +01:00
Florian Bruhin
27f96943a2
Add missing html.escape
2016-11-03 08:40:42 +01:00
Florian Bruhin
efdcbd860e
Increase font size for prompt titles
2016-11-03 08:40:42 +01:00
Florian Bruhin
3b7f65d956
Show URL in most questions
2016-11-03 08:40:42 +01:00
Florian Bruhin
4ad741d26d
Simplify shutdown in app.py
2016-11-03 08:40:42 +01:00
Florian Bruhin
d85cfcbc07
Fix ask_for_filename call
2016-11-03 08:40:42 +01:00
Florian Bruhin
4552e06797
Only connect interrupted signal for questions once
2016-11-03 08:40:42 +01:00
Florian Bruhin
a87e46101c
Fix lint
2016-11-03 08:40:42 +01:00
Florian Bruhin
5ebaddfaf2
Ignore "Unexpected null parameter" warning
2016-11-03 08:40:42 +01:00
Florian Bruhin
1b3e9613ea
Fix mode handling with multi-window questions
...
When the prompt mode is left in any window, we need to take care of:
- Cancelling the question if needed (exactly once)
- Leaving the prompt mode in all other windows too
2016-11-03 08:40:42 +01:00
Florian Bruhin
4a360ba185
Simplify _set_fileview_root
2016-11-03 08:40:42 +01:00
Florian Bruhin
b0a04bff8e
Use OS-independent path separators
2016-11-03 08:40:42 +01:00
Florian Bruhin
54a694e35e
Hide prompts correctly after :prompt-download-open
2016-11-03 08:40:42 +01:00
Florian Bruhin
5eb66f2693
Restore self._question when restoring prompt
2016-11-03 08:40:42 +01:00
Florian Bruhin
6f83590553
Add some more logging for prompts
2016-11-03 08:40:42 +01:00
Florian Bruhin
dba29e518a
First working prototype of global prompts
2016-11-03 08:40:42 +01:00
Florian Bruhin
fdd1147620
Revert "Global prompt container"
...
This reverts commit c23beee6502776dd19c0955b311e8dfb9f1c77ae.
2016-11-03 08:40:42 +01:00
Florian Bruhin
1d6166b474
Global prompt container
2016-11-03 08:40:42 +01:00
Florian Bruhin
9ce1180b31
First attempt at showing prompts in all windows
2016-11-03 08:40:42 +01:00
Florian Bruhin
d5a1f6d6b5
Only support calling _init_key_label once
2016-11-03 08:40:42 +01:00
Florian Bruhin
fefc8c4eb2
Add more tests for prompts
2016-11-03 08:40:42 +01:00
Florian Bruhin
653ca9799d
Add a default for SSL questions
2016-11-03 08:40:41 +01:00
Florian Bruhin
20716c137c
Support tab completion for auth prompts again
2016-11-03 08:40:41 +01:00
Florian Bruhin
3ffcb011a7
Simplify key label for auth prompts
2016-11-03 08:40:41 +01:00
Florian Bruhin
9bdbb257ba
Add initial filename completion
2016-11-03 08:40:41 +01:00
Florian Bruhin
6ab51e0b7b
Handle clicking on file items in prompt
2016-11-03 08:40:41 +01:00
Florian Bruhin
acbd5107d6
Only show directories in download filename prompts
2016-11-03 08:40:41 +01:00
Florian Bruhin
46b24fc64a
Improve how file list is shown in download prompt
2016-11-03 08:40:41 +01:00
Florian Bruhin
6da6758263
Improve FilenamePrompt widget sizing
2016-11-03 08:40:41 +01:00
Florian Bruhin
741ecac9ef
More improvements for yesno prompt key hints
2016-11-03 08:40:41 +01:00
Florian Bruhin
7d63795613
Improve bindings output for yesno questions
2016-11-03 08:40:41 +01:00
Florian Bruhin
7d57d884d6
Add configuration options for prompts
2016-11-03 08:40:41 +01:00
Florian Bruhin
a33333eb41
Make the radius for prompt edges configurable
2016-11-03 08:40:41 +01:00
Florian Bruhin
dff20ffe35
Fix message.confirm_async calls
2016-11-03 08:40:41 +01:00
Florian Bruhin
bc4e340323
Save key mode to leave
...
Doing self._prompt.question.done() already sets self._prompt to the next
prompt or to None.
2016-11-03 08:40:41 +01:00
Florian Bruhin
80caed4642
Add missing docstring
2016-11-03 08:40:41 +01:00
Florian Bruhin
e110f3b590
Get rid of StatusBar._set_prompt_active
2016-11-03 08:40:41 +01:00
Florian Bruhin
fe59e0618f
Rename download_open function
2016-11-03 08:40:41 +01:00
Florian Bruhin
fe230219a9
Fix lint
2016-11-03 08:40:41 +01:00
Florian Bruhin
f4be35c981
Add a LineEdit subclass for prompts
2016-11-03 08:40:41 +01:00
Florian Bruhin
433afe8658
Handle invalid values with :prompt-accept
2016-11-03 08:40:41 +01:00
Florian Bruhin
051b31d101
Fix reinitializing of key label
2016-11-03 08:40:41 +01:00
Florian Bruhin
7d38430d2d
Fix confirm_async
2016-11-03 08:40:41 +01:00
Florian Bruhin
9c34a64f81
self._build_question fail
2016-11-03 08:40:41 +01:00
Florian Bruhin
04d24e3d94
Fix permission question
2016-11-03 08:40:41 +01:00
Florian Bruhin
75bb2265be
Take text as pos. argument for _build_question
2016-11-03 08:40:41 +01:00
Florian Bruhin
6d7748f05f
Add FilenamePrompt
2016-11-03 08:40:41 +01:00
Florian Bruhin
47208eb022
Fix :prompt-open-download
2016-11-03 08:40:41 +01:00
Florian Bruhin
d74b0109c7
Add key hints
2016-11-03 08:40:41 +01:00
Florian Bruhin
f0ed43ec20
Use message module as API for most questions
2016-11-03 08:40:41 +01:00
Florian Bruhin
756564ebff
Get rid of message_bridge.set_cmd_text
2016-11-03 08:40:41 +01:00
Florian Bruhin
523369882a
Add title/text to questions
2016-11-03 08:40:41 +01:00
Florian Bruhin
e3581a50ca
Remove generated stylesheets again
...
We can just use jinja logic instead...
2016-11-03 08:40:41 +01:00
Florian Bruhin
1f011bdd5f
Fix prompt focus handling
2016-11-03 08:40:41 +01:00
Florian Bruhin
33088588d9
half-working auth prompts
2016-11-03 08:40:41 +01:00
Florian Bruhin
903e31efa4
First prototype of new prompts
2016-11-03 08:40:41 +01:00
Cosmin Popescu
3692c86a7e
auto save session
2016-11-01 19:43:37 +01:00
Florian Bruhin
51a0c2a32c
Remove unused imports
2016-10-31 07:27:30 +01:00
Florian Bruhin
f12d87fabc
Only call sip.isdeleted on QObjects
2016-10-31 06:14:43 +01:00
Florian Bruhin
618e7650fe
Don't include deleted objects in objreg.dump_objects
2016-10-30 23:25:28 +01:00
Florian Bruhin
b4872192c3
Merge branch 'more-tests' of https://github.com/HolySmoke86/qutebrowser into HolySmoke86-more-tests
2016-10-30 23:24:15 +01:00
Florian Bruhin
f6aefabf40
Initialize QtWebKit-specific stuff with QtWebKit only
...
Maybe this fixes issues we had with QtWebEngine segfaults in proxy.py on
Travis?
Note we can't move cookies/cache/network stuff yet as we still need that
for e.g. adblock downloads with QtWebEngine.
2016-10-30 23:07:19 +01:00
Florian Bruhin
428637746a
Merge branch 'insert-text-js' of https://github.com/paretje/qutebrowser into paretje-insert-text-js
2016-10-30 19:51:25 +01:00
Florian Bruhin
713b00a102
Hide empty "Unhandled client message" warning
...
Fixes #2071
2016-10-30 19:00:29 +01:00
Kevin Velghe
0caee94994
Remove has_js
2016-10-30 18:54:34 +01:00
Florian Bruhin
f4022a86fd
Improve line breaking
2016-10-30 18:49:41 +01:00
Florian Bruhin
620b952bb2
Merge branch 'jseval-2' of https://github.com/paretje/qutebrowser into paretje-jseval-2
2016-10-30 18:48:14 +01:00
Kevin Velghe
e83b99b0e1
Run javascript on document element
...
This enables `:jseval` for users who disable javascript on webpages.
2016-10-30 11:39:10 +01:00
Florian Bruhin
2ce15b0499
Use start.duckduckgo.com as startpage
...
Apparently some users got nagged by duckduckgo to set it as start page.
2016-10-27 22:16:53 +02:00
Jan Verbeek
2cc958fbb6
Stop progress bar from growing status bar height
2016-10-26 13:46:52 +02:00
Joel Bradshaw
e5a1bb5091
Update version number to 0.8.2
...
Bump version info to 0.8.2 so that it shows up in `qutebrowser --version`
2016-10-25 06:01:45 -07:00
Daniel Karbach
c801caa19a
log debug console status changes
2016-10-24 17:10:47 +02:00
Daniel Karbach
5d92934d76
less brutal synthetic segfault
2016-10-24 17:10:47 +02:00
Daniel Karbach
bdb96becd6
unit tests for misc.lineparser
2016-10-24 17:10:47 +02:00
Jan Verbeek
21289a80ad
Catch RegisterKeyParser command errors
2016-10-20 17:38:56 +02:00
Kevin Velghe
efadbe64b5
insert_text doesn't need javascript to be enabled
...
It runs in the context of an element, which seems possible, even without
javascript enabled (in qtwebkit?).
2016-10-20 15:54:06 +02:00
Daniel Karbach
da2ba86aa5
use https for links in docs and elsewhere
...
refs #2039
2016-10-20 14:48:35 +02:00
Jan Verbeek
f2b05a0395
Move keyboard macro system to MacroRecorder object
2016-10-20 02:50:00 +02:00
Daniel Karbach
ef3968c165
setting values tabs->new-tab-position[-explicit]
...
left -> prev
right -> next
2016-10-18 17:17:17 +02:00
Daniel Karbach
7eafa30084
:tab-close option names
...
--left -> --prev
--right -> --next
2016-10-18 15:03:08 +02:00
Daniel Karbach
845298ae41
:tab-close option names
...
--left -> --prev
--right -> --next
2016-10-18 15:03:08 +02:00
Daniel Karbach
828b7d744a
setting values tabs->select-on-remove
...
left -> prev
right -> next
previous -> last-used
refs #1619
2016-10-18 15:03:01 +02:00
Florian Bruhin
2ae9f14d22
Add pylint disable
2016-10-18 06:22:45 +02:00
Kevin Velghe
59536828a1
Implement hint target "current" for webengine
2016-10-17 23:33:44 +02:00
Florian Bruhin
ab43ba71d2
Merge branch 'webkitelemparent' of https://github.com/paretje/qutebrowser into paretje-webkitelemparent
2016-10-17 22:26:58 +02:00
Jan Verbeek
2a304d7a6b
Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into macros
...
Conflicts:
qutebrowser/commands/runners.py
2016-10-17 19:14:58 +02:00
Kevin Velghe
ed91e1d4c8
Implement __setitem__ in WebEngineElement
2016-10-17 14:14:45 +02:00
Kevin Velghe
7bb4700352
Return None when parent is a null webelement
2016-10-14 14:54:43 +02:00
Florian Bruhin
229faac9cb
Stabilize :session-delete tests
2016-10-14 07:24:36 +02:00
Florian Bruhin
d301f200e2
Improve docs for netrc-file setting
2016-10-14 06:45:41 +02:00
Florian Bruhin
26b6688b61
Merge branch 'netrc' of https://github.com/paretje/qutebrowser into paretje-netrc
2016-10-14 06:39:03 +02:00
Ryan Roden-Corrent
fbc084e416
Remove :<count>:cmd syntax support.
...
CommandRunner.parse had some logic for handling commands of form
:<count>:cmd. However, this complicated the parsing logic for something
that appears to only be used in tests. One could use it in a
userscript, but this is unlikely as it is undocumented. Removing
support for this simplifies the logic of parse.
The commnd `run-with-count` is added to provide this functionality.
It works like `repeat` but passes the count along to the command
instead of running the command multiple times.
This resolves #1997 : Qutebrowser crashes when pasting commands.
This bug was caused by excess stripping of ':' from the command string
by _parse_count.
2016-10-10 08:02:30 -04:00
Kevin Velghe
087342894e
Add setting for location of netrc file
...
There is no reason I guess to do this with an environment variable. On
top of that, introducing a settings also documents the netrc feature
itself (Closes #1975?).
2016-10-09 00:15:46 +02:00
Jan Verbeek
87899cb6b3
Fix long lines
2016-10-08 22:00:26 +02:00
Jan Verbeek
33ff0ba715
Interactively get macro register
2016-10-08 21:17:47 +02:00
Florian Bruhin
c40539c7e9
Merge branch 'pdfjs-1.6.210' of https://github.com/Kingdread/qutebrowser into Kingdread-pdfjs-1.6.210
2016-10-06 22:52:44 +02:00
Jan Verbeek
7aaaadac1a
Add keyboard macros
2016-10-06 22:24:04 +02:00
Florian Bruhin
378976db29
Make log.stub work when inspect.stack fails
...
I got this during shutdown once:
Traceback (most recent call last):
File ".../qutebrowser/mainwindow/mainwindow.py", line 552, in closeEvent
File ".../qutebrowser/mainwindow/mainwindow.py", line 538, in _do_close
File ".../qutebrowser/mainwindow/tabbedbrowser.py", line 218, in shutdown
self._remove_tab(tab)
File ".../qutebrowser/mainwindow/tabbedbrowser.py", line 280, in _remove_tab
tab.shutdown()
File ".../qutebrowser/browser/webengine/webenginetab.py", line 536, in shutdown
log.stub()
File ".../qutebrowser/utils/log.py", line 151, in stub
function = inspect.stack()[1][3]
File "/usr/lib64/python3.5/inspect.py", line 1464, in stack
return getouterframes(sys._getframe(1), context)
File "/usr/lib64/python3.5/inspect.py", line 1441, in getouterframes
frameinfo = (frame,) + getframeinfo(frame, context)
File "/usr/lib64/python3.5/inspect.py", line 1414, in getframeinfo
lines, lnum = findsource(frame)
File "/usr/lib64/python3.5/inspect.py", line 804, in findsource
if pat.match(lines[lnum]): break
IndexError: list index out of range
2016-10-06 21:04:53 +02:00
Daniel Schadt
ffa276a182
pdfjs: compatibility for v1.6.210
...
They renamed PDFView to PDFViewerApplication, which we need to account
for in our pdfjs scripts.
Also, it seems like the actual viewer is now only created when the DOM
has been loaded. This means that at the time when our script is
executed, the viewer does not yet exist. Thus we need to delay the open
request too by registering a DOMContentLoaded handler.
2016-10-06 14:43:16 +02:00
Florian Bruhin
5e6d8e3944
Merge branch 'master' of https://github.com/sebastian-frysztak/qutebrowser into sebastian-frysztak-master
2016-10-05 21:19:17 +02:00
Florian Bruhin
6184da0224
Add a comment
2016-10-05 21:16:18 +02:00
Florian Bruhin
24eb27e385
Merge branch 'completer_unicode' of https://github.com/rcorre/qutebrowser into rcorre-completer_unicode
2016-10-05 21:15:28 +02:00
Kevin Velghe
e3c92a9bae
Set netrc location with QUTE_NETRC
2016-10-05 12:03:52 +02:00
Florian Bruhin
c36ae5ab8f
Fix quit confirmation text for downloads
2016-10-05 10:13:01 +02:00
Florian Bruhin
2f0db878e6
Break long lines
2016-10-05 09:07:35 +02:00
Sebastian Frysztak
f0cc168609
Style changes
2016-10-04 16:45:31 +02:00
Ryan Roden-Corrent
2696f9b427
Handle unicode characters in Completer.
...
Just limit the cursor position to the length of the text to avoid
crashes in this case.
Resolves #2007 .
2016-10-04 07:36:49 -04:00
Florian Bruhin
f34d896ff4
Log total initialization time
2016-10-04 10:26:44 +02:00
Florian Bruhin
b107522d8c
Make cssutils a lazy import
...
Importing cssutils takes more than a second on the 2009 Thinkpad with a
Core2 I'm on right now, so let's only import it when actually necessary.
2016-10-04 08:51:10 +02:00
Sebastian Frysztak
df83862088
Reserve space for empty favicon in _get_icon_rect.
2016-10-03 13:14:49 +02:00
Florian Bruhin
4407ef032a
Clean up JS
2016-10-03 07:01:22 +02:00
Florian Bruhin
323d5fc9e7
Also fix scroll.to_perc with position:absolute
2016-10-03 06:59:35 +02:00
Florian Bruhin
bd831939bc
Adjust for scrolling off-by-one errors
...
On some pages with particular zoom levels, elem.offsetHeight is exactly
one pixel more than elem.scrollHeight when fully scrolled down.
This is probably due to rounding/floats/off-by-one errors somewhere
inside Chromium?
We now instead always clip the displayed percentage at 100% (so we don't
display 101%), and consider the page fully scrolled even if we're
scrolled more than the page.
2016-10-03 06:52:54 +02:00
Florian Bruhin
fc0b62f122
Revert "scroll.js --> fix scroll measures"
...
This reverts commit 0c5d95c943
.
Using those values is probably okay as long as we adjust for the
off-by-one errors which will follow in the next commit.
2016-10-03 06:51:57 +02:00
Florian Bruhin
fc1943e5e6
Merge branch 'patch-1' of https://github.com/Spreadyy/qutebrowser into Spreadyy-patch-1
2016-10-03 06:51:37 +02:00
Florian Bruhin
5b11eaad85
Merge branch 'issue1987' of https://github.com/HolySmoke86/qutebrowser into HolySmoke86-issue1987
2016-10-03 06:45:01 +02:00
Florian Bruhin
c7b74edfbe
Merge branch 'issue1940' of https://github.com/HolySmoke86/qutebrowser into HolySmoke86-issue1940
2016-10-03 06:41:19 +02:00
Florian Bruhin
55cefd1ab7
Don't shadow outer name
2016-10-01 22:51:40 +02:00
Florian Bruhin
625bb7baa4
Clean up crash msgbox properly
...
Fixes #2004
2016-10-01 22:05:29 +02:00
Sebastian Frysztak
4f443c9f27
Reserve space for favicon with vertical tabs
2016-10-01 12:55:55 +02:00
Florian Bruhin
6b76d5defa
Whitespace changes
2016-09-30 17:54:23 +02:00
Daniel Karbach
a3e9fe1fd7
removed duplicate userscript path lookup
2016-09-30 09:50:49 +02:00
Daniel Karbach
dc344989c6
revised missing userscript error messages
2016-09-30 09:50:49 +02:00
Daniel Karbach
eaa754648d
common base for userscript exceptions
2016-09-30 09:26:43 +02:00
Florian Bruhin
822c100f52
Make 0 a usable count for :tab-focus
...
Fixes #1768
2016-09-30 08:33:16 +02:00
Daniel Karbach
46ca91cfc0
only use ';' as query delim if there's no '&'
2016-09-29 17:45:12 +02:00
Daniel Karbach
cbbfbabfc4
reorganize and document
2016-09-29 14:37:40 +02:00
Daniel Karbach
8eb12c6cb9
improved error messages for inexistent userscripts
...
fixes #1940
2016-09-29 13:29:39 +02:00
Daniel Karbach
b195b5b40d
detect ';' delimiters when yanking URL
...
fixes #1987
2016-09-29 11:02:30 +02:00
Spreadyy
0c5d95c943
scroll.js --> fix scroll measures
...
scroll measures failed a travis test where document.documentElement.offsetHeight and document.documentElement.scrollHeight diffed by one pixel when the browser zoomed. --> Removed offsetHeight.
2016-09-29 08:59:46 +02:00
Florian Bruhin
5ce1f0b912
Don't update scroll position with 0 tabs
2016-09-29 08:48:04 +02:00
Florian Bruhin
42b7d1d10f
Add a colon
2016-09-29 06:35:47 +02:00
Daniel Karbach
50fb4a78c7
early init of qapp and standarddir
...
this fixes the error that appeared when invoked with --version
2016-09-28 10:25:40 +02:00
Spreadyy
f2e471597d
Lint test failed --> edited line length
2016-09-27 23:24:12 +02:00
Daniel Karbach
0c4c84d821
adhere to style guide
2016-09-27 13:22:28 +02:00
Daniel Karbach
7ce442c771
standarddir path names in qute://version
...
fixes #1947
2016-09-27 12:01:04 +02:00
Spreadyy
a22ae2818c
Fix scroll JS for xkcd.
...
Fix wrong scroll.height for xkcd. Solution according to:
http://stackoverflow.com/questions/1145850/how-to-get-height-of-entire-document-with-javascript
2016-09-27 11:41:47 +02:00
Ryan Roden-Corrent
6aaa138619
Use a set instead of a list for Command._modes.
2016-09-26 08:30:28 -04:00
Ryan Roden-Corrent
14f8ec8754
Error on mode/command mismatch with :bind.
...
Resolves #1964 (:bind should error for mode/command mismatch)
2016-09-26 08:30:28 -04:00
Ryan Roden-Corrent
6fdd007dbb
Simplify mode-checking in command.
...
Rather than maintaining separate _modes and _not_modes lists, just
build a single _modes list in the constructor.
2016-09-26 08:30:28 -04:00
Florian Bruhin
68e60ecc3c
configtypes: Add a "# pragma: no cover"
2016-09-26 08:25:54 +02:00
Florian Bruhin
62ac87c34f
Merge branch 'pretty-url' of https://github.com/lahwaacz/qutebrowser into lahwaacz-pretty-url
2016-09-26 07:08:33 +02:00
Florian Bruhin
cfe25b96fc
Merge branch 'option-description' of https://github.com/HolySmoke86/qutebrowser into HolySmoke86-option-description
2016-09-26 07:00:17 +02:00
Florian Bruhin
27b524300b
Improve configtypes tests
...
This also gets configtypes.py back to 100% coverage
2016-09-26 06:33:14 +02:00
Daniel Karbach
b801208d97
show option description in qute:settings
2016-09-23 15:42:02 +02:00
Jakub Klinkovský
a72efe4a3e
also prettify url:pretty variable
2016-09-22 19:25:54 +02:00
Florian Bruhin
d4376c5196
Fix overlays with a top statusbar
2016-09-22 17:34:30 +02:00
Florian Bruhin
e6f62f8118
Remove now-unneeded _get_overlay_position
2016-09-22 17:34:17 +02:00
Florian Bruhin
17ceba5ce4
Round correct edge for keyhint with top statusbar
2016-09-22 17:29:25 +02:00
Florian Bruhin
e04e6c51d1
Add generator argument to set_register_stylesheet
2016-09-22 17:29:03 +02:00
Florian Bruhin
750dfd98af
Generalize statusbar-attached website overlays
...
We already had some duplicated logic for completion/keyhint/messageview,
and plan to add prompt overlays too now - so here we refactor related
code to have a list of overlays instead, which are all
resized/positioned by the mainwindow when needed.
This also changes the size management, which gets moved into the
sizeHint of the respective overlay widgets.
2016-09-22 17:04:39 +02:00
Jakub Klinkovský
268db48f19
prettify yank pretty-url
2016-09-22 14:25:48 +02:00
Florian Bruhin
57d896e989
Fix hints when zoomed with QtWebEngine
...
We mutated rect (coming from self._js_dict), which means we used the
already adjusted values the second time we called rect_on_view.
Fixes #1863 .
2016-09-21 20:09:31 +02:00
Ryan Roden-Corrent
1d2cf3b648
Completer: don't try to partition search.
...
Exit before trying to partition if the command prefix is not ':'.
Resolves #1969 :
'TypeError with refactored completion when searching for command'
2016-09-21 07:08:34 -04:00
Florian Bruhin
43fa5f55c1
Don't set QT_HARFBUZZ with Qt >= 5.4
...
Fixes #1948
2016-09-16 08:35:17 +02:00
Florian Bruhin
e5b3880b71
Check for spaces in URLs with explicit scheme
...
Fixes #1954
2016-09-15 22:29:21 +02:00
Florian Bruhin
04a891cbf0
Merge branch 'kwonly-default-fix' of https://github.com/Kingdread/qutebrowser into Kingdread-kwonly-default-fix
2016-09-15 17:19:26 +02:00
Florian Bruhin
0d64257049
Add missing docstring
2016-09-15 17:16:30 +02:00
Florian Bruhin
bb1b1c8ee8
Remove unused imports
2016-09-15 16:45:48 +02:00
Florian Bruhin
018e9ef4a3
Merge branch 'completion_split' of https://github.com/rcorre/qutebrowser into rcorre-completion_split
2016-09-15 16:44:54 +02:00
Florian Bruhin
879ca0b873
Make qutescheme arg optional for resource_url
2016-09-15 16:42:07 +02:00
Daniel Schadt
794eb84805
add parameter name in error message
2016-09-15 16:38:18 +02:00
Florian Bruhin
37fa7431b0
Serve broken qutebrowser logo via qute:resources
...
This is needed when we want to display an error page after the user
requested a qute:// URL, as qute:// URLs can't access file:// content
with QtWebEngine.
2016-09-15 16:06:25 +02:00
Daniel Schadt
0ef5d338bd
make sure keyword-only arguments have a default
...
Fixes #1872 .
This prevents inspect.Parameter.empty from slipping through to the
command.
2016-09-15 15:44:33 +02:00
Florian Bruhin
44e8296a66
Remove environment variables from version()
...
We already have those in the report anyways.
2016-09-15 14:59:32 +02:00
Florian Bruhin
8403f2451f
Add $PATH to crash info
2016-09-15 14:56:27 +02:00
Florian Bruhin
7e30792bfe
Fix lint
2016-09-15 14:51:22 +02:00
Florian Bruhin
e32bbfa8f7
Init message.global_bridge at import time
2016-09-15 14:51:22 +02:00
Florian Bruhin
2c98b837d5
Add config migrations
2016-09-15 14:51:21 +02:00
Florian Bruhin
e5293d34de
Add missing str() calls
2016-09-15 14:51:21 +02:00
Florian Bruhin
dfac0658ae
Re-add logging for messages
2016-09-15 14:51:21 +02:00
Florian Bruhin
ed4f476ab4
Get rid of queued messages and unused code
2016-09-15 14:51:21 +02:00
Florian Bruhin
f16b96aa28
Initial implementation of new messages
2016-09-15 14:51:21 +02:00
Ryan Roden-Corrent
a9771007b1
Pass string, not index from on_selection_changed.
...
Simplify the CompletionWidget/Completer interface by changing
on_selection_changed to pass the newly selected text rather than the
index of the newly selected item.
This moves the logic from Completer to CompletionWidget but simplifies
the interaction between the two and makes testing easier.
2016-09-14 22:55:07 -04:00
Ryan Roden-Corrent
ac03095512
Small if-statement style tweak in Completer.
2016-09-14 22:35:05 -04:00
Florian Bruhin
c071964091
Fix lint
2016-09-14 15:21:30 +02:00
Florian Bruhin
886103c887
Fix showing errors in the current window
2016-09-14 15:18:12 +02:00
Florian Bruhin
982d00ff84
Let qute:* handlers decide their mimetype
...
This means we have to guess less, and handlers can give us HTML as text
which we then encode for them.
2016-09-14 12:33:20 +02:00
Florian Bruhin
5501d90268
Fix lint
2016-09-14 12:00:29 +02:00
Florian Bruhin
a1527f35d4
Allow to restrict qute:* pages to a backend
2016-09-14 11:04:47 +02:00
Florian Bruhin
71bc5bb943
Move QuteSchemeError to qutescheme
2016-09-14 11:04:37 +02:00
Florian Bruhin
aa71c9ae58
Initial qute:* support for QtWebEngine
2016-09-14 10:18:25 +02:00
Ryan Roden-Corrent
e23d611b37
Strip quotes from completion pattern.
...
Given a commandline like:
`:set general editor "gvim -f"|`, the pattern should be 'gvim -f'
rather than '"gvim -f"'.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
b867b87955
Don't crash Completer on unknown command.
...
The CommandRunner's fallback parsing behavior treated whitespace
differently than the normal flow. When a user entered an unknown
command, trailing whitespace would be stripped and the cmdline length
would be less than the cursor position.
This is fixed by making the fallback use the ShellLexer just as the
'normal' parsing does.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
69a3df174d
Remove needless try/catch in on_selection_changed.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
d651cc75b0
Fix flake8/pylint errors.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
808a645b40
Fix quick-complete highlighting quirk.
...
When the commandline reads ':open |', quick-completing the only offered
completion will set the commandline to ':open some_url |'. Since `open`
has `maxsplit=0`, everything after ':open' is (correctly) treated as
one argument. This means completion is opened again with 'some url '
as the pattern (note trailing whitespace), which makes the comletion
menu 'flicker' and stay open even though it was 'supposed' to quick
compelte.
This is fixed by ignoring the next completion request if we just
completed something after maxsplit (because we don't expect any more
completions after the last split).
Resolves #1519 .
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
fcadde6aef
Merge _split into _partition in Completer.
...
After the refactoring, _split is only called by _partition so just make
it part of the same method. This also removes the use of
_empty_item_index, as it can be figured out on the fly.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
127412d91c
Simplify update_completion.
...
Remove the class variables _cursor_part and _empty_item_index. Instead,
split up the commandline around the cursor whenever that information is
needed. Using locals instead of class variables makes the logic easier
to follow and ends up requiring much less code.
2016-09-12 22:19:44 -04:00
Ryan Roden-Corrent
581d7659ba
Clean up Completer.on_selection_changed.
...
Remove the dependency on the class variables _empty_item_index
and _cursor_part to make the code easier to follow. If
_update_completion is refactored in a similar way these variables can
be removed.
2016-09-12 22:19:44 -04:00
Florian Bruhin
0b310d6910
Fix removing of a clicked download
2016-09-12 21:47:01 +02:00
Florian Bruhin
5b0fc41367
Log scroll data we got via JS
2016-09-12 21:46:51 +02:00
Florian Bruhin
4b4582c452
Adjust comment in _rect_on_view_js
2016-09-12 20:00:59 +02:00
Florian Bruhin
14de9f58b8
Fix docstring
2016-09-12 18:33:57 +02:00
Florian Bruhin
8a35ebac7b
Use a separate JS world for :jseval
2016-09-12 18:27:51 +02:00
Florian Bruhin
c9e3cc04cf
Accept a name for --world with :jseval
2016-09-12 18:23:23 +02:00
Florian Bruhin
97edc59f03
Add some logging to argparse.multitype_conv
2016-09-12 18:22:49 +02:00
Florian Bruhin
b2608d7697
Add --world to :jseval
2016-09-12 15:59:17 +02:00
Florian Bruhin
a16c5a6a25
Add a world argument to tab.run_js_async
2016-09-12 15:59:03 +02:00
Florian Bruhin
2388489038
downloads: Be okay with the tmpdir being gone
2016-09-12 11:30:44 +02:00
Florian Bruhin
0fef141db5
Handle QBuffer in on_feature_permission_requested
2016-09-12 09:43:08 +02:00
Florian Bruhin
43b563f600
Add missing docstring
2016-09-11 21:27:16 +02:00
Florian Bruhin
7ec62c4523
Make some more things in download.py private
2016-09-11 20:58:34 +02:00
Florian Bruhin
3550d59e3a
Make DownloadItem.reply private
...
This adds a new uses_nam method to DownloadItem though.
2016-09-11 20:58:34 +02:00
Florian Bruhin
36b7485262
Make some things in downloads.py private
2016-09-11 20:48:19 +02:00
Florian Bruhin
4a2f0eea2f
Fix import order in utilcmds
2016-09-11 20:29:19 +02:00
Florian Bruhin
4537b786f5
Ignore already deleted windows in :window-only
2016-09-11 20:29:05 +02:00
Florian Bruhin
1b5cd98d38
Fix lint
2016-09-11 20:16:03 +02:00
Florian Bruhin
8eeb3b9c75
QtWebEngine: Round scroll percentages
2016-09-11 19:59:00 +02:00
Florian Bruhin
fff777404b
Use QApplication.postEvent again
...
We had some funny segfaults reported during scrolling (i.e. with
QApplication.sendEvent), and some code already had to use postpone=True
so there was no segfault...
So now we're back to postEvent again, and eliminated the main reason for
segfaults with it, which was re-using (and -posting) events which had
already been posted.
At least during tests this seems to run stable, let's hope it helps for
the people having crashes as well.
2016-09-11 19:37:09 +02:00
Florian Bruhin
de03feabfe
Fix DownloadModel.itemFlags with invalid index
2016-09-11 17:10:52 +02:00
Florian Bruhin
4d96586eb6
Merge branch 'visibility-api' of https://github.com/Ban3/qutebrowser into Ban3-visibility-api
2016-09-11 16:23:14 +02:00
Florian Bruhin
1fe2579bb1
Merge branch 'windows-userscripts' of https://github.com/Kingdread/qutebrowser into Kingdread-windows-userscripts
2016-09-11 16:14:25 +02:00
Florian Bruhin
4686e0349b
Fix lint
2016-09-11 16:06:16 +02:00
Florian Bruhin
162e6d6483
Fix closing with no last-visible-main-window
...
Fixes #1918
2016-09-11 16:03:15 +02:00
Florian Bruhin
1c09649dcb
Pass QNAM instead of page to DownloadManager
2016-09-11 14:58:07 +02:00
Florian Bruhin
e8f8f1e72a
Add DownloadItem.remove
...
This also gets rid of the remove_items method and replaces it by a
simple loop. I don't think the optimization is actually needed...
2016-09-11 14:58:07 +02:00
Florian Bruhin
b332d22967
Make DownloadModel a sequence
2016-09-11 14:58:07 +02:00
Florian Bruhin
b949e4d73a
Start splitting DownloadModel from DownloadManager
...
This mostly works, apart from remove_item/remove_items not being
available on the model.
2016-09-11 14:58:07 +02:00
Jussi Timperi
19d9ec374d
Handle the missing attribute
2016-09-11 13:12:27 +03:00
Jussi Timperi
1adc308676
Access enums by their base class
2016-09-11 13:04:58 +03:00
Florian Bruhin
4c55963dc3
Fix lint
2016-09-10 17:32:04 +02:00
Jussi Timperi
6437a28184
QtWebKit: Add version checks to visibility API
2016-09-10 17:55:00 +03:00
Florian Bruhin
bd5f63db46
Make an invalid download target fatal
...
This should never happen, so there's no reason for it to log an error
instead of raising an exception.
2016-09-10 16:42:27 +02:00
Florian Bruhin
cc4cd6913d
Make download model qtmodeltester compliant
2016-09-10 16:24:31 +02:00
Florian Bruhin
3bf841bdb4
Delete file on infinite redirects
2016-09-10 16:24:31 +02:00
Florian Bruhin
dc0ddd023a
Add logging for deleting/removing downloads
2016-09-10 16:24:31 +02:00
Jussi Timperi
13d73359d4
QtWebKit: Handle visibility API
...
closes #1886
2016-09-10 16:07:29 +03:00
Florian Bruhin
7f2cc5dbc3
Make remove_data in DownloadItem.cancel kw-only
2016-09-09 19:29:14 +02:00
Florian Bruhin
b39d33d5e3
Revert "Remove remove_data arg for DownloadItem.cancel"
...
This reverts commit ece85dc903
.
It's actually needed in _ask_confirm_question...
2016-09-09 19:28:17 +02:00
Florian Bruhin
433a8a8ced
Fix filename with a misconfigured XDG_DOWNLOAD_DIR
...
'filename' is the relative path we got from the broken config file.
Instead of using the garbage, let's just drop it and use the suggested
name (self.basename) instead.
2016-09-09 18:46:51 +02:00
Florian Bruhin
a5793695de
Mark almost-impossible check with a nocover pragma
...
This can only happen when running :download-open on a download created
by :adblock-update right now, which is a very small chance, so we can't
easily test for it.
2016-09-09 18:46:51 +02:00
Florian Bruhin
ece85dc903
Remove remove_data arg for DownloadItem.cancel
...
This was added in f0779f8cc0
but never
actually used.
2016-09-09 18:46:51 +02:00
Florian Bruhin
ab30124bd0
Remove (hopefully) dead download code
...
If the percentage is None, remaining/total should always be None
too (as percentage/remaining being None should be triggered by total
being None).
2016-09-09 18:46:51 +02:00
Florian Bruhin
7611281563
Add basename to "download finished" message
2016-09-09 18:46:51 +02:00
Florian Bruhin
864ec94cde
Fix lint
2016-09-09 17:56:58 +02:00
knaggita
9ff3f6810a
Remove --qt-* arguments
2016-09-09 17:55:16 +02:00
Florian Bruhin
f75f45addc
Fix at_bottom scrolling check
...
This is a regression introduced in
b45f940e72
2016-09-09 16:03:51 +02:00
Florian Bruhin
d0cf452ec8
Remove :prompt-yes and :prompt-no
...
Those are replaced by :prompt-accept yes and :prompt-accept no
2016-09-09 15:59:00 +02:00
Florian Bruhin
d579697245
Add a value argument to :prompt-accept
2016-09-09 15:48:42 +02:00
Florian Bruhin
b45f940e72
Move some scroll logic from JS to Python
2016-09-09 14:19:21 +02:00
Florian Bruhin
71a89bd418
*Really* fix completion with multiple words.
...
Turns out re.escape also escapes spaces, so we'd need to replace '(\\ )'
groups after escaping. At this point it's easier to just combine spaces
before escaping the pattern.
Fixes #1934 .
Supersedes #1935 .
2016-09-09 09:03:18 +02:00
Florian Bruhin
0a3853fcb7
Fix handling of spaces in completion
...
This is a regression introduced in
faa052ad6f
.
Fixes #1934 .
2016-09-08 21:59:18 +02:00
Florian Bruhin
f8f74400c6
Fix more lint
2016-09-07 18:57:00 +02:00
Florian Bruhin
955910a0e8
Fix lint
2016-09-07 18:45:46 +02:00
Florian Bruhin
44d1056e54
QtWebEngine: Implement custom HTTP headers
2016-09-07 18:29:38 +02:00
Florian Bruhin
5a54699863
Remove unused code from qutebrowser.browser.shared
2016-09-07 18:17:56 +02:00
Florian Bruhin
df7f74c782
Add qutebrowser.browser.shared
2016-09-07 18:17:05 +02:00
Florian Bruhin
d7f9e4735e
earlyinit: Only display exception if there was one
2016-09-07 17:33:22 +02:00
Florian Bruhin
4d91ccfea5
Enforce Qt >= 5.6.0 for QtWebEngine
2016-09-07 17:31:48 +02:00
Florian Bruhin
02bd42cbed
Implement adblocking for QtWebEngine
2016-09-07 17:27:21 +02:00
Florian Bruhin
6fec236757
Add some blank lines to app._init_modules
2016-09-07 16:45:46 +02:00
Florian Bruhin
3a55dbf712
Don't use 'current' win_id for adblock update
2016-09-07 16:24:51 +02:00
Florian Bruhin
bac7a6eaf2
Remove BrowserPage.chooseFile
...
Seems like QtWebKit comes with a default implementation of that.
2016-09-07 13:39:19 +02:00
Florian Bruhin
8c3906b784
Remove BrowserPage.shouldInterruptJavaScript
...
This is useless due to a Qt bug anyways:
https://bugreports.qt.io/issues/?jql=text%20~%20%22shouldInterruptJavascript%22
2016-09-07 12:49:57 +02:00
Florian Bruhin
fca37abf55
QtWebEngine: Implement webelem.classes
2016-09-07 12:31:48 +02:00
Florian Bruhin
3e1583bb1c
Make WebKitElement._is_visible private
...
It makes a lot of sense for this to be in webkitelem.py, but it should
not be public API as it's only used internally and can't be implemented
here with QtWebEngine.
2016-09-07 11:58:39 +02:00
Florian Bruhin
ae3b7c9f15
Remove unused imports
2016-09-07 11:51:57 +02:00
Florian Bruhin
0ff98f568c
Add a webelem logger
2016-09-07 11:51:23 +02:00
Florian Bruhin
c3b80c6b5b
Use double quotes for JS strings
...
eslint won't enforce it inside that snippet, but hey, why not?
2016-09-07 11:48:34 +02:00
Florian Bruhin
60c86a08c4
Get rid of WebElement.debug_text
2016-09-07 11:47:39 +02:00
Florian Bruhin
e700d11447
Add check_vanished() in webkitelem.insert_text
2016-09-07 11:29:26 +02:00
Florian Bruhin
8f9cfcf232
Get rid of webelem.run_js_async
2016-09-07 11:27:37 +02:00
Florian Bruhin
78d64f4791
Get rid of webkitelem.focus_elem
2016-09-07 11:24:28 +02:00
Florian Bruhin
948fa033c7
Implement :insert-text for QtWebEngine
2016-09-07 11:20:32 +02:00
Florian Bruhin
ee5a972069
Move auto-insert-mode handling to browsertab
...
This means auto-insert-mode now works correctly with QtWebEngine.
2016-09-07 10:24:27 +02:00
Florian Bruhin
2ef6423cf2
Add some QtWebEngine comments to webkit.webview
2016-09-07 10:11:01 +02:00
Florian Bruhin
02df91e369
Mark colors -> webpage.bg as QtWebKit-only
2016-09-07 09:49:37 +02:00
Florian Bruhin
919196714b
QtWebEngine: Implement WebEngineScroller.at_bottom
2016-09-07 09:32:51 +02:00
Daniel Schadt
22ac19b151
style fixes
2016-09-06 20:33:48 +02:00
Florian Bruhin
b65440e7e3
Update docs
2016-09-06 18:21:12 +02:00
Florian Bruhin
7c4548ece1
Split off _yank_url from :yank
2016-09-06 18:19:40 +02:00
nanjekyejoannah
d3e19ec8fc
Add general -> yank-ignored-url-parameters
2016-09-06 18:19:40 +02:00
Daniel Schadt
1c76f121a2
userscripts: fix FIFO on Windows
...
The userscript FIFO on Windows suffered the same problem that open-editor
once did, because files on Windows can't be opened with write access by
two different processes. We kept the oshandle around and only closed it
when the process exited, which means that userscripts could not actually
write any commands to the FIFO.
This patch closes the file earlier, allowing the userscript to actually
write commands to it.
See also
https://lists.schokokeks.org/pipermail/qutebrowser/2016-September/000256.html
2016-09-06 18:03:53 +02:00
Florian Bruhin
80ac0c1b1b
Remove createWindow error message
...
See https://github.com/The-Compiler/qutebrowser/issues/1911#issuecomment-244966547
2016-09-06 17:57:24 +02:00
Florian Bruhin
76176814e0
Move createWindow debug logging to the top
2016-09-06 17:56:25 +02:00
Florian Bruhin
921d5794a7
Add missing file
2016-09-06 17:17:12 +02:00
Florian Bruhin
7f013b7808
Fix lint
2016-09-06 17:00:25 +02:00
Florian Bruhin
c07ff15b9b
bdd: Display milliseconds in log output
2016-09-06 17:00:25 +02:00
Florian Bruhin
abdc604ead
:tab-clone - restore tab zoom after history
...
This makes cloning the zoom work with QtWebEngine.
2016-09-06 15:15:59 +02:00
Florian Bruhin
85b3d08c66
bdd: Fix scrolling tests with QtWebEngine
...
Scrolling happens async with QtWebEngine, so we add a new log output
when the page was scrolled, and wait for that in various places.
2016-09-06 14:58:33 +02:00
Florian Bruhin
1ed637a906
QtWebEngine: Initial session implementation
2016-09-06 13:55:35 +02:00
Florian Bruhin
3b16e171cb
Avoid calling str() on bytes in mainwindow.py
2016-09-06 12:35:52 +02:00
Florian Bruhin
f6ba859896
Move tabhistory.TabHistoryItem to misc.sessions
...
This makes browser.webkit.tabhistory contain only QtWebKit-specific
code.
2016-09-06 09:50:55 +02:00
Florian Bruhin
2658b7c4e7
pastebin: Accept HTTPS URLs
...
This will let us switch the URLs the pastebin returns to HTTPS some
day...
2016-09-05 22:06:26 +02:00
Florian Bruhin
3b8537ff26
Make webkitelem/mhtml imports optional in commands
2016-09-05 18:20:48 +02:00
Florian Bruhin
bf3cccfe56
Make QWebPage import in commands.py optional
2016-09-05 18:15:30 +02:00
Florian Bruhin
1773c1cbd6
Remove wrong @pyqtSlot in downloads.py
2016-09-05 18:14:50 +02:00
Florian Bruhin
5f58ebebbf
Remove needs_js for @cmdutils.register
...
This gets rid of a QtWebKit import in commands.py, and also makes those
checks work later when we have per-domain settings.
2016-09-05 18:11:01 +02:00
Florian Bruhin
af40abd3b2
Add websettings.shutdown()
2016-09-05 17:58:56 +02:00
Florian Bruhin
0ad8578aa8
Make QtWebKit optional in earlyinit.py
2016-09-05 17:58:29 +02:00
Florian Bruhin
308f38ab34
Rename javascript-can-open-windows setting
...
Fixes #1896 .
2016-09-05 17:09:14 +02:00
Florian Bruhin
61270b8f92
Fix lint
2016-09-05 16:21:30 +02:00
Florian Bruhin
f2c4cedf61
QtWebEngine: Don't add invalid URLs to history
2016-09-05 15:08:00 +02:00
Florian Bruhin
cf070d48f2
WebEngine: Disable createWindow for Qt < 5.7.1
...
Fixes #1911 .
The bugfix is backported in my qt5-webengine-debug package, and
QUTE_QTBUG54419_PATCHED can be set to force qutebrowser to use
createWindow.
2016-09-05 15:08:00 +02:00
Florian Bruhin
6a26907ded
Fix lint
2016-09-05 15:08:00 +02:00
Florian Bruhin
8b7d21876f
Add debug logging to createWindow
2016-09-05 15:08:00 +02:00
Florian Bruhin
2687b59373
Code cleanup
2016-09-05 15:08:00 +02:00
Florian Bruhin
a4cd0291a6
Implement QWebEngineView.createWindow
2016-09-05 15:08:00 +02:00
Florian Bruhin
a85ea92a21
Merge branch 'open-editor-all-modes' of https://github.com/kobezda/qutebrowser into kobezda-open-editor-all-modes
2016-09-05 10:59:53 +02:00
Florian Bruhin
366c230e0a
Merge branch 'docstrings' of https://github.com/lahwaacz/qutebrowser into lahwaacz-docstrings
2016-09-05 10:58:39 +02:00
Ján Kobezda
da65f7234a
Allow :open-editor in modes other than insert
...
':open-editor' can now be run in all modes.
Resolves #1902
2016-09-04 22:23:16 +02:00
Florian Bruhin
ea4f4e197f
Handle elements which are out of view correctly
...
Fixes #1910
2016-09-04 21:09:15 +02:00
Florian Bruhin
faa052ad6f
Fix hang with multiple spaces in URL completion
2016-09-04 20:19:16 +02:00
Jakub Klinkovský
cbe74f6991
fix adblock-update documentation
...
The tilde has to be escaped, otherwise the HTML is broken.
2016-09-02 19:52:45 +02:00
Jakub Klinkovský
3518fe19e8
move explanation of ;; to commands documentation
...
The note was out of place in keys.conf as it's not about keyinput. Since
we have a top-level documentation for commands now, let's keep the info
in once place. People will look there anyway for the documentation of
commands they want to bind.
2016-09-02 19:52:45 +02:00
Jakub Klinkovský
f36b8acec1
adjust wording in commands top-level documentation
...
There is no "commandline" for bindings in keys.conf, so describing it as
for "command arguments" should be more accurate.
2016-09-02 19:52:45 +02:00
Jakub Klinkovský
9669aca7d9
remove random description of variables in commands' docstrings
...
Full description is given at the top of qute://help/commands.html,
duplicating this for some commands where it might be useful is
unmaintainable.
2016-09-02 19:52:45 +02:00
Florian Bruhin
1cdf90f1c7
pastebin: Start sending API key
...
This is not enforced on the server yet, but this way we can do so after
a few releases (and break crash reports for older releases).
2016-09-01 22:57:35 +02:00
Florian Bruhin
44d6db4f45
QtWebEngine: Fix crash with userscript + selection
...
Fixes #1878
Unfortunately it seems impossible to implement a test for this, as
selection via javascript somehow doesn't trigger this.
2016-09-01 22:45:57 +02:00
arza
9b6541638e
Update CHANGED_KEY_COMMANDS and test_migrations for sk-keybinding.
2016-09-01 21:05:44 +03:00
arza
a90314985a
Fix sk-keybinding.
2016-09-01 16:23:16 +03:00
Rok Mandeljc
469590d4e8
TabWidget: a possible fix for #1693 - grey area under custom tabbar
...
Attempt to fix the issue #1693 by:
- setting the TabBarStyle to TabWidget in addition to TabBar
- chain up SE_TabWidgetTabBar requests in TabBarStyle.subElementRect
to the super() rather than self._style, in order to avoid getting
adwaita-specific rect sizes instead of default ones that are also
used in rendering.
2016-08-29 14:11:34 +02:00
Florian Bruhin
b9282587d0
Merge branch 'auto-open-fixes' of https://github.com/mlochbaum/qutebrowser into mlochbaum-auto-open-fixes
2016-08-29 07:12:14 +02:00
Florian Bruhin
5917f34eab
Merge branch 'settings' of https://github.com/lahwaacz/qutebrowser into lahwaacz-settings
2016-08-29 06:52:17 +02:00
Florian Bruhin
553eaee467
Fix pylint false-positive
2016-08-26 05:21:10 +02:00
Florian Bruhin
2408d76e4c
Improve get_console_format docstring
2016-08-25 23:17:10 +02:00
Florian Bruhin
29778bb799
Merge branch 'format-debug-log-level' of https://github.com/ryanjmortenson/qutebrowser into ryanjmortenson-format-debug-log-level
2016-08-25 23:16:36 +02:00
Florian Bruhin
76a3bdd94a
Improve message for invalid --logfilter
2016-08-25 23:12:51 +02:00
Florian Bruhin
99daa9e165
Merge branch 'issue1867' of https://github.com/knaggita/qutebrowser into knaggita-issue1867
2016-08-25 23:11:35 +02:00
Florian Bruhin
be7abb53ad
cmdutils: Assert on positional-only params
2016-08-25 22:16:25 +02:00
Florian Bruhin
943dc564b2
Fix choices validation with unannotated args
...
Something like:
@cmdutils.argument('foo', choices=['one', 'two'])
def func(foo):
# ...
didn't actually validate the foo argument, since the inferred type of
the argument is None, and that skipped all conversion (and thus
validation).
Fixes #1871
See #1885
This is a reworked version of 12061b8bb1
which lets special parameters (count/win_id/flags) through correctly.
2016-08-25 22:16:25 +02:00
knaggita
d26566a1f6
Validate loggernames passed to --logfilter
2016-08-24 18:56:18 +03:00
rmortens
384e3d1d88
Add change format for debug-log-level cmd
2016-08-24 08:40:11 -06:00
knaggita
0b60d28742
Validate loggernames passed to --logfilter
2016-08-24 17:09:34 +03:00
knaggita
cf1dc28214
Validate logger names passed to --logfilter
2016-08-24 16:12:32 +03:00
knaggita
848af2e294
Validation of logger names passed to --logfilter
2016-08-24 15:15:20 +03:00
Florian Bruhin
445d287955
Revert "Fix choices validation with unannotated args"
...
This reverts commit 12061b8bb1
.
2016-08-23 23:34:02 +02:00
Florian Bruhin
12061b8bb1
Fix choices validation with unannotated args
...
Something like:
@cmdutils.argument('foo', choices=['one', 'two'])
def func(foo):
# ...
didn't actually validate the foo argument, since the inferred type of
the argument is None, and that skipped all conversion (and thus
validation).
Fixes #1871
See #1885
2016-08-23 22:01:21 +02:00
Florian Bruhin
8643f6f28d
Add explicit else in :completion-item-focus
...
See #1885
2016-08-23 20:49:56 +02:00
Florian Bruhin
a17b8bec90
Don't treat "Hello." as URL with auto-search=naive
2016-08-23 09:02:39 +02:00
Jakub Klinkovský
1411c287c5
qute://settings: set valid type of <input> fields
...
fixes #1883
2016-08-22 21:09:57 +02:00
Marshall Lochbaum
44411e02c6
Replace != with (is not) when testing whether a model is new
2016-08-22 13:02:13 -04:00
Marshall Lochbaum
2aef26c58b
Linting
2016-08-21 23:22:46 -04:00
Marshall Lochbaum
cbecd48871
Refactor Completer/CompletionView interface, removing set_pattern()
2016-08-21 22:56:18 -04:00
Marshall Lochbaum
c5ca102d93
Fix completion flicker on quick-complete with show=auto
2016-08-20 01:01:12 -04:00
Marshall Lochbaum
08b348be50
Merge branch 'master' into auto-open-fixes
2016-08-19 22:50:26 -04:00
Florian Bruhin
fe11e25430
Ignore mouse events going to non-main widgets
...
When we hide the context menu on QtWebEngine, we get a mouse event
relative to the QMenu in the filter, which means tab.elements.at_pos
will get called with a negative position (and thus assert) or at least a
wrong position.
2016-08-19 18:38:07 +02:00
Florian Bruhin
bcb06f0cc6
Fix lint
2016-08-19 15:47:35 +02:00
Florian Bruhin
1cfadbf034
Fix / ? : bindings
...
This was broken in #1859 and I didn't notice...
2016-08-19 15:35:20 +02:00
Florian Bruhin
e074192cc4
Update docs
2016-08-19 15:27:56 +02:00
Florian Bruhin
7e3d1ccd24
Simplify :debug-log-filter implementation
2016-08-19 15:08:15 +02:00
Florian Bruhin
e1cd905163
Move :window-only below :debug-log-* in utilcmds
2016-08-19 15:06:08 +02:00
Florian Bruhin
71b0876188
Improve :debug-log-filter message
...
This changes the message so it resembles the default choices=... one,
and also changes the argument to "filters" because that sounds nicer as
a metavar.
2016-08-19 15:03:19 +02:00
Florian Bruhin
fd0965703e
Remove log.change_loglevel
2016-08-19 14:57:55 +02:00
Florian Bruhin
75c3b1a9f8
Fix test for :debug-log-level with invalid level
...
Since we're getting dictionary keys in choices=..., we need to sort them
so we get a consistent message.
2016-08-19 14:57:21 +02:00
knaggita
1d5a3a6175
Add :debug-loglevel :debug-logfilter commands
2016-08-19 14:12:19 +02:00
Florian Bruhin
d25fde4f29
Whoops...
2016-08-19 13:42:38 +02:00
Florian Bruhin
29cd878902
Fix lint
2016-08-19 13:40:21 +02:00
nanjekyejoannah
056c0c3c14
Make command keys configurable
...
Fixes #672
2016-08-19 13:40:21 +02:00
Florian Bruhin
8eb8039370
Merge branch 'rewrite-pP' of https://github.com/blyxxyz/qutebrowser into blyxxyz-rewrite-pP
2016-08-19 13:36:33 +02:00
Florian Bruhin
388d771a2e
Use send_event with postpone=True in webelem.click
...
For some reason, since 0557fea79e
we're
getting segfaults in misc.feature...
2016-08-19 10:23:10 +02:00
Florian Bruhin
4362d42c50
Add postpone argument to AbstractTab.send_event
2016-08-19 10:13:07 +02:00
Florian Bruhin
a846a5b89f
Move send_event to AbstractTab
...
This means subclasses only need to implement _event_target.
2016-08-19 10:12:57 +02:00
Florian Bruhin
a40dd7edf6
Allow empty string for tabs -> title-format
2016-08-19 08:31:36 +02:00
Florian Bruhin
8da942ddc7
bdd: Skip tests on WebEngine causing memory leaks
2016-08-18 22:46:32 +02:00
Florian Bruhin
0557fea79e
Use QApplication.sendEvent instead of postEvent
...
From the QApplication.postEvent docs:
http://doc.qt.io/qt-5/qcoreapplication.html#postEvent
The event must be allocated on the heap since the post event queue
will take ownership of the event and delete it once it has been
posted. It is not safe to access the event after it has been posted.
We can't reliably guarantee that from Python, so we need to use
sendEvent instead.
2016-08-18 21:36:43 +02:00
Florian Bruhin
ccc676c04f
Handle CommandError in show_source_cb
2016-08-18 19:32:16 +02:00
Jan Verbeek
b6c96855c8
Rewrite paste -s/pP
2016-08-18 19:05:35 +02:00
Florian Bruhin
c0ffcfc585
QtWebEngine: Make :fake-key work
2016-08-18 18:44:33 +02:00
Florian Bruhin
dfed2f9c9c
WebEngine: Don't save title if generated from URL
2016-08-18 18:05:48 +02:00
Florian Bruhin
2a0e503644
QtWebEngine: Don't raise CommandError with no hint
2016-08-18 17:47:05 +02:00
Florian Bruhin
205c12c530
Fix docs for :click-element
2016-08-18 16:58:56 +02:00
Florian Bruhin
927f378c6d
Fix eslint
2016-08-18 16:52:53 +02:00
Florian Bruhin
73210fb87c
QtWebEngine: Fix tab passed to WebEngineElement
2016-08-18 16:25:58 +02:00
Florian Bruhin
4345d60ff1
Revert "javascript.assemble: Support document module"
...
This reverts commit afc7faabda
.
This isn't actually needed as we can't use document.getElementById()
directly without serializing anyways.
2016-08-18 15:58:46 +02:00
Florian Bruhin
1956480164
Revert "Handle {} elements in elements._js_cb_single"
...
This reverts commit f59a9d37252599c8fbda4cc687bd9f094c6d05b9.
Since we're now using a webelem function, this isn't needed anymore.
2016-08-18 15:58:46 +02:00
Florian Bruhin
dbb3929bf3
QtWebEngine: Serialize element correctly (find_id)
2016-08-18 15:58:46 +02:00
Florian Bruhin
f98820971d
Handle {} elements in elements._js_cb_single
...
When using document.getElementById like in find_id, we can get {}
instead of null/None back when nothing was found.
2016-08-18 15:58:46 +02:00
Florian Bruhin
d9d14d4a4c
Fix lint
2016-08-18 15:58:46 +02:00
Florian Bruhin
e0af03db80
Add a default target for :click-element
2016-08-18 15:58:46 +02:00
Florian Bruhin
0cef4ac2db
Add a :click-element command
2016-08-18 15:30:04 +02:00
Florian Bruhin
28a6b3918c
Fix lint
2016-08-18 14:42:42 +02:00
Florian Bruhin
e851839973
Don't make HintActions a QObject
...
It probably still makes sense for HintManager to be one for the moment
though, as it's in the objreg.
2016-08-18 14:39:13 +02:00
Florian Bruhin
0d1ea0b93a
Add FIXME for webkitelem.focus_elem
2016-08-18 14:33:55 +02:00
Florian Bruhin
63c66945a4
Add webelem.click() and webelem.hover()
2016-08-18 14:32:19 +02:00
Florian Bruhin
5ac9fe9c32
Add tab.elem.find_id
2016-08-18 14:08:34 +02:00
Florian Bruhin
afc7faabda
javascript.assemble: Support document module
2016-08-18 14:07:21 +02:00
Florian Bruhin
2c6fe35398
Fix blank lines
2016-08-18 14:03:27 +02:00
Florian Bruhin
a0add7b66c
Get rid of tab.run_js_blocking
...
We had some trouble with it, and it's not actually needed.
2016-08-18 14:02:59 +02:00
Florian Bruhin
d3084dd690
Add a separate tab.elements object
2016-08-18 14:01:27 +02:00
Florian Bruhin
1ec59f3f0e
Add FIXME
2016-08-18 12:46:55 +02:00
Florian Bruhin
9226e3eece
QtWebEngine: Implement only_visible for find_all
2016-08-18 12:40:21 +02:00
Florian Bruhin
30029a8259
utils.javascript: Handle bools in _convert_js_arg
2016-08-18 12:40:21 +02:00
Florian Bruhin
b596c4da27
eslint: Enable long lines with URLs
2016-08-18 12:40:21 +02:00
Florian Bruhin
274fe58d6d
Simplify webelem.js
...
serialize_elem() now takes care of assigning IDs.
2016-08-18 12:40:21 +02:00
Florian Bruhin
0d35502e87
Use HintingError for all hinting errors
2016-08-18 12:40:21 +02:00
Florian Bruhin
eabac17c58
Combine hint signals into a single one
2016-08-18 12:40:21 +02:00
Florian Bruhin
39fd6a6062
QtWebEngine: Adjust hints according to zoom
2016-08-18 12:40:21 +02:00
Florian Bruhin
30f6afc2aa
Pass tab to WebEngineElement
2016-08-18 12:40:21 +02:00
Florian Bruhin
53e747d7ea
Disable download hints for QtWebEngine
2016-08-18 12:40:21 +02:00
Florian Bruhin
58d2d30e9a
Add initial hinting implementation
2016-08-18 12:40:21 +02:00
Florian Bruhin
1b3d693a5e
Add post_event to tab API
2016-08-18 12:40:21 +02:00
Florian Bruhin
6f24221c54
Replace WebElement.frame() by .has_frame()
2016-08-18 12:40:21 +02:00
Florian Bruhin
91b43c5cef
hints: Use tab API to move cursor for input fields
2016-08-18 12:40:21 +02:00
Florian Bruhin
62db0095d1
Revert "Make webelem.rect_on_view work async"
...
This reverts commit 4e11613d2df064b138532c18f88bbf278c64f347.
We can actually make this synchronous just fine by collecting that
information when searching for the elements...
2016-08-18 12:40:21 +02:00
Florian Bruhin
e6d6302958
Make webelem.rect_on_view work async
...
WebKitElement still has an internal sync version used for is_visible,
but hopefully we can get rid of that soon too.
2016-08-18 12:40:21 +02:00
Florian Bruhin
aba1556324
Remove old comment
2016-08-18 12:40:21 +02:00
Florian Bruhin
343b2d8385
Remove old FIXME
2016-08-18 12:40:21 +02:00
Florian Bruhin
15dcd5284c
Enable :hint for QtWebEngine
2016-08-18 12:40:21 +02:00
Florian Bruhin
8eaa387f21
Adjust default hint.bg gradient orientation
2016-08-17 21:00:13 +02:00
Florian Bruhin
52e47e0c3d
Add HintLabel.__repr__
2016-08-17 15:32:24 +02:00
Florian Bruhin
955ed2f52d
Simply connect HintLabel._move_to_elem to signal
2016-08-17 15:32:24 +02:00
Florian Bruhin
1d82ea8740
Remove logging in _on_contents_size_changed
...
Otherwise this will be logged once for every element.
2016-08-17 15:32:24 +02:00
Florian Bruhin
d87a255c0a
Don't fully clean up labels if their frame is gone
...
Otherwise they're invalid but still in the HintContext, so calling
.hide() on it later (e.g. because the user pressed another key) would
give us a RuntimeError from PyQt.
2016-08-17 15:32:24 +02:00
Florian Bruhin
0293307d61
Remove adjust_zoom for webelem.rect_on_view
...
Previously, the drawn hint labels were affected by the zoom, i.e., they
were stretched out by QtWebKit and actually had to be drawn at the
unzoomed position.
The Python/C++ API gives us coordinated adjusted for zoom, so
we always *negatively* adjusted them to get the unzoomed coordinates.
JS gave us the original coordinates, so we stretched them out according
to the zoom if adjust_zoom was given (which means only when clicking a
link).
Now we always operate in term of display coordinates: The point where we
draw the hint label is equal to the point we're clicking.
Thus, the zoom level for javascript is always adjusted, and the Python
zoom level is never (negatively) adjusted.
2016-08-17 14:51:05 +02:00
Florian Bruhin
7c17af3889
Use ${_monospace} for default hints font
2016-08-17 14:51:05 +02:00
Florian Bruhin
373eca1ad2
Fix some corner cases in _transform_hint_color
2016-08-17 14:51:05 +02:00
Florian Bruhin
eac30fc84b
Add styling of new hints
...
This also removes the hints -> opacity setting, as this is now set by
using an rgba(...) color.
2016-08-17 14:51:05 +02:00
Florian Bruhin
c033ed9edb
Allow config value transformers to give up
2016-08-17 14:51:04 +02:00
Florian Bruhin
9c3807c117
Store HintLabels (not ElemTuples) in HintManager
2016-08-17 14:44:49 +02:00
Florian Bruhin
cf7170a33b
Remove no longer needed webelem methods
...
The following methods were only used for hint labels and thus removed
now:
- document_element
- create_inside
- find_first
- set_inner_xml
- remove_from_document
- set_style_property
2016-08-17 14:44:49 +02:00
Florian Bruhin
1753d3507c
Use native QLabels for hints
...
This will make labels work easily with QtWebEngine, and make sure
they're not affected by the page's contents.
Fixes #925 .
Fixes #1126 .
2016-08-17 14:43:35 +02:00
Florian Bruhin
781e7554e4
Set open target for force_tab to tab-silent
...
Fixes #1328
2016-08-17 12:04:46 +02:00
Florian Bruhin
01fd7cd210
Merge branch 'issue1060' of https://github.com/haasn/qutebrowser into haasn-issue1060
2016-08-17 12:01:53 +02:00
Florian Bruhin
cc693f17ca
QtWebEngine: Use loadFinished as history trigger
...
Using urlChanged spams the history with too many entries...
Fixes #1837
2016-08-16 21:46:25 +02:00
Florian Bruhin
1dbedbc474
Fix :restart deleting the given --basedir
2016-08-16 21:27:23 +02:00
Florian Bruhin
87aa11de7f
Remove unused WebView._check_insertmode attribute
2016-08-16 19:57:43 +02:00
Florian Bruhin
1138d068e6
Move insert-mode-on-click to tab API / mouse.py
...
This also implements the feature for QtWebEngine.
2016-08-16 16:22:18 +02:00
Florian Bruhin
eef76dde86
eslint: Disable no-warning-comments
2016-08-16 15:21:37 +02:00
Florian Bruhin
6794187390
Fix too long line
2016-08-16 14:19:39 +02:00
Florian Bruhin
5d6abc6f67
Merge branch 'safe-args' of https://github.com/blyxxyz/qutebrowser into blyxxyz-safe-args
2016-08-16 14:18:44 +02:00
Florian Bruhin
dba579c202
Update user-agent completion list
2016-08-16 14:06:57 +02:00
Jan Verbeek
cfd166a95e
Merge https://github.com/The-Compiler/qutebrowser into safe-args
2016-08-16 14:05:04 +02:00
Jan Verbeek
096387897c
Make pp bindings work with option in clipboard
...
If the clipboard contains "-a" then "open {clipboard}" will fail because
-a gets parsed as an option. "open -- {clipboard}" doesn't do that. See
some comments in #1791 .
2016-08-16 14:00:37 +02:00
Florian Bruhin
f4b72d4b24
Revert "Revert "Handle counts for special keys.""
...
This reverts commit 2d5ffbfd02
.
2016-08-16 13:44:28 +02:00
Florian Bruhin
5ecef0004c
Add some docs for command replacements
2016-08-16 13:32:53 +02:00
Florian Bruhin
8d6b905f95
Merge branch 'insert-text' of https://github.com/blyxxyz/qutebrowser into blyxxyz-insert-text
2016-08-16 13:29:42 +02:00
Florian Bruhin
8e6d784fd7
Merge branch 'fix_hints_autofollow' of https://github.com/lahwaacz/qutebrowser into lahwaacz-fix_hints_autofollow
2016-08-16 12:58:56 +02:00
Niklas Haas
c2cc28a72b
Add new-instance-open-target.window = first-opened
...
Fixes #1060 .
In the process of adding this, I also decided to rewrite
mainwindow.get_window() for clarity (and also because flake8 was warning
about complexity).
Also adds some tests to the new-instance-target mechanism, in particular
a specific test for the issue in question.
2016-08-16 12:24:38 +02:00
Florian Bruhin
cf0b12b5a9
Merge branch 'var_replacements' of https://github.com/lahwaacz/qutebrowser into lahwaacz-var_replacements
2016-08-16 11:49:31 +02:00
Florian Bruhin
ee3ea739fc
Merge branch 'completion-category-focus' of https://github.com/rcorre/qutebrowser into rcorre-completion-category-focus
2016-08-16 11:45:23 +02:00
Florian Bruhin
91db564e1a
Fix lint
2016-08-16 11:36:55 +02:00
Florian Bruhin
d1138fa342
Update docs
2016-08-16 11:22:29 +02:00
Florian Bruhin
380856bcb2
Merge branch 'navigate-count' of https://github.com/pvsr/qutebrowser into pvsr-navigate-count
2016-08-16 11:21:07 +02:00
Florian Bruhin
882d1a5e88
Move :window-only to misc.utilcmds
2016-08-16 11:05:02 +02:00
Florian Bruhin
9d7d307aa5
Merge branch 'winonly' of https://github.com/haasn/qutebrowser into haasn-winonly
2016-08-16 11:02:49 +02:00
Florian Bruhin
ccce55443f
Fix TabWidget.init_config with PyQt 5.2
...
See #1847 , #1775
2016-08-16 10:44:53 +02:00
Peter Rice
67609af21b
resolve linter warnings
2016-08-15 22:53:28 -04:00
Peter Rice
060305279c
update navigate-related help and function docs
2016-08-15 22:28:25 -04:00
Peter Rice
d3e4d62d14
make navigate take counts for inc, dec, and up
2016-08-15 21:13:52 -04:00
Michael Hoang
c0ab474b21
Give error when trying to detach a single tab
2016-08-16 07:36:39 +10:00
Florian Bruhin
0cefcef8f3
Change user-stylesheet default
...
This shows scrollbars like the one in the code block here:
https://devtalk.nvidia.com/default/topic/918822/linux/hevc-main-10-profile-decoding-using-vdpau-unsupported-on-gtx-950-361-28-/
2016-08-15 18:00:18 +02:00
Ryan Roden-Corrent
7b3839b44b
Focus completion by category.
...
Implement `completion-item-focus next-category` and
`completion-item-focus prev-category` to jump through completions by
category rather than by item.
Resolves #1567 .
2016-08-15 07:14:28 -04:00
Jakub Klinkovský
befaf4f6dc
fix nested expansion of {variables} in command args
2016-08-14 15:29:16 +02:00
Florian Bruhin
e7d08db6c3
eslint: Turn off sort-keys
2016-08-12 20:58:20 +02:00
Niklas Haas
d5080bdb1a
Add :window-only command
...
I mainly added this so I can speed up all of the tests that rely on
closing other windows.
2016-08-11 23:37:14 +02:00
Florian Bruhin
9c67e87c37
Merge branch 'keyinput' of https://github.com/lahwaacz/qutebrowser into lahwaacz-keyinput
2016-08-11 19:46:30 +02:00
Jakub Klinkovský
0e35983362
fix lint ('line too long')
2016-08-11 19:15:26 +02:00
Florian Bruhin
af5d166ae1
QtWebEngine: Fix error message with :print --pdf
2016-08-11 19:13:45 +02:00
Florian Bruhin
fb07655e56
Move input -> rocker-gestures to MouseEventFilter
2016-08-11 18:51:51 +02:00
Florian Bruhin
e8980d01e6
MouseEventFilter: Don't pass obj to handlers
2016-08-11 18:51:50 +02:00
Florian Bruhin
9195e6a3a7
Fix :follow-selected --tab
2016-08-11 17:50:19 +02:00
Jakub Klinkovský
567fe0ec10
keyinput: don't emit keystring_updated twice when clearing
2016-08-11 17:48:43 +02:00
Florian Bruhin
59faee8518
Don't return page from WebView._init_page
...
We don't need to refer to it anymore.
2016-08-11 16:48:27 +02:00
Florian Bruhin
d6a3134b3e
Remove unused imports
2016-08-11 16:38:45 +02:00
Florian Bruhin
ad1e1e5f92
Log is_main_frame in acceptNavigationRequest
2016-08-11 16:36:41 +02:00
Florian Bruhin
421b14681f
Move HintManager out of WebView
...
This moves creating the HintManager to AbstractTab, and lets
TabData (which is now a QObject) handle the start_hinting/end_hinting
signal.
For the mouse_event signal of HintManager, we now have a slot in
AbstractTab too, though that might actually be moved to
WebKitTab/WebEngineTab later when needed.
2016-08-11 16:30:55 +02:00
Jakub Klinkovský
9f8b5dad92
simplify <Escape> binding
...
Note that leave-mode implies clear-keychain since bf0fe3c
.
2016-08-11 16:11:13 +02:00
Florian Bruhin
3bffb71b55
QtWebEngine: Implement mouse opentarget handling
...
This moves various stuff around and out of QtWebKit code:
- open_target and hint_target are now in TabData, not on the WebPage
- As much as possible got extracted from WebPage.acceptNavigationRequest
to AbstractTab._on_link_clicked, with a new link_clicked signal added
to WebPage. However, we need to decide whether to handle the request
in this tab or not inside acceptNavigationRequest, so we have some
code duplicated there and in WebEnginePage.acceptNavigationRequest.
- _mousepress_opentarget (i.e., setting the open_target) is now handled
in MouseEventFilter, not in WebView.
2016-08-11 16:09:59 +02:00
Jakub Klinkovský
55a00ab2cf
emit keystring_updated iff necessary
2016-08-11 15:57:46 +02:00
Jakub Klinkovský
bf0fe3c43b
clear keychain properly
...
fixes #1805
2016-08-11 15:45:44 +02:00
Florian Bruhin
8b0028cb87
Add FIXME
2016-08-11 14:55:19 +02:00
Florian Bruhin
1a94cb551c
Move mouse wheel zooming to MouseEventHandler
2016-08-11 13:50:06 +02:00
Florian Bruhin
677bb29251
Document event filter attributes
2016-08-11 13:38:20 +02:00
Florian Bruhin
b50ab37bbc
Merge branch 'fix/undo-tab-detach' of https://github.com/airodactyl/qutebrowser into airodactyl-fix/undo-tab-detach
2016-08-11 13:04:31 +02:00
Florian Bruhin
a23f3a24b3
scroll.js: Use window.inner{Width,Height}
...
It seems with document.documentElement.client{Height,Width} we
sometimes (e.g. without <!DOCTYPE html)...) get the full element height
instead of the viewport height.
Fixes #1821 .
2016-08-11 11:57:20 +02:00
Michael Hoang
ed137c01aa
Make add_undo for tab close a keyword arg
2016-08-11 15:18:07 +10:00
Michael Hoang
af97f9efae
Add add_undo parameter for closing tabs
...
By default, closed tabs should be undoable, but when a tab is detached
:undo should not reopen that tab in the old window.
2016-08-11 07:44:11 +10:00
Jan Verbeek
d2d92c9f2e
Fix docstring
2016-08-10 22:29:19 +02:00
Jan Verbeek
4966debd61
Deprecate :paste-primary to :insert-text {primary}
2016-08-10 21:55:16 +02:00
Florian Bruhin
e7584b9e1e
scroll.js: Add commented debug output
2016-08-10 21:44:16 +02:00
Jan Verbeek
db0f8fffcd
Merge https://github.com/The-Compiler/qutebrowser into insert-text
2016-08-10 20:54:54 +02:00
Florian Bruhin
57896dc00e
Merge branch 'clip' of https://github.com/blyxxyz/qutebrowser into blyxxyz-clip
2016-08-10 20:38:54 +02:00
Florian Bruhin
b801d3316d
Fix lint
2016-08-10 20:23:41 +02:00
Florian Bruhin
08d9243c3e
Merge branch 'haasn-lastvisible'
2016-08-10 19:58:41 +02:00
Florian Bruhin
64afc562b6
Install MouseEventFilter on new WebEngine children
...
For some reason, when e.g. visiting duckduckgo and then heise.de,
QtWebEngine suddenly gets a new QOpenGLWidget as focusProxy.
We install an extra eventFilter observing the ChildAdded event and
re-adding the MouseEventFilter when that happens.
2016-08-10 19:44:06 +02:00
Jakub Klinkovský
cdcc9996a0
hints: remove unused context attribute and duplicate initialization
2016-08-10 19:37:01 +02:00
Jakub Klinkovský
58ded41e5d
hints: move _filterstr into _context
2016-08-10 18:48:10 +02:00
Jakub Klinkovský
efb680dfb1
hints: make HintManager.fire private
...
It's not called by other classes anymore, it shouldn't be part of public
API because wrong value to the keystr parameter causes KeyError.
2016-08-10 18:21:19 +02:00
Florian Bruhin
3b34032b4b
Merge branch 'feature/undo-to-old-pos' of https://github.com/airodactyl/qutebrowser into airodactyl-feature/undo-to-old-pos
2016-08-10 17:47:25 +02:00
Florian Bruhin
7213850238
Merge branch 'lastvisible' of https://github.com/haasn/qutebrowser into haasn-lastvisible
2016-08-10 17:39:33 +02:00
Florian Bruhin
29b778b6d6
Use javascript.assemble for all functions
2016-08-10 17:27:34 +02:00
Niklas Haas
6293fad2eb
Add general->new-instance-open-target.window=last-visible
...
I usually use my browser with a one-window-per-workspace flow. If I
click on a URL anywhere, I personally would prefer it to go to the
browser instance that's on the same workspace.
To this end, the easiest way to accomplish this is to simply track when
windows are made visible and register them as the last visible object.
(To get finer control for when you have multiple windows on the same
workspace, focus changes also update the last visible object - the
implication being here that focusing something also means you're looking
at it)
Not all users may like this behavior, so I consider it strictly optional.
2016-08-10 17:01:12 +02:00
Florian Bruhin
c0c3fb47dd
Merge branch 'buffer_idx_completion' of https://github.com/rcorre/qutebrowser into rcorre-buffer_idx_completion
2016-08-10 16:57:51 +02:00
Florian Bruhin
f908d29a5f
Move mouse handling to an EventFilter
2016-08-10 16:44:40 +02:00
Ryan Roden-Corrent
1de465f42b
Filter buffer completion by all columns.
...
In addition to the url and text column, also filter by the index column
so the user can enter a number to navigate to that tab.
Resolves #1830 .
2016-08-10 10:20:04 -04:00
Jakub Klinkovský
24f8ed8ac1
hints: refactor auto-follow handling in the fire method
2016-08-10 16:09:37 +02:00
Florian Bruhin
85a4dc808e
Add "# pragma: no cover" for ImportError
2016-08-10 15:57:01 +02:00
Florian Bruhin
b380b2f5be
Try another objreg fix
2016-08-10 15:47:50 +02:00
Florian Bruhin
b337578274
QtWebEngine: Allow general->log-javascript-console
2016-08-10 15:44:47 +02:00
Florian Bruhin
f3c32308d3
Merge branch 'complete-hidden-commands' of https://github.com/rcorre/qutebrowser into rcorre-complete-hidden-commands
2016-08-10 15:38:46 +02:00
Florian Bruhin
b488d7f9fd
Make QtWebKit optional in utils.version
2016-08-10 15:05:15 +02:00
Florian Bruhin
5b2ae3cec7
Don't inherit AbstractWebInspector from QtWebKit
2016-08-10 14:55:50 +02:00
Florian Bruhin
33193d7dd4
Split up QtWebKit specific part in browser.history
2016-08-10 14:51:29 +02:00
Florian Bruhin
ad5008152c
Move browser.webkit.history to browser.history
2016-08-10 14:45:52 +02:00
Florian Bruhin
f6d4e0d32c
Try working around AttributeError in objreg
2016-08-10 13:58:41 +02:00
Florian Bruhin
393178262e
Add history support for QtWebEngine
2016-08-10 13:15:34 +02:00
Florian Bruhin
77531d09df
Move history triggering out of WebView
2016-08-10 13:14:38 +02:00
Florian Bruhin
eed3460317
Add tab.url(requested=True) to get original URL
2016-08-10 13:14:07 +02:00
Jakub Klinkovský
0d4322b1f2
fix braces in boolean assignments
2016-08-10 13:01:41 +02:00
Ryan Roden-Corrent
0c43ca9f09
Don't sort command completions in models.
...
The sortfilter already handles sorting, there is no reason to pre-sort
the entries in the model.
2016-08-10 06:58:34 -04:00
Ryan Roden-Corrent
97a971624b
Show bindings for aliases in completion.
...
Command completions for `:bind` and `:` will now show bindings for
aliases. The binding is only included if it is bound to that alias, not
if it is bound to the command the alias points to.
2016-08-10 06:56:44 -04:00
Ryan Roden-Corrent
051a00804b
Use regular dict in get_reverse_bindings_for.
...
Returning a defaultdict made the caller's code look confusing, as it
wasn't clear why there wouldn't be a Keyerror in some cases. Instead,
let the caller explicitly use `get`.
2016-08-10 06:56:44 -04:00