Example #1
0
 def slot_fusionner(__, fonction=fusion):
     __.Status_bar.showMessage("Fusion en cours")
     liste = []
     for i in range(__.Struct2.List_dossier.count()):
         liste.append(
             unicode(__.Struct2.List_dossier.item(i).text(), "cp1252")[:-1])
     for i in range(__.Struct2.List_fichier.count()):
         liste.append(
             unicode(__.Struct2.List_fichier.item(i).text(), "cp1252"))
     if liste:
         path = unicode(__.Path.text(), "cp1252")
         name = unicode(__.Struct2.Archive_name.text(), "cp1252")
         if path and name:
             if path[-1] != "/": path += "/"
             path += name
         elif path and not name:
             if path[-1] != "/": path += "/"
             path += get_name(liste[0])
         elif not path and name:
             path = get_path(liste[0]) + name
         else:
             if liste[0].count("."):
                 path = ".".join(liste[0].split(".")[:-1])
             else:
                 path = liste[0][:]
         if get_ext(path) != "fuz": path += ".fuz"
         fonction(liste, False, path)
     __.Status_bar.showMessage("Fusion terminée")
Example #2
0
	def slot_extraire_all(__):
		if __.archive:
			__.Status_bar.showMessage("Defusion en cours")
			path  = unicode(__.Path.text(), "cp1252")
			if not path: path = get_path(__.archive)
			if __.Struct.Name.text() != get_name(__.archive)[ :  -4]: name = unicode(__.Struct.Name.text(), "cp1252")
			else: name = ""
			defusion(__.archive, False,False,path+name)
			__.Status_bar.showMessage("Defusion terminée")
		else: __.Status_bar.showMessage("Aucune archive ouverte")
Example #3
0
 def slot_extraire_all(__):
     if __.archive:
         __.Status_bar.showMessage("Defusion en cours")
         path = unicode(__.Path.text(), "cp1252")
         if not path: path = get_path(__.archive)
         if __.Struct.Name.text() != get_name(__.archive)[:-4]:
             name = unicode(__.Struct.Name.text(), "cp1252")
         else:
             name = ""
         defusion(__.archive, False, False, path + name)
         __.Status_bar.showMessage("Defusion terminée")
     else:
         __.Status_bar.showMessage("Aucune archive ouverte")
Example #4
0
 def get_contenu(__, index_dir):
     liste_contenu = []
     fichier = file(__.archive_ind, "rb")
     fichier.read(1)
     nbr_c = base_int(fichier.read(1))
     fichier.read(1)
     arborescence = get_arborescence(file(__.archive, "rb"))
     num_dossier = base_int(fichier.read(nbr_c))
     nbr_fichier = base_int(fichier.readline()[:-1], 254)
     while num_dossier != index_dir:
         for i in range(nbr_fichier * 3):
             fichier.readline()
         num_dossier = base_int(fichier.read(nbr_c))
         nbr_fichier = base_int(fichier.readline()[:-1], 254)
     liste_contenu.append([arborescence[0][num_dossier], []])
     liste_fichier = []
     for i in range(nbr_fichier):
         nom = fichier.readline()[:-1]
         start = base_int(fichier.readline()[:-1], 254)
         stop = base_int(fichier.readline()[:-1], 254)
         liste_contenu[-1][1].append([nom, start, stop])
     dossier = arborescence[0][base_int(
         fichier.read(nbr_c))][:-1].split("/")
     nbr_fichier = base_int(fichier.readline()[:-1], 254)
     lim = len(liste_contenu[0][0])
     path = get_path(__.archive)
     lim_start = len(path)
     index_slash = len(liste_contenu[0][0][:-1].split("/")) - 1
     name = get_name(liste_contenu[0][0][:-1])
     liste_contenu[0][0] = path + name
     lim_end = lim_start + lim
     while dossier[index_slash] == name:
         liste_contenu.append([path + "/".join(dossier[index_slash:]), []])
         for i in range(nbr_fichier):
             nom = fichier.readline()[:-1]
             start = base_int(fichier.readline()[:-1], 254)
             stop = base_int(fichier.readline()[:-1], 254)
             liste_contenu[-1][1].append([nom, start, stop])
         dossier = arborescence[0][base_int(
             fichier.read(nbr_c))][:-1].split("/")
         if len(dossier) <= index_slash: break
         nbr_fichier = base_int(fichier.readline()[:-1], 254)
     return liste_contenu
Example #5
0
	def get_contenu(__, index_dir):
		liste_contenu = []
		fichier = file(__.archive_ind, "rb")
		fichier.read(1)
		nbr_c = base_int(fichier.read(1))
		fichier.read(1)
		arborescence = get_arborescence(file(__.archive, "rb"))
		num_dossier = base_int(fichier.read(nbr_c))
		nbr_fichier = base_int(fichier.readline()[:-1], 254)
		while num_dossier != index_dir:
			for i in range(nbr_fichier * 3): fichier.readline()
			num_dossier = base_int(fichier.read(nbr_c))
			nbr_fichier = base_int(fichier.readline()[:-1], 254)
		liste_contenu.append([arborescence[0][num_dossier], []])
		liste_fichier = []
		for i in range(nbr_fichier):
			nom = fichier.readline()[:-1]
			start = base_int(fichier.readline()[:-1], 254)
			stop = base_int(fichier.readline()[:-1], 254)
			liste_contenu[-1][1].append([nom, start, stop])
		dossier = arborescence[0][base_int(fichier.read(nbr_c))][:-1].split("/")
		nbr_fichier = base_int(fichier.readline()[:-1], 254)
		lim = len(liste_contenu[0][0])
		path = get_path(__.archive)
		lim_start = len(path)
		index_slash = len(liste_contenu[0][0][:-1].split("/")) - 1
		name = get_name(liste_contenu[0][0][:-1])
		liste_contenu[0][0] = path + name
		lim_end = lim_start + lim
		while dossier[index_slash] == name:
			liste_contenu.append([path + "/".join(dossier[index_slash:]), []])
			for i in range(nbr_fichier):
				nom = fichier.readline()[:-1]
				start = base_int(fichier.readline()[:-1], 254)
				stop = base_int(fichier.readline()[:-1], 254)
				liste_contenu[-1][1].append([nom, start, stop])
			dossier = arborescence[0][base_int(fichier.read(nbr_c))][:-1].split("/")
			if len(dossier) <= index_slash: break
			nbr_fichier = base_int(fichier.readline()[:-1], 254)
		return liste_contenu
Example #6
0
	def slot_fusionner(__, fonction=fusion):
		__.Status_bar.showMessage("Fusion en cours")
		liste = []
		for i in range(__.Struct2.List_dossier.count()): liste.append(unicode(__.Struct2.List_dossier.item(i).text(), "cp1252")[:-1])
		for i in range(__.Struct2.List_fichier.count()): liste.append(unicode(__.Struct2.List_fichier.item(i).text(), "cp1252"))
		if liste:
			path = unicode(__.Path.text(), "cp1252")
			name = unicode(__.Struct2.Archive_name.text(), "cp1252")
			if path and name:
				if path[-1] != "/": path += "/"
				path += name
			elif path and not name:
				if path[-1] != "/": path += "/"
				path += get_name(liste[0])
			elif not path and name:
				path = get_path(liste[0]) + name
			else:
				if liste[0].count("."): path = ".".join(liste[0].split(".")[:-1])
				else: path = liste[0][:]
			if get_ext(path) != "fuz": path += ".fuz"
			fonction(liste, False, path)
		__.Status_bar.showMessage("Fusion terminée")
Example #7
0
	def __init__(__, argv=[]):
		qt.QWidget.__init__(__)
		__.setWindowIcon(qt.QIcon("ico/fuz.ico"))
		__.setWindowTitle("Fusion files")
		__.path = get_path(sys.argv[0])
		__.archive = ""
		temp = ""
		if len(argv) > 1: temp = unicode(" ".join(argv[1:]), "cp1252").replace("\\","/")
		if get_ext(temp) == "fuz":
			__.mode = True
			__.archive = temp[:]
		else:
			__.mode = False
		__.archive_ind = ""
		__.index_dir = (0, 0)


		__.Tabs = qt.QTabWidget(__)
		__.Struct = qt.QWidget(__)
		__.Struct.Archive_name = qt.QPushButton(__.archive, __.Struct)
		__.Struct.Add_dir = qt.QPushButton("Ajouter un dossier", __.Struct)
		__.Struct.Add_dir.setVisible(False)
		__.Struct.Add_file = qt.QPushButton("Ajouter des fichiers", __.Struct)
		__.Struct.Ouvrir_dossier = qt.QPushButton("Ouvrir dossier", __.Struct)
		__.Struct.Dossier_parent = qt.QPushButton("Dossier parent", __.Struct)
		__.Struct.Extraire = qt.QPushButton("Tout extraire", __.Struct)
		__.Struct.Extraire_dossier = qt.QPushButton("Extraire dossier", __.Struct)
		__.Struct.Extraire_file = qt.QPushButton("Extraire fichier", __.Struct)
		__.Struct.Action_ouvrir_dossier = qt.QAction(__)
		__.Struct.Name = qt.QLineEdit(__.Struct)
		__.Struct.Name.setReadOnly(True)

		__.Struct.Dossier = qt.QLabel(__.Struct)
		__.Struct.Dossier.setText("Dossiers : 0")
		__.Struct.List_dossier = qt.QListWidget(__.Struct)

		__.Struct.Fichier = qt.QLabel(__.Struct)
		__.Struct.Fichier.setText("Fichiers : 0")
		__.Struct.List_fichier = qt.QListWidget(__.Struct)


		__.Struct2 = qt.QWidget(__)
		__.Struct2.Layout = qt.QGridLayout(__.Struct2)
		__.Struct2.Archive_name = qt.QLineEdit(__.Struct2)
		__.Struct2.Dossier = qt.QLabel(__.Struct2)
		__.Struct2.List_dossier = qt.QListWidget(__.Struct2)
		if is_dir(temp):
			__.Struct2.List_dossier.addItem(temp)
			__.Struct2.Dossier.setText("Dossiers : 1")
		else:
			__.Struct2.Dossier.setText("Dossiers : 0")
		__.Struct2.Add_dir = qt.QPushButton("Ajouter un dossier", __.Struct2)
		__.Struct2.Suppr_dossier = qt.QPushButton("Retirer un dossier", __.Struct2)

		__.Struct2.Fichier = qt.QLabel(__.Struct2)
		__.Struct2.List_fichier = qt.QListWidget(__.Struct2)
		if is_file(temp):
			__.Struct2.List_fichier.addItem(temp)
			__.Struct2.Fichier.setText("Fichiers : 1")
		else:
			__.Struct2.Fichier.setText("Fichiers : 0")
		__.Struct2.Add_file = qt.QPushButton("Ajouter des fichiers", __.Struct2)
		__.Struct2.Suppr_fichier = qt.QPushButton("Retirer un fichier", __.Struct2)
		__.Struct2.Fusionner = qt.QPushButton("Fusionner", __.Struct2)
		__.Struct2.Autoextract = qt.QPushButton("Créer auto-extractible", __.Struct2)

		__.Path = qt.QPushButton(__)
		__.Path.setWhatsThis("Fusionner/Extraire vers")

		#__.Menu = qt.QMenuBar(__)
		#__.Menu_fichier =  __.Menu.addMenu("Fichier")
		#__.Action_ouvrir = __.Menu_fichier.addAction("Ouvrir archive")
		__.Action_ouvrir = qt.QAction("Ouvrir archive", __)

		__.Status_bar = qt.QStatusBar(__)
		__.Status_bar.showMessage("By W3YZOH0RTH")
		__.Status_progress = qt.QProgressBar(__.Status_bar)
		__.Status_bar.addPermanentWidget(__.Status_progress)

		__.Tabs.addTab(__.Struct2, "Fusion")
		__.Tabs.addTab(__.Struct, "Extraction")
		if __.mode: __.Tabs.setCurrentIndex(1)

		__.VLayout = qt.QVBoxLayout(__)
		#__.VLayout.addWidget(__.Menu)
		__.VLayout.addWidget(__.Path)
		__.VLayout.addWidget(__.Tabs)
		__.VLayout.addWidget(__.Status_bar)
		__.setLayout(__.VLayout)

		__.Struct.Layout = qt.QGridLayout(__.Struct)
		__.Struct.Layout.addWidget(__.Struct.Archive_name, 0, 0, 1, 4)
		__.Struct.Layout.addWidget(__.Struct.Name, 1, 0, 1, 4)
		__.Struct.Layout.addWidget(__.Struct.Add_file, 2, 2, 1, 2)
		#__.Struct.Layout.addWidget(__.Struct.Add_dir, 2, 0, 1, 2)
		__.Struct.Layout.addWidget(__.Struct.Fichier, 3, 2, 1, 1)
		__.Struct.Layout.addWidget(__.Struct.Dossier, 3, 0, 1, 1)
		__.Struct.Layout.addWidget(__.Struct.List_dossier, 4, 0, 1, 2)
		__.Struct.Layout.addWidget(__.Struct.List_fichier, 4, 2, 1, 2)
		__.Struct.Layout.addWidget(__.Struct.Ouvrir_dossier, 5, 0, 1, 1)
		__.Struct.Layout.addWidget(__.Struct.Dossier_parent, 5, 1, 1, 1)
		__.Struct.Layout.addWidget(__.Struct.Extraire_dossier, 6, 0, 1, 2)
		__.Struct.Layout.addWidget(__.Struct.Extraire_file, 6, 2, 1, 2)
		__.Struct.Layout.addWidget(__.Struct.Extraire, 5, 2, 1, 2)
		__.Struct.setLayout(__.Struct.Layout)

		__.Struct2.Layout.addWidget(__.Struct2.Archive_name, 0, 0, 1, 4)
		__.Struct2.Layout.addWidget(__.Struct2.Add_dir, 1, 0, 1, 2)
		__.Struct2.Layout.addWidget(__.Struct2.Add_file, 1, 2, 1, 2)
		__.Struct2.Layout.addWidget(__.Struct2.Fichier, 2, 2, 1, 1)
		__.Struct2.Layout.addWidget(__.Struct2.Dossier, 2, 0, 1, 1)
		__.Struct2.Layout.addWidget(__.Struct2.List_dossier, 3, 0, 1, 2)
		__.Struct2.Layout.addWidget(__.Struct2.List_fichier, 3, 2, 1, 2)
		__.Struct2.Layout.addWidget(__.Struct2.Suppr_dossier, 4, 0, 1, 2)
		__.Struct2.Layout.addWidget(__.Struct2.Suppr_fichier, 4, 2, 1, 2)
		__.Struct2.Layout.addWidget(__.Struct2.Fusionner, 6, 0, 1, 2)
		__.Struct2.Layout.addWidget(__.Struct2.Autoextract, 6, 2, 1, 2)
		__.Struct2.setLayout(__.Struct2.Layout)

		qt.qApp.connect(__.Action_ouvrir, qt.SIGNAL("triggered()"), __.slot_ouvrir)
		qt.qApp.connect(__.Struct.Action_ouvrir_dossier, qt.SIGNAL("triggered()"), __.slot_open_dir)
		qt.qApp.connect(__.Struct.Archive_name, qt.SIGNAL("clicked()"), __.Action_ouvrir.trigger)
		qt.qApp.connect(__.Struct.Ouvrir_dossier, qt.SIGNAL("clicked()"), __.Struct.Action_ouvrir_dossier.trigger)
		qt.qApp.connect(__.Struct.Dossier_parent, qt.SIGNAL("clicked()"), __.slot_retour)
		qt.qApp.connect(__.Struct.Extraire, qt.SIGNAL("clicked()"), __.slot_extraire_all)
		qt.qApp.connect(__.Struct.Extraire_file, qt.SIGNAL("clicked()"), __.slot_extraire_file)
		qt.qApp.connect(__.Struct.Extraire_dossier, qt.SIGNAL("clicked()"), __.slot_extraire_dir)
		qt.qApp.connect(__.Struct.Add_file, qt.SIGNAL("clicked()"), __.slot_add_fichier)
		qt.qApp.connect(__.Struct.Add_dir, qt.SIGNAL("clicked()"), __.slot_add_dossier)
		qt.qApp.connect(__.Struct2.Add_file, qt.SIGNAL("clicked()"), __.slot_add_fichier)
		qt.qApp.connect(__.Struct2.Add_dir, qt.SIGNAL("clicked()"), __.slot_add_dossier)
		qt.qApp.connect(__.Struct2.Suppr_fichier, qt.SIGNAL("clicked()"), __.slot_suppr_fichier)
		qt.qApp.connect(__.Struct2.Suppr_dossier, qt.SIGNAL("clicked()"), __.slot_suppr_dossier)
		qt.qApp.connect(__.Struct2.Fusionner, qt.SIGNAL("clicked()"), __.slot_fusionner)
		qt.qApp.connect(__.Struct2.Autoextract, qt.SIGNAL("clicked()"), lambda fct=create_autoextract: __.slot_fusionner(fct))
		qt.qApp.connect(__.Path, qt.SIGNAL("clicked()"), __.slot_change_path)
		#qt.qApp.connect(__.Struct.List_dossier, qt.SIGNAL("itemSelectionChanged()"), __.Struct.Action_ouvrir_dossier.trigger)
		if __.archive: __.slot_ouvrir(True)
Example #8
0
    def __init__(__, argv=[]):
        qt.QWidget.__init__(__)
        __.setWindowIcon(qt.QIcon("ico/fuz.ico"))
        __.setWindowTitle("Fusion files")
        __.path = get_path(sys.argv[0])
        __.archive = ""
        temp = ""
        if len(argv) > 1:
            temp = unicode(" ".join(argv[1:]), "cp1252").replace("\\", "/")
        if get_ext(temp) == "fuz":
            __.mode = True
            __.archive = temp[:]
        else:
            __.mode = False
        __.archive_ind = ""
        __.index_dir = (0, 0)

        __.Tabs = qt.QTabWidget(__)
        __.Struct = qt.QWidget(__)
        __.Struct.Archive_name = qt.QPushButton(__.archive, __.Struct)
        __.Struct.Add_dir = qt.QPushButton("Ajouter un dossier", __.Struct)
        __.Struct.Add_dir.setVisible(False)
        __.Struct.Add_file = qt.QPushButton("Ajouter des fichiers", __.Struct)
        __.Struct.Ouvrir_dossier = qt.QPushButton("Ouvrir dossier", __.Struct)
        __.Struct.Dossier_parent = qt.QPushButton("Dossier parent", __.Struct)
        __.Struct.Extraire = qt.QPushButton("Tout extraire", __.Struct)
        __.Struct.Extraire_dossier = qt.QPushButton("Extraire dossier",
                                                    __.Struct)
        __.Struct.Extraire_file = qt.QPushButton("Extraire fichier", __.Struct)
        __.Struct.Action_ouvrir_dossier = qt.QAction(__)
        __.Struct.Name = qt.QLineEdit(__.Struct)
        __.Struct.Name.setReadOnly(True)

        __.Struct.Dossier = qt.QLabel(__.Struct)
        __.Struct.Dossier.setText("Dossiers : 0")
        __.Struct.List_dossier = qt.QListWidget(__.Struct)

        __.Struct.Fichier = qt.QLabel(__.Struct)
        __.Struct.Fichier.setText("Fichiers : 0")
        __.Struct.List_fichier = qt.QListWidget(__.Struct)

        __.Struct2 = qt.QWidget(__)
        __.Struct2.Layout = qt.QGridLayout(__.Struct2)
        __.Struct2.Archive_name = qt.QLineEdit(__.Struct2)
        __.Struct2.Dossier = qt.QLabel(__.Struct2)
        __.Struct2.List_dossier = qt.QListWidget(__.Struct2)
        if is_dir(temp):
            __.Struct2.List_dossier.addItem(temp)
            __.Struct2.Dossier.setText("Dossiers : 1")
        else:
            __.Struct2.Dossier.setText("Dossiers : 0")
        __.Struct2.Add_dir = qt.QPushButton("Ajouter un dossier", __.Struct2)
        __.Struct2.Suppr_dossier = qt.QPushButton("Retirer un dossier",
                                                  __.Struct2)

        __.Struct2.Fichier = qt.QLabel(__.Struct2)
        __.Struct2.List_fichier = qt.QListWidget(__.Struct2)
        if is_file(temp):
            __.Struct2.List_fichier.addItem(temp)
            __.Struct2.Fichier.setText("Fichiers : 1")
        else:
            __.Struct2.Fichier.setText("Fichiers : 0")
        __.Struct2.Add_file = qt.QPushButton("Ajouter des fichiers",
                                             __.Struct2)
        __.Struct2.Suppr_fichier = qt.QPushButton("Retirer un fichier",
                                                  __.Struct2)
        __.Struct2.Fusionner = qt.QPushButton("Fusionner", __.Struct2)
        __.Struct2.Autoextract = qt.QPushButton("Créer auto-extractible",
                                                __.Struct2)

        __.Path = qt.QPushButton(__)
        __.Path.setWhatsThis("Fusionner/Extraire vers")

        #__.Menu = qt.QMenuBar(__)
        #__.Menu_fichier =  __.Menu.addMenu("Fichier")
        #__.Action_ouvrir = __.Menu_fichier.addAction("Ouvrir archive")
        __.Action_ouvrir = qt.QAction("Ouvrir archive", __)

        __.Status_bar = qt.QStatusBar(__)
        __.Status_bar.showMessage("By W3YZOH0RTH")
        __.Status_progress = qt.QProgressBar(__.Status_bar)
        __.Status_bar.addPermanentWidget(__.Status_progress)

        __.Tabs.addTab(__.Struct2, "Fusion")
        __.Tabs.addTab(__.Struct, "Extraction")
        if __.mode: __.Tabs.setCurrentIndex(1)

        __.VLayout = qt.QVBoxLayout(__)
        #__.VLayout.addWidget(__.Menu)
        __.VLayout.addWidget(__.Path)
        __.VLayout.addWidget(__.Tabs)
        __.VLayout.addWidget(__.Status_bar)
        __.setLayout(__.VLayout)

        __.Struct.Layout = qt.QGridLayout(__.Struct)
        __.Struct.Layout.addWidget(__.Struct.Archive_name, 0, 0, 1, 4)
        __.Struct.Layout.addWidget(__.Struct.Name, 1, 0, 1, 4)
        __.Struct.Layout.addWidget(__.Struct.Add_file, 2, 2, 1, 2)
        #__.Struct.Layout.addWidget(__.Struct.Add_dir, 2, 0, 1, 2)
        __.Struct.Layout.addWidget(__.Struct.Fichier, 3, 2, 1, 1)
        __.Struct.Layout.addWidget(__.Struct.Dossier, 3, 0, 1, 1)
        __.Struct.Layout.addWidget(__.Struct.List_dossier, 4, 0, 1, 2)
        __.Struct.Layout.addWidget(__.Struct.List_fichier, 4, 2, 1, 2)
        __.Struct.Layout.addWidget(__.Struct.Ouvrir_dossier, 5, 0, 1, 1)
        __.Struct.Layout.addWidget(__.Struct.Dossier_parent, 5, 1, 1, 1)
        __.Struct.Layout.addWidget(__.Struct.Extraire_dossier, 6, 0, 1, 2)
        __.Struct.Layout.addWidget(__.Struct.Extraire_file, 6, 2, 1, 2)
        __.Struct.Layout.addWidget(__.Struct.Extraire, 5, 2, 1, 2)
        __.Struct.setLayout(__.Struct.Layout)

        __.Struct2.Layout.addWidget(__.Struct2.Archive_name, 0, 0, 1, 4)
        __.Struct2.Layout.addWidget(__.Struct2.Add_dir, 1, 0, 1, 2)
        __.Struct2.Layout.addWidget(__.Struct2.Add_file, 1, 2, 1, 2)
        __.Struct2.Layout.addWidget(__.Struct2.Fichier, 2, 2, 1, 1)
        __.Struct2.Layout.addWidget(__.Struct2.Dossier, 2, 0, 1, 1)
        __.Struct2.Layout.addWidget(__.Struct2.List_dossier, 3, 0, 1, 2)
        __.Struct2.Layout.addWidget(__.Struct2.List_fichier, 3, 2, 1, 2)
        __.Struct2.Layout.addWidget(__.Struct2.Suppr_dossier, 4, 0, 1, 2)
        __.Struct2.Layout.addWidget(__.Struct2.Suppr_fichier, 4, 2, 1, 2)
        __.Struct2.Layout.addWidget(__.Struct2.Fusionner, 6, 0, 1, 2)
        __.Struct2.Layout.addWidget(__.Struct2.Autoextract, 6, 2, 1, 2)
        __.Struct2.setLayout(__.Struct2.Layout)

        qt.qApp.connect(__.Action_ouvrir, qt.SIGNAL("triggered()"),
                        __.slot_ouvrir)
        qt.qApp.connect(__.Struct.Action_ouvrir_dossier,
                        qt.SIGNAL("triggered()"), __.slot_open_dir)
        qt.qApp.connect(__.Struct.Archive_name, qt.SIGNAL("clicked()"),
                        __.Action_ouvrir.trigger)
        qt.qApp.connect(__.Struct.Ouvrir_dossier, qt.SIGNAL("clicked()"),
                        __.Struct.Action_ouvrir_dossier.trigger)
        qt.qApp.connect(__.Struct.Dossier_parent, qt.SIGNAL("clicked()"),
                        __.slot_retour)
        qt.qApp.connect(__.Struct.Extraire, qt.SIGNAL("clicked()"),
                        __.slot_extraire_all)
        qt.qApp.connect(__.Struct.Extraire_file, qt.SIGNAL("clicked()"),
                        __.slot_extraire_file)
        qt.qApp.connect(__.Struct.Extraire_dossier, qt.SIGNAL("clicked()"),
                        __.slot_extraire_dir)
        qt.qApp.connect(__.Struct.Add_file, qt.SIGNAL("clicked()"),
                        __.slot_add_fichier)
        qt.qApp.connect(__.Struct.Add_dir, qt.SIGNAL("clicked()"),
                        __.slot_add_dossier)
        qt.qApp.connect(__.Struct2.Add_file, qt.SIGNAL("clicked()"),
                        __.slot_add_fichier)
        qt.qApp.connect(__.Struct2.Add_dir, qt.SIGNAL("clicked()"),
                        __.slot_add_dossier)
        qt.qApp.connect(__.Struct2.Suppr_fichier, qt.SIGNAL("clicked()"),
                        __.slot_suppr_fichier)
        qt.qApp.connect(__.Struct2.Suppr_dossier, qt.SIGNAL("clicked()"),
                        __.slot_suppr_dossier)
        qt.qApp.connect(__.Struct2.Fusionner, qt.SIGNAL("clicked()"),
                        __.slot_fusionner)
        qt.qApp.connect(__.Struct2.Autoextract,
                        qt.SIGNAL("clicked()"),
                        lambda fct=create_autoextract: __.slot_fusionner(fct))
        qt.qApp.connect(__.Path, qt.SIGNAL("clicked()"), __.slot_change_path)
        #qt.qApp.connect(__.Struct.List_dossier, qt.SIGNAL("itemSelectionChanged()"), __.Struct.Action_ouvrir_dossier.trigger)
        if __.archive: __.slot_ouvrir(True)