private static void OnPreferencesGUI(string search) { var demoEvt = TimeTrackerEvent.EditorFocus; using (new EditorGUILayout.HorizontalScope()) { content.text = content.tooltip = LogFilePath; GUILayout.Label(content, GUILayout.MinWidth(150f)); if (GUILayout.Button("Browse")) { var path = EditorUtility.SaveFilePanel( "Select log file location", Path.GetDirectoryName(LogFilePath), Path.GetFileName(LogFilePath), Path.GetExtension(LogFilePath).Replace(".", "") ); if (!string.IsNullOrWhiteSpace(path)) { LogFilePath = path; } } } AFKThreshold = EditorGUILayout.Slider("AFK Threshold (seconds)", AFKThreshold, 30f, 30f * 60); EditorGUILayout.Space(); LogLine = EditorGUILayout.TextField("Log Line", LogLine); GUILayout.Label(TimeTracker.GetLogString(demoEvt)); EditorGUILayout.Space(); GUILayout.Label("File name arguments", EditorStyles.boldLabel); TimeTracker.logArgs .Select((kvp) => new { find = kvp.Key, replace = kvp.Value }) .ToList() .ForEach((arg) => EditorGUILayout.LabelField("%" + arg.find + "%", arg.replace(demoEvt, null))); EditorGUILayout.Space(); EditorGUILayout.HelpBox("Old logs won't change when changing these settings", MessageType.Warning); }