9db6c513c9
- Add install_station package with __init__.py and core modules - Include boot_manager.py for boot loader configuration (BootManager class with singleton pattern) - Add common.py with password strength validation utilities and ZFS dataset definitions - Add custom.py with Partitions class for disk partitioning management (1010 lines) - Establish foundation for GTK+ based GhostBSD installer application Modules added: - boot_manager: UEFI/BIOS boot manager selection with rEFInd and FreeBSD options - common: Password validation functions and deprecated decorator utility - custom: Comprehensive partition management with GTK+ interface
51 lines
1.6 KiB
Python
Executable File
51 lines
1.6 KiB
Python
Executable File
#!/usr/local/bin/python
|
|
"""
|
|
Install Station executable module.
|
|
"""
|
|
import gi
|
|
gi.require_version('Gtk', '3.0')
|
|
from gi.repository import Gtk
|
|
from install_station.welcome_live import Welcome
|
|
from install_station.install_type import InstallTypes
|
|
from install_station.custom import PartitionManager
|
|
from install_station.use_zfs import ZFS
|
|
from install_station.boot_manager import BootManager
|
|
from install_station.network_setup import NetworkSetup
|
|
from install_station.data import logo
|
|
from install_station.window import Window
|
|
from install_station.interface_controller import Interface, Button
|
|
|
|
|
|
class MainWindow:
|
|
"""
|
|
Install Station main window class.
|
|
"""
|
|
|
|
def __init__(self):
|
|
"""
|
|
Install Station main window class initiation.
|
|
"""
|
|
Interface.welcome = Welcome
|
|
Interface.installation_type = InstallTypes
|
|
Interface.custom_partition = PartitionManager
|
|
Interface.full_zfs = ZFS
|
|
Interface.boot_manager = BootManager
|
|
Interface.net_setup = NetworkSetup
|
|
Window.connect("delete_event", Interface.delete)
|
|
Window.set_border_width(0)
|
|
Window.set_default_size(800, 500)
|
|
Window.set_size_request(800, 500)
|
|
Window.set_title("Install GhostBSD")
|
|
Window.set_border_width(0)
|
|
Window.set_icon_from_file(logo)
|
|
main_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, homogeneous=False, spacing=0)
|
|
main_box.show()
|
|
Window.add(main_box)
|
|
main_box.pack_start(Interface.get_interface(), True, True, 0)
|
|
Window.show_all()
|
|
Button.hide_all() # Initially hide all buttons
|
|
|
|
|
|
MainWindow()
|
|
Gtk.main()
|