1. 19 Jun, 2014 2 commits
    • Nicholas Little's avatar
      Hardware: Add DeviceChanged signal for Dap.Mtp (bgo#729438) · 5a5cb823
      Nicholas Little authored
      To use an MTP device, we must unmount it and release the connection that
      Gvfs makes. Prior to this patch, banshee considered two possible device
      events, added and removed so unmounts had to be covered by the latter
      case, causing MTP devices to be unmapped as they were being configured.
      
      This patch allows the state transition to occur with the assumption that
      the device is still physically present and allows devices which don't
      present a Mount in their VolumeAddedArgs to be recognised when their
      Mounts do become available. This has the added benefit that further down
      the line, we can add sources for yet-to-be-configured devices providing
      the user with setup or error handling instructions.
      
      As a test: without this patch, a Nexus7 device would not be recognized
      by Banshee when connecting it to a laptop running Ubuntu 14.04.
      Signed-off-by: default avatarAndrés G. Aragoneses <knocte@gmail.com>
      5a5cb823
    • Nicholas Little's avatar
      Gio: refactor creation of RawVolume · 73691ef0
      Nicholas Little authored
      Creation of RawVolume instance is done in the same way in
      several places, so we can extract a method where we do
      a sanity check over the volume_device_map dictionary search.
      Signed-off-by: default avatarAndrés G. Aragoneses <knocte@gmail.com>
      73691ef0
  2. 17 Jun, 2014 1 commit
  3. 16 Jun, 2014 1 commit
  4. 15 Jun, 2014 1 commit
    • Bertrand Lorentz's avatar
      SourceRowRenderer: Rework rendering of the cell background · 1fff9a12
      Bertrand Lorentz authored
      If the cell is selected, just let the GTK theme do the drawing.
      
      If the cell is highlighted but not selected, like when you right click
      on a non-selected cell that is not selected, draw a simple 1 pixel
      border, like we did before.
      
      The notification animation is now a simple rectangle fill, using a color
      halfway between normal and selected. We can't use the color of the
      "active" state anymore, because it now seems to be the same as the
      normal color, at least for treeviews.
      
      We should probably use GTK+ animations for that, but I still need to
      figure out how...
      
      Also update Hyena to the latest git master, to bring in all the latest
      ListView changes.
      1fff9a12
  5. 14 Jun, 2014 1 commit
  6. 07 Jun, 2014 1 commit
  7. 03 Jun, 2014 2 commits
  8. 31 May, 2014 1 commit
  9. 27 May, 2014 2 commits
  10. 23 May, 2014 1 commit
  11. 22 May, 2014 4 commits
    • Andrés G. Aragoneses's avatar
      .gitignore: add `compile` · ba00d0ef
      Andrés G. Aragoneses authored
      compile file is generated by autotools, apparently, and if one
      removes it by mistake via `git clean -fd` then the build gets
      broken and one needs to re./configure again.
      ba00d0ef
    • Dmitrii Petukhov's avatar
      ThickClient: Add "Playing Track" submenu (bgo#726338) · b7eb9bb8
      Dmitrii Petukhov authored
      When some user requested to have CoverArt modification for the
      playing track in the "Edit" menu (bgo#724795), we realised that
      it was not clear at all that this menu affected just to selected
      tracks, not to the playing track. The two previous patches then
      modified the UI to include these options under a new "Selected
      Track(s)" submenu.
      
      Now, this change introduces a similar submenu (with the same
      options) but which applies only to the playing track. This only
      works for now if the track played is in the main Music library,
      and it can be extended for more sources in the future.
      Signed-off-by: default avatarAndrés G. Aragoneses <knocte@gmail.com>
      b7eb9bb8
    • Dmitrii Petukhov's avatar
      Refactoring: rename "SelectedTracks" methods&labels (bgo#726338) · 33ec250b
      Dmitrii Petukhov authored
      Renamed all "...Tracks" to "SelectedTracks" labels and methods,
      following the previous commit, which places all the actions under
      this "Selected Track(s)" submenu.
      
      This is especially useful, to distinguish them from the next
      methods and actions which will be committed in the next changeset,
      which will introduce a new Playing Track submenu.
      Signed-off-by: default avatarAndrés G. Aragoneses <knocte@gmail.com>
      33ec250b
    • Dmitrii Petukhov's avatar
      ThickClient: add "Selected Track(s)" submenu (bgo#726338) · 60e1b7d3
      Dmitrii Petukhov authored
      Behavior of the options from the "Edit" menu was not so clear:
      did these options target the playing track or the selected ones?
      So, adding "Selected Track(s)" submenu and moving all the appropriate
      options into it makes it much more clear.
      Signed-off-by: default avatarAndrés G. Aragoneses <knocte@gmail.com>
      60e1b7d3
  12. 20 May, 2014 1 commit
  13. 18 May, 2014 3 commits
  14. 15 May, 2014 2 commits
  15. 06 May, 2014 1 commit
    • Andrés G. Aragoneses's avatar
      SourceActions: code cleanup · 2ad23085
      Andrés G. Aragoneses authored
      - Removed unused usings.
      - Converted property to auto-property.
      - Use new lambda delegate syntax.
      - Add missing braces in foreach and if blocks, to conform to
      style guidelines.
      - Use a static cast instead of a dynamic cast (as it was not
      checking for null, and could lead to NREs instead of ICEs).
      2ad23085
  16. 05 May, 2014 1 commit
  17. 04 May, 2014 1 commit
  18. 17 Apr, 2014 2 commits
  19. 13 Apr, 2014 2 commits
  20. 06 Apr, 2014 1 commit
  21. 05 Apr, 2014 1 commit
    • Andrés G. Aragoneses's avatar
      Playlists: (refactoring) more progress towards immutability · e4b14cc3
      Andrés G. Aragoneses authored
      PlaylistParser.Parse() was mutable (the result of its execution was
      available at one of the properties of its instance. This can be
      avoided by making Parse() static, and return the result instead
      of just a bool indicating its success (from now on, a null value
      returned means a failure to parse).
      
      To do this, the PlaylistParser class has to be split in two:
      - static class PlaylistParser
      - DTO class ParsedPlaylist
      
      This doesn't only make the code safer, it allows me to remove
      the lock{} inside Parse() method, and makes everything a bit
      more readable and maintainable.
      e4b14cc3
  22. 03 Apr, 2014 2 commits
    • Andrés G. Aragoneses's avatar
      Playlists: tidy · a715b96e
      Andrés G. Aragoneses authored
      Remove some unused usings, fix some indentation and missing braces.
      a715b96e
    • Andrés G. Aragoneses's avatar
      Playlists: refactor PlaylistParser to be less mutable · 47834bb0
      Andrés G. Aragoneses authored
      There's no need to make PlaylistParser.Parse() method depend
      on whether some previous code set the property BaseUri to
      some value beforehand.
      
      All current uses of the setter of the property can simply be
      replaced by a constructor that receives the value for BaseUri.
      By this we avoid any race condition that could be derived from
      reading the object after/before setting the property. Its
      getter access wasn't used at all so we can remove the property
      altogether, leaving the private field for its main usage in
      the Parse() method.
      47834bb0
  23. 02 Apr, 2014 2 commits
    • Andrés G. Aragoneses's avatar
      HACKING: add missing rule about parameter names · 470a3f78
      Andrés G. Aragoneses authored
      There's a mixture of style in Banshee's codebase about param
      names. Sometimes they are written in the same way vars/fields
      are written (under_score notation), but sometimes they use
      camelCaseNotation. Lately I've come to realize that the latter
      is a bit more frequent, so we should write this down ASAP
      before we grow the mixed-style code indefinitely.
      470a3f78
    • Andrés G. Aragoneses's avatar
      MetadataService: refactor SaveHttpStream() with 'using' pattern · 7dfb0b51
      Andrés G. Aragoneses authored
      This method was extremely convoluted because it was checking
      for nulls every time and calling Close() only in the proper
      situations.
      
      By employing the "using" pattern, we can achieve the same with
      less checks and less explicit calls to Close(), as this pattern
      checks for null before disposing, and the Dispose() methods of
      both HttpWebResponse and Stream call Close() underneath.
      
      The code becomes much more readable this way. (And this is also
      safer against resource leaks because the calls to Dispose()
      happen in a finally{} block.)
      7dfb0b51
  24. 31 Mar, 2014 2 commits
  25. 29 Mar, 2014 1 commit
  26. 28 Mar, 2014 1 commit