def _populate_pools(self): pool_list = self.widget("pool-list") curpool = self._current_pool() model = pool_list.get_model() # Prevent events while the model is modified pool_list.set_model(None) try: pool_list.get_selection().unselect_all() model.clear() for pool in self.conn.list_pools(): pool.disconnect_by_obj(self) pool.connect("state-changed", self._pool_changed_cb) pool.connect("refreshed", self._pool_changed_cb) name = pool.get_name() typ = StoragePool.get_pool_type_desc(pool.get_type()) label = "%s\n<span size='small'>%s</span>" % (name, typ) row = [None] * POOL_NUM_COLUMNS row[POOL_COLUMN_CONNKEY] = pool.get_connkey() row[POOL_COLUMN_LABEL] = label row[POOL_COLUMN_ISACTIVE] = pool.is_active() row[POOL_COLUMN_PERCENT] = _get_pool_size_percent(pool) model.append(row) finally: pool_list.set_model(model) uiutil.set_list_selection(pool_list, curpool and curpool.get_connkey() or None)
def _populate_pools(self): pool_list = self.widget("pool-list") curpool = self._current_pool() model = pool_list.get_model() # Prevent events while the model is modified pool_list.set_model(None) try: pool_list.get_selection().unselect_all() model.clear() for pool in self.conn.list_pools(): pool.disconnect_by_obj(self) pool.connect("state-changed", self._pool_changed_cb) pool.connect("refreshed", self._pool_changed_cb) name = pool.get_name() typ = StoragePool.get_pool_type_desc(pool.get_type()) label = "%s\n<span size='small'>%s</span>" % (name, typ) row = [None] * POOL_NUM_COLUMNS row[POOL_COLUMN_CONNKEY] = pool.get_connkey() row[POOL_COLUMN_LABEL] = label row[POOL_COLUMN_ISACTIVE] = pool.is_active() row[POOL_COLUMN_PERCENT] = _get_pool_size_percent(pool) model.append(row) finally: pool_list.set_model(model) uiutil.set_list_selection(pool_list, curpool and curpool.get_connkey() or None)
def populate_pool_type(self): model = self.widget("pool-type").get_model() model.clear() types = StoragePool.get_pool_types() types.sort() for typ in types: model.append([typ, "%s: %s" % (typ, StoragePool.get_pool_type_desc(typ))])
def populate_pool_type(self): model = self.widget("pool-type").get_model() model.clear() types = StoragePool.get_pool_types() types.sort() for typ in types: model.append([typ, "%s: %s" % (typ, StoragePool.get_pool_type_desc(typ))])
def _build_pool_type_list(self): # [pool type, label] model = Gtk.ListStore(str, str) type_list = self.widget("pool-type") type_list.set_model(model) uiutil.init_combo_text_column(type_list, 1) for typ in sorted(StoragePool.get_pool_types()): desc = StoragePool.get_pool_type_desc(typ) model.append([typ, "%s: %s" % (typ, desc)])
def populate_storage_pools(pool_list, conn, curpool): model = pool_list.get_model() # Prevent events while the model is modified pool_list.set_model(None) model.clear() for uuid in conn.list_pool_uuids(): per = get_pool_size_percent(conn, uuid) pool = conn.get_pool(uuid) name = pool.get_name() typ = StoragePool.get_pool_type_desc(pool.get_type()) label = "%s\n<span size='small'>%s</span>" % (name, typ) model.append([uuid, label, pool.is_active(), per]) pool_list.set_model(model) uiutil.set_row_selection(pool_list, curpool and curpool.get_uuid() or None)
def populate_pool_state(self, uuid): pool = self.conn.get_pool(uuid) pool.tick() auto = pool.get_autostart() active = pool.is_active() # Set pool details state self.widget("pool-details").set_sensitive(True) self.widget("pool-name").set_markup("<b>%s:</b>" % pool.get_name()) self.widget("pool-name-entry").set_text(pool.get_name()) self.widget("pool-name-entry").set_editable(not active) self.widget("pool-sizes").set_markup( """<span size="large">%s Free</span> / <i>%s In Use</i>""" % (pool.get_pretty_available(), pool.get_pretty_allocation())) self.widget("pool-type").set_text( StoragePool.get_pool_type_desc(pool.get_type())) self.widget("pool-location").set_text( pool.get_target_path()) self.widget("pool-state-icon").set_from_icon_name( ((active and self.ICON_RUNNING) or self.ICON_SHUTOFF), Gtk.IconSize.BUTTON) self.widget("pool-state").set_text( (active and _("Active")) or _("Inactive")) self.widget("pool-autostart").set_label( (auto and _("On Boot")) or _("Never")) self.widget("pool-autostart").set_active(auto) self.widget("vol-list").set_sensitive(active) self.repopulate_storage_volumes() self.widget("pool-delete").set_sensitive(not active) self.widget("pool-stop").set_sensitive(active) self.widget("pool-start").set_sensitive(not active) self.widget("vol-add").set_sensitive(active) self.widget("vol-add").set_tooltip_text(_("Create new volume")) self.widget("vol-delete").set_sensitive(False) if active and not pool.supports_volume_creation(): self.widget("vol-add").set_sensitive(False) self.widget("vol-add").set_tooltip_text( _("Pool does not support volume creation"))