Commit Graph

3318 Commits

Author SHA1 Message Date
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