diff options
author | Jeremy Katz <katzj@redhat.com> | 2006-07-13 21:13:52 +0000 |
---|---|---|
committer | Jeremy Katz <katzj@redhat.com> | 2006-07-13 21:13:52 +0000 |
commit | 769e452071b2e00bcb6a9a1f34a8b9114302a4bd (patch) | |
tree | 2a388d278f7ffd339f499b20b1fb419935634713 | |
parent | e08ca4d23202b831bb7fe71cb42414ed7014f3c4 (diff) | |
download | anaconda-769e452071b2e00bcb6a9a1f34a8b9114302a4bd.tar.gz anaconda-769e452071b2e00bcb6a9a1f34a8b9114302a4bd.tar.xz anaconda-769e452071b2e00bcb6a9a1f34a8b9114302a4bd.zip |
* iw/autopart_type.py: Support add drive button, add basic
infrastructure for adding disks, specifically for iSCSI.
* ui/iscsi-config.glade: Change around to use a dialog for
configuring iSCSI targets.
* ui/adddrive.glade: Glade file for adding disks.
* ui/autopart.glade: Add add disk button.
-rw-r--r-- | iw/autopart_type.py | 99 | ||||
-rw-r--r-- | ui/adddrive.glade | 220 | ||||
-rw-r--r-- | ui/autopart.glade | 79 | ||||
-rw-r--r-- | ui/iscsi-config.glade | 293 |
4 files changed, 557 insertions, 134 deletions
diff --git a/iw/autopart_type.py b/iw/autopart_type.py index b1d90c4e1..692392267 100644 --- a/iw/autopart_type.py +++ b/iw/autopart_type.py @@ -18,6 +18,7 @@ import gtk import gobject import autopart +import rhpl from rhpl.translate import _, N_ from constants import * import gui @@ -25,6 +26,8 @@ from partition_ui_helpers_gui import * from iw_gui import * from flags import flags +import network +import partitioning class PartitionTypeWindow(InstallWindow): def __init__(self, ics): @@ -92,6 +95,95 @@ class PartitionTypeWindow(InstallWindow): self.xml.get_widget("reviewButton").set_sensitive(True) + def addIscsiDrive(self): + if not network.hasActiveNetDev(): + self.intf.messageWindow("Need network", + "iSCSI devices can only be configured " + "if you have a network available.", + custom_icon="error") + return gtk.RESPONSE_CANCEL + + # FIXME: need to ensure network is up + (dxml, dialog) = gui.getGladeWidget("iscsi-config.glade", + "iscsiDialog") + gui.addFrame(dialog) + sg = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL) + map(lambda x: sg.add_widget(dxml.get_widget(x)), + ("iscsiAddrEntry", "iscsiInitiatorEntry")) + + # get the initiator name if it exists and don't allow changing + # once set + if self.anaconda.id.iscsi.initiator: + e = dxml.get_widget("iscsiInitiatorEntry") + e.set_text(self.anaconda.id.iscsi.initiator) + e.set_sensitive(False) + + while 1: + rc = dialog.run() + if rc == gtk.RESPONSE_CANCEL: + break + return rc + + initiator = dxml.get_widget("iscsiInitiatorEntry").get_text() + initiator.strip() + if len(initiator) == 0: + self.intf.messageWindow(_("Invalid Initiator Name"), + _("You must provide a non-zero length " + "initiator name.")) + continue + self.anaconda.id.iscsi.initiator = initiator + + target = dxml.get_widget("iscsiAddrEntry").get_text() + target.strip() + err = None + try: + idx = target.rfind(":") + if idx != -1: + ip = target[:idx] + port = target[idx:] + else: + ip = target + port = "3260" + network.sanityCheckIPString(ip) + except network.IPMissing, msg: + err = msg + except network.IPError, msg: + err = msg + if err: + self.intf.messageWindow(_("Error with Data"), msg) + continue + self.anaconda.id.iscsi.targets.append(target) + + self.anaconda.id.iscsi.discoverTarget(ip, port) + self.anaconda.id.iscsi.loginTarget(ip) + break + + dialog.destroy() + return rc + + + def addDrive(self, button): + (dxml, dialog) = gui.getGladeWidget("adddrive.glade", "addDriveDialog") + if rhpl.getArch() not in ("s390", "s390x"): + dxml.get_widget("zfcpRadio").hide() + gui.addFrame(dialog) + rc = dialog.run() + dialog.hide() + if rc == gtk.RESPONSE_CANCEL: + return + if dxml.get_widget("iscsiRadio").get_active(): + rc = self.addIscsiDrive() + elif dxml.get_widget("zfcpRadio").get_active(): + print "do zfcp" + dialog.destroy() + + if rc != gtk.RESPONSE_CANCEL: + partitioning.partitionObjectsInitialize(self.anaconda) + createAllowedDrivesStore(self.diskset.disks, + self.partitions.autoClearPartDrives, + self.drivelist) + + def getScreen(self, anaconda): self.anaconda = anaconda self.diskset = anaconda.id.diskset @@ -134,7 +226,12 @@ class PartitionTypeWindow(InstallWindow): self.review = not self.dispatch.stepInSkipList("partition") self.xml.get_widget("reviewButton").set_active(self.review) - sigs = { "on_partitionTypeCombo_changed": self.comboChanged } + # FIXME: while iscsi is broken in the kernel... + if not flags.iscsi: + self.xml.get_widget("addButton").hide() + + sigs = { "on_partitionTypeCombo_changed": self.comboChanged, + "on_addButton_clicked": self.addDrive } self.xml.signal_autoconnect(sigs) return vbox diff --git a/ui/adddrive.glade b/ui/adddrive.glade new file mode 100644 index 000000000..4ec4be7a9 --- /dev/null +++ b/ui/adddrive.glade @@ -0,0 +1,220 @@ +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> + +<glade-interface> + +<widget class="GtkDialog" id="addDriveDialog"> + <property name="title" translatable="yes" context="yes">Add Drive</property> + <property name="type">GTK_WINDOW_TOPLEVEL</property> + <property name="window_position">GTK_WIN_POS_NONE</property> + <property name="modal">False</property> + <property name="resizable">True</property> + <property name="destroy_with_parent">False</property> + <property name="decorated">True</property> + <property name="skip_taskbar_hint">False</property> + <property name="skip_pager_hint">False</property> + <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> + <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> + <property name="has_separator">True</property> + + <child internal-child="vbox"> + <widget class="GtkVBox" id="dialog1-vbox"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">0</property> + + <child internal-child="action_area"> + <widget class="GtkHButtonBox" id="dialog1-action_area"> + <property name="visible">True</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> + + <child> + <widget class="GtkButton" id="cancelButton"> + <property name="visible">True</property> + <property name="label">gtk-cancel</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-6</property> + <signal name="clicked" handler="on_cancelButton_clicked"/> + </widget> + </child> + + <child> + <widget class="GtkButton" id="okButton"> + <property name="visible">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-5</property> + <signal name="clicked" handler="on_okButton_clicked"/> + + <child> + <widget class="GtkAlignment" id="alignment1"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">0</property> + <property name="yscale">0</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">0</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkHBox" id="hbox1"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">2</property> + + <child> + <widget class="GtkImage" id="image1"> + <property name="visible">True</property> + <property name="stock">gtk-add</property> + <property name="icon_size">4</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label2"> + <property name="visible">True</property> + <property name="label">_Add drive</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">GTK_PACK_END</property> + </packing> + </child> + + <child> + <widget class="GtkVBox" id="vbox1"> + <property name="border_width">18</property> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">12</property> + + <child> + <widget class="GtkLabel" id="label1"> + <property name="visible">True</property> + <property name="label" translatable="yes" context="yes">How would you like to add additional drives?</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">True</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkVBox" id="vbox2"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">6</property> + + <child> + <widget class="GtkRadioButton" id="iscsiRadio"> + <property name="visible">True</property> + <property name="label" translatable="yes" context="yes">_iSCSI Connection</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <signal name="group-changed" handler="on_radio_changed"/> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkRadioButton" id="zfcpRadio"> + <property name="visible">True</property> + <property name="label" translatable="yes" context="yes">_ZFCP Connection</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="active">False</property> + <property name="inconsistent">False</property> + <property name="draw_indicator">True</property> + <property name="group">iscsiRadio</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> + </packing> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + </child> +</widget> + +</glade-interface> diff --git a/ui/autopart.glade b/ui/autopart.glade index cbef9725f..d66e43065 100644 --- a/ui/autopart.glade +++ b/ui/autopart.glade @@ -138,6 +138,85 @@ <property name="fill">False</property> </packing> </child> + + <child> + <widget class="GtkButton" id="addButton"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_addButton_clicked" last_modification_time="Thu, 13 Jul 2006 15:16:40 GMT"/> + + <child> + <widget class="GtkAlignment" id="alignment2"> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xscale">0</property> + <property name="yscale">0</property> + <property name="top_padding">0</property> + <property name="bottom_padding">0</property> + <property name="left_padding">0</property> + <property name="right_padding">0</property> + + <child> + <widget class="GtkHBox" id="hbox1"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">2</property> + + <child> + <widget class="GtkImage" id="image1"> + <property name="visible">True</property> + <property name="stock">gtk-add</property> + <property name="icon_size">4</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label3"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Add additional drive</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + </widget> + </child> + </widget> + </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> </widget> </child> </widget> diff --git a/ui/iscsi-config.glade b/ui/iscsi-config.glade index cafadbeee..cfe76457e 100644 --- a/ui/iscsi-config.glade +++ b/ui/iscsi-config.glade @@ -3,75 +3,85 @@ <glade-interface> -<widget class="GtkWindow" id="iSCSI"> +<widget class="GtkDialog" id="iscsiDialog"> <property name="visible">True</property> - <property name="title">iSCSI parameters</property> + <property name="title" translatable="yes">Configure iSCSI Parameters</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_NONE</property> <property name="modal">False</property> - <property name="default_width">200</property> - <property name="default_height">150</property> <property name="resizable">True</property> <property name="destroy_with_parent">False</property> <property name="decorated">True</property> <property name="skip_taskbar_hint">False</property> <property name="skip_pager_hint">False</property> - <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> + <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> <property name="focus_on_map">True</property> <property name="urgency_hint">False</property> + <property name="has_separator">True</property> - <child> - <widget class="GtkVBox" id="iscsiRows"> + <child internal-child="vbox"> + <widget class="GtkVBox" id="dialog-vbox1"> <property name="visible">True</property> <property name="homogeneous">False</property> <property name="spacing">0</property> - <child> - <widget class="GtkLabel" id="label2"> + <child internal-child="action_area"> + <widget class="GtkHButtonBox" id="dialog-action_area1"> <property name="visible">True</property> - <property name="label" translatable="yes">iSCSI configuration</property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> - <property name="width_chars">-1</property> - <property name="single_line_mode">False</property> - <property name="angle">0</property> + <property name="layout_style">GTK_BUTTONBOX_END</property> + + <child> + <widget class="GtkButton" id="button1"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-cancel</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-6</property> + </widget> + </child> + + <child> + <widget class="GtkButton" id="button2"> + <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> + <property name="label">gtk-apply</property> + <property name="use_stock">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <property name="response_id">-10</property> + </widget> + </child> </widget> <packing> <property name="padding">0</property> <property name="expand">False</property> - <property name="fill">False</property> + <property name="fill">True</property> + <property name="pack_type">GTK_PACK_END</property> </packing> </child> <child> - <widget class="GtkTable" id="iscsiTable"> - <property name="border_width">10</property> + <widget class="GtkVBox" id="vbox1"> + <property name="border_width">12</property> <property name="visible">True</property> - <property name="n_rows">3</property> - <property name="n_columns">2</property> <property name="homogeneous">False</property> - <property name="row_spacing">4</property> - <property name="column_spacing">4</property> + <property name="spacing">12</property> <child> - <widget class="GtkLabel" id="labeliscsiAddr"> + <widget class="GtkLabel" id="label3"> <property name="visible">True</property> - <property name="label" translatable="yes"><b>_Target IP Address:</b></property> - <property name="use_underline">True</property> - <property name="use_markup">True</property> + <property name="label" translatable="yes">To use iSCSI disks, you must provide the address of your iSCSI target and the iSCSI initiator name you've configured for your host.</property> + <property name="use_underline">False</property> + <property name="use_markup">False</property> <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> + <property name="wrap">True</property> <property name="selectable">False</property> - <property name="xalign">0</property> + <property name="xalign">0.5</property> <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> @@ -81,113 +91,130 @@ <property name="angle">0</property> </widget> <packing> - <property name="left_attach">0</property> - <property name="right_attach">1</property> - <property name="top_attach">0</property> - <property name="bottom_attach">1</property> - <property name="x_options">fill</property> - <property name="y_options"></property> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> </packing> </child> <child> - <widget class="GtkLabel" id="labeliscsiPort"> + <widget class="GtkTable" id="iscsiTable"> + <property name="border_width">12</property> <property name="visible">True</property> - <property name="label" translatable="yes"><b>_Port Number:</b></property> - <property name="use_underline">True</property> - <property name="use_markup">True</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="mnemonic_widget">iscsiPort</property> - <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> - <property name="width_chars">-1</property> - <property name="single_line_mode">False</property> - <property name="angle">0</property> - </widget> - <packing> - <property name="left_attach">0</property> - <property name="right_attach">1</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> + <property name="n_rows">2</property> + <property name="n_columns">2</property> + <property name="homogeneous">False</property> + <property name="row_spacing">6</property> + <property name="column_spacing">6</property> - <child> - <widget class="GtkLabel" id="labeliscsiInititiator"> - <property name="visible">True</property> - <property name="label" translatable="yes"><b>iSCSI Initiator _Name:</b></property> - <property name="use_underline">True</property> - <property name="use_markup">True</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="mnemonic_widget">iscsiInitiator</property> - <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> - <property name="width_chars">-1</property> - <property name="single_line_mode">False</property> - <property name="angle">0</property> - </widget> - <packing> - <property name="left_attach">0</property> - <property name="right_attach">1</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="x_options">fill</property> - <property name="y_options"></property> - </packing> - </child> + <child> + <widget class="GtkLabel" id="labeliscsiAddr"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>_Target IP Address:</b></property> + <property name="use_underline">True</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">iscsiAddrEntry</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> - <child> - <widget class="GtkEntry" id="iscsiPort"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">True</property> - <property name="visibility">True</property> - <property name="max_length">0</property> - <property name="text" translatable="yes"></property> - <property name="has_frame">True</property> - <property name="invisible_char">*</property> - <property name="activates_default">False</property> - <property name="width_chars">6</property> - </widget> - <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">1</property> - <property name="bottom_attach">2</property> - <property name="y_options"></property> - </packing> - </child> + <child> + <widget class="GtkEntry" id="iscsiAddrEntry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">True</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes"></property> + <property name="has_frame">True</property> + <property name="invisible_char">•</property> + <property name="activates_default">False</property> + <property name="width_chars">45</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">0</property> + <property name="bottom_attach">1</property> + <property name="x_options"></property> + <property name="y_options"></property> + </packing> + </child> - <child> - <widget class="GtkEntry" id="iscsiInitiator"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="editable">True</property> - <property name="visibility">True</property> - <property name="max_length">0</property> - <property name="text" translatable="yes"></property> - <property name="has_frame">True</property> - <property name="invisible_char">*</property> - <property name="activates_default">False</property> + <child> + <widget class="GtkLabel" id="labeliscsiInititiator"> + <property name="visible">True</property> + <property name="label" translatable="yes"><b>iSCSI Initiator _Name:</b></property> + <property name="use_underline">True</property> + <property name="use_markup">True</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">iscsiInitiatorEntry</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </widget> + <packing> + <property name="left_attach">0</property> + <property name="right_attach">1</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options">fill</property> + <property name="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="iscsiInitiatorEntry"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">True</property> + <property name="visibility">True</property> + <property name="max_length">0</property> + <property name="text" translatable="yes"></property> + <property name="has_frame">True</property> + <property name="invisible_char">*</property> + <property name="activates_default">False</property> + <property name="width_chars">32</property> + </widget> + <packing> + <property name="left_attach">1</property> + <property name="right_attach">2</property> + <property name="top_attach">1</property> + <property name="bottom_attach">2</property> + <property name="x_options"></property> + <property name="y_options"></property> + </packing> + </child> </widget> <packing> - <property name="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">2</property> - <property name="bottom_attach">3</property> - <property name="y_options"></property> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> </packing> </child> </widget> |