* major layout fixes (size, stacked widget, ...)
[kdenetwork.git] / kget / Changelog
blob45574e0f568997c617c233bf2287cea8db89c030
1 2007-02-21 Manolo Valdes <nolis71cu @ gmail.com>
2         * Add Metalink suport.
4 2006-09-02 Manolo Valdes <nolis71cu @ gmail.com>
5         * Add Multisegments kio based transfers.
7 2006-09-01 Urs Wolfer <uwolfer @ kde.org>
8         * Make DBUS really working.
10 2006-08-31 Urs Wolfer <uwolfer @ fwo.ch>
11         * Enable again FileDialog::getExistingDirectory. It is now fixed.
12         * YesNo messageboxes are bad for usability. Replace with YesNoCancel.
13         * Fix the messagebox order in the add download process (do not show the
14           same box twice).
16 2006-08-31 Dario Massarin <nekkar@libero.it>
17         * Add the TransfersViewDelegate and TransferTreeSelectionModel classes.
18         * The former will be used to redesign the TransfersView look & feel,
19           now it is used just to catch the mouse events.
20         * The latter was introduced to have more control over the
21           items that can be selected by the user. In this way it was possible
22           to inhibit the selection of group objects.
23         * Show the KMenu when the user right clicks on a selection of transfers.
25 2005-11-03 Urs Wolfer <uwolfer @ fwo.ch>
26         * Add option to show / hide menubar and toolbar (forwardport)
28 2005-10-10 Urs Wolfer <uwolfer @ fwo.ch>
29         * Icon updates: Remove a lot icons. Most icons are part of
30           kdelibs. cr22-{app-kget}/{mime-kget_list}.png  icons were 32x32.
31           Resized to 22x22. edit_add / edit_remove icons (used in sidebar)
32           aren't in kdelibs. Replaced with viewmag+/-. I know they are not
33           very suitable. But we have to do a lot of work on the sidebar.
34         * (Re-)implement "Copy URL to Clipboard" transfer action.
36 2005-10-07 Urs Wolfer <uwolfer @ fwo.ch>
37         * Work on configuration dialogs
38         * Make droptarget-sticky function working
39         * Start implementing expert-mode
40         * (Re-)implement clipboard-autopaste function
42 2005-10-06 Urs Wolfer <uwolfer @ fwo.ch>
43         * Make commandline option --showDropTarget working
45 2005-09-17 Urs Wolfer <uwolfer @ fwo.ch>
46         * Konqueror integration implementation.
47         Note: Konqueror freezes at download start if integration is enabled.
48         But I think it's more a Konqueror than a KGet problem. I hope I'll find a solution.
50 2005-09-10 Dario Massarin <nekkar@libero.it>
51         * Now a TransferHandler object is created always bt the TransferFactory.
52         This allows to easily reimplement the TransferHandler class, just by
53         creating your own class and returning it when the createTransferHandler()
54         function gets called.
55         * More work on the BTTransferHandler class.
56         * The transfer plugins can now provide its details widget that is 
57         displayed automatically at the bottom of the TransferDetails widget.
58         * Implementation of a first bittorrent details widget. 
59         * Note that the bittorrent plugin currently has some problems related 
60         to threads. It seems that Qt4 is quite different from Qt3 in these regards.
62 2005-09-08 Dario Massarin <nekkar@libero.it>
63         * Start to implement properly the detailsWidgets for each transfer.
64         Now we have a basic widget available with all the plugins and the 
65         next step is to add at the bottom of it another widget provided
66         by each plugin's factory with the createTransferDetails() function.
67         * Start to implement a BTTransferHandler class, reimplementation 
68         of the generic TransferHandler class.
70 2005-09-02 Urs Wolfer <uwolfer @ fwo.ch>
71         * *Replace the old droptarget icon with the nuvola one
73 2005-08-31 Urs Wolfer <uwolfer @ fwo.ch>
74         * Icons in smaller sizes (forwardport)
75         * Work on configuration dialogs. Not finished yet.
77 2005-08-23 Urs Wolfer <uwolfer @ fwo.ch>
78         * Better KGet mime icon (forwardport)
79         * Remove artifacts from images (forwardport)
80         * Add action to show / hide drop target
81         * Add some actions to maintoolbar (new download, show / hide drop target)
82         * Fix a problem with the configuration dialog (wasn't shown the first call)
83         * Remove some compiler warnings
85 2005-08-12 Dario Massarin <nekkar@libero.it>
86         * Make the configuration dialogs compile again, but we have to 
87         completely redesign them, since they usually refer to settings
88         that are not available anymore.
89         * Fix a problem in the scheduler introduced with the last commit.
91 2005-08-11 Dario Massarin <nekkar@libero.it>
92         * More work on the ViewsContainer class. Now we have 3 buttons:
93         "Downloads", "Finished" and "Transfer Details" one. The last one
94         is associated with a QMenu that lets you select which transfer to 
95         visualize.
96         * Fixed problem when stopping delayed transfers.
98 2005-08-06 Dario Massarin <nekkar@libero.it>
99         * Change the way we handle the Transfer actions
100         * Reoganize the gui, introducing a new ViewsContainer class.
102 2005-08-02 Dario Massarin <nekkar@libero.it>
103         Big commit:
104         * KGet ported to qt4. Here there are some issues that still need to be
105         resolved. For example I had to disable the bittorrent plugin becouse
106         currently I don't know how to make it compile again.
107         * Started implementing a new sidebar with qt3. Then I switched to qt4 and
108         realized I had to rewrite it, since I made use of the QListBox classes :-(
109         So I did. I used the QVBoxLayout class.
110         More to come..
112 2005-07-29 Dario Massarin <nekkar@libero.it>
113         Many changes:
114         * Implement two TransferGroup actions (start and stop) and a popupMenu()
115         function in the TransferGroupHandler function.
116         This means that now we can start the download of a group and all the
117         necessary scheduling operations are handled by the scheduler.
118         * Make it possible to have actions defined in the TransferGroupHandler
119         without having to make the handler a QObject. This was achieved by 
120         creating a QObject object on demand only if necessary. I'm planning
121         to do the same with the TransferHandler class (where this issue becomes 
122         even more critical, especially if the user has lots of transfers).
123         * Right clicking on a TransferGroup in the mainview shows a popup menu
124         populated with the available actions.
125         * Found a way to implement delays in the jobs. Since I don't want a Job to
126         be a QObject, I implemented the timers inside the Scheduler.
127         * When a download switches in the aborted status, delay it.
128         * Now if we move the transfers in a group, they are started or stopped
129         accordingly to their new position. Wow. This finally makes it possible for
130         us to decide in which order to download files!
131         * Implement the start and stop functions in the scheduler, which will
132         start and stop the download in all the available queues.
133         * Hide the m_statusText and m_statusPixmap members in the Transfer class.
134         A Transfer plugin now should call the Transfer::setStatus( ) function to 
135         set them.
136         * Fixed a couple of memory leaks
138 2005-04-25 Dario Massarin <nekkar@libero.it>
139         Lots of changes:
140         * Redesign of the TransferAction class.
141         * Now the selected transfers are handled in a perfect model/view style.
142         You can select a transfer by means of the TransferHandler. The selection
143         of a transfer triggers a TransferChangedEvent. The list of selected
144         transfers can be retrived from the model.
145         * With this code in place, I added, as a proof of concept, two actions
146         in the toolbar, that are executed only on the selected transfers.
147         * New default TransferAction: "open destination". I think it's very useful
148         * In the mainview the icon associated with each transfer now reflects
149         the mymetype of the file.
150         * Several changes in the Transfer and TransferGroup API
151         * Reorganization of the bittorrent plugin code. Now we check in the
152         Factory if the file is local, and only if this is true we create the
153         BTTransfer object. This allowed to remove lots of code.
154         * Now we can load and save the transfers when starting and closing kget.
155         It seems to work, but I didn't test this very much.
156         * Other things, that now I don't remember :-)
158 2005-04-17 Dario Massarin <nekkar@libero.it>
159         Lots of stuff:
160         * Much work on the Job, JobQueue, TransferGroup, TransferHandler classes
161         * Make it possible for each Transfer plugin to define its own actions,
162         or to simply extend the default ones that ship with the base Transfer
163         class.
164         * Add a new TransferAction class that is basically a KAction with the
165         possibility to attach Transfer objects. When the action is executed,
166         this applies to all the attached Transfers. In this way we can create
167         each action only once, saving lots of resources.
168         * Make the TransferFactory return a pointer to a KPopupMenu, filled with
169         the actions that belong to all the transfer of the given list of transfers.
170         * Start to implement the start() and stop() functions in TransferHandler
171         * Start to turn the JobQueue in a standalone class, that doesn't need
172         to be reimplemented (but that can be reimplemented, as the TransferGroup
173         class does).
174         * Start to implement the Scheduler class.
175         * Various fixes and cleanups.
177         The code now allows to start and stop a transfer from the view, only by means
178         of the popupmenu. I think now it should be possible to add the long
179         awaited bitTorrent plugin, at least for testing pourposes.
181 2005-03-26 Dario Massarin <nekkar@libero.it>
182         * Reorganization of the model class
183         * The new plugin structure starts working
185 2005-03-06 Dario Massarin <nekkar@libero.it>
186         The work on the new architecture has started.
188 2005-01-29 Dario Massarin <nekkar@libero.it>
189         * Make it possible in the mainview to move the transfer to a new group
190         using the popupmenu.
191         * group.{h,cpp}: big optimization: cache the groupChanged signals. In this 
192         way the GroupList object emits far less signals than before. If you have n
193         transfers, this can save up to 2*n-1 signal calls that are all packed in
194         a single signal.
195         * Cleaned up the code a bit.
197 2005-01-22 Dario Massarin <nekkar@libero.it>
198         * Ported the new sidebar to the QListBox class.
200 2005-01-15 Dario Massarin <nekkar@libero.it>
201         * Initial implementation of a new sidebar.
203 2005-01-14 Dario Massarin <nekkar@libero.it>
204         * Improve the progressbar look&feel
206 2005-01-14 Dario Massarin <nekkar@libero.it>
207         * Improve the mainview look&feel, especially in the way the groups
208         are painted. The priority column has been removed. The arrow indicators
209         showing the priority have been changed to display a kget icon, that gets
210         colorized with a color which depends on the priority level.
212 2005-01-14 Dario Massarin <nekkar@libero.it>
213         * Implement delay in the transfer class. We don't need this function
214         to be abstract virtual. Remove its partial implementation from the 
215         TransferKio class.
216         * Now the scheduler sets a small delay (5 seconds) when necessary
217         (with broken urls) to the transfers. This is enough to allow the
218         scheduler to skip them when downloading and to go on downloading the
219         non broken urls. Nice behaviour, IMHO.
221 2005-01-14 Dario Massarin <nekkar@libero.it>
222         * Correct stupid bug that caused wrong updates of the percent field 
223         in the group object.
225 2005-01-13 Dario Massarin <nekkar@libero.it>
226         * Reorganization of the directories. Some files have been renamed.
228 2004-11-05 Dario Massarin <nekkar@libero.it>
229         * Fixed nasty bug in transferKio.cpp which produced a crash every time
230         a download was aborted.
231         * Now also the scheduler is a TransferInterrogator. This means that 
232         I have removed the transferStatusChanged signal and now only the
233         transferChanged signal is emitted from the transfer object :-)
235 2004-11-05 Dario Massarin <nekkar@libero.it>
236         * New system tray icon effects. This has been realized looking at the 
237         amarok code. In the future, when other things will be in place, I will
238         surely paint an icon filled according to the current downloading progress.
240 2004-11-05 Dario Massarin <nekkar@libero.it>
241         * Delayed initialization. This should speed up the application startup
242         especially when the user has lots of transfers.
244 2004-11-05 Dario Massarin <nekkar@libero.it>
245         * Cleanups all over the code.
246         
247         * interrogator.h: Now we have this new file that defines the two classes
248         TransferInterrogator and GroupInterrogator. If a class wants to interrogate
249         a transfer or a group object it should reimplement them.
250         
251         * group.{h,cpp}: The progressed size, totalSize and percent properties are
252         not saved anymore to file. Now we update the group properties every time
253         we see that a transfer that belongs to the group has changed. Each group 
254         change is notified to all the views.        
255         
256         * mainview.cpp: fixed crash when executing actions on a group item.
258 2004-10-17 Dario Massarin <nekkar@libero.it>
259     
260         * transfer.{h,cpp}: New class TransferInterrogator that abstracts the
261         objects that can "interrogate" the Transfers using the function
262         changesFlags(TransferInterrogator *). In this way not only the views
263         can do it but also, for example, the GroupList objects.
265         * group.{h,cpp}: The Group class has been further developed to keep
266         global statistics on its transfers. There is still lots of work to do.
267         
268         * mainview.{h,cpp}: Tried to achieve a better look&feel. I'm not very
269         happy with the final result, yet.
271 2004-10-16 Dario Massarin <nekkar@libero.it>
272     
273         * Added license statements.
274         
275         * mainview.cpp: Some more work on the groups.
277 2004-10-10 Dario Massarin <nekkar@libero.it>
279         * group.{h,cpp}: This file introduces the Group and GroupList classes.
280         
281         * panels/groupspanel.{h,cpp}: This is the new "group panel". It's far
282         from complete, but at least we can add/remove groups, this gets notified
283         to all the views and saved to the "transfers.kgt" together with the
284         transfers
286 2004-10-04 Dario Massarin <nekkar@libero.it>
287         
288         * transfer.{h,cpp}: The transfer class has been completely rewritten. Now
289         it is possible to implement a new Transfer simply inheriting the Transfer
290         class and implementing the virtual methods.
291         There is also a new api that allows each view to ask the transfer which
292         particular field in the Info struct has changed since the last update. This
293         results in a big optimization becouse we can now avoid unnecessary repaints.
294         
295         * transferKio.{h,cpp}: This is the first implemented transfer. It's the 
296         simplest transfer one can implement since it uses a KIOSlave.
297         
298         * views/mainview.{h,cpp}: New view that should be the main one. It
299         reimplements the KListView class. The "special features" list contains
300         the introduction of some cool icons and a new progress bar.
301         
302 2004-10-05 Dario Massarin <nekkar@libero.it>
303         * transferlist.{h,cpp}: Api semplifications. In this moment there are some
304         new problems I have just discover and I will fix tomorrow.
305         
306         * transferlist.{h,cpp}, transfer.{h,cpp}: The way kget saves the transfers
307         into the transfers.kgt file has been completely rethinked. The code has been
308         rewritten from scratch and now it uses QDom. In this way each new transfer can,
309         if needed, save its own data that isn't already saved by the Transfer class.
310         
311         * some fixes..
312                 
313         
314         
315