Commit Graph

142 Commits

Author SHA1 Message Date
David Sansome 8d3353520a Magnatune context menu 2010-05-09 18:36:10 +00:00
David Sansome 6b8d6c93f9 Add a MergedProxyModel that lets us merge two models into one... 2010-05-09 15:51:04 +00:00
David Sansome 1b00aaa8b3 Big refactoring of the Library <-> LibraryBackend <-> SQLite interaction.
The LibraryBackend has now been split into a Database class that deals with setting up sqlite, and PlaylistBackend that contains the functions for persisting the playlist.  The LibraryBackend now only contains functions for accessing "a collection of songs", and can be parameterised with table names to access different collections.  It also no longer lives in a background thread, and follows the Qt memory management model instead of using shared_ptr.
Most of Library has been moved into LibraryModel - a QAbstractItemModel for any LibraryBackend.  What's left of Library is now specific to the user's local library on disk.
2010-05-09 00:10:26 +00:00
David Sansome cd8fc47bf3 A little refactoring of Library - pass in a table to get songs from 2010-05-08 21:54:36 +00:00
David Sansome d5c52f32d8 Add an almost working music transcoder. Also some small translation fixes. 2010-05-03 18:52:35 +00:00
David Sansome 5a7437ddd6 Fix the "add media" dialog on windows 2010-05-01 13:49:07 +00:00
David Sansome 70565565c7 Don't reshuffle the playlist every time the user presses next 2010-04-29 23:30:24 +00:00
David Sansome 3f360d254f Renumber tracks correctly starting from the top one even when the user selects them "backwards" (starting from the bottom). 2010-04-27 17:15:11 +00:00
John Maguire ff06207732 OS X dock icon updates to show current status.
Somewhat less (but still quite) hacky system tray code.
2010-04-19 20:59:05 +00:00
David Sansome b2236bfd1e Undo and redo actions for the playlist. Note that undoing a sort or a shuffle doesn't work yet. Fixes issue #152 2010-04-19 18:44:35 +00:00
David Sansome 66d83fd120 Oops, forgot this comment 2010-04-19 14:23:57 +00:00
David Sansome 56bb697d06 Remember maximized state between calls to hide() and show() on window managers that don't do it for us. Fixes issue #215 2010-04-19 14:10:31 +00:00
David Sansome b418141aa0 Show a tiny play or pause icon in the system tray 2010-04-19 13:53:26 +00:00
David Sansome e014b67090 Add a "Stopped" notification that's different from "Playlist finished". 2010-04-19 13:01:57 +00:00
John Maguire 4948050327 Fix build without gstreamer.
Fixes issue #217
Thanks to christoph.gysin
2010-04-16 14:39:55 +00:00
John Maguire 8abb9ecd4b Most of the work to use Sparkle on OS X.
Updates issue #210.
2010-04-15 15:23:12 +00:00
David Sansome dd86b60411 CMake variables and commandline options to allow multiple engines to be built. Thanks christoph.gysin.
Fixes issue #203
2010-04-15 12:39:34 +00:00
David Sansome 5519985a3b Fix the names of these signals/slots 2010-04-14 22:54:15 +00:00
David Sansome 2a33954725 Codereview comments from r701 2010-04-14 22:36:28 +00:00
John Maguire b16f789ac7 700 GET
Code review comments for r699
2010-04-14 21:58:51 +00:00
John Maguire aeaebdb8d6 Fix a few mac UI bugs.
* Cmd+W closes the main window
* Clicking the dock icon shows the main window
2010-04-14 21:27:27 +00:00
David Sansome af07b5becd Store the playlist in the database. This is still quite slow. 2010-04-14 21:03:00 +00:00
John Maguire 398107fe67 Disable system tray on mac and popup menu from dock icon.
Remove sqlite plugin from deployment script.
TODO: Factor out system tray/dock rather than tons of ifdefs.
2010-04-14 19:38:09 +00:00
David Sansome 3b1188838b Show the OSD when --show-osd is used even if the osd is disabled in the settings dialog. See issue #95 2010-04-13 20:45:40 +00:00
David Sansome aaa1ef8a7f Add a "seek by n seconds" commandline option, and make sure stopping and starting again from the commandline restarts the same track. See issue #95 2010-04-13 20:22:29 +00:00
David Sansome c59c7ee0ec More commandline options. Fixes issue #95 2010-04-12 23:35:47 +00:00
David Sansome 2ec6ca45c8 Commandline options support. Fixes issue #189 2010-04-12 22:44:29 +00:00
David Sansome d51c7444ab Fix some confusion with auto/manual track changes 2010-04-12 01:59:21 +00:00
David Sansome c4aa779728 Clean style of Engine::Base 2010-04-11 23:24:03 +00:00
David Sansome 1293865fea Fix the behaviour of selecting "edit tag ..." when multiple tracks are selected. Fixes issue #139 2010-04-11 17:58:58 +00:00
David Sansome 647ac1af8b Don't block the window manager's logout sequence. Fixes issue #143 2010-04-08 22:08:18 +00:00
David Sansome 025bafab76 Put the "show..." and "group by..." library options in a submenu. Fixes issue #187. 2010-04-08 20:48:22 +00:00
David Sansome baacfcf772 Make sure equalizer settings get saved and loaded properly. Fixes issue #185 2010-04-08 15:13:34 +00:00
David Sansome 931273b9ea Add a "sign out" button to the last.fm config dialog, and add an option to hide the "love" and "ban" buttons. Updates issue #156. 2010-04-07 19:26:49 +00:00
David Sansome c6fe113e79 GStreamer equalizer. Mostly working, just missing presets. Updates issue #166 2010-04-07 16:26:04 +00:00
David Sansome 256648f5e3 Add a UI for choosing which gstreamer audio sink to use 2010-04-07 13:51:14 +00:00
David Sansome 74ec2fe921 Remove debug output 2010-04-07 00:19:09 +00:00
David Sansome f80d459135 Add an option to always hide/show the mainwindow on startup. Also moved "hide tray icon" to the settings dialog. Fixes issue #170. 2010-04-06 23:46:34 +00:00
David Sansome c7f4a091ed Let's give gstreamer another try... 2010-04-06 16:57:02 +00:00
David Sansome d5eb2297d2 Move the audio engines to their own directory 2010-04-04 17:50:11 +00:00
David Sansome 83194ecf74 "Add to playlist" context menu item for the library view. Fixes issue #153 2010-04-04 13:31:21 +00:00
David Sansome ae3923f93b Set the "group_by" properties of the actions in code instead of in the .ui file, so the enum keys don't get translated. 2010-04-01 17:20:31 +00:00
David Sansome 2443ce6585 Reworked the library watcher to be much more efficient - the backend now holds a list of subdirectories within each library directory, and only the mtimes of these are checked on startup. 2010-04-01 16:59:32 +00:00
David Sansome 1f2220ac63 Add an option to disable the library view's behaviour of automatically opening nodes without many children. 2010-04-01 00:12:25 +00:00
David Sansome 7415b7f4bd Made mouse wheel events on both the tray icon and the volume widget change the volume by a smaller amount. Fixes issue #145 2010-03-31 23:45:52 +00:00
David Sansome 134743bd29 Add an advanced grouping dialog for the library. boost::multi_index ftw. Fixes issue #94. 2010-03-31 23:11:45 +00:00
David Sansome ce43f8dbf9 Make the "Edit tag..." menu item edit all selected tracks, and only show "Renumber selected tracks in this order" if the user right clicked on the track column. Thanks christoph.gysin. Fixes issue #139 2010-03-31 19:09:35 +00:00
David Sansome 2d12b59951 Move the GroupBy enum into library so we can get a QMetaEnum from it. Tidy up the logic for the "group by" options by moving it into properties in the .ui file. 2010-03-31 15:18:39 +00:00
David Sansome a5412cc274 Make sure to hide the mainwindow on startup if it was hidden last time. Also fix the logic to ensure either the tray icon or the window is visible. 2010-03-31 03:07:11 +00:00
David Sansome 4c42813d9f Add "group by" support to the library, and improve the whole library model to make it more robust.
Still todo: the "Group by advanced..." dialog, unit tests.
Updates issue #94.
2010-03-31 00:30:57 +00:00