diff --git a/AppApi.cs b/AppApi.cs index 19a6d76f..7a61b3b0 100644 --- a/AppApi.cs +++ b/AppApi.cs @@ -346,10 +346,14 @@ namespace VRCX public void FocusWindow() { - if (MainForm.Instance.WindowState == FormWindowState.Minimized) - MainForm.Instance.WindowState = FormWindowState.Normal; - MainForm.Instance.Show(); - MainForm.Instance.Activate(); + MainForm.Instance.Invoke(new Action(() => + { + if (MainForm.Instance.WindowState == FormWindowState.Minimized) + MainForm.Instance.WindowState = FormWindowState.Normal; + + MainForm.Instance.Show(); + MainForm.Instance.Activate(); + })); } public string FollowUrl(string url) diff --git a/Installer/installer.nsi b/Installer/installer.nsi index e17b89ab..f4fccd1f 100644 --- a/Installer/installer.nsi +++ b/Installer/installer.nsi @@ -143,7 +143,7 @@ Section "Install" SecInstall SetOutPath "$INSTDIR" - File /r /x *.log "..\bin\x64\Release\*.*" + File /r /x *.log /x *.pdb "..\bin\x64\Release\*.*" WriteRegStr HKLM "Software\VRCX" "InstallDir" $INSTDIR WriteUninstaller "$INSTDIR\Uninstall.exe" diff --git a/WinformThemer.cs b/WinformThemer.cs index 73b326f0..82e3c72a 100644 --- a/WinformThemer.cs +++ b/WinformThemer.cs @@ -59,16 +59,19 @@ namespace VRCX /// public static void SetThemeToGlobal(List
forms) { - //For each form, set the theme, then move focus onto it to force refresh - foreach(Form form in forms) + MainForm.Instance.Invoke(new Action(() => { - //Set the theme of the window - SetThemeToGlobal(form.Handle); + //For each form, set the theme, then move focus onto it to force refresh + foreach (Form form in forms) + { + //Set the theme of the window + SetThemeToGlobal(form.Handle); - //Change opacity to foce full redraw - form.Opacity = 0.99999; - form.Opacity = 1; - } + //Change opacity to foce full redraw + form.Opacity = 0.99999; + form.Opacity = 1; + } + })); } private static void SetThemeToGlobal(IntPtr handle) diff --git a/html/src/app.js b/html/src/app.js index 34a57ef4..0f593538 100644 --- a/html/src/app.js +++ b/html/src/app.js @@ -19365,16 +19365,16 @@ speechSynthesis.getVoices(); } }); - $app.methods.eventLaunchCommand = function (command) { + $app.methods.eventLaunchCommand = function (input) { if (!API.isLoggedIn) { return; } - var args = command.split('/'); + var args = input.split('/'); var command = args[0]; var commandArg = args[1]; switch (command) { case 'world': - this.showWorldDialog(commandArg); + this.directAccessWorld(input.replace('world/', '')); break; case 'avatar': this.showAvatarDialog(commandArg); diff --git a/html/src/index.pug b/html/src/index.pug index 768cd7ee..d5184819 100644 --- a/html/src/index.pug +++ b/html/src/index.pug @@ -2993,14 +2993,13 @@ html el-dropdown-menu(#default="dropdown") template(v-for="groupAPI in API.favoriteWorldGroups" :key="groupAPI.name") el-dropdown-item(style="display:block;margin:10px 0" @click.native="selectWorldImportGroup(groupAPI)" :disabled="groupAPI.count >= groupAPI.capacity") {{ groupAPI.displayName }} ({{ groupAPI.count }}/{{ groupAPI.capacity }}) - el-button(size="small" @click="importWorldImportTable" style="margin:10px" :disabled="worldImportTable.data.length === 0 || !worldImportDialog.worldImportFavoriteGroup") Import Worlds + el-button(size="small" @click="importWorldImportTable" style="margin:5px" :disabled="worldImportTable.data.length === 0 || !worldImportDialog.worldImportFavoriteGroup") Import Worlds span(v-if="worldImportDialog.worldImportFavoriteGroup") {{ worldImportTable.data.length }} / {{ worldImportDialog.worldImportFavoriteGroup.capacity - worldImportDialog.worldImportFavoriteGroup.count }} span(v-if="worldImportDialog.importProgress" style="margin:10px") Import Progress: {{ worldImportDialog.importProgress }}/{{ worldImportDialog.importProgressTotal }} br el-button(size="small" @click="clearWorldImportTable") Clear Table - br template(v-if="worldImportDialog.errors") - el-button(size="small" @click="worldImportDialog.errors = ''") Clear Errors + el-button(size="small" @click="worldImportDialog.errors = ''" style="margin-left:5px") Clear Errors h2(style="font-weight:bold;margin:0") Errors: pre(v-text="worldImportDialog.errors" style="white-space:pre-wrap;font-size:12px") data-tables(v-if="worldImportDialog.visible" v-bind="worldImportTable" v-loading="worldImportDialog.loading" style="margin-top:10px")