优化窗口透明度操作逻辑。

This commit is contained in:
unknown 2024-07-05 22:41:00 +08:00
parent 0cb66ffaa5
commit dd06149fb4
5 changed files with 95 additions and 58 deletions

View File

@ -193,6 +193,7 @@ let simplifiedChinese = {
"开启勿扰模式后计算机在游戏、应用全屏模式下不会弹出Dawn Launcher窗口。", "开启勿扰模式后计算机在游戏、应用全屏模式下不会弹出Dawn Launcher窗口。",
notFoundFile: "找不到指定的文件", notFoundFile: "找不到指定的文件",
notFoundFolder: "找不到指定的文件夹", notFoundFolder: "找不到指定的文件夹",
notTransparent: "不透明",
number: "数量", number: "数量",
numberKey: "数字键", numberKey: "数字键",
officialWebsite: "官方网站", officialWebsite: "官方网站",
@ -288,6 +289,7 @@ let simplifiedChinese = {
title: "标题", title: "标题",
top: "顶部", top: "顶部",
traditionalChinese: "繁体中文", traditionalChinese: "繁体中文",
transparent: "透明",
turnOffMonitor: "关闭显示器", turnOffMonitor: "关闭显示器",
unlockClassification: "解锁分类", unlockClassification: "解锁分类",
unlockItem: "解锁项目", unlockItem: "解锁项目",
@ -501,6 +503,7 @@ let traditionalChinese = {
"開啟勿擾模式後計算機在遊戲、應用全屏模式下不會彈出Dawn Launcher窗口。", "開啟勿擾模式後計算機在遊戲、應用全屏模式下不會彈出Dawn Launcher窗口。",
notFoundFile: "找不到指定的文件", notFoundFile: "找不到指定的文件",
notFoundFolder: "找不到指定的文件夾", notFoundFolder: "找不到指定的文件夾",
notTransparent: "不透明",
number: "數量", number: "數量",
numberKey: "數字鍵", numberKey: "數字鍵",
officialWebsite: "官方網站", officialWebsite: "官方網站",
@ -596,6 +599,7 @@ let traditionalChinese = {
title: "標題", title: "標題",
top: "頂部", top: "頂部",
traditionalChinese: "繁體中文", traditionalChinese: "繁體中文",
transparent: "透明",
turnOffMonitor: "關閉顯示器", turnOffMonitor: "關閉顯示器",
unlockClassification: "解鎖分類", unlockClassification: "解鎖分類",
unlockItem: "解鎖項目", unlockItem: "解鎖項目",
@ -817,6 +821,7 @@ let english = {
"After turning on Do Not Disturb mode, the Dawn Launcher window will not pop up when the computer is in full-screen mode for games or applications.", "After turning on Do Not Disturb mode, the Dawn Launcher window will not pop up when the computer is in full-screen mode for games or applications.",
notFoundFile: "The file specified cannot be found", notFoundFile: "The file specified cannot be found",
notFoundFolder: "The specified folder cannot be found", notFoundFolder: "The specified folder cannot be found",
notTransparent: "Not Transparent",
number: "Number", number: "Number",
numberKey: "Number Key", numberKey: "Number Key",
officialWebsite: "Official Website", officialWebsite: "Official Website",
@ -923,6 +928,7 @@ let english = {
title: "Title", title: "Title",
top: "Top", top: "Top",
traditionalChinese: "Traditional Chinese", traditionalChinese: "Traditional Chinese",
transparent: "Transparent",
turnOffMonitor: "Turn Off Monitor", turnOffMonitor: "Turn Off Monitor",
unlockClassification: "Unlock Classification", unlockClassification: "Unlock Classification",
unlockItem: "Unlock Item", unlockItem: "Unlock Item",

View File

@ -39,7 +39,7 @@
"electron-builder": "^24.6.5", "electron-builder": "^24.6.5",
"less": "^4.2.0", "less": "^4.2.0",
"less-loader": "^11.1.3", "less-loader": "^11.1.3",
"naive-ui": "^2.35.0", "naive-ui": "^2.36.0",
"postcss": "^8.4.31", "postcss": "^8.4.31",
"tailwindcss": "^3.3.5", "tailwindcss": "^3.3.5",
"typescript": "^5.2.2", "typescript": "^5.2.2",

View File

@ -91,10 +91,35 @@ function setTheme() {
padding: "6px", padding: "6px",
}, },
Checkbox: { Checkbox: {
color: store.setting.appearance.theme.mainBackgroundColor, color: hexToRGBA(store.setting.appearance.theme.mainBackgroundColor, 1),
textColor: store.setting.appearance.theme.mainFontColor, textColor: hexToRGBA(store.setting.appearance.theme.mainFontColor, 1),
borderChecked: "1px solid " + store.setting.appearance.theme.borderColor, border:
colorChecked: store.setting.appearance.theme.secondBackgroundColor, "1px solid " + hexToRGBA(store.setting.appearance.theme.borderColor, 1),
borderChecked:
"1px solid " +
hexToRGBA(store.setting.appearance.theme.mainFontColor, 1),
colorChecked: "none",
checkMarkColor: hexToRGBA(
store.setting.appearance.theme.mainFontColor,
1
),
},
Radio: {
boxShadowActive:
"inset 0 0 0 1px " +
hexToRGBA(store.setting.appearance.theme.mainFontColor, 1),
boxShadowFocus:
"inset 0 0 0 1px " +
hexToRGBA(store.setting.appearance.theme.mainFontColor, 1),
boxShadowHover:
"inset 0 0 0 1px " +
hexToRGBA(store.setting.appearance.theme.mainFontColor, 1),
dotColorActive: hexToRGBA(
store.setting.appearance.theme.mainFontColor,
1
),
color: hexToRGBA(store.setting.appearance.theme.mainBackgroundColor, 1),
textColor: hexToRGBA(store.setting.appearance.theme.mainFontColor, 1),
}, },
Form: { Form: {
labelTextColor: store.setting.appearance.theme.mainFontColor, labelTextColor: store.setting.appearance.theme.mainFontColor,

View File

@ -300,15 +300,6 @@ let topRightMenuOptions = ref<Array<any>>([
}, },
}, },
}, },
{
label: store.language.rewardSponsor,
key: "RewardSponsor",
props: {
onclick: () => {
window.api.openURL("https://dawnlauncher.com/sponsor");
},
},
},
{ {
label: store.language.feedback, label: store.language.feedback,
key: "Feedback", key: "Feedback",

View File

@ -469,28 +469,39 @@
size="small" size="small"
class="mt-3" class="mt-3"
> >
<span class="block font-semibold" <span class="block font-semibold">{{
>{{ store.language.backgroundTransparent }}({{ store.language.backgroundTransparent
transparency }}</span>
}})</span <NFormItem class="mt-1">
> <NRadio
<NFormItem> :checked="setting.appearance.transparency === 1"
<input :value="false"
type="range" @change="changeTransparency"
v-model="transparency" >{{ store.language.notTransparent }}</NRadio
min="0.1" >
max="1.0" <NRadio
step="0.01" :checked="setting.appearance.transparency < 1"
class="mt-2 w-full range" :value="true"
@change="setTransparency" @change="changeTransparency"
/> >{{ store.language.transparent }}</NRadio
>
</NFormItem> </NFormItem>
<NSlider
v-if="setting.appearance.transparency < 1"
class="mt-1"
v-model:value="transparency"
:step="0.01"
:min="0.1"
:max="0.99"
:on-dragend="setTransparency"
:keyboard="false"
></NSlider>
</NForm> </NForm>
<NForm <NForm
label-placement="left" label-placement="left"
:show-feedback="false" :show-feedback="false"
size="small" size="small"
class="mt-1" class="mt-3"
> >
<span class="block font-semibold">{{ <span class="block font-semibold">{{
store.language.backgroundImage store.language.backgroundImage
@ -525,21 +536,18 @@
class="mt-3" class="mt-3"
v-if="setting.appearance.backgroundImage && store.backgroundImage" v-if="setting.appearance.backgroundImage && store.backgroundImage"
> >
<span class="block font-semibold" <span class="block font-semibold">{{
>{{ store.language.backgroundImageTransparent }}({{ store.language.backgroundImageTransparent
setting.appearance.backgroundImageTransparency }}</span>
}})</span
>
<NFormItem> <NFormItem>
<input <NSlider
type="range" v-model:value="backgroundImageTransparency"
v-model="backgroundImageTransparency" :step="0.01"
min="0.1" :min="0.1"
max="1.0" :max="1.0"
step="0.01" :on-dragend="setBackgroundImageTransparency"
class="mt-2 w-full range" :keyboard="false"
@change="setBackgroundImageTransparency" ></NSlider>
/>
</NFormItem> </NFormItem>
</NForm> </NForm>
<NForm <NForm
@ -890,21 +898,18 @@
size="small" size="small"
class="mt-3" class="mt-3"
> >
<span class="block font-semibold" <span class="block font-semibold">{{
>{{ store.language.columnNumber }}({{ store.language.columnNumber
setting.item.columnNumber }}</span>
}})</span
>
<NFormItem> <NFormItem>
<input <NSlider
type="range" v-model:value="columnNumber"
v-model="columnNumber" :step="1"
min="1" :min="1"
max="20" :max="20"
step="1" :on-dragend="setColumnNumber"
class="mt-2 w-full range" :keyboard="false"
@change="setColumnNumber" ></NSlider>
/>
</NFormItem> </NFormItem>
<Desc <Desc
class="mt-1" class="mt-1"
@ -1537,6 +1542,8 @@ import {
NColorPicker, NColorPicker,
NInputNumber, NInputNumber,
NSelect, NSelect,
NRadio,
NSlider,
} from "naive-ui"; } from "naive-ui";
import SimpleBar from "simplebar"; import SimpleBar from "simplebar";
import "simplebar/dist/simplebar.css"; import "simplebar/dist/simplebar.css";
@ -2082,6 +2089,14 @@ function changeFontShadowColor(value: string) {
} }
// //
let transparency = ref(setting.value.appearance.transparency); let transparency = ref(setting.value.appearance.transparency);
function changeTransparency(e: Event) {
let val = (e.target as HTMLInputElement).value;
if (val === "true") {
setting.value.appearance.transparency = 0.9;
} else {
setting.value.appearance.transparency = 1;
}
}
function setTransparency() { function setTransparency() {
setting.value.appearance.transparency = Number(transparency.value); setting.value.appearance.transparency = Number(transparency.value);
} }