Skip to content

Instantly share code, notes, and snippets.

@karno
Created November 14, 2010 07:02
Show Gist options
  • Save karno/675973 to your computer and use it in GitHub Desktop.
Save karno/675973 to your computer and use it in GitHub Desktop.
private static class TweetAnalyze
{
public static Brush AssignBrush(TwitterStatusBase status, bool dark)
{
var ns = status as TwitterStatus;
if (ns != null)
return AssignBrushForStatus(ns, dark);
var dm = status as TwitterDirectMessage;
if (dm != null)
return AssignBrushForDM(dm, dark);
return Sub.Configuration.Setting.ColoringProperty.BaseColor.GetBrush(dark);
}
private static Brush AssignBrushForStatus(TwitterStatus status, bool dark)
{
if (Sub.Configuration.Setting.ColoringProperty.MyTweet.Activated &&
Sub.Configuration.Setting.CurrentTargetAccount == status.User.ScreenName)
{
return Sub.Configuration.Setting.ColoringProperty.MyTweet.GetBrush(dark);
}
if (Sub.Configuration.Setting.ColoringProperty.SubTweet.Activated &&
Sub.Configuration.Setting.ContainsAccount(status.User.ScreenName))
{
return Sub.Configuration.Setting.ColoringProperty.SubTweet.GetBrush(dark);
}
if (Sub.Configuration.Setting.ColoringProperty.PublishedByRetweetStatus.Activated &&
Analyzer.PublishedByRetweet(status))
{
return Sub.Configuration.Setting.ColoringProperty.PublishedByRetweetStatus.GetBrush(dark);
}
var rep = Analyzer.IsInReplyToMe(status);
if (Sub.Configuration.Setting.ColoringProperty.InReplyToMe.Activated &&
rep == Analyzer.MultiUserBoolean.Current)
{
return Sub.Configuration.Setting.ColoringProperty.InReplyToMe.GetBrush(dark);
}
if (Sub.Configuration.Setting.ColoringProperty.InReplyToSub.Activated &&
rep == Analyzer.MultiUserBoolean.Someone)
{
return Sub.Configuration.Setting.ColoringProperty.InReplyToSub.GetBrush(dark);
}
var fng = Analyzer.IsFollowing(status.User);
var flr = Analyzer.IsFollower(status.User);
if (Sub.Configuration.Setting.ColoringProperty.Refollowed.Activated &&
fng == Analyzer.MultiUserBoolean.Current &&
flr == Analyzer.MultiUserBoolean.Current)
{
return Sub.Configuration.Setting.ColoringProperty.Refollowed.GetBrush(dark);
}
if (Sub.Configuration.Setting.ColoringProperty.RefollowedAny.Activated &&
fng != Analyzer.MultiUserBoolean.Noone &&
flr != Analyzer.MultiUserBoolean.Noone)
{
return Sub.Configuration.Setting.ColoringProperty.RefollowedAny.GetBrush(dark);
}
if (Sub.Configuration.Setting.ColoringProperty.Following.Activated &&
fng == Analyzer.MultiUserBoolean.Current)
{
return Sub.Configuration.Setting.ColoringProperty.Following.GetBrush(dark);
}
if (Sub.Configuration.Setting.ColoringProperty.FollowingAny.Activated &&
fng != Analyzer.MultiUserBoolean.Noone)
{
return Sub.Configuration.Setting.ColoringProperty.FollowingAny.GetBrush(dark);
}
if (Sub.Configuration.Setting.ColoringProperty.Follower.Activated &&
flr == Analyzer.MultiUserBoolean.Current)
{
return Sub.Configuration.Setting.ColoringProperty.Follower.GetBrush(dark);
}
if (Sub.Configuration.Setting.ColoringProperty.FollowerAny.Activated &&
flr != Analyzer.MultiUserBoolean.Noone)
{
return Sub.Configuration.Setting.ColoringProperty.FollowerAny.GetBrush(dark);
}
return Sub.Configuration.Setting.ColoringProperty.BaseColor.GetBrush(dark);
}
private static Brush AssignBrushForDM(TwitterDirectMessage dm, bool dark)
{
if (dm.Sender.ScreenName == Sub.Configuration.Setting.CurrentTargetAccount ||
dm.Recipient.ScreenName == Sub.Configuration.Setting.CurrentTargetAccount)
{
return Sub.Configuration.Setting.ColoringProperty.DirectMessage.GetBrush(dark);
}
else
{
return Sub.Configuration.Setting.ColoringProperty.DirectMessageToSub.GetBrush(dark);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment