diff --git a/BUILD.spec b/BUILD.spec
index 602f831..97a672a 100644
--- a/BUILD.spec
+++ b/BUILD.spec
@@ -59,7 +59,7 @@ exe = EXE(
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
- console=False,
+ console=True,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
diff --git a/app/ui/main_window.py b/app/ui/main_window.py
index cc454fd..d530487 100644
--- a/app/ui/main_window.py
+++ b/app/ui/main_window.py
@@ -1,6 +1,5 @@
-from PyQt6.QtWidgets import QMainWindow
+from PyQt6.QtWidgets import QApplication, QMainWindow
from PyQt6.QtGui import QIcon
-from PyQt6.QtWidgets import QApplication
from PyQt6.QtCore import QSize
from app.core.main_manager import MainManager, NotificationType
from app.ui.widgets.tabs_widget import TabsWidget, MenuDirection, ButtonPosition, BorderSide
@@ -12,7 +11,7 @@ class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
- self.main_manager = MainManager()
+ self.main_manager = MainManager.get_instance()
self.language_manager = self.main_manager.get_language_manager()
self.theme_manager = self.main_manager.get_theme_manager()
@@ -20,7 +19,8 @@ class MainWindow(QMainWindow):
self.observer_manager = self.main_manager.get_observer_manager()
self.observer_manager.subscribe(NotificationType.THEME, self.update_theme)
- # Configurer la fenêtre avant de créer les widgets
+ self.is_maximizing = False
+
app = QApplication.instance()
size = app.primaryScreen().size()
self.settings_manager.minScreenSize = min(size.height(),size.width())
@@ -30,45 +30,49 @@ class MainWindow(QMainWindow):
self.setStyleSheet(self.theme_manager.get_sheet())
self.setWindowIcon(QIcon(paths.get_asset_path("icon")))
- # Apply saved window state
- self.apply_saved_window_state()
-
self.setup_ui()
+ self.apply_saved_window_state()
def apply_saved_window_state(self):
"""Apply saved window size and maximized state"""
window_size = self.settings_manager.get_window_size()
self.current_size = QSize(window_size["width"], window_size["height"])
- self.previous_size = self.current_size
+ self.previous_size = QSize(window_size["width"], window_size["height"])
self.resize(self.current_size)
if self.settings_manager.get_maximized():
+ self.is_maximizing = True
self.showMaximized()
- if hasattr(self, 'current_size'):
- print(self.current_size)
-
def changeEvent(self, event):
"""Handle window state changes"""
super().changeEvent(event)
if event.type() == event.Type.WindowStateChange:
- # Si on quitte le mode maximisé, sauvegarder la taille actuelle
if self.isMaximized():
- self.current_size = self.previous_size
+ # On vient de maximiser
+ self.is_maximizing = False
+ else:
+ # On vient de dé-maximiser, restaurer la taille précédente
+ if hasattr(self, 'previous_size'):
+ self.current_size = self.previous_size
self.settings_manager.set_maximized(self.isMaximized())
- if hasattr(self, 'current_size'):
- print(self.current_size)
def resizeEvent(self, a0):
- self.previous_size = self.current_size
- self.current_size = self.size()
+ # Ne pas sauvegarder la taille si on est en train de maximiser
+ if not self.isMaximized() and not self.is_maximizing:
+ self.previous_size = self.current_size
+ self.current_size = self.size()
+
+ def closeEvent(self, event):
+ """Handle application close event"""
+ super().closeEvent(event)
+ # si la difference de taille est plus grande que 10 pixels, enregistrer previoussize
+ if abs(self.current_size.width() - self.previous_size.width()) > 10 or abs(self.current_size.height() - self.previous_size.height()) > 10:
+ self.current_size = self.previous_size
self.settings_manager.set_window_size(
self.current_size.width(),
self.current_size.height()
)
-
- def closeEvent(self, event):
- """Handle application close event"""
- super().closeEvent(event)
+
def setup_ui(self):
self.side_menu = TabsWidget(self,MenuDirection.HORIZONTAL,70,None,10,1,BorderSide.TOP)
diff --git a/config.json b/config.json
index c365fe7..ca2b23b 100644
--- a/config.json
+++ b/config.json
@@ -5,5 +5,6 @@
"app_version": "1.0.0",
"architecture": "x64",
"icon_path": "data/assets/icon.ico",
- "main_script": "main.py"
+ "main_script": "main.py",
+ "git_repo": "https://gitea.louismazin.ovh/LouisMazin/HoDA"
}
\ No newline at end of file
diff --git a/data/assets/settings.svg b/data/assets/settings.svg
index c67bfb2..3bfe869 100644
--- a/data/assets/settings.svg
+++ b/data/assets/settings.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/data/assets/suggestion.svg b/data/assets/suggestion.svg
index f383c8a..6634fc4 100644
--- a/data/assets/suggestion.svg
+++ b/data/assets/suggestion.svg
@@ -1,8 +1,8 @@
-
+
-
+
diff --git a/main.py b/main.py
index a539fcd..9a881ec 100644
--- a/main.py
+++ b/main.py
@@ -6,7 +6,6 @@ def main():
app = QApplication(sys.argv)
window = MainWindow()
-
window.show()
return app.exec()
diff --git a/requirements.txt b/requirements.txt
index 2fc62e6..390d828 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1,4 @@
PyQt6
pyinstaller
-python-dotenv
\ No newline at end of file
+python-dotenv
+requests
\ No newline at end of file
diff --git a/tools/build.bat b/tools/build.bat
index 8e53c7b..205137f 100644
--- a/tools/build.bat
+++ b/tools/build.bat
@@ -48,11 +48,11 @@ if not exist "%VENV_PATH%\Scripts\activate.bat" (
REM === Run PyInstaller ===
"%PYTHON_IN_VENV%" -m PyInstaller ^
--distpath "%PARENT_DIR%\build" ^
- --workpath "%PARENT_DIR%\dist" ^
+ --workpath "%PARENT_DIR%\build\dist" ^
--clean ^
"%PARENT_DIR%\BUILD.spec"
REM === Clean build cache ===
-rmdir /s /q "%PARENT_DIR%\dist"
+rmdir /s /q "%PARENT_DIR%\build\dist"
endlocal