diff --git a/AppImageBuilder.yml b/AppImageBuilder.yml index 5211263..d5e52cd 100644 --- a/AppImageBuilder.yml +++ b/AppImageBuilder.yml @@ -4,7 +4,7 @@ script: - mkdir -p AppDir/usr - mkdir -p AppDir/usr/share/icons/hicolor/48x48 - cp src AppDir/usr -r - - cp src/resources/images/OneDriveGUI.png AppDir/usr/share/icons/hicolor/48x48 + - cp src/onedrive_gui/resources/images/OneDriveGUI.png AppDir/usr/share/icons/hicolor/48x48 - python3 -m pip install --ignore-installed --prefix=/usr --no-cache-dir --root=AppDir -r ./requirements.txt - rm -rf AppDir/usr/local/lib/python3.10/dist-packages/PySide6/Qt/qml/ - rm -rf AppDir/usr/local/lib/python3.10/dist-packages/PySide6/examples/ @@ -13,7 +13,9 @@ script: - rm -f AppDir/usr/local/lib/python3.10/dist-packages/PySide6/{assistant,designer,linguist,lrelease,lupdate} - rm -f AppDir/usr/local/lib/python3.10/dist-packages/PySide6/{Qt3D*,QtBluetooth*,QtCharts*,QtConcurrent*,QtDataVisualization*,QtDBus*,QtDesigner*,QtHelp*,QtMultimedia*,QtNetwork*,QtOpenGL*,QtPositioning*,QtPrintSupport*,QtQml*,QtQuick*,QtRemoteObjects*,QtScxml*,QtSensors*,QtSerialPort*,QtSql*,QtStateMachine*,QtSvg*,QtTest*,QtWeb*,QtXml*} - shopt -s extglob - - rm -rf AppDir/usr/local/lib/python3.10/dist-packages/PySide6/Qt/lib/!(libQt6OpenGL*|libQt6XcbQpa*|libQt6Wayland*|libQt6Egl*|libicudata*|libicuuc*|libicui18n*|libQt6DBus*|libQt6Network*|libQt6Qml*|libQt6Core*|libQt6Gui*|libQt6Widgets*|libQt6Svg*|libQt6UiTools*) + - rm -rf AppDir/usr/local/lib/python3.12/dist-packages/PySide6/Qt/lib/!(libQt6OpenGL*|libQt6XcbQpa*|libQt6Wayland*|libQt6Egl*|libicudata*|libicuuc*|libicui18n*|libQt6DBus*|libQt6Network*|libQt6Qml*|libQt6Core*|libQt6Gui*|libQt6Widgets*|libQt6Svg*|libQt6UiTools*) + - python3 -m build + - find dist -type f -name *.whl -exec python3 -m pip install --ignore-installed --prefix=/usr --no-cache-dir --root=AppDir {} \; AppDir: @@ -25,7 +27,7 @@ AppDir: icon: OneDriveGUI version: 1.3.2 exec: usr/bin/python3.10 - exec_args: "$APPDIR/usr/src/OneDriveGUI.py $@" + exec_args: "-m onedrive_gui $@" apt: arch: amd64 diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..f877a32 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1 @@ +global-include *.png *.ui default_config *.autosave diff --git a/README.md b/README.md index 015f054..7df59c4 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,21 @@ A GUI for [Linux OneDrive Client](https://github.com/abraunegg/onedrive) with mu ## AUR - An AUR package [onedrivegui-git](https://aur.archlinux.org/packages/onedrivegui-git) is available (maintainer: Integral). +## Python Package + +Use setuptools and build to build the package: + +``` +python3 -m pip install setuptools build +python3 -m build +``` + +That produces a wheel package in the directory `dist/` than can be installed: + +``` +python3 -m pip install dist/onedrive_gui-1.3.2-py3-none-any.whl +``` + ## Running from Source 1) Ensure Python3 and [pip](https://pip.pypa.io/en/stable/installation/) are installed on your system. @@ -66,13 +81,13 @@ A GUI for [Linux OneDrive Client](https://github.com/abraunegg/onedrive) with mu 1) Start OneDrive GUI: ```sh cd src/ - python3 OneDriveGUI.py + python3 -m onedrive_gui ``` Optionally, you can detach the GUI from the terminal by using the command below: ```sh cd src/ - nohup python3 OneDriveGUI.py > /dev/null 2>&1 & + nohup python3 -m onedrive_gui > /dev/null 2>&1 & ``` # Usage diff --git a/build_appimage.sh b/build_appimage.sh index 74220de..e8137af 100755 --- a/build_appimage.sh +++ b/build_appimage.sh @@ -2,7 +2,7 @@ # Step 1: Function to extract version from OneDriveGUI.py without importing get_version() { - FILE_PATH="src/options.py" + FILE_PATH="src/onedrive_gui/options.py" VERSION=$(grep -Po '^version\s*=\s*"\K[^\"]+' "$FILE_PATH") if [ -z "$VERSION" ]; then @@ -28,7 +28,22 @@ update_yaml() { fi } -# Step 3: Build the AppImage using appimage-builder +# Step 3: Update the indented version line in pyproject.toml +update_pyproject() { + PYPROJECT_TOML_FILE="pyproject.toml" + + if [ -f "$PYPROJECT_TOML_FILE" ]; then + echo "Updating version in $PYPROJECT_TOML_FILE..." + # Use sed to match the indented version line and update it + sed -i "s/^\(version =\).*/\1 \"$VERSION\"/" "$PYPROJECT_TOML_FILE" + echo "Version updated to $VERSION in the indented version line of $PYPROJECT_TOML_FILE" + else + echo "$PYPROJECT_TOML_FILE not found." + exit 1 + fi +} + +# Step 4: Build the AppImage using appimage-builder build_appimage() { if ! command -v appimage-builder &> /dev/null; then echo "appimage-builder could not be found. Please install it first." @@ -49,4 +64,5 @@ build_appimage() { # Main script execution get_version update_yaml +update_pyproject build_appimage diff --git a/build_appimage_docker.sh b/build_appimage_docker.sh index 76ce732..81ec66f 100755 --- a/build_appimage_docker.sh +++ b/build_appimage_docker.sh @@ -34,7 +34,15 @@ docker run \ set -e echo "Installing dependencies..." apt update -apt install -y wget python3 python3-pip fuse gtk-update-icon-cache +apt install -y \ + fuse \ + gtk-update-icon-cache \ + python3 \ + python3-pip \ + python3-venv \ + wget + +pip install build setuptools echo "Installing appimage-builder..." wget -q -O /tmp/appimage-builder.AppImage https://github.com/AppImageCrafters/appimage-builder/releases/download/v1.1.0/appimage-builder-1.1.0-x86_64.AppImage diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..7194480 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,14 @@ +[project] +name = "onedrive-gui" +version = "1.3.2" +description = "A simple GUI for Linux OneDrive Client, with multi-account support." +readme = "README.md" +requires-python = ">=3.8" +license-files = ["LICENSE"] + +[project.scripts] +onedrive-gui = "onedrive_gui.OneDriveGUI:main" + +[build-system] +requires = ["setuptools >= 61.0"] +build-backend = "setuptools.build_meta" diff --git a/src/OneDriveGUI.py b/src/onedrive_gui/OneDriveGUI.py similarity index 69% rename from src/OneDriveGUI.py rename to src/onedrive_gui/OneDriveGUI.py index 64a6303..68b9b7f 100644 --- a/src/OneDriveGUI.py +++ b/src/onedrive_gui/OneDriveGUI.py @@ -10,10 +10,10 @@ from PySide6.QtGui import QIcon from PySide6.QtWidgets import QApplication -from logger import logger +from .logger import logger -from global_config import DIR_PATH +from .global_config import DIR_PATH app = QApplication(sys.argv) @@ -22,15 +22,20 @@ app.setDesktopFileName("OneDriveGUI") app.setWindowIcon(QIcon(DIR_PATH + "/resources/images/icons8-cloud-80.png")) -from options import gui_settings, global_config, version -from global_config import save_global_config -from main_window import MainWindow +from .options import gui_settings, global_config, version +from .global_config import save_global_config +from .main_window import MainWindow +workers = {} -def main_window_start_state(): - # Determine if OneDriveGUI should start maximized, minimized to tray or minimized to taskbar/dock. - # This should help ensure the GUI does not just disappear on Gnome without system tray extension. +def main(): + logging.info(f"Starting OneDriveGUI v{version}") + if len(global_config) > 0: + save_global_config(global_config) + + main_window = MainWindow() + if gui_settings.get("start_minimized") == "True" or len(global_config) == 0: try: if main_window.tray.isSystemTrayAvailable(): @@ -45,16 +50,5 @@ def main_window_start_state(): logging.info("[GUI] Starting OneDriveGUI maximized") -workers = {} - - -if __name__ == "__main__": - logging.info(f"Starting OneDriveGUI v{version}") - - if len(global_config) > 0: - save_global_config(global_config) - - main_window = MainWindow() - main_window_start_state() - app.exec() + diff --git a/src/settings/__init__.py b/src/onedrive_gui/__init__.py similarity index 100% rename from src/settings/__init__.py rename to src/onedrive_gui/__init__.py diff --git a/src/onedrive_gui/__main__.py b/src/onedrive_gui/__main__.py new file mode 100644 index 0000000..97f809d --- /dev/null +++ b/src/onedrive_gui/__main__.py @@ -0,0 +1,3 @@ +from .OneDriveGUI import main + +main() diff --git a/src/global_config.py b/src/onedrive_gui/global_config.py similarity index 100% rename from src/global_config.py rename to src/onedrive_gui/global_config.py diff --git a/src/gui_settings_window.py b/src/onedrive_gui/gui_settings_window.py similarity index 95% rename from src/gui_settings_window.py rename to src/onedrive_gui/gui_settings_window.py index 01ae3c8..8a6e52a 100644 --- a/src/gui_settings_window.py +++ b/src/onedrive_gui/gui_settings_window.py @@ -3,19 +3,19 @@ from PySide6.QtWidgets import QWidget, QFileDialog # Imports for GUI settings window -from ui.ui_gui_settings_window import Ui_gui_settings_window +from .ui.ui_gui_settings_window import Ui_gui_settings_window import re import os -from settings.gui_settings import gui_settings +from .settings.gui_settings import gui_settings import logging # from logger import logger -from global_config import DIR_PATH, PROFILES_FILE +from .global_config import DIR_PATH, PROFILES_FILE class GuiSettingsWindow(QWidget, Ui_gui_settings_window): @@ -119,7 +119,7 @@ class GuiSettingsWindow(QWidget, Ui_gui_settings_window): def sync_autostart_on_startup(self): """Sync autostart file with saved setting on app startup.""" - from utils.autostart import enable_autostart, disable_autostart, is_autostart_enabled + from .utils.autostart import enable_autostart, disable_autostart, is_autostart_enabled # Get the saved setting autostart_should_be_enabled = self.get_check_box_state("autostart_enabled") @@ -150,7 +150,7 @@ class GuiSettingsWindow(QWidget, Ui_gui_settings_window): def save_settings(self): """Save all settings and sync autostart file with checkbox state.""" - from utils.autostart import enable_autostart, disable_autostart + from .utils.autostart import enable_autostart, disable_autostart from PySide6.QtWidgets import QMessageBox # Save all settings first diff --git a/src/logger.py b/src/onedrive_gui/logger.py similarity index 97% rename from src/logger.py rename to src/onedrive_gui/logger.py index 0165f70..214a294 100644 --- a/src/logger.py +++ b/src/onedrive_gui/logger.py @@ -3,7 +3,7 @@ import sys import re import logging import logging.handlers as handlers -from settings.gui_settings import gui_settings +from .settings.gui_settings import gui_settings def config_debug_level(): diff --git a/src/main_window.py b/src/onedrive_gui/main_window.py similarity index 99% rename from src/main_window.py rename to src/onedrive_gui/main_window.py index 78a42c9..657938f 100644 --- a/src/main_window.py +++ b/src/onedrive_gui/main_window.py @@ -15,12 +15,12 @@ from PySide6.QtWidgets import ( # Imports for main window. -from ui.ui_mainwindow import Ui_MainWindow -from ui.ui_process_status_page import Ui_status_page +from .ui.ui_mainwindow import Ui_MainWindow +from .ui.ui_process_status_page import Ui_status_page # Import for login windows. -from ui.ui_external_login import Ui_ExternalLoginWindow +from .ui.ui_external_login import Ui_ExternalLoginWindow import re @@ -31,27 +31,27 @@ import requests import subprocess -from wizard import setup_wizard -from profile_settings_window import profile_settings_window +from .wizard import setup_wizard +from .profile_settings_window import profile_settings_window -from options import ( +from .options import ( global_config, client_bin_path, gui_settings, version, ) -from utils.utils import humanize_file_size, shorten_path, format_relative_time -from workers import WorkerThread, MaintenanceWorker, TaskList, workers -from gui_settings_window import gui_settings_window +from .utils.utils import humanize_file_size, shorten_path, format_relative_time +from .workers import WorkerThread, MaintenanceWorker, TaskList, workers +from .gui_settings_window import gui_settings_window import logging # from logger import logger -from global_config import DIR_PATH, PROFILES_FILE, save_global_config +from .global_config import DIR_PATH, PROFILES_FILE, save_global_config try: - from ui.ui_login import Ui_LoginWindow + from .ui.ui_login import Ui_LoginWindow except ImportError: logging.warning("Failed to import ui_login. This is expected if you are running AppImage version.") @@ -66,12 +66,12 @@ class MainWindow(QMainWindow, Ui_MainWindow): def __init__(self): # Expose this instance as main_window.main_window_instance so other modules # (e.g. profile_settings_window) can reach it without a circular import. - import main_window + from . import main_window main_window.main_window_instance = self # Access setup_wizard from wizard module to avoid circular imports - import wizard + from . import wizard wizard.setup_wizard.show_main_window_signal.connect(self.show) wizard.setup_wizard.add_profile_signal.connect(self.add_profile) diff --git a/src/options.py b/src/onedrive_gui/options.py similarity index 62% rename from src/options.py rename to src/onedrive_gui/options.py index c53ad39..d00b7f8 100644 --- a/src/options.py +++ b/src/onedrive_gui/options.py @@ -1,8 +1,8 @@ import copy -from utils.utils import get_installed_client_version, config_client_bin_path -from global_config import create_global_config +from .utils.utils import get_installed_client_version, config_client_bin_path +from .global_config import create_global_config -from settings.gui_settings import gui_settings +from .settings.gui_settings import gui_settings client_bin_path = gui_settings.get("frameless_window") diff --git a/src/profile_settings_window.py b/src/onedrive_gui/profile_settings_window.py similarity index 99% rename from src/profile_settings_window.py rename to src/onedrive_gui/profile_settings_window.py index 02ec97f..7421aa0 100644 --- a/src/profile_settings_window.py +++ b/src/onedrive_gui/profile_settings_window.py @@ -12,8 +12,8 @@ from PySide6.QtWidgets import ( ) # Imports for Profiles windows. -from ui.ui_profile_settings_window import Ui_profile_settings_window -from ui.ui_profile_settings_page import Ui_profile_settings +from .ui.ui_profile_settings_window import Ui_profile_settings_window +from .ui.ui_profile_settings_page import Ui_profile_settings import re import os @@ -22,20 +22,20 @@ import subprocess from configparser import ConfigParser # Import setup_wizard after importing wizard, keeping it at the bottom to avoid circular imports -import wizard -from global_config import save_global_config +from . import wizard +from .global_config import save_global_config # Import main_window (lazy import to avoid circular references) -import main_window -from options import client_bin_path, global_config -from options import temp_global_config +from . import main_window +from .options import client_bin_path, global_config +from .options import temp_global_config -from workers import workers +from .workers import workers import logging # from logger import logger -from global_config import DIR_PATH, PROFILES_FILE +from .global_config import DIR_PATH, PROFILES_FILE class ProfileSettingsWindow(QWidget, Ui_profile_settings_window): diff --git a/src/resources/OneDriveGUI.desktop b/src/onedrive_gui/resources/OneDriveGUI.desktop similarity index 100% rename from src/resources/OneDriveGUI.desktop rename to src/onedrive_gui/resources/OneDriveGUI.desktop diff --git a/src/resources/default_config b/src/onedrive_gui/resources/default_config similarity index 100% rename from src/resources/default_config rename to src/onedrive_gui/resources/default_config diff --git a/src/resources/images/OneDriveGUI.ico b/src/onedrive_gui/resources/images/OneDriveGUI.ico similarity index 100% rename from src/resources/images/OneDriveGUI.ico rename to src/onedrive_gui/resources/images/OneDriveGUI.ico diff --git a/src/resources/images/OneDriveGUI.png b/src/onedrive_gui/resources/images/OneDriveGUI.png similarity index 100% rename from src/resources/images/OneDriveGUI.png rename to src/onedrive_gui/resources/images/OneDriveGUI.png diff --git a/src/resources/images/account.png b/src/onedrive_gui/resources/images/account.png similarity index 100% rename from src/resources/images/account.png rename to src/onedrive_gui/resources/images/account.png diff --git a/src/resources/images/close-filled.png b/src/onedrive_gui/resources/images/close-filled.png similarity index 100% rename from src/resources/images/close-filled.png rename to src/onedrive_gui/resources/images/close-filled.png diff --git a/src/resources/images/folder.png b/src/onedrive_gui/resources/images/folder.png similarity index 100% rename from src/resources/images/folder.png rename to src/onedrive_gui/resources/images/folder.png diff --git a/src/resources/images/gear.png b/src/onedrive_gui/resources/images/gear.png similarity index 100% rename from src/resources/images/gear.png rename to src/onedrive_gui/resources/images/gear.png diff --git a/src/resources/images/icons8-cloud-80.png b/src/onedrive_gui/resources/images/icons8-cloud-80.png similarity index 100% rename from src/resources/images/icons8-cloud-80.png rename to src/onedrive_gui/resources/images/icons8-cloud-80.png diff --git a/src/resources/images/icons8-cloud-done-80.png b/src/onedrive_gui/resources/images/icons8-cloud-done-80.png similarity index 100% rename from src/resources/images/icons8-cloud-done-80.png rename to src/onedrive_gui/resources/images/icons8-cloud-done-80.png diff --git a/src/resources/images/icons8-cloud-error-80.png b/src/onedrive_gui/resources/images/icons8-cloud-error-80.png similarity index 100% rename from src/resources/images/icons8-cloud-error-80.png rename to src/onedrive_gui/resources/images/icons8-cloud-error-80.png diff --git a/src/resources/images/icons8-cloud-stop-80.png b/src/onedrive_gui/resources/images/icons8-cloud-stop-80.png similarity index 100% rename from src/resources/images/icons8-cloud-stop-80.png rename to src/onedrive_gui/resources/images/icons8-cloud-stop-80.png diff --git a/src/resources/images/icons8-cloud-sync-80.png b/src/onedrive_gui/resources/images/icons8-cloud-sync-80.png similarity index 100% rename from src/resources/images/icons8-cloud-sync-80.png rename to src/onedrive_gui/resources/images/icons8-cloud-sync-80.png diff --git a/src/resources/images/icons8-clouds-48.ico b/src/onedrive_gui/resources/images/icons8-clouds-48.ico similarity index 100% rename from src/resources/images/icons8-clouds-48.ico rename to src/onedrive_gui/resources/images/icons8-clouds-48.ico diff --git a/src/resources/images/icons8-green-circle-48.png b/src/onedrive_gui/resources/images/icons8-green-circle-48.png similarity index 100% rename from src/resources/images/icons8-green-circle-48.png rename to src/onedrive_gui/resources/images/icons8-green-circle-48.png diff --git a/src/resources/images/icons8-red-circle-48.png b/src/onedrive_gui/resources/images/icons8-red-circle-48.png similarity index 100% rename from src/resources/images/icons8-red-circle-48.png rename to src/onedrive_gui/resources/images/icons8-red-circle-48.png diff --git a/src/resources/images/menu.png b/src/onedrive_gui/resources/images/menu.png similarity index 100% rename from src/resources/images/menu.png rename to src/onedrive_gui/resources/images/menu.png diff --git a/src/resources/images/pause.png b/src/onedrive_gui/resources/images/pause.png similarity index 100% rename from src/resources/images/pause.png rename to src/onedrive_gui/resources/images/pause.png diff --git a/src/resources/images/play.png b/src/onedrive_gui/resources/images/play.png similarity index 100% rename from src/resources/images/play.png rename to src/onedrive_gui/resources/images/play.png diff --git a/src/resources/images/quit.png b/src/onedrive_gui/resources/images/quit.png similarity index 100% rename from src/resources/images/quit.png rename to src/onedrive_gui/resources/images/quit.png diff --git a/src/resources/images/stop.png b/src/onedrive_gui/resources/images/stop.png similarity index 100% rename from src/resources/images/stop.png rename to src/onedrive_gui/resources/images/stop.png diff --git a/src/resources/images/storage.png b/src/onedrive_gui/resources/images/storage.png similarity index 100% rename from src/resources/images/storage.png rename to src/onedrive_gui/resources/images/storage.png diff --git a/src/resources/images/user-account.png b/src/onedrive_gui/resources/images/user-account.png similarity index 100% rename from src/resources/images/user-account.png rename to src/onedrive_gui/resources/images/user-account.png diff --git a/src/resources/images/warning.png b/src/onedrive_gui/resources/images/warning.png similarity index 100% rename from src/resources/images/warning.png rename to src/onedrive_gui/resources/images/warning.png diff --git a/src/resources/io.github.bpozdena.onedrivegui.metainfo.xml b/src/onedrive_gui/resources/io.github.bpozdena.onedrivegui.metainfo.xml similarity index 100% rename from src/resources/io.github.bpozdena.onedrivegui.metainfo.xml rename to src/onedrive_gui/resources/io.github.bpozdena.onedrivegui.metainfo.xml diff --git a/src/onedrive_gui/settings/__init__.py b/src/onedrive_gui/settings/__init__.py new file mode 100644 index 0000000..2ff05f3 --- /dev/null +++ b/src/onedrive_gui/settings/__init__.py @@ -0,0 +1 @@ +# do not delete diff --git a/src/settings/gui_settings.py b/src/onedrive_gui/settings/gui_settings.py similarity index 100% rename from src/settings/gui_settings.py rename to src/onedrive_gui/settings/gui_settings.py diff --git a/src/ui/create_new_profile.ui b/src/onedrive_gui/ui/create_new_profile.ui similarity index 100% rename from src/ui/create_new_profile.ui rename to src/onedrive_gui/ui/create_new_profile.ui diff --git a/src/ui/external_login.ui b/src/onedrive_gui/ui/external_login.ui similarity index 100% rename from src/ui/external_login.ui rename to src/onedrive_gui/ui/external_login.ui diff --git a/src/ui/gui_settings_window.ui b/src/onedrive_gui/ui/gui_settings_window.ui similarity index 100% rename from src/ui/gui_settings_window.ui rename to src/onedrive_gui/ui/gui_settings_window.ui diff --git a/src/ui/import_existing_profile.ui b/src/onedrive_gui/ui/import_existing_profile.ui similarity index 100% rename from src/ui/import_existing_profile.ui rename to src/onedrive_gui/ui/import_existing_profile.ui diff --git a/src/ui/list_item_widget.ui b/src/onedrive_gui/ui/list_item_widget.ui similarity index 100% rename from src/ui/list_item_widget.ui rename to src/onedrive_gui/ui/list_item_widget.ui diff --git a/src/ui/login.ui b/src/onedrive_gui/ui/login.ui similarity index 100% rename from src/ui/login.ui rename to src/onedrive_gui/ui/login.ui diff --git a/src/ui/mainwindow.ui b/src/onedrive_gui/ui/mainwindow.ui similarity index 100% rename from src/ui/mainwindow.ui rename to src/onedrive_gui/ui/mainwindow.ui diff --git a/src/ui/mainwindow.ui.autosave b/src/onedrive_gui/ui/mainwindow.ui.autosave similarity index 100% rename from src/ui/mainwindow.ui.autosave rename to src/onedrive_gui/ui/mainwindow.ui.autosave diff --git a/src/ui/mainwindow_ui.py b/src/onedrive_gui/ui/mainwindow_ui.py similarity index 100% rename from src/ui/mainwindow_ui.py rename to src/onedrive_gui/ui/mainwindow_ui.py diff --git a/src/ui/process_status_page.ui b/src/onedrive_gui/ui/process_status_page.ui similarity index 100% rename from src/ui/process_status_page.ui rename to src/onedrive_gui/ui/process_status_page.ui diff --git a/src/ui/profile_settings_page.ui b/src/onedrive_gui/ui/profile_settings_page.ui similarity index 100% rename from src/ui/profile_settings_page.ui rename to src/onedrive_gui/ui/profile_settings_page.ui diff --git a/src/ui/profile_settings_window.ui b/src/onedrive_gui/ui/profile_settings_window.ui similarity index 100% rename from src/ui/profile_settings_window.ui rename to src/onedrive_gui/ui/profile_settings_window.ui diff --git a/src/ui/profile_settings_window_ui.py b/src/onedrive_gui/ui/profile_settings_window_ui.py similarity index 100% rename from src/ui/profile_settings_window_ui.py rename to src/onedrive_gui/ui/profile_settings_window_ui.py diff --git a/src/ui/setup_wizard.ui b/src/onedrive_gui/ui/setup_wizard.ui similarity index 100% rename from src/ui/setup_wizard.ui rename to src/onedrive_gui/ui/setup_wizard.ui diff --git a/src/ui/test.ui b/src/onedrive_gui/ui/test.ui similarity index 100% rename from src/ui/test.ui rename to src/onedrive_gui/ui/test.ui diff --git a/src/ui/ui_create_new_profile.py b/src/onedrive_gui/ui/ui_create_new_profile.py similarity index 100% rename from src/ui/ui_create_new_profile.py rename to src/onedrive_gui/ui/ui_create_new_profile.py diff --git a/src/ui/ui_external_login.py b/src/onedrive_gui/ui/ui_external_login.py similarity index 100% rename from src/ui/ui_external_login.py rename to src/onedrive_gui/ui/ui_external_login.py diff --git a/src/ui/ui_gui_settings_window.py b/src/onedrive_gui/ui/ui_gui_settings_window.py similarity index 100% rename from src/ui/ui_gui_settings_window.py rename to src/onedrive_gui/ui/ui_gui_settings_window.py diff --git a/src/ui/ui_import_existing_profile.py b/src/onedrive_gui/ui/ui_import_existing_profile.py similarity index 100% rename from src/ui/ui_import_existing_profile.py rename to src/onedrive_gui/ui/ui_import_existing_profile.py diff --git a/src/ui/ui_list_item_widget.py b/src/onedrive_gui/ui/ui_list_item_widget.py similarity index 100% rename from src/ui/ui_list_item_widget.py rename to src/onedrive_gui/ui/ui_list_item_widget.py diff --git a/src/ui/ui_login.py b/src/onedrive_gui/ui/ui_login.py similarity index 100% rename from src/ui/ui_login.py rename to src/onedrive_gui/ui/ui_login.py diff --git a/src/ui/ui_mainwindow.py b/src/onedrive_gui/ui/ui_mainwindow.py similarity index 100% rename from src/ui/ui_mainwindow.py rename to src/onedrive_gui/ui/ui_mainwindow.py diff --git a/src/ui/ui_process_status_page.py b/src/onedrive_gui/ui/ui_process_status_page.py similarity index 100% rename from src/ui/ui_process_status_page.py rename to src/onedrive_gui/ui/ui_process_status_page.py diff --git a/src/ui/ui_profile_settings_page.py b/src/onedrive_gui/ui/ui_profile_settings_page.py similarity index 100% rename from src/ui/ui_profile_settings_page.py rename to src/onedrive_gui/ui/ui_profile_settings_page.py diff --git a/src/ui/ui_profile_settings_window.py b/src/onedrive_gui/ui/ui_profile_settings_window.py similarity index 100% rename from src/ui/ui_profile_settings_window.py rename to src/onedrive_gui/ui/ui_profile_settings_window.py diff --git a/src/onedrive_gui/utils/__init__.py b/src/onedrive_gui/utils/__init__.py new file mode 100644 index 0000000..2ff05f3 --- /dev/null +++ b/src/onedrive_gui/utils/__init__.py @@ -0,0 +1 @@ +# do not delete diff --git a/src/utils/autostart.py b/src/onedrive_gui/utils/autostart.py similarity index 100% rename from src/utils/autostart.py rename to src/onedrive_gui/utils/autostart.py diff --git a/src/utils/utils.py b/src/onedrive_gui/utils/utils.py similarity index 98% rename from src/utils/utils.py rename to src/onedrive_gui/utils/utils.py index 1c0d091..a27e4ba 100644 --- a/src/utils/utils.py +++ b/src/onedrive_gui/utils/utils.py @@ -6,7 +6,7 @@ from datetime import datetime import logging # from logger import logger -from settings.gui_settings import gui_settings +from ..settings.gui_settings import gui_settings def humanize_file_size(num, suffix="B"): diff --git a/src/wizard.py b/src/onedrive_gui/wizard.py similarity index 99% rename from src/wizard.py rename to src/onedrive_gui/wizard.py index 945fb05..e9bbed2 100644 --- a/src/wizard.py +++ b/src/onedrive_gui/wizard.py @@ -22,8 +22,8 @@ import requests import subprocess from configparser import ConfigParser -from global_config import save_global_config, read_config -from options import ( +from .global_config import save_global_config, read_config +from .options import ( global_config, temp_global_config, client_bin_path, @@ -31,9 +31,9 @@ from options import ( version, ) -from workers import MaintenanceWorker +from .workers import MaintenanceWorker import logging -from global_config import DIR_PATH, PROFILES_FILE +from .global_config import DIR_PATH, PROFILES_FILE class SetupWizard(QWizard): diff --git a/src/workers.py b/src/onedrive_gui/workers.py similarity index 99% rename from src/workers.py rename to src/onedrive_gui/workers.py index 88b7ddf..d8675c8 100644 --- a/src/workers.py +++ b/src/onedrive_gui/workers.py @@ -5,7 +5,7 @@ from PySide6.QtGui import QFontMetrics, QIcon # Imports for main window. -from ui.ui_list_item_widget import Ui_list_item_widget +from .ui.ui_list_item_widget import Ui_list_item_widget import re @@ -13,8 +13,8 @@ import time import subprocess from datetime import datetime -from global_config import save_global_config -from options import ( +from .global_config import save_global_config +from .options import ( # main_window, global_config, temp_global_config, @@ -24,13 +24,13 @@ from options import ( version, ) -from utils.utils import humanize_file_size, shorten_path +from .utils.utils import humanize_file_size, shorten_path import logging # from logger import logger -from global_config import DIR_PATH, PROFILES_FILE +from .global_config import DIR_PATH, PROFILES_FILE class WorkerThread(QThread): diff --git a/src/utils/__init__.py b/src/utils/__init__.py deleted file mode 100644 index e69de29..0000000