Skip to content

TXL-262 handle missing/unavailable WebView2 #169

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion DistFiles/ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## _VERSION_ _DATE_

## 3.2.0 23 May 2025
## 3.2.0 24 May 2025

- Made it easier to see when questions belong to a variant in order to exclude an entire variant as a group.
- Added support for localizers who need to omit certain questions, comments, answers, and alternatives.
Expand Down
1 change: 1 addition & 0 deletions Transcelerator.sln.DotSettings
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=Punct/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=qnum/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=scrref/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Segoe/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=startref/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Stemmer/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Transcelerator/@EntryIndexedValue">True</s:Boolean>
Expand Down
4 changes: 2 additions & 2 deletions Transcelerator/CreditsAndLicense.htm
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ <h1>Credits</h1>
<li>The Find icon was developed by Liam McKay and is free for commercial use: <a href="http://www.woothemes.com/2009/09/woofunction-178-amazing-web-design-icons/">www.woothemes.com/2009/09/woofunction-178-amazing-web-design-icons/</a>.</li>
</ul>
<p>The Up, Down, Right and Left Arrow icons were developed by Double-J Design (downloaded from <a href="http://www.iconarchive.com/">iconarchive.com</a>) and are covered by this Creative Commons License: <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
<p>The Delete icon icon was downloaded from <a href="http://www.easyicon.net">easyicon.net</a> and was developed by Creative Freedom (<a href="http://www.creativefreedom.co.uk/free-icons/free-icons-funktional">www.creativefreedom.co.uk/free-icons/free-icons-funktional</a>). It is covered by the Creative Commons Attribution 3.0 Unported License: <a href="http://creativecommons.org/licenses/by/3.0/deed.en_GB">creativecommons.org/licenses/by/3.0/deed.en_GB</a>.</p>
<p>The green arrow icon icon used in the New Question dialog box was downloaded from <a href="http://findicons.com">findicons.com</a> and was developed by David Hopkins. It is covered by the Creative Commons Attribution License (version unknown).</p>
<p>The Delete icon was downloaded from <a href="http://www.easyicon.net">easyicon.net</a> and was developed by Creative Freedom (<a href="http://www.creativefreedom.co.uk/free-icons/free-icons-funktional">www.creativefreedom.co.uk/free-icons/free-icons-funktional</a>). It is covered by the Creative Commons Attribution 3.0 Unported License: <a href="http://creativecommons.org/licenses/by/3.0/deed.en_GB">creativecommons.org/licenses/by/3.0/deed.en_GB</a>.</p>
<p>The green arrow icon used in the New Question dialog box was downloaded from <a href="http://findicons.com">findicons.com</a> and was developed by David Hopkins. It is covered by the Creative Commons Attribution License (version unknown).</p>
<p>Questions for Genesis and most of the New Testament are taken (with a few minor edits) from <a href="http://www.sil.org/publication-category/translators-workplace">Translator's Workplace</a> article <i>Questions for Testing Translations</i> and represents the work of Doug Trick, Lyle Scholz, Robert Stutzman, Paul Vollrath, Henrietta Andrews, Keir Hansford, Alice Maryott, and Catherine Rountree.</p>
<p>Questions for most of the Old Testament (excluding Genesis) were produced and made available with no licensing restrictions by the generosity of Arlo E. Moehlenpah of <a href="http://www.doinggood.org">www.doinggood.org</a>.</p>
<p>Questions for Jonah enhanced and adapted by Tom Bogle from the good work of Roger Stone.</p>
Expand Down
50 changes: 26 additions & 24 deletions Transcelerator/RealSplashScreen.cs
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
// --------------------------------------------------------------------------------------------
#region // Copyright � 2021, SIL International.
// <copyright from='2021' company='SIL International'>
// Copyright � 2021, SIL International.
//
// ---------------------------------------------------------------------------------------------
#region // Copyright (c) 2025, SIL Global.
// <copyright from='2021' to='2025' company='SIL Global'>
// Copyright (c) 2025, SIL Global.
//
// Distributable under the terms of the MIT License (http://sil.mit-license.org/)
// </copyright>
#endregion
//
// File: RealSplashScreen.cs
// --------------------------------------------------------------------------------------------
// ---------------------------------------------------------------------------------------------
using System;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Threading;
using System.Windows.Forms;
using static System.String;

namespace SIL.Transcelerator
{
Expand All @@ -32,7 +29,7 @@ internal class RealSplashScreen : Form
private EventWaitHandle m_waitHandle;
private System.Threading.Timer m_timer;
private TxlInfo m_txlInfo;
private Label lblMessage;
private Label m_lblMessage;
#endregion

#region Constructor
Expand Down Expand Up @@ -64,7 +61,7 @@ internal RealSplashScreen(Screen displayToUse)
private void CheckDisposed()
{
if (IsDisposed)
throw new ObjectDisposedException(Format("'{0}' in use after being disposed.", GetType().Name));
throw new ObjectDisposedException($"'{GetType().Name}' in use after being disposed.");

// This ensures the progress bar gets painted when modified.
if (IsHandleCreated)
Expand All @@ -83,9 +80,14 @@ protected override void Dispose(bool disposing)
{
Debug.WriteLineIf(!disposing, "****** Missing Dispose() call for " + GetType() + ". ****** ");
if (disposing)
{
m_timer?.Dispose();
m_waitHandle?.Dispose();
}
m_txlInfo = null;
m_timer = null;
m_waitHandle = null;

base.Dispose(disposing);
}
#endregion
Expand All @@ -99,8 +101,8 @@ protected override void Dispose(bool disposing)
Justification="marqueeGif gets added to Controls collection and disposed there")]
private void InitializeComponent()
{
System.Windows.Forms.PictureBox marqueeGif;
this.lblMessage = new System.Windows.Forms.Label();
System.Windows.Forms.PictureBox marqueeGif;
this.m_lblMessage = new System.Windows.Forms.Label();
this.m_txlInfo = new SIL.Transcelerator.TxlInfo();
marqueeGif = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(marqueeGif)).BeginInit();
Expand All @@ -119,14 +121,14 @@ private void InitializeComponent()
//
// lblMessage
//
this.lblMessage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
this.m_lblMessage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lblMessage.BackColor = System.Drawing.Color.Transparent;
this.lblMessage.ForeColor = System.Drawing.Color.Black;
this.lblMessage.Location = new System.Drawing.Point(12, 372);
this.lblMessage.Name = "lblMessage";
this.lblMessage.Size = new System.Drawing.Size(325, 23);
this.lblMessage.TabIndex = 2;
this.m_lblMessage.BackColor = System.Drawing.Color.Transparent;
this.m_lblMessage.ForeColor = System.Drawing.Color.Black;
this.m_lblMessage.Location = new System.Drawing.Point(12, 372);
this.m_lblMessage.Name = "m_lblMessage";
this.m_lblMessage.Size = new System.Drawing.Size(325, 23);
this.m_lblMessage.TabIndex = 2;
//
// m_txlInfo
//
Expand All @@ -148,7 +150,7 @@ private void InitializeComponent()
this.ControlBox = false;
this.Controls.Add(this.m_txlInfo);
this.Controls.Add(marqueeGif);
this.Controls.Add(this.lblMessage);
this.Controls.Add(this.m_lblMessage);
this.ForeColor = System.Drawing.Color.Black;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
Expand Down Expand Up @@ -185,7 +187,7 @@ public void RealClose()
}
catch
{
// Something bad happened, but we are closing anyways :)
// Something bad happened, but we are closing anyway :)
}

try
Expand All @@ -197,7 +199,7 @@ public void RealClose()
}
catch
{
// Something bad happened, but we are closing anyways :)
// Something bad happened, but we are closing anyway :)
}
}
#endregion
Expand Down Expand Up @@ -336,7 +338,7 @@ public void SetMessage(string message)
Invoke(new Action(() => { SetMessage(message); }));
else
{
lblMessage.Text = message;
m_lblMessage.Text = message;
Refresh();
}
}
Expand Down
Loading