57 lines
2.2 KiB
Python
Executable File
57 lines
2.2 KiB
Python
Executable File
#! /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()
|