Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
542e7e9
Remove vestigial 'CommunityPickerWindow' and related strings
christopher-rtf Nov 5, 2024
6581bce
Merge pull request #397 from raisingthefloor/christopher/remove-vesti…
christopher-rtf Nov 5, 2024
ce26cac
Update crowdin_download.yml
christopher-rtf Nov 13, 2024
1793268
New Crowdin translations by GitHub Action
crowdin-bot Nov 13, 2024
4c3f781
Remove lanaguages which translation team says are not ready for testing
christopher-rtf Nov 13, 2024
ae8b1ea
Enable language codes for new translations
christopher-rtf Nov 13, 2024
9c316ba
Merge pull request #398 from raisingthefloor/l10n_crowdin_action
christopher-rtf Nov 13, 2024
9174ad3
New Crowdin translations by GitHub Action
crowdin-bot Nov 20, 2024
54ca214
Enable Persian, Marathi and Urdu scripts
christopher-rtf Nov 20, 2024
b33996b
Merge pull request #399 from raisingthefloor/l10n_crowdin_action
christopher-rtf Nov 20, 2024
13288fe
Update ES strings
christopher-rtf Nov 20, 2024
02ae384
Merge branch 'master' of https://github.com/raisingthefloor/morphic-w…
christopher-rtf Nov 20, 2024
c540e1f
Update localization language code strategy
christopher-rtf Nov 20, 2024
e295f40
New Crowdin translations by GitHub Action
crowdin-bot Nov 20, 2024
19aae45
Switch translations from 2-digit language codes to locales
christopher-rtf Nov 20, 2024
4cb1462
Switch translations from 2-digit language codes to locales
christopher-rtf Nov 20, 2024
3655066
Merge pull request #400 from raisingthefloor/l10n_crowdin_action
christopher-rtf Nov 20, 2024
987f306
Default Hindi to hi-PK culture name
christopher-rtf Nov 20, 2024
ffded3a
Add dark mode support for 'extraItems' spacer
christopher-rtf Jan 31, 2025
2cfc12e
Update Process and ProcessWatcher to 2.0 code
christopher-rtf Apr 13, 2025
aeea9f7
Update atusecounter to use updated ProcessWatcher
christopher-rtf Apr 13, 2025
765e4f6
Update NativeMethods list
christopher-rtf Apr 13, 2025
cfcd407
Add stop/start process native code
christopher-rtf Apr 13, 2025
9e42821
Update Process class
christopher-rtf Apr 13, 2025
c539659
Add 'voice control' custom button, settings link
christopher-rtf Apr 14, 2025
0ac87f0
Debug 'voice control'; bump version to 1.10
christopher-rtf Apr 14, 2025
ef042f1
Remove debug statements
christopher-rtf Apr 14, 2025
9d8848c
Merge pull request #402 from raisingthefloor/christopher/add-voice-co…
christopher-rtf Apr 14, 2025
7a49f7b
Update copyright year
christopher-rtf Apr 14, 2025
88afda9
Update Morphic.WindowsNative RegistryKey set/delete methods
christopher-rtf Apr 14, 2025
b143627
Add 'defaultLocation' setting for MorphicBar
christopher-rtf Apr 29, 2025
d3a6da0
Add 'defaultLocation' setting for MorphicBar
christopher-rtf Apr 29, 2025
5a01da0
Add 'defaultLocation' setting for MorphicBar
christopher-rtf Apr 29, 2025
8adf371
Add 'defaultLocation' setting for MorphicBar
christopher-rtf Apr 29, 2025
708a048
Add 'defaultLocation' setting for MorphicBar
christopher-rtf Apr 29, 2025
ccf6428
Add 'defaultLocation' setting for MorphicBar
christopher-rtf Apr 29, 2025
eacd4dd
Update azure-pipelines.yml
david-rtf Apr 29, 2025
3dc4610
Update azure-pipelines.yml
david-rtf Apr 29, 2025
958d9fd
Update azure-pipelines.yml
david-rtf Apr 29, 2025
9b45cc9
Update azure-pipelines.yml
david-rtf Apr 29, 2025
dee1d9d
Fixed build after specifying the platform.
david-rtf Apr 30, 2025
01d1f25
Fix AzureSignTool parameters
david-rtf Apr 30, 2025
27a8f36
Revert "Update azure-pipelines.yml"
christopher-rtf May 12, 2025
841c270
Revert "Update azure-pipelines.yml"
christopher-rtf May 12, 2025
7692693
Revert "Update azure-pipelines.yml"
christopher-rtf May 12, 2025
d2e73a1
Revert "Update azure-pipelines.yml"
christopher-rtf May 12, 2025
2b7f76f
Add platform arg to msbuild (build and publish), per-architecture
christopher-rtf May 12, 2025
d4c30f0
Add architecture to path (for signing morphic.exe)
christopher-rtf May 12, 2025
2bad8d1
Add architecture to paths in setup projects; use build config param c…
christopher-rtf May 12, 2025
fcebc7f
Update 'System.DefaultWorkingDirectory' to 'Build.SourcesDirectory' f…
christopher-rtf May 12, 2025
3ffa4da
Move clientdir and heatdir variables to WixPROJ
christopher-rtf May 12, 2025
3362172
Keep source build in Build.SourcesDirectory (rather than Build.Artifa…
christopher-rtf May 12, 2025
ec2cb40
Merge branch 'master' into dstetz/platformfix
christopher-rtf May 12, 2025
a7dc481
Merge PR #405 ("Fixed build after specifying the platform")
christopher-rtf May 12, 2025
85028a1
Add error checking for trayicon init; add voice access +3 option
christopher-rtf May 15, 2025
cce8822
Merge branch 'master' of https://github.com/raisingthefloor/morphic-w…
christopher-rtf May 15, 2025
76826a6
Add error checking for trayicon init; add voice access +3 option
christopher-rtf May 15, 2025
e3079ca
Add error checking for trayicon init; add voice access +3 option
christopher-rtf May 15, 2025
39cfab3
Add error checking for trayicon init; add voice access +3 option
christopher-rtf May 15, 2025
00113ca
Update MorphicBar menu icon
christopher-rtf May 19, 2025
2ebb8fa
Debug startup issue 'afterlogin'
christopher-rtf May 20, 2025
11634ed
Debug startup issue 'afterlogin'
christopher-rtf May 20, 2025
6052bf3
Add traybutton 'zero pixels size' error
christopher-rtf May 26, 2025
4dc1ba8
Update Morphic TrayButton to 2.0 code
christopher-rtf May 27, 2025
b7e1606
Update theme colors on Morphie button
christopher-rtf May 27, 2025
28dadab
Add pointer target area behind Morphie menu button
christopher-rtf May 28, 2025
2db981d
Update MorphicBar menu icon; upgrade TrayButton code
christopher-rtf May 28, 2025
29e7f0f
Suppress app autolaunch in quiet install scenarios
christopher-rtf May 29, 2025
57f3422
Suppress app autolaunch in quiet install scenarios
christopher-rtf May 29, 2025
2072da9
Merge pull request #407 from raisingthefloor/christopher/update-menu-…
christopher-rtf May 29, 2025
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 .github/workflows/crowdin_download.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
uses: actions/checkout@v2

- name: crowdin action
uses: crowdin/github-action@1.3.3
uses: crowdin/github-action@v2
with:
crowdin_branch_name: morphic-windows

Expand Down
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright 2020-2024 Raising the Floor - US, Inc.
Copyright 2020-2025 Raising the Floor - US, Inc.

The R&D leading to these results received funding from the:
* Rehabilitation Services Administration, US Dept. of Education under
Expand Down
63 changes: 58 additions & 5 deletions Morphic.Client/App.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2020-2022 Raising the Floor - US, Inc.
// Copyright 2020-2025 Raising the Floor - US, Inc.
//
// Licensed under the New BSD license. You may not use this file except in
// compliance with this License.
Expand Down Expand Up @@ -200,6 +200,7 @@ public class EnabledFeature
}
public class MorphicBarConfigSection
{
public string? defaultLocation { get; set; }
public string? visibilityAfterLogin { get; set; }
public List<MorphicBarExtraItem>? extraItems { get; set; }
}
Expand All @@ -222,6 +223,7 @@ private struct CommonConfigurationContents
public bool CustomMorphicBarsIsEnabled;
public bool ResetSettingsIsEnabled;
public bool SignInIsEnabled;
public ConfigurableFeatures.MorphicBarDefaultLocationOption MorphicBarDefaultLocation;
public ConfigurableFeatures.MorphicBarVisibilityAfterLoginOption? MorphicBarVisibilityAfterLogin;
public List<MorphicBarExtraItem> ExtraMorphicBarItems;
public string? TelemetrySiteId;
Expand Down Expand Up @@ -258,7 +260,8 @@ private async Task<CommonConfigurationContents> GetCommonConfigurationAsync()
// allow users to sign in to Morphic accounts
result.SignInIsEnabled = true;
//
// morphic bar (visibility and extra items)
// morphic bar (default location, visibility and extra items)
result.MorphicBarDefaultLocation = ConfigurableFeatures.MorphicBarDefaultLocationOption.BottomTrailing;
result.MorphicBarVisibilityAfterLogin = null;
result.ExtraMorphicBarItems = new List<MorphicBarExtraItem>();

Expand Down Expand Up @@ -425,6 +428,44 @@ private async Task<CommonConfigurationContents> GetCommonConfigurationAsync()
result.SignInIsEnabled = deserializedJson.features.signIn.enabled.Value;
}

// capture the desired default location of the MorphicBar
if (deserializedJson.morphicBar?.defaultLocation is not null)
{
switch (deserializedJson.morphicBar?.defaultLocation)
{
case "topLeft":
result.MorphicBarDefaultLocation = ConfigurableFeatures.MorphicBarDefaultLocationOption.TopLeft;
break;
case "topRight":
result.MorphicBarDefaultLocation = ConfigurableFeatures.MorphicBarDefaultLocationOption.TopRight;
break;
case "bottomLeft":
result.MorphicBarDefaultLocation = ConfigurableFeatures.MorphicBarDefaultLocationOption.BottomLeft;
break;
case "bottomRight":
result.MorphicBarDefaultLocation = ConfigurableFeatures.MorphicBarDefaultLocationOption.BottomRight;
break;
//
case "topLeading":
result.MorphicBarDefaultLocation = ConfigurableFeatures.MorphicBarDefaultLocationOption.TopLeading;
break;
case "topTrailing":
result.MorphicBarDefaultLocation = ConfigurableFeatures.MorphicBarDefaultLocationOption.TopTrailing;
break;
case "bottomLeading":
result.MorphicBarDefaultLocation = ConfigurableFeatures.MorphicBarDefaultLocationOption.BottomLeading;
break;
case "bottomTrailing":
result.MorphicBarDefaultLocation = ConfigurableFeatures.MorphicBarDefaultLocationOption.BottomTrailing;
break;
default:
// sorry, we don't understand this visibility setting
// NOTE: consider refusing to start up (for security reasons) if the configuration file cannot be read
Logger?.LogError("Unknown morphicBar.defaultLocation setting: " + deserializedJson.morphicBar?.visibilityAfterLogin);
return result;
}
}

// capture the desired after-login (autorun) visibility of the MorphicBar
switch (deserializedJson.morphicBar?.visibilityAfterLogin)
{
Expand Down Expand Up @@ -798,6 +839,16 @@ void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptio

try
{
Version? applicationVersion = Assembly.GetExecutingAssembly().GetName().Version;
if (applicationVersion is not null)
{
this.Logger.LogError("version: " + applicationVersion.Major.ToString() + "." + applicationVersion.Minor.ToString() + "." + applicationVersion.Build.ToString() + "." + applicationVersion.Revision.ToString());
}
else
{
this.Logger.LogError("version: null");
}
//
this.Logger.LogError("handled uncaught exception: {msg}", ex.Message);
this.Logger.LogError(ex.StackTrace);
}
Expand Down Expand Up @@ -928,6 +979,7 @@ protected override async void OnStartup(StartupEventArgs e)
resetSettingsIsEnabled: commonConfiguration.ResetSettingsIsEnabled,
signInIsEnabled: commonConfiguration.SignInIsEnabled,
telemetryIsEnabled: telemetryIsEnabled,
morphicBarDefaultLocation: commonConfiguration.MorphicBarDefaultLocation,
morphicBarvisibilityAfterLogin: commonConfiguration.MorphicBarVisibilityAfterLogin,
morphicBarExtraItems: commonConfiguration.ExtraMorphicBarItems,
telemetrySiteId: commonConfiguration.TelemetrySiteId
Expand All @@ -936,9 +988,10 @@ protected override async void OnStartup(StartupEventArgs e)
// before initializing any user interface, initialize our localization culture
var currentUICulture = System.Threading.Thread.CurrentThread.CurrentUICulture;
var iso639LanguageCode = Morphic.Localization.LocalizationManager.GetIso639LanguageCode(currentUICulture);
var cultureName = Morphic.Localization.LocalizationManager.GetCultureName(currentUICulture);
//
// NOTE: if the current culture is not supported (or if it's the same as the base culture), fail silently and use the base settings
_ = Morphic.Localization.LocalizationManager.SetUICulture(App.Current.Resources, iso639LanguageCode);
_ = Morphic.Localization.LocalizationManager.SetUICulture(App.Current.Resources, iso639LanguageCode, cultureName);

// determine if Morphic (i.e. the taskbar icon, the MorphicBar, etc.) should be shown
bool morphicShouldBeHidden = false;
Expand All @@ -959,7 +1012,7 @@ protected override async void OnStartup(StartupEventArgs e)
this.MorphicMainMenu = new();
//
// NOTE: if the current culture is not supported (or if it's the same as the base culture), fail silently and use the base settings
_ = Morphic.Localization.LocalizationManager.SetUICulture(this.MorphicMainMenu.Resources, iso639LanguageCode);
_ = Morphic.Localization.LocalizationManager.SetUICulture(this.MorphicMainMenu.Resources, iso639LanguageCode, cultureName);

// initialize our taskbar icon (button); this will not show the button
this.InitTaskbarIconWithoutShowing();
Expand Down Expand Up @@ -1078,7 +1131,7 @@ private void InitTaskbarIconWithoutShowing()
Icon = morphicIcon,
Text = "Morphic",
TrayIconLocation = Controls.HybridTrayIcon.TrayIconLocationOption.NextToNotificationTray,
Visible = false,
Visible = false, // NOTE: default state; should not be necessary
};
this.HybridTrayIcon = hybridTrayIcon;

Expand Down
Loading