Skip to content

Commit 36daf09

Browse files
committed
v3.8.0
1 parent 9de3965 commit 36daf09

File tree

11 files changed

+143
-84
lines changed

11 files changed

+143
-84
lines changed

src/assets/whatsNew.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ export default {
8989
"3.8.0": [
9090
"文件管理器性能优化(文件类型使用哈希表匹配)",
9191
"文件管理器文件名tooltip展示细节优化",
92-
"文件管理器更好地支持亮色主题"
92+
"文件管理器更好地支持亮色主题",
93+
"关于页面支持多栏显示",
94+
"底下三个图标按钮样式正常化"
9395
]
9496
};

src/components/FileMgr/FileItem.vue

+17-17
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ import DirSingleItem from "@/api/core/types/DirSingleItem";
6262
import getFileType from "@/utils/file/getFileType";
6363
import { computed, ref, onMounted, onUnmounted } from "vue";
6464
import { useMainStore } from "@/store/main"
65-
import { useSettingsStore } from "@/store/settings"
6665
import prettyBytes from "@/utils/prettyBytes";
6766
import AdapterBase from "@/api/core/types/AdapterBase";
6867
import { ViewOptions } from "./types/ViewOptions";
@@ -80,7 +79,6 @@ interface Props {
8079
const props = defineProps<Props>()
8180
const emit = defineEmits(['selected', 'unselected'])
8281
const mainStore = useMainStore()
83-
const settingsStore = useSettingsStore()
8482
// 由于看图模式下排版存在不稳定性,故不启用虚拟列表
8583
const isIntersecting = ref<boolean>(props.viewOptions.itemDisplayMode === 2)
8684
@@ -95,8 +93,6 @@ const isHidden = computed(() => {
9593
9694
const fileItemClassList = computed(() => {
9795
return {
98-
'file-item-dark': settingsStore.getSetting('is_dark'),
99-
'file-item-light': !settingsStore.getSetting('is_dark'),
10096
'file-item-list': props.viewOptions.itemDisplayMode === 0,
10197
'file-item-item': props.viewOptions.itemDisplayMode === 1,
10298
'file-item-photo': props.viewOptions.itemDisplayMode === 2,
@@ -218,23 +214,27 @@ onUnmounted(() => {
218214
position: relative !important; // 为了contextmenu的右键点击激发区域能够顺利溢出隐藏
219215
}
220216

221-
.file-item-dark {
222-
color: white;
223-
background-color: rgba(131, 131, 131, @item-background-alpha);
224-
}
217+
.v-theme--LightTheme {
218+
.file-item {
219+
color: black;
220+
background-color: rgba(255, 255, 255, @item-background-alpha);
221+
box-shadow: 0 0 7px rgba(0, 0, 0, 0.15);
222+
}
225223

226-
.file-item-light {
227-
color: black;
228-
background-color: rgba(255, 255, 255, @item-background-alpha);
229-
box-shadow: 0 0 7px rgba(0, 0, 0, 0.15);
224+
.file-item:hover {
225+
background-color: rgba(230, 230, 230, 0.5);
226+
}
230227
}
231228

232-
.file-item-dark:hover {
233-
background-color: rgba(131, 131, 131, 0.5);
234-
}
229+
.v-theme--DarkTheme {
230+
.file-item {
231+
color: white;
232+
background-color: rgba(131, 131, 131, @item-background-alpha);
233+
}
235234

236-
.file-item-light:hover {
237-
background-color: rgba(230, 230, 230, 0.5);
235+
.file-item:hover {
236+
background-color: rgba(131, 131, 131, 0.5);
237+
}
238238
}
239239

240240
.file-item-list {

src/components/FileMgr/FileMgr.vue

+14-1
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,18 @@
120120
v-if="options.useCtxMenu">
121121
</ContextMenu>
122122
</FileItem>
123+
<!-- 替代file-item,用于测试
124+
<div v-for="item in currentFileTableForRender" :key="item.key"
125+
@click="handleItemDoubleClick(item)" style="width: 100px;height: 100px;" v-ripple>
126+
<template v-if="item.type === `folder`">
127+
<img :src="`./assets/fileTypes/folder.png`" class="file-types-image" loading="lazy" />
128+
</template>
129+
<template v-if="item.type === `file`">
130+
<img :src="`./assets/fileTypes/${getFileType(item.name)}.png`" class="file-types-image"
131+
loading="lazy" />
132+
</template>
133+
{{ item.name }}
134+
</div> -->
123135
</template>
124136
<div v-else-if="currentFileTableForRender.length === 0 && !isLoading"
125137
style="display: flex; justify-content: center; flex-direction: column; align-items: center;">
@@ -150,7 +162,8 @@
150162
<BottomBar :currentFileTableForRender="currentFileTableForRender" :selectedItems="selectedItems"
151163
@selectAll="selectAll()" @unSelectAll="unSelectAll()" @reverseSelection="reverseSelection()">
152164
<ClipBoard ref="ClipBoardRef" :adapter="adapter" :current-dir="currentDir"
153-
:selected-items="selectedItems"></ClipBoard>
165+
:selected-items="selectedItems">
166+
</ClipBoard>
154167
</BottomBar>
155168
</v-main>
156169
</v-app>

src/components/FileStateManager.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<div class="text-center">
33
<v-menu v-model="isMenuOpen" :close-on-content-click="false" location="end">
44
<template v-slot:activator="{ props }">
5-
<v-btn icon v-bind="props" size="small" style="margin-top:10px">
5+
<v-btn icon v-bind="props" size="small" style="margin-top:10px" variant="flat">
66
<v-icon>
77
mdi-file
88
</v-icon>

src/components/PerformanceMonitor/PerformanceMonitor.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<div class="text-center">
33
<v-menu v-model="isMenuOpen" :close-on-content-click="false" location="end">
44
<template v-slot:activator="{ props }">
5-
<v-btn icon v-bind="props" size="small" style="margin-top:10px">
5+
<v-btn icon v-bind="props" size="small" style="margin-top:10px" variant="flat">
66
<v-icon>
77
mdi-chart-bell-curve
88
</v-icon>

src/components/SideColumn.vue

+13-4
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,18 @@ hr {
101101
</style>
102102

103103
<style>
104-
.v-navigation-drawer {
105-
border: none;
106-
/* box-shadow: 0px 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 4px 5px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 10px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.12)); */
107-
box-shadow: 0px 0px 7px 5px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.25));
104+
.v-theme--LightTheme {
105+
.v-navigation-drawer {
106+
border: none;
107+
box-shadow: 0px 0px 2px 1px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.15));
108+
}
109+
}
110+
111+
.v-theme--DarkTheme {
112+
.v-navigation-drawer {
113+
border: none;
114+
/* box-shadow: 0px 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 4px 5px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 10px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.12)); */
115+
box-shadow: 0px 0px 7px 5px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.25));
116+
}
108117
}
109118
</style>

src/components/SystemBar.vue

+6
Original file line numberDiff line numberDiff line change
@@ -169,4 +169,10 @@ const itemList = computed(() => {
169169
.system-bar-item-danger:hover {
170170
background-color: rgba(255, 29, 29, 0.9);
171171
}
172+
173+
.v-theme--LightTheme {
174+
.v-system-bar {
175+
background-color: #f7f7f7;
176+
}
177+
}
172178
</style>

src/components/TaskMgr.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<div class="text-center">
33
<v-menu v-model="isMenuOpen" :close-on-content-click="false" location="end">
44
<template v-slot:activator="{ props }">
5-
<v-btn icon v-bind="props" size="small" style="margin-top:10px">
5+
<v-btn icon v-bind="props" size="small" style="margin-top:10px" variant="flat">
66
<v-icon>
77
mdi-function-variant
88
</v-icon>

src/components/shared/BottomTip.vue

+4-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,10 @@ const queryData = async () => {
3838
words.value = hitokoto
3939
fromWhere.value = from
4040
} catch (e) {
41-
words.value = "网络出错了,请稍后再试,或者永久关闭此功能"
42-
fromWhere.value = "null"
41+
if (words.value === "") {
42+
words.value = "网络出错了,请稍后再试,或者永久关闭此功能"
43+
fromWhere.value = "null"
44+
}
4345
// warn(`从网络获取句子失败!只能显示之前的旧句子了 ${e.message}`)
4446
}
4547
}

src/styles/globalVuetifyOverrides.less

+13
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,17 @@
2626

2727
.v-list-item__append {
2828
overflow: visible !important;
29+
}
30+
31+
.v-theme--LightTheme {
32+
.v-toolbar {
33+
border: none;
34+
box-shadow: 0px 2px 4px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.05)),
35+
0px 4px 5px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.04)),
36+
0px 1px 10px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.03)) !important;
37+
}
38+
}
39+
40+
.v-theme--DarkTheme {
41+
2942
}

src/views/About/AboutView.vue

+70-56
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@
55
<IconBtn icon="mdi-gift" tooltip="捐赠作者" />
66
</ActionToolBarBase>
77
</Teleport>
8-
98
<v-col>
10-
<v-alert border="start" color="blue-gray" density="compact" variant="elevated" class="about-msg"
11-
style="font-size: 15px;">
9+
<v-alert border="start" color="blue-gray" variant="elevated" class="about-msg"
10+
style="font-size: 15px; margin-top: 20px;">
1211
<template #prepend>
1312
<img src="./favicon.png" style="width: 150px;">
1413
</template>
@@ -32,60 +31,62 @@
3231
</div>
3332
</v-alert>
3433
</v-col>
35-
<v-col>
36-
<v-card class="rounded-lg">
37-
<v-list lines="one">
38-
<v-list-subheader>运行环境/版本</v-list-subheader>
39-
<v-list-item v-ripple v-for="item in runtimeTableData" :key="item.key" :subtitle="item.key"
40-
:title="item.value">
41-
<template #prepend>
42-
<img :src="`./assets/about/${item.img}`" class="image" />
43-
</template>
44-
<template #append>
45-
<IconBtn icon="mdi-open-in-new" tooltip="item.link" :onClick="() => { }" />
46-
</template>
47-
</v-list-item>
48-
</v-list>
49-
</v-card>
50-
</v-col>
51-
<v-col>
52-
<v-card class="rounded-lg">
53-
<v-list lines="one">
54-
<v-list-subheader>依赖库</v-list-subheader>
55-
<v-list-item v-ripple v-for="item in depLibsTableData" :key="item.key" :subtitle="item.key"
56-
:title="item.value">
57-
<template v-slot:prepend>
58-
<img :src="`./assets/about/${item.img}`" class="image" />
59-
</template>
60-
</v-list-item>
61-
</v-list>
62-
</v-card>
63-
</v-col>
64-
<v-col>
65-
<v-card class="rounded-lg">
66-
<div class="bottom">
67-
<v-list-subheader>构建信息</v-list-subheader>
68-
构建日期:
69-
{{ store.COMPILE_DATE }}
70-
<br>
71-
构建号:
72-
{{ store.COMPILE_NUMBER }}
73-
<br>
74-
构建平台:
75-
{{ store.COMPILE_PLATFORM }}
76-
<br>
77-
构建CPU信息:
78-
{{ store.COMPILE_CPU }}
79-
<br>
80-
构建内存信息:
81-
{{ store.COMPILE_MEM }}
82-
<br>
83-
构建环境:
84-
{{ store.COMPILE_ENV }}
85-
</div>
34+
<div id="about-lists-container">
35+
<v-col>
36+
<v-card class="rounded-lg">
37+
<v-list lines="one">
38+
<v-list-subheader>运行环境/版本</v-list-subheader>
39+
<v-list-item v-ripple v-for="item in runtimeTableData" :key="item.key" :subtitle="item.key"
40+
:title="item.value">
41+
<template #prepend>
42+
<img :src="`./assets/about/${item.img}`" class="image" />
43+
</template>
44+
<template #append>
45+
<IconBtn icon="mdi-open-in-new" tooltip="item.link" :onClick="() => { }" />
46+
</template>
47+
</v-list-item>
48+
</v-list>
49+
</v-card>
50+
</v-col>
51+
<v-col>
52+
<v-card class="rounded-lg">
53+
<v-list lines="one">
54+
<v-list-subheader>依赖库</v-list-subheader>
55+
<v-list-item v-ripple v-for="item in depLibsTableData" :key="item.key" :subtitle="item.key"
56+
:title="item.value">
57+
<template v-slot:prepend>
58+
<img :src="`./assets/about/${item.img}`" class="image" />
59+
</template>
60+
</v-list-item>
61+
</v-list>
62+
</v-card>
63+
</v-col>
64+
<v-col>
65+
<v-card class="rounded-lg">
66+
<div class="bottom">
67+
<v-list-subheader>构建信息</v-list-subheader>
68+
构建日期:
69+
{{ store.COMPILE_DATE }}
70+
<br>
71+
构建号:
72+
{{ store.COMPILE_NUMBER }}
73+
<br>
74+
构建平台:
75+
{{ store.COMPILE_PLATFORM }}
76+
<br>
77+
构建CPU信息:
78+
{{ store.COMPILE_CPU }}
79+
<br>
80+
构建内存信息:
81+
{{ store.COMPILE_MEM }}
82+
<br>
83+
构建环境:
84+
{{ store.COMPILE_ENV }}
85+
</div>
8686

87-
</v-card>
88-
</v-col>
87+
</v-card>
88+
</v-col>
89+
</div>
8990
<BottomTip></BottomTip>
9091
</template>
9192

@@ -129,6 +130,19 @@ const depLibsTableData = [
129130

130131
<!-- Add "scoped" attribute to limit CSS to this component only -->
131132
<style scoped lang="less">
133+
#about-lists-container {
134+
padding: 10px;
135+
display: flex;
136+
flex-wrap: wrap;
137+
138+
// 调节子元素的性质。这里是列表们
139+
>div {
140+
min-width: 400px;
141+
flex-grow: 1;
142+
padding: 5px;
143+
}
144+
}
145+
132146
.bottom {
133147
font-size: 15px;
134148
white-space: pre-wrap;

0 commit comments

Comments
 (0)