blaplaylist.py: add entry completion for filtering

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
blaplaylist.py: rename column id attribute to id_

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
blaguiutils.py: partially rewrite BlaTreeViewBase

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
blaplaylist.py: refactor selection handling

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
blaplaylist.py: ban whitespace-only playlist names

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
Fix erroneous flag in playlists' DND definition

Closes #12

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
Add new accelerators to the filesystem browser

This adds the accelerator <Ctrl>L to the filesystem browser. The key
combination will focus the location entry box. Using <Ctrl>L or Escape
while the text box is focused will give focus back to the treeview
below.

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
Define constants for DND targets and operations

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
blaplayer.py: catch possible unhandled exception

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
Get rid of BUGS file

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
Add gobject.SIGNAL_ACTION flag to blautil's signal()

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
Define and use wrapper classes for gtk dialogs

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
Add `priority' kwarg to the blautil.idle decorator

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
Don't set default main loop in blampris.py

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
Make use of gtk.SelectionData's get_uris() method

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
Add support for DND to external applications

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>