private void BUT_sorttlogs_Click(object sender, EventArgs e) { var fbd = new FolderBrowserDialog(); fbd.SelectedPath = Settings.Instance.LogDir; if (fbd.ShowDialog() == DialogResult.OK) { try { LogSort.SortLogs(Directory.GetFiles(fbd.SelectedPath, "*.tlog")); } catch { } } }
public async Task <PagedList <StructuredLog> > GetAll(int skip, int take, LogLevel?level, LogSort sort) { IQueryable <StructuredLog> query = DbSession.Query <StructuredLog>() .Statistics(out var stats); if (sort == LogSort.Newest) { query = query.OrderByDescending(l => l.LastOccurrence); } else if (sort == LogSort.Oldest) { query = query.OrderBy(l => l.FirstOccurrence); } else if (sort == LogSort.OccurrenceCount) { query = query.OrderByDescending(l => l.OccurrenceCount); } if (level.HasValue) { query = query.Where(q => q.Level == level.Value); } var logs = await query .Skip(skip) .Take(take) .ToListAsync(); return(new PagedList <StructuredLog> { Items = logs, Skip = skip, Take = take, Total = stats.TotalResults }); }
void OnGUI() { GUILayout.Label("Wallet Log Viewer", EditorStyles.boldLabel); GUILayout.BeginHorizontal(); // 1 GUILayout.Label("Sort by: "); logSort = (LogSort)EditorGUILayout.EnumPopup(logSort); GUILayout.EndHorizontal(); // 0 GUILayout.BeginHorizontal(); // 1 GUILayout.Label("Include tags: "); logTag = (LogTag)EditorGUILayout.EnumFlagsField(logTag); GUILayout.EndHorizontal(); // 0 showOldestDateField.target = EditorGUILayout.ToggleLeft("Filter for newer than: ", showOldestDateField.target); if (EditorGUILayout.BeginFadeGroup(showOldestDateField.faded)) { oldest = LayoutDateFields(oldest, oldest); // 1 } EditorGUILayout.EndFadeGroup(); // 0 showNewestDateField.target = EditorGUILayout.ToggleLeft("Filter for older than: ", showNewestDateField.target); if (EditorGUILayout.BeginFadeGroup(showNewestDateField.faded)) { newest = LayoutDateFields(newest, DateTime.Now); // 1 } EditorGUILayout.EndFadeGroup(); // 0 EditorGUILayout.Separator(); scrollPos = GUILayout.BeginScrollView(scrollPos); // 1 var entries = WalletLog.Entries; var scrollBase = (scrollPos.y / SINGLE_ENTRY_HEIGHT) - 1; if (scrollBase < 0) { scrollBase = 0; } var scrollEdge = (scrollPos.y / SINGLE_ENTRY_HEIGHT) + 12; if (scrollEdge > entries.Count * SINGLE_ENTRY_HEIGHT) { scrollEdge = entries.Count * SINGLE_ENTRY_HEIGHT; } for (int i = 0; i < entries.Count; i++) { if (i >= scrollBase && i <= scrollEdge) { if (logSort == LogSort.NewestToOldest) { LayoutSingleLogEntry(entries[entries.Count - i - 1]); } else { LayoutSingleLogEntry(entries[i]); } } else { GUILayout.Space(SINGLE_ENTRY_HEIGHT); } } GUILayout.EndScrollView(); // 0 GUILayout.BeginHorizontal(); if (GUILayout.Button("Top")) { scrollPos = Vector2.zero; } if (GUILayout.Button("Bottom")) { scrollPos = new Vector2(0, (scrollEdge + 1) * SINGLE_ENTRY_HEIGHT); } GUILayout.EndHorizontal(); }