Added delete button

This commit is contained in:
Brett Williams
2023-05-31 23:29:04 -05:00
parent 998be45f3f
commit c5c9165733
2 changed files with 16 additions and 3 deletions

View File

@@ -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

View File

@@ -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: