------------------------------------------------------------
revno: 374
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4
timestamp: Fri 2008-02-29 12:45:16 +0100
message:
Really merge from the playlist branch (hiccup with `replay` above).
------------------------------------------------------------
revno: 359.1.1
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-01-30 11:35:01 +0100
message:
Start rewriting the playlist with the Model/View framework.
We can't use a stock search line because of this. :-(
------------------------------------------------------------
revno: 359.1.2
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-01-30 11:38:26 +0100
message:
Drop acceptDrag(), superceded by mimeTypes().
------------------------------------------------------------
revno: 359.1.3
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-01-30 12:07:27 +0100
message:
Merge from minirok.kde4.
------------------------------------------------------------
revno: 359.1.4
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-01-30 12:51:03 +0100
message:
Create a QUndoStack, and associated actions, placing them in the toolbar.
------------------------------------------------------------
revno: 359.1.5
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-01-30 13:28:26 +0100
message:
Add explanatory comment.
------------------------------------------------------------
revno: 359.1.6
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-01-30 18:49:17 +0100
message:
Initial support for adding items to the playlist, with undo/redo support!
There are two functions, insert_items() and remove_items(), that are in
charge of modifying self._items, call the appropriate model functions,
and general housekeeping. Nothing else should ever touch self._items, I
think.
Then there are two sublclasses of QUndoCommand, InsertItemsCmd and
RemoveItemsCmd, which should be used whenever there are modifications to
make to the playlist. They use the two methods mentioned above, and
nothing else should ever call these methods, I think.
------------------------------------------------------------
revno: 359.1.7
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-01-30 19:11:47 +0100
message:
Port the "append if Control is pressed" behavior.
Drop superseded slot_accept_drop().
------------------------------------------------------------
revno: 359.1.8
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Sat 2008-02-02 15:11:06 +0100
message:
Use a custom QMimeData() for internal playlist drag & dropping.
------------------------------------------------------------
revno: 359.1.9
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: removecmd_non_contiguous
timestamp: Sat 2008-02-02 15:12:07 +0100
message:
Make RemoveItemsCmd able to remove a non-contiguous list of items.
------------------------------------------------------------
revno: 359.1.10
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: removecmd_non_contiguous
timestamp: Sat 2008-02-02 16:40:25 +0100
message:
Add a function to retrieve a simple list of itmes the command removed.
------------------------------------------------------------
revno: 359.1.11
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Sat 2008-02-02 16:43:31 +0100
message:
Implement internal drop, based on the previous 3 commits.
------------------------------------------------------------
revno: 359.1.12
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Sat 2008-02-02 18:09:44 +0100
message:
Preserve the selection after internal drop.
------------------------------------------------------------
revno: 359.1.13
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Sun 2008-02-03 12:28:15 +0100
message:
Add a KDE4 TODO marker to every function that still needs porting.
------------------------------------------------------------
revno: 359.1.14
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-04 11:46:38 +0100
message:
Use a dummy apply_preferences().
------------------------------------------------------------
revno: 359.1.15
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-04 12:10:29 +0100
message:
Do nothing if requested to insert/remove empty lists.
------------------------------------------------------------
revno: 359.1.16
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-04 12:21:11 +0100
message:
Fix add_files_untrusted().
For this, merge the logic in drag.mimedata_playable_files() and the
nested _can_play_with_warning() function into util.playable_from_untrusted().
------------------------------------------------------------
revno: 359.1.17
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-04 12:48:33 +0100
message:
Start making PlaylistItem a bit useful.
------------------------------------------------------------
revno: 359.1.18
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-04 17:09:41 +0100
message:
Only call fmt_seconds() if we have a length.
------------------------------------------------------------
revno: 359.1.19
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-04 17:10:43 +0100
message:
Improve PlaylistItem, allowing to fetch tags by index.
ALLOWED_TAGS is now a dict, but mostly everywhere works the same.
------------------------------------------------------------
revno: 359.1.20
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-04 17:12:05 +0100
message:
No changes needed for tags_from_filename().
------------------------------------------------------------
revno: 359.1.21
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-04 17:15:39 +0100
message:
Start adding PlaylistItems to the playlist instead of strings.
Use inconditionally a TagReader for now. Move the position/row logic
from dropMimeData() to add_files(). Add a dummy create_item().
------------------------------------------------------------
revno: 359.1.22
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-04 17:18:37 +0100
message:
Oops.
------------------------------------------------------------
revno: 359.1.23
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-04 18:21:56 +0100
message:
Implement headerData().
------------------------------------------------------------
revno: 359.1.24
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-04 18:37:11 +0100
message:
Import QtCore.Qt directly into our namespace, thank you very much.
------------------------------------------------------------
revno: 359.1.25
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-04 18:44:48 +0100
message:
Set "all columns show focus", now that we have columns.
------------------------------------------------------------
revno: 359.1.26
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-04 19:00:39 +0100
message:
Make Columns a QHeaderView, and port exec_popup().
------------------------------------------------------------
revno: 359.1.27
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Tue 2008-02-05 10:51:50 +0100
message:
Remove unneeded blah.
------------------------------------------------------------
revno: 359.1.28
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Tue 2008-02-05 12:34:34 +0100
message:
Er, go back to ALLOWED_TAGS being a list.
------------------------------------------------------------
revno: 359.1.29
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Tue 2008-02-05 12:47:44 +0100
message:
Rewrite the configuration handling of Columns.
Now a single option is used, that contains all the necessary information.
Note that the setup has to move out from __init__, else it does not work
(probably because it's not associated to a view yet). Since KConfig
crashes at the moment with PyKDE, use a fake stub config object.
Also, drop minirokrc now (defaults are in the code now, but they could
still be overriden with a system-wide configuration file AFAIK).
------------------------------------------------------------
revno: 359.1.30
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Tue 2008-02-05 13:04:19 +0100
message:
Rewrite Columns.slot_save_config().
------------------------------------------------------------
revno: 359.1.31
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Tue 2008-02-05 13:08:23 +0100
message:
Move down.
------------------------------------------------------------
revno: 359.1.32
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-06 12:22:54 +0100
message:
Move the view class below the model.
------------------------------------------------------------
revno: 359.1.33
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-06 12:24:14 +0100
message:
Fix keyPressEvent(), now moved to the view.
------------------------------------------------------------
revno: 359.1.34
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-06 12:38:30 +0100
message:
Emit "list_changed" from the very deep insert/remove_items.
------------------------------------------------------------
revno: 359.1.35
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-06 13:09:10 +0100
message:
Fix stupid stupid bug in playable_from_untrusted().
------------------------------------------------------------
revno: 359.1.36
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-06 13:11:38 +0100
message:
Fix slot_save_config() and friends.
------------------------------------------------------------
revno: 359.1.37
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-06 13:34:42 +0100
message:
Do not let the loading of the saved playlist be undoable.
------------------------------------------------------------
revno: 359.1.38
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-06 14:08:31 +0100
message:
Finish with the playlist's __init__.
------------------------------------------------------------
revno: 359.1.39
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-06 15:50:10 +0100
message:
The clicked() signal does not cut it, use mousePressEvent() instead.
(Basically, when the slot gets called it is too late to find out via
QApplication.mouseButtons() which button was clicked.)
Also, clear the selection if the click is not over an item, and drop
superseded eventFilter() from the old playlist.
------------------------------------------------------------
revno: 359.1.40
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-06 16:02:55 +0100
message:
Add item about recent bug.
------------------------------------------------------------
revno: 359.1.41
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-06 16:30:05 +0100
message:
Do not eat Ctrl+LeftButton.
------------------------------------------------------------
revno: 359.1.42
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-06 16:31:20 +0100
message:
Add helper selected/unselected_rows() methods.
------------------------------------------------------------
revno: 359.1.43
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-06 16:45:54 +0100
message:
Be lazy and give a default parameter value to rowCount().
------------------------------------------------------------
revno: 359.1.44
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-06 16:46:33 +0100
message:
Merge from minirok.kde4.
------------------------------------------------------------
revno: 359.1.45
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-06 16:48:02 +0100
message:
Fix slot_append_visible().
------------------------------------------------------------
revno: 359.1.46
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-06 18:39:17 +0100
message:
Port the contextual menu on right button click.
The menu moves from the old playlist to the playlist view, in
mousePressEvent.
Drop select_* methods from the old class that are no longer used.
------------------------------------------------------------
revno: 359.1.47
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-06 20:26:12 +0100
message:
Merge trunk.
------------------------------------------------------------
revno: 296.1.15
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.dev
timestamp: Sat 2008-02-02 12:24:59 +0100
message:
Open 0.9.
------------------------------------------------------------
revno: 296.1.16
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.dev
timestamp: Wed 2008-02-06 20:24:15 +0100
message:
Use a black drawRect() instead of black_tiny_stop.png.
------------------------------------------------------------
revno: 359.1.48
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-06 23:03:52 +0100
message:
Port PlaylistItem.paintCell() to an item delegate for the Track column.
------------------------------------------------------------
revno: 359.1.49
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-06 23:04:48 +0100
message:
Delete an extra pixel here.
------------------------------------------------------------
revno: 359.1.50
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Thu 2008-02-07 13:21:08 +0100
message:
Oops, only pack in the mime data each row once, not once per column.
------------------------------------------------------------
revno: 359.1.51
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Thu 2008-02-07 13:23:42 +0100
message:
Set the selection behavior, though SelectRows seems to be the default already.
------------------------------------------------------------
revno: 359.1.52
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Thu 2008-02-07 18:06:04 +0100
message:
Drop unused import.
------------------------------------------------------------
revno: 359.1.53
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Thu 2008-02-07 19:10:04 +0100
message:
Another pixel.
------------------------------------------------------------
revno: 359.1.54
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Thu 2008-02-07 19:47:31 +0100
message:
Fix toggle_stop_after() and family.
------------------------------------------------------------
revno: 359.1.55
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Thu 2008-02-07 20:38:35 +0100
message:
Fix stupid bug in remove_items().
------------------------------------------------------------
revno: 359.1.56
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Thu 2008-02-07 20:42:04 +0100
message:
Fix slot_list_changed() and slot_engine_status_changed().
------------------------------------------------------------
revno: 359.1.57
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Thu 2008-02-07 20:46:41 +0100
message:
Further "stop after" fixes.
------------------------------------------------------------
revno: 359.1.58
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-08 12:01:52 +0100
message:
Keep a mapping item => row, to improve performance.
(I think we'll use object-based look up a lot, but this may be premature
optimization?)
------------------------------------------------------------
revno: 359.1.59
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-08 12:16:12 +0100
message:
Keep FIRST_ITEM in slot_list_changed(), current_item is not an index.
------------------------------------------------------------
revno: 359.1.60
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-08 12:32:10 +0100
message:
Implement RandomOrderedList.extend().
------------------------------------------------------------
revno: 359.1.61
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-08 12:32:50 +0100
message:
Fix my_first_child() and maybe_populate_random_queue().
For the latter, and now that we have a direct list of items, use the new
RandomOrderedList.extend(), which means a huge performance boost.
------------------------------------------------------------
revno: 359.1.62
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-08 12:47:28 +0100
message:
Allow for row2 to be None.
------------------------------------------------------------
revno: 359.1.63
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-08 12:58:16 +0100
message:
Fix slot_play(), and some neighbours that needed no changes.
------------------------------------------------------------
revno: 359.1.64
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-08 13:16:56 +0100
message:
Use a different temp implementation.
------------------------------------------------------------
revno: 359.1.65
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-08 13:18:25 +0100
message:
Temporarily disable these setters for playing to somewhat work.
------------------------------------------------------------
revno: 359.1.66
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-08 14:00:00 +0100
message:
Also emit list_changed.
------------------------------------------------------------
revno: 359.1.67
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-08 14:00:05 +0100
message:
Fix slot_next() and slot_previous().
------------------------------------------------------------
revno: 359.1.68
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 11:05:04 +0100
message:
Prefix these methods with "row_".
------------------------------------------------------------
revno: 359.1.69
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 11:05:18 +0100
message:
Use "is" instead of "==".
------------------------------------------------------------
revno: 359.1.70
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 12:18:54 +0100
message:
Remove unneeded sort().
------------------------------------------------------------
revno: 359.1.71
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 12:25:08 +0100
message:
Draw indicator around the current item.
------------------------------------------------------------
revno: 359.1.72
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 12:40:45 +0100
message:
Merge add_file() into create_item().
------------------------------------------------------------
revno: 359.1.73
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 12:53:44 +0100
message:
Note that these need porting.
------------------------------------------------------------
revno: 359.1.74
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 12:54:20 +0100
message:
Remove now fixed TODO item.
------------------------------------------------------------
revno: 359.1.75
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 12:55:10 +0100
message:
Add TODO item.
------------------------------------------------------------
revno: 359.1.76
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 12:58:43 +0100
message:
Fix TagReader, making it directly a ThreadedWorker.
Now the updating of items is done in the model, which makes more sense.
------------------------------------------------------------
revno: 359.1.77
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 13:01:47 +0100
message:
Finish fixing _set_current_item().
------------------------------------------------------------
revno: 359.1.78
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 13:11:40 +0100
message:
Drop superceded code in paintCell().
------------------------------------------------------------
revno: 359.1.79
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 13:38:31 +0100
message:
Fix slot_toggle_stop_after_current().
------------------------------------------------------------
revno: 359.1.80
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 13:49:48 +0100
message:
Fix StopAction, yay.
------------------------------------------------------------
revno: 359.1.81
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 17:44:54 +0100
message:
Do not make Playlist.currently_playing a dict via a property.
Let it be a normal item, as with current_item, and provide a
get_current_tags() method instead.
Move everybody to use this new method.
------------------------------------------------------------
revno: 359.1.82
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 17:51:28 +0100
message:
Fix _set_currently_playing().
------------------------------------------------------------
revno: 359.1.83
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 17:52:06 +0100
message:
Paint the currently playing item in italics (ported).
------------------------------------------------------------
revno: 359.1.84
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 18:04:06 +0100
message:
Heh, remove unneeded walk to the action collection.
------------------------------------------------------------
revno: 359.1.85
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 18:05:59 +0100
message:
Port MidButton click on currently playing item.
------------------------------------------------------------
revno: 359.1.86
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 18:08:23 +0100
message:
Oops, this is an elif: no further action for non-valid indexes.
------------------------------------------------------------
revno: 359.1.87
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 18:28:50 +0100
message:
Only emit dataChanged() if there are modified rows.
------------------------------------------------------------
revno: 359.1.88
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 18:50:47 +0100
message:
Fix toggle_enqueued() and queue_pop(), plus friends.
------------------------------------------------------------
revno: 359.1.89
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 18:51:14 +0100
message:
FIRST_ITEM stays, so remove XXX comment.
------------------------------------------------------------
revno: 359.1.90
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 18:52:16 +0100
message:
Drop more unneeded XXX-KDE4 markers.
------------------------------------------------------------
revno: 359.1.91
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 19:07:17 +0100
message:
Drop unneeded methods from PlaylistItem.
------------------------------------------------------------
revno: 359.1.92
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 19:12:16 +0100
message:
Fix slot_activate_index().
------------------------------------------------------------
revno: 359.1.93
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 19:13:40 +0100
message:
One pixel less here seems to completely hide the focus indicator.
------------------------------------------------------------
revno: 359.1.94
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 19:23:34 +0100
message:
Do not eat exceptions here.
------------------------------------------------------------
revno: 359.1.95
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 19:30:53 +0100
message:
Cope with possible race condition.
------------------------------------------------------------
revno: 359.1.96
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-11 19:42:25 +0100
message:
Update the undo stuff.
------------------------------------------------------------
revno: 359.1.97
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Tue 2008-02-12 13:40:36 +0100
message:
Do not add items to random_queue on creation, but on insertion.
This makes more sense, and is going to be useful after the next commits,
in which we'll pop items from random_queue in remove_items() [think undo].
Also, keep a flag to show whether an item has already been played (i.e.,
popped from random_queue), in order to only re-add those that weren't.
------------------------------------------------------------
revno: 359.1.98
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Tue 2008-02-12 13:45:30 +0100
message:
Correctness: only update tags if the item is not deleted.
------------------------------------------------------------
revno: 359.1.99
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Tue 2008-02-12 14:21:21 +0100
message:
Port the remove_items() housekeeping.
------------------------------------------------------------
revno: 359.1.100
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Tue 2008-02-12 14:30:57 +0100
message:
Do not enqueue in the TagReader on item creation, but on insertion.
Again, this makes more sense, bla bla, is more efficient (the previous
time was *much* more efficient as well), and allows to re-queueing items
in the TagReader if necessary when undoing a removal.
------------------------------------------------------------
revno: 359.1.101
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Tue 2008-02-12 14:37:43 +0100
message:
Merge from minirok.kde4.
------------------------------------------------------------
revno: 359.1.102
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Tue 2008-02-12 14:40:44 +0100
message:
Use generators instead of list comprehensions.
------------------------------------------------------------
revno: 359.1.103
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Tue 2008-02-12 19:10:00 +0100
message:
Better comment.
------------------------------------------------------------
revno: 359.1.104
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Tue 2008-02-12 20:25:08 +0100
message:
Restore the queue position when undoing a removal.
------------------------------------------------------------
revno: 359.1.105
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-13 13:22:26 +0100
message:
Use min/max instead of sorting.
------------------------------------------------------------
revno: 359.1.106
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-13 18:54:36 +0100
message:
Add notes and comment about dataChange() abuse.
------------------------------------------------------------
revno: 359.1.107
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-13 18:58:10 +0100
message:
Since we're abusing dataChanged() anyway, abuse it efficiently.
------------------------------------------------------------
revno: 359.1.108
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-13 19:50:33 +0100
message:
Rename methods to make explicit they receive rows and not items.
------------------------------------------------------------
revno: 359.1.109
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-13 20:43:51 +0100
message:
Abstract the dataChanged() abuse into a signal.
For now the model conects to it and emits the appropriate dataChanged(),
but hopefully some day we'll found how the view could do it itself.
------------------------------------------------------------
revno: 359.1.110
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-15 12:56:48 +0100
message:
Merge from minirok.kde4.
------------------------------------------------------------
revno: 359.1.111
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-15 13:14:02 +0100
message:
Use KConfig in Columns.
------------------------------------------------------------
revno: 359.1.112
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-15 13:25:23 +0100
message:
Cope with sectionSize() returning 0 for hidden sections.
------------------------------------------------------------
revno: 359.1.113
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-15 19:51:11 +0100
message:
Revamp the queue handling, making it way more efficient.
Changes:
* Introduce a toggle_enqueued_many() function that takes a list of
items, and toggles their enqueued state. When dequeueing, it also
updates the queue_position attribute of items that were later in the
queue (I think that wasn't been done in the previous version).
Move insert_items() and remove_items() to use this new function, and
make queue_pop() a convenience wrapper around it.
* Make toggle_enqueued_row() just a wrapper around the above function,
and introduce a toggle_enqueued_many_rows() to be used from the
view's mousePressEvent().
------------------------------------------------------------
revno: 359.1.114
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-15 20:31:33 +0100
message:
Sort before enqueueing.
------------------------------------------------------------
revno: 359.1.115
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Sat 2008-02-16 12:36:46 +0100
message:
Fix the pending bug in toggle_enqueued_many(), and make it faster.
We now pop() items based on their queue_position directly, instead of
searching for them in the queue.
The recalculation of queue_position for the rest of items is now fixed,
based on contiguous chunks of removed items.
------------------------------------------------------------
revno: 359.1.116
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Sat 2008-02-16 13:01:49 +0100
message:
Rewrite row_queue_position() to use the queue_position attribute (faster).
This very much hopes that queue_position is always right. *crossesfingers*
------------------------------------------------------------
revno: 359.1.117
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Sat 2008-02-16 13:39:58 +0100
message:
User iteritems().
------------------------------------------------------------
revno: 359.1.118
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Sat 2008-02-16 17:14:47 +0100
message:
Move the handling of the queue on item re-insertion to RemoveItemsCmd.
This is necessary because the previous state of the queue can only be
meaningfully restored if we are restoring all the removed items in the
same go (otherwise the sorted indexes may not be valid), but insert_items
is used in batches on contiguous rows, so it does not work.
There is one case in which having RemoveItemsCmd remove items from the
queue is not wanted: when doing internal drag and drop, items are removed
with RemoveItemsCmd, but are re-inserted with InsertItemsCmd, which does
not touch the queue at all (and would not have access to the old queue
indexes anyway).
For this, rename the previous RemoveItemsCmd to RemoveItemsCmdNoQueue,
and derive from that a new RemoveItemsCmd that adds the logic to handle
the queue, and make dropMimeData() use RemoveItemsCmdNoQueue.
Finally, all this allows us to get rid of the keep_queue_position_attr
hack in toggle_enqueued_many().
------------------------------------------------------------
revno: 359.1.119
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Mon 2008-02-18 20:23:10 +0100
message:
Hah! Remove unused "rows" list everywhere.
------------------------------------------------------------
revno: 359.1.120
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Tue 2008-02-19 12:24:55 +0100
message:
D'oh, _itemdict much better implemented as an attribute of items.
------------------------------------------------------------
revno: 359.1.121
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Tue 2008-02-19 12:43:08 +0100
message:
Split toggle_stop_after_row() to wrapper plus toggle_stop_after().
------------------------------------------------------------
revno: 359.1.122
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Tue 2008-02-19 14:12:40 +0100
message:
gobject.threads_init() still needed for gtk signals to work.
------------------------------------------------------------
revno: 359.1.123
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Tue 2008-02-19 14:12:56 +0100
message:
slot_engine_end_of_stream() works unmodified.
------------------------------------------------------------
revno: 359.1.124
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Thu 2008-02-21 10:39:38 +0100
message:
Add TODO item.
------------------------------------------------------------
revno: 359.1.125
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Thu 2008-02-21 14:18:20 +0100
message:
Better wording for NEWS entry.
------------------------------------------------------------
revno: 359.1.126
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Thu 2008-02-21 14:34:17 +0100
message:
Add TODO item about ensureItemVisible().
------------------------------------------------------------
revno: 359.1.127
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Thu 2008-02-21 14:34:25 +0100
message:
Revamp the Undo/Redo classes, to make InsertItemsCmd grok the queue.
(Having the queue handling only in RemoveItemsCmd was not right, since
you may add items, queue some of them, and then undo de insertion.)
Changes:
* Factor out all the code from InsertItemsCmd, RemoveItemsCmd and
RemoveItemsCmdNoQueue to a common AlterItemlistMixin, which provides
a copule of insert_items() and remove_items() command that undo each
other. This mixin does not inherit from QUndoCommand.
* Make InsertItemsCmd and RemoveItemsCmd inherit from the mixin and
QUndoCommand, and make their undo/redo methods pointers to the two
methods above as appropriate.
* Drop RemoveItemsCmdNoQueue, and give the mixin (and commands) a
do_queue flag to make them not mess with the queue at all. Make
dropMimeData() use this flag for internal drag'n'drop.
------------------------------------------------------------
revno: 359.1.128
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Thu 2008-02-21 16:08:47 +0100
message:
Add a comment about the need for Columns.setup_from_config().
------------------------------------------------------------
revno: 359.1.129
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Thu 2008-02-21 16:27:21 +0100
message:
Restore current item when undoing if appropriate.
------------------------------------------------------------
revno: 359.1.130
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-22 11:31:25 +0100
message:
Better condition for dequeueing from tag_reader.
------------------------------------------------------------
revno: 359.1.131
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-22 12:18:36 +0100
message:
Implement slot_clear, with a ClearItemlistCmd plus clear_itemlist().
------------------------------------------------------------
revno: 359.1.132
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-22 12:24:26 +0100
message:
Add TODO item.
------------------------------------------------------------
revno: 359.1.133
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-22 12:37:56 +0100
message:
Give undo commands a descriptive text.
------------------------------------------------------------
revno: 359.1.134
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-22 12:59:24 +0100
message:
Update the "Known bugs" section.
------------------------------------------------------------
revno: 359.1.135
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-22 13:01:32 +0100
message:
Typos and grammar.
------------------------------------------------------------
revno: 359.1.136
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Fri 2008-02-22 18:33:10 +0100
message:
Regain the ensureItemVisible() functionality.
------------------------------------------------------------
revno: 359.1.137
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-27 18:36:43 +0100
message:
Rename queue_pop(0) to queue_popfront().
------------------------------------------------------------
revno: 359.1.138
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-27 18:45:39 +0100
message:
Fix the AFTER_QUEUE stop mode.
(This had been broken since moving queue_pop to use toggle_enqueued_many.
Previously, this method would just modify the queue itsef, skipping the
stop_after logic in toggle_enqueued.)
Fix by introducing a preserve_stop_after in toggle_enqueued_many(), to
be used from queue_popfront().
------------------------------------------------------------
revno: 359.1.139
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Wed 2008-02-27 18:52:02 +0100
message:
Simplify slot_engine_end_of_stream() by comparing items directly.
Instead of comparing the URI provided by the engine with the stop_after
path, compare the just finished item with stop_after directly. (If the
engine emits end_of_stream, we actually *know* what has just finished.)
Do no longer emit URI with end_of_stream in engine.py.
------------------------------------------------------------
revno: 359.1.140
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Thu 2008-02-28 12:52:02 +0100
message:
Handle/port re-adding the currently (and absent) playing item.
This moves from create_item() to insert_items(), where it belongs.
Also, no need for the self._currently_playing_taken flag, since it's
possible to detect that condition by just looking at current_item.
------------------------------------------------------------
revno: 359.1.141
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Thu 2008-02-28 13:02:05 +0100
message:
Remove unneeded/obsolete setColumnWidth() method.
------------------------------------------------------------
revno: 359.1.142
committer: Adeodato Simó <dato@net.com.org.es>
branch nick: minirok.kde4_playlist
timestamp: Thu 2008-02-28 23:42:00 +0100
message:
When dequeueing, adjust the queue position of other items *before* popping.
This is way more straightforward, and, heh, efficient (each position gets
adjusted exactly once, unlike our previous implementation).
This improvement was thought of (sigh/yay) while blogging for the CUSL2.