diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..05fd8a2 --- /dev/null +++ b/.env.example @@ -0,0 +1,8 @@ +PYTHON_PATH=path_to_python +EMAIL_ADDRESS=example@gmail.com +EMAIL_PASSWORD=ztgzegzeg +EMAIL_SMTP_SERVER=smtp.gmail.com +EMAIL_SMTP_PORT=587 +LICENSE_API_URL=url +PURCHASE_URL=url +LICENSE_API_KEY=key \ No newline at end of file diff --git a/app/core/theme_manager.py b/app/core/theme_manager.py index d42f4b9..f603464 100644 --- a/app/core/theme_manager.py +++ b/app/core/theme_manager.py @@ -82,7 +82,6 @@ class ThemeManager: background-color: {self.current_theme.get_color("background_tertiary_color")}; color: {self.current_theme.get_color("text_color")}; }} - QDateEdit {{ border: 2px solid {self.current_theme.get_color("border_color")}; padding: 5px; @@ -90,10 +89,6 @@ class ThemeManager: font-size: 14px; min-height: 30px; }} - QDateEdit::drop-down {{ - border: none; - background: transparent; - }} QDateEdit:hover {{ border-color: {self.current_theme.get_color("primary_hover_color")}; }} @@ -127,9 +122,6 @@ class ThemeManager: border: none; background: transparent; }} - QComboBox::down-arrow {{ - image: none; - }} QComboBox:hover {{ border-color: {self.current_theme.get_color("primary_hover_color")}; }} @@ -215,4 +207,15 @@ class ThemeManager: #tab_bar {{ background-color: {self.current_theme.get_color("background_color")}; }} + + #icon_label {{ + background: transparent; + border: none; + }} + + #text_label {{ + font-size: 14px; + background: transparent; + border: none; + }} """ \ No newline at end of file diff --git a/tools/build.command b/tools/build.command new file mode 100644 index 0000000..7d73185 --- /dev/null +++ b/tools/build.command @@ -0,0 +1,88 @@ +#!/bin/bash + +set -e +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +PARENT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" + +CONFIG_FILE="$PARENT_DIR/config.json" +ICON_FILE="$PARENT_DIR/data/assets/icon.png" +ENV_FILE="$PARENT_DIR/.env" + +# === Check .env === +if [ ! -f "$ENV_FILE" ]; then + echo "[ERROR] .env file not found. Please copy .env.example to .env and configure it." + exit 1 +fi + +# === Extract values from config.json === +ICON_PATH=$(python3 -c "import json; print(json.load(open('$CONFIG_FILE'))['icon_path'])") +APP_NAME=$(python3 -c "import json; print(json.load(open('$CONFIG_FILE'))['app_name'])") +ARCHITECTURE=$(python3 -c "import json; print(json.load(open('$CONFIG_FILE'))['architecture'])") + +# === Extract PYTHON_PATH from .env === +SYSTEM_PYTHON=$(grep '^PYTHON_PATH=' "$ENV_FILE" | cut -d '=' -f2-) + +VENV_PATH="$PARENT_DIR/MACenv_$ARCHITECTURE" +APP_FILE="$APP_NAME.app" +PYTHON_IN_VENV="$VENV_PATH/bin/python" +BUILD_DIR="$PARENT_DIR/build" +ZIP_FILE="$BUILD_DIR/$APP_NAME.zip" + +# === Verify Python existence === +if [ ! -x "$SYSTEM_PYTHON" ]; then + echo "[ERROR] Python not found at: $SYSTEM_PYTHON" + exit 1 +fi + +# === Check virtual environment === +if [ ! -f "$VENV_PATH/bin/activate" ]; then + echo "[INFO] Virtual environment not found. Creating..." + "$SYSTEM_PYTHON" -m venv "$VENV_PATH" + "$PYTHON_IN_VENV" -m pip install --upgrade pip + "$PYTHON_IN_VENV" -m pip install -r "$PARENT_DIR/requirements.txt" +else + echo "[INFO] Virtual environment found." +fi + +# === Run PyInstaller === +"$PYTHON_IN_VENV" -m PyInstaller \ + --distpath "$BUILD_DIR" \ + --workpath "$BUILD_DIR/dist" \ + --clean \ + "$PARENT_DIR/BUILD.spec" + +# === Clean build cache === +rm -rf "$BUILD_DIR/dist" + +# === Create ZIP === +echo "[INFO] Creating ZIP archive..." + +TEMP_ZIP_DIR="$BUILD_DIR/temp_zip" + +# Remove old temp dir +rm -rf "$TEMP_ZIP_DIR" +mkdir -p "$TEMP_ZIP_DIR" + +# Move compiled app +mv "$BUILD_DIR/$APP_FILE" "$TEMP_ZIP_DIR/" + +# Copy config.json +cp "$CONFIG_FILE" "$TEMP_ZIP_DIR/" + +# Copy icon.png +cp "$ICON_FILE" "$TEMP_ZIP_DIR/" + +# Copy data/lang +cp -R "$PARENT_DIR/data/lang" "$TEMP_ZIP_DIR/lang" + +# Remove old ZIP +rm -f "$ZIP_FILE" + +# Create ZIP +cd "$BUILD_DIR" +zip -r "$ZIP_FILE" "temp_zip" >/dev/null + +# Remove temp folder +rm -rf "$TEMP_ZIP_DIR" + +echo "[INFO] ZIP created at: $ZIP_FILE" \ No newline at end of file diff --git a/tools/open.command b/tools/open.command new file mode 100644 index 0000000..e69de29