mirror of
https://github.com/greenshot/greenshot
synced 2025-08-22 14:24:43 -07:00
Fixes
This commit is contained in:
parent
0d15124cae
commit
aac7354a6e
3 changed files with 79 additions and 71 deletions
|
@ -33,6 +33,7 @@ Source: {#ReleaseDir}\Newtonsoft.Json.dll; DestDir: {app}; Components: greenshot
|
|||
Source: {#ReleaseDir}\Emoji.Wpf.dll; DestDir: {app}; Components: greenshot; Flags: overwritereadonly ignoreversion replacesameversion
|
||||
Source: {#ReleaseDir}\Typography.GlyphLayout.dll; DestDir: {app}; Components: greenshot; Flags: overwritereadonly ignoreversion replacesameversion
|
||||
Source: {#ReleaseDir}\Typography.OpenFont.dll; DestDir: {app}; Components: greenshot; Flags: overwritereadonly ignoreversion replacesameversion
|
||||
Source: {#ReleaseDir}\Stfu.dll; DestDir: {app}; Components: greenshot; Flags: overwritereadonly ignoreversion replacesameversion
|
||||
Source: {#GreenshotProjectDir}\log4net.xml; DestDir: {app}; Components: greenshot; Flags: overwritereadonly ignoreversion
|
||||
Source: {#ReleaseDir}\checksum.SHA256; DestDir: {app}; Components: greenshot; Flags: overwritereadonly ignoreversion replacesameversion
|
||||
;Source: ..\greenshot-defaults.ini; DestDir: {app}; Flags: overwritereadonly ignoreversion replacesameversion
|
||||
|
|
|
@ -44,8 +44,11 @@ namespace Greenshot.Editor.Drawing
|
|||
{
|
||||
private static readonly ILog Log = LogManager.GetLogger(typeof(IconContainer));
|
||||
|
||||
[NonSerialized] private static EmojiContainer _currentContainer;
|
||||
[NonSerialized] private static ElementHost _emojiPickerHost;
|
||||
[NonSerialized] private static Emoji.Wpf.Picker _emojiPicker;
|
||||
|
||||
[NonSerialized] private System.Windows.Controls.Image _image;
|
||||
[NonSerialized] private ElementHost _emojiPicker;
|
||||
[NonSerialized] private bool _firstSelection = true;
|
||||
|
||||
private string _emoji;
|
||||
|
@ -82,44 +85,45 @@ namespace Greenshot.Editor.Drawing
|
|||
|
||||
private void ShowEmojiPicker()
|
||||
{
|
||||
if (_emojiPicker == null)
|
||||
{
|
||||
var picker = new Emoji.Wpf.Picker();
|
||||
picker.Picked += (_, args) =>
|
||||
{
|
||||
Emoji = args.Emoji;
|
||||
Invalidate();
|
||||
};
|
||||
_currentContainer = this;
|
||||
|
||||
_emojiPicker = new ElementHost();
|
||||
_emojiPicker.Dock = DockStyle.None;
|
||||
_emojiPicker.Child = picker;
|
||||
}
|
||||
|
||||
var emojiPickerChild = ((Emoji.Wpf.Picker)_emojiPicker.Child);
|
||||
emojiPickerChild.Selection = Emoji;
|
||||
CreatePickerControl();
|
||||
|
||||
var absRectangle = GuiRectangle.GetGuiRectangle(Left, Top, Width, Height);
|
||||
var displayRectangle = Parent.ToSurfaceCoordinates(absRectangle);
|
||||
_emojiPicker.Width = 0; // Trick to hide the picker's button
|
||||
_emojiPicker.Height = displayRectangle.Height;
|
||||
_emojiPicker.Left = displayRectangle.Left;
|
||||
_emojiPicker.Top = displayRectangle.Top;
|
||||
_emojiPickerHost.Width = 0; // Trick to hide the picker's button
|
||||
_emojiPickerHost.Height = displayRectangle.Height;
|
||||
_emojiPickerHost.Left = displayRectangle.Left;
|
||||
_emojiPickerHost.Top = displayRectangle.Top;
|
||||
|
||||
if (_parent != null)
|
||||
{
|
||||
_parent.KeysLocked = true;
|
||||
_parent.Controls.Add(_emojiPicker);
|
||||
_emojiPicker.Selection = Emoji;
|
||||
_emojiPicker.ShowPopup = true;
|
||||
}
|
||||
|
||||
emojiPickerChild.ShowPopup = true;
|
||||
private void CreatePickerControl()
|
||||
{
|
||||
if (_emojiPickerHost == null)
|
||||
{
|
||||
_emojiPicker = new Emoji.Wpf.Picker();
|
||||
_emojiPicker.Picked += (_, args) =>
|
||||
{
|
||||
_currentContainer.Emoji = args.Emoji;
|
||||
_currentContainer.Invalidate();
|
||||
};
|
||||
|
||||
_emojiPickerHost = new ElementHost();
|
||||
_emojiPickerHost.Dock = DockStyle.None;
|
||||
_emojiPickerHost.Child = _emojiPicker;
|
||||
|
||||
_parent.Controls.Add(_emojiPickerHost);
|
||||
}
|
||||
}
|
||||
|
||||
private void HideEmojiPicker()
|
||||
{
|
||||
if (_parent != null && _emojiPicker != null)
|
||||
if (_emojiPicker != null)
|
||||
{
|
||||
_parent.Controls.Remove(_emojiPicker);
|
||||
_emojiPicker.ShowPopup = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -579,6 +579,9 @@ namespace Greenshot.Editor.Forms
|
|||
case DrawingModes.Path:
|
||||
SetButtonChecked(btnFreehand);
|
||||
break;
|
||||
case DrawingModes.Emoji:
|
||||
SetButtonChecked(btnEmoji);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue