Skip to content

Commit 63f3a8e

Browse files
authored
Merge pull request #169 from sillsdev/txl-262-handle-no-webview2
TXL-262 handle missing/unavailable WebView2
2 parents 471a7ad + 02f8e1a commit 63f3a8e

File tree

8 files changed

+458
-99
lines changed

8 files changed

+458
-99
lines changed

DistFiles/ReleaseNotes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## _VERSION_ _DATE_
22

3-
## 3.2.0 23 May 2025
3+
## 3.2.0 24 May 2025
44

55
- Made it easier to see when questions belong to a variant in order to exclude an entire variant as a group.
66
- Added support for localizers who need to omit certain questions, comments, answers, and alternatives.

Transcelerator.sln.DotSettings

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
<s:Boolean x:Key="/Default/UserDictionary/Words/=Punct/@EntryIndexedValue">True</s:Boolean>
3737
<s:Boolean x:Key="/Default/UserDictionary/Words/=qnum/@EntryIndexedValue">True</s:Boolean>
3838
<s:Boolean x:Key="/Default/UserDictionary/Words/=scrref/@EntryIndexedValue">True</s:Boolean>
39+
<s:Boolean x:Key="/Default/UserDictionary/Words/=Segoe/@EntryIndexedValue">True</s:Boolean>
3940
<s:Boolean x:Key="/Default/UserDictionary/Words/=startref/@EntryIndexedValue">True</s:Boolean>
4041
<s:Boolean x:Key="/Default/UserDictionary/Words/=Stemmer/@EntryIndexedValue">True</s:Boolean>
4142
<s:Boolean x:Key="/Default/UserDictionary/Words/=Transcelerator/@EntryIndexedValue">True</s:Boolean>

Transcelerator/CreditsAndLicense.htm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ <h1>Credits</h1>
2020
<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>
2121
</ul>
2222
<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>
23-
<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>
24-
<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>
23+
<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>
24+
<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>
2525
<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>
2626
<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>
2727
<p>Questions for Jonah enhanced and adapted by Tom Bogle from the good work of Roger Stone.</p>

Transcelerator/RealSplashScreen.cs

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
1-
// --------------------------------------------------------------------------------------------
2-
#region // Copyright © 2021, SIL International.
3-
// <copyright from='2021' company='SIL International'>
4-
// Copyright © 2021, SIL International.
5-
//
1+
// ---------------------------------------------------------------------------------------------
2+
#region // Copyright (c) 2025, SIL Global.
3+
// <copyright from='2021' to='2025' company='SIL Global'>
4+
// Copyright (c) 2025, SIL Global.
5+
//
66
// Distributable under the terms of the MIT License (http://sil.mit-license.org/)
77
// </copyright>
88
#endregion
9-
//
10-
// File: RealSplashScreen.cs
11-
// --------------------------------------------------------------------------------------------
9+
// ---------------------------------------------------------------------------------------------
1210
using System;
1311
using System.Diagnostics;
1412
using System.Diagnostics.CodeAnalysis;
1513
using System.Threading;
1614
using System.Windows.Forms;
17-
using static System.String;
1815

1916
namespace SIL.Transcelerator
2017
{
@@ -32,7 +29,7 @@ internal class RealSplashScreen : Form
3229
private EventWaitHandle m_waitHandle;
3330
private System.Threading.Timer m_timer;
3431
private TxlInfo m_txlInfo;
35-
private Label lblMessage;
32+
private Label m_lblMessage;
3633
#endregion
3734

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

6966
// This ensures the progress bar gets painted when modified.
7067
if (IsHandleCreated)
@@ -83,9 +80,14 @@ protected override void Dispose(bool disposing)
8380
{
8481
Debug.WriteLineIf(!disposing, "****** Missing Dispose() call for " + GetType() + ". ****** ");
8582
if (disposing)
83+
{
8684
m_timer?.Dispose();
85+
m_waitHandle?.Dispose();
86+
}
87+
m_txlInfo = null;
8788
m_timer = null;
8889
m_waitHandle = null;
90+
8991
base.Dispose(disposing);
9092
}
9193
#endregion
@@ -99,8 +101,8 @@ protected override void Dispose(bool disposing)
99101
Justification="marqueeGif gets added to Controls collection and disposed there")]
100102
private void InitializeComponent()
101103
{
102-
System.Windows.Forms.PictureBox marqueeGif;
103-
this.lblMessage = new System.Windows.Forms.Label();
104+
System.Windows.Forms.PictureBox marqueeGif;
105+
this.m_lblMessage = new System.Windows.Forms.Label();
104106
this.m_txlInfo = new SIL.Transcelerator.TxlInfo();
105107
marqueeGif = new System.Windows.Forms.PictureBox();
106108
((System.ComponentModel.ISupportInitialize)(marqueeGif)).BeginInit();
@@ -119,14 +121,14 @@ private void InitializeComponent()
119121
//
120122
// lblMessage
121123
//
122-
this.lblMessage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
124+
this.m_lblMessage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
123125
| System.Windows.Forms.AnchorStyles.Right)));
124-
this.lblMessage.BackColor = System.Drawing.Color.Transparent;
125-
this.lblMessage.ForeColor = System.Drawing.Color.Black;
126-
this.lblMessage.Location = new System.Drawing.Point(12, 372);
127-
this.lblMessage.Name = "lblMessage";
128-
this.lblMessage.Size = new System.Drawing.Size(325, 23);
129-
this.lblMessage.TabIndex = 2;
126+
this.m_lblMessage.BackColor = System.Drawing.Color.Transparent;
127+
this.m_lblMessage.ForeColor = System.Drawing.Color.Black;
128+
this.m_lblMessage.Location = new System.Drawing.Point(12, 372);
129+
this.m_lblMessage.Name = "m_lblMessage";
130+
this.m_lblMessage.Size = new System.Drawing.Size(325, 23);
131+
this.m_lblMessage.TabIndex = 2;
130132
//
131133
// m_txlInfo
132134
//
@@ -148,7 +150,7 @@ private void InitializeComponent()
148150
this.ControlBox = false;
149151
this.Controls.Add(this.m_txlInfo);
150152
this.Controls.Add(marqueeGif);
151-
this.Controls.Add(this.lblMessage);
153+
this.Controls.Add(this.m_lblMessage);
152154
this.ForeColor = System.Drawing.Color.Black;
153155
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
154156
this.MaximizeBox = false;
@@ -185,7 +187,7 @@ public void RealClose()
185187
}
186188
catch
187189
{
188-
// Something bad happened, but we are closing anyways :)
190+
// Something bad happened, but we are closing anyway :)
189191
}
190192

191193
try
@@ -197,7 +199,7 @@ public void RealClose()
197199
}
198200
catch
199201
{
200-
// Something bad happened, but we are closing anyways :)
202+
// Something bad happened, but we are closing anyway :)
201203
}
202204
}
203205
#endregion
@@ -336,7 +338,7 @@ public void SetMessage(string message)
336338
Invoke(new Action(() => { SetMessage(message); }));
337339
else
338340
{
339-
lblMessage.Text = message;
341+
m_lblMessage.Text = message;
340342
Refresh();
341343
}
342344
}

0 commit comments

Comments
 (0)