mirror of
https://github.com/blw1138/Zordon.git
synced 2025-12-17 16:58:12 +00:00
Added delete button
This commit is contained in:
@@ -6,7 +6,7 @@ import threading
|
|||||||
import time
|
import time
|
||||||
import socket
|
import socket
|
||||||
import os
|
import os
|
||||||
from tkinter import ttk
|
from tkinter import ttk, messagebox
|
||||||
from PIL import Image, ImageTk
|
from PIL import Image, ImageTk
|
||||||
from new_job_window import NewJobWindow
|
from new_job_window import NewJobWindow
|
||||||
from server_proxy import RenderServerProxy
|
from server_proxy import RenderServerProxy
|
||||||
@@ -98,11 +98,13 @@ class ZordonClient:
|
|||||||
# Create buttons
|
# Create buttons
|
||||||
logs_button = tk.Button(button_frame, text="Logs", command=self.open_logs)
|
logs_button = tk.Button(button_frame, text="Logs", command=self.open_logs)
|
||||||
finder_button = tk.Button(button_frame, text="Reveal in Finder", command=self.reveal_in_finder)
|
finder_button = tk.Button(button_frame, text="Reveal in Finder", command=self.reveal_in_finder)
|
||||||
self.stop_button = tk.Button(button_frame, text="Stop Job", command=self.stop_job)
|
self.stop_button = tk.Button(button_frame, text="Stop", command=self.stop_job)
|
||||||
|
delete_button = tk.Button(button_frame, text="Delete", command=self.delete_job)
|
||||||
add_job_button = tk.Button(button_frame, text="Add Job", command=self.show_new_job_window)
|
add_job_button = tk.Button(button_frame, text="Add Job", command=self.show_new_job_window)
|
||||||
|
|
||||||
# Pack the buttons in the frame
|
# Pack the buttons in the frame
|
||||||
self.stop_button.pack(side=tk.LEFT)
|
self.stop_button.pack(side=tk.LEFT)
|
||||||
|
delete_button.pack(side=tk.LEFT)
|
||||||
finder_button.pack(side=tk.LEFT)
|
finder_button.pack(side=tk.LEFT)
|
||||||
logs_button.pack(side=tk.LEFT)
|
logs_button.pack(side=tk.LEFT)
|
||||||
add_job_button.pack(side=tk.RIGHT)
|
add_job_button.pack(side=tk.RIGHT)
|
||||||
@@ -129,6 +131,17 @@ class ZordonClient:
|
|||||||
job_id = row_data['values'][0]
|
job_id = row_data['values'][0]
|
||||||
self.server_proxy.request_data(f'job/{job_id}/cancel?confirm=true')
|
self.server_proxy.request_data(f'job/{job_id}/cancel?confirm=true')
|
||||||
|
|
||||||
|
def delete_job(self):
|
||||||
|
selected_item = self.tree.selection()[0] # Get the selected item
|
||||||
|
row_data = self.tree.item(selected_item) # Get the text of the selected item
|
||||||
|
job_id = row_data['values'][0]
|
||||||
|
job = next((d for d in self.job_cache if d.get('id') == job_id), None)
|
||||||
|
display_name = job['name'] or os.path.basename(job['input_path'])
|
||||||
|
result = messagebox.askyesno("Confirmation", f"Are you sure you want to delete the job:\n{display_name}?")
|
||||||
|
if result:
|
||||||
|
self.server_proxy.request_data(f'job/{job_id}/delete?confirm=true')
|
||||||
|
self.update_jobs(clear_table=True)
|
||||||
|
|
||||||
def on_row_select(self, event):
|
def on_row_select(self, event):
|
||||||
if self.tree.selection():
|
if self.tree.selection():
|
||||||
selected_item = self.tree.selection()[0] # Get the selected item
|
selected_item = self.tree.selection()[0] # Get the selected item
|
||||||
|
|||||||
@@ -244,7 +244,7 @@ class BaseRenderWorker(Base):
|
|||||||
self.stop(is_error=True)
|
self.stop(is_error=True)
|
||||||
|
|
||||||
def stop(self, is_error=False):
|
def stop(self, is_error=False):
|
||||||
if self.__process:
|
if hasattr(self, '__process'):
|
||||||
try:
|
try:
|
||||||
if self.status in [RenderStatus.RUNNING, RenderStatus.NOT_STARTED, RenderStatus.SCHEDULED]:
|
if self.status in [RenderStatus.RUNNING, RenderStatus.NOT_STARTED, RenderStatus.SCHEDULED]:
|
||||||
if is_error:
|
if is_error:
|
||||||
|
|||||||
Reference in New Issue
Block a user