| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- #from __future__ import unicode_literals
- # -*- coding: utf-8 -*-
- import os
- from time import strftime, localtime
- from PyQt4.QtCore import SIGNAL, QString
- from PyQt4.QtGui import QDialog, QMessageBox, QIcon, QTableWidgetItem
- from lib.commun import rep
- from lib.mat import chargerMat
- from lib.outilsSvg import supprSvg, afficheSvg
- from mat import supprimerMat
- from ui.ecran_chargerPartie import Ui_chpt_fenetre
- class EcranChargerPartie(QDialog):
- """interface de creation/chargement de plateau"""
- def __init__(self, fenetre, parent=None):
- """initialisation de la fenetre"""
- super (EcranChargerPartie, self).__init__()
- self.fenetre = fenetre
- self._resultat = None
- self.createWidgets()
- self.majAffichage()
-
- def createWidgets(self):
- """construction de l'interface"""
- #construction de l'interface
- self.ui = Ui_chpt_fenetre()
- self.ui.setupUi(self)
- self.majListeChargement()
- self.connect(self.ui.chpt_supprimer, SIGNAL("clicked()"), self.supprimerPlateau)
- self.connect(self.ui.chpt_ok, SIGNAL("clicked()"), self.ok)
- self.connect(self.ui.chpt_liste, SIGNAL("cellClicked(int,int)"), self.majAffichage)
- self.connect(self.ui.chpt_liste, SIGNAL("cellDoubleClicked(int,int)"), self.ok)
- def ok(self):
- """renvoie l'identifiant de la partie selectionnee"""
- self._resultat = self.ui.chpt_liste.texte(self.ui.chpt_liste.currentRow(), 0)
- self.done(1)
-
- def resultat(self):
- return self._resultat
-
- def supprimerPlateau(self):
- """supprime le plateau selectionne"""
- reponse = QMessageBox.question(self, 'Avertissement',
- QString().fromUtf8("Etes-vous sûr de vouloir supprimer cette partie,\net tous les plateaux et personnages qu'elle contient?"), QMessageBox.Yes |
- QMessageBox.No, QMessageBox.No)
- if reponse == QMessageBox.Yes:
- idM = self.ui.chpt_liste.texte(self.ui.chpt_liste.currentRow(), 0)
- rep = os.path.join(rep("app"), "{}\\".format(idM))
- os.remove(rep)
- self.majListeChargement()
- def majAffichage(self):
- self.ui.chpt_ok.setEnabled(self.ui.chpt_liste.currentRow()>=0)
- self.ui.chpt_supprimer.setEnabled(self.ui.chpt_liste.currentRow()>=0)
- def majListeChargement(self):
- """remplit ou maj la liste des plateaux sauvegardes"""
- #on met a jour la largeur des colonnes
- largeurs = [0, 370, 100, 0]
- for col in self.ui.chpt_liste.colonnes():
- self.ui.chpt_liste.setColumnWidth(col, largeurs[col]);
- self.ui.chpt_liste.setSortingEnabled(False)
- self.ui.chpt_liste.vider()
-
- repParties = os.path.join( rep("app"), "parties\\" )
- for repertoires in os.walk( repParties ):
- lstRep = repertoires[1]
- break
- for idPartie in lstRep:
- chemin = os.path.join( os.path.join( repParties, "{}\\".format(idPartie) ), "{}.dm".format(idPartie) )
- partie = chargerMat( chemin )
- if partie:
- ligne = self.ui.chpt_liste.nouvelleLigneFin()
- self.ui.chpt_liste.majTexte(ligne, 0, partie.idM())
- self.ui.chpt_liste.majTexte(ligne, 1, partie.nom() )
- self.ui.chpt_liste.majTexte(ligne, 2, strftime('%d/%m/%y %H:%M',localtime(partie.dateMaj)) )
- self.ui.chpt_liste.majData(ligne, 3, partie.dateMaj )
- for col in self.ui.chpt_liste.colonnes():
- self.ui.chpt_liste.sizeHintForColumn(col)
-
- #on trie par date
- self.ui.chpt_liste.setSortingEnabled(True)
- self.ui.chpt_liste.sortItems(5, 1)
- self.majAffichage()
-
-
|