Salome HOME
sauve du 9 mai
[tools/eficas.git] / InterfaceQT4 / viewManager.py
index 6e5501a5273bf2d9a8e5401c6e6ef59878a20ef5..be870312e2eb761985ea36fa1686016603f56ed1 100644 (file)
 #
 
 import os, string
-from PyQt4.QtGui  import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
+from determine import monEnvQT5
+if monEnvQT5:
+   from  PyQt5.QtWidgets  import QFileDialog, QMessageBox
+   from  PyQt5.QtCore  import QFileInfo
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import *
 
 DictExtensions= {"MAP" : ".map"}
 class MyTabview:
@@ -37,9 +42,14 @@ class MyTabview:
        self.doubles = {}
 
        self.myQtab = self.appliEficas.myQtab
-       self.myQtab.connect(self.myQtab, SIGNAL('tabCloseRequested(int)'), self.closeTab)
-       if self.appliEficas.multi== True:
-          self.myQtab.connect(self.myQtab,SIGNAL("currentChanged(int)"),self.indexChanged)
+
+       if monEnvQT5:
+          self.myQtab.currentChanged.connect(self.indexChanged)
+          self.myQtab.tabCloseRequested.connect(self.closeTab)
+       else :
+          self.myQtab.connect(self.myQtab, SIGNAL('tabCloseRequested(int)'), self.closeTab)
+          if self.appliEficas.multi== True:
+             self.myQtab.connect(self.myQtab,SIGNAL("currentChanged(int)"),self.indexChanged)
         
    def indexChanged(self):
        index=self.myQtab.currentIndex()
@@ -67,8 +77,8 @@ class MyTabview:
                         tr('Ouvrir Fichier'),
                         self.appliEficas.CONFIGURATION.savedir,
                          extensions)
-            if fichier.isNull(): 
-              return result
+            if monEnvQT5 : fichier=fichier[0]
+            if not fichier: return result
        fichier = os.path.abspath(unicode(fichier))
        ulfile = os.path.abspath(unicode(fichier))
        self.appliEficas.CONFIGURATION.savedir=os.path.split(ulfile)[0]
@@ -206,8 +216,7 @@ class MyTabview:
            QMessageBox.warning(
                      None,
                      tr("Fichier Duplique"),
-                     tr("Le fichier ne sera pas sauvegarde."),
-                     tr("&Annuler"))
+                     tr("Le fichier ne sera pas sauvegarde."),)
            return
        ok, newName = editor.saveFile()
        if ok :
@@ -223,8 +232,7 @@ class MyTabview:
            QMessageBox.warning(
                      None,
                      tr("Fichier Duplique"),
-                     tr("Le fichier ne sera pas sauvegarde."),
-                     tr("&Annuler"))
+                     tr("Le fichier ne sera pas sauvegarde."),)
            return
        ok, newName = editor.sauveLigneFile()
        if ok :
@@ -264,11 +272,19 @@ class MyTabview:
        for indexEditor in self.dict_editors.keys():
            editor=self.dict_editors[indexEditor]
            if self.samepath(fichier, editor.getFileName()):
-              abort = QMessageBox.warning(self.appliEficas,
-                        tr("Fichier"),
-                        tr("Le fichier <b>%s</b> est deja ouvert.",str(fichier)),
-                        tr("&Duplication"),
-                        tr("&Abort"))
+              if monEnvQT5 :
+                msgBox = QMessageBox()
+                msgBox.setWindowTitle(tr("Fichier"))
+                msgBox.setText(tr("Le fichier <b>%s</b> est deja ouvert", str(fichier)))
+                msgBox.addButton(tr("&Duplication"),0)
+                msgBox.addButton(tr("&Abandonner"),1)
+                abort=msgBox.exec_()
+              else :
+                abort = QMessageBox.warning(self.appliEficas,
+                      tr("Fichier"),
+                      tr("Le fichier <b>%s</b> est deja ouvert.",str(fichier)),
+                      tr("&Duplication"),
+                      tr("&Abort"))
               if abort: break
               double=editor
        else :
@@ -334,7 +350,15 @@ class MyTabview:
         """        
         res=1 
         if (editor.modified) and (editor in self.doubles.keys()) :
-            res = QMessageBox.warning(
+            if monEnvQT5 :
+              msgBox = QMessageBox(None)
+              msgBox.setWindowTitle(tr("Fichier Duplique"))
+              msgBox.setText(tr("Le fichier ne sera pas sauvegarde."))
+              msgBox.addButton(texte,0)
+              msgBox.addButton(tr("&Annuler"),1)
+              res=msgBox.exec_()
+            else:
+              res = QMessageBox.warning(
                      None,
                      tr("Fichier Duplique"),
                      tr("Le fichier ne sera pas sauvegarde."),
@@ -344,14 +368,21 @@ class MyTabview:
             return 2
         if editor.modified:
             fn = editor.getFileName()
-            if fn is None:
-                fn = self.appliEficas.trUtf8('Noname')
-            res = QMessageBox.warning(self.appliEficas, 
+            if fn is None: fn = tr('Noname')
+            if monEnvQT5 :
+              msgBox = QMessageBox(None)
+              msgBox.setWindowTitle(tr("Fichier Modifie"))
+              msgBox.setText(tr("Le fichier ne sera pas sauvegarde."))
+              msgBox.addButton(tr("&Sauvegarder"),1)
+              msgBox.addButton(tr("&Quitter sans sauvegarder"),0)
+              res=msgBox.exec_()
+            else :
+              res = QMessageBox.warning(self.appliEficas, 
                 tr("Fichier Modifie"),
                 tr("Le fichier %s n a pas ete sauvegarde.",str(fn)),
                 tr("&Sauvegarder"),
                 tr(texte),
-                tr("&Annuler") )
+                tr("&Quitter sans sauvegarder") )
             if res == 0:
                 (ok, newName) = editor.saveFile()
                 if ok: