📄 impspresenceiconsex.cs
字号:
namespace Imps.Client.Resource
{
using Imps.Client;
using Imps.Common;
using Imps.Utils;
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Runtime.InteropServices;
public class ImpsPresenceIconsEx
{
private AmigoImage _blockIcon;
private AmigoImage _chatFriendIcon;
private static ImpsPresenceIconsEx _instance = new ImpsPresenceIconsEx();
private AmigoImage _mobileBuddy;
private AmigoImage _offline;
private AmigoImage _onlineIcon;
protected const string _ourNamespace = "PresenceIcons.";
private static Dictionary<CompositePresence, AmigoImage> _presenceIconsEx = new Dictionary<CompositePresence, AmigoImage>();
private AmigoImage _rejectBuddyIcon;
private AmigoImage _rejectMBuddyIcon;
private AmigoImage _vodafoneBusy;
private AmigoImage _vodafoneOffline;
private AmigoImage _vodafoneOnline;
private AmigoImage _waitingBuddyIcon;
private AmigoImage _waitingMBuddyIcon;
private ImpsPresenceIconsEx()
{
this.InitEx();
}
private void InitEx()
{
AmigoImage image = new AmigoImage(ImpsResources.GetImage("PresenceIcons.pc.png"));
_presenceIconsEx.Add(new CompositePresence(MainPresence.Online, 1), image);
AmigoImage image2 = new AmigoImage(ImpsResources.GetImage("PresenceIcons.smartphone.png"));
_presenceIconsEx.Add(new CompositePresence(MainPresence.Online, 2), image2);
AmigoImage image3 = new AmigoImage(ImpsResources.GetImage("PresenceIcons.wap.png"));
_presenceIconsEx.Add(new CompositePresence(MainPresence.Online, 4), image3);
AmigoImage image4 = new AmigoImage(ImpsResources.GetImage("PresenceIcons.sms.png"));
_presenceIconsEx.Add(new CompositePresence(MainPresence.SmsOnline, null), image4);
_presenceIconsEx.Add(new CompositePresence(MainPresence.SmsOnline, 1), image4);
_presenceIconsEx.Add(new CompositePresence(MainPresence.SmsOnline, 2), image4);
_presenceIconsEx.Add(new CompositePresence(MainPresence.SmsOnline, 3), image4);
_presenceIconsEx.Add(new CompositePresence(MainPresence.SmsOnline, 4), image4);
AmigoImage image5 = new AmigoImage(ImpsResources.GetImage("PresenceIcons.offline.png"));
_presenceIconsEx.Add(new CompositePresence(MainPresence.Offline, null), image5);
_presenceIconsEx.Add(new CompositePresence(MainPresence.Offline, 1), image5);
_presenceIconsEx.Add(new CompositePresence(MainPresence.Offline, 2), image5);
_presenceIconsEx.Add(new CompositePresence(MainPresence.Offline, 3), image5);
_presenceIconsEx.Add(new CompositePresence(MainPresence.Offline, 4), image5);
AmigoImage image6 = new AmigoImage(ImpsResources.GetImage("PresenceIcons.pc_busy.png"));
_presenceIconsEx.Add(new CompositePresence(MainPresence.InTheMeeting, 1), image6);
_presenceIconsEx.Add(new CompositePresence(MainPresence.Busy, 1), image6);
_presenceIconsEx.Add(new CompositePresence(MainPresence.OnThePhone, 1), image6);
_presenceIconsEx.Add(new CompositePresence(MainPresence.DoNotDisturb, 1), image6);
AmigoImage image7 = new AmigoImage(ImpsResources.GetImage("PresenceIcons.smartphone_busy.png"));
_presenceIconsEx.Add(new CompositePresence(MainPresence.InTheMeeting, 2), image7);
_presenceIconsEx.Add(new CompositePresence(MainPresence.Busy, 2), image7);
_presenceIconsEx.Add(new CompositePresence(MainPresence.OnThePhone, 2), image7);
_presenceIconsEx.Add(new CompositePresence(MainPresence.DoNotDisturb, 2), image7);
AmigoImage image8 = new AmigoImage(ImpsResources.GetImage("PresenceIcons.wap_busy.png"));
_presenceIconsEx.Add(new CompositePresence(MainPresence.InTheMeeting, 4), image8);
_presenceIconsEx.Add(new CompositePresence(MainPresence.Busy, 4), image8);
_presenceIconsEx.Add(new CompositePresence(MainPresence.OnThePhone, 4), image8);
_presenceIconsEx.Add(new CompositePresence(MainPresence.DoNotDisturb, 4), image8);
AmigoImage image9 = new AmigoImage(ImpsResources.GetImage("PresenceIcons.pc_away.png"));
_presenceIconsEx.Add(new CompositePresence(MainPresence.OutToLunch, 1), image9);
_presenceIconsEx.Add(new CompositePresence(MainPresence.BeRightBack, 1), image9);
_presenceIconsEx.Add(new CompositePresence(MainPresence.Away, 1), image9);
AmigoImage image10 = new AmigoImage(ImpsResources.GetImage("PresenceIcons.smartphone_away.png"));
_presenceIconsEx.Add(new CompositePresence(MainPresence.OutToLunch, 2), image10);
_presenceIconsEx.Add(new CompositePresence(MainPresence.BeRightBack, 2), image10);
_presenceIconsEx.Add(new CompositePresence(MainPresence.Away, 2), image10);
AmigoImage image11 = new AmigoImage(ImpsResources.GetImage("PresenceIcons.wap_away.png"));
_presenceIconsEx.Add(new CompositePresence(MainPresence.OutToLunch, 4), image11);
_presenceIconsEx.Add(new CompositePresence(MainPresence.BeRightBack, 4), image11);
_presenceIconsEx.Add(new CompositePresence(MainPresence.Away, 4), image11);
}
public bool TryGetValue(CompositePresence key, out AmigoImage value)
{
return _presenceIconsEx.TryGetValue(key, ref value);
}
public AmigoImage BlockIcon
{
get
{
if (this._blockIcon == null)
{
this._blockIcon = new AmigoImage(ImpsResources.GetImage("PresenceIcons.block.png"));
}
return this._blockIcon;
}
}
public AmigoImage ChatFriendIcon
{
get
{
if (this._chatFriendIcon == null)
{
this._chatFriendIcon = new AmigoImage(ImpsResources.GetImage("PresenceIcons.chatfriend.png"));
}
return this._chatFriendIcon;
}
}
public static ImpsPresenceIconsEx Instance
{
get
{
return _instance;
}
}
public AmigoImage this[MainPresence mainPresence, ClientTypeCategory? clientType]
{
get
{
AmigoImage image = null;
this.TryGetValue(new CompositePresence(mainPresence, clientType), out image);
if (image != null)
{
return image;
}
return _presenceIconsEx.get_Item(new CompositePresence(MainPresence.SmsOnline, null));
}
}
public AmigoImage MobileBuddy
{
get
{
if (this._mobileBuddy == null)
{
this._mobileBuddy = new AmigoImage(ImpsResources.GetImage("PresenceIcons.mobilebuddy.png"));
}
return this._mobileBuddy;
}
}
public AmigoImage Offline
{
get
{
if (this._offline == null)
{
this._offline = new AmigoImage(ImpsResources.GetImage("PresenceIcons.offline.png"));
}
return this._offline;
}
}
public AmigoImage OnlineIcon
{
get
{
if (this._onlineIcon == null)
{
this._onlineIcon = new AmigoImage(ImpsResources.GetImage("PresenceIcons.pc.png"));
}
return this._onlineIcon;
}
}
public AmigoImage RejectBuddyIcon
{
get
{
if (this._rejectBuddyIcon == null)
{
this._rejectBuddyIcon = new AmigoImage(ImpsResources.GetImage("PresenceIcons.rejectbuddy.png"));
}
return this._rejectBuddyIcon;
}
}
public AmigoImage RejectMobileBuddyIcon
{
get
{
if (this._rejectMBuddyIcon == null)
{
this._rejectMBuddyIcon = new AmigoImage(ImpsResources.GetImage("PresenceIcons.rejectmbuddy.png"));
}
return this._rejectMBuddyIcon;
}
}
public AmigoImage VodafoneBusy
{
get
{
if (this._vodafoneBusy == null)
{
this._vodafoneBusy = new AmigoImage(ImpsResources.GetImage("PresenceIcons.vodafone_busy.png"));
}
return this._vodafoneBusy;
}
}
public AmigoImage VodafoneOffline
{
get
{
if (this._vodafoneOffline == null)
{
this._vodafoneOffline = new AmigoImage(ImpsResources.GetImage("PresenceIcons.vodafone_offline.png"));
}
return this._vodafoneOffline;
}
}
public AmigoImage VodafoneOnline
{
get
{
if (this._vodafoneOnline == null)
{
this._vodafoneOnline = new AmigoImage(ImpsResources.GetImage("PresenceIcons.vodafone_online.png"));
}
return this._vodafoneOnline;
}
}
public AmigoImage WaitingBuddyIcon
{
get
{
if (this._waitingBuddyIcon == null)
{
this._waitingBuddyIcon = new AmigoImage(ImpsResources.GetImage("PresenceIcons.waitingbuddy.png"));
}
return this._waitingBuddyIcon;
}
}
public AmigoImage WaitingMobileBuddyIcon
{
get
{
if (this._waitingMBuddyIcon == null)
{
this._waitingMBuddyIcon = new AmigoImage(ImpsResources.GetImage("PresenceIcons.waitingmbuddy.png"));
}
return this._waitingMBuddyIcon;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -