diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..b242572 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "githubPullRequests.ignoredPullRequestBranches": [ + "main" + ] +} \ No newline at end of file diff --git a/GraphicUser_InterFace/Airplane_Home_page.py b/GraphicUser_InterFace/Airplane_Home_page.py index e7df8f4..3e6ee16 100644 --- a/GraphicUser_InterFace/Airplane_Home_page.py +++ b/GraphicUser_InterFace/Airplane_Home_page.py @@ -3,6 +3,7 @@ import customtkinter from PIL import Image, ImageTk import os +import pickle as pk from tkinter import PhotoImage from tkinter import messagebox import mysql.connector @@ -13,12 +14,28 @@ customtkinter.set_appearance_mode("System") customtkinter.set_default_color_theme("blue") +WINX = 1440 +WINY = 540 +SCALE = 100 +THEME = 'Dark' + +def update_config(): + global WINX, WINY, SCALE, THEME + try: + with open('LocalDATA/config.ini', 'rb') as file: + WINX, WINY, SCALE, THEME = pk.load(file) + except: + with open('LocalDATA/config.ini', 'wb') as file: + pk.dump([WINX,WINY,SCALE,THEME], file) + +update_config() + class Airplane(customtkinter.CTk): def __init__(self): super().__init__() self.title("Airplane Home Page") - self.geometry(f"{1098}x{360}") + self.geometry(f"{WINX}x{WINY}") self.sidebar_frame = customtkinter.CTkFrame(self, width=120, corner_radius=15) @@ -135,12 +152,20 @@ def open_Info_window(self): def change_appearance_mode_event(self, new_appearance_mode: str): - customtkinter.set_appearance_mode(new_appearance_mode) + global WINX, WINY, SCALE, THEME + THEME = new_appearance_mode + customtkinter.set_appearance_mode(THEME) + update_config() def change_scaling_event(self, new_scaling: str): + global WINX, WINY, SCALE, THEME new_scaling_float = int(new_scaling.replace("%", "")) / 100 - customtkinter.set_widget_scaling(new_scaling_float) - + SCALE = new_scaling_float + WINX = int((WINX)*new_scaling_float) + WINY = int((WINY)*new_scaling_float) + self.geometry(f"{WINX}x{WINY}") + customtkinter.set_widget_scaling(SCALE) + update_config() if __name__ == "__main__": app5 = Airplane() diff --git a/GraphicUser_InterFace/Bus_Home_page.py b/GraphicUser_InterFace/Bus_Home_page.py index 7e20cc5..264f53f 100644 --- a/GraphicUser_InterFace/Bus_Home_page.py +++ b/GraphicUser_InterFace/Bus_Home_page.py @@ -3,6 +3,7 @@ import customtkinter from PIL import Image, ImageTk import os +import pickle as pk from tkinter import PhotoImage from tkinter import messagebox from tkinter import ttk @@ -15,6 +16,21 @@ customtkinter.set_appearance_mode("System") customtkinter.set_default_color_theme("blue") +WINX = 1440 +WINY = 540 +SCALE = 100 +THEME = 'Dark' + +def update_config(): + global WINX, WINY, SCALE, THEME + try: + with open('LocalDATA/config.ini', 'rb') as file: + WINX, WINY, SCALE, THEME = pk.load(file) + except: + with open('LocalDATA/config.ini', 'wb') as file: + pk.dump([WINX,WINY,SCALE,THEME], file) + +update_config() class Bus(customtkinter.CTk): @@ -23,7 +39,7 @@ def __init__(self): super().__init__() self.title("Bus Home Page") - self.geometry(f"{1024}x{360}") + self.geometry(f"{WINX}x{WINY}") self.sidebar_frame = customtkinter.CTkFrame(self, width=120, corner_radius=15) @@ -139,11 +155,20 @@ def open_Info_window(self): Display_availability.Available().mainloop() def change_appearance_mode_event(self, new_appearance_mode: str): - customtkinter.set_appearance_mode(new_appearance_mode) + global WINX, WINY, SCALE, THEME + THEME = new_appearance_mode + customtkinter.set_appearance_mode(THEME) + update_config() def change_scaling_event(self, new_scaling: str): + global WINX, WINY, SCALE, THEME new_scaling_float = int(new_scaling.replace("%", "")) / 100 - customtkinter.set_widget_scaling(new_scaling_float) + SCALE = new_scaling_float + WINX = int((WINX)*new_scaling_float) + WINY = int((WINY)*new_scaling_float) + self.geometry(f"{WINX}x{WINY}") + customtkinter.set_widget_scaling(SCALE) + update_config() if __name__ == "__main__": app2 = Bus() diff --git a/GraphicUser_InterFace/Car_Home_page.py b/GraphicUser_InterFace/Car_Home_page.py index 75a064a..da4f14c 100644 --- a/GraphicUser_InterFace/Car_Home_page.py +++ b/GraphicUser_InterFace/Car_Home_page.py @@ -3,6 +3,7 @@ import customtkinter from PIL import Image, ImageTk import os +import pickle as pk from tkinter import PhotoImage from tkinter import messagebox import mysql.connector @@ -12,6 +13,21 @@ customtkinter.set_appearance_mode("System") customtkinter.set_default_color_theme("blue") +WINX = 1440 +WINY = 540 +SCALE = 100 +THEME = 'Dark' + +def update_config(): + global WINX, WINY, SCALE, THEME + try: + with open('LocalDATA/config.ini', 'rb') as file: + WINX, WINY, SCALE, THEME = pk.load(file) + except: + with open('LocalDATA/config.ini', 'wb') as file: + pk.dump([WINX,WINY,SCALE,THEME], file) + +update_config() class Car(customtkinter.CTk): @@ -19,7 +35,7 @@ def __init__(self): super().__init__() self.title("Car Home Page") - self.geometry(f"{1024}x{380}") + self.geometry(f"{WINX}x{WINY}") self.sidebar_frame = customtkinter.CTkFrame(self, width=120, corner_radius=15) @@ -130,13 +146,21 @@ def open_Info_window(self): import Display_availability Display_availability.Available().mainloop() - def change_appearance_mode_event(self, new_appearance_mode: str): - customtkinter.set_appearance_mode(new_appearance_mode) + global WINX, WINY, SCALE, THEME + THEME = new_appearance_mode + customtkinter.set_appearance_mode(THEME) + update_config() def change_scaling_event(self, new_scaling: str): + global WINX, WINY, SCALE, THEME new_scaling_float = int(new_scaling.replace("%", "")) / 100 - customtkinter.set_widget_scaling(new_scaling_float) + SCALE = new_scaling_float + WINX = int((WINX)*new_scaling_float) + WINY = int((WINY)*new_scaling_float) + self.geometry(f"{WINX}x{WINY}") + customtkinter.set_widget_scaling(SCALE) + update_config() if __name__ == "__main__": app3 = Car() diff --git a/GraphicUser_InterFace/Modules/SQL.py b/GraphicUser_InterFace/Modules/SQL.py index 33a71c7..45c8dbb 100644 --- a/GraphicUser_InterFace/Modules/SQL.py +++ b/GraphicUser_InterFace/Modules/SQL.py @@ -3,7 +3,7 @@ UTTSdb = mysql.connector.connect( host='localhost', user='root', -password='2602', +password='Anjali@123', database='UTTS') cur=UTTSdb.cursor() diff --git a/GraphicUser_InterFace/Railway_Home_page.py b/GraphicUser_InterFace/Railway_Home_page.py index 2fa91a9..833ed5a 100644 --- a/GraphicUser_InterFace/Railway_Home_page.py +++ b/GraphicUser_InterFace/Railway_Home_page.py @@ -3,6 +3,7 @@ import customtkinter from PIL import Image, ImageTk import os +import pickle as pk from tkinter import PhotoImage from tkinter import messagebox import mysql.connector @@ -12,11 +13,27 @@ customtkinter.set_appearance_mode("System") customtkinter.set_default_color_theme("blue") +WINX = 1440 +WINY = 540 +SCALE = 100 +THEME = 'Dark' + +def update_config(): + global WINX, WINY, SCALE, THEME + try: + with open('LocalDATA/config.ini', 'rb') as file: + WINX, WINY, SCALE, THEME = pk.load(file) + except: + with open('LocalDATA/config.ini', 'wb') as file: + pk.dump([WINX,WINY,SCALE,THEME], file) + +update_config() + class Railway(customtkinter.CTk): def __init__(self): super().__init__() self.title("Truck Home Page") - self.geometry(f"{1100}x{340}") + self.geometry(f"{WINX}x{WINY}") self.sidebar_frame = customtkinter.CTkFrame(self, width=120, corner_radius=15) self.sidebar_frame.grid(row=9, column=0, rowspan=4, sticky="nse") @@ -114,12 +131,20 @@ def open_Info_window(self): def change_appearance_mode_event(self, new_appearance_mode: str): - customtkinter.set_appearance_mode(new_appearance_mode) + global WINX, WINY, SCALE, THEME + THEME = new_appearance_mode + customtkinter.set_appearance_mode(THEME) + update_config() def change_scaling_event(self, new_scaling: str): + global WINX, WINY, SCALE, THEME new_scaling_float = int(new_scaling.replace("%", "")) / 100 - customtkinter.set_widget_scaling(new_scaling_float) - + SCALE = new_scaling_float + WINX = int((WINX)*new_scaling_float) + WINY = int((WINY)*new_scaling_float) + self.geometry(f"{WINX}x{WINY}") + customtkinter.set_widget_scaling(SCALE) + update_config() if __name__ == "__main__": app6 = Railway() diff --git a/GraphicUser_InterFace/StartPageGUI.py b/GraphicUser_InterFace/StartPageGUI.py index e105287..62d62ad 100644 --- a/GraphicUser_InterFace/StartPageGUI.py +++ b/GraphicUser_InterFace/StartPageGUI.py @@ -7,9 +7,11 @@ from tkinter import PhotoImage from colorama import Fore, Style +import pickle as pk + import urllib.request from urllib.request import Request - +import pickle as pk from discord_webhook import DiscordWebhook, DiscordEmbed @@ -19,14 +21,30 @@ #AVAILABLE THEMES->"blue", "green", "dark-blue" customtkinter.set_default_color_theme("blue") +WINX = 1440 +WINY = 540 +SCALE = 100 +THEME = 'Dark' + +def update_config(): + global WINX, WINY, SCALE, THEME + try: + with open('LocalDATA/config.ini', 'rb') as file: + WINX, WINY, SCALE, THEME = pk.load(file) + except: + with open('LocalDATA/config.ini', 'wb') as file: + pk.dump([WINX,WINY,SCALE,THEME], file) + +update_config() + class Main(customtkinter.CTk): def __init__(self): super().__init__() - + #DEFINING WINDOW NAME AND SIZE - self.title("Home page") - self.geometry(f"{1440}x{540}") + self.title("Home Page") + self.geometry(f"{WINX}x{WINY}") # configure grid layout (4x4) self.grid_columnconfigure(1, weight=0) @@ -58,12 +76,15 @@ def __init__(self): # SCALING BUTTON self.scaling_optionemenu = customtkinter.CTkOptionMenu(self.sidebar_frame, values=["70%", "80%", "90%", "100%", "110%", "120%", "130%"],command=self.change_scaling_event) self.scaling_optionemenu.grid(row=8, column=0, padx=20, pady=(5,20)) - - self.appearance_mode_optionemenu.set("Dark") + try: + with open('runtimevars.dat', 'rb') as file: + theme_selection = pk.load(file) + except: + theme_selection = 'Dark' + self.appearance_mode_optionemenu.set(theme_selection) + self.change_appearance_mode_event(theme_selection) self.scaling_optionemenu.set("100%") - - self.upper_name_frame = customtkinter.CTkFrame(self, width=140,height=50, corner_radius=15) self.upper_name_frame.grid(row=0, column=2, rowspan=4, sticky="nsew") self.upper_name_frame.grid_rowconfigure(6, weight=1) @@ -186,17 +207,24 @@ def Submit(): # Show a success message after the message is sent messagebox.showinfo("Success", "Feedback sent successfully") win.mainloop() - button_submit = tk.Button(win, text="Submit", command=Submit) button_submit.pack() - def change_appearance_mode_event(self, new_appearance_mode: str): - customtkinter.set_appearance_mode(new_appearance_mode) + global WINX, WINY, SCALE, THEME + THEME = new_appearance_mode + customtkinter.set_appearance_mode(THEME) + update_config() def change_scaling_event(self, new_scaling: str): + global WINX, WINY, SCALE, THEME new_scaling_float = int(new_scaling.replace("%", "")) / 100 - customtkinter.set_widget_scaling(new_scaling_float) + SCALE = new_scaling_float + WINX = int((WINX)*new_scaling_float) + WINY = int((WINY)*new_scaling_float) + self.geometry(f"{WINX}x{WINY}") + customtkinter.set_widget_scaling(SCALE) + update_config() def open_Login_window(self): self.destroy() diff --git a/GraphicUser_InterFace/Train_Home_page.py b/GraphicUser_InterFace/Train_Home_page.py index 7af63b1..f7ebe62 100644 --- a/GraphicUser_InterFace/Train_Home_page.py +++ b/GraphicUser_InterFace/Train_Home_page.py @@ -3,6 +3,7 @@ import customtkinter from PIL import Image, ImageTk import os +import pickle as pk from tkinter import PhotoImage from tkinter import messagebox import mysql.connector @@ -12,14 +13,29 @@ customtkinter.set_appearance_mode("System") customtkinter.set_default_color_theme("blue") +WINX = 1440 +WINY = 540 +SCALE = 100 +THEME = 'Dark' + +def update_config(): + global WINX, WINY, SCALE, THEME + try: + with open('LocalDATA/config.ini', 'rb') as file: + WINX, WINY, SCALE, THEME = pk.load(file) + except: + with open('LocalDATA/config.ini', 'wb') as file: + pk.dump([WINX,WINY,SCALE,THEME], file) + +update_config() + class Train(customtkinter.CTk): - def __init__(self): super().__init__() self.title("Train Home Page") - self.geometry(f"{1054}x{360}") + self.geometry(f"{WINX}x{WINY}") self.sidebar_frame = customtkinter.CTkFrame(self, width=120, corner_radius=15) @@ -88,9 +104,6 @@ def open_Main_window(self): import StartPageGUI StartPageGUI.Main().mainloop() - - - def end_e(self):#function to end app-GUI global rawa global rawc @@ -131,11 +144,20 @@ def open_Info_window(self): Display_availability.Available().mainloop() def change_appearance_mode_event(self, new_appearance_mode: str): - customtkinter.set_appearance_mode(new_appearance_mode) + global WINX, WINY, SCALE, THEME + THEME = new_appearance_mode + customtkinter.set_appearance_mode(THEME) + update_config() def change_scaling_event(self, new_scaling: str): + global WINX, WINY, SCALE, THEME new_scaling_float = int(new_scaling.replace("%", "")) / 100 - customtkinter.set_widget_scaling(new_scaling_float) + SCALE = new_scaling_float + WINX = int((WINX)*new_scaling_float) + WINY = int((WINY)*new_scaling_float) + self.geometry(f"{WINX}x{WINY}") + customtkinter.set_widget_scaling(SCALE) + update_config() diff --git a/GraphicUser_InterFace/Truck_Home_page.py b/GraphicUser_InterFace/Truck_Home_page.py index 4c08185..919c97a 100644 --- a/GraphicUser_InterFace/Truck_Home_page.py +++ b/GraphicUser_InterFace/Truck_Home_page.py @@ -3,6 +3,7 @@ import customtkinter from PIL import Image, ImageTk import os +import pickle as pk from tkinter import PhotoImage from tkinter import messagebox import mysql.connector @@ -12,11 +13,27 @@ customtkinter.set_appearance_mode("System") customtkinter.set_default_color_theme("blue") +WINX = 1440 +WINY = 540 +SCALE = 100 +THEME = 'Dark' + +def update_config(): + global WINX, WINY, SCALE, THEME + try: + with open('LocalDATA/config.ini', 'rb') as file: + WINX, WINY, SCALE, THEME = pk.load(file) + except: + with open('LocalDATA/config.ini', 'wb') as file: + pk.dump([WINX,WINY,SCALE,THEME], file) + +update_config() + class Truck(customtkinter.CTk): def __init__(self): super().__init__() self.title("Truck Home Page") - self.geometry(f"{1100}x{340}") + self.geometry(f"{WINX}x{WINY}") self.sidebar_frame = customtkinter.CTkFrame(self, width=120, corner_radius=15) self.sidebar_frame.grid(row=9, column=0, rowspan=4, sticky="nse") @@ -114,12 +131,20 @@ def open_Info_window(self): def change_appearance_mode_event(self, new_appearance_mode: str): - customtkinter.set_appearance_mode(new_appearance_mode) + global WINX, WINY, SCALE, THEME + THEME = new_appearance_mode + customtkinter.set_appearance_mode(THEME) + update_config() def change_scaling_event(self, new_scaling: str): + global WINX, WINY, SCALE, THEME new_scaling_float = int(new_scaling.replace("%", "")) / 100 - customtkinter.set_widget_scaling(new_scaling_float) - + SCALE = new_scaling_float + WINX = int((WINX)*new_scaling_float) + WINY = int((WINY)*new_scaling_float) + self.geometry(f"{WINX}x{WINY}") + customtkinter.set_widget_scaling(SCALE) + update_config() diff --git a/Requirements.txt b/Requirements.txt index 7edefd2..1a4ff69 100644 --- a/Requirements.txt +++ b/Requirements.txt @@ -2,3 +2,6 @@ tk customtkinter pillow mysql-connector-python +pymongo +colorama +discord_webhook