[banshee/grid: 30/30] Merged master into grid



commit 6b5d295e7c38f480a6456e44cb65eaee0472f33c
Merge: 59d4287... 5e0ab4e...
Author: Aaron Bockover <abockover novell com>
Date:   Tue Dec 15 16:59:21 2009 -0500

    Merged master into grid

 .gitignore                                         |    2 +
 Makefile.am                                        |   10 +-
 NEWS                                               |    2 +-
 build/m4/banshee/libbanshee.m4                     |    8 +-
 po/POTFILES.in                                     |    2 +
 .../Banshee.Hal/Banshee.HalBackend/DkDisk.cs       |  128 +++++++++
 .../Banshee.Hal/Banshee.HalBackend/Volume.cs       |   20 ++-
 src/Backends/Banshee.Hal/Makefile.am               |    1 +
 src/Clients/Nereid/Nereid/PlayerInterface.cs       |    9 +-
 src/Core/Banshee.Core/Banshee.Base/CoverArtSpec.cs |   13 +
 .../Banshee.Core/Banshee.Collection/TrackInfo.cs   |    4 +
 .../DatabaseAlbumListModel.cs                      |    2 +
 .../DatabaseArtistListModel.cs                     |    2 +
 .../DatabaseFilterListModel.cs                     |   21 ++-
 .../DatabaseQueryFilterModel.cs                    |    9 +
 .../DatabaseTrackListModel.cs                      |   19 ++-
 .../IDatabaseTrackModelCache.cs                    |    2 +
 .../Banshee.Collection.Database/ISearchable.cs     |   39 +++
 .../Banshee.MediaEngine/PlayerEngineService.cs     |    2 +-
 .../FileSystemQueryJob.cs                          |    8 +-
 .../Banshee.Metadata/BaseMetadataProvider.cs       |    2 +-
 .../Banshee.Metadata/MetadataService.cs            |   13 +-
 .../Banshee.Metadata/MetadataServiceJob.cs         |    2 +
 .../Banshee.Services/Banshee.Web/BaseHttpServer.cs |    6 +-
 src/Core/Banshee.Services/Makefile.am              |    1 +
 .../Banshee.Collection.Gui/ArtworkManager.cs       |  166 +++++++++---
 .../Banshee.Collection.Gui/BaseTrackListView.cs    |    6 +-
 .../Banshee.Collection.Gui/CoverArtEditor.cs       |  209 ++++++++++++++
 .../Banshee.Collection.Gui/SearchableListView.cs   |  285 ++++++++++++++++++++
 .../Banshee.Collection.Gui/TrackFilterListView.cs  |    2 +-
 .../Banshee.Gui.TrackEditor/TrackEditorDialog.cs   |   47 +++-
 .../Banshee.Gui.Widgets/TrackInfoDisplay.cs        |   64 ++++-
 src/Core/Banshee.ThickClient/Makefile.am           |    2 +
 .../Banshee.Dap.Ipod/PodSleuthDevice.cs            |    4 +-
 src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs      |   13 +-
 .../Banshee.CoverArt/CoverArtJob.cs                |   26 ++-
 .../Banshee.Daap/Banshee.Daap/DaapService.cs       |    5 +-
 .../Banshee.Lastfm.Radio/LastfmSourceContents.cs   |    1 +
 .../Banshee.Moblin/RecentAlbumsView.cs             |    1 +
 .../NotificationAreaService.cs                     |   15 +-
 .../Banshee.Podcasting/PodcastService.cs           |   80 +++---
 .../Banshee.Podcasting/PodcastService_Interface.cs |    3 -
 .../Hyena.Data.Gui/ListView/ListView_Rendering.cs  |    2 +-
 .../Hyena.Data.Gui/ListView/ListView_Windowing.cs  |    4 +
 .../Hyena.Gui/Hyena.Widgets/EntryPopup.cs          |  226 ++++++++++++++++
 src/Libraries/Hyena.Gui/Makefile.am                |    1 +
 src/Libraries/Hyena/Hyena.Collections/LruCache.cs  |   10 +
 .../Hyena/Hyena.Data.Sqlite/HyenaSqliteCommand.cs  |   14 +-
 .../Hyena.Data.Sqlite/HyenaSqliteConnection.cs     |   12 +-
 .../Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs    |   41 +++-
 50 files changed, 1387 insertions(+), 179 deletions(-)
---
diff --cc src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs
index 5bf5573,0cc1c68..26f698b
--- a/src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs
+++ b/src/Libraries/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs
@@@ -433,77 -422,7 +433,77 @@@ namespace Hyena.Data.Gu
              cairo_context.Stroke ();
          }
  
 +#endregion
 +
 +#region Grid Rendering
 +
 +        private void PaintGrid (Rectangle clip)
 +        {
 +            clip.Intersect (list_rendering_alloc);
 +            cairo_context.Rectangle (clip.X, clip.Y, clip.Width, clip.Height);
 +            cairo_context.Clip ();
 +
 +            cell_context.Clip = clip;
 +            cell_context.TextAsForeground = false;
 +
 +            int rows_in_view = RowsInView;
 +            int columns_in_view = GridColumnsInView;
 +            int cell_height = RowHeight;
 +            int cell_width = GridCellWidth + ((list_rendering_alloc.Width -
 +                columns_in_view * GridCellWidth) / columns_in_view);
 +            int vadjustment_value = VadjustmentValue;
 +
 +            int offset = list_rendering_alloc.Y - vadjustment_value % RowHeight;
 +            int first_model_row = (int)Math.Floor (vadjustment_value / (double)RowHeight) * columns_in_view;
 +            int last_model_row = Math.Min (model.Count, first_model_row + rows_in_view * columns_in_view);
 +
 +            var grid_cell_alloc = new Rectangle () {
 +                X = list_rendering_alloc.X,
 +                Y = offset,
 +                Width = GridCellWidth,
 +                Height = GridCellHeight
 +            };
 +
 +            selected_rows.Clear ();
 +
 +            for (int model_row_index = first_model_row, view_row_index = 0, view_column_index = 0;
 +                model_row_index < last_model_row; model_row_index++) {
 +
 +                if (Selection != null && Selection.Contains (model_row_index)) {
 +                    selected_rows.Add (model_row_index);
 +
 +                    var selection_color = Theme.Colors.GetWidgetColor (GtkColorClass.Background, StateType.Selected);
 +                    if (!HasFocus || HeaderFocused) {
 +                        selection_color = CairoExtensions.ColorShade (selection_color, 1.1);
 +                    }
 +
 +                    Theme.DrawRowSelection (cairo_context,
 +                        grid_cell_alloc.X, grid_cell_alloc.Y,
 +                        grid_cell_alloc.Width, grid_cell_alloc.Height,
 +                        true, true, selection_color, CairoCorners.All);
 +                }
 +
 +                var item = model[model_row_index];
 +                PaintCell (item, 0, model_row_index, grid_cell_alloc,
 +                    IsRowOpaque (item), IsRowBold (item), StateType.Normal, false);
 +
 +                if (++view_column_index % columns_in_view == 0) {
 +                    view_row_index++;
 +                    view_column_index = 0;
 +
 +                    grid_cell_alloc.Y += cell_height;
 +                    grid_cell_alloc.X = list_rendering_alloc.X;
 +                } else {
 +                    grid_cell_alloc.X += cell_width;
 +                }
 +            }
 +
 +            cairo_context.ResetClip ();
 +        }
 +
 +#endregion
 +
-         private void InvalidateList ()
+         protected void InvalidateList ()
          {
              if (IsRealized) {
                  QueueDrawArea (list_rendering_alloc.X, list_rendering_alloc.Y, list_rendering_alloc.Width, list_rendering_alloc.Height);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]