Skip to content

Commit

Permalink
Update: ダイヤログごとに適切なアイコンと色で表示する
Browse files Browse the repository at this point in the history
  • Loading branch information
tsukumijima committed Dec 1, 2024
1 parent af003f5 commit ce8b322
Show file tree
Hide file tree
Showing 12 changed files with 26 additions and 6 deletions.
2 changes: 1 addition & 1 deletion src/backend/electron/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -422,7 +422,7 @@ const retryShowSaveDialogWhileSafeDir = async <
type: "warning",
buttons: ["保存場所を変更", "無視して保存"],
defaultId: 0,
title: "警告",
title: "保存先の警告",
cancelId: 0,
});
return warningResult.response === 0 ? "retry" : "forceSave";
Expand Down
8 changes: 7 additions & 1 deletion src/components/Dialog/DictionaryManageDialog.vue
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,7 @@ const loadingDictProcess = async () => {
);
} catch {
const result = await store.actions.SHOW_ALERT_DIALOG({
type: "error",
title: "辞書の取得に失敗しました",
message: "音声合成エンジンの再起動をお試しください。",
});
Expand All @@ -328,6 +329,7 @@ const loadingDictProcess = async () => {
await createUILockAction(store.actions.SYNC_ALL_USER_DICT());
} catch {
await store.actions.SHOW_ALERT_DIALOG({
type: "error",
title: "辞書の同期に失敗しました",
message: "音声合成エンジンの再起動をお試しください。",
});
Expand Down Expand Up @@ -471,7 +473,8 @@ const play = async () => {
window.backend.logError(e);
nowGenerating.value = false;
void store.actions.SHOW_ALERT_DIALOG({
title: "生成に失敗しました",
type: "error",
title: "音声の生成に失敗しました",
message: "音声合成エンジンの再起動をお試しください。",
});
return;
Expand Down Expand Up @@ -548,6 +551,7 @@ const saveWord = async () => {
});
} catch {
void store.actions.SHOW_ALERT_DIALOG({
type: "error",
title: "単語の更新に失敗しました",
message: "音声合成エンジンの再起動をお試しください。",
});
Expand All @@ -573,6 +577,7 @@ const saveWord = async () => {
);
} catch {
void store.actions.SHOW_ALERT_DIALOG({
type: "error",
title: "単語の登録に失敗しました",
message: "音声合成エンジンの再起動をお試しください。",
});
Expand Down Expand Up @@ -603,6 +608,7 @@ const deleteWord = async () => {
);
} catch {
void store.actions.SHOW_ALERT_DIALOG({
type: "error",
title: "単語の削除に失敗しました",
message: "音声合成エンジンの再起動をお試しください。",
});
Expand Down
2 changes: 2 additions & 0 deletions src/components/Dialog/EngineManageDialog.vue
Original file line number Diff line number Diff line change
Expand Up @@ -488,6 +488,7 @@ const getEngineDirValidationMessage = (result: EngineDirValidationResult) => {
const addEngine = async () => {
const result = await store.actions.SHOW_WARNING_DIALOG({
type: "warning-light",
title: "音声合成エンジン追加の確認",
message:
"この操作はコンピュータに損害を与える可能性があります。音声合成エンジンの配布元が信頼できない場合は追加しないでください。",
Expand Down Expand Up @@ -589,6 +590,7 @@ const restartSelectedEngine = () => {
const requireReload = async (message: string) => {
const result = await store.actions.SHOW_WARNING_DIALOG({
type: "warning-light",
title: "再読み込みが必要です",
message: message,
actionName: "再読み込み",
Expand Down
4 changes: 4 additions & 0 deletions src/components/Dialog/ModelManageDialog.vue
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,7 @@ const installModel = async () => {
console.error(error);
if (error instanceof ResponseError) {
void store.actions.SHOW_ALERT_DIALOG({
type: "error",
title: "インストール失敗",
message: `音声合成モデルのインストールに失敗しました。
(HTTP Error ${error.response.status} / ${await error.response.text()})`,
Expand All @@ -363,6 +364,7 @@ const installModel = async () => {
await store.actions.CREATE_ALL_DEFAULT_PRESET();
} else {
void store.actions.SHOW_ALERT_DIALOG({
type: "error",
title: "インストール失敗",
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
message: `音声合成モデルのインストールに失敗しました。(${error})`,
Expand Down Expand Up @@ -403,6 +405,7 @@ const unInstallAivmModel = async () => {
console.error(error);
if (error instanceof ResponseError) {
void store.actions.SHOW_ALERT_DIALOG({
type: "error",
title: "アンインストール失敗",
message: `音声合成モデル「${activeAivmInfo.value?.manifest.name}」のアンインストールに失敗しました。
(HTTP Error ${error.response.status} / ${await error.response.text()})`,
Expand All @@ -416,6 +419,7 @@ const unInstallAivmModel = async () => {
await store.actions.CREATE_ALL_DEFAULT_PRESET();
} else {
void store.actions.SHOW_ALERT_DIALOG({
type: "error",
title: "アンインストール失敗",
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
message: `音声合成モデル「${activeAivmInfo.value?.manifest.name}」のアンインストールに失敗しました。(${error})`,
Expand Down
1 change: 1 addition & 0 deletions src/components/Dialog/SettingDialog/SettingDialog.vue
Original file line number Diff line number Diff line change
Expand Up @@ -731,6 +731,7 @@ const acceptRetrieveTelemetryComputed = computed({
}
void store.actions.SHOW_ALERT_DIALOG({
type: "warning-light",
title: "ソフトウェア利用状況のデータ収集の無効化",
message:
"ソフトウェア利用状況のデータ収集を完全に無効にするには、AivisSpeech を再起動する必要があります。",
Expand Down
3 changes: 2 additions & 1 deletion src/components/Dialog/TextDialog/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@ export const getColor = (dialogType: DialogType) => {
case "warning-light":
return "warning-light";
case "question":
case "info":
return "warning-light";
case "info":
return "primary";
case "none":
return "display";
default:
Expand Down
2 changes: 2 additions & 0 deletions src/components/Talk/AudioDetail.vue
Original file line number Diff line number Diff line change
Expand Up @@ -255,13 +255,15 @@ const play = async () => {
// AivisSpeech Engine から音声合成エラーが返された
if (e instanceof Error && e.message === "Response returned an error code") {
void store.actions.SHOW_ALERT_DIALOG({
type: "error",
title: "音声合成に失敗しました",
message:
msg ??
"現在のテキストや読み方では音声合成できない可能性があります。テキストや読み方を変更して再度お試しください。",
});
} else {
void store.actions.SHOW_ALERT_DIALOG({
type: "error",
title: "再生に失敗しました",
message: msg ?? "音声合成エンジンの再起動をお試しください。",
});
Expand Down
1 change: 1 addition & 0 deletions src/components/Talk/TalkEditor.vue
Original file line number Diff line number Diff line change
Expand Up @@ -582,6 +582,7 @@ const loadDraggedFile = (event: { dataTransfer: DataTransfer | null }) => {
break;
default:
void store.actions.SHOW_ALERT_DIALOG({
type: "error",
title: "対応していないファイルです",
message:
"テキストファイル (.txt) と AivisSpeech プロジェクトファイル (.aisp) に対応しています。",
Expand Down
2 changes: 2 additions & 0 deletions src/components/Talk/ToolBar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ const playContinuously = async () => {
} catch (e) {
const msg = handlePossiblyNotMorphableError(e);
void store.actions.SHOW_ALERT_DIALOG({
type: "error",
title: "再生に失敗しました",
message: msg ?? "音声合成エンジンの再起動をお試しください。",
});
Expand All @@ -134,6 +135,7 @@ const play = async () => {
} catch (e) {
const msg = handlePossiblyNotMorphableError(e);
void store.actions.SHOW_ALERT_DIALOG({
type: "error",
title: "再生に失敗しました",
message: msg ?? "音声合成エンジンの再起動をお試しください。",
});
Expand Down
4 changes: 2 additions & 2 deletions src/store/project.ts
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@ export const projectStore = createPartialStore<ProjectStoreTypes>({
) {
await showAlertDialog({
type: "info",
title: "保存",
title: "プロジェクトファイルの保存先の変更",
message: `編集中のプロジェクトが ${filePath} に切り替わりました。`,
});
}
Expand Down Expand Up @@ -356,7 +356,7 @@ export const projectStore = createPartialStore<ProjectStoreTypes>({

const result: number = await showQuestionDialog({
type: "warning",
title: "警告",
title: '変更の保存確認',
message,
buttons: ["キャンセル", "破棄", "保存"],
cancel: 0,
Expand Down
2 changes: 1 addition & 1 deletion src/store/setting.ts
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,7 @@ export const settingStore = createPartialStore<SettingStoreTypes>({
title: "対応する GPU デバイスが見つかりません",
message:
"GPU モードの利用には対応する GPU デバイスが必要です。\n" +
"このまま GPU モードに変更すると音声合成エンジンエラーが発生する可能性があります。本当に変更しますか?",
"このまま GPU モードに変更すると、音声合成エンジンでエラーが発生する可能性があります。本当に変更しますか?",
buttons: ["変更しない", "変更する"],
cancel: 0,
});
Expand Down
1 change: 1 addition & 0 deletions src/store/ui.ts
Original file line number Diff line number Diff line change
Expand Up @@ -492,6 +492,7 @@ export const uiStore = createPartialStore<UiStoreTypes>({
const activeAudioKey = getters.ACTIVE_AUDIO_KEY;
if (activeAudioKey == undefined) {
void actions.SHOW_ALERT_DIALOG({
type: "warning-light",
title: "テキスト欄が選択されていません",
message: "音声を書き出したいテキスト欄を選択してください。",
});
Expand Down

0 comments on commit ce8b322

Please sign in to comment.