跳到主要内容

github/tai

公开

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

提交记录
修改UI/Servicers/AppContextMenuServicer.cs+55 −1看文件
@@ -23,6 +23,7 @@ namespace UI.Servicers
2323
2424 private ContextMenu menu;
2525 private MenuItem setCategory;
26新增: private MenuItem setLink;
2627 MenuItem block = new MenuItem();
2728
2829
@@ -51,14 +52,19 @@ namespace UI.Servicers
5152 setCategory = new MenuItem();
5253 setCategory.Header = "设置分类";
5354
55新增: setLink = new MenuItem();
56新增: setLink.Header = "添加关联";
57新增:
5458 block.Header = "忽略此应用";
5559 block.Click += Block_Click;
5660
5761 menu.Items.Add(run);
5862 menu.Items.Add(new Separator());
5963 menu.Items.Add(setCategory);
60删除: menu.Items.Add(openDir);
64新增: menu.Items.Add(setLink);
6165 menu.Items.Add(new Separator());
66新增:
67新增: menu.Items.Add(openDir);
6268 menu.Items.Add(block);
6369
6470 menu.ContextMenuOpening += SetCategory_ContextMenuOpening;
@@ -100,6 +106,9 @@ namespace UI.Servicers
100106 }
101107
102108 UpdateCategory();
109新增:
110新增: setLink.IsEnabled = config.Links.Count > 0;
111新增: UpdateLinks();
103112 }
104113
105114 private void UpdateCategory()
@@ -125,6 +134,51 @@ namespace UI.Servicers
125134
126135 }
127136
137新增: private void UpdateLinks()
138新增: {
139新增: setLink.Items.Clear();
140新增:
141新增: var data = menu.Tag as ChartsDataModel;
142新增: var log = data.Data as DailyLogModel;
143新增: var app = log.AppModel;
144新增: var config = appConfig.GetConfig();
145新增:
146新增: var links = config.Links;
147新增: foreach (var link in links)
148新增: {
149新增: var categoryMenu = new MenuItem();
150新增: categoryMenu.Header = link.Name;
151新增: categoryMenu.Click += (s, e) =>
152新增: {
153新增: SetLink(app, link.Name);
154新增: };
155新增: setLink.Items.Add(categoryMenu);
156新增: }
157新增:
158新增: }
159新增: private void SetLink(AppModel app, string linkName)
160新增: {
161新增:
162新增: var config = appConfig.GetConfig();
163新增: var links = config.Links;
164新增: var link = links.Where(m => m.ProcessList.Contains(app.Name)).FirstOrDefault();
165新增: if (link != null)
166新增: {
167新增: link.ProcessList.Remove(app.Name);
168新增: }
169新增:
170新增: link = links.Where(m => m.Name == linkName).FirstOrDefault();
171新增: if (link != null)
172新增: {
173新增: link.ProcessList.Add(app.Name);
174新增: main.Toast("关联成功", Controls.Window.ToastType.Success);
175新增: }
176新增: else
177新增: {
178新增: main.Toast("关联配置不存在", Controls.Window.ToastType.Error, Controls.Base.IconTypes.Blocked);
179新增:
180新增: }
181新增: }
128182 private void SetAppCategory(int appId, CategoryModel category)
129183 {
130184 var app = appData.GetApp(appId);