跳到主要内容

github/tai

公开

Tai · Windows 软件与网站使用时长统计。上游 Planshit/Tai 的源码镜像,非灵栈原创;MIT 许可。来源:https://github.com/Planshit/Tai 。本次为手动同步,暂不提供安装包。

提交记录
修改Core/Servicers/Instances/AppData.cs+0 −1看文件
@@ -133,7 +133,6 @@ namespace Core.Servicers.Instances
133133 }
134134 }
135135 db.SaveChanges();
136删除: _updateTempApps.Clear();
137136 }
138137 }
139138 }
修改UI/Controls/Base/View.cs+8 −1看文件
@@ -90,7 +90,14 @@ namespace UI.Controls.Base
9090 else
9191 {
9292 var data = Value as IEnumerable<object>;
93删除: isShow = data.Count() == 0;
93新增: if (data != null)
94新增: {
95新增: isShow = data.Count() == 0;
96新增: }
97新增: else
98新增: {
99新增: isShow = string.IsNullOrEmpty(Value.ToString());
100新增: }
94101 }
95102 }
96103 else
修改UI/Controls/Input/InputBox.cs+1 −0看文件
@@ -44,6 +44,7 @@ namespace UI.Controls.Input
4444
4545 public void HideError()
4646 {
47新增:
4748 IsShowError = false;
4849 }
4950 }
修改UI/Models/CategoryAppList/ChooseAppModel.cs+2 −0看文件
@@ -4,6 +4,7 @@ using System.Collections.Generic;
44using System.Linq;
55using System.Text;
66using System.Threading.Tasks;
7新增:using System.Windows;
78using UI.Controls.Select;
89
910namespace UI.Models.CategoryAppList
@@ -13,5 +14,6 @@ namespace UI.Models.CategoryAppList
1314 public bool IsChoosed { get; set; }
1415 public AppModel App { get; set; }
1516 public SelectItemModel Value { get; set; } = new SelectItemModel();
17新增: public Visibility Visibility { get; set; } = Visibility.Visible;
1618 }
1719}
修改UI/Models/CategoryAppListPageModel.cs+3 −0看文件
@@ -28,5 +28,8 @@ namespace UI.Models
2828
2929 private AppModel SelectedItem_;
3030 public AppModel SelectedItem { get { return SelectedItem_; } set { SelectedItem_ = value; OnPropertyChanged(); } }
31新增:
32新增: private string SearchInput_;
33新增: public string SearchInput { get { return SearchInput_; } set { SearchInput_ = value; OnPropertyChanged(); } }
3134 }
3235}
修改UI/ViewModels/CategoryAppListPageVM.cs+93 −4看文件
@@ -2,6 +2,7 @@
22using Core.Servicers.Interfaces;
33using System;
44using System.Collections.Generic;
5新增:using System.Diagnostics;
56using System.Linq;
67using System.Text;
78using System.Threading.Tasks;
@@ -17,22 +18,73 @@ namespace UI.ViewModels
1718 {
1819 private readonly IAppData appData;
1920 private readonly MainViewModel mainVM;
20删除:
21新增: private List<ChooseAppModel> appList;
2122 public Command ShowChooseCommand { get; set; }
2223 public Command ChoosedCommand { get; set; }
2324 public Command GotoDetailCommand { get; set; }
25新增: public Command SearchCommand { get; set; }
26新增: public Command ChooseCloseCommand { get; set; }
27新增: public Command DelCommand { get; set; }
2428 public CategoryAppListPageVM(IAppData appData, MainViewModel mainVM)
2529 {
2630 this.appData = appData;
2731 this.mainVM = mainVM;
2832
33新增:
2934 ShowChooseCommand = new Command(new Action<object>(OnShowChoose));
3035 ChoosedCommand = new Command(new Action<object>(OnChoosed));
3136 GotoDetailCommand = new Command(new Action<object>(OnGotoDetail));
37新增: SearchCommand = new Command(new Action<object>(OnSearch));
38新增: ChooseCloseCommand = new Command(new Action<object>(OnChooseClose));
39新增: DelCommand = new Command(new Action<object>(OnDel));
3240
3341 LoadData();
42新增:
43新增: }
44新增:
45新增: private void OnDel(object obj)
46新增: {
47新增: if (SelectedItem != null)
48新增: {
49新增: var list = Data.ToList();
50新增:
51新增: list.Remove(SelectedItem);
52新增:
53新增: var app = appData.GetApp(SelectedItem.ID);
54新增: if(app != null)
55新增: {
56新增: app.CategoryID = 0;
57新增: app.Category = null;
58新增: appData.UpdateApp(app);
59新增: }
60新增:
61新增: Data = list;
62新增: }
63新增: }
64新增:
65新增: private void OnChooseClose(object obj)
66新增: {
67新增: ChooseVisibility = System.Windows.Visibility.Collapsed;
68新增: SearchInput = "";
69新增: }
70新增:
71新增: private void OnSearch(object obj)
72新增: {
73新增: string keyword = obj.ToString();
74新增:
75新增: if (keyword == "vscode")
76新增: {
77新增: keyword = "Visual Studio Code";
78新增: }
79新增: else if (keyword == "ps")
80新增: {
81新增: keyword = "Photoshop";
82新增: }
83新增: Search(keyword);
3484 }
3585
86新增:
87新增:
3688 private void OnGotoDetail(object obj)
3789 {
3890 if (SelectedItem != null)
@@ -46,7 +98,10 @@ namespace UI.ViewModels
4698 {
4799 ChooseVisibility = System.Windows.Visibility.Collapsed;
48100
101新增: SearchInput = "";
102新增:
49103 var data = new List<AppModel>();
104新增:
50105 foreach (var item in AppList)
51106 {
52107
@@ -77,6 +132,7 @@ namespace UI.ViewModels
77132 }
78133 }
79134 Data = data;
135新增:
80136 //LoadData();
81137 }
82138
@@ -117,25 +173,58 @@ namespace UI.ViewModels
117173 {
118174 Task.Run(() =>
119175 {
120删除: //Category = mainVM.Data as UI.Models.Category.CategoryModel;
176新增: appList = new List<ChooseAppModel>();
177新增:
121178 if (Category == null)
122179 {
123180 return;
124181 }
125删除: var appList = new List<ChooseAppModel>();
126182 foreach (var item in appData.GetAllApps())
127183 {
128184 var app = new ChooseAppModel();
129185 app.App = item;
130186 app.IsChoosed = item.CategoryID == Category.Data.ID;
131删除: app.Value.Name = item.Name;
187新增: app.Value.Name = String.IsNullOrEmpty(item.Description) ? item.Name : item.Description;
132188 app.Value.Img = item.IconFile;
133189
134190 appList.Add(app);
135191 }
192新增: appList = appList.OrderBy(m => m.App.Description).ToList();
136193
137194 AppList = appList;
138195 });
139196 }
197新增:
198新增: private void Search(string keyword)
199新增: {
200新增: if (!string.IsNullOrEmpty(keyword))
201新增: {
202新增: Debug.WriteLine(keyword);
203新增: keyword = keyword.ToLower();
204新增:
205新增: //var list = appList.Where(m => m.App.Description.ToLower().IndexOf(keyword) != -1 || m.App.Name.ToLower().IndexOf(keyword) != -1).ToList();
206新增: var list = AppList.ToList();
207新增:
208新增: foreach (var item in list)
209新增: {
210新增: item.Visibility = item.App.Description.ToLower().IndexOf(keyword) != -1 || item.App.Name.ToLower().IndexOf(keyword) != -1 ? System.Windows.Visibility.Visible : System.Windows.Visibility.Collapsed;
211新增: }
212新增:
213新增: AppList = list;
214新增:
215新增: }
216新增: else
217新增: {
218新增: var list = AppList.ToList();
219新增:
220新增: foreach (var item in list)
221新增: {
222新增: item.Visibility = System.Windows.Visibility.Visible;
223新增: }
224新增:
225新增: AppList = list;
226新增:
227新增: }
228新增: }
140229 }
141230}
修改UI/Views/CategoryAppListPage.xaml+90 −64看文件
@@ -3,7 +3,7 @@
33 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
44 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
55 xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
6删除: xmlns:local="clr-namespace:UI.Views" xmlns:base="clr-namespace:UI.Controls.Base" xmlns:select="clr-namespace:UI.Controls.Select" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
6新增: xmlns:local="clr-namespace:UI.Views" xmlns:base="clr-namespace:UI.Controls.Base" xmlns:select="clr-namespace:UI.Controls.Select" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:input="clr-namespace:UI.Controls.Input"
77 mc:Ignorable="d"
88 d:DesignHeight="450" d:DesignWidth="800"
99 Title="CategoryAppListPage">
@@ -13,67 +13,80 @@
1313 <Grid Visibility="{Binding ChooseVisibility}" Panel.ZIndex="2" Margin="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
1414 <Border Background="Black" Opacity=".7"/>
1515 <Border Height="460" Background="White" CornerRadius="10" BorderBrush="#ccc" BorderThickness="1" Margin="50" VerticalAlignment="Top">
16删除: <Grid>
17删除: <Grid.RowDefinitions>
18删除: <RowDefinition Height="40"/>
19删除: <RowDefinition Height="*"/>
20删除: <RowDefinition Height="80"/>
21删除:
22删除: </Grid.RowDefinitions>
23删除: <TextBlock Text="选择应用" VerticalAlignment="Center" Margin="10,0,0,0"/>
24删除: <ListView ItemsSource="{Binding AppList}" Margin="20" Grid.Row="1">
25删除: <ListBox.Resources>
26删除: <Style TargetType="{x:Type ListView}">
27删除: <Setter Property="OverridesDefaultStyle" Value="True"/>
28删除:
29删除: <Setter Property="Template">
30删除: <Setter.Value>
31删除: <ControlTemplate TargetType="{x:Type ListView}">
32删除: <ScrollViewer>
33删除: <ItemsPresenter />
34删除: </ScrollViewer>
35删除: </ControlTemplate>
36删除: </Setter.Value>
37删除: </Setter>
38删除: </Style>
39删除: <Style TargetType="{x:Type ListViewItem}">
40删除: <Setter Property="OverridesDefaultStyle" Value="True"/>
41删除: <Setter Property="Template">
42删除: <Setter.Value>
43删除: <ControlTemplate TargetType="{x:Type ListViewItem}">
44删除: <Border>
45删除: <ContentPresenter/>
46删除: </Border>
47删除:
48删除: </ControlTemplate>
49删除: </Setter.Value>
50删除: </Setter>
51删除:
52删除: </Style>
53删除: </ListBox.Resources>
54删除: <ListBox.ItemsPanel>
55删除: <ItemsPanelTemplate>
16新增: <Grid>
17新增: <Grid.RowDefinitions>
18新增: <RowDefinition Height="40"/>
19新增: <RowDefinition Height="auto"/>
20新增: <RowDefinition Height="*"/>
21新增: <RowDefinition Height="80"/>
22新增:
23新增: </Grid.RowDefinitions>
24新增: <Grid>
25新增: <TextBlock Text="选择应用" VerticalAlignment="Center" Margin="10,0,0,0"/>
26新增: <Button:IconButton Foreground="#ccc" Icon="ChromeClose" HorizontalAlignment="Right" FontSize="12" Margin="0,0,10,0" Command="{Binding ChooseCloseCommand}"/>
27新增: </Grid>
28新增: <Border Grid.Row="1">
29新增: <input:InputBox Placeholder="搜索应用" Margin="10" x:Name="SearchBox" Text="{Binding SearchInput,Mode=TwoWay}">
30新增: <i:Interaction.Triggers>
31新增: <i:EventTrigger EventName="KeyUp">
32新增: <i:InvokeCommandAction Command="{Binding Path=SearchCommand}" CommandParameter="{Binding ElementName=SearchBox,Path=Text}"/>
33新增: </i:EventTrigger>
34新增: </i:Interaction.Triggers>
35新增: </input:InputBox>
36新增: </Border>
37新增: <ListView ItemsSource="{Binding AppList}" Margin="20" Grid.Row="2">
38新增: <ListBox.Resources>
39新增: <Style TargetType="{x:Type ListView}">
40新增: <Setter Property="OverridesDefaultStyle" Value="True"/>
41新增:
42新增: <Setter Property="Template">
43新增: <Setter.Value>
44新增: <ControlTemplate TargetType="{x:Type ListView}">
45新增: <ScrollViewer>
46新增: <ItemsPresenter />
47新增: </ScrollViewer>
48新增: </ControlTemplate>
49新增: </Setter.Value>
50新增: </Setter>
51新增: </Style>
52新增: <Style TargetType="{x:Type ListViewItem}">
53新增: <Setter Property="OverridesDefaultStyle" Value="True"/>
54新增: <Setter Property="Template">
55新增: <Setter.Value>
56新增: <ControlTemplate TargetType="{x:Type ListViewItem}">
57新增: <Border>
58新增: <ContentPresenter/>
59新增: </Border>
60新增:
61新增: </ControlTemplate>
62新增: </Setter.Value>
63新增: </Setter>
64新增:
65新增: </Style>
66新增: </ListBox.Resources>
67新增: <ListBox.ItemsPanel>
68新增: <ItemsPanelTemplate>
5669 <VirtualizingStackPanel/>
5770 <!--<StackPanel/>-->
5871 </ItemsPanelTemplate>
59删除: </ListBox.ItemsPanel>
60删除: <ListView.ItemTemplate>
61删除: <DataTemplate>
62删除: <StackPanel >
63删除: <Border HorizontalAlignment="Stretch">
64删除: <select:Option HorizontalAlignment="Stretch" IsChecked="{Binding IsChoosed,Mode=TwoWay}" Value="{Binding Value}"/>
65删除:
66删除: </Border>
67删除:
68删除: </StackPanel>
69删除: </DataTemplate>
70删除: </ListView.ItemTemplate>
71删除: </ListView>
72删除:
73删除: <Button:Button Grid.Row="2" HorizontalAlignment="Right" Content="完成" Width="120" Margin="0,0,10,0" VerticalAlignment="Center" Command="{Binding ChoosedCommand}"/>
74删除: </Grid>
75删除:
76删除: </Border>
72新增: </ListBox.ItemsPanel>
73新增: <ListView.ItemTemplate>
74新增: <DataTemplate>
75新增: <StackPanel >
76新增: <Border HorizontalAlignment="Stretch">
77新增: <select:Option Visibility="{Binding Visibility}" HorizontalAlignment="Stretch" IsChecked="{Binding IsChoosed,Mode=TwoWay}" Value="{Binding Value}"/>
78新增:
79新增: </Border>
80新增:
81新增: </StackPanel>
82新增: </DataTemplate>
83新增: </ListView.ItemTemplate>
84新增: </ListView>
85新增:
86新增: <Button:Button Grid.Row="3" HorizontalAlignment="Right" Content="完成" Width="120" Margin="0,0,10,0" VerticalAlignment="Center" Command="{Binding ChoosedCommand}"/>
87新增: </Grid>
88新增:
89新增: </Border>
7790 </Grid>
7891 <StackPanel Margin="20">
7992 <StackPanel Orientation="Horizontal" Margin="0,0,0,20">
@@ -89,6 +102,12 @@
89102 <base:EmptyData/>
90103 </base:View>
91104 <ListView ItemsSource="{Binding Data}" SelectedItem="{Binding SelectedItem,Mode=TwoWay}" Margin="0,20,0,0">
105新增: <ListView.ContextMenu>
106新增: <ContextMenu>
107新增:
108新增: <MenuItem Header="从分类中移除" Command="{Binding DelCommand}" CommandParameter="{Binding SelectedItem}"/>
109新增: </ContextMenu>
110新增: </ListView.ContextMenu>
92111 <i:Interaction.Triggers>
93112 <i:EventTrigger EventName="MouseLeftButtonUp">
94113 <i:InvokeCommandAction Command="{Binding GotoDetailCommand}"
@@ -121,11 +140,12 @@
121140 </Border.Effect>
122141 <ContentPresenter/>
123142 </Border>
124删除:
143新增:
125144 <Border BorderBrush="Transparent" BorderThickness="2" x:Name="Border" Background="White" Margin="0,0,0,10" Padding="15" CornerRadius="10">
126删除:
127删除: <ContentPresenter/>
128删除: </Border></Grid>
145新增:
146新增: <ContentPresenter/>
147新增: </Border>
148新增: </Grid>
129149 <ControlTemplate.Triggers>
130150 <Trigger Property="IsMouseOver" Value="True">
131151 <!--<Setter TargetName="Border" Property="Background" Value="#FFE8E6FF"/>-->
@@ -159,7 +179,13 @@
159179 <Border>
160180 <base:Img Width="25" Height="25" URL="{Binding IconFile}"/>
161181 </Border>
162删除: <TextBlock Margin="10,0,0,0" VerticalAlignment="Center" Grid.Column="1" HorizontalAlignment="Center" Text="{Binding Name}" />
182新增: <Grid Grid.Column="1">
183新增: <TextBlock Margin="10,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding Description}" />
184新增: <base:View Condition="empty" Value="{Binding Description}">
185新增: <TextBlock Margin="10,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding Name}" />
186新增:
187新增: </base:View>
188新增: </Grid>
163189
164190
165191 </Grid>