Пример #1
0
 void StartProfile(ProfileConfiguration config)
 {
     ProfileView view = new ProfileView ();
     view.Show ();
     View = view;
     logging_enabled_action.Visible = true;
     logging_enabled_action.Active = config.StartEnabled;
     proc = new ProfilerProcess (config);
     proc.Paused += delegate { Refresh (view); };
     proc.Exited += delegate { Refresh (view); logging_enabled_action.Visible = false; };
     proc.Start ();
     if (config.TargetPath.EndsWith (".aspx"))
         GLib.Timeout.Add (5000, delegate { ShowBrowser (config.TargetPath); return false; });
     log_info = new LogInfo (proc.LogFile, config.ToString ());
     history.LogFiles.Prepend (log_info);
     history.Configs.Prepend (config);
 }
Пример #2
0
 void OpenProfile(string filename)
 {
     ProfileView view = new ProfileView ();
     if (view.LoadProfile (filename)) {
         view.Show ();
         View = view;
         logging_enabled_action.Visible = false;
         save_action.Sensitive = true;
         show_system_nodes_action.Sensitive = view.SupportsFiltering;
         log_info = null;
         foreach (LogInfo info in history.LogFiles) {
             if (info.Filename == filename) {
                 log_info = info;
                 break;
             }
         }
         if (log_info == null)
             log_info = new LogInfo (filename, null);
         history.LogFiles.Prepend (log_info);
     }
 }
Пример #3
0
 void Refresh(ProfileView contents)
 {
     Gtk.Application.Invoke (delegate {
         if (contents.LoadProfile (proc.LogFile)) {
             if (log_info == null || log_info.Filename != proc.LogFile) {
                 log_info = new LogInfo (proc.LogFile, log_info == null ? null : log_info.Detail);
                 history.LogFiles.Add (log_info);
             }
             save_action.Sensitive = true;
             show_system_nodes_action.Sensitive = contents.SupportsFiltering;
         }
     });
 }
Пример #4
0
 public void Prepend(LogInfo info)
 {
     list.Remove (info);
     list.Insert (0, info);
     while (list.Count > max_items)
         list.RemoveAt (max_items);
     OnChanged ();
 }