blam r679 - trunk/src
- From: cmartin svn gnome org
- To: svn-commits-list gnome org
- Subject: blam r679 - trunk/src
- Date: Tue, 10 Mar 2009 01:39:26 +0000 (UTC)
Author: cmartin
Date: Tue Mar 10 01:39:26 2009
New Revision: 679
URL: http://svn.gnome.org/viewvc/blam?rev=679&view=rev
Log:
Make channel-in-group automagically get shown in the channel list.
Overload ChannelCollection's Add() to show add the channel inside the group of the
TreeView.
Modified:
trunk/src/Application.cs
trunk/src/ChannelCollection.cs
trunk/src/ChannelGroup.cs
trunk/src/ChannelList.cs
trunk/src/Delegates.cs
Modified: trunk/src/Application.cs
==============================================================================
--- trunk/src/Application.cs (original)
+++ trunk/src/Application.cs Tue Mar 10 01:39:26 2009
@@ -164,6 +164,7 @@
mCollection.ChannelUpdated += ChannelUpdatedCb;
mCollection.ChannelAdded += ChannelAddedCb;
+ mCollection.ChannelGroupAdded += ChannelGroupAddedCb;
mCollection.ChannelRemoved += ChannelRemovedCb;
mCollection.ChannelRefreshStarted += ChannelRefreshStartedCb;
mCollection.ChannelRefreshFinished += ChannelRefreshFinishedCb;
@@ -683,6 +684,11 @@
channelList.Add (channel);
}
+ private void ChannelGroupAddedCb(IChannel group, IChannel chan)
+ {
+ channelList.AddToGroup(group, chan);
+ }
+
private void ChannelUpdatedCb (IChannel channel)
{
channelList.Updated (channel);
Modified: trunk/src/ChannelCollection.cs
==============================================================================
--- trunk/src/ChannelCollection.cs (original)
+++ trunk/src/ChannelCollection.cs Tue Mar 10 01:39:26 2009
@@ -18,6 +18,7 @@
public class ChannelCollection {
public event ChannelEventHandler ChannelAdded;
+ public event ChannelGroupEventHandler ChannelGroupAdded;
public event ChannelEventHandler ChannelUpdated;
public event ChannelEventHandler ChannelRemoved;
@@ -166,6 +167,18 @@
MarkAsDirty(true);
}
+ public void Add(ChannelGroup group, IChannel channel)
+ {
+ group.Add(channel);
+ Refresh(channel);
+
+ if(ChannelGroupAdded != null){
+ ChannelGroupAdded(group, channel);
+ }
+
+ MarkAsDirty(true);
+ }
+
public void Update (IChannel channel)
{
MarkAsDirty (true);
Modified: trunk/src/ChannelGroup.cs
==============================================================================
--- trunk/src/ChannelGroup.cs (original)
+++ trunk/src/ChannelGroup.cs Tue Mar 10 01:39:26 2009
@@ -92,6 +92,14 @@
public void Add(IChannel chan)
{
+ foreach(Channel ch in Channels){
+ if(ch.Url == chan.Url)
+ return;
+ }
+
+ if(chan.Name == null)
+ chan.Name = chan.Url;
+
Channels.Add(chan);
}
Modified: trunk/src/ChannelList.cs
==============================================================================
--- trunk/src/ChannelList.cs (original)
+++ trunk/src/ChannelList.cs Tue Mar 10 01:39:26 2009
@@ -150,9 +150,7 @@
}
Blam.Application.TheApp.CCollection.Remove(src);
- (dst as ChannelGroup).Add(src);
- src.Iter = (Model as TreeStore).AppendValues(dst.Iter, src);
- Model.EmitRowChanged(path, iter);
+ Blam.Application.TheApp.CCollection.Add(dst as ChannelGroup, src);
}
}
@@ -176,6 +174,11 @@
channel.Iter = (this.Model as TreeStore).AppendValues(channel);
}
+ public void AddToGroup(IChannel group, IChannel channel)
+ {
+ channel.Iter = (Model as TreeStore).AppendValues(group.Iter, channel);
+ }
+
public void AddGroup(IChannel channel)
{
TreeIter iter = (this.Model as TreeStore).AppendValues(channel);
Modified: trunk/src/Delegates.cs
==============================================================================
--- trunk/src/Delegates.cs (original)
+++ trunk/src/Delegates.cs Tue Mar 10 01:39:26 2009
@@ -8,6 +8,7 @@
namespace Imendio.Blam {
public delegate void BlamEventHandler ();
public delegate void ChannelEventHandler (IChannel channel);
+ public delegate void ChannelGroupEventHandler (IChannel group, IChannel channel);
public delegate void ActionFinishedHandler (string status);
public delegate void StringUpdatedHandler (string str);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]