banshee r3034 - in trunk/banshee: . src/Core/Banshee.Core src/Core/Banshee.ThickClient src/Core/Banshee.ThickClient/Banshee.Sources.Gui src/Core/Hyena src/Core/Hyena.Gui/Hyena.Gui src/Extensions src/Extensions/Banshee.MultimediaKeys
- From: abock svn gnome org
- To: svn-commits-list gnome org
- Subject: banshee r3034 - in trunk/banshee: . src/Core/Banshee.Core src/Core/Banshee.ThickClient src/Core/Banshee.ThickClient/Banshee.Sources.Gui src/Core/Hyena src/Core/Hyena.Gui/Hyena.Gui src/Extensions src/Extensions/Banshee.MultimediaKeys
- Date: Sun, 27 Jan 2008 00:34:20 +0000 (GMT)
Author: abock
Date: Sun Jan 27 00:34:20 2008
New Revision: 3034
URL: http://svn.gnome.org/viewvc/banshee?rev=3034&view=rev
Log:
2008-01-26 Aaron Bockover <abockover novell com>
* src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CellEditEntry.cs:
* src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs:
Classes pulled out of SourceView.cs, changed from public to internal
since they are meaningless outside of SourceView
* src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs: Minor
reorg, audit public API
* src/Core/Hyena.Gui/Hyena.Gui/GtkUtilities.cs: Added ColorBlend method
from the old Banshee.Base.Utilities class to blend two Gdk.Colors
Added:
trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CellEditEntry.cs
trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs
Modified:
trunk/banshee/ChangeLog
trunk/banshee/src/Core/Banshee.Core/Banshee.Core.mdp
trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs
trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp
trunk/banshee/src/Core/Banshee.ThickClient/Makefile.am
trunk/banshee/src/Core/Hyena.Gui/Hyena.Gui/GtkUtilities.cs
trunk/banshee/src/Core/Hyena/Hyena.mdp
trunk/banshee/src/Extensions/Banshee.MultimediaKeys/Banshee.MultimediaKeys.mdp
trunk/banshee/src/Extensions/Extensions.mds
Modified: trunk/banshee/src/Core/Banshee.Core/Banshee.Core.mdp
==============================================================================
--- trunk/banshee/src/Core/Banshee.Core/Banshee.Core.mdp (original)
+++ trunk/banshee/src/Core/Banshee.Core/Banshee.Core.mdp Sun Jan 27 00:34:20 2008
@@ -56,6 +56,7 @@
<File name="Banshee.Base/Localization.cs" subtype="Code" buildaction="Compile" />
<File name="Banshee.Configuration/XmlConfigurationClient.cs" subtype="Code" buildaction="Compile" />
<File name="Banshee.Base/CoverArtSpec.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.Base/RateLimiter.cs" subtype="Code" buildaction="Compile" />
</Contents>
<References>
<ProjectReference type="Project" localcopy="False" refto="Hyena" />
Added: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CellEditEntry.cs
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/CellEditEntry.cs Sun Jan 27 00:34:20 2008
@@ -0,0 +1,62 @@
+//
+// CellEdit.cs
+//
+// Author:
+// Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2005-2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using Gtk;
+
+namespace Banshee.Sources.Gui
+{
+ internal class EditedEventArgs : EventArgs
+ {
+ public TreePath path;
+ public string text;
+ }
+
+ internal delegate void EditedEventHandler (object o, EditedEventArgs args);
+
+ internal class CellEditEntry : Entry, CellEditable
+ {
+ public string path;
+
+ public CellEditEntry () : base ()
+ {
+ MaxLength = 256;
+ }
+
+ protected CellEditEntry (System.IntPtr ptr) : base (ptr)
+ {
+ }
+
+ protected override bool OnFocusOutEvent (Gdk.EventFocus focus)
+ {
+ FinishEditing ();
+ RemoveWidget ();
+ return base.OnFocusOutEvent (focus);
+ }
+ }
+}
Added: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceRowRenderer.cs Sun Jan 27 00:34:20 2008
@@ -0,0 +1,219 @@
+//
+// SourceRowRenderer.cs
+//
+// Author:
+// Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2005-2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using Gtk;
+using Gdk;
+using Pango;
+
+namespace Banshee.Sources.Gui
+{
+ internal class SourceRowRenderer : CellRendererText
+ {
+ public bool Selected = false;
+ public bool Italicized = false;
+ public Source source;
+ public SourceView view;
+
+ public SourceRowRenderer()
+ {
+ }
+
+ protected SourceRowRenderer(System.IntPtr ptr) : base(ptr)
+ {
+
+ }
+
+ private StateType RendererStateToWidgetState(CellRendererState flags)
+ {
+ StateType state = StateType.Normal;
+ if((CellRendererState.Selected & flags).Equals(
+ CellRendererState.Selected))
+ state = StateType.Selected;
+ return state;
+ }
+
+ public override void GetSize(Widget widget, ref Gdk.Rectangle cell_area,
+ out int x_offset, out int y_offset, out int width, out int height)
+ {
+ int text_x, text_y, text_w, text_h;
+
+ base.GetSize(widget, ref cell_area, out text_x, out text_y,
+ out text_w, out text_h);
+
+ x_offset = 0;
+ y_offset = 0;
+ width = text_w;
+ height = text_h + 5;
+ }
+
+ protected override void Render(Gdk.Drawable drawable,
+ Widget widget, Gdk.Rectangle background_area,
+ Gdk.Rectangle cell_area, Gdk.Rectangle expose_area,
+ CellRendererState flags)
+ {
+ int titleLayoutWidth, titleLayoutHeight;
+ int countLayoutWidth, countLayoutHeight;
+ int maxTitleLayoutWidth;
+
+ if(source == null) {
+ return;
+ }
+
+ bool hideCounts = source.Count <= 0;
+
+ StateType state = RendererStateToWidgetState(flags);
+ Pixbuf icon = null;
+
+ if(source == null) {
+ return;
+ }
+
+ icon = source.Properties.Get<Gdk.Pixbuf>("IconPixbuf");
+ if(icon == null) {
+ Type icon_type = source.Properties.GetType("IconName");
+
+ if(icon_type == typeof(string)) {
+ icon = Banshee.Gui.IconThemeUtils.LoadIcon(22, source.Properties.GetString("IconName"));
+ } else if(icon_type == typeof(string [])) {
+ icon = Banshee.Gui.IconThemeUtils.LoadIcon(22, source.Properties.GetStringList("IconName"));
+ }
+
+ if(icon == null) {
+ icon = Banshee.Gui.IconThemeUtils.LoadIcon(22, "image-missing");
+ }
+
+ if(icon != null) {
+ source.Properties.Set<Gdk.Pixbuf>("IconPixbuf", icon);
+ }
+ }
+
+ Pango.Layout titleLayout = new Pango.Layout(widget.PangoContext);
+ Pango.Layout countLayout = new Pango.Layout(widget.PangoContext);
+
+ FontDescription fd = widget.PangoContext.FontDescription.Copy();
+ fd.Weight = Selected ? Pango.Weight.Bold : Pango.Weight.Normal;
+ if(Italicized/* || source.HasEmphasis*/) {
+ fd.Style = Pango.Style.Italic;
+ hideCounts = true;
+ }
+
+ titleLayout.FontDescription = fd;
+ countLayout.FontDescription = fd;
+
+ titleLayout.SetMarkup("...");
+ titleLayout.GetPixelSize(out titleLayoutWidth, out titleLayoutHeight);
+ int ellipsisSize = titleLayoutWidth;
+
+ string titleText = source.Name;
+ titleLayout.SetMarkup(GLib.Markup.EscapeText(titleText));
+ countLayout.SetMarkup("<span size=\"small\">(" + source.Count + ")</span>");
+
+ titleLayout.GetPixelSize(out titleLayoutWidth, out titleLayoutHeight);
+ countLayout.GetPixelSize(out countLayoutWidth, out countLayoutHeight);
+
+ maxTitleLayoutWidth = cell_area.Width - (icon == null ? 0 : icon.Width) - countLayoutWidth - 10;
+
+ if(titleLayoutWidth > maxTitleLayoutWidth) {
+ float ratio = (float)(maxTitleLayoutWidth - ellipsisSize) / (float)titleLayoutWidth;
+ int characters = (int)(ratio * (float)titleText.Length);
+ do {
+ if(characters > 0) {
+ titleLayout.SetMarkup(GLib.Markup.EscapeText(
+ titleText.Substring(0, characters--)).Trim() + "...");
+ titleLayout.GetPixelSize(out titleLayoutWidth, out titleLayoutHeight);
+ } else {
+ hideCounts = true;
+ titleLayout.SetMarkup(GLib.Markup.EscapeText(titleText.Trim()));
+ break;
+ }
+ } while (titleLayoutWidth > maxTitleLayoutWidth);
+ }
+
+ Gdk.GC mainGC = widget.Style.TextGC(state);
+
+ if(icon != null) {
+ drawable.DrawPixbuf(mainGC, icon, 0, 0,
+ cell_area.X + 0,
+ cell_area.Y + ((cell_area.Height - icon.Height) / 2),
+ icon.Width, icon.Height,
+ RgbDither.None, 0, 0);
+ }
+
+ drawable.DrawLayout(mainGC,
+ cell_area.X + (icon == null ? 0 : icon.Width) + 6,
+ cell_area.Y + ((cell_area.Height - titleLayoutHeight) / 2) + 1,
+ titleLayout);
+
+ if(hideCounts) {
+ return;
+ }
+
+ Gdk.GC modGC = widget.Style.TextGC(state);
+ if(!state.Equals(StateType.Selected)) {
+ modGC = new Gdk.GC(drawable);
+ modGC.Copy(widget.Style.TextGC(state));
+ Gdk.Color fgcolor = widget.Style.Foreground(state);
+ Gdk.Color bgcolor = widget.Style.Background(state);
+ modGC.RgbFgColor = Hyena.Gui.GtkUtilities.ColorBlend(fgcolor, bgcolor);
+ modGC.RgbBgColor = fgcolor;
+ }
+
+ drawable.DrawLayout(modGC,
+ (cell_area.X + cell_area.Width) - countLayoutWidth - 2,
+ cell_area.Y + ((cell_area.Height - countLayoutHeight) / 2) + 1,
+ countLayout);
+ }
+
+ public override CellEditable StartEditing(Gdk.Event evnt , Widget widget,
+ string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area,
+ CellRendererState flags)
+ {
+ CellEditEntry text = new CellEditEntry();
+ text.EditingDone += OnEditDone;
+ text.Text = source.Name;
+ text.path = path;
+ text.Show();
+
+ view.EditingRow = true;
+
+ return text;
+ }
+
+ private void OnEditDone(object o, EventArgs args)
+ {
+ CellEditEntry edit = (CellEditEntry)o;
+ if(view == null) {
+ return;
+ }
+
+ view.EditingRow = false;
+ view.UpdateRow(new TreePath(edit.path), edit.Text);
+ }
+ }
+}
Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs (original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs Sun Jan 27 00:34:20 2008
@@ -4,7 +4,7 @@
// Author:
// Aaron Bockover <abockover novell com>
//
-// Copyright (C) 2007 Novell, Inc.
+// Copyright (C) 2005-2008 Novell, Inc.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -27,12 +27,10 @@
//
using System;
-using System.Collections;
using System.Collections.Generic;
using Mono.Unix;
using Gtk;
using Gdk;
-using Pango;
using Banshee.ServiceStack;
using Banshee.Sources;
@@ -43,35 +41,6 @@
namespace Banshee.Sources.Gui
{
- public class CellEdit : Entry, CellEditable
- {
- public string path;
-
- public CellEdit() : base()
- {
- MaxLength = 256;
- }
-
- protected CellEdit(System.IntPtr ptr) : base(ptr)
- {
- }
-
- protected override bool OnFocusOutEvent(Gdk.EventFocus focus)
- {
- FinishEditing();
- RemoveWidget();
- return base.OnFocusOutEvent(focus);
- }
- }
-
- public class EditedEventArgs : EventArgs
- {
- public TreePath path;
- public string text;
- }
-
- public delegate void EditedEventHandler(object o, EditedEventArgs args);
-
public class SourceView : TreeView
{
//private Source newPlaylistSource = new PlaylistSource(-1);
@@ -640,198 +609,11 @@
return store.GetValue(iter, 0) as Source;
}
}
-
- public void ThreadedQueueDraw()
- {
- Gtk.Application.Invoke(delegate {
- QueueDraw();
- });
- }
-
- public bool EditingRow = false;
- }
-
- public class SourceRowRenderer : CellRendererText
- {
- public bool Selected = false;
- public bool Italicized = false;
- public Source source;
- public SourceView view;
-
- public SourceRowRenderer()
- {
- }
-
- protected SourceRowRenderer(System.IntPtr ptr) : base(ptr)
- {
-
- }
-
- private StateType RendererStateToWidgetState(CellRendererState flags)
- {
- StateType state = StateType.Normal;
- if((CellRendererState.Selected & flags).Equals(
- CellRendererState.Selected))
- state = StateType.Selected;
- return state;
- }
-
- public override void GetSize(Widget widget, ref Gdk.Rectangle cell_area,
- out int x_offset, out int y_offset, out int width, out int height)
- {
- int text_x, text_y, text_w, text_h;
-
- base.GetSize(widget, ref cell_area, out text_x, out text_y,
- out text_w, out text_h);
-
- x_offset = 0;
- y_offset = 0;
- width = text_w;
- height = text_h + 5;
- }
-
- protected override void Render(Gdk.Drawable drawable,
- Widget widget, Gdk.Rectangle background_area,
- Gdk.Rectangle cell_area, Gdk.Rectangle expose_area,
- CellRendererState flags)
- {
- int titleLayoutWidth, titleLayoutHeight;
- int countLayoutWidth, countLayoutHeight;
- int maxTitleLayoutWidth;
-
- if(source == null) {
- return;
- }
-
- bool hideCounts = source.Count <= 0;
-
- StateType state = RendererStateToWidgetState(flags);
- Pixbuf icon = null;
-
- if(source == null) {
- return;
- }
-
- icon = source.Properties.Get<Gdk.Pixbuf>("IconPixbuf");
- if(icon == null) {
- Type icon_type = source.Properties.GetType("IconName");
-
- if(icon_type == typeof(string)) {
- icon = Banshee.Gui.IconThemeUtils.LoadIcon(22, source.Properties.GetString("IconName"));
- } else if(icon_type == typeof(string [])) {
- icon = Banshee.Gui.IconThemeUtils.LoadIcon(22, source.Properties.GetStringList("IconName"));
- }
-
- if(icon == null) {
- icon = Banshee.Gui.IconThemeUtils.LoadIcon(22, "image-missing");
- }
-
- if(icon != null) {
- source.Properties.Set<Gdk.Pixbuf>("IconPixbuf", icon);
- }
- }
-
- Pango.Layout titleLayout = new Pango.Layout(widget.PangoContext);
- Pango.Layout countLayout = new Pango.Layout(widget.PangoContext);
-
- FontDescription fd = widget.PangoContext.FontDescription.Copy();
- fd.Weight = Selected ? Pango.Weight.Bold : Pango.Weight.Normal;
- if(Italicized/* || source.HasEmphasis*/) {
- fd.Style = Pango.Style.Italic;
- hideCounts = true;
- }
- titleLayout.FontDescription = fd;
- countLayout.FontDescription = fd;
-
- titleLayout.SetMarkup("...");
- titleLayout.GetPixelSize(out titleLayoutWidth, out titleLayoutHeight);
- int ellipsisSize = titleLayoutWidth;
-
- string titleText = source.Name;
- titleLayout.SetMarkup(GLib.Markup.EscapeText(titleText));
- countLayout.SetMarkup("<span size=\"small\">(" + source.Count + ")</span>");
-
- titleLayout.GetPixelSize(out titleLayoutWidth, out titleLayoutHeight);
- countLayout.GetPixelSize(out countLayoutWidth, out countLayoutHeight);
-
- maxTitleLayoutWidth = cell_area.Width - (icon == null ? 0 : icon.Width) - countLayoutWidth - 10;
-
- if(titleLayoutWidth > maxTitleLayoutWidth) {
- float ratio = (float)(maxTitleLayoutWidth - ellipsisSize) / (float)titleLayoutWidth;
- int characters = (int)(ratio * (float)titleText.Length);
- do {
- if(characters > 0) {
- titleLayout.SetMarkup(GLib.Markup.EscapeText(
- titleText.Substring(0, characters--)).Trim() + "...");
- titleLayout.GetPixelSize(out titleLayoutWidth, out titleLayoutHeight);
- } else {
- hideCounts = true;
- titleLayout.SetMarkup(GLib.Markup.EscapeText(titleText.Trim()));
- break;
- }
- } while (titleLayoutWidth > maxTitleLayoutWidth);
- }
-
- Gdk.GC mainGC = widget.Style.TextGC(state);
-
- if(icon != null) {
- drawable.DrawPixbuf(mainGC, icon, 0, 0,
- cell_area.X + 0,
- cell_area.Y + ((cell_area.Height - icon.Height) / 2),
- icon.Width, icon.Height,
- RgbDither.None, 0, 0);
- }
-
- drawable.DrawLayout(mainGC,
- cell_area.X + (icon == null ? 0 : icon.Width) + 6,
- cell_area.Y + ((cell_area.Height - titleLayoutHeight) / 2) + 1,
- titleLayout);
-
- if(hideCounts) {
- return;
- }
-
- Gdk.GC modGC = widget.Style.TextGC(state);
- if(!state.Equals(StateType.Selected)) {
- modGC = new Gdk.GC(drawable);
- modGC.Copy(widget.Style.TextGC(state));
- Gdk.Color fgcolor = widget.Style.Foreground(state);
- Gdk.Color bgcolor = widget.Style.Background(state);
- //modGC.RgbFgColor = Utilities.ColorBlend(fgcolor, bgcolor);
- modGC.RgbBgColor = fgcolor;
- }
-
- drawable.DrawLayout(modGC,
- (cell_area.X + cell_area.Width) - countLayoutWidth - 2,
- cell_area.Y + ((cell_area.Height - countLayoutHeight) / 2) + 1,
- countLayout);
- }
-
- public override CellEditable StartEditing(Gdk.Event evnt , Widget widget,
- string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area,
- CellRendererState flags)
- {
- CellEdit text = new CellEdit();
- text.EditingDone += OnEditDone;
- text.Text = source.Name;
- text.path = path;
- text.Show();
-
- view.EditingRow = true;
-
- return text;
- }
-
- private void OnEditDone(object o, EventArgs args)
- {
- CellEdit edit = o as CellEdit;
- if(view == null) {
- return;
- }
-
- view.EditingRow = false;
- view.UpdateRow(new TreePath(edit.path), edit.Text);
+ private bool editing_row = false;
+ public bool EditingRow {
+ get { return editing_row; }
+ set { editing_row = value; }
}
}
}
Modified: trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp (original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Banshee.ThickClient.mdp Sun Jan 27 00:34:20 2008
@@ -60,7 +60,6 @@
<File name="Banshee.Collection.Gui/ColumnCellDuration.cs" subtype="Code" buildaction="Compile" />
<File name="Banshee.Gui.Dialogs/TrackEditor.cs" subtype="Code" buildaction="Compile" />
<File name="Banshee.Collection.Gui/ArtworkRenderer.cs" subtype="Code" buildaction="Compile" />
- <File name="Banshee.Gui/ViewActions.cs" subtype="Code" buildaction="Compile" />
<File name="Banshee.Gui/TrackActions.cs" subtype="Code" buildaction="Compile" />
<File name="Banshee.Gui.Widgets/ArtworkPopup.cs" subtype="Code" buildaction="Compile" />
<File name="Banshee.AudioProfiles.Gui/ProfileComboBox.cs" subtype="Code" buildaction="Compile" />
@@ -72,6 +71,13 @@
<File name="Banshee.Gui/BansheeActionGroup.cs" subtype="Code" buildaction="Compile" />
<File name="Banshee.Gui/IHasSourceView.cs" subtype="Code" buildaction="Compile" />
<File name="Banshee.Gui/SourceActions.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.Equalizer.Gui/EqualizerBandScale.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.Equalizer.Gui/EqualizerLevelsBox.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.Equalizer.Gui/EqualizerPresetComboBox.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.Equalizer.Gui/EqualizerView.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.Equalizer.Gui/EqualizerWindow.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.Sources.Gui/CellEditEntry.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.Sources.Gui/SourceRowRenderer.cs" subtype="Code" buildaction="Compile" />
</Contents>
<References>
<ProjectReference type="Project" localcopy="False" refto="Hyena.Gui" />
@@ -97,4 +103,4 @@
<AsmRefVar />
<ProjectRefVar />
</MonoDevelop.Autotools.MakefileInfo>
-</Project>
\ No newline at end of file
+</Project>
Modified: trunk/banshee/src/Core/Banshee.ThickClient/Makefile.am
==============================================================================
--- trunk/banshee/src/Core/Banshee.ThickClient/Makefile.am (original)
+++ trunk/banshee/src/Core/Banshee.ThickClient/Makefile.am Sun Jan 27 00:34:20 2008
@@ -59,6 +59,8 @@
Banshee.Library.Gui/FileImportSource.cs \
Banshee.Library.Gui/FolderImportSource.cs \
Banshee.Library.Gui/ImportDialog.cs \
+ Banshee.Sources.Gui/CellEditEntry.cs \
+ Banshee.Sources.Gui/SourceRowRenderer.cs \
Banshee.Sources.Gui/SourceView.cs
RESOURCES = \
Modified: trunk/banshee/src/Core/Hyena.Gui/Hyena.Gui/GtkUtilities.cs
==============================================================================
--- trunk/banshee/src/Core/Hyena.Gui/Hyena.Gui/GtkUtilities.cs (original)
+++ trunk/banshee/src/Core/Hyena.Gui/Hyena.Gui/GtkUtilities.cs Sun Jan 27 00:34:20 2008
@@ -59,5 +59,38 @@
return true;
}
+
+ public static Gdk.Color ColorBlend (Gdk.Color a, Gdk.Color b)
+ {
+ // at some point, might be nice to allow any blend?
+ double blend = 0.5;
+
+ if (blend < 0.0 || blend > 1.0) {
+ throw new ApplicationException ("blend < 0.0 || blend > 1.0");
+ }
+
+ double blendRatio = 1.0 - blend;
+
+ int aR = a.Red >> 8;
+ int aG = a.Green >> 8;
+ int aB = a.Blue >> 8;
+
+ int bR = b.Red >> 8;
+ int bG = b.Green >> 8;
+ int bB = b.Blue >> 8;
+
+ double mR = aR + bR;
+ double mG = aG + bG;
+ double mB = aB + bB;
+
+ double blR = mR * blendRatio;
+ double blG = mG * blendRatio;
+ double blB = mB * blendRatio;
+
+ Gdk.Color color = new Gdk.Color ((byte)blR, (byte)blG, (byte)blB);
+ Gdk.Colormap.System.AllocColor (ref color, true, true);
+ return color;
+ }
+
}
}
Modified: trunk/banshee/src/Core/Hyena/Hyena.mdp
==============================================================================
--- trunk/banshee/src/Core/Hyena/Hyena.mdp (original)
+++ trunk/banshee/src/Core/Hyena/Hyena.mdp Sun Jan 27 00:34:20 2008
@@ -8,7 +8,6 @@
</Configuration>
</Configurations>
<Contents>
- <File name="Timer.cs" subtype="Code" buildaction="Compile" />
<File name="Hyena.Data/ICareAboutView.cs" subtype="Code" buildaction="Compile" />
<File name="Hyena.Data/IFilterable.cs" subtype="Code" buildaction="Compile" />
<File name="Hyena.Data/IListModel.cs" subtype="Code" buildaction="Compile" />
@@ -48,6 +47,14 @@
<File name="Hyena.Data.Sqlite/ICacheableDatabaseModel.cs" subtype="Code" buildaction="Compile" />
<File name="Hyena.Data/ModelCache.cs" subtype="Code" buildaction="Compile" />
<File name="Hyena.Data.Sqlite/SqliteModelCache.cs" subtype="Code" buildaction="Compile" />
+ <File name="Hyena.Data.Query/DateQueryValue.cs" subtype="Code" buildaction="Compile" />
+ <File name="Hyena.Data.Query/FileSizeQueryValue.cs" subtype="Code" buildaction="Compile" />
+ <File name="Hyena.Data.Query/IntegerQueryValue.cs" subtype="Code" buildaction="Compile" />
+ <File name="Hyena.Data.Query/QueryOperator.cs" subtype="Code" buildaction="Compile" />
+ <File name="Hyena.Data.Query/QueryValue.cs" subtype="Code" buildaction="Compile" />
+ <File name="Hyena.Data.Query/StringQueryValue.cs" subtype="Code" buildaction="Compile" />
+ <File name="Hyena/Timer.cs" subtype="Code" buildaction="Compile" />
+ <File name="Hyena/Utilities.cs" subtype="Code" buildaction="Compile" />
</Contents>
<References>
<ProjectReference type="Gac" localcopy="True" refto="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
Modified: trunk/banshee/src/Extensions/Banshee.MultimediaKeys/Banshee.MultimediaKeys.mdp
==============================================================================
--- trunk/banshee/src/Extensions/Banshee.MultimediaKeys/Banshee.MultimediaKeys.mdp (original)
+++ trunk/banshee/src/Extensions/Banshee.MultimediaKeys/Banshee.MultimediaKeys.mdp Sun Jan 27 00:34:20 2008
@@ -24,4 +24,4 @@
<AsmRefVar />
<ProjectRefVar />
</MonoDevelop.Autotools.MakefileInfo>
-</Project>
+</Project>
\ No newline at end of file
Modified: trunk/banshee/src/Extensions/Extensions.mds
==============================================================================
--- trunk/banshee/src/Extensions/Extensions.mds (original)
+++ trunk/banshee/src/Extensions/Extensions.mds Sun Jan 27 00:34:20 2008
@@ -12,4 +12,4 @@
<Entry filename="Banshee.NotificationArea/Banshee.NotificationArea.mdp" />
<Entry filename="Banshee.MultimediaKeys/Banshee.MultimediaKeys.mdp" />
</Entries>
-</Combine>
+</Combine>
\ No newline at end of file
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]