跳到主要内容

github/tai

公开

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

提交记录
修改UI/Controls/Charts/Charts.cs+107 −20看文件
@@ -17,6 +17,7 @@ using System.Windows.Shapes;
1717using System.Windows.Threading;
1818using UI.Controls.Base;
1919using UI.Controls.Charts.Model;
20新增:using UI.Controls.Input;
2021using UI.Extensions;
2122
2223namespace UI.Controls.Charts
@@ -327,6 +328,23 @@ namespace UI.Controls.Charts
327328 new PropertyMetadata(false));
328329
329330
331新增: #endregion
332新增: #region 是否显示搜索(仅列表样式有效,默认不显示)
333新增: /// <summary>
334新增: /// 是否显示搜索(仅列表样式有效,默认不显示)
335新增: /// </summary>
336新增: public bool IsSearch
337新增: {
338新增: get { return (bool)GetValue(IsSearchProperty); }
339新增: set { SetValue(IsSearchProperty, value); }
340新增: }
341新增: public static readonly DependencyProperty IsSearchProperty =
342新增: DependencyProperty.Register("IsSearch",
343新增: typeof(bool),
344新增: typeof(Charts),
345新增: new PropertyMetadata(false));
346新增:
347新增:
330348 #endregion
331349 #region 选中列索引(仅柱状图有效)
332350 /// <summary>
@@ -473,12 +491,33 @@ namespace UI.Controls.Charts
473491 /// </summary>
474492 private int lazyloadedCount = 0;
475493 private List<ChartsDataModel> lazyloadingData;
494新增:
495新增: /// <summary>
496新增: /// 搜索关键字(仅列表样式有效
497新增: /// </summary>
498新增: private string searchKey;
476499 public Charts()
477500 {
478501 DefaultStyleKey = typeof(Charts);
479502
503新增: SizeChanged += Charts_SizeChanged;
480504 Unloaded += Charts_Unloaded;
481505 }
506新增: protected override void OnRender(DrawingContext drawingContext)
507新增: {
508新增: base.OnRender(drawingContext);
509新增: ScrollViewer.Height = 1;
510新增: }
511新增: private void Charts_SizeChanged(object sender, SizeChangedEventArgs e)
512新增: {
513新增: if (ChartsType == ChartsType.HorizontalA)
514新增: {
515新增: var header = GetTemplateChild("AHeader") as Grid;
516新增: var h = ActualHeight - header.ActualHeight;
517新增:
518新增: ScrollViewer.Height = h;
519新增: }
520新增: }
482521
483522 private void Charts_Unloaded(object sender, RoutedEventArgs e)
484523 {
@@ -569,6 +608,9 @@ namespace UI.Controls.Charts
569608 }
570609 // 适当增加最大值
571610 maxValue = Math.Round(maxValue / 2, MidpointRounding.AwayFromZero) * 2 + 2;
611新增:
612新增: var countText = GetTemplateChild("ACount") as Run;
613新增: countText.Text = Data.Count().ToString();
572614 }
573615 }
574616
@@ -640,28 +682,72 @@ namespace UI.Controls.Charts
640682 lazyloadingData = null;
641683 isLazyloading = false;
642684 lazyloadedCount = 0;
685新增:
643686 ScrollViewer.ScrollToVerticalOffset(0);
644687
645688 var data = Data.OrderByDescending(x => x.Value).ToList();
646删除:
647删除: if (data.Count < 20)
648删除: {
649删除: RenderTypeAItems(data, 0, data.Count);
650删除: }
651删除: else
652删除: {
653删除: isLazyloading = true;
654删除: RenderTypeAItems(data, 0, 20);
655删除: lazyloadingData = data;
656删除: ScrollViewer.ScrollChanged += ScrollViewer_ScrollChanged;
657删除: }
658删除:
689新增:
690新增:
691新增: //if (data.Count < 20)
692新增: //{
693新增: // RenderTypeAItems(data, 0, data.Count);
694新增: //}
695新增: //else
696新增: //{
697新增: // isLazyloading = true;
698新增: // RenderTypeAItems(data, 0, 20);
699新增: // lazyloadingData = data;
700新增: // ScrollViewer.ScrollChanged += ScrollViewer_ScrollChanged;
701新增: //}
702新增: RenderTypeAItems(data, 0, data.Count);
703新增:
704新增: //Debug.WriteLine("【渲染】" + sw.ElapsedMilliseconds);
659705 if (IsCanScroll)
660706 {
661707 Container.SizeChanged -= Container_SizeChanged;
662708 Container.SizeChanged += Container_SizeChanged;
663709 }
710新增:
664711 isRendering = false;
712新增:
713新增: var searchBox = GetTemplateChild("ASearchBox") as InputBox;
714新增: searchBox.TextChanged += SearchBox_TextChanged;
715新增: }
716新增:
717新增: private void SearchBox_TextChanged(object sender, TextChangedEventArgs e)
718新增: {
719新增: var box = sender as InputBox;
720新增: if (box.Text != searchKey)
721新增: {
722新增: searchKey = box.Text.ToLower();
723新增: HandleSearch();
724新增: }
725新增: }
726新增:
727新增: private void HandleSearch()
728新增: {
729新增: Task.Run(() =>
730新增: {
731新增: Dispatcher.Invoke(() =>
732新增: {
733新增: foreach (var item in Container.Children)
734新增: {
735新增: var control = item as ChartsItemTypeA;
736新增: if (control != null)
737新增: {
738新增: var data = control.Data;
739新增:
740新增: bool show = false;
741新增: if (data.Name.ToLower().IndexOf(searchKey) != -1 || data.PopupText.ToLower().IndexOf(searchKey) != -1 || string.IsNullOrEmpty(searchKey))
742新增: {
743新增: show = true;
744新增: }
745新增: control.Visibility = show ? Visibility.Visible : Visibility.Collapsed;
746新增: }
747新增: }
748新增: });
749新增:
750新增: });
665751 }
666752
667753 private void Container_SizeChanged(object sender, SizeChangedEventArgs e)
@@ -719,18 +805,19 @@ namespace UI.Controls.Charts
719805 }
720806 // 处理点击事件
721807 HandleItemClick(chartsItem, item);
722删除: container.Children.Insert(lazyloadedCount, chartsItem);
723删除:
808新增: //container.Children.Insert(lazyloadedCount, chartsItem);
809新增: container.Children.Add(chartsItem);
724810 if (ShowLimit > 0 && Container.Children.Count == ShowLimit)
725811 {
726812 break;
727813 }
728删除: lazyloadedCount++;
729删除: if (i >= 20)
730删除: {
731删除: container.Children.RemoveAt(Container.Children.Count - 1);
732删除: }
814新增: //lazyloadedCount++;
815新增: //if (i >= 20)
816新增: //{
817新增: // container.Children.RemoveAt(Container.Children.Count - 1);
818新增: //}
733819 }
820新增:
734821 }
735822
736823 private void ChartsItem_Loaded(object sender, RoutedEventArgs e)
修改UI/Resources/Themes/Dark/Charts/Charts.xaml+27 −4看文件
@@ -1,6 +1,6 @@
11<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
22 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
3删除: xmlns:local="clr-namespace:UI.Controls.Charts" xmlns:base="clr-namespace:UI.Controls.Base" xmlns:converter="clr-namespace:UI.Controls.Converters">
3新增: xmlns:local="clr-namespace:UI.Controls.Charts" xmlns:base="clr-namespace:UI.Controls.Base" xmlns:converter="clr-namespace:UI.Controls.Converters" xmlns:input="clr-namespace:UI.Controls.Input">
44 <converter:HextoColorConverter x:Key="HextoColorConverter"/>
55 <Style TargetType="{x:Type local:Charts}">
66 <Setter Property="SnapsToDevicePixels"
@@ -16,12 +16,28 @@
1616 <Border x:Name="Radar" Visibility="Collapsed">
1717
1818 </Border>
19删除: <Grid x:Name="HorizontalA" Visibility="Collapsed">
20删除: <ScrollViewer Visibility="Collapsed" x:Name="ScrollViewer" VerticalScrollBarVisibility="Auto" Height="{Binding ElementName=HorizontalA,Path=ActualHeight}" CanContentScroll="False">
19新增: <Grid x:Name="HorizontalA" Visibility="Collapsed" >
20新增: <Grid.RowDefinitions>
21新增: <RowDefinition Height="auto"/>
22新增: <RowDefinition Height="auto"/>
23新增: </Grid.RowDefinitions>
24新增: <Grid x:Name="AHeader" Visibility="Collapsed">
25新增: <Grid.RowDefinitions>
26新增: <RowDefinition Height="auto"/>
27新增: <RowDefinition Height="*"/>
28新增: </Grid.RowDefinitions>
29新增: <TextBlock FontSize="14" Foreground="{DynamicResource SubTextBrush}">
30新增: <Run Text="总计"/>
31新增: <Run x:Name="ACount"/>
32新增: <Run Text="个"/>
33新增: </TextBlock>
34新增: <input:InputBox x:Name="ASearchBox" Grid.Row="1" Placeholder="搜索" Margin="0,10,0,10"/>
35新增: </Grid>
36新增: <ScrollViewer Height="1" Grid.Row="1" Visibility="Collapsed" x:Name="ScrollViewer" VerticalScrollBarVisibility="Auto" CanContentScroll="False" >
2137 <StackPanel x:Name="Container">
2238 </StackPanel>
2339 </ScrollViewer>
24删除: <StackPanel Visibility="Collapsed" x:Name="NoScrollContainer"></StackPanel>
40新增: <StackPanel Grid.Row="1" Visibility="Collapsed" x:Name="NoScrollContainer"></StackPanel>
2541 </Grid>
2642 <WrapPanel x:Name="CardContainer" Visibility="Collapsed">
2743 </WrapPanel>
@@ -259,6 +275,13 @@
259275 </MultiTrigger.Conditions>
260276 <Setter Property="Visibility" Value="Collapsed" TargetName="ColumnTotal"/>
261277 </MultiTrigger>
278新增: <MultiTrigger>
279新增: <MultiTrigger.Conditions>
280新增: <Condition Property="IsSearch" Value="True"/>
281新增: <Condition Property="ChartsType" Value="HorizontalA"/>
282新增: </MultiTrigger.Conditions>
283新增: <Setter Property="Visibility" Value="Visible" TargetName="AHeader"/>
284新增: </MultiTrigger>
262285 <Trigger Property="ChartsType"
263286 Value="HorizontalA">
264287 <Setter TargetName="HorizontalA" Property="Visibility" Value="Visible"/>
修改UI/Resources/Themes/Light/Charts/Charts.xaml+27 −4看文件
@@ -1,6 +1,6 @@
11<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
22 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
3删除: xmlns:local="clr-namespace:UI.Controls.Charts" xmlns:base="clr-namespace:UI.Controls.Base" xmlns:converter="clr-namespace:UI.Controls.Converters">
3新增: xmlns:local="clr-namespace:UI.Controls.Charts" xmlns:base="clr-namespace:UI.Controls.Base" xmlns:converter="clr-namespace:UI.Controls.Converters" xmlns:input="clr-namespace:UI.Controls.Input">
44 <converter:HextoColorConverter x:Key="HextoColorConverter"/>
55 <Style TargetType="{x:Type local:Charts}">
66 <Setter Property="SnapsToDevicePixels"
@@ -16,12 +16,28 @@
1616 <Border x:Name="Radar" Visibility="Collapsed">
1717
1818 </Border>
19删除: <Grid x:Name="HorizontalA" Visibility="Collapsed">
20删除: <ScrollViewer Visibility="Collapsed" x:Name="ScrollViewer" VerticalScrollBarVisibility="Auto" Height="{Binding ElementName=HorizontalA,Path=ActualHeight}" CanContentScroll="False">
19新增: <Grid x:Name="HorizontalA" Visibility="Collapsed" >
20新增: <Grid.RowDefinitions>
21新增: <RowDefinition Height="auto"/>
22新增: <RowDefinition Height="auto"/>
23新增: </Grid.RowDefinitions>
24新增: <Grid x:Name="AHeader" Visibility="Collapsed">
25新增: <Grid.RowDefinitions>
26新增: <RowDefinition Height="auto"/>
27新增: <RowDefinition Height="*"/>
28新增: </Grid.RowDefinitions>
29新增: <TextBlock FontSize="14" Foreground="{DynamicResource SubTextBrush}">
30新增: <Run Text="总计"/>
31新增: <Run x:Name="ACount"/>
32新增: <Run Text="个"/>
33新增: </TextBlock>
34新增: <input:InputBox x:Name="ASearchBox" Grid.Row="1" Placeholder="搜索" Margin="0,10,0,10"/>
35新增: </Grid>
36新增: <ScrollViewer Height="1" Grid.Row="1" Visibility="Collapsed" x:Name="ScrollViewer" VerticalScrollBarVisibility="Auto" CanContentScroll="False" >
2137 <StackPanel x:Name="Container">
2238 </StackPanel>
2339 </ScrollViewer>
24删除: <StackPanel Visibility="Collapsed" x:Name="NoScrollContainer"></StackPanel>
40新增: <StackPanel Grid.Row="1" Visibility="Collapsed" x:Name="NoScrollContainer"></StackPanel>
2541 </Grid>
2642 <WrapPanel x:Name="CardContainer" Visibility="Collapsed">
2743 </WrapPanel>
@@ -259,6 +275,13 @@
259275 </MultiTrigger.Conditions>
260276 <Setter Property="Visibility" Value="Collapsed" TargetName="ColumnTotal"/>
261277 </MultiTrigger>
278新增: <MultiTrigger>
279新增: <MultiTrigger.Conditions>
280新增: <Condition Property="IsSearch" Value="True"/>
281新增: <Condition Property="ChartsType" Value="HorizontalA"/>
282新增: </MultiTrigger.Conditions>
283新增: <Setter Property="Visibility" Value="Visible" TargetName="AHeader"/>
284新增: </MultiTrigger>
262285 <Trigger Property="ChartsType"
263286 Value="HorizontalA">
264287 <Setter TargetName="HorizontalA" Property="Visibility" Value="Visible"/>
修改UI/Themes/Charts/Charts.xaml+32 −2看文件
@@ -1,6 +1,6 @@
11<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
22 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
3删除: xmlns:local="clr-namespace:UI.Controls.Charts" xmlns:base="clr-namespace:UI.Controls.Base" xmlns:converter="clr-namespace:UI.Controls.Converters">
3新增: xmlns:local="clr-namespace:UI.Controls.Charts" xmlns:base="clr-namespace:UI.Controls.Base" xmlns:converter="clr-namespace:UI.Controls.Converters" xmlns:input="clr-namespace:UI.Controls.Input">
44 <converter:HextoColorConverter x:Key="HextoColorConverter"/>
55 <Style TargetType="{x:Type local:Charts}">
66 <Setter Property="SnapsToDevicePixels"
@@ -16,12 +16,35 @@
1616 <Border x:Name="Radar" Visibility="Collapsed">
1717
1818 </Border>
19删除: <Grid x:Name="HorizontalA" Visibility="Collapsed">
19新增: <!--<Grid x:Name="HorizontalA" Visibility="Collapsed">
2020 <ScrollViewer Visibility="Collapsed" x:Name="ScrollViewer" VerticalScrollBarVisibility="Auto" Height="{Binding ElementName=HorizontalA,Path=ActualHeight}" CanContentScroll="False">
2121 <StackPanel x:Name="Container">
2222 </StackPanel>
2323 </ScrollViewer>
2424 <StackPanel Visibility="Collapsed" x:Name="NoScrollContainer"></StackPanel>
25新增: </Grid>-->
26新增: <Grid x:Name="HorizontalA" Visibility="Collapsed" >
27新增: <Grid.RowDefinitions>
28新增: <RowDefinition Height="auto"/>
29新增: <RowDefinition Height="auto"/>
30新增: </Grid.RowDefinitions>
31新增: <Grid x:Name="AHeader" Visibility="Collapsed">
32新增: <Grid.RowDefinitions>
33新增: <RowDefinition Height="auto"/>
34新增: <RowDefinition Height="*"/>
35新增: </Grid.RowDefinitions>
36新增: <TextBlock FontSize="14" Foreground="{DynamicResource SubTextBrush}">
37新增: <Run Text="总计"/>
38新增: <Run x:Name="ACount"/>
39新增: <Run Text="个"/>
40新增: </TextBlock>
41新增: <input:InputBox x:Name="ASearchBox" Grid.Row="1" Placeholder="搜索" Margin="0,10,0,10"/>
42新增: </Grid>
43新增: <ScrollViewer Height="1" Grid.Row="1" Visibility="Collapsed" x:Name="ScrollViewer" VerticalScrollBarVisibility="Auto" CanContentScroll="False" >
44新增: <StackPanel x:Name="Container">
45新增: </StackPanel>
46新增: </ScrollViewer>
47新增: <StackPanel Grid.Row="1" Visibility="Collapsed" x:Name="NoScrollContainer"></StackPanel>
2548 </Grid>
2649 <WrapPanel x:Name="CardContainer" Visibility="Collapsed">
2750 </WrapPanel>
@@ -259,6 +282,13 @@
259282 </MultiTrigger.Conditions>
260283 <Setter Property="Visibility" Value="Collapsed" TargetName="ColumnTotal"/>
261284 </MultiTrigger>
285新增: <MultiTrigger>
286新增: <MultiTrigger.Conditions>
287新增: <Condition Property="IsSearch" Value="True"/>
288新增: <Condition Property="ChartsType" Value="HorizontalA"/>
289新增: </MultiTrigger.Conditions>
290新增: <Setter Property="Visibility" Value="Visible" TargetName="AHeader"/>
291新增: </MultiTrigger>
262292 <Trigger Property="ChartsType"
263293 Value="HorizontalA">
264294 <Setter TargetName="HorizontalA" Property="Visibility" Value="Visible"/>
修改UI/Views/ChartPage.xaml+1 −1看文件
@@ -202,7 +202,7 @@
202202
203203 <TextBlock Text="最为频繁" Foreground="#5c5c5c" FontSize="15" Margin="0,20,0,5"/>
204204 <Border Grid.Row="1" Margin="0,5,0,0" Background="{DynamicResource StandardBackgroundBrush}" Padding="20" CornerRadius="10">
205删除: <charts:Charts VerticalAlignment="Center" ItemMenu="{Binding AppContextMenu}" Data="{Binding TopData}" ChartsType="HorizontalA" ClickCommand="{Binding ToDetailCommand}" IsCanScroll="False"/>
205新增: <charts:Charts ItemMenu="{Binding AppContextMenu}" Data="{Binding TopData}" ChartsType="HorizontalA" ClickCommand="{Binding ToDetailCommand}" IsCanScroll="False"/>
206206 </Border>
207207 </Grid>
208208
修改UI/Views/DataPage.xaml+3 −3看文件
@@ -49,7 +49,7 @@
4949 <select:DateSelect Date="{Binding DayDate,Mode=TwoWay}"/>
5050 <!--<DatePickerBar:DatePickerBar SelectedDate="{Binding DayDate,Mode=TwoWay}" ShowType="Day"/>-->
5151
52删除: <Charts:Charts Grid.Row="1" ItemMenu="{Binding AppContextMenu}" Data="{Binding Data}" ChartsType="HorizontalA" Margin="0,20,0,0" ClickCommand="{Binding ToDetailCommand}"/>
52新增: <Charts:Charts IsSearch="True" Grid.Row="1" ItemMenu="{Binding AppContextMenu}" Data="{Binding Data}" ChartsType="HorizontalA" Margin="0,20,0,0" ClickCommand="{Binding ToDetailCommand}"/>
5353 </Grid>
5454 </TabItem>
5555 <TabItem>
@@ -61,7 +61,7 @@
6161 </Grid.RowDefinitions>
6262 <!--<DatePickerBar:DatePickerBar SelectedDate="{Binding MonthDate,Mode=TwoWay}" ShowType="Month"/>-->
6363 <select:DateSelect Date="{Binding MonthDate,Mode=TwoWay}" SelectType="Month"/>
64删除: <Charts:Charts Grid.Row="1" ItemMenu="{Binding AppContextMenu}" Data="{Binding MonthData}" ChartsType="HorizontalA" Margin="0,20,0,0" ClickCommand="{Binding ToDetailCommand}"/>
64新增: <Charts:Charts IsSearch="True" Grid.Row="1" ItemMenu="{Binding AppContextMenu}" Data="{Binding MonthData}" ChartsType="HorizontalA" Margin="0,20,0,0" ClickCommand="{Binding ToDetailCommand}"/>
6565 </Grid>
6666 </TabItem>
6767 <TabItem>
@@ -74,7 +74,7 @@
7474 <!--<DatePickerBar:DatePickerBar SelectedDate="{Binding YearDate,Mode=TwoWay}" ShowType="Year"/>-->
7575 <select:DateSelect Date="{Binding YearDate,Mode=TwoWay}" SelectType="Year"/>
7676
77删除: <Charts:Charts Grid.Row="1" ItemMenu="{Binding AppContextMenu}" Data="{Binding YearData}" ChartsType="HorizontalA" Margin="0,20,0,0" ClickCommand="{Binding ToDetailCommand}"/>
77新增: <Charts:Charts IsSearch="True" Grid.Row="1" ItemMenu="{Binding AppContextMenu}" Data="{Binding YearData}" ChartsType="HorizontalA" Margin="0,20,0,0" ClickCommand="{Binding ToDetailCommand}"/>
7878 </Grid>
7979 </TabItem>
8080 </TabControl>