mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
fixed #3838: If Windows in tablet mode then show close button in region capture toolbar
This commit is contained in:
parent
3992add566
commit
8c4b4d5c1e
3 changed files with 40 additions and 11 deletions
|
@ -1364,5 +1364,22 @@ public static bool TryFixHandCursor()
|
|||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IsTabletMode()
|
||||
{
|
||||
//int state = NativeMethods.GetSystemMetrics(SystemMetric.SM_CONVERTIBLESLATEMODE);
|
||||
//return state == 0;
|
||||
|
||||
try
|
||||
{
|
||||
int result = (int)Registry.GetValue(@"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ImmersiveShell", "TabletMode", 0);
|
||||
return result > 0;
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -599,7 +599,9 @@ public enum SystemMetric
|
|||
/// <summary>
|
||||
/// Windows XP (v5.1+) This system metric is used in a Terminal Services environment. Its value is nonzero if the current session is remotely controlled; zero otherwise
|
||||
/// </summary>
|
||||
SM_REMOTECONTROL = 0x2001
|
||||
SM_REMOTECONTROL = 0x2001,
|
||||
SM_CONVERTIBLESLATEMODE = 0x2003,
|
||||
SM_SYSTEMDOCKED = 0x2004
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -137,17 +137,17 @@ internal void CreateToolbar()
|
|||
|
||||
if (Form.Mode == RegionCaptureMode.TaskEditor)
|
||||
{
|
||||
ToolStripButton tsbClose = new ToolStripButton(Resources.ShapeManager_CreateToolbar_ContinueTaskSpaceOrRightClick);
|
||||
tsbClose.DisplayStyle = ToolStripItemDisplayStyle.Image;
|
||||
tsbClose.Image = Resources.control;
|
||||
tsbClose.Click += (sender, e) => Form.CloseWindow(RegionResult.AnnotateContinueTask);
|
||||
tsMain.Items.Add(tsbClose);
|
||||
ToolStripButton tsbContinueTask = new ToolStripButton(Resources.ShapeManager_CreateToolbar_ContinueTaskSpaceOrRightClick);
|
||||
tsbContinueTask.DisplayStyle = ToolStripItemDisplayStyle.Image;
|
||||
tsbContinueTask.Image = Resources.control;
|
||||
tsbContinueTask.Click += (sender, e) => Form.CloseWindow(RegionResult.AnnotateContinueTask);
|
||||
tsMain.Items.Add(tsbContinueTask);
|
||||
|
||||
ToolStripButton tsbCloseCancel = new ToolStripButton(Resources.ShapeManager_CreateToolbar_CancelTaskEsc);
|
||||
tsbCloseCancel.DisplayStyle = ToolStripItemDisplayStyle.Image;
|
||||
tsbCloseCancel.Image = Resources.cross;
|
||||
tsbCloseCancel.Click += (sender, e) => Form.CloseWindow(RegionResult.AnnotateCancelTask);
|
||||
tsMain.Items.Add(tsbCloseCancel);
|
||||
ToolStripButton tsbCancelTask = new ToolStripButton(Resources.ShapeManager_CreateToolbar_CancelTaskEsc);
|
||||
tsbCancelTask.DisplayStyle = ToolStripItemDisplayStyle.Image;
|
||||
tsbCancelTask.Image = Resources.cross;
|
||||
tsbCancelTask.Click += (sender, e) => Form.CloseWindow(RegionResult.AnnotateCancelTask);
|
||||
tsMain.Items.Add(tsbCancelTask);
|
||||
|
||||
tsMain.Items.Add(new ToolStripSeparator());
|
||||
}
|
||||
|
@ -186,6 +186,16 @@ internal void CreateToolbar()
|
|||
|
||||
#endregion Editor mode
|
||||
}
|
||||
else if (Helpers.IsTabletMode())
|
||||
{
|
||||
ToolStripButton tsbClose = new ToolStripButton("Close (Esc)");
|
||||
tsbClose.DisplayStyle = ToolStripItemDisplayStyle.Image;
|
||||
tsbClose.Image = Resources.cross;
|
||||
tsbClose.Click += (sender, e) => Form.CloseWindow();
|
||||
tsMain.Items.Add(tsbClose);
|
||||
|
||||
tsMain.Items.Add(new ToolStripSeparator());
|
||||
}
|
||||
|
||||
#region Tools
|
||||
|
||||
|
|
Loading…
Reference in a new issue