📄 chateditctrlmanager.cs
字号:
}
this._firedByFunction = true;
if (size.Width < amigoImage.Size.Width)
{
amigoImage = new AmigoImage(amigoImage.PreviewImage);
}
ChatEditImageObject obj2 = new ChatEditImageObject(key, this._oleIndex, sText, amigoImage);
Size size2 = size;
if (this._richTextBox.InsertImage(amigoImage, size2, this._oleIndex))
{
obj2.Index = this._oleIndex;
this._oleObjDict.Add(OleKeyManager.Instance.NewKey, obj2);
this._oleObjIndexDict.Add(this._oleIndex, obj2);
this._oleIndex++;
this._firedByFunction = false;
return true;
}
this._firedByFunction = false;
return false;
}
catch
{
}
finally
{
this.LockUpdate(false);
}
return true;
}
public bool InsertImage(int iPos, Image image, string sText, OleKey key, Size size, bool bReplace)
{
try
{
this.LockUpdate(true);
int selectionStart = this._richTextBox.SelectionStart;
int selectionLength = this._richTextBox.SelectionLength;
if (!bReplace)
{
this._richTextBox.SelectionLength = 0;
this._richTextBox.SelectionStart = iPos;
}
this._firedByFunction = true;
AmigoImage image2 = new AmigoImage(image);
ChatEditImageObject obj2 = new ChatEditImageObject(key, this._oleIndex, sText, image2);
Size empty = Size.Empty;
if (this._sympolSize.Equals(Size.Empty))
{
empty = image2.Size;
}
else if (size.Equals(Size.Empty))
{
empty = this._sympolSize;
}
else
{
empty = size;
}
if (this._richTextBox.InsertImage(image2, empty, this._oleIndex))
{
obj2.Index = this._oleIndex;
this._oleObjDict.Add(OleKeyManager.Instance.NewKey, obj2);
this._oleObjIndexDict.Add(this._oleIndex, obj2);
this._oleIndex++;
this._firedByFunction = false;
return true;
}
this._firedByFunction = false;
return false;
}
catch
{
}
finally
{
this.LockUpdate(false);
}
return true;
}
public bool InsertImage2(Imps.Client.Core.CustomEmotion.CustomEmotion emotion, Image image, OleKey key)
{
return this.InsertImage2(this.SelectionStart, emotion, image, key, false);
}
public bool InsertImage2(int iPos, Imps.Client.Core.CustomEmotion.CustomEmotion emotion, Image image, OleKey key, bool bReplace)
{
try
{
this.LockUpdate(true);
int selectionStart = this._richTextBox.SelectionStart;
int selectionLength = this._richTextBox.SelectionLength;
if (!bReplace)
{
this._richTextBox.SelectionLength = 0;
this._richTextBox.SelectionStart = iPos;
}
this._firedByFunction = true;
if (image == null)
{
image = new Bitmap(this._customEmotionPlaceholderSize.Width, this._customEmotionPlaceholderSize.Height);
}
AmigoImage image2 = null;
try
{
PropertyItem propertyItem = image.GetPropertyItem(0x5101);
if (propertyItem != null)
{
int circles = propertyItem.Value[0];
image2 = new AmigoImage(image, circles, false);
}
else
{
image2 = new AmigoImage(image, false);
}
}
catch
{
image2 = new AmigoImage(image, false);
}
ChatEditImageObject obj2 = new ChatEditImageObject(key, this._oleIndex, emotion.ShortCut, image2);
obj2.CustomEmotion = emotion;
if (this._richTextBox.InsertImage(image2, image2.Size, this._oleIndex))
{
obj2.Index = this._oleIndex;
this._oleObjDict.Add(key, obj2);
this._oleObjIndexDict.Add(this._oleIndex, obj2);
this._oleIndex++;
this._firedByFunction = false;
return true;
}
this._firedByFunction = false;
return false;
}
catch
{
}
finally
{
this.LockUpdate(false);
}
return true;
}
public void InsertLink(int iPos, OleKey key, string LinkText, string LinkCommand)
{
this.InsertLink(iPos, key, LinkText, LinkCommand, null, Keys.None);
}
public void InsertLink(int iPos, OleKey key, string LinkText, string LinkCommand, Dictionary<string, string> command, Keys hotKey)
{
this._firedByFunction = true;
this.InsertRichTextPlainString(iPos, LinkText, this.LinkButtonFont, this.LinkButtonColor);
int num = iPos + LinkText.Length;
if (hotKey == Keys.None)
{
string hotKeyText = " (" + Keys.Alt.ToString() + "+" + ((hotKey & ~Keys.Alt)).ToString() + ") ";
this._richTextBox.SelectionStart = iPos;
this._richTextBox.SelectionLength = LinkText.Length;
try
{
this._richTextBox.SelectionFont = this.LinkButtonFont;
}
catch (Exception exception)
{
ClientLogger.WriteException(exception);
}
this._richTextBox.SetSelectionLink(true);
ChatEditLinkObject obj2 = new ChatEditLinkObject(iPos, key, LinkText, LinkCommand, hotKey, command, hotKeyText);
this._linkObjectDict.Add(obj2);
}
else
{
string sText = " (" + Keys.Alt.ToString() + "+" + ((hotKey & ~Keys.Alt)).ToString() + ") ";
this.InsertRichTextString(num, sText, this.LinkButtonHotKeyFont, this.LinkButtonHotKeyColor);
this._richTextBox.SelectionStart = iPos;
this._richTextBox.SelectionLength = LinkText.Length;
this._richTextBox.SetSelectionLink(true);
try
{
this._richTextBox.SelectionFont = this.LinkButtonFont;
}
catch (Exception exception2)
{
ClientLogger.WriteException(exception2);
}
ChatEditLinkObject obj3 = new ChatEditLinkObject(iPos, key, LinkText, LinkCommand, hotKey, command, sText);
this._linkObjectDict.Add(obj3);
}
this._firedByFunction = false;
}
public void InsertRichTextPlainString(int iPos, string sText, Font font, Color color)
{
this._firedByFunction = true;
int selectionStart = this._richTextBox.SelectionStart;
this._richTextBox.SelectionStart = iPos;
int selectionLength = this._richTextBox.SelectionLength;
Color selectionColor = this._richTextBox.SelectionColor;
Font selectionFont = this._richTextBox.SelectionFont;
this._richTextBox.SelectionColor = color;
try
{
this._richTextBox.SelectionFont = font;
}
catch (Exception exception)
{
ClientLogger.WriteException(exception);
}
this._richTextBox.InsertString(sText);
iPos += sText.Length;
this._richTextBox.SelectionStart = selectionStart;
this._richTextBox.SelectionColor = selectionColor;
try
{
this._richTextBox.SelectionFont = selectionFont;
}
catch (Exception exception2)
{
ClientLogger.WriteException(exception2);
}
this._richTextBox.SelectionLength = selectionLength;
this._firedByFunction = false;
}
public int InsertRichTextString(int iPos, string sText, Font font, Color color)
{
return this.InsertRichTextString(iPos, sText, font, color, this._sympolSize);
}
public int InsertRichTextString(int iPos, string sText, Font font, Color color, Size size)
{
int num = 0;
this._firedByFunction = true;
int selectionStart = this._richTextBox.SelectionStart;
int selectionLength = this._richTextBox.SelectionLength;
Color selectionColor = this._richTextBox.SelectionColor;
Font selectionFont = this._richTextBox.SelectionFont;
if (this._convertSympol)
{
List<object>.Enumerator enumerator = EmoticonParser.ParseString(null, sText).GetEnumerator();
try
{
while (enumerator.MoveNext())
{
object obj2 = enumerator.get_Current();
if (obj2 is Emoticon)
{
Emoticon emoticon = (Emoticon) obj2;
this._richTextBox.Select(iPos, 0);
AmigoImage amigoImage = emoticon.AmigoImage;
if (size.Equals(Size.Empty) || (emoticon.Key == "FetionPcTeam"))
{
size = amigoImage.Size;
}
this.InsertImage(amigoImage, emoticon.Key, OleKeyManager.Instance.NewKey, size);
this._richTextBox.SelectionLength = 0;
iPos++;
num++;
}
else if (obj2 is string)
{
string text = (string) obj2;
this._richTextBox.SelectionStart = iPos;
this._richTextBox.SelectionColor = color;
try
{
if (font != null)
{
this._richTextBox.SelectionFont = font;
}
}
catch (Exception exception)
{
ClientLogger.WriteException(exception);
}
this._richTextBox.InsertString(text);
iPos += text.Length;
num += text.Length;
}
}
}
finally
{
enumerator.Dispose();
}
}
else
{
this._richTextBox.SelectionStart = iPos;
this._richTextBox.SelectionColor = color;
try
{
if (font != null)
{
this._richTextBox.SelectionFont = font;
}
}
catch (Exception exception2)
{
ClientLogger.WriteException(exception2);
}
this._richTextBox.InsertString(sText);
iPos += sText.Length;
num += sText.Length;
}
this._richTextBox.SelectionStart = selectionStart;
this._richTextBox.SelectionColor = selectionColor;
try
{
if (selectionFont != null)
{
this._richTextBox.SelectionFont = selectionFont;
}
}
catch (Exception exception3)
{
ClientLogger.WriteException(exception3);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -