#! /usr/bin/python3 import tkinter as tk from tkinter import ttk import tkinter.filedialog import tkinter.messagebox import subprocess class App(tk.Tk): def __init__(self): super().__init__() self.title('MonochromeLib add-in converter win64') self.file = tk.StringVar() self.gui_fileframe = tk.Frame(self) self.gui_fileframe.grid(row=0, column=0, columnspan=2, sticky="news", pady=5, padx=5) self.gui_filename_label = tk.Label(self.gui_fileframe, text="filepath:") self.gui_filename_label.grid(row=0, column=0, sticky="news") self.gui_filename = tk.Entry(self.gui_fileframe, width=50) self.gui_filename.grid(row=0, column=1, sticky="news") self.gui_open = tk.Button(command=self.app_open_addin, text="open add-in",) self.gui_open.grid(row=1, column=0) self.gui_convert = tk.Button(command=self.app_convert, text="convert...",) self.gui_convert.grid(row=1, column=1) def app_open_addin(self): filename = tk.filedialog.askopenfilename(title="Open a File", filetypes=[('casio add-in', '.g1a'), ('all files', '.*')]) self.gui_filename.delete(0, tk.END) self.gui_filename.insert(0, filename) return filename def app_convert(self): ex = tk.filedialog.asksaveasfilename(title="Save Add-in", filetypes=[('casio add-in', '.g1a'), ('all files', '.*')]) process = subprocess.Popen("./G35EIIcompatibility-tool.elf " + self.gui_filename.get() + " " + ex, shell=True, stdout=subprocess.PIPE) process.wait() if process.returncode == 0: tk.messagebox.showinfo(None, "add-in converted!") elif process.returncode == 4: tk.messagebox.showwarning(None, "this file are: \n-not a add-in\n-already a converted add-in\n-not a monochromelib add-in") elif process.returncode == 2: tk.messagebox.showerror(None, "no output(export) file!") elif process.returncode == 3: tk.messagebox.showerror(None, "cannot open file!") else: tk.messagebox.showerror(None, "error!\nerrorcode: "+str(process.returncode)) if __name__ == "__main__": app = App() app.mainloop()