Commit Graph

209 Commits

Author SHA1 Message Date
Florian Bruhin
2a95533564 Add some assertions for 'successful'. 2014-11-18 19:56:57 +01:00
Florian Bruhin
b1d6e70c8b Check URL validity in :download. 2014-11-18 19:49:55 +01:00
Florian Bruhin
41c3a59e81 Add a :download command. 2014-11-18 19:38:34 +01:00
Florian Bruhin
40918bfc98 Use _die on QNetworkReply errors. 2014-11-18 07:47:28 +01:00
Florian Bruhin
406f7b3b84 Don't try to set fileobject on errors. 2014-11-18 07:47:28 +01:00
Florian Bruhin
c6deae36b1 Fix setting of successful flag. 2014-11-18 07:47:28 +01:00
Florian Bruhin
829b8df535 downloads: Return the created DownloadItem. 2014-11-18 07:47:28 +01:00
Florian Bruhin
6301c740d1 downloads: Add a generic NetworkManager. 2014-11-18 07:47:28 +01:00
Florian Bruhin
c8a1c979e8 downloads: Whitespace change. 2014-11-18 07:47:28 +01:00
Florian Bruhin
d31e8edffc downloads: Document _win_id. 2014-11-18 07:47:28 +01:00
Florian Bruhin
da49424836 downloads: Make it possible to set fileobj instead of name. 2014-11-18 07:47:28 +01:00
Florian Bruhin
5ad516a438 DownloadItem: Make fileobj public. 2014-11-18 07:47:28 +01:00
Florian Bruhin
f250cd41ad DownloadItem: Add an autoclose attribute. 2014-11-18 07:47:28 +01:00
Florian Bruhin
ab0dba3344 DownloadItem: add successful attribute. 2014-11-18 07:47:28 +01:00
Florian Bruhin
b70c3754e8 downloads: Check if reply is open when doing delayed write.
This fixes a "QIODevice::read: device not open" warning when closing the window
while a download is active.
2014-11-11 21:40:25 +01:00
Florian Bruhin
b502280c06 Make download-manager a per-window object.
Fixes #228.
2014-11-11 21:36:47 +01:00
Florian Bruhin
9f242cb907 Fix lint 2014-10-20 00:33:52 +02:00
Florian Bruhin
7e820a0e82 Show error messages in downloads. 2014-10-15 21:22:53 +02:00
Florian Bruhin
b54151f206 Use last focused window for download errors and other stuff.
When the event happens, it's possible we don't have any window focused yet, so
we display it in the window which was last focused.

Fixes #191.
2014-10-15 20:42:40 +02:00
Florian Bruhin
0e771db7f1 Use annotation instead of special argument names.
Explicit is better than implicit.

Fixes #161.
2014-10-09 06:33:24 +02:00
Florian Bruhin
61a836fec5 Merge DownloadModel into DownloadManager. 2014-10-08 20:18:44 +02:00
Florian Bruhin
0e7a60abf6 Move utils.get_standard_dir to its own file.
This is a preparation for #19 and #20 because there are too many functions
related to standarddir in utils.
2014-10-08 06:20:31 +02:00
Florian Bruhin
15a2be877a Pass win_id correctly with invalid_url_error. 2014-10-06 22:22:59 +02:00
Florian Bruhin
08fdfebb50 Fix import of urlutils for url_invalid_error. 2014-10-06 22:15:26 +02:00
Florian Bruhin
105c25bc5f Merge branch 'multiwin'
Conflicts:
	qutebrowser/app.py
	qutebrowser/browser/commands.py
	qutebrowser/browser/hints.py
	qutebrowser/keyinput/modeman.py
	qutebrowser/network/networkmanager.py
	qutebrowser/widgets/mainwindow.py
	qutebrowser/widgets/statusbar/command.py
	qutebrowser/widgets/statusbar/prompt.py
	qutebrowser/widgets/statusbar/prompter.py
	qutebrowser/widgets/tabbedbrowser.py
2014-10-06 22:03:58 +02:00
Florian Bruhin
de37ed64ca Remove FIXME 2014-10-06 21:30:24 +02:00
Florian Bruhin
4dcaa1fdec Be more forgiving when validating URLs. Fixes #141. 2014-10-03 16:58:30 +02:00
Florian Bruhin
895f51083d Some more objreg fixes for multi-window. 2014-09-29 07:17:01 +02:00
Florian Bruhin
d87b0bf301 Fix pyqtSlot error for downloads. 2014-09-28 22:41:11 +02:00
Florian Bruhin
dc7b32e460 Fix lint 2014-09-28 22:23:37 +02:00
Florian Bruhin
fb6cb62f93 First attempt at multi-window support. 2014-09-28 22:13:14 +02:00
Florian Bruhin
36fd2e5c7f Improve __repr__ methods. 2014-09-26 15:48:24 +02:00
Florian Bruhin
62e55499eb Privatize all attributes which aren't needed from the outside. 2014-09-24 22:25:11 +02:00
Florian Bruhin
3f02451828 Move object registry to its own file. 2014-09-24 07:06:45 +02:00
Florian Bruhin
2b60cdb64c Object names cleanup 2014-09-23 23:05:55 +02:00
Florian Bruhin
07dde5be80 Fix downloading (getting messagebrige object). 2014-09-23 22:22:44 +02:00
Florian Bruhin
58be65f4f0 Use object registry for messagebridge. 2014-09-23 19:53:48 +02:00
Florian Bruhin
812a0fdd41 Merge branch 'newcmd'
Conflicts:
	.flake8
	pkg/PKGBUILD.qutebrowser-git
	qutebrowser/browser/commands.py
	qutebrowser/browser/hints.py
	qutebrowser/config/configdata.py
	qutebrowser/network/qutescheme.py
	qutebrowser/test/config/test_configtypes.py
	qutebrowser/utils/utils.py
2014-09-22 19:09:48 +02:00
Florian Bruhin
53b617590f Maybe fix segfault on download errors. 2014-09-22 17:56:23 +02:00
Florian Bruhin
38c341e3ea Add count info in commands. 2014-09-13 00:33:54 +02:00
Florian Bruhin
ccfc0b3c19 Get rid of most @property's.
They were problematic because they're executing hidden code, and also PyQt
hides exceptions happening inside them.
2014-09-02 23:37:47 +02:00
Florian Bruhin
6d97da7bcc browser.downloads: Download with default name if path is given. 2014-09-01 17:51:49 +02:00
Florian Bruhin
ce4a5affa4 Rename commands.utils to commands.cmdutils. 2014-08-26 20:48:39 +02:00
Florian Bruhin
c72bfff306 Rename commands.exceptions to commands.cmdexc. 2014-08-26 20:38:10 +02:00
Florian Bruhin
8bd64382bd Rename utils.qt to utils.qtutils. 2014-08-26 20:25:11 +02:00
Florian Bruhin
d9a8cbe7ad Rename utils.misc to utils.utils 2014-08-26 20:20:17 +02:00
Florian Bruhin
b4298c2922 Remove 'as logger' imports. 2014-08-26 20:15:41 +02:00
Florian Bruhin
e04b31eb90 Remove qt_ prefix from qtutils functions. 2014-08-26 19:23:06 +02:00
Florian Bruhin
d625cde28c Clean up imports 2014-08-26 19:10:14 +02:00
Florian Bruhin
9585b3c925 Add some logging for content-disposition 2014-08-14 14:59:13 +02:00
Florian Bruhin
be2604cacd Add a new qutebrowser.utils.http module 2014-08-12 07:00:04 +02:00
Florian Bruhin
c94ff7b946 Fix import for get_standard_dir 2014-08-05 19:58:47 +02:00
Florian Bruhin
11f1c8f369 Don't default all directories to DownloadPath if empty 2014-08-05 18:02:12 +02:00
Florian Bruhin
fad22c63d9 Go back to using one NetworkManager per tab 2014-07-10 06:42:52 +02:00
Florian Bruhin
400f619903 Handle user variables in path correctly 2014-06-28 01:15:31 +02:00
Florian Bruhin
1a73a90515 Fix downloading with relative filepaths 2014-06-27 18:30:20 +02:00
Florian Bruhin
b79cdbc416 Clean up Question objects correctly 2014-06-27 07:56:16 +02:00
Florian Bruhin
46d621629f Fix download/question crashes 2014-06-26 13:36:00 +02:00
Florian Bruhin
92ff957543 Clean up message API 2014-06-26 07:58:00 +02:00
Florian Bruhin
7073d14cb8 Handle absolute paths for downloads better 2014-06-25 22:06:16 +02:00
Florian Bruhin
c8cc92e8c2 Add basic HTML log 2014-06-25 10:00:27 +02:00
Florian Bruhin
9b4cc6ab76 Nicer downloads when size is unknown 2014-06-24 17:57:52 +02:00
Florian Bruhin
81990f792f Avoid using QApplication for downloads 2014-06-23 17:30:28 +02:00
Florian Bruhin
f12d243f03 Clean up import 2014-06-23 12:17:13 +02:00
Florian Bruhin
e4b10af41a Move filename checking to utils.misc 2014-06-23 12:15:10 +02:00
Florian Bruhin
a64775a0f9 Improve logging messages 2014-06-21 22:40:31 +02:00
Florian Bruhin
7a6e2b3242 Ensure validity of Qt objects 2014-06-21 17:02:30 +02:00
Florian Bruhin
113221c731 Log some exceptions 2014-06-20 23:26:19 +02:00
Florian Bruhin
0fd64419da Remove urlutils.{urlstring,qurl}.
The idea of treating an URL-string and a QUrl as essentially the same data type
got us into all kinds of problems. Now we use QUrl everywhere except at the
borders to the user interface.
2014-06-20 16:33:01 +02:00
Florian Bruhin
3c9b4369cd Don't crash on Content-Disposition with wrong enc.
When declaring UTF-8 but encoding RFC2231 ISO-8859-1, rfc2259 raises an
UnicodeDecodeError.

Test case: http://greenbytes.de/tech/tc2231/#attwithfn2231iso-bad
2014-06-19 23:14:20 +02:00
Florian Bruhin
7690e918a2 Handle early download errors correctly 2014-06-19 21:37:22 +02:00
Florian Bruhin
0dfdd422a2 Prevent double-deleting file in downloads 2014-06-19 21:27:57 +02:00
Florian Bruhin
2fd475b1a4 Fix downloading without content-disposition 2014-06-19 21:09:33 +02:00
Florian Bruhin
6ce5afccbe Use rfc6266 to handle Content-Disposition in downloads 2014-06-19 21:06:19 +02:00
Florian Bruhin
6b12572fb0 Add dwb download keybindings. 2014-06-19 17:58:46 +02:00
Florian Bruhin
d65587128f Add vim modelines to all files. 2014-06-19 09:04:37 +02:00
Florian Bruhin
b25b3c3786 Remove accidentally commited set_trace 2014-06-19 07:52:32 +02:00
Florian Bruhin
6e59b0ab3a Parse Content-Disposition header properly 2014-06-18 22:52:49 +02:00
Florian Bruhin
2388874e82 Delete question if download as cancelled 2014-06-17 11:26:45 +02:00
Florian Bruhin
52bbabd91a Clean up downloads properly 2014-06-17 11:06:59 +02:00
Florian Bruhin
1fef2d02b9 Add an :all-objects command and __repr__s 2014-06-17 11:03:42 +02:00
Florian Bruhin
af9e4ae072 Fix parent/child relationships 2014-06-17 07:17:21 +02:00
Florian Bruhin
177e2945b6 Use currying instead of self.sender() where applicable 2014-06-16 22:49:22 +02:00
Florian Bruhin
9b42617c76 Fix lint 2014-06-13 23:09:24 +02:00
Florian Bruhin
5d6cb0e45d Clean up download value calculations 2014-06-13 22:51:16 +02:00
Florian Bruhin
85ee71b739 Add a rolling average of dl speed for time estimation 2014-06-13 21:53:06 +02:00
Florian Bruhin
d80c05b0b1 Decrease download speed refresh interval 2014-06-13 21:43:04 +02:00
Florian Bruhin
47c1908da2 Keep a reference to download path Question objects. 2014-06-13 20:18:16 +02:00
Florian Bruhin
fce591839b Abort filename prompt when download is cancelled. 2014-06-13 18:19:18 +02:00
Florian Bruhin
3e5e8e59c1 Add right-click menu to cancel download 2014-06-13 12:19:30 +02:00
Florian Bruhin
cd7d6b87f9 Format donwload string so it jumps less 2014-06-13 07:49:47 +02:00
Florian Bruhin
4dc33102b7 Cleanup 2014-06-13 07:41:51 +02:00
Florian Bruhin
efd83f40ca Print human readable sizes in downloads 2014-06-13 07:13:47 +02:00
Florian Bruhin
8c673ee66c Add basic download info to view 2014-06-12 23:29:34 +02:00
Florian Bruhin
2ffc9bb00a Add colors to DownloadView 2014-06-12 21:43:30 +02:00
Florian Bruhin
3c2c08f73a Add missing docstrings 2014-06-12 17:56:28 +02:00
Florian Bruhin
ad7856569f Handle download errors and handle everything async 2014-06-12 17:50:09 +02:00
Florian Bruhin
db55865449 Add data_changed signal to downloadmanager. 2014-06-12 10:19:16 +02:00
Florian Bruhin
905eb9056d Fix speed calculation if downloadProgress hasn't been called yet. 2014-06-12 10:18:25 +02:00
Florian Bruhin
22a0639825 Connect readyRead signal properly 2014-06-12 10:18:02 +02:00
Florian Bruhin
a0d4429a32 Log download errors 2014-06-12 10:17:49 +02:00
Florian Bruhin
2114f0cd73 Start adding download model/view 2014-06-12 08:02:44 +02:00
Florian Bruhin
ace59e6f01 Fix speed calculation and do it more often 2014-06-11 22:40:28 +02:00
Florian Bruhin
35d35d31da Add some logging 2014-06-11 22:35:02 +02:00
Florian Bruhin
788302890f Add signals to DownloadItem 2014-06-11 22:33:40 +02:00
Florian Bruhin
c61289cedc Fix lint 2014-06-11 21:58:06 +02:00
Florian Bruhin
96891f6241 First working download draft 2014-06-11 21:55:23 +02:00
Florian Bruhin
80e2259df3 Add DownloadItem class 2014-06-11 17:27:39 +02:00
Florian Bruhin
7dd5b1b94e First debugging implementation of downloads 2014-06-10 22:11:17 +02:00