mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-01-03 01:18:00 +03:00
2f7931da63
Inspired by some discussion from here: https://bugzilla.redhat.com/show_bug.cgi?id=1759454 Most libvirt storage volume creation doesn't actually do anything with allocation, besides interpreting cap == alloc and cap != alloc. The exceptions are zfs volumes, and raw file volumes. But it's unclear what the usecase is for the latter at all. This drops the allocation spinner and adds checkbox in its place 'Allocate entire volume now'. When enabled, it sets cap == alloc. We only show this for file volumes. For qcow2 it defaults to unselected (sparse), for all others it defaults to selected. If it's not showing, it defaults to selected. Bundled with this change is showing this field for qcow2, where we previously only allowed nonsparse here. Libvirt and qemu-img support non-sparse qcow2 these days. Signed-off-by: Cole Robinson <crobinso@redhat.com>
519 lines
28 KiB
XML
519 lines
28 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!-- Generated with glade 3.36.0 -->
|
|
<interface>
|
|
<requires lib="gtk+" version="3.22"/>
|
|
<object class="GtkAdjustment" id="adjustment1">
|
|
<property name="upper">100000</property>
|
|
<property name="value">1</property>
|
|
<property name="step_increment">1</property>
|
|
<property name="page_increment">1000</property>
|
|
</object>
|
|
<object class="GtkAdjustment" id="adjustment2">
|
|
<property name="upper">100000</property>
|
|
<property name="value">1</property>
|
|
<property name="step_increment">1</property>
|
|
<property name="page_increment">1000</property>
|
|
</object>
|
|
<object class="GtkImage" id="image1">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="stock">gtk-new</property>
|
|
</object>
|
|
<object class="GtkImage" id="image2">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="stock">gtk-open</property>
|
|
</object>
|
|
<object class="GtkWindow" id="vmm-create-vol">
|
|
<property name="can_focus">False</property>
|
|
<property name="title" translatable="yes">Add a Storage Volume</property>
|
|
<property name="type_hint">dialog</property>
|
|
<signal name="delete-event" handler="on_vmm_create_vol_delete_event" swapped="no"/>
|
|
<child>
|
|
<object class="GtkBox" id="box1">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<property name="spacing">6</property>
|
|
<child>
|
|
<object class="GtkViewport" id="header">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="resize_mode">queue</property>
|
|
<child>
|
|
<object class="GtkBox" id="hbox77">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="border_width">6</property>
|
|
<property name="spacing">10</property>
|
|
<child>
|
|
<object class="GtkImage" id="image4">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="stock">gtk-new</property>
|
|
<property name="icon_size">6</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="hbox2">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<object class="GtkLabel" id="label1">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">start</property>
|
|
<property name="label" translatable="yes"><span size='large'>Create storage volume</span></property>
|
|
<property name="use_markup">True</property>
|
|
<style>
|
|
<class name="vmm-header-text"/>
|
|
</style>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<style>
|
|
<class name="vmm-header"/>
|
|
</style>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="vbox1">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="border_width">12</property>
|
|
<property name="orientation">vertical</property>
|
|
<property name="spacing">18</property>
|
|
<child>
|
|
<object class="GtkAlignment" id="details-box-align">
|
|
<property name="width_request">400</property>
|
|
<property name="height_request">400</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="right_padding">1</property>
|
|
<child>
|
|
<object class="GtkBox" id="details-box">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<property name="spacing">12</property>
|
|
<child>
|
|
<object class="GtkLabel" id="label3">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">start</property>
|
|
<property name="label" translatable="yes">Create a storage unit to be used directly by a virtual machine.</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkGrid" id="vbox4">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="row_spacing">18</property>
|
|
<child>
|
|
<object class="GtkGrid" id="table1">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="hexpand">True</property>
|
|
<property name="row_spacing">6</property>
|
|
<property name="column_spacing">6</property>
|
|
<child>
|
|
<object class="GtkBox" id="hbox10">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="spacing">2</property>
|
|
<child>
|
|
<object class="GtkEntry" id="vol-name">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="invisible_char">●</property>
|
|
<property name="width_chars">30</property>
|
|
<signal name="changed" handler="on_vol_name_changed" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="vol-name-suffix">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label">suffix</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">1</property>
|
|
<property name="top_attach">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="label4">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">start</property>
|
|
<property name="label" translatable="yes">_Name:</property>
|
|
<property name="use_underline">True</property>
|
|
<property name="mnemonic_widget">vol-name</property>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">0</property>
|
|
<property name="top_attach">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="label5">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">start</property>
|
|
<property name="label" translatable="yes">F_ormat:</property>
|
|
<property name="use_underline">True</property>
|
|
<property name="mnemonic_widget">vol-format</property>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">0</property>
|
|
<property name="top_attach">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkComboBox" id="vol-format">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">start</property>
|
|
<property name="has_entry">True</property>
|
|
<signal name="changed" handler="on_vol_format_changed" swapped="no"/>
|
|
<child internal-child="entry">
|
|
<object class="GtkEntry" id="vol-format-entry">
|
|
<property name="can_focus">True</property>
|
|
<property name="width_chars">10</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">1</property>
|
|
<property name="top_attach">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">0</property>
|
|
<property name="top_attach">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkBox" id="size-box">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<property name="spacing">5</property>
|
|
<child>
|
|
<object class="GtkBox" id="vbox6">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="orientation">vertical</property>
|
|
<child>
|
|
<object class="GtkLabel" id="label10">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">start</property>
|
|
<property name="label" translatable="yes"><b>Storage Volume Quota</b></property>
|
|
<property name="use_markup">True</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="vol-parent-info">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">start</property>
|
|
<property name="label"><b>pool's</b> available space: X GiB</property>
|
|
<property name="use_markup">True</property>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkGrid" id="table2">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="row_spacing">6</property>
|
|
<property name="column_spacing">6</property>
|
|
<child>
|
|
<object class="GtkSpinButton" id="vol-capacity">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="invisible_char">●</property>
|
|
<property name="text" translatable="yes">1.0</property>
|
|
<property name="adjustment">adjustment2</property>
|
|
<property name="climb_rate">10</property>
|
|
<property name="digits">1</property>
|
|
<property name="value">1</property>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">1</property>
|
|
<property name="top_attach">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="label8">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">start</property>
|
|
<property name="label" translatable="yes">GiB</property>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">2</property>
|
|
<property name="top_attach">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkLabel" id="label6">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="halign">end</property>
|
|
<property name="label" translatable="yes">Ca_pacity:</property>
|
|
<property name="use_underline">True</property>
|
|
<property name="mnemonic_widget">vol-capacity</property>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">0</property>
|
|
<property name="top_attach">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkCheckButton" id="vol-nonsparse">
|
|
<property name="label" translatable="yes">_Allocate entire volume now</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">False</property>
|
|
<property name="use_underline">True</property>
|
|
<property name="draw_indicator">True</property>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">1</property>
|
|
<property name="top_attach">1</property>
|
|
<property name="width">2</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkAlignment">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<child>
|
|
<placeholder/>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">0</property>
|
|
<property name="top_attach">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">0</property>
|
|
<property name="top_attach">2</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkExpander" id="backing-expander">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="vexpand">False</property>
|
|
<property name="expanded">True</property>
|
|
<child>
|
|
<object class="GtkGrid" id="grid1">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="margin_top">4</property>
|
|
<property name="column_spacing">6</property>
|
|
<child>
|
|
<object class="GtkLabel" id="label11">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="label" translatable="yes">Pa_th:</property>
|
|
<property name="use_underline">True</property>
|
|
<property name="mnemonic_widget">backing-store</property>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">0</property>
|
|
<property name="top_attach">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkEntry" id="backing-store">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="hexpand">True</property>
|
|
<child internal-child="accessible">
|
|
<object class="AtkObject" id="backing-store-atkobject">
|
|
<property name="AtkObject::accessible-name">backing-store</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">1</property>
|
|
<property name="top_attach">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton" id="backing-browse">
|
|
<property name="label" translatable="yes">_Browse...</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<property name="image">image2</property>
|
|
<property name="use_underline">True</property>
|
|
<signal name="clicked" handler="on_backing_browse_clicked" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">2</property>
|
|
<property name="top_attach">0</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child type="label">
|
|
<object class="GtkLabel" id="label2">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="hexpand">False</property>
|
|
<property name="label" translatable="yes">_Backing store</property>
|
|
<property name="use_underline">True</property>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="left_attach">0</property>
|
|
<property name="top_attach">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">0</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButtonBox" id="hbuttonbox1">
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">False</property>
|
|
<property name="spacing">6</property>
|
|
<property name="layout_style">end</property>
|
|
<child>
|
|
<object class="GtkButton" id="vol-cancel">
|
|
<property name="label">gtk-cancel</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<property name="use_stock">True</property>
|
|
<signal name="clicked" handler="on_vol_cancel_clicked" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
<child>
|
|
<object class="GtkButton" id="vol-create">
|
|
<property name="label" translatable="yes">_Finish</property>
|
|
<property name="visible">True</property>
|
|
<property name="can_focus">True</property>
|
|
<property name="receives_default">True</property>
|
|
<property name="image">image1</property>
|
|
<property name="use_underline">True</property>
|
|
<signal name="clicked" handler="on_vol_create_clicked" swapped="no"/>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">False</property>
|
|
<property name="position">2</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">False</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
<packing>
|
|
<property name="expand">True</property>
|
|
<property name="fill">True</property>
|
|
<property name="position">1</property>
|
|
</packing>
|
|
</child>
|
|
</object>
|
|
</child>
|
|
<child type="titlebar">
|
|
<placeholder/>
|
|
</child>
|
|
</object>
|
|
</interface>
|