Commit Graph

3971 Commits

Author SHA1 Message Date
Florian Bruhin
f313bcaf13 Fix for cache never being saved.
This is a regression introduced in 76c5c8bf8e.
See #43.
2015-04-15 06:54:55 +02:00
Florian Bruhin
d8d29449ca Improve error message on duplicate keychains. 2015-04-14 07:13:52 +02:00
Florian Bruhin
987bab9960 Merge pull request #19 from hackebrot/parametrize-sub-tests
Parametrize sub tests
2015-04-14 07:01:53 +02:00
Florian Bruhin
a6e3199616 Fix binding of special keys with lower-case mods. 2015-04-13 22:08:57 +02:00
Florian Bruhin
982733e1f4 Allow commands with ;; with :bind. 2015-04-13 21:21:26 +02:00
Florian Bruhin
4e18e54803 Fix handling of flags with args with maxsplit #2.
Fixes #614.

We only added the long variant of the flag, but not the short one.
2015-04-13 21:12:14 +02:00
Florian Bruhin
501138d5a0 Fix splitting of flags with args with maxsplit.
See #614.

flags_with_args was set on keyword-only arguments, but an argument (like
--force for :bind) can also be keyword-only *and* bool.
2015-04-13 21:07:58 +02:00
Florian Bruhin
b609f993c3 Add a timeout to HTTPClient.
Fixes #629.
2015-04-13 20:59:05 +02:00
Florian Bruhin
9381aac501 Merge {Pastebin,PyPIVersion}Client into HTTPClient. 2015-04-13 20:42:28 +02:00
Artur Shaik
e603d9a2d0 Slight modify of autofocus caret
Make mouseclick event point slightly down.
Add commented tries of more reliable methods of caret focusing.
2015-04-13 19:55:45 +06:00
Artur Shaik
a6443231e5 Add statusbar coloring for caret and visual modes 2015-04-13 19:50:27 +06:00
Artur Shaik
941eac848e Remove "c" key from normal -> caret mode key bindings 2015-04-13 18:37:33 +06:00
Florian Bruhin
3e1d62171f Ignore -psn_0_* argument on OS X.
See #384.
2015-04-13 14:33:46 +02:00
Florian Bruhin
39f7850942 Fix lint. 2015-04-13 08:52:58 +02:00
Florian Bruhin
c071bcbec8 Clean up loggers. 2015-04-13 08:49:04 +02:00
Florian Bruhin
f85ba8645f Handle a missing session folder at some places. 2015-04-13 08:38:12 +02:00
Florian Bruhin
d700d18780 Fix handling of no_cmd_split cmds with args.
When we have something like ":bind x foo;;bar" it wasn't recognized "bind" is a
no_cmd_split command because we tried to look up "bind x foo" in cmd_dict.

See #615.
2015-04-13 07:39:18 +02:00
Florian Bruhin
e24b06cdf9 Refactor and fix split commands in CommandRunner.
- split() now returns a ParseResult namedtuple with (cmd, args, cmdline)
  arguments instead of only returning cmdline and setting self._cmd/self._args.

- Handling of split commands (;;) is now done in a separate parse_all()
  function instead of run() to make testing easier.

See #615.
2015-04-13 07:38:25 +02:00
Florian Bruhin
6b0c16f109 Fix default 'ga' binding. 2015-04-11 13:20:56 +02:00
Florian Bruhin
31bcc70efb Treat commands using ;; in key config as valid. 2015-04-10 19:45:59 +02:00
Florian Bruhin
f865b87a74 Show a message and update notifier on reports.
Fixes #340.
Fixes #447.
See #429.
2015-04-10 08:09:18 +02:00
Florian Bruhin
e294e325f0 Ignore invalid history entries on start. 2015-04-10 06:40:48 +02:00
Bruno Oliveira
29c51c288b Fix small typo in docstring 2015-04-09 18:47:25 -03:00
Florian Bruhin
8d98868ccd Fix deprecated default keybindings.
Those were auto-corrected with the next run, but still are bad...
2015-04-09 20:36:11 +02:00
Florian Bruhin
83dbe48469 Refactor EventFilter. 2015-04-09 20:22:00 +02:00
Florian Bruhin
f77ba5744b Add a ui -> hide-mouse-cursor option. 2015-04-09 19:59:16 +02:00
Artur Shaik
695712e50c Basic caret and visual modes implementation
Allow user switch in caret mode for browsing with caret, and visual mode
for select and yank text with keyboard.

Default keybindings is c or v for caret mode, and again v for visual mode. All
basic movements provided by WebAction enum implemened with vim-like
bindings. Yanking with y and Y for selection and clipboard respectively.

There is bug/feature in WebKit that after caret enabled, caret doesn't
show until mouse click (or sometimes Tab helps). So I add some workaround
for that with mouse event. I think should be better aproach.

Signed-off-by: Artur Shaik <ashaihullin@gmail.com>
2015-04-09 22:55:42 +06:00
Florian Bruhin
7160a89cb9 Fix NameError in hints.py. 2015-04-09 17:47:09 +02:00
Florian Bruhin
2d8df76609 Add $QUTE_HTML and $QUTE_TEXT for userscripts. 2015-04-09 17:45:16 +02:00
Joel Torstensson
12c83b721f Fixed some style errors. 2015-04-09 12:49:32 +02:00
Joel Torstensson
cc2c7c09ea Changing position without restart now possible. 2015-04-09 11:47:35 +02:00
Joel Torstensson
2fa66ba250 Added option for downloadview placement. 2015-04-09 11:44:59 +02:00
Florian Bruhin
76651822bd Merge pull request #16 from hackebrot/layout
Adopt test layout to pytest.
2015-04-08 14:03:02 +02:00
Florian Bruhin
1345a13a71 Add startpage/default-page to tabs -> last-close. 2015-04-07 17:36:19 +02:00
Florian Bruhin
4e2ef45cd8 Ignore Qt warning about WOFF/zlib. 2015-04-07 13:00:26 +02:00
Florian Bruhin
b1c475c61d Use **kwargs to simplify cmdutils.register. 2015-04-06 17:25:42 +02:00
Florian Bruhin
20f0ef7ccc Ignore ;; for splitting with some commands.
Fixes #405.
2015-04-06 17:00:52 +02:00
Florian Bruhin
46d1760798 Keep progress bar height fix on multiline text.
See #364 and #63.
2015-04-06 14:27:41 +02:00
Florian Bruhin
2876ba5cfa Pass a parent to global QObjects. 2015-04-06 00:10:37 +02:00
Florian Bruhin
d83da987ae Move SessionManager init to sessions.py. 2015-04-05 23:44:25 +02:00
Florian Bruhin
9b8f5e3ff0 Make the default session name configurable.
See #523.
2015-04-05 23:30:43 +02:00
Florian Bruhin
476ccd8fe1 Add tab-bg{,-silent} to new-instance-open-target. 2015-04-05 21:34:41 +02:00
Bruno Oliveira
3864eff0be Merge remote-tracking branch 'origin/master' into layout 2015-04-05 12:27:55 -03:00
Florian Bruhin
8bbff689b4 Add a -t/--temp flag to :session-load.
See #523.
2015-04-05 16:06:41 +02:00
Florian Bruhin
17ebbc37c5 Add a -c/--current parameter to :session-save.
See #523.
2015-04-05 16:04:03 +02:00
Bruno Oliveira
3de584f02c Moving testfile used by test_utils into qutebrowser.utils 2015-04-04 19:15:23 -03:00
Florian Bruhin
84d2556863 Merge branch 'master' of github.com:The-Compiler/qutebrowser 2015-04-04 22:05:31 +02:00
Florian Bruhin
1fdd7051c3 config: Filter docs for change_filter. 2015-04-04 22:03:28 +02:00
Florian Bruhin
57158e7191 Don't make default config a mutable global.
Before, configdata.DATA only existed once - that means when something
manipulated it, instantiating a new ConfigManager actually gave us the
*modified* rather than the default data.

There's still a (now readonly) configdata.DATA for performance reasons -
before, the settings completion model called data() many times, which caused
initializing of it taking a few (instead of nearly 0) seconds.

See https://github.com/hackebrot/qutebrowser/pull/16#discussion-diff-27770433
2015-04-04 22:01:02 +02:00
Bruno Oliveira
4fa2294805 Merge remote-tracking branch 'origin/master' into layout
Conflicts:
	qutebrowser/test/keyinput/test_basekeyparser.py
	qutebrowser/test/utils/test_standarddir.py
	test/browser/http/test_content_disposition.py
	test/config/test_configtypes.py
	test/misc/test_editor.py
	test/utils/test_debug.py
	test/utils/test_utils.py
	tox.ini
2015-04-04 14:29:49 -03:00
Florian Bruhin
cef88d6e19 test_log_time: Prettify duration assertion.
As suggested by @nicoddemus in #13.
2015-04-04 16:33:10 +02:00
Florian Bruhin
b2df5a5b47 docs: Make it clear cache settings are global.
Closes #602.
2015-04-04 15:31:12 +02:00
Florian Bruhin
18dea8c7cb Add note about about:blank to default-page docs. 2015-04-04 15:10:22 +02:00
Florian Bruhin
217e788f4b Add 'cd' shortcut to clear downloads. 2015-04-04 15:02:08 +02:00
Florian Bruhin
f1ebbda7a0 test_signal: Add docstring for signal(). 2015-04-04 12:08:22 +02:00
Florian Bruhin
8e93747040 test_log_time: Fix/simplify duration assert.
See #13.
2015-04-04 12:07:15 +02:00
Raphael Pierzina
dd4096b5a4 Merge remote-tracking branch 'upstream/master' 2015-04-04 11:12:39 +02:00
Florian Bruhin
e23c9401f2 Merge branch 'convert-debug-signal-tests' 2015-04-04 01:18:38 +02:00
Florian Bruhin
cd7319de1e Merge branch 'convert-logtime-tests' 2015-04-04 01:12:18 +02:00
Florian Bruhin
80b0692971 Remove blank line to make pep257 happy. 2015-04-04 01:11:57 +02:00
Florian Bruhin
1c9f116370 Merge branch 'convert-qflags-key-tests' 2015-04-03 23:52:53 +02:00
Florian Bruhin
2ac0c7b8f0 Remove now unused import from test_debug. 2015-04-03 23:52:13 +02:00
Florian Bruhin
05087b976a test_qflags_key: Improve xfail message. 2015-04-03 23:43:06 +02:00
Florian Bruhin
544dc650e7 Remove now unused imports from test_debug. 2015-04-03 23:23:31 +02:00
Florian Bruhin
0e76f9b1f1 Whitespace adjustments 2015-04-03 23:19:49 +02:00
Florian Bruhin
e94a8a80f1 test_qenum_key: Use hasattr() for attribute checks. 2015-04-03 23:18:56 +02:00
Florian Bruhin
fba0ae69ce Remove test_reconverted from qenum_key tests.
The test didn't really seem to test anything useful, and also uses a QFlags
instead of a QEnum.
2015-04-03 23:05:08 +02:00
Raphael Pierzina
231feda2c8 Use logger with name of local var logger_name 2015-04-03 22:45:26 +02:00
Raphael Pierzina
efbc8e0cbf Remove former unittest module test_debug.py 2015-04-03 21:55:19 +02:00
Raphael Pierzina
7540a5bbf4 Convert test_dbg_signal_newline 2015-04-03 21:54:24 +02:00
Raphael Pierzina
22522406e1 Convert test_dbg_signal_eliding 2015-04-03 21:50:32 +02:00
Bruno Oliveira
9c533e1941 Moved tests to outside of qutebrowser package 2015-04-03 16:49:01 -03:00
Raphael Pierzina
9d39fbd4e5 Convert test_dbg_signal 2015-04-03 21:45:10 +02:00
Raphael Pierzina
45e95d497d Convert test_signal_name using a signal fixture 2015-04-03 21:41:52 +02:00
Florian Bruhin
068947ba7e Fix search engine syntax documentation.
We changed the syntax in 68398035ef but didn't
adjust the documentation.

See #14.
2015-04-03 20:54:27 +02:00
Raphael Pierzina
91a8b23aeb Use actual unittest implementation of assertAlmostEqual 2015-04-03 20:40:37 +02:00
Raphael Pierzina
6fb83aacae Add a local variable for the logger name 2015-04-03 20:32:29 +02:00
Raphael Pierzina
58a8a7e992 Introduce pytest plugin capturelog and convert test_log_time 2015-04-03 20:10:41 +02:00
Florian Bruhin
25fca03dca Don't double ampersands in window title.
Fixes #599.
2015-04-03 20:04:44 +02:00
Florian Bruhin
6917c3b32d set-cmd-text: Add -s/--space argument.
We need this because quotes are ignored now, so there'd be no way to set the
text to ":open -t " for example.
2015-04-03 19:07:29 +02:00
Florian Bruhin
3b3b55234b Add a signal to KeyConfigParser to save config.
Before, we used the 'changed' signal for the SaveManager - however, that also
was emitted when only the internal structure changed. Now we add a new signal
for that.
2015-04-03 19:07:29 +02:00
Florian Bruhin
ac63fc073f save: Add possibility to mark things dirty on add.
KeyConfig needs this feature, because it can fix some deprecated commands
during __init__ and emit its dirty-signal, but that happens before the saveable
is added.
2015-04-03 19:07:29 +02:00
Florian Bruhin
630a827afc Change CHANGED_KEY_COMMANDS to be regexes.
Break after first regex
2015-04-03 19:03:30 +02:00
Florian Bruhin
a504bd1436 Don't quote completions for maxsplit-commands.
Fixes #564.
Obsoletes #313 and #453.
2015-04-03 19:03:30 +02:00
Florian Bruhin
0b26e295bc Revert fixes for quotes/spaces in maxsplit cmds.
Revert "Fix maxsplit-splitting with empty args (""/'')."
This reverts commit 46396cce1e.

Revert "Remove quotes with split=False commands."
This reverts commit 81bc5dae94.

See #564 and #453.
2015-04-03 19:00:16 +02:00
Raphael Pierzina
5b372aeee0 Remove blank lines in test_qflags_key 2015-04-03 18:55:24 +02:00
Raphael Pierzina
0b063ab4b4 Convert test_unknown 2015-04-03 18:51:40 +02:00
Raphael Pierzina
ff75d18e62 Convert test_int 2015-04-03 18:40:41 +02:00
Raphael Pierzina
086f12600c Convert test_int_noklass 2015-04-03 18:37:12 +02:00
Raphael Pierzina
75e927f79e Convert test_add_base 2015-04-03 18:33:22 +02:00
Raphael Pierzina
6482025399 Convert test_combined 2015-04-03 18:29:33 +02:00
Raphael Pierzina
f68cfc13e0 Convert test_multiple and use custom xfail marker 2015-04-03 18:25:28 +02:00
Raphael Pierzina
9a47848794 Create a new module and convert test_single 2015-04-03 18:22:13 +02:00
Raphael Pierzina
96a600e9dc Change containing directory name to debug 2015-04-03 16:37:31 +02:00
Raphael Pierzina
b938318d5f Remove former unittest class and skip test_reconverted 2015-04-03 16:34:42 +02:00
Raphael Pierzina
6b7ae70e6d Convert test_unknown 2015-04-03 16:34:42 +02:00
Raphael Pierzina
1b476d9af7 Convert test_int 2015-04-03 16:34:42 +02:00
Raphael Pierzina
9e59108788 Convert test_int_noklass 2015-04-03 16:34:42 +02:00
Raphael Pierzina
df3096fbb5 Convert test_add_base 2015-04-03 16:34:42 +02:00
Raphael Pierzina
11ded52f06 Convert test_metaobj 2015-04-03 16:34:42 +02:00
Raphael Pierzina
d4d14598dd Convert test_no_metaobj 2015-04-03 16:34:42 +02:00
Raphael Pierzina
64b1b48be6 Extract test_no_metaobj to separate module 2015-04-03 16:34:42 +02:00
Florian Bruhin
7e51addeb0 Fix :set-cmd-text with empty argument. 2015-04-03 14:42:19 +02:00
Florian Bruhin
4e0712622b Clear search when :search without args is given.
Needed for #564 because :search "" won't work anymore.
2015-04-03 14:40:26 +02:00
Florian Bruhin
1dcc5a32d6 Correct keybindings to deprecated commands.
Needed for #564 (because of :search "").
Also see #525.
2015-04-03 14:14:20 +02:00
Bruno Oliveira
298892a4a8 Converted test_standarddir to pytest
related to #10
2015-04-02 19:46:52 -03:00
Bruno Oliveira
751b62e344 Moving logging and QApplication to conftest
As discussed in #8
2015-04-02 19:09:06 -03:00
Florian Bruhin
18b5512fe9 Remove 'fooled' from state file. 2015-04-02 14:58:34 +02:00
Florian Bruhin
953119ef75 Revert "Minor QWebSettings fix."
Happy April's fools!

This reverts commit a98060e020.

Conflicts:
	qutebrowser/app.py
	qutebrowser/misc/utilcmds.py
2015-04-02 14:56:42 +02:00
Bruno Oliveira
47b9ea1f88 Fixing docstring typo in test_progress 2015-04-02 08:05:23 -03:00
Florian Bruhin
84b9d34a7f Fix lint. 2015-04-02 11:57:56 +02:00
Franz Fellner
3d3324ccfa Add TabIndex label to the statusbar.
It shows the current tab index and the number of tabs of the windows it
sits in.
2015-04-02 11:55:42 +02:00
Florian Bruhin
9f9996bc66 Refuse to add empty URLs to history. 2015-04-02 09:09:17 +02:00
Florian Bruhin
214347497a Fix handling of first :completion-item-prev call.
Before, the first item was unconditionally selected when none was selected
before. With :completion-item-prev (e.g. Shift-Tab), it makes more sense to
select the *last* one.
2015-04-02 07:41:56 +02:00
Florian Bruhin
37ab5296a7 Adjust URL completion when quickmarks are changed.
Fixes #590.
2015-04-02 07:40:00 +02:00
Bruno Oliveira
79be5b0f4a Implemented test for Progress widget
Also created a conftest file with a "default_config" fixture.
2015-04-01 22:39:25 -03:00
Bruno Oliveira
1f08d8e319 Implemented test for Percentage widget 2015-04-01 21:24:25 -03:00
Bruno Oliveira
3096f3856a Implemented test for TextBase widget 2015-04-01 20:50:20 -03:00
Florian Bruhin
068e1c14b6 Don't display internal sessions in completion. 2015-04-01 22:32:41 +02:00
Florian Bruhin
1fb848249e Handle sessions starting with _ as internal.
:session-{load,save,delete} now refuses to handle sessions starting with _,
unless a new -f/--force parameter is given.
2015-04-01 22:31:19 +02:00
Florian Bruhin
840652f396 Use sessions for :restart.
This saves a lot more state compared to just passing a list of pages.
2015-04-01 22:18:28 +02:00
Florian Bruhin
2ba28a59fe Prevent session from being loaded with :restart. 2015-04-01 21:42:02 +02:00
Florian Bruhin
371ec564e1 Split restart() into :restart and _do_restart(). 2015-04-01 21:38:18 +02:00
Florian Bruhin
11bd4a13f6 Serialize arguments via json on restart.
We want to ignore some positional arguments without ignoring flags/values - and
since there's no easy way to "unparse" an argparse namespace, we instead pass
it as json.

Also note we can't pass it as a file easily, as args have to be available very
early. Passing it as an argument shouldn't be an issue though.
2015-04-01 21:37:06 +02:00
Florian Bruhin
6e435ad215 Add state config sections when initializing. 2015-04-01 18:26:45 +02:00
Florian Bruhin
a98060e020 Minor QWebSettings fix.
If you're reading the diff, congrats. Please be quiet and don't spoil the fun
for others though! :)
2015-04-01 00:06:34 +02:00
Florian Bruhin
eeb875d098 Handle unavailable registry in on_focus_changed. 2015-04-01 00:02:29 +02:00
Florian Bruhin
431257d380 Fix handling of key release events.
Fixes #593.

It seems Qt "re-uses" existing keyevents, so we have to save and compare the
data instead.
2015-03-31 23:09:40 +02:00
Florian Bruhin
8ebac8d38c Various spelling fixes. 2015-03-31 21:11:47 +02:00
Florian Bruhin
eb3b0b960f Use hunter for line tracing. 2015-03-31 20:38:46 +02:00
Florian Bruhin
2f629befc3 Add an option to disable host blocking. 2015-03-30 18:33:10 +02:00
Florian Bruhin
70ccdd86b2 Add zooming with Ctrl-mousewheel.
Closes #51.
2015-03-30 15:26:07 +02:00
Florian Bruhin
a38c3ae1e1 Add a :tab-detach command.
See #62.
2015-03-30 12:14:15 +02:00
Florian Bruhin
33dff70357 :session-load: Add a -c/--clear argument.
See #523.
2015-03-30 07:13:13 +02:00
Florian Bruhin
dff8f73a11 :session-save: Show which session was saved.
This also adds a -q/--quiet argument to not print this.

See #523.
2015-03-30 07:13:13 +02:00
Florian Bruhin
5233e7fac8 Fix UnboundLocalError on invalid quickmarks.
This also improves FuzzyUrlError messages.
2015-03-29 21:20:42 +02:00
Florian Bruhin
b2427701fa Handle element webFrame being None when hinting. 2015-03-29 19:52:30 +02:00
Florian Bruhin
8af2e712ae Add a --pdb-postmortem argument. 2015-03-29 19:45:00 +02:00
Florian Bruhin
d062ff5138 Fix starting with -c '' again.
Before c5a2039da4 (standarddir refactoring), we
only checked the commandline arguments for the config file, but not when
getting the quickmarks location (as the 'args' argument was None). This means
quickmarks were saved to the default config dir even with -c ''.

With that commit, this was "fixed" accidentally, but quickmarks couldn't handle
the filename being None.
2015-03-27 12:29:12 +01:00
Florian Bruhin
82322beb03 Fix pep257 issues. 2015-03-26 07:08:54 +01:00
Florian Bruhin
ec487dd6b1 Add some logging for javascript messages. 2015-03-24 11:35:58 +01:00
Florian Bruhin
5043f58f3c Add an --override-restore argument.
See #523.
2015-03-24 07:50:23 +01:00
Florian Bruhin
db98b03f34 Never open URL arguments in background. 2015-03-24 07:44:49 +01:00
Florian Bruhin
1d1ac1ef6f Save session to load in state file.
Before, we always loaded the default session (if it existed) and then deleted
it. This was surprising as the default session was deleted even when another
session was loaded.

Now we don't delete it at all, and save the session to load in the state file.

See #523.
2015-03-24 07:12:35 +01:00
Florian Bruhin
1425d306bc Fix lint. 2015-03-23 08:19:31 +01:00
Florian Bruhin
0e8b42a9d8 Add a --relaxed-config options. 2015-03-23 07:58:28 +01:00
Florian Bruhin
e7f5433da3 Enable python warnings earlier and unconditionally. 2015-03-23 07:40:22 +01:00
Florian Bruhin
21d2bb2291 Simplify some unneeded lambdas. 2015-03-23 07:04:50 +01:00
Florian Bruhin
8811947f50 Re-enable some pylint checks. 2015-03-23 07:04:41 +01:00
Florian Bruhin
97b678d8c7 Don't display time deltas < 1s in messages. 2015-03-22 23:50:12 +01:00
Florian Bruhin
c13e09b706 Add option to queue all msgs in unfocused windows. 2015-03-22 23:47:16 +01:00
Florian Bruhin
157c25bb13 Queue messages for 'current' window if unfocused.
Fixes #512.
2015-03-22 22:39:56 +01:00
Florian Bruhin
19d369377e Update references to HACKING/CONTRIBUTING. 2015-03-20 12:18:15 +01:00
Florian Bruhin
565303ebcd Fix hinting when page has no URL set yet. 2015-03-20 08:35:33 +01:00
Florian Bruhin
858c38964b Release v0.1.4 2015-03-20 08:30:02 +01:00
Florian Bruhin
f77c0f9afa Simplify package output in earlyinit.py.
It doesn't really help much to have package names for distributions in there,
and it's way too much effort. Closes #475.
2015-03-20 07:16:47 +01:00
Florian Bruhin
adb11360db Disallow tab=None with objreg.get(scope='tab').
This would've made it a lot easier to detect #563.
2015-03-19 22:28:24 +01:00
Florian Bruhin
7a4a4a4a4e Pass tab_id correctly with scope='tab' commands.
Fixes #563.
2015-03-19 22:19:25 +01:00
Florian Bruhin
218822d6e8 Clear rejected SSL questions when reloading page.
Fixes #565.
2015-03-19 21:21:40 +01:00
Florian Bruhin
d6732c64a3 Revert "Handle NavigationTypeOther acceptNavigationRequest"
This reverts commit 4b4bb3af88.

Fixes #567. #488 is still okay because of
f3b55d68db05247b5c3f5dc576dadb0aa1848ca3.
2015-03-19 19:06:58 +01:00
Florian Bruhin
fb5fbd09da Handle unencodable file paths in config types.
If an user e.g. has a download-directory of ~/föö, but has LC_ALL=C set, we'll
get an UnicodeEncodeError when trying to validate it. This is now handled
properly by raising a ValidationError.

Fixes #562.
2015-03-19 12:42:35 +01:00
Florian Bruhin
c83775cf29 Update icon db path when private-browsing changed. 2015-03-18 20:20:04 +01:00
Florian Bruhin
706cc1a87f Merge branch 'master' of https://github.com/sbinix/qutebrowser into sbinix-master
Conflicts:
	qutebrowser/config/websettings.py
2015-03-18 20:16:36 +01:00
Florian Bruhin
ca22ed02e6 Fix via_ipc typo. 2015-03-17 19:13:44 +01:00
Florian Bruhin
2b10adfad7 Remove colors -> completion.item.bg config option.
This wasn't used anywhere...
2015-03-17 07:45:11 +01:00
Florian Bruhin
2dcf323077 Add missing docstrings. 2015-03-17 06:39:02 +01:00
Florian Bruhin
94bc10405a Merge branch 'histcomplete' 2015-03-17 06:16:26 +01:00
Florian Bruhin
9a405df560 Whoops. 2015-03-16 23:32:49 +01:00
Florian Bruhin
210ce8ca7c Don't poll for signals on Unix.
A better solution is to use QSocketNotifier and os.wakeup_fd to get notified
about new signals.

Thanks to Yuya Nishihara / TortoiseHG for the hint!

Fixes #555.
2015-03-16 23:25:36 +01:00
Florian Bruhin
6dc65287a9 Discard uninteresting events early in eventFilter.
Before, we ran quite a lot of code (e.g. objreg) on every event, even if it
turns out to not be a keypress/release event at all.
2015-03-16 23:25:29 +01:00
Florian Bruhin
f1b9a3c8b5 Ensure there's no size for font-family settings.
See #549.
2015-03-16 18:32:17 +01:00
Florian Bruhin
4157cfe86f Merge branch 'issue549-fix' 2015-03-16 18:03:00 +01:00
Florian Bruhin
b1f99392e8 Add some more logging for #549. 2015-03-16 18:01:02 +01:00
Florian Bruhin
1aaa538b45 Ignore empty lines in history. 2015-03-16 10:45:50 +01:00
Florian Bruhin
59bbca9b40 Fix updating of existing items in hist-completion.
Before we limited the history items we could simply call WebHistory's
historyContains before iterating through all items in the history completion.

Now however it's possible an item is in the real WebHistory, but not actually
in the completion - so we always have to check the whole completion.
2015-03-16 09:20:09 +01:00
Florian Bruhin
777e3f58e1 Make network inaccessible in test QWebPages.
Maybe fixes #553.
2015-03-16 08:32:17 +01:00
Florian Bruhin
806742abd3 Move new entries to the end when loading history.
Before, if an URL was present early in the history and then again later, we
didn't move it to the end of the OrderedDict. This means it won't be loaded in
the completion.
2015-03-16 07:54:39 +01:00
Florian Bruhin
3df5e13c65 Fix exception in filtermodel if model has no items. 2015-03-16 07:42:21 +01:00
Florian Bruhin
503060881a Compare history items based on QUrl. 2015-03-16 07:42:10 +01:00
Florian Bruhin
693ea0c312 Cleanup 2015-03-16 07:10:06 +01:00
Florian Bruhin
553d8cf986 Also save the QUrl in a HistoryEntry.
We also use QUrl::toDisplayString for the completion so things like spaces or
umlauts are decoded properly.
2015-03-16 07:03:30 +01:00
Florian Bruhin
46c31911a6 Add a test for utils.debug.log_time. 2015-03-16 06:43:56 +01:00
Florian Bruhin
001bf982e5 Alternate row colors in completion. 2015-03-15 23:16:57 +01:00
Florian Bruhin
d266665955 Fix adding of URLs to history completion.
Before, the item_added signal was emitted *after* an item was added, which
means the on_history_item_added slot always assumed the item already is in the
history.
2015-03-15 21:16:45 +01:00
Florian Bruhin
9512a52d21 completion: Don't unnecessarily expand all items.
Instead of calling expandAll() and iterating through all items, we can just
force the top-level items to be expanded.
2015-03-14 22:51:53 +01:00
Florian Bruhin
cdbb118238 Also measure the time it takes to set the pattern. 2015-03-14 13:35:32 +01:00
Florian Bruhin
70cd8e74eb Measure time it takes to init URL completion. 2015-03-14 13:32:47 +01:00
Florian Bruhin
833830d5e9 Limit the count of history items in the completion. 2015-03-13 19:50:08 +01:00
Florian Bruhin
55eabafc0d Rename completion -> history-length.
This is now renamed to cmd-history-max-items to avoid confusion with the web
history.
2015-03-13 19:46:21 +01:00
Florian Bruhin
901db0911e Add __len__ to WebHistory. 2015-03-13 19:45:43 +01:00
Florian Bruhin
994546f04d Use an OrderedDict for WebHistory.
We need the URLs in the correct order to get the newest items anyways.
2015-03-13 19:44:15 +01:00
Florian Bruhin
94f694bd77 Add an utils.newest_slice.
This takes an iterable and uses itertools.islice to get the n newest elements
from it.
2015-03-13 19:25:48 +01:00
Florian Bruhin
96da7d9fe6 Fix lint. 2015-03-13 16:26:27 +01:00
Florian Bruhin
74892ac8e4 Initialize completions lazily and only once.
Before, we initialized the completions once for every window spawned, which was
a waste of CPU-time and RAM.

Now we only initialize them once, when the user uses the completion for the
first time.
2015-03-13 16:25:13 +01:00
Florian Bruhin
cef49864d9 Refactor websettings and save/restore defaults.
This makes qutebrowser.config.websettings much easier to understand, and saves
all defaults so it can restore them properly when a setting is set to an empty
string.

Before, when we set the fonts to empty strings instead of the true default, in
some cases anti-aliasing was broken.

Fixes #549.
2015-03-13 10:03:17 +01:00
Florian Bruhin
ccce2eddad Add logging for websettings init.
See #549.
2015-03-12 22:41:12 +01:00
Florian Bruhin
389feab1df Make sure args are not int in new_item().
Otherwise we would construct a QStandardItem with the
QStandardItem(int rows, int columns = 1) constructor, which will most likely
not do what we want.
2015-03-12 15:35:53 +01:00
Florian Bruhin
dbd121a079 Set data of existing item. 2015-03-12 15:34:32 +01:00
Florian Bruhin
97dd86735a Improve types of history model values.
- HistoryItem.atime now always should be an int/float.
- The data for the sort role should also be an int, not a string.
  A float would also work, but maybe be slower for no real benefit.
2015-03-12 15:34:32 +01:00
Florian Bruhin
8023b1456d Make it possible to configure the timestamp format. 2015-03-12 15:25:39 +01:00
Florian Bruhin
7a28b6c821 Fix lint. 2015-03-12 14:55:54 +01:00
Florian Bruhin
299dbfa56a history: Remove unneeded _old_hit and _old_miss.
The need for those were removed in #548.
2015-03-12 14:46:49 +01:00
Jimmy
61e732f217 history: simplify 2015-03-12 21:35:56 +13:00
Jimmy
1efe18ecc6 Prevent duplicates in history completion.
Two things here. One is to use `WebHistory._new_history` only as a to-save
queue, so we now add entries to `_old_urls` when they are first created and
can now no longer iterate of `_new_history` in `__iter__()`.

Second is to stop blindly tacking new history entries on the end of the
history completion model. It does involve iterating over the model to find the
existing entry but we only do that if we know the duplicate is there, which is
fast to check.

This also ads another point of mutation to the history completion model which
may prove problematic if it leads to more segfaults.
2015-03-12 20:15:03 +13:00
Jimmy
734268187c Clean up incomprehensible comment. 2015-03-12 20:12:59 +13:00
Florian Bruhin
9ee19be70d Convert the atime to float in HistoryEntry. 2015-03-12 08:07:40 +01:00
Florian Bruhin
0b975db4dd Refactor how completions are organized. 2015-03-11 23:07:58 +01:00
Florian Bruhin
34b24aafa8 Fix lint 2015-03-11 22:22:49 +01:00
Florian Bruhin
fe4f32606d Use CompletionFilterModel's sort implementation. 2015-03-11 21:50:16 +01:00
Jimmy
834832e3ba Web history changed signal now emits the new entry.
Each new HistoryEntry is emitted after being added to the global history
store. Current members of the HistoryEntry are `url` and `atime`. `title`
should be coming soon.
2015-03-11 21:50:16 +01:00
Jimmy
59948a038c Add new UrlCompletion model which includes web history and quickmarks.
I went to some effort to avoid duplipcating code which which leads to some
arguably ugly class method calling.
2015-03-11 21:50:16 +01:00
Jimmy
f6a7ef3985 Add url history completion for open.
Adds a basic completion model implementation around the global browser
history and registers that for the open command.

Modifies WebHistory to add an __iter__ method and to use a dict instead of a
set to store an entire HistoryEntry for each archived item instead of just the
URL. Brief tests showed that the lookup time for set and dict are very
similar. They are at least on the same order of magnitude. Testing membership
of a list on the other hand, as was the case before a set was used, was four
orders of magnitude slower on my machine.
2015-03-11 21:50:16 +01:00
Florian Bruhin
fb85a279f4 Merge branch 'master' of https://github.com/error800/qutebrowser into error800-master 2015-03-11 21:49:27 +01:00
Florian Bruhin
e8e6d8409b Adjust pylint exceptions. 2015-03-11 20:14:39 +01:00
Florian Bruhin
12a82eb371 Add an unittest for foo::bar URLs.
See #544, #546.
2015-03-11 17:48:24 +01:00
Patric Schmitz
4fa64350ca Handle URLs with double-colon at the beginning as search strings
Closes #544. We might also merge #542 now.
2015-03-11 17:35:32 +01:00
error800
94666fe979 Removed default search engines. Closes #533. 2015-03-11 11:25:50 +01:00
Florian Bruhin
0f5391c4fa Scroll completion to top when showing it.
See #531.
2015-03-11 07:50:51 +01:00
Florian Bruhin
1b879faf84 completion: Highlight text case-insensitively.
See #531.
2015-03-11 07:50:45 +01:00
Florian Bruhin
5b4f6d39c2 Add a dumb sorting option to CompletionFilterModel.
This makes it possible to use Qt's QSortFilterProxyModel::lessThan option for
completions where it doesn't make sense to priorize matches starting with the
entered string, e.g. for URLs. In return, we get a *much* better performance
(several seconds when opening the completion).

See #531.
2015-03-11 07:50:33 +01:00
Florian Bruhin
1ead66a4d5 quickmarks: Ignore empty and whitespace-only lines. 2015-03-10 23:25:02 +01:00
Florian Bruhin
acc33b4f91 Add a -f/--force argument to :bind. 2015-03-10 22:32:11 +01:00
Florian Bruhin
aca44da26e Force saving with :save even w/o auto-save-config. 2015-03-10 22:24:34 +01:00
Florian Bruhin
596bff0772 Don't try to add tab repr in TabDeletedError.
This will always fail with another RuntimeError...
2015-03-10 22:16:41 +01:00
Florian Bruhin
d87a1bb2b4 Add a hints -> scatter option.
This is enabled by default to keep the same default behaviour which is like
Vimium - mixing e.g. single-char letters and double-char letters, and
scattering/shuffling the labels to have an uniform hint key distribution.

If disabled, the behaviour is more similiar to dwb, which has a fixed hint
string length and simply fills the string starting with the first possible hint
char.
2015-03-10 21:19:47 +01:00
Florian Bruhin
2f0522ebb0 Add a --rapid option to :hint, remove rapid target
This makes it possible to use rapid hinting for the run/hover/userscript/spawn
targets as well, and makes more sense anyways.
2015-03-10 19:40:30 +01:00
Florian Bruhin
4b6d49e926 Make QSslError hashable for Qt <= 5.4.
PyQt uses qHash() for __hash__, and qHash for QSslError was added with Qt 5.4.

This means 2da45e98ca raised TypeError there as
QSslError is unhashable.

For those older Qt versions, we implement __hash__ ourselves which does about
the same thing as Qt does, combining the DER (binary) representation of the
certificate and the error() (which is just a QEnum, hashable as int).
2015-03-10 08:29:56 +01:00
Florian Bruhin
2da45e98ca Auto-handle equal SSL errors for the same host.
For every (scheme, host, port) tuple, we save all SSL errors we asked the user
about, and if everything matches (scheme, host, port, error, certificate), we
don't ask the user again.

Fixes #422.
2015-03-10 07:58:40 +01:00
Florian Bruhin
8307b546b7 Adjust prompt size hint based on content.
See #26.
Fixes #506.

Related to 06cc982ab5.
2015-03-09 19:35:50 +01:00
Florian Bruhin
9ffb30a16f Ignore RuntimeError in mouserelease_insertmode.
It seems when clicking certain elements, the webview can get deleted before the
singleShot QTimer will activate.
2015-03-09 11:49:01 +01:00
Florian Bruhin
e78fa431c5 Hide Qt warning when aborting download reply. 2015-03-09 07:49:02 +01:00
Florian Bruhin
6a16875f50 Fix retrying of downloads from closed tabs.
Fixes #502.
2015-03-09 07:39:40 +01:00
Florian Bruhin
bfc114ae35 Fix lint 2015-03-08 23:15:35 +01:00
Florian Bruhin
181bcc4f8d Add tests for lineparser. 2015-03-08 22:13:29 +01:00
Florian Bruhin
60b6519b04 lineparser: Call _prepare_save() properly. 2015-03-08 21:53:42 +01:00
Florian Bruhin
181426b50a AppendLineParser: Strip newlines in __iter__. 2015-03-08 21:53:42 +01:00
Florian Bruhin
2010e8115b lineparser: Rename _open_for_reading to _open. 2015-03-08 21:53:42 +01:00
Florian Bruhin
27f4ada799 Add AppendLineParser and use it in WebHistory.
The former approach (always reading the whole history from disk) was rather
inefficient, and we had performance problems e.g. when marking text in Qt
documentation.
2015-03-08 21:53:42 +01:00
Florian Bruhin
5b4b793538 Split LineParser into multiple classes.
There is now:
    - BaseLineParser
    - LineParser
    - LimitLineParser
2015-03-08 21:53:42 +01:00
Florian Bruhin
99de995813 Rename/move config.parsers.line.LineConfigParser.
It's now misc.lineparser.LineParser since it handles other stuff than just
config.
2015-03-08 21:53:42 +01:00
Florian Bruhin
ee8beb174d Fix :tab-clone -w (i.e. back -w). Fixes #536. 2015-03-08 15:02:18 +01:00
Florian Bruhin
cd34562d34 Fix :tab-clone with tabs -> tabs-are-windows=true.
See #536.
2015-03-08 14:54:42 +01:00
Florian Bruhin
f7b036cf15 Merge branch 'oed-download_filename_handling' 2015-03-06 17:06:01 +01:00
Florian Bruhin
edf762e210 Avoid pylint duplicate-code warning. 2015-03-06 17:04:56 +01:00
Florian Bruhin
858131c9bc Merge branch 'download_filename_handling' of https://github.com/oed/qutebrowser into oed-download_filename_handling 2015-03-06 16:39:44 +01:00
Florian Bruhin
0827ddec86 utils.log: Simplify stack printing on Qt warnings. 2015-03-06 16:33:22 +01:00
Florian Bruhin
3e5b9a4a4a log.utils: Add Qt warning filter context manager. 2015-03-06 16:32:26 +01:00
Florian Bruhin
2c9b5f24fc Use _shutting_down instead of disconnecting signal
This will most likely cause less pain than disconnecting the signal, which
seems to be broken on OS X.
2015-03-06 16:29:04 +01:00
Florian Bruhin
034f1136d3 Add missing qutebrowser.test.log module. 2015-03-06 16:28:30 +01:00
Joel Torstensson
0fb74da4ff Can now handle relative paths. 2015-03-05 23:44:12 +01:00
Florian Bruhin
7ed8f3d4ac unittests: Set up logging properly. 2015-03-05 23:41:46 +01:00
Florian Bruhin
7c125642b9 Hide "Error while shutting down tabs" message.
This makes no sense at all, yet seems to happen when closing qutebrowser on OS
X via Cmd+Q.
2015-03-05 21:46:56 +01:00
Joel Torstensson
d449a60078 Fixed bug using download dirs with trailing slash. 2015-03-05 20:33:02 +01:00
Joel Torstensson
9cfa34c009 Readded suggested_filename fallback. 2015-03-05 20:17:48 +01:00
Florian Bruhin
61a52f3b91 command: Check the completion/argument counts.
See #531.
2015-03-05 06:20:55 +01:00
Joel Torstensson
7d48845afa Made static functions private. 2015-03-04 23:05:23 +01:00
Florian Bruhin
ebae77e8c5 Fix lint. 2015-03-04 20:52:33 +01:00
Florian Bruhin
e5ebea80b3 Add qApp.quit atexit handler in tests.
This FINALLY fixes the test segfaults on Windows 8.
2015-03-04 20:48:58 +01:00
Florian Bruhin
be6ea2f0e8 Call QApplication.processEvents on exit. 2015-03-04 20:26:19 +01:00
Florian Bruhin
e431f09fab test_editor: Fix handling of statusbar messages. 2015-03-04 20:25:57 +01:00
Joel Torstensson
4e7e97232e Downloads using get_request specifying only path now works. 2015-03-04 12:24:26 +01:00
Joel Torstensson
49c666a4a8 get_request is now correct. 2015-03-04 12:06:08 +01:00
Joel Torstensson
68774a2c75 Style fixes. 2015-03-04 11:31:54 +01:00
Joel Torstensson
8e0c1cff7b Made download suggestion configurable.
Fix #505
2015-03-04 11:31:54 +01:00
Joel Torstensson
82deaeed2e Downloads now shows path in question. 2015-03-04 11:29:36 +01:00
Florian Bruhin
40af99bacc Clear open target in acceptNavigationRequest.
This is a regression introduced in a76868c0f4.
Fixes #530.
2015-03-03 23:28:45 +01:00
Florian Bruhin
801f6b2667 Fix handling of signals with deleted tabs. 2015-03-03 23:22:29 +01:00
Gregor Pohl
c8c095d499 Add Opera-like mouse rocker gestures. 2015-03-03 12:58:32 +01:00
Florian Bruhin
f19eba3b40 Don't log cur_link_hovered signals. 2015-03-03 09:07:30 +01:00
Florian Bruhin
21ab5f8685 Add logging for acceptNavigationRequest. 2015-03-03 09:06:43 +01:00
Florian Bruhin
65f21fc8ee Use unittest.mock.patch for tests. Closes #76. 2015-03-01 22:10:16 +01:00
Florian Bruhin
c0eb8daff7 Add tests for keyinput->partial-timeout. 2015-03-01 21:35:14 +01:00
Florian Bruhin
003f7fd957 tests: Improve FakeTimer. 2015-03-01 21:30:22 +01:00
Florian Bruhin
bb2caaa11d Suppress Qt warning in unittests. 2015-03-01 21:30:22 +01:00
Florian Bruhin
84643b4a39 Various unittest fixes and improvements. 2015-02-27 12:43:54 +01:00
Florian Bruhin
072210c47b Log rfc6266 UnicodeDecodeError to correct logger. 2015-02-27 12:35:46 +01:00
Florian Bruhin
e696898c4a Add input -> partial-timeout option to clear partial keystrings. 2015-02-27 10:59:03 +01:00
Florian Bruhin
42e2438efb Return Match instead bool in _handle_single_key. 2015-02-27 10:59:03 +01:00
Florian Bruhin
d66997610b Use a single Timer for ambigious keybindings. 2015-02-27 10:59:03 +01:00
Florian Bruhin
bfd0a3fbc2 Fix AttributeError when doing extended hinting. 2015-02-27 08:44:44 +01:00
Florian Bruhin
561ebd07f9 Make it possible to use :open -[twb] without url. 2015-02-27 08:10:00 +01:00
Florian Bruhin
5f46870594 Add a FuzzyUrl config type. 2015-02-27 08:08:46 +01:00
Florian Bruhin
6d51fcfb2e Add a do_search argument to fuzzy_url.
This turns off searching no matter what autosearch is set to, and also makes it
possible to use fuzzy_url before the config is up.

For now, we use this for quickmarks and the startpage.
2015-02-27 08:07:40 +01:00
Florian Bruhin
a76868c0f4 Refactor how click/hint open targets are handled. 2015-02-26 20:41:04 +01:00
Florian Bruhin
fa0bfaa49e Merge branch 'master' of ssh://tonks/qutebrowser 2015-02-26 20:21:00 +01:00
Florian Bruhin
eb8bad3d18 Reset open_target in acceptNavigationRequest.
After ddb39275eb, when something was opened via
hints in a new tab, the open_target still was set afterwards and the next
regular open did open in a new tab.
2015-02-26 20:17:01 +01:00
Florian Bruhin
a12dee8898 hints: Include button in buttons().
From the QMouseEvent::buttons documentation:

    For mouse move events, this is all buttons that are pressed down. For mouse
    press and double click events this includes the button that caused the
    event. For mouse release events this excludes the button that caused the
    event.
2015-02-26 20:12:48 +01:00
Florian Bruhin
ddb39275eb Simulate Ctrl-click when hinting in new tab/win.
This works around the fact some pages (e.g. github) load their content via AJAX
on a normal left click, so we'll never get acceptNavigationRequest and thus
can't open them in a new tab.

Fixes #488.
2015-02-26 20:11:13 +01:00
Florian Bruhin
4b4bb3af88 Handle NavigationTypeOther acceptNavigationRequest
This fixes hinting in some cases where javascript is used to load content, e.g.
on duckduckgo. However it still doesn't seem to help with github files etc.

See #488.
2015-02-26 20:04:00 +01:00
Florian Bruhin
0ebef4069e Remove debug console completing completely.
Turns out pylint doesn't like it if stuff is unused because we commented code
out ;)
2015-02-26 17:56:45 +01:00
Florian Bruhin
813ce9a513 Disable completion for debug console.
As long as it's broken it's more annoying rather than useful.
See #117.
2015-02-26 17:48:47 +01:00
Florian Bruhin
8e0dddf86a Restore sys.std* in utils.fake_io on exceptions. 2015-02-26 17:47:07 +01:00
Florian Bruhin
fcbd69e209 Clean up standarddir handling #2.
We already attempted this in c5a2039da4, but
having the directories as module attributes means they'll be created on start
(rather than when they're actually used), and it'd also be impossible to change
them after init for some reason in the future.

To still have a nice short API, we simply change the attributes to functions.
2015-02-26 07:01:22 +01:00
Florian Bruhin
0d9bf5e2c9 Fix lint. 2015-02-26 06:13:27 +01:00
Samir Benmendil
81af41d77f Add option to set minimum number of chars in hints 2015-02-26 00:49:50 +00:00
Florian Bruhin
1dc9862c0b Allow font names with integers in them. 2015-02-25 23:20:09 +01:00
Florian Bruhin
1d27dcca81 Ignore RuntimeError because of deleted Question. 2015-02-25 23:12:23 +01:00
Florian Bruhin
31d9018fc4 Disable insecure SSL ciphers (< 128bit) for Qt 5.2.
This is only an issue for the users which are stuck on Ubuntu Trusty.
2015-02-25 21:07:44 +01:00
Florian Bruhin
0fcd016427 Move cursor to end of textboxes when hinting. 2015-02-25 19:56:03 +01:00
Florian Bruhin
9d716d74b4 Fix lint. 2015-02-25 18:01:30 +01:00
Florian Bruhin
891c07f7e3 Merge branch 'master' of ssh://tonks/qutebrowser 2015-02-25 17:27:01 +01:00
Florian Bruhin
caad56c978 Print stacktrace on Qt warnings. 2015-02-24 07:12:25 +01:00
Florian Bruhin
0f9a1fe178 Display ImportError messages in earlyinit errors. 2015-02-23 15:16:30 +01:00
Florian Bruhin
94434ea739 Decorate DownloadItem slots with @pyqtSlot.
Before, using the right-click menu to cancel the download didn't actually
cancel it, as the QAction.toggled signal was emitted with checked=False which
got interpreted as remove_data=False.
2015-02-23 10:01:37 +01:00
Florian Bruhin
c5a2039da4 Refactor QStandardPaths handling. 2015-02-22 19:13:51 +01:00
Florian Bruhin
cabe5bf2a3 Use the real argparser instance for qtutils tests. 2015-02-22 12:10:42 +01:00
Florian Bruhin
617cd8977b Add --qt-name argument. See #514. 2015-02-21 18:53:01 +01:00
Florian Bruhin
359482b511 Fix getting Qt arguments. 2015-02-21 18:52:14 +01:00
Florian Bruhin
0ccb104f48 Merge branch 'master' of ssh://tonks/qutebrowser 2015-02-20 17:35:31 +01:00
Florian Bruhin
05d8a2429b tests: Fix double tearDown. 2015-02-20 09:27:41 +01:00
Florian Bruhin
42c8acc7aa Fix lint 2015-02-20 09:23:06 +01:00
Florian Bruhin
f33bc7bf31 tests: Get rid of second QCoreApplication. 2015-02-20 09:21:59 +01:00
Florian Bruhin
684f0d3df5 Fix starting with -c '' again. 2015-02-20 09:12:56 +01:00
Florian Bruhin
5fe85d0dde Add test for starting with -c ''. 2015-02-20 09:09:35 +01:00
Florian Bruhin
60d4305cc4 tests: Adjust environ_set_temp to take a dict. 2015-02-20 08:34:24 +01:00
Florian Bruhin
634028e277 Fix QIODevice warnings when closing tabs.
This is a regression introduced in 43c9d69295.
Fixes #517.
2015-02-20 07:43:40 +01:00
Florian Bruhin
14f2420500 Fix wrong parsing of faulthandler logs. 2015-02-19 22:45:37 +01:00
Florian Bruhin
a41331a402 Remove test QApplication "fix" again.
This causes more segfaults than it prevents...
2015-02-19 22:41:36 +01:00
Florian Bruhin
87951ee3a8 Fix crash when closing tabs on Qt 5.2.1 (Trusty)
This issue was introduced in 8f1d81a644.
2015-02-19 22:20:39 +01:00
Florian Bruhin
b5d3b264e8 Merge branch 'master' of ssh://tonks/qutebrowser 2015-02-19 21:38:11 +01:00
Florian Bruhin
2d4b03fbc9 Improve parsing of faulthandler logs. 2015-02-19 21:38:02 +01:00
Florian Bruhin
81fb57bbf0 Revert "Try another workaround for broken Windows tests."
This reverts commit 852fe2f84c.
2015-02-19 16:59:33 +01:00
Florian Bruhin
852fe2f84c Try another workaround for broken Windows tests. 2015-02-19 10:41:04 +01:00
Florian Bruhin
7dd908bd51 Try calling sip.delete on the test QApplication.
Maybe this helps with the unit tests on Windows?
2015-02-19 10:03:19 +01:00
Florian Bruhin
543c6cb90b Quit test QApplication properly.
Maybe this fixes the hangs and crashes on the Windows buildbots?
2015-02-19 07:46:08 +01:00
Florian Bruhin
3d5012ccca Rename 'Allowed' header for value completions. 2015-02-19 07:10:40 +01:00
Florian Bruhin
dc9e2a9772 Add a list of common user agents to completion. 2015-02-19 07:09:34 +01:00
Florian Bruhin
8c32fb86e2 Make it possible to set options with ! in it.
This is needed for a quit! alias for example. The option was wrongly treated as
an inversion even though a value was given.
2015-02-18 23:06:35 +01:00
Florian Bruhin
ea2dba6b38 Merge branch 'master' of ssh://tonks/qutebrowser 2015-02-18 22:20:41 +01:00
Florian Bruhin
3d72235023 Set the QSettings path to a config-subdirectory.
QWebInspector uses QSettings to save its GUI-settings. However, the default
path for QSettings is ~/.config/qutebrowser/qutebrowser.conf which overwrites
our own config file.

This fixes one part of #515.
2015-02-18 22:18:55 +01:00
Florian Bruhin
9534deb2e7 Add a context manager to unset organizationName. 2015-02-18 22:18:55 +01:00
Samir Benmendil
0ec05e071f expand environment vars in settings accepting paths 2015-02-18 15:04:49 +00:00
Florian Bruhin
7a90d7fca8 Fix standarddir tests when XDG_*_HOME is set. 2015-02-18 13:47:15 +01:00
Florian Bruhin
83b636a0a7 Add some more tabhistory test URLs. 2015-02-18 07:10:46 +01:00
Florian Bruhin
62fb4b0d0b Fix initial creating of config. 2015-02-17 22:43:32 +01:00
Florian Bruhin
b31a432a1a Add options to ignore javascript prompts/alerts.
New options: content -> ignore-javascript-{prompt,alert}.
2015-02-17 19:03:18 +01:00
Florian Bruhin
238761bd5b Don't write zoom to QWebHistory.
If we set the zoom, it seems WebCore sets its own zoom independent of the
QtWebKit zoom, which leads to funny effects.
2015-02-17 07:48:19 +01:00
Florian Bruhin
5b33f6c5fe Re-add save-session setting. 2015-02-17 07:45:06 +01:00
Florian Bruhin
56b0ae2b6e Get rid of mainwindow.MainWindow.spawn. 2015-02-16 22:56:12 +01:00
Florian Bruhin
d8fe62bc61 Add workaround for adblock-message without window. 2015-02-16 22:21:36 +01:00
Florian Bruhin
46ca0e447e Get rid of the save-session setting for now.
With the way quitting is handled currently, it's hard to save the session on
quit as the windows will already be closed.
2015-02-16 21:33:24 +01:00
Florian Bruhin
8f1d81a644 Add session support.
Closes #12.
See #499.
See #11.

This adds PyYAML as a new dependency.

It adds the following new commands:

    :session-delete <name>
    Delete a session.

    :session-load <name>
    Load a session.

    :session-save [<name>]
    Save a session.

    :wq [<name>]
    Save open pages and quit.

And the following new settings:

    general -> save-session:
    Whether to always save the open pages.
2015-02-16 20:26:09 +01:00
Florian Bruhin
53b024f246 docutils: Fix handling of ", or None ...". 2015-02-14 19:41:10 +01:00
Florian Bruhin
8e2e996369 Merge branch 'download_cmd_interface' of https://github.com/oed/qutebrowser into oed-download_cmd_interface 2015-02-14 19:06:47 +01:00
Joel Torstensson
4d2aa6a4d4 Fixed errors in update_indexes, etc. 2015-02-14 14:11:38 +01:00
Florian Bruhin
5817f3c18d Split config init into three functions. 2015-02-14 00:25:26 +01:00
Florian Bruhin
66d3ec1c08 Make it possible to configure tab titles. 2015-02-13 23:57:31 +01:00
Florian Bruhin
1cf34e7984 Force saving the config if new options were added. 2015-02-13 23:53:56 +01:00
Florian Bruhin
a38a77b16b Fix searching for terms starting with a slash.
Fixes #507.
2015-02-13 22:27:21 +01:00
Florian Bruhin
94b51128d1 Whitespace fixes. 2015-02-13 22:19:45 +01:00
Florian Bruhin
44b21374cb Fix :tab-clone.
We checked for None when getting the QColor, but now with the Python dict
instead of a QVariant that's a KeyError.

This is a regression introduced in 3cf9768f21.
2015-02-13 19:33:53 +01:00
Florian Bruhin
3cf9768f21 Use a dict for tab data instead of a single value. 2015-02-13 18:59:59 +01:00
Florian Bruhin
e459e1a472 Fix loading of history with URLs containing spaces
Fixes #508.
2015-02-13 18:58:44 +01:00
Florian Bruhin
1c5f036d4e Merge branch 'master' of ssh://git/qutebrowser 2015-02-13 13:42:57 +01:00
Joel Torstensson
049a360abc Fixed error messages. 2015-02-13 12:40:37 +01:00
Joel Torstensson
dfb801a0b7 dataChanged is now emited in update_indexes. 2015-02-12 23:29:05 +01:00
Joel Torstensson
9f0658f191 Minor fixes. 2015-02-12 22:21:30 +01:00
Joel Torstensson
8cd5f9e6d1 Implemented :download-delete. 2015-02-12 22:20:22 +01:00
Joel Torstensson
dd995c434c :download-cancel now only cancels downloads that are done. 2015-02-12 21:17:23 +01:00
Joel Torstensson
1f39200b28 :download-open and :download-remove now complains if you try to execute on a download that is not done. 2015-02-12 21:05:53 +01:00
Joel Torstensson
91f7056649 Added indexes to download view. 2015-02-12 20:43:13 +01:00
Florian Bruhin
22fab87311 Ignore tab key presses if they'd switch focus.
If the mainwindow is focused but not the web view (e.g. in prompt mode), an
unbound tab key should be filtered so it doesn't change keyboard focus.

Fixes #504.
2015-02-12 18:57:56 +01:00
Florian Bruhin
0b55f4df77 Fix starting with -c "".
This is a regression introduced in 9b1729c77e.
2015-02-12 13:24:17 +01:00
Florian Bruhin
5a73f5d2c1 Release v0.1.3 2015-02-12 07:47:17 +01:00
Florian Bruhin
c2f9cae770 Don't show line edit text in its repr().
Previously we showed self.text in the __repr__ of MinimalLineEdit. This however
is a bad idea, because it exposes passwords to the debug log when the currently
focused widget is logged.
2015-02-11 23:33:31 +01:00
Joel Torstensson
658ab70e98 :download-open now also checks whether download was successful. 2015-02-11 22:13:29 +01:00
Florian Bruhin
d4ef66714f Deny HTML5 permissions when question is cancelled.
Before we just ignored the request but deleted the Question object, which lead
to a RuntimeError when the question was cancelled and the page was reloaded,
because on_permission_canceled tried to abort the question.
2015-02-10 21:15:17 +01:00
Florian Bruhin
e44c5aee5b Add config options for geolocation/notifications. 2015-02-10 21:09:08 +01:00
Joel Torstensson
6e3d5867f9 Fixed docs. 2015-02-09 17:38:50 +01:00
Joel Torstensson
55193803a1 Changed :downloads-clear to :download-remove. 2015-02-09 17:17:34 +01:00
Joel Torstensson
e9da7b5391 :download-open now only opens finished downloads. 2015-02-09 17:03:02 +01:00
Florian Bruhin
43c9d69295 Handle shutdown of page with prompt correctly.
Before we didn't cancel javascript prompts when a page was closed, which lead
to exceptions or segfaults.
2015-02-09 15:41:27 +01:00
Florian Bruhin
bc43fb5e4c Implement requests for geolocation/notifications.
Closes #503.
2015-02-09 15:32:26 +01:00
Joel Torstensson
767ca42e46 Some style fixes. 2015-02-09 12:06:49 +01:00
Florian Bruhin
494825fed0 Don't log statusbar messages in signalfilter. 2015-02-09 07:50:32 +01:00
Florian Bruhin
4704e81b41 Don't log javascript console messages by default. 2015-02-09 07:46:31 +01:00
Florian Bruhin
0f48ea62c1 Keep more debug log in memory. 2015-02-09 07:34:12 +01:00
Joel Torstensson
6bbb655a54 Fixed bug when specifying filename on download. 2015-02-08 22:21:34 +01:00
Joel Torstensson
9428338389 Merged :download and :download-page.
Fix #449
2015-02-08 22:08:16 +01:00
Joel Torstensson
6f89ab628b More command actions on downloads. 2015-02-08 22:03:29 +01:00
Florian Bruhin
31e71ed6d9 Fix copyright years.
Files created in 2015 don't need to have 2014 as copyright year.
2015-02-06 00:21:57 +01:00
Florian Bruhin
514ae1e798 Add periods for argparse help texts. 2015-02-05 08:29:13 +01:00
Florian Bruhin
f78b21874f Add -p/--print argument to :set to print value. 2015-02-05 07:58:51 +01:00
Florian Bruhin
7615e20091 Add -s argument to set temporary options. 2015-02-05 07:54:19 +01:00
Florian Bruhin
5ed592a447 Replace some QTimers by named Timers. 2015-02-05 07:17:58 +01:00
Florian Bruhin
370c182f48 Fix header encoding in FakeNetworkReply test stub.
This was broken since ef9ddb2d5f but we never
noticed it, as an __init__.py was missing in the test folder since
06ec1a3885.
2015-02-05 07:12:36 +01:00
Florian Bruhin
0957d5df8e Make tests for browser.http run again. 2015-02-05 06:59:00 +01:00
Florian Bruhin
fba2b2b5ae fuzzy_url: handle invalid URLs with autosearch off
Fixes #497.
2015-02-02 22:24:01 +01:00
Florian Bruhin
a95dda8e92 Handle explicit searches with auto-search=false.
See #497.
2015-02-02 22:19:43 +01:00
Florian Bruhin
cbde36948a Abort download override question on error/cancel.
If a download error occured or the user cancelled the download during the file
override question, an exception occured as the download was no longer valid
when the question was answered.

See #416.
2015-02-02 06:53:55 +01:00
Florian Bruhin
18b58b2001 Set a higher z-index for hint labels.
This fixes hinting on the youtube top bar.

Fixes #496.
2015-02-02 06:35:45 +01:00
Florian Bruhin
59a11c178f Don't open relative files in fuzzy_url with :open
With most actions which use fuzzy_url (:open/quickmarks/etc.) it's rather
confusing when relative files are opened - the only place where they should be
opened is when we're processing a commandline argument.
2015-02-01 23:55:37 +01:00
Florian Bruhin
9b1729c77e Always write config files to disk on first start. 2015-02-01 23:47:40 +01:00
Florian Bruhin
1c919967bb Send history (optionally) in fatal crash dialog. 2015-02-01 23:12:46 +01:00
Florian Bruhin
2f01c7c3ae Minor style adjustments in crashdialog.py. 2015-02-01 23:12:32 +01:00
Florian Bruhin
dc6aaecc78 Add __getitem__ to WebHistory. 2015-02-01 23:12:02 +01:00
Florian Bruhin
d9ae2183e8 Initialize web history earlier.
This is needed when displaying the history in the segfault report dialog.
2015-02-01 23:11:30 +01:00
Florian Bruhin
503fc9f56b Re-enable some flake8 checks. 2015-02-01 22:38:40 +01:00
Florian Bruhin
33a2181e31 Record global page history to disk.
We currently don't do anything with it yet, but people could use it in scripts
already and we have the history later when completion or other stuff will be
added based on it.

See #33.
2015-02-01 22:27:58 +01:00
Florian Bruhin
1266f147c8 Auto-save state/config/... periodically.
See #15.
2015-02-01 01:38:16 +01:00
Florian Bruhin
822bf90b26 Fix another speeling mistake. 2015-02-01 01:22:46 +01:00
Florian Bruhin
3b667325ca Move initializing of version/geometry saveables. 2015-02-01 01:22:24 +01:00
Florian Bruhin
43c5dc3bf6 Refactor saving logic, only save stuff if modified.
Fixes #113.
See #11.
2015-02-01 00:43:07 +01:00
Florian Bruhin
d6e87a2672 Hide adblocked iframes.
We now hide iframes which have been blocked completely instead of displaying an
error page in there. Displaying the error page also did break back/forward,
e.g. on reddit.

Fixes #493.
2015-01-31 22:38:31 +01:00
Florian Bruhin
9736224fa6 Close contextmenu when closing tab to avoid crash.
Fixes #494.
2015-01-31 21:01:03 +01:00
Florian Bruhin
55649882a0 Revert "Paste primary selection into forms on Shift-Insert."
This reverts commit 68a0428a09.

Even if this works fine for me, various people reported segfault issues when
using Shift-Insert, so I'm reverting this for now until I find a proper
solution.

See #491.
2015-01-30 11:50:05 +01:00
Florian Bruhin
c40e70ed11 Revert "Also copy QByteArray of clipboard data."
This reverts commit 4138debd1e.

It seems even with this, there are still weird segfault issues.

See #491.
2015-01-30 11:48:40 +01:00
Florian Bruhin
6bf87dd1d7 Fix statusbar quickly popping up as window. 2015-01-30 11:36:07 +01:00
Florian Bruhin
4138debd1e Also copy QByteArray of clipboard data.
This could possibly fix segfaults some people have seen when pasting after
68a0428a09.

See #491.
2015-01-30 06:42:55 +01:00
Florian Bruhin
b721a0e992 Clean up NetworkManager after downloads finished.
Fixes #490.
2015-01-28 22:52:24 +01:00
Florian Bruhin
66ec4f0599 Resize completion when it's shown, and only then.
Before this, we always resized the completion when the mainwindow was resized.
If the statusbar is hidden during the resize (ui -> hide-statusbar is true), we
got an invalid calculated QRect for the completion, causing the update to be
not applied at all - so the completion showed up incorrectly.

With this change, another resize is done when the completion is shown - at this
point it's certain the statusbar is visible. Also we only update it while it's
shown - it doesn't make sense to always adjust its size when it's hidden
anyways.
2015-01-28 22:16:22 +01:00
Florian Bruhin
81b91888f4 Add logging to completion resizing. 2015-01-28 22:15:57 +01:00
Florian Bruhin
1526cf1532 Merge branch 'master' of ssh://tonks/qutebrowser 2015-01-28 08:43:48 +01:00
Florian Bruhin
b9f16804f7 Make the window title configurable.
Closes #489.
2015-01-28 08:40:16 +01:00
Florian Bruhin
68a0428a09 Paste primary selection into forms on Shift-Insert.
Closes #491.
2015-01-28 06:56:38 +01:00
Florian Bruhin
d90814aabe Fix restoring of cmd widget after an error.
We accidentally restored the prompt widget instead of the command widget when
an immediate error message interrupted command mode.

Fixes #487.
2015-01-27 21:18:24 +01:00
Florian Bruhin
4c87287f4e Don't set up on_ssl_errors slot without SSL. 2015-01-26 13:23:41 +01:00
Florian Bruhin
7169d02609 Support running qutebrowser without SSL. 2015-01-26 13:15:08 +01:00
Florian Bruhin
bc380fca61 Clone zoom factor when cloning tab. 2015-01-26 07:20:03 +01:00
Florian Bruhin
ab2d2d79ca Clone text/icon as well when cloning tabs.
Closes #316.
2015-01-26 07:18:07 +01:00
Florian Bruhin
6576796718 Fix retrying of downloads after the tab is closed. 2015-01-25 23:53:23 +01:00
Florian Bruhin
cd39be62ee Show loading percentage in window title. 2015-01-25 23:25:08 +01:00
Florian Bruhin
fe90b153ed Add new option ui->hide-statusbar to hide the bar.
Closes #486.
2015-01-25 22:41:19 +01:00
Florian Bruhin
8ffc1a3966 Change tabwidget calls from autohide to _tabhide. 2015-01-25 22:29:20 +01:00
Florian Bruhin
41fd89a206 crashdialog: Shorten paste titles.
Unfortunately the maximum char count for paste titles is 32...
2015-01-25 22:14:55 +01:00
Florian Bruhin
323db55a9c Remove restore checkbox from fatal report dialog. 2015-01-25 21:46:48 +01:00
Florian Bruhin
bd0a3a86d9 Display error on qt_mainloop crashes with old Qt.
See #447.
2015-01-25 21:37:28 +01:00
Florian Bruhin
09ea733231 Use qVersion() instead of QT_VERSION_STR. 2015-01-25 21:12:50 +01:00
Florian Bruhin
9702433d4e Crash dialog redesign.
We now have "Report/Don't report" buttons and a restart checkbox (checked by
default), so users don't accidentally send reports when they don't want to.
2015-01-24 20:28:44 +01:00
Florian Bruhin
0d93d1eaff Minor style fixes. 2015-01-24 18:10:24 +01:00
Florian Bruhin
6ab65eb9d3 Merge branch 'toggletab' of https://github.com/smalltock/qutebrowser into smalltock-toggletab 2015-01-24 18:04:24 +01:00
Florian Bruhin
1d167fa428 Fix duplicate method name in crashdialog tests. 2015-01-24 17:45:39 +01:00
Florian Bruhin
3edffefff4 Fix qutebrowser.misc tests.
After the utils -> misc rename, we forgot an __init__.py, which means these
tests did never run.
2015-01-24 14:48:16 +01:00
Florian Bruhin
5b3b324331 Produce better titles for crash logs.
See #483 and #447.
2015-01-24 14:48:16 +01:00
ZDarian
62adc5ffe3 remove extra newline 2015-01-23 20:46:52 -07:00
Florian Bruhin
ca590c5df7 Fix lint 2015-01-23 15:10:44 +01:00
Florian Bruhin
0587cc8b1d Really fix pylint and unicodedata.category. 2015-01-23 15:06:51 +01:00
Florian Bruhin
d7c7e91f2b pylint: Ignore no-member for unicodedata.category.
This seems to be broken for pylint since #463 on Windows, so we just ignore the
warning there.
2015-01-23 14:40:40 +01:00
ZDarian
a08b814e5f Accidentally left in print() used for testing 2015-01-23 06:35:06 -07:00
ZDarian
00f67135ae Fixed tabbar visibility update 2015-01-23 06:34:01 -07:00
Florian Bruhin
b387b4c7a9 Merge branch 'master' of ssh://git/qutebrowser 2015-01-22 10:41:58 +01:00
ZDarian
d7b5f2bf52 Remove always-hide from changed cfg 2015-01-21 23:21:43 -07:00
Florian Bruhin
5c92144f6b Fix spawn --userscript with multiple args.
This is a regression introduced in 4485e4ee1b.

We didn't unpack the argument list properly before passing it to
run_userscripts.

Fixes #476.
See #448.
2015-01-22 07:10:32 +01:00
Thorsten Wißmann
5d5e26eb7b Fix some check_libraries() for arch
By now, the python-jinja and python-pygments packages are available in
community.
2015-01-22 07:01:35 +01:00
Florian Bruhin
5a0a0302df Merge branch 'new-pylint' 2015-01-22 07:00:01 +01:00
Florian Bruhin
3b6a504d7b crashdialog: Move contact info to top.
See #447.
2015-01-22 06:58:37 +01:00
Florian Bruhin
aa3017dd58 crashdialog: Reword contact info text.
See #447.
2015-01-22 06:56:45 +01:00
Florian Bruhin
50557a9b3e crashdialog: Remove Github from contact types.
See #447.
2015-01-22 06:56:23 +01:00
ZDarian
dffa7ccf46 Merge branch 'master' of https://github.com/The-Compiler/qutebrowser into toggletab 2015-01-21 20:51:43 -07:00
ZDarian
ef5412f596 tab *-hide -> tab hide-* 2015-01-21 20:50:30 -07:00
ZDarian
335f72a93f perm-hide -> always-hide 2015-01-21 07:27:08 -07:00
ZDarian
5100f6fc8f better type check; -'aborting' 2015-01-21 07:24:05 -07:00
Florian Bruhin
6d3f871119 Add workaround for unknown pylint no-member bug. 2015-01-21 00:01:05 +01:00
Peter Vilim
c30978be2f Add quotes for empty default value 2015-01-19 13:17:17 -06:00
ZDarian
52afa1a479 Added permanent (count-independent) tab hide according to perm-hide variable. 2015-01-18 07:39:26 -07:00
ZDarian
3c21d5986e Added toggle ability to :set
Append '!' to option name of boolean value to toggle its state.
2015-01-18 07:34:33 -07:00
Florian Bruhin
b3b576f5d2 Handle all IPCErrors properly. 2015-01-16 11:34:15 +01:00
Florian Bruhin
c98bfa9a9d Move version info more to the top in logs. 2015-01-16 09:22:22 +01:00
Florian Bruhin
aae33a0308 Handle another webelem.IsNullError with hints. 2015-01-16 09:09:12 +01:00
Florian Bruhin
dbd0d1fff9 Save report dialog contact infomation. 2015-01-16 07:36:38 +01:00
Florian Bruhin
4f1e0d32b0 Handle UnicodeDecodeError when reading configs.
(WTF are you guys doing?!)
2015-01-16 07:10:12 +01:00
Florian Bruhin
4485e4ee1b Merge :run-userscripts into :spawn.
:run-userscripts is now marked as deprecated, and :spawn has a new
-u/--userscript option instead.

Closes #448.
2015-01-15 22:29:06 +01:00
Florian Bruhin
a32f1e6180 Make it possible to deprecate commands.
See #448.
2015-01-15 22:29:00 +01:00
Florian Bruhin
223f8f243e Make it possible to display warnings in the bar.
Closes #114.
2015-01-15 22:29:00 +01:00
Florian Bruhin
48c83505df Bump master to v0.1.2 2015-01-10 00:08:38 +01:00
Florian Bruhin
8c227324fe Use qurl_from_user_input() in urlutils.is_url().
It seems 354018efcd broke IPv6 IPs on older Qt
versions:

======================================================================
FAIL: test_urls (qutebrowser.test.utils.test_urlutils.IsUrlTests) (url='2001:41d0:2:6c11::1')
Test things which are URLs.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/var/lib/buildbot/slaves/slave/ubuntu-utopic/build/qutebrowser/test/utils/test_urlutils.py", line 168, in test_urls
    self.assertTrue(urlutils.is_url(url), url)
AssertionError: False is not true : 2001:41d0:2:6c11::1
2015-01-09 22:13:23 +01:00
Florian Bruhin
a412814dee Enter KeyMode.normal directly in ModeManager.
We used to enter KeyMode.none and then with a zero-time singleShot QTimer enter
the normal mode. This doesn't really make sense, and caused an exception if a
keypress was processed before the timer fired.

Fixes #433.
2015-01-09 21:49:39 +01:00
Florian Bruhin
d147ba90d4 Remove old comment. 2015-01-09 21:49:39 +01:00
Florian Bruhin
354018efcd Make sure QUrl::fromUserInput is valid in is_url.
Fixes #460.

Without this fix, it's possible for URLs to be valid according to is_url, but
not according to QUrl::fromUserInput, e.g. "http:foo:0". This caused an
exception later because fuzzy_url runs qtutils.ensure_valid.
2015-01-09 21:49:26 +01:00
Florian Bruhin
3eac528716 Switch Qt style to Fusion on OS X on Qt 5.4.
Fixes #462.
See #459.

Upstream bugs:

https://bugreports.qt.io/browse/QTBUG-42948
https://bugreports.qt.io/browse/QTBUG-43070
2015-01-09 15:43:03 +01:00
Florian Bruhin
3ba202d467 Fix config breakage because of deleted option. 2015-01-09 14:38:20 +01:00
Florian Bruhin
8fb1a887db Remove old colors->tabs.separator option. 2015-01-09 14:19:04 +01:00
Florian Bruhin
5947994479 Fix error handling for local files in :adblock-update 2015-01-09 06:53:00 +01:00
Florian Bruhin
5fc900a1cb Merge branch 'master' of https://github.com/balanceofcowards/qutebrowser into balanceofcowards-master 2015-01-08 23:09:58 +01:00
Florian Bruhin
c4b4027104 Merge branch 'show-default-value' of https://github.com/peterlvilim/qutebrowser into peterlvilim-show-default-value 2015-01-08 23:04:35 +01:00
Peter Vilim
14afb3ef14 show-default-value: update heading 2015-01-08 12:52:21 -06:00
binix
8c7a7aaf20 Stop the icon database from being created when private-browsing is set to true 2015-01-08 17:09:55 +00:00
Andreas Fischer
34c9a73e32 Fix bug #399 (crashes on systems with pyqt < 5.3)
Crash occurs in usertypes.py / Question class due to Python slots
being called on deleted Qt objects. This causes either a TypeError or
an AttributeError (probably depending on the state of the deleted Qt
object?).

Fixed by declaring slots in the Question object explicitly via
decorator "@pyqtSlot()".

Possible further TODOs:
- Find out whether this is a problem for slots in other objects as
  well.
- Create unittest for this bug (might me somewhat tricky, though).
2015-01-08 09:52:53 +01:00
Peter Vilim
eba4b58a7c Show default config value in completion 2015-01-07 18:16:59 -06:00
Florian Bruhin
b12b83f98c Hide 2 more Qt warnings. 2015-01-07 06:59:48 +01:00
Florian Bruhin
75ac9cce49 Use Esc in normal mode to clear search highlights. 2015-01-06 18:46:44 +01:00
Florian Bruhin
77df4c7241 Add !important to all hint properties. 2015-01-06 17:10:54 +01:00
Error 800
82ee78b3db Added !important to hint styles
Prevents websites from overriding hint styles
2015-01-06 16:23:45 +01:00
Error 800
c4619874e6 Merge remote-tracking branch 'upstream/master' 2015-01-06 16:20:35 +01:00
Error 800
c008ee8dd7 Added !important to hint styles
Prevents websites from overriding hint styles
2015-01-06 16:13:28 +01:00
Florian Bruhin
dda54a2cc9 Merge branch 'download-quit-confirm' of https://github.com/peterlvilim/qutebrowser into peterlvilim-download-quit-confirm 2015-01-06 11:28:16 +01:00
Peter Vilim
5c37d4a19d fix line lengths 2015-01-06 04:14:41 -06:00
Peter Vilim
f828e554f7 misc fixes 2015-01-06 04:03:21 -06:00
Florian Bruhin
46396cce1e Fix maxsplit-splitting with empty args (""/'').
Fixes #453.
2015-01-06 10:00:28 +01:00
Peter Vilim
dfa276a20c backward compatibility, space, combinations 2015-01-05 22:41:42 -06:00
Florian Bruhin
e339b0cef9 Fix missing whitespace. 2015-01-05 18:56:09 +01:00
Florian Bruhin
85c89305a7 Merge branch 'master' of https://github.com/thiagowfx/qutebrowser into thiagowfx-master 2015-01-05 18:47:16 +01:00
Florian Bruhin
60874aad28 Merge branch 'master' of https://github.com/error800/qutebrowser into error800-master 2015-01-05 18:38:54 +01:00
Error 800
ce5629eab3 Fixed uppercase hints option
Corrected CSS property from 'texttransform' to 'text-transform'
2015-01-05 16:20:45 +01:00
Peter Vilim
0305dedbfb Use multiple lines for quit messages 2015-01-05 01:01:22 -06:00
Thiago Barroso Perrotta
94ea35c9e8 add g[tT] for cycling through tabs (LuaKit/vim like) 2015-01-05 01:57:10 -02:00
Florian Bruhin
ff0c845c50 Uncheck sending of debug log with private browsing.
Fixes #436.
2015-01-04 20:41:35 +01:00
Florian Bruhin
efe96462c9 Pass more useful information to userscripts.
Closes #379.
2015-01-04 20:16:15 +01:00
Florian Bruhin
013f906c3b hints: Small cleanup (add _show_url_error method). 2015-01-04 20:15:45 +01:00
Florian Bruhin
b8a04f5309 Don't raise CommandError in TabbedBrowser.current_url.
TabbedBrowser.current_url used to process the qtutils.QtValueError exception
and raise a cmdexc.CommandError based on it. While this was useful for some
callers, it made handling it in others weird, and it doesn't really belong
there - so now the caller handles this.
2015-01-04 20:13:25 +01:00
Florian Bruhin
04c8a17b2e Merge branch 'userscript-runner' 2015-01-04 15:21:31 +01:00
Florian Bruhin
f64269c57a Add qutebrowser- to FIFO name. 2015-01-04 14:53:00 +01:00
Florian Bruhin
b1b1cecdb7 Add some more logging 2015-01-04 14:51:50 +01:00
Florian Bruhin
ecc7f09f86 Use QSocketNotifier for userscripts. 2015-01-04 14:36:59 +01:00
Florian Bruhin
6d8bffe405 Merge branch 'master' of https://github.com/ml-/qutebrowser into ml--master 2015-01-04 13:35:50 +01:00
Florian Bruhin
e0483363aa Add a test making sure the default config is valid.
See #438, #439, #440, #441.
2015-01-04 13:34:05 +01:00
Peter Vilim
8a3aca63b0 Confirm quit if downloads running 2015-01-04 04:35:27 -06:00
Matthias Lisin
2814456586 Commas are awesome
Fixes #438
Fixes #439
2015-01-04 02:02:26 +01:00
Florian Bruhin
2203db298d Abort blocking questions when new page is loaded.
Fixes #430.
Fixes #431.
Hopefully fixes #354.
Hopefully fixes #434.
2015-01-03 22:21:47 +01:00
Florian Bruhin
f811f511fa Use self._win_id in QNetworkManager._ask. 2015-01-03 22:04:56 +01:00
Florian Bruhin
9521d253a1 Fix validation of ShellCommand config type.
Fixes #432.
2015-01-03 21:19:43 +01:00
Florian Bruhin
e54d3c21ee Add SSL info to version info. 2015-01-03 18:19:16 +01:00
Florian Bruhin
7dbbfedd3b Replace unencodable chars in download filenames.
Fixes #427.
2015-01-03 17:50:59 +01:00
Florian Bruhin
450d1ab70d Update copyright years 2015-01-03 15:51:31 +01:00
Florian Bruhin
e30f79981d Merge branch 'search' of https://github.com/krobelus/qutebrowser into krobelus-search 2015-01-01 19:15:02 +01:00
Florian Bruhin
a5ce9571ff Remove hosts-file.net from blocker default lists. 2015-01-01 19:14:45 +01:00
Florian Bruhin
56d844aff8 Fix user-stylesheet setting with an empty value. 2014-12-30 00:56:53 +01:00
Johannes Altmanninger
8b69f9b62c Registered 'search' as command.
Fixes #421.
2014-12-29 22:45:26 +01:00
Florian Bruhin
4471f81c11 Expand ~ to home dir with :run-userscript. 2014-12-29 22:17:58 +01:00
Florian Bruhin
0cd0f97587 Call triggerAction on page, not view. 2014-12-29 22:12:09 +01:00
Florian Bruhin
0ea25c6ef0 Add missing imports 2014-12-29 22:04:09 +01:00
HalosGhost
0a1fa87ac9 Add -f option to reload 2014-12-29 22:03:54 +01:00
Florian Bruhin
ad6065605a Merge branch 'master' of https://github.com/oed/qutebrowser into oed-master 2014-12-29 21:58:51 +01:00
Florian Bruhin
f96cf6fe27 Release v0.1.1 2014-12-28 22:47:23 +01:00
Florian Bruhin
bb1a1b80aa Fix setting of QWebSettings with empty strings. 2014-12-28 22:44:40 +01:00
Florian Bruhin
b703028411 Clean up and temporarily disable alias completion.
Fixes #358.
2014-12-28 22:08:38 +01:00
Florian Bruhin
d1d6fb3dce Use Qt resources for the window icon. 2014-12-28 15:10:02 +01:00
Florian Bruhin
f1435ce51f Use a dirty hack to copy icon files into package.
See #325.
2014-12-28 14:50:25 +01:00
Florian Bruhin
2a4e884e1b Set window icon. Closes #325. 2014-12-28 14:35:28 +01:00
Florian Bruhin
ed253f23c6 Pass window id to DownloadItem. 2014-12-28 02:00:31 +01:00
Florian Bruhin
60cc70151c Merge branch 'prevent_downloading_existing_file' of https://github.com/oed/qutebrowser into oed-prevent_downloading_existing_file 2014-12-28 01:57:14 +01:00
Florian Bruhin
73d08cb60c Fix mode handling with multiple javascript prompts.
This fixes a regression introduced in 03ac8874ff.
2014-12-28 01:28:35 +01:00
Florian Bruhin
177707687c Display IPC errors to the user.
Fixes #337.
2014-12-28 01:28:35 +01:00
Florian Bruhin
89c7f3ecfe Re-focus web view when leaving prompt/yesno mode. 2014-12-28 00:41:50 +01:00
Florian Bruhin
03ac8874ff Rewrite keymode handling to use only one mode.
Fixes #417.
Fixes #418.
See 4ab5d2df28.
2014-12-28 00:01:27 +01:00
Florian Bruhin
be2c67aa19 Don't filter completion parts if there's only one.
This fixes a regression (completion not showing with :) introduced in
b1501a691d.
2014-12-27 22:50:28 +01:00
Joel Torstensson
6c6ae4e465 Refactored question logic. 2014-12-27 00:50:52 +01:00
Joel Torstensson
f0779f8cc0 User now asked if it wants to overwrite existing file.
Fix #318
2014-12-26 21:58:45 +01:00
Florian Bruhin
b1501a691d Ignore empty parts when calculating cursor part.
Fixes #389.
2014-12-26 16:57:08 +01:00
Florian Bruhin
d1e0de236d Handle :restart correctly with Python eggs.
Fixes #323.
2014-12-26 15:37:25 +01:00
Florian Bruhin
d029044787 Log full exception on restart errors. 2014-12-26 15:37:25 +01:00
Florian Bruhin
769bc65343 Fix name collision. 2014-12-26 15:09:27 +01:00
Florian Bruhin
bf4d6a5707 Handle an invalid cwd properly.
Fixes #370.
2014-12-26 15:07:18 +01:00
Florian Bruhin
dec6842370 Remove unnecessary if-branch in fuzzy_url.
The first branch already checks for `os.path.exists(path)`, so it doesn't make
sense for the second one to check that again (ANDed with some other condition).
2014-12-26 15:03:30 +01:00
Florian Bruhin
4ab5d2df28 Make it possible to enter a keymode twice.
If we don't allow this, we can get stuck e.g. when doing this:

- Press m to get a quickmark prompt.
- Click a javascript prompt button.
- Exit the javascript prompt.
- We have the quickmark prompt open but we're in normal mode.
2014-12-26 14:26:59 +01:00
Florian Bruhin
7c86693dd4 Disable report button in crash dialog on :report. 2014-12-26 13:03:47 +01:00
Florian Bruhin
0c6af7a5f3 Move debug log to bottom in crash dialog.
Closes #365.
2014-12-26 13:01:19 +01:00
Florian Bruhin
4a632f85e0 Add a warning for manual edits to the config.
Closes #373.
2014-12-26 12:49:38 +01:00
Florian Bruhin
0c5aed284b Fix popping of a dead question in prompter.
This happens when a question for a file path for an already cancelled download
gets popped.

Fixes #415.
2014-12-26 12:46:53 +01:00
Florian Bruhin
5d0dd5b11b Fix AttributeError on config changes on Ubuntu.
Fixes #390.
2014-12-26 12:25:42 +01:00
Florian Bruhin
bececc69c3 Save version to state config. 2014-12-22 23:47:43 +01:00
Florian Bruhin
017f143a5f Add a binary mode to utils.read_file.
This will be needed for #325.
2014-12-22 23:44:09 +01:00
Joel Torstensson
8746715bf0 Moved fullscreen method. 2014-12-22 22:56:52 +01:00
Joel Torstensson
19f75984e3 Implemented fullscreen mode. Fix #385 2014-12-22 21:57:46 +01:00
Florian Bruhin
4363db90c0 Don't treat things like "31c3" as IP address.
Fixes #388.
2014-12-22 18:38:45 +01:00
Florian Bruhin
b01041e455 Set zoom to default instead of 100% with :zoom/=. 2014-12-22 18:04:28 +01:00
Florian Bruhin
f50a19a488 Adjust page zoom if default zoom changed.
Fixes #393.
2014-12-22 18:01:32 +01:00
Florian Bruhin
3752733f15 Actually connect QWebView.on_config_changed slot. 2014-12-22 18:01:17 +01:00
Florian Bruhin
89e051ff51 Ignore clicks on failed downloads.
Fixes #396.
2014-12-22 17:36:02 +01:00
Florian Bruhin
57c8dff396 Handle category being None in Qt message handler.
Fixes #397.
2014-12-22 17:33:35 +01:00
Florian Bruhin
58c991145c Revert "Use scrollRequested signal instead of paintEvent."
It seems on some pages like Twitter or blog.fdik.org, the
QWebPage::scrollRequested signal never gets emitted, so we use this for now.

Fixes #400.
See https://bugreports.qt-project.org/browse/QTBUG-43521.

This reverts commit 03fb21c476.

Conflicts:
	qutebrowser/browser/webview.py
2014-12-22 17:20:43 +01:00
Florian Bruhin
2d1c12f69b Turn off flake8 for exception hook. 2014-12-21 18:11:35 +01:00
Florian Bruhin
877d814815 Clean up _get_window_registry. 2014-12-21 14:13:40 +01:00
Florian Bruhin
42890b8a7f Force tabs to be focused on :undo.
Closes #394.
2014-12-21 13:06:24 +01:00
Florian Bruhin
ef9ddb2d5f Encode Content-Disposition header name properly.
PyQt <= 5.3 accepted a Python string containing only latin1 chars as argument
for a QByteArray. This is deprecated in 5.4 and will be removed in 5.5 so we
should encode it by hand here.
2014-12-18 23:24:50 +01:00
Florian Bruhin
05e835684d Fix item sorting in NeighborList.
See #361.
2014-12-18 23:20:38 +01:00
Florian Bruhin
07957b105d Handle data being None in download read timer.
Fixes #307.
2014-12-18 23:09:33 +01:00
Florian Bruhin
5c15f56213 Stop download read timer when reply has finished.
See #307.
2014-12-18 23:08:19 +01:00
Florian Bruhin
29ce0a5157 Fix handling of small/big fuzzyval's in NeighborList.
This fixes an exception when having a really big or small zoom (e.g. 0) and
then using +/-.

Fixes #361.
2014-12-18 23:04:43 +01:00
Florian Bruhin
410d78cfa2 Add missing configexc.py file.
I forgot to add this in 512d7c4448b0610bc133d83d8280a94469841968...
2014-12-17 13:49:50 +01:00
Florian Bruhin
3cc1134e82 Fix AttributeError on HTTP/proxy authentications.
This is a regression introduced in cafb487ac9.

Fixes #355.
See #333.
2014-12-17 13:40:15 +01:00
Florian Bruhin
a714f0b70c config: Set self._initialized before validating.
With a setting with an interpolation this caused a ValueError because
validate_all called get before self._initialized was True.
2014-12-17 13:40:15 +01:00
Florian Bruhin
512d7c4448 Simplify config exception tree and handling.
Also make sure we catch all config-related errors in all related places.
Fixes #324.
2014-12-17 11:17:18 +01:00
Florian Bruhin
655ab31d48 Add a network -> proxy-dns-requests option.
Closes #330.
2014-12-16 23:27:55 +01:00
Florian Bruhin
cafb487ac9 Abort questions in NetworkManager on destroyed.
Hopefully fixes #333.
2014-12-16 17:22:01 +01:00
Florian Bruhin
676313e7ae Fix indent. 2014-12-16 15:09:47 +01:00
Florian Bruhin
05e6515aad Allow min-/maximizing of print preview on Windows.
Fixes #327.
2014-12-16 15:08:28 +01:00
Florian Bruhin
965a1256a3 Add "Remove finished" to the download context menu
Closes #344.
2014-12-16 14:30:47 +01:00
Florian Bruhin
ed013ac3cf Simplify generating of download context menu. 2014-12-16 14:10:25 +01:00
Florian Bruhin
e0271eff34 Open and remove clicked downloads.
Fixes #343.
2014-12-16 14:02:01 +01:00
Florian Bruhin
888a17b7c3 Fix height calculation of download view. 2014-12-16 13:53:54 +01:00
Florian Bruhin
b899d8b44d Always auto-remove adblock downloads when done.
Fixes #342.
2014-12-16 13:44:09 +01:00
Florian Bruhin
efd632ea73 Preserve arguments when re-splitting with aliases.
Fixes #339.
2014-12-15 23:06:42 +01:00
Florian Bruhin
512e51eeb4 Fix type annotation for :zoom. Fixes #332. 2014-12-15 22:59:45 +01:00
Florian Bruhin
0d9c7049b6 Clean up ConfigManager._from_cp. 2014-12-15 22:25:06 +01:00
Florian Bruhin
3c68506665 Fix sect/opt in config validation error message.
This is a regression introduced in 0c1420112c.
See #202.
2014-12-15 22:08:33 +01:00
Florian Bruhin
1d2016d3a5 Add some tests for config loading.
This would have prevented the issue in
e87b3fd568.
2014-12-15 22:06:11 +01:00
Florian Bruhin
d84c4fab84 Remove old comment. 2014-12-15 21:49:48 +01:00
Florian Bruhin
b7dcf34e67 Release v0.1 2014-12-14 20:46:32 +01:00
Florian Bruhin
e87b3fd568 Fix loading of renamed config sections. 2014-12-14 20:46:32 +01:00
Florian Bruhin
ba9bb0e418 Fix updating of scroll position with gg/G/etc. 2014-12-14 16:44:18 +01:00
Florian Bruhin
b7dc2e1bc6 Allow non-ASCII chars in keychains. Fixes #303. 2014-12-13 21:03:33 +01:00
Florian Bruhin
06ec1a3885 Big file tree reorganisation.
Closes #255.
Should make a lot more sense now ;)
2014-12-13 17:28:50 +01:00
Florian Bruhin
67001665a2 Cleanups in hint.py. 2014-12-13 00:30:35 +01:00
Johannes Altmanninger
d0bed460eb Hints: Use the src html attribute in addition to href in _resolve_url.
See issue #286
2014-12-12 18:40:12 +01:00
Johannes Altmanninger
582e3e57e9 Add hint target 'run' to execute a command based on a hint URL.
Fixes Issue #285.
The command is not preceded by a colon because there is no need to
distinguish between a search and a command.
2014-12-12 18:17:58 +01:00
Florian Bruhin
eceda53b3a Fix split tests. 2014-12-12 17:45:59 +01:00
Florian Bruhin
fc0428ef5f Fix ws stripping with simple_split and no flags.
Fixes #279.
2014-12-12 17:29:01 +01:00
Florian Bruhin
841e31283c hints: Store id() of destroyed frames.
Fixes #305. #152 should still be okay.
2014-12-12 01:38:13 +01:00
Florian Bruhin
decfd02033 Use a QNAM to pastebin from crash dialog.
Fixes #280.
2014-12-11 23:34:03 +01:00
Florian Bruhin
aefa637bc5 Check if command text is valid when hinting. 2014-12-11 22:16:56 +01:00
Florian Bruhin
cba120ac76 Fix starting without config. 2014-12-11 22:08:43 +01:00
Florian Bruhin
39cd36c8cd Don't use maxsplit=0 with :spawn. 2014-12-11 21:27:44 +01:00
Florian Bruhin
8bad7c0e4c Use maxsplit=1 for :repeat and :later. 2014-12-11 21:27:44 +01:00
Florian Bruhin
451df7bbf4 Handle flags with args correctly with split=False. 2014-12-11 21:17:43 +01:00
Florian Bruhin
3579caf1ff Make mode a kwarg-only argument for :bind. 2014-12-11 21:17:22 +01:00
Florian Bruhin
1d6661f90b Set maxsplit=0 for :set-cmd-text.
See #233.
2014-12-11 20:35:04 +01:00
Florian Bruhin
db4ca495f2 Use maxsplit=1 for :bind.
See #233.
2014-12-11 20:34:38 +01:00
Florian Bruhin
b7ea8e7979 Support a maxsplit argument for commands. 2014-12-11 20:32:52 +01:00
Florian Bruhin
81bc5dae94 Remove quotes with split=False commands.
Fixes #313.
2014-12-11 20:04:29 +01:00
Florian Bruhin
8c4c465c91 Fix completion update when the length is unchanged.
Fixes #312.
2014-12-11 18:37:22 +01:00
Florian Bruhin
4e6cedb1f7 Don't treat page load as failed with blocked hosts.
Fixes #315.
2014-12-11 18:05:01 +01:00
Florian Bruhin
5eeb89ec86 Add a :quickmark-del command. 2014-12-10 23:30:04 +01:00
Florian Bruhin
d0b5f2087a Fix un-hiding of hints. 2014-12-10 23:22:25 +01:00
Florian Bruhin
b00e00db37 Add a "retry" entry to the download menu.
Closes #38.
2014-12-10 21:56:57 +01:00
Florian Bruhin
9553bd44c1 Add an open menu entry to downloads.
See #39.
2014-12-10 20:48:19 +01:00
Florian Bruhin
0ecf8661eb Create inexistent paths in standardpath.get.
See #25.
2014-12-10 18:05:42 +01:00
Florian Bruhin
ec07e4f8be Handle OSError exceptions where appropriate.
Fixes #25.
2014-12-10 18:00:49 +01:00
Florian Bruhin
ea76bdfb0f Replace all IOError by OSErrors.
Starting with Python 3.3, IOError is just an alias for OSError.
2014-12-10 16:48:23 +01:00
Florian Bruhin
206b5f548e Fix checking for errors when a page is loaded.
Because of the error page, we got loadFinished with ok=True even with errors.

Fixes #84.
2014-12-10 16:38:24 +01:00
Florian Bruhin
06cc982ab5 Dynamically calculate needed size for command.
Closes #26.
2014-12-10 15:35:13 +01:00
Florian Bruhin
db2d4a6bed tabwidget: Add text padding in minimumTabSizeHint.
See #283.
2014-12-10 14:45:00 +01:00
Florian Bruhin
ef12bde654 tabwidget: Fix ...-width in minimumTabSizeHint.
See #283.
2014-12-10 14:44:28 +01:00
Florian Bruhin
92b9dc08f4 tabwidget: Clean up and fix minimumTabSizeHint.
See #283.

The width now accounts for the indicator, and the wrong docstring has been
removed.
2014-12-10 14:29:14 +01:00
Florian Bruhin
bac30b9192 Set a minimum height for the statusbar widget.
Fixes #194.
2014-12-10 14:15:34 +01:00
Florian Bruhin
b30ca6bcb6 Don't record command history in private mode.
Fixes #43.
2014-12-10 13:19:42 +01:00
Florian Bruhin
76c5c8bf8e cookies/cache: Handle por^H^Hrivate browsing mode.
See #43.
2014-12-10 13:12:53 +01:00
Florian Bruhin
0b82fdb4d8 Fix text/newline handling with QSaveFile.
Fixes #309.

We use io.TextIOWrapper which already handles newline converting, so we
shouldn't open the QSaveFile with QIODevice.Text in the mode, as this lead to
double-converting newlines, which in turn produced this error message on
Windows.
2014-12-10 10:58:55 +01:00
Florian Bruhin
7e95401f02 Check if download reply is None when closing tab.
Fixes #311.
2014-12-09 17:37:57 +01:00
Florian Bruhin
bf24578dfd Use QSaveFile for saving files. Fixes #234. 2014-12-08 23:42:26 +01:00
Florian Bruhin
d611a37d7d Fix statusbar with nested passthrough modes.
Fixes #87.
2014-12-08 20:18:55 +01:00
Florian Bruhin
1d7f704804 Fix comment typo. 2014-12-08 20:06:40 +01:00
Florian Bruhin
2b41c13e8b Fix lint 2014-12-08 18:52:20 +01:00
Florian Bruhin
0c1420112c Fix config interpolation with non-default values.
Fixes #202.
2014-12-08 18:50:53 +01:00
Florian Bruhin
175d01f516 config: Don't escape <eq> specially anymore. 2014-12-08 18:16:21 +01:00
Florian Bruhin
4ab4ac3db6 downloads: Make sure read timer is stopped.
Hopefully fixes #307.
2014-12-08 16:16:03 +01:00
Florian Bruhin
07fed5a401 Don't nest function calls in on_read_timer_timeout.
This would have made it easier to diagnose #307.
2014-12-08 16:07:50 +01:00
Florian Bruhin
edfc0e24b2 Abort running questions when closing tab.
Fixes #306.
2014-12-08 16:04:56 +01:00
Florian Bruhin
4829aee767 Add a --no-crash-dialog debug option. 2014-12-06 00:39:33 +01:00
Florian Bruhin
24d21bfe98 I suck. 2014-12-05 21:15:11 +01:00
Florian Bruhin
9946b4b0f6 Really disable that damn pylint check 2014-12-05 21:14:18 +01:00
Florian Bruhin
7aa01802d9 Whoops, s/ignore/disable/ 2014-12-05 21:08:15 +01:00
Florian Bruhin
c80f83671f pylint: ignore pypeg2 import error 2014-12-05 21:03:23 +01:00
Florian Bruhin
98a384c167 Properly ignore distutils-bug in qtutils. 2014-12-05 12:56:32 +01:00
Florian Bruhin
653fbe81d0 pylint: Ignore distutils ImportError.
See https://bitbucket.org/logilab/pylint/issue/73/
2014-12-05 12:46:57 +01:00
Florian Bruhin
1fb24e45ff Newline fix in adblock.py 2014-12-04 21:35:32 +01:00
Florian Bruhin
1af7112ea4 Handle ampersands in tab titles correctly.
Fixes #301.
2014-12-03 21:31:59 +01:00
Florian Bruhin
95d919b5f6 Force opening in fg when opening a JS-window.
Fixes #174.
2014-12-03 19:31:00 +01:00
Florian Bruhin
3adb97e4d2 Merge branch 'master' of ssh://tonks/qutebrowser 2014-12-02 21:28:54 +01:00
Florian Bruhin
03fb21c476 Use scrollRequested signal instead of paintEvent.
Closes #300.
2014-12-02 21:27:11 +01:00
Florian Bruhin
d94f848c82 Ignore isNullError while handling label elements.
Fixes #295 (hopefully for real this time!)
2014-12-02 21:27:06 +01:00
Florian Bruhin
99fb516aa3 Never disconnect signal from destroyed frames.
Fixes #152 - hopefully really this time!
2014-12-02 21:09:03 +01:00
Florian Bruhin
0814811e2b Change default startpage to HTTPS. 2014-12-02 16:38:57 +01:00
Florian Bruhin
66a42512c6 adblock: Convert some methods to functions. 2014-12-02 12:26:13 +01:00
Florian Bruhin
cd5f77210c Add keybinding Ss to open qute:settings.
See #13.
2014-12-01 23:11:18 +01:00
Florian Bruhin
c86b1d0508 Open qute:settings if :set is given without arguments. 2014-12-01 23:09:01 +01:00
Florian Bruhin
9fa036ecce Remove logging for #152.
This reverts a1ba05ff08.
2014-12-01 22:29:32 +01:00
Florian Bruhin
51fcfa07b0 Fix setting ui->default-zoom to a level not in ui->zoom-levels.
Fixes #296.
See #115.
2014-12-01 20:24:04 +01:00
Florian Bruhin
e8a6238028 Clean up hint labels and frames before clicking link.
Fixes #152.
Hopefully fixes #295.
2014-12-01 19:15:17 +01:00
Florian Bruhin
cb67198f7d Fix download redirections and :adblock-update.
We called init_reply again which started read_timer even if the file object was
already set.

Fixes #294.
2014-12-01 07:40:36 +01:00
Florian Bruhin
316d5ff189 Check if replies are open in downloads. 2014-12-01 07:35:57 +01:00
Florian Bruhin
f22c00c64d Move MAX_REDIRECTS attribute back to DownloadItem.
Fixes #293.
2014-12-01 06:55:15 +01:00
Florian Bruhin
fea35156bc Set parent of QNetworkReplies in NetworkManager.
Closes #258.
2014-11-30 22:38:12 +01:00
Florian Bruhin
64e43c6e14 Ignore IPC in exception handler. Closes #262. 2014-11-30 22:30:26 +01:00
Florian Bruhin
d558155620 Simplify some config types by using valid_values. 2014-11-30 22:16:55 +01:00
Florian Bruhin
1ceb8ac74d Add an ssl-strict=ask option. Closes #16. 2014-11-30 21:57:37 +01:00
Florian Bruhin
e3dfaa6a4b Send cwd over IPC. Fixes #254. 2014-11-30 19:22:35 +01:00
Florian Bruhin
9327c2a9ae Remove trailing spaces in simple_split with keep=False.
Fixes #279.
2014-11-30 18:59:51 +01:00
Florian Bruhin
9d28c59a28 Fix downloading of qute:log. Closes #81. 2014-11-30 18:47:41 +01:00
Florian Bruhin
d54f06ea91 Reparent a page's QNAM if there are running downloads.
Fixes #289.
2014-11-30 18:47:40 +01:00
Florian Bruhin
6d419b8346 Avoid starting downloads before we know the filename.
Closes #278.
2014-11-30 18:47:40 +01:00
Florian Bruhin
302fcec3ed Merge branch 'master' of ssh://tonks/qutebrowser 2014-11-30 17:30:27 +01:00
Florian Bruhin
25a665e601 Abort download question on errors. Fixes #266. 2014-11-30 15:34:15 +01:00
Florian Bruhin
a00dd7b679 Slowly download while the user is entering a filename.
Closes #79.
Closes #270.
2014-11-30 15:30:15 +01:00
Florian Bruhin
60ef39b4d0 fixup 2014-11-30 15:30:15 +01:00
Florian Bruhin
ee0cb00428 First download cleanup. 2014-11-30 15:30:14 +01:00
Florian Bruhin
d32096495d Apply default zoom correctly.
Fixes #287.
2014-11-28 17:01:29 +01:00
Mathias Fussenegger
aeb6ceb942 correct search engine regex to match multiple search terms 2014-11-27 22:59:43 +01:00
Florian Bruhin
f6dffa74b6 Fix lint 2014-11-27 22:27:13 +01:00
Florian Bruhin
9bd8d3f2e5 Merge branch 'search-engine-syntax' of https://github.com/mfussenegger/qutebrowser into mfussenegger-search-engine-syntax 2014-11-27 22:19:07 +01:00
Mathias Fussenegger
68398035ef change search engine syntax to match that of dwb
as pointed out in
https://github.com/The-Compiler/qutebrowser/issues/14 this
commit changes the syntax so that DuckDuckGo bang syntax
works.
2014-11-27 21:57:51 +01:00
Florian Bruhin
68b9aaace4 Add utils.raises. Closes #274. 2014-11-27 20:44:48 +01:00
Florian Bruhin
c87fa34544 Use a QTime in widgets.statusbar.bar. Fixes #124. 2014-11-27 20:09:58 +01:00
Florian Bruhin
cb1df68153 Automatic config migration for renamed sections/options. 2014-11-27 07:07:28 +01:00
Florian Bruhin
bdbe284a56 Fix tabbar updating when changing fg colors. 2014-11-26 21:21:02 +01:00
Florian Bruhin
d34aefcfee Another round of config breakage (sorry!).
- Rename colors->tab.* to colors->tabs.*
- Rename permission section to content.
2014-11-26 21:16:27 +01:00
Florian Bruhin
e8966ec7bb Remove some shlex vdebug. 2014-11-26 21:02:20 +01:00
Florian Bruhin
cbac8bb330 Fix lint 2014-11-25 23:24:52 +01:00
Florian Bruhin
7e879c9312 Don't add javascript-bridge only once.
Otherwise, qute:settings will break when reloading it.
2014-11-25 23:21:49 +01:00
Florian Bruhin
e85e11310d Merge branch 'master' of https://github.com/iggy/qutebrowser into iggy-master 2014-11-25 23:03:09 +01:00
Brian Jackson
9cfb4b3431 Fix problem with qutesettings scope in pages
Fix to make sure the js bridge code is only enabled when qute: pages are shown.
Previously it would only be available to the first page (and before that it
was available to all pages).
2014-11-25 14:29:20 -06:00
Florian Bruhin
010efcee93 Don't treat floats as IPs either. 2014-11-25 21:19:24 +01:00
Florian Bruhin
683a306c51 Fix @log_signals with deleted objects. 2014-11-25 19:51:53 +01:00
Brian Jackson
4fd4376c6a Pass around win_id so we can use it in the error message handler
The message class needs a win_id to know where to send error messages. Just
pass it through the jinja->js->qtwebbridge as it's just a simple int.
2014-11-25 11:19:00 -06:00
Brian Jackson
bf37d16896 View/edit browser config in a special browser page
Add the ability to view/edit the browser's config settings via a special
browser page.

It's very simplistic for now, but a good starting point.

Future possibilities:
* Matching config types to html input types
  * colors = html colorpicker
  * options with valid_values = select/multi-select
  * plain text fallbacks where appropriate
  * multi-line text edits for long options (i.e. host-block-lists)

* Javascript option verification
  * switch from submitting changes onblur to onchange if an option passes basic
    verification, etc.
2014-11-25 10:34:06 -06:00
Florian Bruhin
6973050ccc Don't treat any valid int as IP 2014-11-24 21:49:48 +01:00
Florian Bruhin
7be32dd70c Don't handle hexadecimal numbers as IP addresses.
Fixes #269.
2014-11-24 21:47:22 +01:00
Florian Bruhin
186f292586 Remove unused import 2014-11-24 21:07:03 +01:00
Florian Bruhin
0134646c67 Basic host blocker implementation.
Squashed commit of the following:

commit 8d38e9c2f13778fe21cc2c1d61c5d26907b469ef
Author: Florian Bruhin <git@the-compiler.org>
Date:   Mon Nov 24 21:04:30 2014 +0100

    Fix default adblock lists.

commit a734b87e753daec28fa0c6643af8de088041179a
Author: Florian Bruhin <git@the-compiler.org>
Date:   Mon Nov 24 21:04:14 2014 +0100

    Fix error output on adblock errors.

commit 15bc10f605ebb86c12523bb81b55d1440fcacdbf
Author: Florian Bruhin <git@the-compiler.org>
Date:   Mon Nov 24 07:38:47 2014 +0100

    Update adblock docks

commit 475d530ee50f52295c2171208c6a0278750cf4b4
Author: Florian Bruhin <git@the-compiler.org>
Date:   Mon Nov 24 07:38:39 2014 +0100

    Remove adblock ram calculation

commit 0e52cc3ec93912fd3fa3ecf6de833aef0c540a60
Author: Florian Bruhin <git@the-compiler.org>
Date:   Mon Nov 24 07:03:11 2014 +0100

    Adjust docs for hosts-file.

commit 941df242d38300d7e42a26f2e67cfd668c6f8590
Author: Florian Bruhin <git@the-compiler.org>
Date:   Mon Nov 24 06:55:40 2014 +0100

    Add logging for host blocking.

commit 4ca1561ccf32affb8439113f4f1c222d7dee1e14
Author: Florian Bruhin <git@the-compiler.org>
Date:   Mon Nov 24 00:11:59 2014 +0100

    Don't do adblock updates automatically after changing config.

commit 26d4e86ca393d4a1a5fd8fac7729ce9c2e7cd240
Author: Florian Bruhin <git@the-compiler.org>
Date:   Thu Nov 20 19:58:32 2014 +0100

    adblock: Don't delete blocked hosts between files.

commit c7af08c68adf3c135d5a2fc746eb6d3c715b0711
Author: Florian Bruhin <git@the-compiler.org>
Date:   Thu Nov 20 19:58:22 2014 +0100

    adblock: Add comments for rewinding.

commit 9af87313088cd79ab8c022bcee9308511d6328f0
Author: Florian Bruhin <git@the-compiler.org>
Date:   Thu Nov 20 19:56:39 2014 +0100

    adblock: Rewind files properly.

commit 7f3dadc04ba68c92d6789ecf5822f7b2dfc367a0
Author: Florian Bruhin <git@the-compiler.org>
Date:   Thu Nov 20 19:40:18 2014 +0100

    Add untested file support.

commit 334c01867d510b599d94c9397097a1d789c0c64c
Author: Florian Bruhin <git@the-compiler.org>
Date:   Wed Nov 19 22:33:25 2014 +0100

    adblock: Handle download errors correctly

commit 3a9af4cd4a903386dc323640f1d52e03383b3aa7
Author: Florian Bruhin <git@the-compiler.org>
Date:   Wed Nov 19 22:23:04 2014 +0100

    adblock: Add error handling for invalid input.

commit 5934c3c027ff9205adb512aab396ca913b31e50d
Author: Florian Bruhin <git@the-compiler.org>
Date:   Wed Nov 19 22:22:47 2014 +0100

    adblock: Handle done_count correctly.

commit 3ba5e83fda9b7d764bfcf1e4b1aa479daae39791
Author: Florian Bruhin <git@the-compiler.org>
Date:   Wed Nov 19 21:18:10 2014 +0100

    Read adblock files when they finished downloading.

commit 86a5ecf194445e2ebe0cf22b59e24223387880c5
Author: Florian Bruhin <git@the-compiler.org>
Date:   Wed Nov 19 20:51:25 2014 +0100

    Add hosts-file.net to host-block-lists.

commit 121f0bff953497449c32e45e671b71d954beed4c
Author: Florian Bruhin <git@the-compiler.org>
Date:   Wed Nov 19 20:51:13 2014 +0100

    Add zip-file support to adblock.py.

commit f1c0e67cb9d890a44a1d1f545ace997f0a453f91
Author: Florian Bruhin <git@the-compiler.org>
Date:   Mon Nov 17 07:41:14 2014 +0100

    print line counts for debugging

commit 75dbb8964fd44862abc378ef26fb47f8cda6061e
Author: Florian Bruhin <git@the-compiler.org>
Date:   Fri Nov 14 19:22:20 2014 +0100

    Use statusbar messages for adblock

commit 74d9142d831496e02c5baae72c2723e320af1778
Author: Florian Bruhin <git@the-compiler.org>
Date:   Fri Nov 14 08:34:46 2014 +0100

    Add basic adblock functionality.
2014-11-24 21:05:09 +01:00
Florian Bruhin
f7fbf98667 downloads: Rewind file objects correctly on redirects. 2014-11-24 21:04:48 +01:00