public void CopyLogItem_OnClick(object sender, RoutedEventArgs e) { LogcatItem item = LogcatList.SelectedItem as LogcatItem; if (item == null) { return; } Clipboard.SetText(item.RawContent); MessageBox.Show("Logcat Copied"); }
public void CopyLogItem_OnClick(object sender, RoutedEventArgs e) { if ((LogcatList.SelectedItems == null) || (LogcatList.SelectedItems.Count == 0)) { return; } string contents = ""; for (int i = 0; i < LogcatList.SelectedItems.Count; i++) { LogcatItem item = LogcatList.SelectedItems[i] as LogcatItem; contents += item.RawContent; if (i < LogcatList.SelectedItems.Count - 1) { contents += "\n"; } } Clipboard.SetText(contents); MessageBox.Show("Logcat Copied"); }
private void TestFilter_OnClick(object sender, RoutedEventArgs e) { if (LogcatList.Items.Filter == null) { LogcatList.Items.Filter = (item) => { LogcatItem log = item as LogcatItem; if (log == null) { return(false); } if (log.LevelToken == LogcatItem.Level.Debug) { return(true); } return(false); }; } else { LogcatList.Items.Filter = null; } }
void OnLogcatOutput(LogcatItem.Level level_token, string time_token, int pid_token, string tag_token, string msg_token, string raw_msg) { LogcatItem logcat_item = new LogcatItem() { LevelToken = level_token, TimeToken = time_token, PidToken = pid_token, TagToken = tag_token, TextToken = msg_token, RawContent = raw_msg }; Dispatcher.InvokeAsync(() => { LogsToView.Add(logcat_item); if (LogsToView.Count > LogLimitCount) { LogsToView.RemoveAt(0); } }); /*lock (DeferredLogs) * { * DeferredLogs.Add(new LogcatItem() * { * LevelToken = level_token, * TimeToken = time_token, * PidToken = pid_token, * TagToken = tag_token, * TextToken = msg_token * }); * } * if (DeferredLogs.Count < 1) return; * List<LogcatItem> collectLogs; * lock (DeferredLogs) * { * collectLogs = new List<LogcatItem>(DeferredLogs); * DeferredLogs.Clear(); * } * Dispatcher.InvokeAsync(() => * { * foreach (var log_item in collectLogs) * { * LogsToView.Add(log_item); * } * }); * /*bool needRefresh = false; * foreach (LogcatItem log_item in collectLogs) * { * if (LogcatList.Items.Count > LogLimitCount) * { * LogcatList.Items.RemoveAt(0); * } * LogcatList.Items.Add(log_item); * if (LogcatList.Items.Filter != null) * { * if (!LogcatList.Items.Filter(log_item)) * { * needRefresh = true; * } * } * } * if (needRefresh) LogcatList.Items.Refresh();*/ /*if ((IsAutoScroll) && (LogcatList.Items.Count > 0)) * { * LogcatList.SelectedIndex = LogcatList.Items.Count - 1; * LogcatList.ScrollIntoView(LogcatList.SelectedItem); * } * /*if (LogcatList.Items.Count > LogLimitCount) * { * LogcatList.Items.RemoveAt(0); * } * LogcatItem log_item = new LogcatItem() * { * LevelToken = level_token, * TimeToken = time_token, * PidToken = pid_token, * TagToken = tag_token, * TextToken = msg_token * }; * LogcatList.Items.Add(log_item); * if (LogcatList.Items.Filter != null) * { * if (!LogcatList.Items.Filter(log_item)) * { * LogcatList.Items.Refresh(); * } * }*/ //LogcatList.Items.Refresh(); //}); }