Compare commits
	
		
			1 Commits
		
	
	
		
			1.0.1
			...
			enhance/ic
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| d99478935d | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/black-and-white.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 643 B  | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/copy.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 423 B  | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/flip.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 427 B  | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/folder.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 464 B  | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/maximize.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 245 B  | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/next.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 451 B  | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/timer.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 534 B  | 
@@ -1,4 +1,6 @@
 | 
				
			|||||||
pillow~=9.5.0
 | 
					pillow~=9.5.0
 | 
				
			||||||
pyinstaller
 | 
					pyinstaller==5.12.0
 | 
				
			||||||
pygame~=2.4.0
 | 
					pygame~=2.4.0
 | 
				
			||||||
customtkinter~=5.1.3
 | 
					customtkinter~=5.1.3
 | 
				
			||||||
 | 
					configparser~=5.3.0
 | 
				
			||||||
 | 
					CTkToolTip~=0.4
 | 
				
			||||||
@@ -3,6 +3,9 @@ import os
 | 
				
			|||||||
import subprocess
 | 
					import subprocess
 | 
				
			||||||
import sys
 | 
					import sys
 | 
				
			||||||
from tkinter import *
 | 
					from tkinter import *
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from CTkToolTip import *
 | 
				
			||||||
 | 
					from PIL import ImageTk, Image, ImageOps
 | 
				
			||||||
import customtkinter
 | 
					import customtkinter
 | 
				
			||||||
from src.util import Util
 | 
					from src.util import Util
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -20,34 +23,46 @@ class Toolbar:
 | 
				
			|||||||
        toolbar = Frame(self.image_window.window, bd=1, relief=RAISED)
 | 
					        toolbar = Frame(self.image_window.window, bd=1, relief=RAISED)
 | 
				
			||||||
        toolbar.pack(side=BOTTOM, fill=X)
 | 
					        toolbar.pack(side=BOTTOM, fill=X)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        next_button = customtkinter.CTkButton(toolbar, compound=LEFT, text="next ➡️",
 | 
					        next_button = customtkinter.CTkButton(toolbar, image=ImageTk.PhotoImage(Image.open("assets/icons/next.png")),
 | 
				
			||||||
                                              command=self.image_window.next_image)
 | 
					                                              text="", command=self.image_window.next_image)
 | 
				
			||||||
        next_button.pack(side=LEFT, padx=0, pady=0)
 | 
					        next_button.pack(side=LEFT, padx=0, pady=0)
 | 
				
			||||||
 | 
					        CTkToolTip(next_button, delay=0.5, message="Next")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.bw_button = customtkinter.CTkButton(toolbar, compound=LEFT, text="black&white",
 | 
					        self.bw_button = customtkinter.CTkButton(toolbar, image=ImageTk.PhotoImage(Image.open("assets/icons/black-and"
 | 
				
			||||||
                                                 command=self.toggle_black_white)
 | 
					                                                                                              "-white.png")),
 | 
				
			||||||
 | 
					                                                 text="", command=self.toggle_black_white)
 | 
				
			||||||
        self.bw_button.pack(side=LEFT, padx=0, pady=0)
 | 
					        self.bw_button.pack(side=LEFT, padx=0, pady=0)
 | 
				
			||||||
 | 
					        CTkToolTip(self.bw_button, delay=0.5, message="Black and white image")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.mirror_button = customtkinter.CTkButton(toolbar, compound=LEFT, command=self.toggle_mirror,
 | 
					        self.mirror_button = customtkinter.CTkButton(toolbar, command=self.toggle_mirror, text="",
 | 
				
			||||||
                                                     text="mirror")
 | 
					                                                     image=ImageTk.PhotoImage(Image.open("assets/icons/flip.png")))
 | 
				
			||||||
        self.mirror_button.pack(side=LEFT, padx=0, pady=0)
 | 
					        self.mirror_button.pack(side=LEFT, padx=0, pady=0)
 | 
				
			||||||
 | 
					        CTkToolTip(self.mirror_button, delay=0.5, message="Mirrored image")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        open_folder_button = customtkinter.CTkButton(toolbar, compound=LEFT, command=self.open_folder,
 | 
					        open_folder_button = customtkinter.CTkButton(toolbar, command=self.open_folder, text="",
 | 
				
			||||||
                                                     text="open folder")
 | 
					                                                     image=ImageTk.PhotoImage(Image.open("assets/icons/folder.png")))
 | 
				
			||||||
        open_folder_button.pack(side=LEFT, padx=0, pady=0)
 | 
					        open_folder_button.pack(side=LEFT, padx=0, pady=0)
 | 
				
			||||||
 | 
					        CTkToolTip(open_folder_button, delay=0.5, message="Open folder")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.always_on_top_button = customtkinter.CTkButton(toolbar, compound=LEFT, command=self.toggle_always_on_top,
 | 
					        self.always_on_top_button = customtkinter.CTkButton(toolbar, command=self.toggle_always_on_top, text="",
 | 
				
			||||||
                                                            text="always on top")
 | 
					                                                            image=ImageTk.PhotoImage(
 | 
				
			||||||
 | 
					                                                                Image.open("assets/icons/copy.png")))
 | 
				
			||||||
        self.always_on_top_button.pack(side=LEFT, padx=0, pady=0)
 | 
					        self.always_on_top_button.pack(side=LEFT, padx=0, pady=0)
 | 
				
			||||||
 | 
					        CTkToolTip(self.always_on_top_button, delay=0.5, message="Always on top")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.fullscreen_button = customtkinter.CTkButton(toolbar, compound=LEFT, command=self.toggle_fullscreen,
 | 
					        self.fullscreen_button = customtkinter.CTkButton(toolbar, command=self.toggle_fullscreen, text="",
 | 
				
			||||||
                                                         text="fullscreen")
 | 
					                                                         image=ImageTk.PhotoImage(
 | 
				
			||||||
 | 
					                                                             Image.open("assets/icons/maximize.png")))
 | 
				
			||||||
        self.fullscreen_button.pack(side=LEFT, padx=0, pady=0)
 | 
					        self.fullscreen_button.pack(side=LEFT, padx=0, pady=0)
 | 
				
			||||||
 | 
					        CTkToolTip(self.fullscreen_button, delay=0.5, message="Fullscreen")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        timer_button = customtkinter.CTkButton(toolbar, compound=LEFT, command=self.toggle_timer, text="timer")
 | 
					        timer_button = customtkinter.CTkButton(toolbar, command=self.toggle_timer, text="",
 | 
				
			||||||
 | 
					                                               image=ImageTk.PhotoImage(Image.open("assets/icons/timer.png")))
 | 
				
			||||||
        timer_button.pack(side=LEFT, padx=0, pady=0)
 | 
					        timer_button.pack(side=LEFT, padx=0, pady=0)
 | 
				
			||||||
 | 
					        CTkToolTip(timer_button, delay=0.5, message="Toggle timer")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.timer_label = customtkinter.CTkLabel(toolbar, text=str(self.timer), text_color=Util.get_default_button_color())
 | 
					        self.timer_label = customtkinter.CTkLabel(toolbar, text=str(self.timer),
 | 
				
			||||||
 | 
					                                                  text_color=Util.get_default_button_color())
 | 
				
			||||||
        self.timer_label.pack(side=RIGHT, ipadx=20)
 | 
					        self.timer_label.pack(side=RIGHT, ipadx=20)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def display_new_timer(self):
 | 
					    def display_new_timer(self):
 | 
				
			||||||
@@ -72,13 +87,15 @@ class Toolbar:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    def toggle_black_white(self):
 | 
					    def toggle_black_white(self):
 | 
				
			||||||
        self.image_window.option["bw"] = not self.image_window.option["bw"]
 | 
					        self.image_window.option["bw"] = not self.image_window.option["bw"]
 | 
				
			||||||
        self.bw_button.configure(fg_color=Util.get_default_active_button_color() if self.image_window.option["bw"] else Util.get_default_button_color())
 | 
					        self.bw_button.configure(fg_color=Util.get_default_active_button_color() if self.image_window.option[
 | 
				
			||||||
 | 
					            "bw"] else Util.get_default_button_color())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.image_window.image.apply_options()
 | 
					        self.image_window.image.apply_options()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def toggle_mirror(self):
 | 
					    def toggle_mirror(self):
 | 
				
			||||||
        self.image_window.option["mirror"] = not self.image_window.option["mirror"]
 | 
					        self.image_window.option["mirror"] = not self.image_window.option["mirror"]
 | 
				
			||||||
        self.mirror_button.configure(fg_color=Util.get_default_active_button_color() if self.image_window.option["mirror"] else Util.get_default_button_color())
 | 
					        self.mirror_button.configure(fg_color=Util.get_default_active_button_color() if self.image_window.option[
 | 
				
			||||||
 | 
					            "mirror"] else Util.get_default_button_color())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.image_window.image.apply_options()
 | 
					        self.image_window.image.apply_options()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -112,6 +129,7 @@ class Toolbar:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    def toggle_fullscreen(self):
 | 
					    def toggle_fullscreen(self):
 | 
				
			||||||
        self.image_window.option["fullscreen"] = not self.image_window.option["fullscreen"]
 | 
					        self.image_window.option["fullscreen"] = not self.image_window.option["fullscreen"]
 | 
				
			||||||
        self.fullscreen_button.configure(fg_color=Util.get_default_active_button_color() if self.image_window.option["fullscreen"] else Util.get_default_button_color())
 | 
					        self.fullscreen_button.configure(fg_color=Util.get_default_active_button_color() if self.image_window.option[
 | 
				
			||||||
 | 
					            "fullscreen"] else Util.get_default_button_color())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.image_window.window.attributes("-fullscreen", self.image_window.option["fullscreen"])
 | 
					        self.image_window.window.attributes("-fullscreen", self.image_window.option["fullscreen"])
 | 
				
			||||||
 
 | 
				
			|||||||