Backport fixes for Qemu stable-0.8.2
authorJeremy
Mon Jun 18 17:28:03 2012 -0600 (11 months ago)
branchstable-0.8.2
changeset 126492bcf5ce64c2
parent 1262 ec4bcf1cd92e
child 1265 0fa1bdf2b415
Backport fixes for Qemu
Fixed import error
Italian translation updated
Fixed issue to change console port for Qemu/VBox devices
gns3.pyw
qemuwrapper/qemuwrapper.py
src/GNS3/Langs/Lang_it.ts
src/GNS3/NETFile.py
src/GNS3/Node/AnyEmuDevice.py
src/GNS3/Node/AnyVBoxEmuDevice.py
src/GNS3/Topology.py
src/GNS3/Ui/ConfigurationPages/Page_PreferencesQemu.py
src/GNS3/Ui/ConfigurationPages/Page_PreferencesVirtualBox.py
     1.1 --- a/gns3.pyw	Sun Jun 17 21:10:09 2012 -0600
     1.2 +++ b/gns3.pyw	Mon Jun 18 17:28:03 2012 -0600
     1.3 @@ -56,7 +56,7 @@
     1.4      try:
     1.5          curdate = time.strftime("%d %b %Y %H:%M:%S")
     1.6      	logfile = open('exception.log','a')
     1.7 -        logfile.write("=== GNS3 " + VERSION + " traceback on " + curdate + " ===")
     1.8 +        logfile.write("========= GNS3 " + VERSION + " traceback on " + curdate + " =========")
     1.9      	logfile.write("\n" . join(lines))
    1.10      	logfile.close()
    1.11      except:
     2.1 --- a/qemuwrapper/qemuwrapper.py	Sun Jun 17 21:10:09 2012 -0600
     2.2 +++ b/qemuwrapper/qemuwrapper.py	Mon Jun 18 17:28:03 2012 -0600
     2.3 @@ -166,7 +166,7 @@
     2.4  
     2.5              self.process = subprocess.Popen(qemu_cmd.strip(),
     2.6                                              stdin=subprocess.PIPE,
     2.7 -                                            cwd=self.workdir, shell)
     2.8 +                                            cwd=self.workdir, shell=shell)
     2.9          except OSError, e:
    2.10              print >> sys.stderr, "Unable to start instance", self.name, "of", self.__class__
    2.11              print >> sys.stderr, e
    2.12 @@ -234,20 +234,20 @@
    2.13              # fallback on another syntax if the current one is not supported
    2.14              if qemuprotocol == 0:
    2.15                  try:
    2.16 -                    p = subprocess.Popen([self.bin, '--help'], stdout = subprocess.PIPE)
    2.17 +                    p = subprocess.Popen([self.bin, '-help'], stdout = subprocess.PIPE)
    2.18                      qemustdout = p.communicate()
    2.19                  except:
    2.20 -                    print >> sys.stderr, "Unable to execute %s --help" % self.bin
    2.21 +                    print >> sys.stderr, "Unable to execute %s -help" % self.bin
    2.22                      return options
    2.23                  if not qemustdout[0].__contains__('for dynamips/pemu/GNS3'):
    2.24                      print "Falling back to the new qemu syntax"
    2.25                      qemuprotocol = 1
    2.26              elif qemuprotocol == 1:
    2.27                  try:
    2.28 -                    p = subprocess.Popen([self.bin, '--net', 'socket'], stderr = subprocess.PIPE)
    2.29 +                    p = subprocess.Popen([self.bin, '-net', 'socket'], stderr = subprocess.PIPE)
    2.30                      qemustderr = p.communicate()
    2.31                  except:
    2.32 -                    print >> sys.stderr, "Unable to execute %s --net socket" % self.bin
    2.33 +                    print >> sys.stderr, "Unable to execute %s -net socket" % self.bin
    2.34                      return options
    2.35                  if not qemustderr[1].__contains__('udp='):
    2.36                      print "Falling back to the old qemu syntax"
     3.1 --- a/src/GNS3/Langs/Lang_it.ts	Sun Jun 17 21:10:09 2012 -0600
     3.2 +++ b/src/GNS3/Langs/Lang_it.ts	Mon Jun 18 17:28:03 2012 -0600
     3.3 @@ -1,5 +1,6 @@
     3.4  <?xml version="1.0" encoding="utf-8"?>
     3.5 -<!DOCTYPE TS><TS version="2.0" language="it_IT" sourcelanguage="">
     3.6 +<!DOCTYPE TS>
     3.7 +<TS version="2.0" language="it_IT">
     3.8  <context>
     3.9      <name>ASA initrd</name>
    3.10      <message>
    3.11 @@ -301,7 +302,7 @@
    3.12  &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://www.gns3.net/contact&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;Contattaci&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
    3.13  &lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; text-decoration: underline; color:#0000ff;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    3.14      </message>
    3.15 -    <message encoding="UTF-8">
    3.16 +    <message utf8="true">
    3.17          <location filename="../Ui/Form_About.py" line="80"/>
    3.18          <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
    3.19  &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
    3.20 @@ -633,7 +634,7 @@
    3.21      <message>
    3.22          <location filename="../Node/AnyEmuDevice.py" line="385"/>
    3.23          <source>Cannot change the console port while the node is running</source>
    3.24 -        <translation type="unfinished"></translation>
    3.25 +        <translation>Impossibile cambiare la porta della console mentre il nodo è in esecuzione</translation>
    3.26      </message>
    3.27  </context>
    3.28  <context>
    3.29 @@ -661,7 +662,7 @@
    3.30      <message>
    3.31          <location filename="../Node/AnyVBoxEmuDevice.py" line="456"/>
    3.32          <source>Cannot change the console port while the node is running</source>
    3.33 -        <translation type="unfinished"></translation>
    3.34 +        <translation>Impossibile cambiare la porta della console mentre il nodo è in esecuzione</translation>
    3.35      </message>
    3.36  </context>
    3.37  <context>
    3.38 @@ -936,7 +937,7 @@
    3.39      <message>
    3.40          <location filename="../Telnet.py" line="36"/>
    3.41          <source>No terminal command defined for local console/serial connections</source>
    3.42 -        <translation type="unfinished"></translation>
    3.43 +        <translation>Nessun comando di terminale definito per la console locale/connessioni seriali</translation>
    3.44      </message>
    3.45  </context>
    3.46  <context>
    3.47 @@ -1085,17 +1086,17 @@
    3.48      <message>
    3.49          <location filename="../DynagenSub.py" line="404"/>
    3.50          <source>IOS image %s cannot be found and cannot find an alternative %s image</source>
    3.51 -        <translation type="unfinished"></translation>
    3.52 +        <translation>L&apos;immagine IOS %s non è presente e non è possibile trovare un&apos;immagine alternativa %s</translation>
    3.53      </message>
    3.54      <message>
    3.55          <location filename="../DynagenSub.py" line="418"/>
    3.56          <source>Local IOS image %s cannot be found, use image %s instead</source>
    3.57 -        <translation type="unfinished"></translation>
    3.58 +        <translation>L&apos;immagine IOS locale %s non è presente, utilizza invece l&apos;immagine %s</translation>
    3.59      </message>
    3.60      <message>
    3.61          <location filename="../DynagenSub.py" line="424"/>
    3.62          <source>WARNING: no IDLE PC value found for %s, please apply one before using this topology!</source>
    3.63 -        <translation type="unfinished"></translation>
    3.64 +        <translation>AVVISO: nessun valore IDLE PC trovato per %s, applicane uno prima di utilizzare questa topologia!</translation>
    3.65      </message>
    3.66  </context>
    3.67  <context>
    3.68 @@ -1118,7 +1119,7 @@
    3.69      <message>
    3.70          <location filename="../Node/ETHSW.py" line="226"/>
    3.71          <source>QinQ is only supported with Dynamips &gt; 0.2.8 RC2</source>
    3.72 -        <translation>QinQ è supportato solo da  Dynamips &gt; 0.2.8 RC2</translation>
    3.73 +        <translation>QinQ è supportato solo da Dynamips &gt; 0.2.8 RC2</translation>
    3.74      </message>
    3.75  </context>
    3.76  <context>
    3.77 @@ -1315,19 +1316,21 @@
    3.78      <message>
    3.79          <location filename="../Ui/Form_IDLEPCDialog.py" line="29"/>
    3.80          <source>Potentially better idlepc values are marked with &apos;*&apos;</source>
    3.81 -        <translation type="unfinished"></translation>
    3.82 +        <translation>I valori potenzialmente migliori di idlepc sono marcati con &apos;*&apos;</translation>
    3.83      </message>
    3.84      <message>
    3.85          <location filename="../IDLEPCDialog.py" line="83"/>
    3.86          <source>This is a trial and error process, apply different idlepc values and closely monitor the CPU usage. Choose the one that has the lowest CPU usage.
    3.87  
    3.88  Best idlepc values are usually obtained when IOS is in idle state: %s con0 is now available ... Press RETURN to get started.</source>
    3.89 -        <translation type="unfinished"></translation>
    3.90 +        <translation>Questo è un processo per prove ed errori, applica valori di idlepc diversi e controlla attentamente l&apos;utilizzo della CPU. Scegli quello che ne riduce al minimo l&apos;utilizzo.
    3.91 +
    3.92 +I valori migliori di idlepc sono ottenuti normalmente quando IOS è in uno stato di attesa: %s con0 è ora disponibile... Premi INVIO per iniziare.</translation>
    3.93      </message>
    3.94      <message>
    3.95          <location filename="../IDLEPCDialog.py" line="84"/>
    3.96          <source>Hints for IDLE PC</source>
    3.97 -        <translation type="unfinished"></translation>
    3.98 +        <translation>Suggerimenti per IDLE PC</translation>
    3.99      </message>
   3.100  </context>
   3.101  <context>
   3.102 @@ -2367,7 +2370,7 @@
   3.103          <source>Console to all devices</source>
   3.104          <translation>Console per tutti i dispositivi</translation>
   3.105      </message>
   3.106 -    <message encoding="UTF-8">
   3.107 +    <message utf8="true">
   3.108          <location filename="../Ui/Form_MainWindow.py" line="312"/>
   3.109          <source>Save topology &amp;as…</source>
   3.110          <translation>Salva topologi&amp;a come...</translation>
   3.111 @@ -2412,7 +2415,7 @@
   3.112          <source>Show interface labels</source>
   3.113          <translation>Mostra le etichette delle interfacce</translation>
   3.114      </message>
   3.115 -    <message encoding="UTF-8">
   3.116 +    <message utf8="true">
   3.117          <location filename="../Ui/Form_MainWindow.py" line="483"/>
   3.118          <source>&amp;Save project as…</source>
   3.119          <translation>&amp;Salva progetto come…</translation>
   3.120 @@ -2595,27 +2598,27 @@
   3.121      <message>
   3.122          <location filename="../Ui/Form_MainWindow.py" line="323"/>
   3.123          <source>Zoom &amp;in</source>
   3.124 -        <translation type="unfinished"></translation>
   3.125 +        <translation>Ingrand&amp;isci</translation>
   3.126      </message>
   3.127      <message>
   3.128          <location filename="../Ui/Form_MainWindow.py" line="325"/>
   3.129          <source>Zoom In</source>
   3.130 -        <translation type="unfinished"></translation>
   3.131 +        <translation>Ingrandisci</translation>
   3.132      </message>
   3.133      <message>
   3.134          <location filename="../Ui/Form_MainWindow.py" line="329"/>
   3.135          <source>Zoom &amp;out</source>
   3.136 -        <translation type="unfinished"></translation>
   3.137 +        <translation>Rimpicci&amp;olisci</translation>
   3.138      </message>
   3.139      <message>
   3.140          <location filename="../Ui/Form_MainWindow.py" line="331"/>
   3.141          <source>Zoom Out</source>
   3.142 -        <translation type="unfinished"></translation>
   3.143 +        <translation>Rimpicciolisci</translation>
   3.144      </message>
   3.145      <message>
   3.146          <location filename="../Ui/Form_MainWindow.py" line="335"/>
   3.147          <source>Zoom &amp;1:1</source>
   3.148 -        <translation type="unfinished"></translation>
   3.149 +        <translation>Ingrandimento &amp;1:1</translation>
   3.150      </message>
   3.151  </context>
   3.152  <context>
   3.153 @@ -2713,12 +2716,12 @@
   3.154      <message>
   3.155          <location filename="../NETFile.py" line="662"/>
   3.156          <source>Topology importation has failed! Exception detected, details saved in %s</source>
   3.157 -        <translation type="unfinished"></translation>
   3.158 +        <translation>L&apos;importazione della topologia non è riuscita. Rilevata un&apos;eccezione, i dettagli sono stati salvati in %s</translation>
   3.159      </message>
   3.160      <message>
   3.161          <location filename="../NETFile.py" line="932"/>
   3.162          <source>%s: Dynamips process %s:%i has crashed</source>
   3.163 -        <translation type="unfinished"></translation>
   3.164 +        <translation>%s: processo Dynamips %s: %i è terminato in modo inatteso</translation>
   3.165      </message>
   3.166  </context>
   3.167  <context>
   3.168 @@ -2774,7 +2777,7 @@
   3.169      <message>
   3.170          <location filename="../Ui/Form_NewProject.py" line="66"/>
   3.171          <source>&amp;Open a Project</source>
   3.172 -        <translation>Apri  un pr&amp;ogetto</translation>
   3.173 +        <translation>Apri un pr&amp;ogetto</translation>
   3.174      </message>
   3.175      <message>
   3.176          <location filename="../Ui/Form_NewProject.py" line="70"/>
   3.177 @@ -3187,7 +3190,7 @@
   3.178      <message>
   3.179          <location filename="../Ui/ConfigurationPages/Page_PIX.py" line="96"/>
   3.180          <source>Invalid serial (format required: 0xhhhhhhhh)</source>
   3.181 -        <translation>Seriale non valido (formato richiesto:  0xhhhhhhh)</translation>
   3.182 +        <translation>Seriale non valido (formato richiesto: 0xhhhhhhh)</translation>
   3.183      </message>
   3.184      <message>
   3.185          <location filename="../Ui/ConfigurationPages/Page_PIX.py" line="102"/>
   3.186 @@ -3197,7 +3200,7 @@
   3.187      <message>
   3.188          <location filename="../Ui/ConfigurationPages/Page_PIX.py" line="102"/>
   3.189          <source>Invalid key (format required: 0xhhhhhhhh,0xhhhhhhhh,0xhhhhhhhh,0xhhhhhhhh)</source>
   3.190 -        <translation>Chiave non valida (formato richiesto:  0xhhhhhhhh,0xhhhhhhhh,0xhhhhhhhh,0xhhhhhhhh)</translation>
   3.191 +        <translation>Chiave non valida (formato richiesto: 0xhhhhhhhh,0xhhhhhhhh,0xhhhhhhhh,0xhhhhhhhh)</translation>
   3.192      </message>
   3.193      <message>
   3.194          <location filename="../Ui/ConfigurationPages/Page_PIX.py" line="111"/>
   3.195 @@ -3253,7 +3256,7 @@
   3.196      <message>
   3.197          <location filename="../Ui/ConfigurationPages/Page_PreferencesQemu.py" line="491"/>
   3.198          <source>Invalid serial (format required: 0xhhhhhhhh)</source>
   3.199 -        <translation>Seriale non valido (formato richiesto:  0xhhhhhhh)</translation>
   3.200 +        <translation>Seriale non valido (formato richiesto: 0xhhhhhhh)</translation>
   3.201      </message>
   3.202      <message>
   3.203          <location filename="../Ui/ConfigurationPages/Page_PreferencesQemu.py" line="499"/>
   3.204 @@ -3263,7 +3266,7 @@
   3.205      <message>
   3.206          <location filename="../Ui/ConfigurationPages/Page_PreferencesQemu.py" line="499"/>
   3.207          <source>Invalid key (format required: 0xhhhhhhhh,0xhhhhhhhh,0xhhhhhhhh,0xhhhhhhhh)</source>
   3.208 -        <translation>Chiave non valida (formato richiesto:  0xhhhhhhhh,0xhhhhhhhh,0xhhhhhhhh,0xhhhhhhhh)</translation>
   3.209 +        <translation>Chiave non valida (formato richiesto: 0xhhhhhhhh,0xhhhhhhhh,0xhhhhhhhh,0xhhhhhhhh)</translation>
   3.210      </message>
   3.211      <message>
   3.212          <location filename="../Ui/ConfigurationPages/Page_PreferencesQemu.py" line="821"/>
   3.213 @@ -3741,7 +3744,7 @@
   3.214      <message>
   3.215          <location filename="../Ui/ConfigurationPages/Form_PreferencesGeneral.ui" line="285"/>
   3.216          <source>Launch terminals using the system default shell</source>
   3.217 -        <translation type="unfinished"></translation>
   3.218 +        <translation>Lancia i terminali utilizzando la shell predefinita di sistema</translation>
   3.219      </message>
   3.220      <message>
   3.221          <location filename="../Ui/ConfigurationPages/Form_PreferencesGeneral.ui" line="331"/>
   3.222 @@ -3750,17 +3753,21 @@
   3.223  %p = device port
   3.224  %d = device hostname
   3.225  %s = device pipe</source>
   3.226 -        <translation type="unfinished"></translation>
   3.227 +        <translation>Stringhe speciale di comando per il terminale:
   3.228 +%h = server del dispositivo
   3.229 +%p = porta del dispositivo
   3.230 +%d = nome host del dispositivo
   3.231 +%s = pipe del dispositivo</translation>
   3.232      </message>
   3.233      <message>
   3.234          <location filename="../Ui/ConfigurationPages/Form_PreferencesGeneral.ui" line="355"/>
   3.235          <source>Terminal command for VirtualBox local console/serial connections:</source>
   3.236 -        <translation type="unfinished"></translation>
   3.237 +        <translation>Comando di terminale per la console locale/connessioni seriali di VirtualBox:</translation>
   3.238      </message>
   3.239      <message>
   3.240          <location filename="../Ui/ConfigurationPages/Form_PreferencesGeneral.ui" line="365"/>
   3.241          <source>Close associated terminal programs when deleting a node</source>
   3.242 -        <translation type="unfinished"></translation>
   3.243 +        <translation>Chiudi i programmi di terminale associati quando elimini un nodo</translation>
   3.244      </message>
   3.245  </context>
   3.246  <context>
   3.247 @@ -4341,22 +4348,22 @@
   3.248      <message>
   3.249          <location filename="../Ui/ConfigurationPages/Form_PreferencesVirtualBox.ui" line="112"/>
   3.250          <source>Use VirtualBox VM names for hostnames</source>
   3.251 -        <translation type="unfinished"></translation>
   3.252 +        <translation>Usa i nomi delle MV VirtualBox come nomi degli host</translation>
   3.253      </message>
   3.254      <message>
   3.255          <location filename="../Ui/ConfigurationPages/Form_PreferencesVirtualBox.ui" line="456"/>
   3.256          <source>Start in headless mode (without GUI)</source>
   3.257 -        <translation type="unfinished"></translation>
   3.258 +        <translation>Avvia in modalità trasparente (senza GUI)</translation>
   3.259      </message>
   3.260      <message>
   3.261          <location filename="../Ui/ConfigurationPages/Form_PreferencesVirtualBox.ui" line="463"/>
   3.262          <source>Enable console support</source>
   3.263 -        <translation type="unfinished"></translation>
   3.264 +        <translation>Abilita supporto della console</translation>
   3.265      </message>
   3.266      <message>
   3.267          <location filename="../Ui/ConfigurationPages/Form_PreferencesVirtualBox.ui" line="470"/>
   3.268          <source>Enable console server (optionnal on Windows)</source>
   3.269 -        <translation type="unfinished"></translation>
   3.270 +        <translation>Abilita il server della console (opzionale su Windows)</translation>
   3.271      </message>
   3.272  </context>
   3.273  <context>
   3.274 @@ -4761,7 +4768,7 @@
   3.275      <message>
   3.276          <location filename="../Scene.py" line="1067"/>
   3.277          <source>Warning, you are using headless mode without console support</source>
   3.278 -        <translation type="unfinished"></translation>
   3.279 +        <translation>Attenzione, stai utilizzando la modalità trasparente senza supporto della console</translation>
   3.280      </message>
   3.281  </context>
   3.282  <context>
   3.283 @@ -4892,7 +4899,7 @@
   3.284          <source>Rotation:</source>
   3.285          <translation>Rotazione:</translation>
   3.286      </message>
   3.287 -    <message encoding="UTF-8">
   3.288 +    <message utf8="true">
   3.289          <location filename="../Ui/Form_StyleDialog.py" line="66"/>
   3.290          <source>°</source>
   3.291          <translation></translation>
   3.292 @@ -5324,12 +5331,12 @@
   3.293      <message>
   3.294          <location filename="../Topology.py" line="609"/>
   3.295          <source>All configured VMs already in use. You may add or clone additional VMs in VirtualBox</source>
   3.296 -        <translation type="unfinished"></translation>
   3.297 +        <translation>Tutte le MV configurate sono già in uso. Puoi aggiungere o clonare MV aggiuntive in VirtualBox</translation>
   3.298      </message>
   3.299      <message>
   3.300          <location filename="../Topology.py" line="888"/>
   3.301          <source>Couldn&apos;t set the same hostname as in VirtualBox for %s because non alphanumeric characters have been detected</source>
   3.302 -        <translation type="unfinished"></translation>
   3.303 +        <translation>Impossibile impostare lo stesso nome host di VirtualBox per %s poiché sono stati rilevati caratteri non alfanumerici</translation>
   3.304      </message>
   3.305  </context>
   3.306  <context>
   3.307 @@ -5798,22 +5805,22 @@
   3.308      <message>
   3.309          <location filename="../Ui/ConfigurationPages/Form_VirtualBoxPage.ui" line="111"/>
   3.310          <source>Do not use first NIC for connections with the host OS</source>
   3.311 -        <translation type="unfinished">Non utilizzare la prima NIC per le connessioni con il SO host</translation>
   3.312 +        <translation>Non utilizzare la prima NIC per le connessioni con il sistema host</translation>
   3.313      </message>
   3.314      <message>
   3.315          <location filename="../Ui/ConfigurationPages/Form_VirtualBoxPage.ui" line="121"/>
   3.316          <source>Enable console support</source>
   3.317 -        <translation type="unfinished"></translation>
   3.318 +        <translation>Abilita supporto della console</translation>
   3.319      </message>
   3.320      <message>
   3.321          <location filename="../Ui/ConfigurationPages/Form_VirtualBoxPage.ui" line="128"/>
   3.322          <source>Enable console server (optionnal on Windows)</source>
   3.323 -        <translation type="unfinished"></translation>
   3.324 +        <translation>Abilita il server della console (opzionale su Windows)</translation>
   3.325      </message>
   3.326      <message>
   3.327          <location filename="../Ui/ConfigurationPages/Form_VirtualBoxPage.ui" line="135"/>
   3.328          <source>Start in headless mode (without GUI)</source>
   3.329 -        <translation type="unfinished"></translation>
   3.330 +        <translation>Avvia in modalità trasparente (senza GUI)</translation>
   3.331      </message>
   3.332  </context>
   3.333  <context>
     4.1 --- a/src/GNS3/NETFile.py	Sun Jun 17 21:10:09 2012 -0600
     4.2 +++ b/src/GNS3/NETFile.py	Mon Jun 18 17:28:03 2012 -0600
     4.3 @@ -651,10 +651,16 @@
     4.4              globals.GApp.workspace.setWindowTitle("GNS3")
     4.5              globals.GApp.workspace.clear()
     4.6              return
     4.7 +        except lib.DynamipsErrorHandled:
     4.8 +            QtGui.QMessageBox.critical(globals.GApp.mainWindow, translate("NETFile", "Dynamips error"), translate("NETFile", "Connection lost"))
     4.9 +            globals.GApp.workspace.projectFile = None
    4.10 +            globals.GApp.workspace.setWindowTitle("GNS3")
    4.11 +            globals.GApp.workspace.clear()
    4.12 +            return
    4.13          except Exception, ex:
    4.14              curdate = time.strftime("%d %b %Y %H:%M:%S")
    4.15              logfile = open('import_exception.log','a')
    4.16 -            logfile.write("=== GNS3 " + VERSION + " traceback on " + curdate + " ===")
    4.17 +            logfile.write("========= GNS3 " + VERSION + " traceback on " + curdate + " =========\n")
    4.18              traceback.print_exc(file=logfile)
    4.19              logfile.close()
    4.20              traceback.print_exc()
     5.1 --- a/src/GNS3/Node/AnyEmuDevice.py	Sun Jun 17 21:10:09 2012 -0600
     5.2 +++ b/src/GNS3/Node/AnyEmuDevice.py	Mon Jun 18 17:28:03 2012 -0600
     5.3 @@ -380,9 +380,9 @@
     5.4      def changeConsolePort(self):
     5.5          """ Called to change the console port
     5.6          """
     5.7 -        
     5.8 +
     5.9          if self.emudev.state != 'stopped':
    5.10 -            QtGui.QMessageBox.critical(globals.GApp.mainWindow, translate("AnyEmuDevice", "Cannot change the console port while the node is running"))
    5.11 +            QtGui.QMessageBox.critical(globals.GApp.mainWindow, translate("AnyEmuDevice", "Console"), translate("AnyEmuDevice", "Cannot change the console port while the node is running"))
    5.12              return
    5.13          AbstractNode.changeConsolePort(self)
    5.14  
     6.1 --- a/src/GNS3/Node/AnyVBoxEmuDevice.py	Sun Jun 17 21:10:09 2012 -0600
     6.2 +++ b/src/GNS3/Node/AnyVBoxEmuDevice.py	Mon Jun 18 17:28:03 2012 -0600
     6.3 @@ -451,9 +451,9 @@
     6.4      def changeConsolePort(self):
     6.5          """ Called to change the console port
     6.6          """
     6.7 -        
     6.8 +
     6.9          if self.emu_vboxdev.state != 'stopped':
    6.10 -            QtGui.QMessageBox.critical(globals.GApp.mainWindow, translate("AnyVBoxEmuDevice", "Cannot change the console port while the node is running"))
    6.11 +            QtGui.QMessageBox.critical(globals.GApp.mainWindow, translate("AnyVBoxEmuDevice", "Console"), translate("AnyVBoxEmuDevice", "Cannot change the console port while the node is running"))
    6.12              return
    6.13          AbstractNode.changeConsolePort(self)
    6.14  
     7.1 --- a/src/GNS3/Topology.py	Sun Jun 17 21:10:09 2012 -0600
     7.2 +++ b/src/GNS3/Topology.py	Mon Jun 18 17:28:03 2012 -0600
     7.3 @@ -283,9 +283,9 @@
     7.4              debug("Disable mmap")
     7.5              node.set_string_option('mmap', False)
     7.6          if globals.GApp.systconf['dynamips'].sparsemem:
     7.7 -            if sys.platform.startswith('win') and globals.GApp.HypervisorManager and image_conf.platform in ('c2600', 'c1700'):
     7.8 +            if globals.GApp.HypervisorManager and image_conf.platform in ('c2600', 'c1700'):
     7.9                  # Workaround: sparse memory feature is not activated on c2600 and c1700 platforms because Dynamips freezes on console message 
    7.10 -                # "Press ENTER to get the prompt" after a restart. (Bug is inside Dynamips and only on Windows).
    7.11 +                # "Press ENTER to get the prompt" after a restart. (Bug is inside Dynamips).
    7.12                  debug("Do not enable sparse memory for this platform (known bug workaround)")
    7.13              else:
    7.14                  debug("Enable sparse memory")
     8.1 --- a/src/GNS3/Ui/ConfigurationPages/Page_PreferencesQemu.py	Sun Jun 17 21:10:09 2012 -0600
     8.2 +++ b/src/GNS3/Ui/ConfigurationPages/Page_PreferencesQemu.py	Mon Jun 18 17:28:03 2012 -0600
     8.3 @@ -900,7 +900,7 @@
     8.4                  # Qemu-0.11 for Windows is buggy, and fails to return 'qemu --help' results.
     8.5                  qemu_check= 0
     8.6                  try:
     8.7 -                    p = subprocess.Popen([globals.GApp.systconf['qemu'].qemu_path, '--help'], cwd=globals.GApp.systconf['qemu'].qemuwrapper_workdir, stdout = subprocess.PIPE)
     8.8 +                    p = subprocess.Popen([globals.GApp.systconf['qemu'].qemu_path, '-help'], cwd=globals.GApp.systconf['qemu'].qemuwrapper_workdir, stdout = subprocess.PIPE)
     8.9                      qemustdout = p.communicate()
    8.10                  except:
    8.11                      self.labelQemuStatus.setText('<font color="red">' + translate("UiConfig_PreferencesQemu", "Failed to start qemu")  + '</font>')
     9.1 --- a/src/GNS3/Ui/ConfigurationPages/Page_PreferencesVirtualBox.py	Sun Jun 17 21:10:09 2012 -0600
     9.2 +++ b/src/GNS3/Ui/ConfigurationPages/Page_PreferencesVirtualBox.py	Mon Jun 18 17:28:03 2012 -0600
     9.3 @@ -561,6 +561,6 @@
     9.4                      self.labelVBoxStatus.setText('<font color="brown">' + translate("UiConfig_PreferencesVirtualBox", "Failed to start xdotool")  + '</font>')
     9.5                      return
     9.6  
     9.7 -            self.labelVBoxStatus.setText('<font color="green">' + translate("UiConfig_PreferencesVirtualBox", "VBoxwrapper and VirtualBox API %s have successfully started") % vbox_version  + '</font>')
     9.8 +            self.labelVBoxStatus.setText('<font color="green">' + translate("UiConfig_PreferencesVirtualBox", "VBoxwrapper and VirtualBox API %s<br>have successfully started") % vbox_version  + '</font>')
     9.9              self.fillVMnames(vbox)
    9.10              globals.GApp.VBoxManager.stopVBox()
    9.11 \ No newline at end of file