#!/usr/bin/python
#-*- coding: UTF-8 -*-
from Tkinter import *
import tkFileDialog
import tkMessageBox
import codecs
import os
# Version Number
__version__ = "0.Alpha"
# Import the module to check if all files which are need are here
filecheck = __import__("lib/filecheck")
filecheck.FileCheck()
# Get the language module
lang_load = open(filecheck.language, "r")
_lang = lang_load.read()
lang_load = "share/language/lang_"+_lang
language = __import__(lang_load)
class Application:
# Command to destroy/quit the Application
def quit_window(self):
self.root.destroy()
# Command to open the AboutWindow
def about(self,whatever=None):
self.aboutwindow = AboutWindow()
def get_path_window(self,whatever=None):
self.get_path_toplevel = Toplevel()
self.get_path_toplevel.geometry("200x100+250+200")
self.get_path_label = Label(self.get_path_toplevel, text=language.path_question)
self.get_path_label.pack()
self.get_path_entry = Entry(self.get_path_toplevel)
self.get_path_entry.pack()
self.get_path_frame = Frame(self.get_path_toplevel)
self.get_path_frame.pack()
self.get_path_cancel_button = Button(self.get_path_frame, text=language.cancel, command=self.get_path_toplevel.destroy)
self.get_path_cancel_button.pack(side=LEFT)
self.get_path_ok_button = Button(self.get_path_frame, text=language.ok, command=self.get_path)
self.get_path_ok_button.pack(side=RIGHT)
def get_path(self, whatever=None):
self.path = self.get_path_entry.get()
os.chdir(self.path)
print self.path
self.get_path_toplevel.destroy()
def current_path(self,whatever=None):
path_link = os.listdir(self.path)
print path_link
# The window
def __init__(self):
self.path = os.getenv("HOME")
self.root = Tk()
self.root.title("sPOP File ")
self.root.protocol("WM_DELETE_WINDOW", self.quit_window)
self.root.geometry("500x350+100+100")
# The Menubar at the window
self.menubar = Menu(self.root)
# Menu called "File" in the Menubar
self.filemenu = Menu(self.menubar)
self.filemenu.add_command(label=language.path, command=self.get_path_window)
self.filemenu.add_command(label=language.current_path, command=self.current_path)
self.filemenu.add_separator()
self.filemenu.add_command(label=language.quit, command=self.quit_window)
# Menu called "Edit" in the Menubar
self.editmenu = Menu(self.menubar)
self.editmenu.add_command(label=language.copy)
self.editmenu.add_command(label=language.paste)
self.editmenu.add_command(label=language.cut)
# Menu called "Help" in the Menubar
self.helpmenu = Menu(self.menubar)
self.helpmenu.add_command(label=language.info, command=self.about)
# Add the "File" Menu to the Menubar
self.menubar.add_cascade(label=language._file, menu=self.filemenu)
self.menubar.add_cascade(label=language.edit, menu=self.editmenu)
self.menubar.add_cascade(label=language.help, menu=self.helpmenu)
# Display the Menubar in the window
self.root.config(menu=self.menubar)
self.root.bind("<Control-L>",self.get_path_window)
self.root.bind("<Control-l>",self.get_path_window)
self.root.bind("<Control-P>",self.current_path)
self.root.bind("<Control-p>",self.current_path)
# Command to show window
self.root.mainloop()
class AboutWindow:
def __init__(self):
# Import the about text in the right language
self.abouttext = "abouttext_"+_lang
self.abouttext = open("share/text/"+self.abouttext, "r")
self.abouttext = self.abouttext.read()
# Import the list of the developers
self.devellist = open("share/text/developers", "r")
self.devellist = self.devellist.read()
self.about_window = Tk()
self.about_window.title(language.aboutspop)
self.about_window.geometry("320x250+250+250")
self.about_window.protocol("WM_DELETE_WINDOW", self.quit_about)
self.about_frame = Frame(self.about_window)
self.about_frame.pack()
self.about_label = Label(self.about_frame, text="sPOP Note Version "\
+__version__+"\n"+self.abouttext+"\n"+\
language.developer+"\n"+self.devellist)
self.about_label.pack()
self.about_button = Button(self.about_window, text=language.close,\
command=self.quit_about)
self.about_button.pack(side=BOTTOM)
# Command to destroy/quit the AboutWindow
def quit_about(self):
self.about_window.destroy()
if __name__ == "__main__":
Application()