[blam/gtk3] Wire up the refresh menu button
- From: Carlos Martín Nieto <cmartin src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [blam/gtk3] Wire up the refresh menu button
- Date: Mon, 14 Oct 2013 09:59:10 +0000 (UTC)
commit 872b45528a8a62370579c0831078914229e06804
Author: Carlos Martín Nieto <cmn dwim me>
Date: Mon Oct 14 11:59:37 2013 +0200
Wire up the refresh menu button
src/Blam.cs | 9 +++++++++
src/ChannelList.cs | 15 +++++++++++----
src/blam.ui | 4 ++--
3 files changed, 22 insertions(+), 6 deletions(-)
---
diff --git a/src/Blam.cs b/src/Blam.cs
index b29ed83..b7664bd 100644
--- a/src/Blam.cs
+++ b/src/Blam.cs
@@ -122,6 +122,15 @@ namespace Blam
}
});
+ item = bld.GetObject<MenuItem>("menu-refresh");
+ Observable.Merge(
+ item.ObserveActivated().Select(_ => Unit.Default),
+ FeedList.ObserveRefresh)
+ .Subscribe(async _ => {
+ var chan = FeedList.GetSelected();
+ chan.RefreshAsync();
+ });
+
item = bld.GetObject<MenuItem>("menu-preferences");
Observable.Merge(
item.ObserveActivated().Select(_ => Unit.Default),
diff --git a/src/ChannelList.cs b/src/ChannelList.cs
index 53fa17d..12f7eab 100644
--- a/src/ChannelList.cs
+++ b/src/ChannelList.cs
@@ -16,6 +16,7 @@ using System.Runtime.InteropServices;
using System.Collections.ObjectModel;
using System.Reactive;
using System.Reactive.Linq;
+using System.Reactive.Subjects;
using System.ComponentModel;
using System.Threading;
using Mono.Unix;
@@ -26,11 +27,19 @@ namespace Blam
using IChannel = Imendio.Blam.IChannel;
using ChannelGroup = Imendio.Blam.ChannelGroup;
using ChannelMenu = Imendio.Blam.ChannelMenu;
+ using Unit = System.Reactive.Unit;
public class FeedList : Gtk.TreeView
{
public Gtk.Window MainWindow;
+ Subject<Unit> refreshSubject;
+ public IObservable<Unit> ObserveRefresh {
+ get {
+ return refreshSubject;
+ }
+ }
+
TreeViewColumn name_col;
ChannelMenu Popup;
@@ -161,11 +170,9 @@ namespace Blam
}
}
+ refreshSubject = new Subject<Unit>();
Popup = new ChannelMenu();
- Popup.RefreshSelected += async () => {
- var chan = GetSelected();
- await chan.RefreshAsync();
- };
+ Popup.RefreshSelected += () => refreshSubject.OnNext(Unit.Default);
Popup.MarkAsReadSelected += () => GetSelected().MarkAsRead();
Popup.EditSelected += editCurrent;
diff --git a/src/blam.ui b/src/blam.ui
index e840f54..f824427 100644
--- a/src/blam.ui
+++ b/src/blam.ui
@@ -130,7 +130,7 @@
</object>
</child>
<child>
- <object class="GtkImageMenuItem" id="refreshChannelMenuItem">
+ <object class="GtkImageMenuItem" id="menu-refresh">
<property name="label">gtk-refresh</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -148,7 +148,7 @@
</object>
</child>
<child>
- <object class="GtkImageMenuItem" id="editChannelMenuItem">
+ <object class="GtkImageMenuItem" id="menu-edit-channel">
<property name="label">gtk-edit</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]