Skip to content

Commit

Permalink
Display language flags on top stream tiles.
Browse files Browse the repository at this point in the history
Partial completion of issue #2
  • Loading branch information
laurencee committed Jan 15, 2016
1 parent f1217e6 commit 76a9482
Show file tree
Hide file tree
Showing 258 changed files with 384 additions and 28 deletions.
4 changes: 2 additions & 2 deletions GlobalAssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,5 @@
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]

[assembly: AssemblyVersion("1.8.6.0")]
[assembly: AssemblyFileVersion("1.8.6.0")]
[assembly: AssemblyVersion("1.9.0.0")]
[assembly: AssemblyFileVersion("1.9.0.0")]
2 changes: 2 additions & 0 deletions Livestream.Monitor/App.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
<ui:InvertedBoolenConverter x:Key="InvertedBoolenConverter" />
<ui:TotalHoursTimespanConverter x:Key="TotalHoursTimespanConverter" />
<ui:CountryIdToFlagImageSourceConverter x:Key="CountryIdToFlagImageSourceConverter" />

<system:String x:Key="BackButtonText">&#9664;</system:String>
<system:String x:Key="BackButtonTooltipText">Go back to livestream list</system:String>

Expand Down
85 changes: 85 additions & 0 deletions Livestream.Monitor/Core/UI/CountryIdToFlagImageSourceConverter.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
/*
* Created by Drew Noakes
* 20 May 2009
* http://drewnoakes.com
*/

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Windows;
using System.Windows.Data;
using System.Windows.Media.Imaging;

namespace Livestream.Monitor.Core.UI
{
/// <summary>
/// Provides an image source for the flag of a country, as specified via the country's two letter ISO code.
/// </summary>
/// <remarks>
/// Flag images used by this converter have been provided by FamFamFam and are publicaly available at:
/// http://www.famfamfam.com/lab/icons/flags/
/// </remarks>
[ValueConversion(typeof(string), typeof(BitmapImage))]
public sealed class CountryIdToFlagImageSourceConverter : IValueConverter
{
private const string AllCountryIdsString
= "ad,ae,af,ag,ai,al,am,an,ao,ar,as,at,au,aw,ax,az,ba,bb,bd,be,bf,bg,bh,bi,bj,bm,bn,bo,br,bs,bt,bv,bw,by,"
+ "bz,ca,catalonia,cc,cd,cf,cg,ch,ci,ck,cl,cm,cn,co,cr,cs,cu,cv,cx,cy,cz,de,dj,dk,dm,do,dz,ec,ee,eg,eh,en,"
+ "er,es,et,eu,fi,fj,fk,fm,fo,fr,ga,gb,gd,ge,gf,gg,gh,gi,gl,gm,gn,gp,gq,gr,gs,gt,gu,gw,gy,hk,hm,hn,hr,ht,hu,"
+ "id,ie,il,in,io,iq,ir,is,it,jm,jo,jp,ke,kg,kh,ki,km,kn,kp,kr,kw,ky,kz,la,lb,lc,li,lk,lr,ls,lt,lu,lv,ly,ma,"
+ "mc,md,me,mg,mh,mk,ml,mm,mn,mo,mp,mq,mr,ms,mt,mu,mv,mw,mx,my,mz,na,nc,ne,nf,ng,ni,nl,no,np,nr,nu,nz,om,pa,"
+ "pe,pf,pg,ph,pk,pl,pm,pn,pr,ps,pt,pw,py,qa,re,ro,rs,ru,rw,sa,sb,sc,scotland,sd,se,sg,sh,si,sj,sk,sl,sm,sn,"
+ "so,sr,st,sv,sy,sz,tc,td,tf,tg,th,tj,tk,tl,tm,tn,to,tr,tt,tv,tw,tz,ua,ug,um,us,uy,uz,va,vc,ve,vg,vi,vn,vu,"
+ "wales,wf,ws,ye,yt,za,zm,zw";

/// <summary>
/// Returns an enumerable set of country ids supported by this set of flags.
/// </summary>
public static IEnumerable<string> AllCountryIds
{
get
{
int startIndex = 0;
int endIndex;
while ((endIndex = AllCountryIdsString.IndexOf(',', startIndex)) != -1)
{
yield return AllCountryIdsString.Substring(startIndex, endIndex - startIndex);
startIndex = endIndex + 1;
}
}
}

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var countryId = value as string;

if (countryId == null)
return null;

try
{
var path = $"/Livestream.Monitor;component/Images/CountryFlags/{countryId.ToLower()}.png";
var uri = new Uri(path, UriKind.Relative);
var resourceStream = Application.GetResourceStream(uri);
if (resourceStream == null)
return null;

var bitmap = new BitmapImage();
bitmap.BeginInit();
bitmap.StreamSource = resourceStream.Stream;
bitmap.EndInit();
return bitmap;
}
catch
{
return null;
}
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotSupportedException();
}
}
}
Binary file added Livestream.Monitor/Images/CountryFlags/ad.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/ae.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/af.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/ag.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/ai.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/al.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/am.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/an.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/ao.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/ar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/as.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/at.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/au.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/aw.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/ax.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/az.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/ba.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/bb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/bd.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/be.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/bf.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/bg.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/bh.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/bi.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/bj.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Livestream.Monitor/Images/CountryFlags/bm.png
Binary file added Livestream.Monitor/Images/CountryFlags/bn.png
Binary file added Livestream.Monitor/Images/CountryFlags/bo.png
Binary file added Livestream.Monitor/Images/CountryFlags/br.png
Binary file added Livestream.Monitor/Images/CountryFlags/bs.png
Binary file added Livestream.Monitor/Images/CountryFlags/bt.png
Binary file added Livestream.Monitor/Images/CountryFlags/bv.png
Binary file added Livestream.Monitor/Images/CountryFlags/bw.png
Binary file added Livestream.Monitor/Images/CountryFlags/by.png
Binary file added Livestream.Monitor/Images/CountryFlags/bz.png
Binary file added Livestream.Monitor/Images/CountryFlags/ca.png
Binary file added Livestream.Monitor/Images/CountryFlags/catalonia.png
Binary file added Livestream.Monitor/Images/CountryFlags/cc.png
Binary file added Livestream.Monitor/Images/CountryFlags/cd.png
Binary file added Livestream.Monitor/Images/CountryFlags/cf.png
Binary file added Livestream.Monitor/Images/CountryFlags/cg.png
Binary file added Livestream.Monitor/Images/CountryFlags/ch.png
Binary file added Livestream.Monitor/Images/CountryFlags/ci.png
Binary file added Livestream.Monitor/Images/CountryFlags/ck.png
Binary file added Livestream.Monitor/Images/CountryFlags/cl.png
Binary file added Livestream.Monitor/Images/CountryFlags/cm.png
Binary file added Livestream.Monitor/Images/CountryFlags/cn.png
Binary file added Livestream.Monitor/Images/CountryFlags/co.png
Binary file added Livestream.Monitor/Images/CountryFlags/cr.png
Binary file added Livestream.Monitor/Images/CountryFlags/cs.png
Binary file added Livestream.Monitor/Images/CountryFlags/cu.png
Binary file added Livestream.Monitor/Images/CountryFlags/cv.png
Binary file added Livestream.Monitor/Images/CountryFlags/cx.png
Binary file added Livestream.Monitor/Images/CountryFlags/cy.png
Binary file added Livestream.Monitor/Images/CountryFlags/cz.png
Binary file added Livestream.Monitor/Images/CountryFlags/de.png
Binary file added Livestream.Monitor/Images/CountryFlags/dj.png
Binary file added Livestream.Monitor/Images/CountryFlags/dk.png
Binary file added Livestream.Monitor/Images/CountryFlags/dm.png
Binary file added Livestream.Monitor/Images/CountryFlags/do.png
Binary file added Livestream.Monitor/Images/CountryFlags/dz.png
Binary file added Livestream.Monitor/Images/CountryFlags/ec.png
Binary file added Livestream.Monitor/Images/CountryFlags/ee.png
Binary file added Livestream.Monitor/Images/CountryFlags/eg.png
Binary file added Livestream.Monitor/Images/CountryFlags/eh.png
Binary file added Livestream.Monitor/Images/CountryFlags/en.png
Binary file added Livestream.Monitor/Images/CountryFlags/er.png
Binary file added Livestream.Monitor/Images/CountryFlags/es.png
Binary file added Livestream.Monitor/Images/CountryFlags/et.png
Binary file added Livestream.Monitor/Images/CountryFlags/eu.png
Binary file added Livestream.Monitor/Images/CountryFlags/fi.png
Binary file added Livestream.Monitor/Images/CountryFlags/fj.png
Binary file added Livestream.Monitor/Images/CountryFlags/fk.png
Binary file added Livestream.Monitor/Images/CountryFlags/fm.png
Binary file added Livestream.Monitor/Images/CountryFlags/fo.png
Binary file added Livestream.Monitor/Images/CountryFlags/fr.png
Binary file added Livestream.Monitor/Images/CountryFlags/ga.png
Binary file added Livestream.Monitor/Images/CountryFlags/gb.png
Binary file added Livestream.Monitor/Images/CountryFlags/gd.png
Binary file added Livestream.Monitor/Images/CountryFlags/ge.png
Binary file added Livestream.Monitor/Images/CountryFlags/gf.png
Binary file added Livestream.Monitor/Images/CountryFlags/gg.png
Binary file added Livestream.Monitor/Images/CountryFlags/gh.png
Binary file added Livestream.Monitor/Images/CountryFlags/gi.png
Binary file added Livestream.Monitor/Images/CountryFlags/gl.png
Binary file added Livestream.Monitor/Images/CountryFlags/gm.png
Binary file added Livestream.Monitor/Images/CountryFlags/gn.png
Binary file added Livestream.Monitor/Images/CountryFlags/gp.png
Binary file added Livestream.Monitor/Images/CountryFlags/gq.png
Binary file added Livestream.Monitor/Images/CountryFlags/gr.png
Binary file added Livestream.Monitor/Images/CountryFlags/gs.png
Binary file added Livestream.Monitor/Images/CountryFlags/gt.png
Binary file added Livestream.Monitor/Images/CountryFlags/gu.png
Binary file added Livestream.Monitor/Images/CountryFlags/gw.png
Binary file added Livestream.Monitor/Images/CountryFlags/gy.png
Binary file added Livestream.Monitor/Images/CountryFlags/hk.png
Binary file added Livestream.Monitor/Images/CountryFlags/hm.png
Binary file added Livestream.Monitor/Images/CountryFlags/hn.png
Binary file added Livestream.Monitor/Images/CountryFlags/hr.png
Binary file added Livestream.Monitor/Images/CountryFlags/ht.png
Binary file added Livestream.Monitor/Images/CountryFlags/hu.png
Binary file added Livestream.Monitor/Images/CountryFlags/id.png
Binary file added Livestream.Monitor/Images/CountryFlags/ie.png
Binary file added Livestream.Monitor/Images/CountryFlags/il.png
Binary file added Livestream.Monitor/Images/CountryFlags/in.png
Binary file added Livestream.Monitor/Images/CountryFlags/io.png
Binary file added Livestream.Monitor/Images/CountryFlags/iq.png
Binary file added Livestream.Monitor/Images/CountryFlags/ir.png
Binary file added Livestream.Monitor/Images/CountryFlags/is.png
Binary file added Livestream.Monitor/Images/CountryFlags/it.png
Binary file added Livestream.Monitor/Images/CountryFlags/jm.png
Binary file added Livestream.Monitor/Images/CountryFlags/jo.png
Binary file added Livestream.Monitor/Images/CountryFlags/jp.png
Binary file added Livestream.Monitor/Images/CountryFlags/ke.png
Binary file added Livestream.Monitor/Images/CountryFlags/kg.png
Binary file added Livestream.Monitor/Images/CountryFlags/kh.png
Binary file added Livestream.Monitor/Images/CountryFlags/ki.png
Binary file added Livestream.Monitor/Images/CountryFlags/km.png
Binary file added Livestream.Monitor/Images/CountryFlags/kn.png
Binary file added Livestream.Monitor/Images/CountryFlags/kp.png
Binary file added Livestream.Monitor/Images/CountryFlags/kr.png
Binary file added Livestream.Monitor/Images/CountryFlags/kw.png
Binary file added Livestream.Monitor/Images/CountryFlags/ky.png
Binary file added Livestream.Monitor/Images/CountryFlags/kz.png
Binary file added Livestream.Monitor/Images/CountryFlags/la.png
Binary file added Livestream.Monitor/Images/CountryFlags/lb.png
Binary file added Livestream.Monitor/Images/CountryFlags/lc.png
Binary file added Livestream.Monitor/Images/CountryFlags/li.png
Binary file added Livestream.Monitor/Images/CountryFlags/lk.png
Binary file added Livestream.Monitor/Images/CountryFlags/lr.png
Binary file added Livestream.Monitor/Images/CountryFlags/ls.png
Binary file added Livestream.Monitor/Images/CountryFlags/lt.png
Binary file added Livestream.Monitor/Images/CountryFlags/lu.png
Binary file added Livestream.Monitor/Images/CountryFlags/lv.png
Binary file added Livestream.Monitor/Images/CountryFlags/ly.png
Binary file added Livestream.Monitor/Images/CountryFlags/ma.png
Binary file added Livestream.Monitor/Images/CountryFlags/mc.png
Binary file added Livestream.Monitor/Images/CountryFlags/md.png
Binary file added Livestream.Monitor/Images/CountryFlags/me.png
Binary file added Livestream.Monitor/Images/CountryFlags/mg.png
Binary file added Livestream.Monitor/Images/CountryFlags/mh.png
Binary file added Livestream.Monitor/Images/CountryFlags/mk.png
Binary file added Livestream.Monitor/Images/CountryFlags/ml.png
Binary file added Livestream.Monitor/Images/CountryFlags/mm.png
Binary file added Livestream.Monitor/Images/CountryFlags/mn.png
Binary file added Livestream.Monitor/Images/CountryFlags/mo.png
Binary file added Livestream.Monitor/Images/CountryFlags/mp.png
Binary file added Livestream.Monitor/Images/CountryFlags/mq.png
Binary file added Livestream.Monitor/Images/CountryFlags/mr.png
Binary file added Livestream.Monitor/Images/CountryFlags/ms.png
Binary file added Livestream.Monitor/Images/CountryFlags/mt.png
Binary file added Livestream.Monitor/Images/CountryFlags/mu.png
Binary file added Livestream.Monitor/Images/CountryFlags/mv.png
Binary file added Livestream.Monitor/Images/CountryFlags/mw.png
Binary file added Livestream.Monitor/Images/CountryFlags/mx.png
Binary file added Livestream.Monitor/Images/CountryFlags/my.png
Binary file added Livestream.Monitor/Images/CountryFlags/mz.png
Binary file added Livestream.Monitor/Images/CountryFlags/na.png
Binary file added Livestream.Monitor/Images/CountryFlags/nc.png
Binary file added Livestream.Monitor/Images/CountryFlags/ne.png
Binary file added Livestream.Monitor/Images/CountryFlags/nf.png
Binary file added Livestream.Monitor/Images/CountryFlags/ng.png
Binary file added Livestream.Monitor/Images/CountryFlags/ni.png
Binary file added Livestream.Monitor/Images/CountryFlags/nl.png
Binary file added Livestream.Monitor/Images/CountryFlags/no.png
Binary file added Livestream.Monitor/Images/CountryFlags/np.png
Binary file added Livestream.Monitor/Images/CountryFlags/nr.png
Binary file added Livestream.Monitor/Images/CountryFlags/nu.png
Binary file added Livestream.Monitor/Images/CountryFlags/nz.png
Binary file added Livestream.Monitor/Images/CountryFlags/om.png
Binary file added Livestream.Monitor/Images/CountryFlags/pa.png
Binary file added Livestream.Monitor/Images/CountryFlags/pe.png
Binary file added Livestream.Monitor/Images/CountryFlags/pf.png
Binary file added Livestream.Monitor/Images/CountryFlags/pg.png
Binary file added Livestream.Monitor/Images/CountryFlags/ph.png
Binary file added Livestream.Monitor/Images/CountryFlags/pk.png
Binary file added Livestream.Monitor/Images/CountryFlags/pl.png
Binary file added Livestream.Monitor/Images/CountryFlags/pm.png
Binary file added Livestream.Monitor/Images/CountryFlags/pn.png
Binary file added Livestream.Monitor/Images/CountryFlags/pr.png
Binary file added Livestream.Monitor/Images/CountryFlags/ps.png
Binary file added Livestream.Monitor/Images/CountryFlags/pt.png
Binary file added Livestream.Monitor/Images/CountryFlags/pw.png
Binary file added Livestream.Monitor/Images/CountryFlags/py.png
Binary file added Livestream.Monitor/Images/CountryFlags/qa.png
Binary file added Livestream.Monitor/Images/CountryFlags/re.png
Binary file added Livestream.Monitor/Images/CountryFlags/ro.png
Binary file added Livestream.Monitor/Images/CountryFlags/rs.png
Binary file added Livestream.Monitor/Images/CountryFlags/ru.png
Binary file added Livestream.Monitor/Images/CountryFlags/rw.png
Binary file added Livestream.Monitor/Images/CountryFlags/sa.png
Binary file added Livestream.Monitor/Images/CountryFlags/sb.png
Binary file added Livestream.Monitor/Images/CountryFlags/sc.png
Binary file added Livestream.Monitor/Images/CountryFlags/scotland.png
Binary file added Livestream.Monitor/Images/CountryFlags/sd.png
Binary file added Livestream.Monitor/Images/CountryFlags/se.png
Binary file added Livestream.Monitor/Images/CountryFlags/sg.png
Binary file added Livestream.Monitor/Images/CountryFlags/sh.png
Binary file added Livestream.Monitor/Images/CountryFlags/si.png
Binary file added Livestream.Monitor/Images/CountryFlags/sj.png
Binary file added Livestream.Monitor/Images/CountryFlags/sk.png
Binary file added Livestream.Monitor/Images/CountryFlags/sl.png
Binary file added Livestream.Monitor/Images/CountryFlags/sm.png
Binary file added Livestream.Monitor/Images/CountryFlags/sn.png
Binary file added Livestream.Monitor/Images/CountryFlags/so.png
Binary file added Livestream.Monitor/Images/CountryFlags/sr.png
Binary file added Livestream.Monitor/Images/CountryFlags/st.png
Binary file added Livestream.Monitor/Images/CountryFlags/sv.png
Binary file added Livestream.Monitor/Images/CountryFlags/sy.png
Binary file added Livestream.Monitor/Images/CountryFlags/sz.png
Binary file added Livestream.Monitor/Images/CountryFlags/tc.png
Binary file added Livestream.Monitor/Images/CountryFlags/td.png
Binary file added Livestream.Monitor/Images/CountryFlags/tf.png
Binary file added Livestream.Monitor/Images/CountryFlags/tg.png
Binary file added Livestream.Monitor/Images/CountryFlags/th.png
Binary file added Livestream.Monitor/Images/CountryFlags/tj.png
Binary file added Livestream.Monitor/Images/CountryFlags/tk.png
Binary file added Livestream.Monitor/Images/CountryFlags/tl.png
Binary file added Livestream.Monitor/Images/CountryFlags/tm.png
Binary file added Livestream.Monitor/Images/CountryFlags/tn.png
Binary file added Livestream.Monitor/Images/CountryFlags/to.png
Binary file added Livestream.Monitor/Images/CountryFlags/tr.png
Binary file added Livestream.Monitor/Images/CountryFlags/tt.png
Binary file added Livestream.Monitor/Images/CountryFlags/tv.png
Binary file added Livestream.Monitor/Images/CountryFlags/tw.png
Binary file added Livestream.Monitor/Images/CountryFlags/tz.png
Binary file added Livestream.Monitor/Images/CountryFlags/ua.png
Binary file added Livestream.Monitor/Images/CountryFlags/ug.png
Binary file added Livestream.Monitor/Images/CountryFlags/um.png
Binary file added Livestream.Monitor/Images/CountryFlags/us.png
Binary file added Livestream.Monitor/Images/CountryFlags/uy.png
Binary file added Livestream.Monitor/Images/CountryFlags/uz.png
Binary file added Livestream.Monitor/Images/CountryFlags/va.png
Binary file added Livestream.Monitor/Images/CountryFlags/vc.png
Binary file added Livestream.Monitor/Images/CountryFlags/ve.png
Binary file added Livestream.Monitor/Images/CountryFlags/vg.png
Binary file added Livestream.Monitor/Images/CountryFlags/vi.png
Binary file added Livestream.Monitor/Images/CountryFlags/vn.png
Binary file added Livestream.Monitor/Images/CountryFlags/vu.png
Binary file added Livestream.Monitor/Images/CountryFlags/wales.png
Binary file added Livestream.Monitor/Images/CountryFlags/wf.png
Binary file added Livestream.Monitor/Images/CountryFlags/ws.png
Binary file added Livestream.Monitor/Images/CountryFlags/ye.png
Binary file added Livestream.Monitor/Images/CountryFlags/yt.png
Binary file added Livestream.Monitor/Images/CountryFlags/za.png
Binary file added Livestream.Monitor/Images/CountryFlags/zm.png
Binary file added Livestream.Monitor/Images/CountryFlags/zw.png
251 changes: 250 additions & 1 deletion Livestream.Monitor/Livestream.Monitor.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@
<Compile Include="Core\INavigationService.cs" />
<Compile Include="Core\NavigationService.cs" />
<Compile Include="Core\UI\BindableBehaviors.cs" />
<Compile Include="Core\UI\CountryIdToFlagImageSourceConverter.cs" />
<Compile Include="Core\UI\InvertedBooleanConverter.cs" />
<Compile Include="Core\UI\RestrictTextBoxInputBehavior.cs" />
<Compile Include="Core\UI\TotalHoursTimespanConverter.cs" />
Expand Down Expand Up @@ -254,7 +255,255 @@
<Resource Include="Images\Live.png" />
<Resource Include="Images\Offline.png" />
</ItemGroup>
<ItemGroup />
<ItemGroup>
<Resource Include="Images\CountryFlags\ad.png" />
<Resource Include="Images\CountryFlags\ae.png" />
<Resource Include="Images\CountryFlags\af.png" />
<Resource Include="Images\CountryFlags\ag.png" />
<Resource Include="Images\CountryFlags\ai.png" />
<Resource Include="Images\CountryFlags\al.png" />
<Resource Include="Images\CountryFlags\am.png" />
<Resource Include="Images\CountryFlags\an.png" />
<Resource Include="Images\CountryFlags\ao.png" />
<Resource Include="Images\CountryFlags\ar.png" />
<Resource Include="Images\CountryFlags\as.png" />
<Resource Include="Images\CountryFlags\at.png" />
<Resource Include="Images\CountryFlags\au.png" />
<Resource Include="Images\CountryFlags\aw.png" />
<Resource Include="Images\CountryFlags\ax.png" />
<Resource Include="Images\CountryFlags\az.png" />
<Resource Include="Images\CountryFlags\ba.png" />
<Resource Include="Images\CountryFlags\bb.png" />
<Resource Include="Images\CountryFlags\bd.png" />
<Resource Include="Images\CountryFlags\be.png" />
<Resource Include="Images\CountryFlags\bf.png" />
<Resource Include="Images\CountryFlags\bg.png" />
<Resource Include="Images\CountryFlags\bh.png" />
<Resource Include="Images\CountryFlags\bi.png" />
<Resource Include="Images\CountryFlags\bj.png" />
<Resource Include="Images\CountryFlags\bm.png" />
<Resource Include="Images\CountryFlags\bn.png" />
<Resource Include="Images\CountryFlags\bo.png" />
<Resource Include="Images\CountryFlags\br.png" />
<Resource Include="Images\CountryFlags\bs.png" />
<Resource Include="Images\CountryFlags\bt.png" />
<Resource Include="Images\CountryFlags\bv.png" />
<Resource Include="Images\CountryFlags\bw.png" />
<Resource Include="Images\CountryFlags\by.png" />
<Resource Include="Images\CountryFlags\bz.png" />
<Resource Include="Images\CountryFlags\ca.png" />
<Resource Include="Images\CountryFlags\catalonia.png" />
<Resource Include="Images\CountryFlags\cc.png" />
<Resource Include="Images\CountryFlags\cd.png" />
<Resource Include="Images\CountryFlags\cf.png" />
<Resource Include="Images\CountryFlags\cg.png" />
<Resource Include="Images\CountryFlags\ch.png" />
<Resource Include="Images\CountryFlags\ci.png" />
<Resource Include="Images\CountryFlags\ck.png" />
<Resource Include="Images\CountryFlags\cl.png" />
<Resource Include="Images\CountryFlags\cm.png" />
<Resource Include="Images\CountryFlags\cn.png" />
<Resource Include="Images\CountryFlags\co.png" />
<Resource Include="Images\CountryFlags\cr.png" />
<Resource Include="Images\CountryFlags\cs.png" />
<Resource Include="Images\CountryFlags\cu.png" />
<Resource Include="Images\CountryFlags\cv.png" />
<Resource Include="Images\CountryFlags\cx.png" />
<Resource Include="Images\CountryFlags\cy.png" />
<Resource Include="Images\CountryFlags\cz.png" />
<Resource Include="Images\CountryFlags\de.png" />
<Resource Include="Images\CountryFlags\dj.png" />
<Resource Include="Images\CountryFlags\dk.png" />
<Resource Include="Images\CountryFlags\dm.png" />
<Resource Include="Images\CountryFlags\do.png" />
<Resource Include="Images\CountryFlags\dz.png" />
<Resource Include="Images\CountryFlags\ec.png" />
<Resource Include="Images\CountryFlags\ee.png" />
<Resource Include="Images\CountryFlags\eg.png" />
<Resource Include="Images\CountryFlags\eh.png" />
<Resource Include="Images\CountryFlags\en.png" />
<Resource Include="Images\CountryFlags\er.png" />
<Resource Include="Images\CountryFlags\es.png" />
<Resource Include="Images\CountryFlags\et.png" />
<Resource Include="Images\CountryFlags\eu.png" />
<Resource Include="Images\CountryFlags\fi.png" />
<Resource Include="Images\CountryFlags\fj.png" />
<Resource Include="Images\CountryFlags\fk.png" />
<Resource Include="Images\CountryFlags\fm.png" />
<Resource Include="Images\CountryFlags\fo.png" />
<Resource Include="Images\CountryFlags\fr.png" />
<Resource Include="Images\CountryFlags\ga.png" />
<Resource Include="Images\CountryFlags\gb.png" />
<Resource Include="Images\CountryFlags\gd.png" />
<Resource Include="Images\CountryFlags\ge.png" />
<Resource Include="Images\CountryFlags\gf.png" />
<Resource Include="Images\CountryFlags\gg.png" />
<Resource Include="Images\CountryFlags\gh.png" />
<Resource Include="Images\CountryFlags\gi.png" />
<Resource Include="Images\CountryFlags\gl.png" />
<Resource Include="Images\CountryFlags\gm.png" />
<Resource Include="Images\CountryFlags\gn.png" />
<Resource Include="Images\CountryFlags\gp.png" />
<Resource Include="Images\CountryFlags\gq.png" />
<Resource Include="Images\CountryFlags\gr.png" />
<Resource Include="Images\CountryFlags\gs.png" />
<Resource Include="Images\CountryFlags\gt.png" />
<Resource Include="Images\CountryFlags\gu.png" />
<Resource Include="Images\CountryFlags\gw.png" />
<Resource Include="Images\CountryFlags\gy.png" />
<Resource Include="Images\CountryFlags\hk.png" />
<Resource Include="Images\CountryFlags\hm.png" />
<Resource Include="Images\CountryFlags\hn.png" />
<Resource Include="Images\CountryFlags\hr.png" />
<Resource Include="Images\CountryFlags\ht.png" />
<Resource Include="Images\CountryFlags\hu.png" />
<Resource Include="Images\CountryFlags\id.png" />
<Resource Include="Images\CountryFlags\ie.png" />
<Resource Include="Images\CountryFlags\il.png" />
<Resource Include="Images\CountryFlags\in.png" />
<Resource Include="Images\CountryFlags\io.png" />
<Resource Include="Images\CountryFlags\iq.png" />
<Resource Include="Images\CountryFlags\ir.png" />
<Resource Include="Images\CountryFlags\is.png" />
<Resource Include="Images\CountryFlags\it.png" />
<Resource Include="Images\CountryFlags\jm.png" />
<Resource Include="Images\CountryFlags\jo.png" />
<Resource Include="Images\CountryFlags\jp.png" />
<Resource Include="Images\CountryFlags\ke.png" />
<Resource Include="Images\CountryFlags\kg.png" />
<Resource Include="Images\CountryFlags\kh.png" />
<Resource Include="Images\CountryFlags\ki.png" />
<Resource Include="Images\CountryFlags\km.png" />
<Resource Include="Images\CountryFlags\kn.png" />
<Resource Include="Images\CountryFlags\kp.png" />
<Resource Include="Images\CountryFlags\kr.png" />
<Resource Include="Images\CountryFlags\kw.png" />
<Resource Include="Images\CountryFlags\ky.png" />
<Resource Include="Images\CountryFlags\kz.png" />
<Resource Include="Images\CountryFlags\la.png" />
<Resource Include="Images\CountryFlags\lb.png" />
<Resource Include="Images\CountryFlags\lc.png" />
<Resource Include="Images\CountryFlags\li.png" />
<Resource Include="Images\CountryFlags\lk.png" />
<Resource Include="Images\CountryFlags\lr.png" />
<Resource Include="Images\CountryFlags\ls.png" />
<Resource Include="Images\CountryFlags\lt.png" />
<Resource Include="Images\CountryFlags\lu.png" />
<Resource Include="Images\CountryFlags\lv.png" />
<Resource Include="Images\CountryFlags\ly.png" />
<Resource Include="Images\CountryFlags\ma.png" />
<Resource Include="Images\CountryFlags\mc.png" />
<Resource Include="Images\CountryFlags\md.png" />
<Resource Include="Images\CountryFlags\me.png" />
<Resource Include="Images\CountryFlags\mg.png" />
<Resource Include="Images\CountryFlags\mh.png" />
<Resource Include="Images\CountryFlags\mk.png" />
<Resource Include="Images\CountryFlags\ml.png" />
<Resource Include="Images\CountryFlags\mm.png" />
<Resource Include="Images\CountryFlags\mn.png" />
<Resource Include="Images\CountryFlags\mo.png" />
<Resource Include="Images\CountryFlags\mp.png" />
<Resource Include="Images\CountryFlags\mq.png" />
<Resource Include="Images\CountryFlags\mr.png" />
<Resource Include="Images\CountryFlags\ms.png" />
<Resource Include="Images\CountryFlags\mt.png" />
<Resource Include="Images\CountryFlags\mu.png" />
<Resource Include="Images\CountryFlags\mv.png" />
<Resource Include="Images\CountryFlags\mw.png" />
<Resource Include="Images\CountryFlags\mx.png" />
<Resource Include="Images\CountryFlags\my.png" />
<Resource Include="Images\CountryFlags\mz.png" />
<Resource Include="Images\CountryFlags\na.png" />
<Resource Include="Images\CountryFlags\nc.png" />
<Resource Include="Images\CountryFlags\ne.png" />
<Resource Include="Images\CountryFlags\nf.png" />
<Resource Include="Images\CountryFlags\ng.png" />
<Resource Include="Images\CountryFlags\ni.png" />
<Resource Include="Images\CountryFlags\nl.png" />
<Resource Include="Images\CountryFlags\no.png" />
<Resource Include="Images\CountryFlags\np.png" />
<Resource Include="Images\CountryFlags\nr.png" />
<Resource Include="Images\CountryFlags\nu.png" />
<Resource Include="Images\CountryFlags\nz.png" />
<Resource Include="Images\CountryFlags\om.png" />
<Resource Include="Images\CountryFlags\pa.png" />
<Resource Include="Images\CountryFlags\pe.png" />
<Resource Include="Images\CountryFlags\pf.png" />
<Resource Include="Images\CountryFlags\pg.png" />
<Resource Include="Images\CountryFlags\ph.png" />
<Resource Include="Images\CountryFlags\pk.png" />
<Resource Include="Images\CountryFlags\pl.png" />
<Resource Include="Images\CountryFlags\pm.png" />
<Resource Include="Images\CountryFlags\pn.png" />
<Resource Include="Images\CountryFlags\pr.png" />
<Resource Include="Images\CountryFlags\ps.png" />
<Resource Include="Images\CountryFlags\pt.png" />
<Resource Include="Images\CountryFlags\pw.png" />
<Resource Include="Images\CountryFlags\py.png" />
<Resource Include="Images\CountryFlags\qa.png" />
<Resource Include="Images\CountryFlags\re.png" />
<Resource Include="Images\CountryFlags\ro.png" />
<Resource Include="Images\CountryFlags\rs.png" />
<Resource Include="Images\CountryFlags\ru.png" />
<Resource Include="Images\CountryFlags\rw.png" />
<Resource Include="Images\CountryFlags\sa.png" />
<Resource Include="Images\CountryFlags\sb.png" />
<Resource Include="Images\CountryFlags\sc.png" />
<Resource Include="Images\CountryFlags\scotland.png" />
<Resource Include="Images\CountryFlags\sd.png" />
<Resource Include="Images\CountryFlags\se.png" />
<Resource Include="Images\CountryFlags\sg.png" />
<Resource Include="Images\CountryFlags\sh.png" />
<Resource Include="Images\CountryFlags\si.png" />
<Resource Include="Images\CountryFlags\sj.png" />
<Resource Include="Images\CountryFlags\sk.png" />
<Resource Include="Images\CountryFlags\sl.png" />
<Resource Include="Images\CountryFlags\sm.png" />
<Resource Include="Images\CountryFlags\sn.png" />
<Resource Include="Images\CountryFlags\so.png" />
<Resource Include="Images\CountryFlags\sr.png" />
<Resource Include="Images\CountryFlags\st.png" />
<Resource Include="Images\CountryFlags\sv.png" />
<Resource Include="Images\CountryFlags\sy.png" />
<Resource Include="Images\CountryFlags\sz.png" />
<Resource Include="Images\CountryFlags\tc.png" />
<Resource Include="Images\CountryFlags\td.png" />
<Resource Include="Images\CountryFlags\tf.png" />
<Resource Include="Images\CountryFlags\tg.png" />
<Resource Include="Images\CountryFlags\th.png" />
<Resource Include="Images\CountryFlags\tj.png" />
<Resource Include="Images\CountryFlags\tk.png" />
<Resource Include="Images\CountryFlags\tl.png" />
<Resource Include="Images\CountryFlags\tm.png" />
<Resource Include="Images\CountryFlags\tn.png" />
<Resource Include="Images\CountryFlags\to.png" />
<Resource Include="Images\CountryFlags\tr.png" />
<Resource Include="Images\CountryFlags\tt.png" />
<Resource Include="Images\CountryFlags\tv.png" />
<Resource Include="Images\CountryFlags\tw.png" />
<Resource Include="Images\CountryFlags\tz.png" />
<Resource Include="Images\CountryFlags\ua.png" />
<Resource Include="Images\CountryFlags\ug.png" />
<Resource Include="Images\CountryFlags\um.png" />
<Resource Include="Images\CountryFlags\us.png" />
<Resource Include="Images\CountryFlags\uy.png" />
<Resource Include="Images\CountryFlags\uz.png" />
<Resource Include="Images\CountryFlags\va.png" />
<Resource Include="Images\CountryFlags\vc.png" />
<Resource Include="Images\CountryFlags\ve.png" />
<Resource Include="Images\CountryFlags\vg.png" />
<Resource Include="Images\CountryFlags\vi.png" />
<Resource Include="Images\CountryFlags\vn.png" />
<Resource Include="Images\CountryFlags\vu.png" />
<Resource Include="Images\CountryFlags\wales.png" />
<Resource Include="Images\CountryFlags\wf.png" />
<Resource Include="Images\CountryFlags\ws.png" />
<Resource Include="Images\CountryFlags\ye.png" />
<Resource Include="Images\CountryFlags\yt.png" />
<Resource Include="Images\CountryFlags\za.png" />
<Resource Include="Images\CountryFlags\zm.png" />
<Resource Include="Images\CountryFlags\zw.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
Expand Down
12 changes: 12 additions & 0 deletions Livestream.Monitor/Model/Monitoring/LivestreamModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ public class LivestreamModel : PropertyChangedBase
private PreviewImage previewImage;
private bool dontNotify;
private DateTimeOffset? lastLiveTime;
private string language;

/// <summary> The unique identifier for the livestream </summary>
public string Id { get; set; }
Expand Down Expand Up @@ -118,6 +119,17 @@ public PreviewImage PreviewImage
NotifyOfPropertyChange(() => PreviewImage);
}
}

public string Language
{
get { return language; }
set
{
if (value == language) return;
language = value;
NotifyOfPropertyChange(() => Language);
}
}

/// <summary> The username this livestream came from via importing (twitch allows importing followed streams) </summary>
public string ImportedBy { get; set; }
Expand Down
Loading

0 comments on commit 76a9482

Please sign in to comment.