Commit cb5e1cec authored by Benoît Boudaud's avatar Benoît Boudaud

Corrections

parent d321201b
......@@ -24,6 +24,8 @@ import os
from PIL import Image, ImageTk
import sys
import disconnect
import taskbar
from collections import OrderedDict
#==Classes et méthodes========================================================
......@@ -40,7 +42,6 @@ class Menu(object):
def menu(self):
"Instanciation des fenêtres et traitement des images"
# Chemin du répertoire parent
self.os = os.uname()
if self.os.sysname == "OpenBSD":
......@@ -73,7 +74,7 @@ class Menu(object):
self.menu_button.grid()
# Création des catégories :
internet, multimedia, bureautique, development, graphisme, \
internet, multimedia, bureautique, development, graphisme,\
accessoires, network, system = (None,) * 8
# Création de l'objet "exit"
......@@ -82,32 +83,30 @@ class Menu(object):
# liste contenant l'image illustrant chaque catégorie
# ainsi que la commande et le nom qui lui sont associés :
icons = [['terminal.png', ['xterm', 'Terminal']],
['thunar.png', ['thunar', 'Fichiers']],
['internet.png', [internet, 'Internet']],
['applications.png',
['thunar ' + self.dir_app, 'Applications']],
['multimedia.png', [multimedia, 'Multimédia']],
['bureautique.png', [bureautique, 'Bureautique']],
['development.png', [development, 'Développement']],
['graphisme.png', [graphisme, 'Graphisme']],
['accessoires.png', [accessoires, 'Accessoires']],
['network.png', [network, 'Réseau']],
['system.png', [system, 'Système']],
['shutdown.png', [self.shutdown.exit, 'Déconnexion']]]
list_images = ['terminal.png', 'thunar.png', 'internet.png',\
'applications.png', 'multimedia.png', 'bureautique.png',\
'development.png', 'graphisme.png', 'accessoires.png',\
'network.png', 'system.png', 'shutdown.png']
exec_and_name = [['xterm', 'Terminal'],['thunar', 'Fichiers'],\
[internet, 'Internet'], ['thunar ' + self.dir_app, 'Applications'],\
[multimedia, 'Multimédia'], [bureautique, 'Bureautique'],\
[development, 'Développement'], [graphisme, 'Graphisme'],\
[accessoires, 'Accessoires'], [network, 'Réseau'],\
[system, 'Système'], [self.shutdown.exit, 'Déconnexion']]
dict_icons = OrderedDict(zip(list_images, exec_and_name))
self.j, self.k = 0, 0 # Variables de positionnement des icônes
icon_size = 48, 48 # Tuple définissant la taille des icônes
# Traitement des images :
for element in icons:
for element, value in dict_icons.items():
icon = Image.open(os.path.join(self.dir_name,
'icones', element[0]))
'icones', element))
icon.thumbnail(icon_size)
icon_48 = ImageTk.PhotoImage(icon, master = self.root)
element[0] = [icon_48]
element = icon_48
if self.j % 3 == 0 :
self.k += 1
self.j = 0
......@@ -115,10 +114,10 @@ class Menu(object):
init = dict()
init = {
'app_command': element[1],
'app_command': value,
'dir_app': self.dir_app,
'dir_name': self.dir_name,
'element': element[0],
'element': element,
'j': self.j,
'k': self.k,
'label': self.label,
......@@ -126,7 +125,6 @@ class Menu(object):
'top_button': self.top_button,
}
categorie = Categories(init)
#Appel de la méthode "catégorie" sur l'objet du même nom
categorie.categorie()
......@@ -276,7 +274,7 @@ class Icones(object) :
'root': self.root,
'top_button': self.top_button,
}
print(init['item3'])
self.appli = Applications(init)
self.appli.application()
......@@ -299,7 +297,6 @@ class Applications(object):
def application(self):
"Instancie les boutons des différentes applications"
print(self.item3)
icon_size=32, 32
icon = Image.open(
os.path.join(self.dir_name, 'icones', self.item2))
......@@ -417,19 +414,8 @@ class Commande(object):
self.desktop_file = rfile.readlines()
for line in self.desktop_file :
if line.startswith('Exec='):
if '%U' in line :
line = line.replace('%U','')
elif '%u' in line :
line = line.replace('%u','')
elif '%F' in line :
line = line.replace('%F','')
elif '%f' in line :
line = line.replace('%f','')
elif line.endswith('-pkexec\n'):
line = 'xterm -e \"sudo ' + \
line.replace('-pkexec\n', '') + '\"'
self.commandos.append(
line.strip().replace('Exec=', 'exec:'))
line.strip().replace('Exec=', 'exec:'))
break
for line2 in self.desktop_file :
......@@ -483,13 +469,22 @@ class Commande(object):
self.commandos.insert(1, 'icon:' + \
self.listbox_add_app.get('active').strip())
letters = ['%U', '%u', '%F', '%f', '-pkexec']
for i, item in enumerate(self.commandos):
for letter in letters :
if letter in item :
if not letter =='-pkexec':
item = item.replace(letter,'')
else :
item = 'exec:uxterm -e \"sudo ' + item.replace(letter,'').replace('exec:', '')+ '\"'
self.commandos[i:i+1]=[item.strip()]
ofile = os.path.join(self.dir_name, self.app_command[1])
with open(ofile, 'r') as rfile:
self.application_list = rfile.readlines()
for commando in self.commandos:
self.application_list.insert(-6, commando + '\n')
print(self.commandos)
ofile = os.path.join(self.dir_name, self.app_command[1])
with open(ofile , 'w') as wfile:
for item in self.application_list:
......@@ -510,6 +505,15 @@ class Commande(object):
"""Insertion de l'icône par défaut"""
self.commandos.insert(1, 'icon:default-app.png')
letters = ['%U', '%u', '%F', '%f', '-pkexec']
for i, item in enumerate(self.commandos):
for letter in letters :
if letter in item :
if not letter =='-pkexec':
item = item.replace(letter,'')
else :
item = 'exec:uxterm -e \"sudo ' + item.replace(letter,'').replace('exec:', '')+ '\"'
self.commandos[i:i+1]=[item.strip()]
ofile = os.path.join(self.dir_name, self.app_command[1])
with open(ofile, 'r') as rfile:
......
......@@ -25,6 +25,7 @@ import random
import time
import subprocess
from threading import Thread
import menu
#==== CLASSES ET MÉTHODES ====================================================
......@@ -48,7 +49,6 @@ class Wallpaper(Thread):
self.root = tk.Tk()
self.dir_name = os.path.dirname(sys.argv[0])
self.root.overrideredirect(1)
self.root.attributes('-type', 'splash')
self.root.geometry("%sx%s+%s-0" % (self._geometry[0], self._geometry[1],
self._geometry[2]))
self.label=tk.Label(self.root)
......@@ -70,6 +70,11 @@ class Wallpaper(Thread):
self.label.configure(image=self.first_img)
self.root.mainloop()
def show_menu(self, event):
self.menu = menu.Menu()
self.menu.menu()
# == Main programm ===========================================================
if __name__ == "__main__":
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment