Пример #1
0
    def __init__(self):
        QWidget.__init__(self)
        self.ui = Ui_DriveSelectionWidget()
        self.ui.setupUi(self)
        self.storage = None
        self.intf = None
        self.shrink_operations = None
        self.clear_partdisks = None
        self.selected_disks = []

        self.useAllSpace, self.replaceExistingLinux, self.shrinkCurrent, self.useFreeSpace, self.createCustom = range(
            5)
        self.ui.drives.itemSelectionChanged.connect(self.itemStateChanged)
Пример #2
0
    def __init__(self, *args):
        QtGui.QWidget.__init__(self,None)
        self.ui = Ui_DriveSelectionWidget()
        self.ui.setupUi(self)
        self.storage = ctx.storage
        self.intf = ctx.yali
        self.shrinkOperations = None
        self.clearPartDisks = None

        self.useAllSpace, self.replaceExistingLinux, self.shrinkCurrent, self.useFreeSpace, self.createCustom = range(5)
        self.connect(self.ui.drives, SIGNAL("itemSelectionChanged()"), self.itemStateChanged)
Пример #3
0
    def __init__(self):
        QWidget.__init__(self)
        self.ui = Ui_DriveSelectionWidget()
        self.ui.setupUi(self)
        self.storage = None
        self.intf = None
        self.shrink_operations = None
        self.clear_partdisks = None
        self.selected_disks = []

        self.useAllSpace, self.replaceExistingLinux, self.shrinkCurrent, self.useFreeSpace, self.createCustom = range(5)
        self.ui.drives.itemSelectionChanged.connect(self.itemStateChanged)
Пример #4
0
class Widget(QtGui.QWidget, ScreenWidget):
    title = _("Select a Drive to Install Pardus")
    icon = "drive-harddisk"
    help = _('''
<p>
You can install Pardus if you have an unpartitioned-unused disk space 
of 4GBs (10 GBs recommended) or an unused-unpartitioned disk. 
The disk area or partition selected for installation will automatically 
be formatted. Therefore, it is advised to backup your data to avoid future problems.
</p>
<p>Auto-partitioning will automatically format the select disk part/partition 
and install Pardus. If you like, you can do the partitioning manually or make 
Pardus create a new partition for installation.</p>
''')

    def __init__(self, *args):
        QtGui.QWidget.__init__(self,None)
        self.ui = Ui_DriveSelectionWidget()
        self.ui.setupUi(self)
        self.storage = ctx.storage
        self.intf = ctx.yali
        self.shrinkOperations = None
        self.clearPartDisks = None

        self.useAllSpace, self.replaceExistingLinux, self.shrinkCurrent, self.useFreeSpace, self.createCustom = range(5)
        self.connect(self.ui.drives, SIGNAL("itemSelectionChanged()"), self.itemStateChanged)

    def itemStateChanged(self):
        self.selectedDisks = []

        for item in self.ui.drives.selectedItems():
            self.selectedDisks.append(str(item.statusTip()))

        self.selectedDisks.sort(self.storage.compareDisks)

        if len(self.selectedDisks):
            ctx.mainScreen.enableNext()
        else:
            ctx.mainScreen.disableNext()

    def typeChanged(self, index):
        if index != self.createCustom:
            self.ui.review.setEnabled(True)
            if index == self.shrinkCurrent:
                shrinkwidget = ShrinkWidget(self)
                if shrinkwidget.check():
                    self.intf.messageWindow(_("Error"),
                                            _("No partitions are available to resize.Only physical\n"
                                              "partitions with specific filesystems can be resized."),
                                            type="warning", customIcon="error")
                else:
                    shrinkwidget.show()
                    if shrinkwidget.operations:
                        self.shrinkOperations = shrinkwidget.operations
                    else:
                        return False
        else:
            self.ui.review.setEnabled(False)

        ctx.mainScreen.enableNext()

    def fillDrives(self):
        disks = filter(lambda d: not d.format.hidden, self.storage.disks)
        self.ui.drives.clear()

        count = 1
        for disk in disks:
            if disk.size >= ctx.consts.min_root_size:
                # GUI Hack
                if len(disks) <= 4:
                    self.ui.drives.setMinimumWidth(150 * len(disks))
                    self.ui.drives.setMaximumWidth(150 * len(disks))
                else:
                    self.ui.drives.setMinimumWidth(600)
                    self.ui.drives.setMaximumWidth(600)

                name = "Disk %s" % count
                drive = DriveItem(self.ui.drives, disk, name)
                listItem = DrivesListItem(self.ui.drives, drive)
                listItem.setStatusTip(disk.name)
                listItem.setToolTip("System Path: %s" % (disk.name))
                self.ui.drives.setGridSize(QSize(drive.width(), drive.height()))
                self.ui.drives.setItemWidget(listItem, drive)

            count += 1
        # select the first disk by default
        self.ui.drives.setCurrentRow(0)

    def shown(self):
        self.storage.reset()
        if self.storage.checkNoDisks(self.intf):
            sys.exit(0)
        else:
            self.fillDrives()

    def nextCheck(self):

        if len(self.selectedDisks) == 0:
            self.intf.messageWindow(_("Error"),
                                    _("You must select at least one "
                                      "drive to be used for installation."), customIcon="error")
            return False
        else:
            self.selectedDisks.sort(self.storage.compareDisks)
            self.storage.clearPartDisks = self.selectedDisks
            return True

    def execute(self):
        return self.nextCheck()
Пример #5
0
class Widget(QWidget, ScreenWidget):
    name = "driveSelection"

    def __init__(self):
        QWidget.__init__(self)
        self.ui = Ui_DriveSelectionWidget()
        self.ui.setupUi(self)
        self.storage = None
        self.intf = None
        self.shrink_operations = None
        self.clear_partdisks = None
        self.selected_disks = []

        self.useAllSpace, self.replaceExistingLinux, self.shrinkCurrent, self.useFreeSpace, self.createCustom = range(
            5)
        self.ui.drives.itemSelectionChanged.connect(self.itemStateChanged)

    def itemStateChanged(self):
        self.selected_disks = []

        for item in self.ui.drives.selectedItems():
            self.selected_disks.append(str(item.statusTip()))

        self.selected_disks.sort(self.storage.compareDisks)

        if len(self.selected_disks):
            ctx.mainScreen.enableNext()
        else:
            ctx.mainScreen.disableNext()

    def fillDrives(self):
        disks = filter(lambda d: not d.format.hidden, self.storage.disks)
        self.ui.drives.clear()

        count = 1
        for disk in disks:
            if disk.size >= ctx.consts.min_root_size:
                # GUI Hack
                if len(disks) <= 4:
                    self.ui.drives.setMinimumWidth(150 * len(disks))
                    self.ui.drives.setMaximumWidth(150 * len(disks))
                else:
                    self.ui.drives.setMinimumWidth(600)
                    self.ui.drives.setMaximumWidth(600)

                name = "Disk %s" % count
                drive = DriveItem(self.ui.drives, disk, name)
                item = DrivesListItem(self.ui.drives, drive)
                item.setStatusTip(disk.name)
                item.setToolTip(_("Device Path: %s") % (disk.name))
                self.ui.drives.setGridSize(QSize(drive.width(),
                                                 drive.height()))
                self.ui.drives.setItemWidget(item, drive)

            count += 1
        # select the first disk by default
        self.ui.drives.setCurrentRow(0)

    def shown(self):
        self.storage = ctx.storage
        self.intf = ctx.interface
        self.fillDrives()

    def nextCheck(self):

        if len(self.selected_disks) == 0:
            self.intf.messageWindow(_("Error"),
                                    _("You must select at least one "
                                      "drive to be used for installation."),
                                    type="error")
            return False
        else:
            self.selected_disks.sort(self.storage.compareDisks)
            self.storage.clearPartDisks = self.selected_disks
            return True

    def execute(self):
        return self.nextCheck()
Пример #6
0
class Widget(QWidget, ScreenWidget):
    name = "driveSelection"

    def __init__(self):
        QWidget.__init__(self)
        self.ui = Ui_DriveSelectionWidget()
        self.ui.setupUi(self)
        self.storage = None
        self.intf = None
        self.shrink_operations = None
        self.clear_partdisks = None
        self.selected_disks = []

        self.useAllSpace, self.replaceExistingLinux, self.shrinkCurrent, self.useFreeSpace, self.createCustom = range(5)
        self.ui.drives.itemSelectionChanged.connect(self.itemStateChanged)

    def itemStateChanged(self):
        self.selected_disks = []

        for item in self.ui.drives.selectedItems():
            self.selected_disks.append(str(item.statusTip()))

        self.selected_disks.sort(self.storage.compareDisks)

        if len(self.selected_disks):
            ctx.mainScreen.enableNext()
        else:
            ctx.mainScreen.disableNext()

    def fillDrives(self):
        disks = filter(lambda d: not d.format.hidden, self.storage.disks)
        self.ui.drives.clear()

        count = 1
        for disk in disks:
            if disk.size >= ctx.consts.min_root_size:
                # GUI Hack
                if len(disks) <= 4:
                    self.ui.drives.setMinimumWidth(150 * len(disks))
                    self.ui.drives.setMaximumWidth(150 * len(disks))
                else:
                    self.ui.drives.setMinimumWidth(600)
                    self.ui.drives.setMaximumWidth(600)

                name = "Disk %s" % count
                drive = DriveItem(self.ui.drives, disk, name)
                item = DrivesListItem(self.ui.drives, drive)
                item.setStatusTip(disk.name)
                item.setToolTip(_("Device Path: %s") % (disk.name))
                self.ui.drives.setGridSize(QSize(drive.width(), drive.height()))
                self.ui.drives.setItemWidget(item, drive)

            count += 1
        # select the first disk by default
        self.ui.drives.setCurrentRow(0)

    def shown(self):
        self.storage = ctx.storage
        self.intf = ctx.interface
        self.fillDrives()

    def nextCheck(self):

        if len(self.selected_disks) == 0:
            self.intf.messageWindow(_("Error"),
                                    _("You must select at least one "
                                      "drive to be used for installation."), type="error")
            return False
        else:
            self.selected_disks.sort(self.storage.compareDisks)
            self.storage.clearPartDisks = self.selected_disks
            return True

    def execute(self):
        return self.nextCheck()