viewgit/index.php:465 Only variables should be passed by reference [2048]

viewgit/index.php:466 Non-static method GeSHi::get_language_name_from_extension() should not be called statically [2048]

  1.  
  2. using System;
  3. using Gtk;
  4.  
  5. namespace Dizzy
  6. {
  7.  
  8. /*
  9. * Problema: Supponiamo di avere un thread disperso per il programma
  10. * che ad un certo punto decide che deve comunicare all'utente che è
  11. * successo un gran casino. Come va?
  12. *
  13. * Soluzione 1: Emette un evento che da qualche altra parte è stato
  14. * collegato ad una funzione che crea un dialog. Questo crea problemi
  15. * con il fatto che le chiamate alle gtk vengono fatte dal thread sbagliato.
  16. *
  17. * Soluzione attuale: Riceviamo le chiamate qua dentro. Questo oggetto
  18. * inserisce le chiamate corrette nel thread principale.
  19. */
  20.  
  21. public class EventManager
  22. {
  23.  
  24. public static MessageDialog searchInProgress = null;
  25. public static MessageDialog listUpdate = null;
  26.  
  27. // Gestione dei file e dei task. Questi devono essere inizializzati
  28. // Appena sono creati.
  29. public static FileTreeView fileTreeView = null;
  30. public static TaskTreeView taskTreeView = null;
  31. public static void RegisterFileTreeView (ref FileTreeView f) { fileTreeView = f; }
  32. public static void RegisterTaskTreeView (ref TaskTreeView t) { taskTreeView = t; }
  33.  
  34. public EventManager () {}
  35.  
  36. // Metodo generico per segnalare un'errore dell'applicazione.
  37. public static void ErrorMessage (string message) {
  38.  
  39. GLib.Idle.Add(delegate {
  40. Log.Error (message);
  41.  
  42. MessageDialog d = new Gtk.MessageDialog(null,
  43. Gtk.DialogFlags.DestroyWithParent,
  44. Gtk.MessageType.Error,
  45. Gtk.ButtonsType.Ok, "");
  46. d.Markup = message;
  47. d.Run ();
  48. d.Destroy ();
  49. return false;
  50. });
  51. }
  52.  
  53. // Metodi per gestire la ricerca
  54. public static void SearchStarted () {
  55.  
  56. // Questo significa che stiamo già effettuando una ricerca
  57. if (searchInProgress != null)
  58. return;
  59.  
  60. searchInProgress = new MessageDialog(null,
  61. DialogFlags.Modal,
  62. MessageType.Info,
  63. ButtonsType.None,
  64. true, "");
  65. searchInProgress.Markup = "Ricerca in corso, attendere.";
  66. GLib.Idle.Add (delegate {
  67. if (EventManager.searchInProgress != null)
  68. EventManager.searchInProgress.Run ();
  69. return false;
  70. });
  71. }
  72.  
  73. public static void SearchFinished () {
  74. if (searchInProgress == null)
  75. {
  76. Log.Warning ("Sembra che la ricerca sia già morta di per sè");
  77. return;
  78. }
  79. else
  80. {
  81. GLib.Idle.Add(delegate {
  82. searchInProgress.Destroy ();
  83. Log.Info ("Ricerca distrutta");
  84. searchInProgress = null;
  85. return false;
  86. });
  87. }
  88. }
  89.  
  90. // Metodi per gestire l'update della lista
  91. public static void ListUpdateStarted () {
  92.  
  93. // Questo significa che stiamo già effettuando una ricerca
  94. if (listUpdate != null)
  95. return;
  96.  
  97. listUpdate = new MessageDialog(null,
  98. DialogFlags.Modal,
  99. MessageType.Info,
  100. ButtonsType.None,
  101. true, "");
  102. listUpdate.Markup = "Aggiornamento della lista in corso";
  103. GLib.Idle.Add (delegate {
  104. if (EventManager.listUpdate != null)
  105. EventManager.listUpdate.Run ();
  106. return false;
  107. });
  108. }
  109.  
  110. public static void ListUpdateFinished () {
  111. if (listUpdate == null)
  112. return;
  113. else
  114. {
  115. GLib.Idle.Add(delegate {
  116. listUpdate.Destroy ();
  117. Log.Info ("Aggiornamento completato");
  118. EventManager.listUpdate = null;
  119. return false;
  120. });
  121. }
  122. }
  123.  
  124. public static void FileTreeViewAddFile(File f)
  125. {
  126. if (fileTreeView == null) { return; }
  127. GLib.Idle.Add(delegate {
  128. fileTreeView.AddFile (f);
  129. return false;
  130. });
  131. }
  132.  
  133. public static void FileTreeViewClear() {
  134. if (fileTreeView == null) { return; }
  135. GLib.Idle.Add(delegate {
  136. fileTreeView.Clear ();
  137. return false;
  138. });
  139. }
  140. }
  141. }