mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-17 05:43:51 +02:00
change start mode checkbox to split-button (#1550)
This commit is contained in:
@@ -53,12 +53,6 @@
|
||||
</el-tooltip>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-checkbox
|
||||
v-model="launchDialog.desktop"
|
||||
style="display: inline-flex; align-items: center; margin-top: 5px"
|
||||
@change="saveLaunchDialog">
|
||||
{{ t('dialog.launch.start_as_desktop') }}
|
||||
</el-checkbox>
|
||||
<template #footer>
|
||||
<el-button
|
||||
:disabled="!checkCanInvite(launchDialog.location)"
|
||||
@@ -68,7 +62,7 @@
|
||||
<template v-if="canOpenInstanceInGame">
|
||||
<el-button
|
||||
:disabled="!launchDialog.secureOrShortName"
|
||||
@click="handleLaunchGame(launchDialog.location, launchDialog.shortName, launchDialog.desktop)">
|
||||
@click="handleLaunchGame(launchDialog.location, launchDialog.shortName, false)">
|
||||
{{ t('dialog.launch.launch') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
@@ -80,16 +74,30 @@
|
||||
</template>
|
||||
<template v-else>
|
||||
<el-button
|
||||
class="mr-1.25"
|
||||
:disabled="!launchDialog.secureOrShortName"
|
||||
@click="selfInvite(launchDialog.location, launchDialog.shortName)">
|
||||
{{ t('dialog.launch.self_invite') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
<el-dropdown
|
||||
split-button
|
||||
type="primary"
|
||||
:disabled="!launchDialog.secureOrShortName"
|
||||
@click="handleLaunchGame(launchDialog.location, launchDialog.shortName, launchDialog.desktop)">
|
||||
{{ t('dialog.launch.launch') }}
|
||||
</el-button>
|
||||
@click="handleLaunchDefault(launchDialog.location, launchDialog.shortName)"
|
||||
@command="(cmd) => handleLaunchCommand(cmd, launchDialog.location, launchDialog.shortName)">
|
||||
{{ launchModeLabel }}
|
||||
<template #dropdown>
|
||||
<el-dropdown-menu>
|
||||
<el-dropdown-item :command="launchDialog.desktop ? 'vr' : 'desktop'">
|
||||
{{
|
||||
launchDialog.desktop
|
||||
? t('dialog.launch.launch')
|
||||
: t('dialog.launch.start_as_desktop')
|
||||
}}
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</template>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</template>
|
||||
<InviteDialog :invite-dialog="inviteDialog" @closeInviteDialog="closeInviteDialog" />
|
||||
@@ -118,9 +126,13 @@
|
||||
const { launchGame, tryOpenInstanceInVrc } = useLaunchStore();
|
||||
const { launchDialogData } = storeToRefs(useLaunchStore());
|
||||
|
||||
const { canOpenInstanceInGame } = useInviteStore();
|
||||
const { canOpenInstanceInGame } = storeToRefs(useInviteStore());
|
||||
const { isGameRunning } = storeToRefs(useGameStore());
|
||||
|
||||
const launchModeLabel = computed(() =>
|
||||
launchDialog.value.desktop ? t('dialog.launch.start_as_desktop') : t('dialog.launch.launch')
|
||||
);
|
||||
|
||||
const launchDialogIndex = ref(2000);
|
||||
|
||||
const launchDialog = ref({
|
||||
@@ -212,6 +224,17 @@
|
||||
launchGame(location, shortName, desktop);
|
||||
isVisible.value = false;
|
||||
}
|
||||
|
||||
function handleLaunchDefault(location, shortName) {
|
||||
handleLaunchGame(location, shortName, launchDialog.value.desktop);
|
||||
}
|
||||
|
||||
function handleLaunchCommand(command, location, shortName) {
|
||||
const desktop = command === 'desktop';
|
||||
launchDialog.value.desktop = desktop;
|
||||
configRepository.setBool('launchAsDesktop', desktop);
|
||||
handleLaunchGame(location, shortName, desktop);
|
||||
}
|
||||
function handleAttachGame(location, shortName) {
|
||||
tryOpenInstanceInVrc(location, shortName);
|
||||
isVisible.value = false;
|
||||
@@ -235,12 +258,10 @@
|
||||
return args;
|
||||
});
|
||||
}
|
||||
|
||||
function getConfig() {
|
||||
configRepository.getBool('launchAsDesktop').then((value) => (launchDialog.value.desktop = value));
|
||||
}
|
||||
function saveLaunchDialog() {
|
||||
configRepository.setBool('launchAsDesktop', launchDialog.value.desktop);
|
||||
}
|
||||
async function initLaunchDialog() {
|
||||
const { tag, shortName } = launchDialogData.value;
|
||||
if (!isRealInstance(tag)) {
|
||||
|
||||
Reference in New Issue
Block a user