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
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
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
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
Florian Bruhin
4ae8e247d0
Show 'legacy QtWebKit' in version output
2017-06-19 10:24:33 +02:00
Florian Bruhin
df6c4c6e73
Fix earlyinit.qt_version issues
2017-06-19 09:42:49 +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
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
8df0b063be
Get rid of utils.unused because it's unused
2017-06-06 17:04:21 +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
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
67755e6f6c
Add error message for QtWebEngine and Nouveau
...
See #2368
2017-05-30 16:47:39 +02:00
Florian Bruhin
4cb82af11e
Add QUTE_FAKE_OS_RELEASE envvar
2017-05-30 07:37:10 +02: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
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
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
822623f2ed
Finally update copyrights...
2017-05-09 21:37:03 +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
4cd977cab6
Fix zero handling in qflags_key
2017-04-27 20:14:51 +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
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
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
1d0f187fab
Adjustments for new pylint version
2017-04-13 18:22:16 +02: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
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
1eda2b0ea4
Fallback to clipboard when primary selection is unsupported
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
Daniel Schadt
3da21a32d2
treat E: and E:\ the same when downloading
...
Fixes #2305
2017-03-23 18:16:15 +01:00
Florian Bruhin
eb2888a957
Merge commit 'd3b16bbd075f9e8c8656a402975d776088c2dab8' into pkill-nine/upstream-master-close_messages
2017-03-08 19:19:30 +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
7c9d004bbc
Fix compiled version check
...
Fixes #2412
2017-03-07 22:05:17 +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
Florian Bruhin
47a9c8e17c
Also check compiled Qt version in version checks
2017-02-28 21:01:47 +01: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
6004bfa72f
Don't lose warnings shown in early init phases
2017-02-23 06:48:58 +01: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
Florian Bruhin
5b4b226186
Add Qt library/data paths to version info
2017-02-19 14:02:40 +01:00
Florian Bruhin
4d08dc5ddb
Point out QtWebKit-NG in version info
2017-02-08 18:34:50 +01:00
Florian Bruhin
8226afd167
Hide more SSL warnings
2017-02-08 12:01:30 +01:00
Florian Bruhin
b1894ed7e0
Add a utils.unused()
2017-02-06 10:45:36 +01:00
Florian Bruhin
99d1636878
Properly implement session support for QtWebKit-NG
...
See #1571
2017-02-06 08:48:08 +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
de50f30b9b
Replace all GitHub links
2017-02-05 00:13:11 +01:00
Florian Bruhin
021b3645cc
Don't stack zoom level messages
...
Fixes #1980
2017-02-04 23:42:55 +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
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
72bdf69fe3
Fix long line
2017-02-01 09:51:50 +01:00
Florian Bruhin
95aeb86328
Update pdfjs version parsing
...
Fixes #2254
2017-01-27 09:19:10 +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
Florian Bruhin
04dddc2475
Fix backslash escape
2017-01-13 18:25:34 +01:00
Florian Bruhin
2d364f43cf
Ignore Python 3.6 warnings in dependencies
2017-01-08 22:38:54 +01:00
Daniel Schadt
bd5274af5a
fix tests
2017-01-04 17:59:53 +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
Nikolay Amiantov
19966a9b9f
proxy_from_url: fix PACFetcher construction
2017-01-03 13:47:13 +03: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
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
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
Florian Bruhin
976cd5f881
Fix lint
2016-12-08 10:31:52 +01:00
Florian Bruhin
c7d4ea5247
Ignore connection failures for debug.log_signals
2016-12-08 07:15:59 +01:00
Nikolay Amiantov
271cb4b001
Add network logger
2016-12-06 18:16:25 +03: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
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
c57ad91e04
Update comment for ignored Qt warning
2016-11-24 06:43:33 +01:00
Florian Bruhin
3638849257
Fix lint
2016-11-15 23:41:53 +01:00
Florian Bruhin
964ddb472b
Add urlutils.data_url
2016-11-15 22:25:51 +01:00
Florian Bruhin
fc7961ae22
Set correct paths for QtWebEngine
2016-11-15 10:51:14 +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
81d67f8a2c
Remove support for an empty data/config/cachedir
...
See #2115
2016-11-14 23:13:21 +01:00
Florian Bruhin
650b9e465c
Merge branch 'webengine-prompts'
2016-11-13 21:25:07 +01:00
Florian Bruhin
2dd857d580
Remove FakeTypingMeta.__subclasscheck__
2016-11-11 07:40:21 +01:00
Florian Bruhin
8a4ca25b8d
Avoid circular import
2016-11-10 22:45:27 +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
5d30105a53
Merge branch 'macros' of https://github.com/blyxxyz/qutebrowser into blyxxyz-macros
2016-11-10 06:50:21 +01:00
Florian Bruhin
ac2df2f253
Merge branch 'webengine-downloads-3'
2016-11-09 19:09:58 +01:00
Florian Bruhin
1a5e90f652
Fix lint
2016-11-09 14:29:06 +01:00
Jan Verbeek
e5dec949b0
Merge https://github.com/The-Compiler/qutebrowser into macros
2016-11-09 12:17:04 +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
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
3b7f65d956
Show URL in most questions
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
9ce1180b31
First attempt at showing prompts in all windows
2016-11-03 08:40:42 +01:00
Florian Bruhin
fe230219a9
Fix lint
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
75bb2265be
Take text as pos. argument for _build_question
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
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
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
713b00a102
Hide empty "Unhandled client message" warning
...
Fixes #2071
2016-10-30 19:00:29 +01: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
Jan Verbeek
33ff0ba715
Interactively get macro register
2016-10-08 21:17:47 +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
Florian Bruhin
42b7d1d10f
Add a colon
2016-09-29 06:35:47 +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
Florian Bruhin
e5b3880b71
Check for spaces in URLs with explicit scheme
...
Fixes #1954
2016-09-15 22:29:21 +02:00
Florian Bruhin
879ca0b873
Make qutescheme arg optional for resource_url
2016-09-15 16:42:07 +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
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
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
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
Florian Bruhin
886103c887
Fix showing errors in the current window
2016-09-14 15:18:12 +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
knaggita
9ff3f6810a
Remove --qt-* arguments
2016-09-09 17:55:16 +02:00
Florian Bruhin
0ff98f568c
Add a webelem logger
2016-09-07 11:51:23 +02:00
Florian Bruhin
c07ff15b9b
bdd: Display milliseconds in log output
2016-09-06 17:00:25 +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
rmortens
384e3d1d88
Add change format for debug-log-level cmd
2016-08-24 08:40:11 -06:00
Florian Bruhin
a17b8bec90
Don't treat "Hello." as URL with auto-search=naive
2016-08-23 09:02:39 +02:00
Florian Bruhin
bcb06f0cc6
Fix lint
2016-08-19 15:47:35 +02:00
Florian Bruhin
7e3d1ccd24
Simplify :debug-log-filter implementation
2016-08-19 15:08:15 +02:00
Florian Bruhin
fd0965703e
Remove log.change_loglevel
2016-08-19 14:57:55 +02:00
knaggita
1d5a3a6175
Add :debug-loglevel :debug-logfilter commands
2016-08-19 14:12:19 +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
63c66945a4
Add webelem.click() and webelem.hover()
2016-08-18 14:32:19 +02:00
Florian Bruhin
afc7faabda
javascript.assemble: Support document module
2016-08-18 14:07:21 +02:00
Florian Bruhin
30029a8259
utils.javascript: Handle bools in _convert_js_arg
2016-08-18 12:40:21 +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
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
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
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
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
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
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
f6d4e0d32c
Try working around AttributeError in objreg
2016-08-10 13:58:41 +02:00
Ryan Roden-Corrent
0ea61d5f15
Show hidden commands in completion for :bind.
...
There is a fair amount of duplicate code around command completion that
could probably be refactored.
Resolves #1707 .
2016-08-10 06:56:44 -04:00
Jan Verbeek
63b9b61e75
Add ClipboardError superexception
2016-08-10 12:33:01 +02:00
Florian Bruhin
61c031ff23
Merge branch 'lastfocus' of https://github.com/haasn/qutebrowser into haasn-lastfocus
2016-08-10 09:09:58 +02:00
Florian Bruhin
dfd58d456a
Merge branch 'pythonoptimize-fix' of https://github.com/lejenome/qutebrowser into lejenome-pythonoptimize-fix
2016-08-10 08:47:34 +02:00
Niklas Haas
6d181e5c6f
Add new-instance-open-target.window setting
...
This adds the ability to open new tabs in the last-focused window
instead, which fixes #1801 .
Right now the only other option is probably not that useful for human
users but it's required to make tests behave deterministically and
consistently. (But with #881 on the roadmap, I would implement this as
another choice)
To this end, also make the test framework set this option to preserve
the invariant against which existing tests are written: that spawning a
new window would effectively also focus it.
2016-08-10 00:06:12 +02:00
Jan Verbeek
8e4733f483
Merge https://github.com/The-Compiler/qutebrowser into clip
2016-08-09 14:36:01 +02:00
Florian Bruhin
c0a407235c
Remove unused import
2016-08-09 13:51:18 +02:00
Florian Bruhin
1307d8e9a2
Simplify utils.javascript.assemble
2016-08-09 13:21:44 +02:00
Florian Bruhin
6b7a39685e
Modularize javascript code
...
We now load the JS code as a QWebEngineScript, which sets up
window._qutebrowser with various "modules". That means we don't have to
pass the whole module every time we want to execute something.
2016-08-09 13:17:44 +02:00
Moez Bouhlel
c04adb94b2
DocstringParser - support python with optimizations on
2016-08-08 10:01:50 +01:00
Florian Bruhin
627f743c26
Handle float in _convert_js_arg
...
This fixes 'gg' with QtWebEngine.
2016-08-08 08:04:55 +02:00
Jan Verbeek
ebfe23c376
Merge https://github.com/The-Compiler/qutebrowser into clip
...
Also make it possible to use multiple variables in one argument.
2016-08-07 13:14:46 +02:00
Jan Verbeek
38508274e0
Improve clipboard exceptions, migrate bindings
2016-08-07 00:46:23 +02:00
Jan Verbeek
0177dafbd0
Add {clipboard} and {primary} to replace :paste
...
:paste is deprecated and replaced by equivalents using :open and the
new variables, and :open supports opening newline-separated lists of
URLs.
2016-08-06 22:03:50 +02:00
Ryan Roden-Corrent
66358e5b0f
Remove usertypes.Completion.empty.
...
Completion.empty existed to fill a slot in the old Command.completions
interface if the first positional arg had no completions but the second
did, as is the case for the `bind` command. Now that
`Command.completions` is replaced by `Command.get_pos_arg_info`, this
is no longer needed.
2016-08-06 12:01:09 -04:00
knaggita
d25e1fde04
Add :debug-log-capacity command
2016-08-05 15:05:27 +02:00
Florian Bruhin
0169f3a24f
Add _qutebrowser_ prefix for custom JS functions
...
With QtWebKit or QtWebEngine with Qt < 5.7, the functions end up in the
page's namespace. We can't easily avoid this, but at least we can name
them in a way which reduces conflicts.
2016-08-05 10:31:07 +02:00
Florian Bruhin
da6118bd8d
Hide "QXcbClipboard: SelectionRequest too old"
...
Fixes #1287 .
2016-08-05 08:31:44 +02:00
Florian Bruhin
a8ef956726
Add quotes for strings in javascript.assemble
2016-08-04 17:58:40 +02:00
Florian Bruhin
08b70f0f4c
Add qutebrowser.utils.javascript
...
webelem.javascript_escape got renamed to javascript.string_escape, and a
new javascript.assemble got added to make it easier to call a function
inside a .js file.
2016-08-04 17:53:13 +02:00
Florian Bruhin
6021dc6394
Merge branch 'open-download-fixes' of https://github.com/Kingdread/qutebrowser into Kingdread-open-download-fixes
2016-08-04 12:46:44 +02:00
Florian Bruhin
ee68a58001
Hide QtWebEngine web inspector warning
2016-08-04 12:09:16 +02:00
Daniel Schadt
d21b42662d
Minor Text Fixes
...
default (program) -> default application
surround {} with backticks
mention that the filename will be appended in the docstrings
2016-08-04 12:07:51 +02:00
Daniel Schadt
5ca8f77fca
lint fixes
2016-08-03 18:16:28 +02:00
Daniel Schadt
fa6c552d7b
add an application param for prompt-open-download
2016-08-03 17:59:32 +02:00
Daniel Schadt
716ce701f5
utils: move elide_filename to own function
...
Also increase the elide limit in TempDownloadManager to 50, since that's
probably still enough for all systems.
2016-08-03 17:59:32 +02:00
Florian Bruhin
9851a13981
Add utils.random_port()
2016-08-03 13:08:55 +02:00
Florian Bruhin
cae7eead6f
QtWebEngine: Basic settings support
2016-08-03 11:35:08 +02:00
Florian Bruhin
4a5b5c496f
Fix using a relative path with --basedir
2016-08-02 14:08:28 +02:00
Florian Bruhin
ccbd47a0cd
Merge branch 'savefile_open-flush' of https://github.com/flv0/qutebrowser into flv0-savefile_open-flush
2016-07-27 10:11:33 +02:00
Florian Bruhin
f4f6a3dac1
Merge branch 'open-download' of https://github.com/Kingdread/qutebrowser into Kingdread-open-download
2016-07-26 10:32:34 +02:00
Florian Bruhin
1564563662
Don't enable warnings if log was never inited
...
Otherwise, anything importing qtutils (which uses ignore_py_warnings
on module level) would enable warnings. This means pylint showed its own
warnings because of qute_pylint.config.
2016-07-25 13:03:58 +02:00
Florian Bruhin
e887d9a381
Remove useless super-calls
2016-07-23 18:39:27 +02:00
Florian Bruhin
02a06732ff
Also ignore ImportWarning for pkg_resources import
2016-07-23 14:15:39 +02:00
Florian Bruhin
40a3e24b05
Ignore warning when importing pkg_resources
...
On Debian Jessie we get a PendingDeprecationWarning which we now see
since the log is init'ed earlier.
2016-07-23 13:04:53 +02:00
Florian Bruhin
64f208486e
Add log.ignore_py_warnings()
2016-07-23 13:04:45 +02:00
Florian Bruhin
36bb5cf285
Merge branch 'issue_1670_tests_fail_due_to_SSL_error' of https://github.com/ganwell/qutebrowser into ganwell-issue_1670_tests_fail_due_to_SSL_error
2016-07-23 12:46:16 +02:00
Jean-Louis Fuchs
f040fd5a6d
Ignore missing SSLv3 messages from Qt
2016-07-23 10:01:56 +00:00
Florian Bruhin
76eab7617b
Remove @pyqtSlot for functions and non-QObjects
...
Fixes #1669
2016-07-23 11:42:50 +02:00
Florian Bruhin
a8dc940b73
test/vulture reqs: Update vulture to 0.10
...
* Detect unused function and method arguments.
* Detect unused *args and **kwargs parameters.
* Change license from GPL to MIT.
2016-07-14 23:17:39 +02:00
Daniel Schadt
7597221776
fix lint
2016-07-12 22:39:21 +02:00
Jan Verbeek
bbc46d28ff
Use lists instead of tuples for comparing
...
Per one of the diff comments on #1597 :
> I used to use a tuple for constant things, but nowadays I'd actually
> prefer a list as a tuple is something more heterogeneous (i.e. it
> makes sense to have a `(x, y)` point as a tuple, but a list of points
> would be a list).
> At some point I should probably change it to a list everywhere 😉
2016-07-12 22:05:32 +02:00
Daniel Schadt
a088f238e5
usertypes: remove Frankenstein's enum
...
This approach is not as weird in Python and still works.
DownloadTarget.OpenDownload has been renamed to OpenFileDownloadTarget,
since OpenDownloadDownloadTarget didn't look as nice.
2016-07-12 17:10:36 +02:00
Daniel Schadt
d42d980dda
downloads: introduce target= param for .get/.fetch
...
This parameter replaces the filename and fileobj parameters. This makes
it easier to add more download targets, since only one may be "chosen".
With the OPEN_DOWNLOAD special case added, handling of filename got a
bit ugly, since it may be either None, OPEN_DOWNLOAD or a str with the
file path, and we had to make sure only one target was chosen.
With the new target enum, this handling can be simplified and we
automatically get the guarantee that only one target is chosen.
2016-07-12 17:06:40 +02:00
Daniel Schadt
c060f9e5c2
allow downloads to be openened directly
...
The file is saved in a temporary directory, which is cleaned up when the
window is closed.
2016-07-12 16:52:01 +02:00
Florian Bruhin
1d237b0569
pylint: ignore wrong-import-position project-wide
...
While it's more accurate with isort now, we get a wrong-import-position
for everything in scripts/ where we have to do the sys.path magic first.
2016-07-11 13:00:37 +02:00
Florian Bruhin
d2ece6b542
Move Backend enum to usertypes
...
Otherwise we have a cyclic import
2016-07-10 17:04:26 +02:00
Florian Bruhin
dcf39538a3
Improve objreg error message if no window is given
2016-07-08 17:09:20 +02:00
Florian Bruhin
06a6daee34
Add stubs for QtWebEngine
2016-07-08 12:53:48 +02:00
Florian Bruhin
17466b4f26
Fix some lint
2016-07-07 18:32:52 +02:00
Florian Bruhin
115021b8ea
Get QtWebEngine to start and work somewhat
2016-07-07 18:32:52 +02:00
Florian Bruhin
ade9b17b22
Remove now unused version.GPL_BOILERPLATE
2016-07-07 08:58:02 +02:00
Florian Bruhin
ebf9bc4e0a
Improve version output
2016-07-06 23:47:59 +02:00
Florian Bruhin
70117265d6
Fix some a/an misspellings
...
Thanks to https://github.com/jwilk/anorack
2016-07-05 08:34:03 +02:00
Florian Bruhin
87496617a4
Hide QtWebKit image format warning
...
This was hidden for tests in c390c797b2
but should be hidden for normal usage as well.
2016-06-28 20:46:06 +02:00
Patric Schmitz
217b912f3c
revert custom exception throwing in savefile_open
...
instead adapt test_failing_flush to catch correct exception (ValueError).
2016-06-28 15:03:23 +02:00
Patric Schmitz
a33978ee89
fix error handling in savefile_open and tests
2016-06-28 12:59:00 +02:00
Patric Schmitz
69ce9a942c
move savefile flush into try: block
...
it seems flush might throw which will not be caught inside the (try-)
else branch. (hopefully) fixes config corruption when no space
available.
2016-06-28 00:58:56 +02:00
Florian Bruhin
e8123bb68a
Fix pdfjs version parsing for never versions
2016-06-07 07:42:34 +02:00
Florian Bruhin
b0df87842e
Show BDD scenario on failed tests
...
See #1552
2016-06-06 23:09:19 +02:00
Florian Bruhin
ef82076819
Ignore pdbpp ResourceWarning
...
E Failed: Logged unexpected errors:
E
E 22:30:18 WARNING py.warnings pdb:<module>:4 /home/florian/proj/qutebrowser/git/.tox/py35/lib/python3.5/site-packages/_pdbpp_path_hack/pdb.py:4: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/florian/proj/qutebrowser/git/.tox/py35/lib/python3.5/site-packages/pdb.py' mode='r' encoding='UTF-8'>
E os.path.dirname(os.path.dirname(__file__)), 'pdb.py')).read(), os.path.join(
2016-06-06 22:37:29 +02:00
Florian Bruhin
35c7e2b768
Remove unreachable NeighborList code
2016-06-06 16:21:05 +02:00
Florian Bruhin
abfd789f9e
Fix zooming with a too big count
...
Fixes #1118
Supersedes #1140
2016-06-06 13:25:01 +02:00
Florian Bruhin
8d5fdf2833
Remove wrap mode for NeighborList
2016-06-06 13:10:14 +02:00
Daniel Schadt
5f2d5feb58
message: don't indent the traceback
...
This shouldn't be needed anymore with json-logging.
2016-05-30 16:00:10 +02:00
Daniel Schadt
cea32ea333
log: embed traceback in json object
2016-05-30 16:00:10 +02:00
Daniel Schadt
4a59a1f112
log: implement JSON as logging output
...
Fixes #1501
Enabled via the --json-logging parameter.
2016-05-30 16:00:10 +02:00
Florian Bruhin
9efcddf727
Add missing import
2016-05-29 22:47:44 +02:00
Florian Bruhin
86be7ad82c
Move file_url from utils.jinja to utils.urlutils
2016-05-29 22:44:40 +02:00
Florian Bruhin
6caa89a622
Merge branch 'empty_uri' of https://github.com/hcraT/qutebrowser into hcraT-empty_uri
2016-05-29 00:37:12 +02:00
Florian Bruhin
afcb018ee2
Fix some spelling mistakes
...
Found via http://jwilk.net/software/mwic
2016-05-27 12:07:00 +02:00
Tarcisio Fedrizzi
7da6faa7af
Changes fuzzy_url to force search even when paths are passed
2016-05-26 18:01:01 +02:00
Tarcisio Fedrizzi
462f9d7e4c
Refators discussed in the review
...
- refactors what discussed in the review
- adds unit tests for schemas without host and path
2016-05-26 18:01:01 +02:00
Florian Bruhin
9d018b8fbd
pylint: Disable too-many-return-statements
2016-05-26 07:39:47 +02:00
Tarcisio Fedrizzi
73c200fb14
Tweaks the multi-line heuristic to handle scheme-like text
...
Adds some options to implement a way to treat multiline text that starts
with a scheme-like line as text instead as an URL.
2016-05-25 08:05:57 +02:00
Florian Bruhin
c6cb8e5099
Remove unneeded "# pragma: no branch" comments
...
Those are not needed anymore with coverage 4.1.
2016-05-24 15:40:50 +02:00
Ryan Roden-Corrent
b1440a1804
Implement utils.is_special_key.
...
The check `key.startswith('<') and key.endswith('>') is repeated many
times in code to check for a special key. Replace all these with a call
to the same function.
2016-05-19 20:48:48 -04:00
Florian Bruhin
c0d044447d
Add tests for qutebrowser.utils.typing
2016-05-18 06:55:17 +02:00
Florian Bruhin
a0d0b6464f
Use typing.py-like annotations for command args
...
This means:
- An annotation like (int, str) is now typing.Union[int, str].
- utils.typing got expanded so it acts like the real typing.py, with
issubclass() working properly with typing.Union and __union_params__
being set.
- A literal string doesn't exist anymore as annotation, instead
@cmdutils.argument now has a 'choices' argument which can be used like
@cmdutils.argument('arg', choices=['val1', 'val2']).
- Argument validating/converting is now entirely handled by
argparser.type_conv instead of relying on python's argparse, i.e.
type/choices is now not passed to argparse anymore.
2016-05-18 06:55:17 +02:00
Florian Bruhin
3a33bc42a6
Add initial support for the typing module
2016-05-18 06:55:17 +02:00
Florian Bruhin
e21039094d
Merge branch 'messages' of https://github.com/rcorre/qutebrowser into rcorre-messages
2016-05-15 11:20:06 +02:00