Example #1
0
    def __init__(self, install_type=YALI_INSTALL, install_plugin=None):

        self._screens = {}

        # Normal Installation process
        self._screens[YALI_INSTALL] = [  # Numbers can be used with -s paramter
            yali4.gui.ScrKahyaCheck,  # 00
            yali4.gui.ScrWelcome,  # 01
            yali4.gui.ScrCheckCD,  # 02
            yali4.gui.ScrKeyboard,  # 03
            yali4.gui.ScrDateTime,  # 04
            yali4.gui.ScrUsers,  # 05
            yali4.gui.ScrAdmin,  # 06
            yali4.gui.ScrPartitionAuto,  # 07
            yali4.gui.ScrPartitionManual,  # 08
            yali4.gui.ScrBootloader,  # 09
            yali4.gui.ScrSummary,  # 10
            yali4.gui.ScrInstall,  # 11
            yali4.gui.ScrGoodbye  # 12
        ]

        # FirstBoot Installation process
        self._screens[
            YALI_FIRSTBOOT] = [  # Numbers can be used with -s paramter
                yali4.gui.ScrWelcome,  # 00
                yali4.gui.ScrKeyboard,  # 01
                yali4.gui.ScrDateTime,  # 02
                yali4.gui.ScrUsers,  # 03
                yali4.gui.ScrAdmin,  # 04
                yali4.gui.ScrGoodbye  # 05
            ]

        # Oem Installation process
        self._screens[
            YALI_OEMINSTALL] = [  # Numbers can be used with -s paramter
                yali4.gui.ScrWelcome,  # 00
                yali4.gui.ScrCheckCD,  # 01
                yali4.gui.ScrPartitionAuto,  # 02
                yali4.gui.ScrPartitionManual,  # 03
                yali4.gui.ScrBootloader,  # 04
                yali4.gui.ScrSummary,  # 05
                yali4.gui.ScrInstall,  # 06
                yali4.gui.ScrGoodbye  # 07
            ]

        # Use YALI just for partitioning
        self._screens[YALI_PARTITIONER] = [
            yali4.gui.ScrPartitionManual  # Manual Partitioning
        ]

        # Rescue Mode
        self._screens[YALI_RESCUE] = [
            yali4.gui.ScrRescue,  # Rescue Mode
            yali4.gui.ScrRescueGrub,  # Grub Rescue
            yali4.gui.ScrRescuePisi,  # Pisi HS Rescue
            yali4.gui.ScrRescuePassword,  # Password Rescue
            yali4.gui.ScrRescueFinish  # Final step for rescue
        ]

        self.plugin = None

        # mutual exclusion
        self.mutex = QMutex()
        self.waitCondition = QWaitCondition()
        self.retryAnswer = False

        # Let the show begin..
        if install_type == YALI_PLUGIN:
            self.plugin = self.getPlugin(install_plugin)
            if self.plugin:
                self.screens = self.plugin.config.screens
                # run plugins setup
                self.plugin.config.setup()
            else:
                install_type = YALI_INSTALL
                InfoDialog(
                    _("Plugin (%s) not found or error occurred while loading. Switching to normal installation process."
                      % install_plugin))

        if not self.plugin:
            self.screens = self._screens[install_type]

        self.install_type = install_type
        self.info = InformationWindow(_("YALI Is Working..."))
        self.info.hide()
        self.checkCDStop = True