diff options
-rw-r--r-- | iw/task_gui.py | 217 | ||||
-rw-r--r-- | ui/addrepo.glade | 957 |
2 files changed, 908 insertions, 266 deletions
diff --git a/iw/task_gui.py b/iw/task_gui.py index d8dd7fd34..ce9c88ae0 100644 --- a/iw/task_gui.py +++ b/iw/task_gui.py @@ -61,6 +61,34 @@ def setupRepo(anaconda, repo): return True class RepoEditor: + # Window-level callbacks + def on_addRepoDialog_destroy(self, widget, *args): + pass + + def on_cancelButton_clicked(self, widget, *args): + pass + + def on_okButton_clicked(self, widget, *args): + pass + + def on_typeComboBox_changed(self, widget, *args): + if widget.get_active() == -1: + return + + # When the combo box's value is changed, set the notebook's current + # page to match. This requires that the combo box and notebook have + # the same method types at the same indices (so, HTTP must be the + # same position on both, etc.). + self.notebook.set_current_page(widget.get_active()) + + # URL-specific callbacks + def on_proxyCheckbox_toggled(self, widget, *args): + table = self.dxml.get_widget("proxyTable") + table.set_sensitive(widget.get_active()) + + def on_mirrorlistCheckbox_toggled(self, widget, *args): + pass + def __init__(self, anaconda, repoObj): self.anaconda = anaconda self.backend = self.anaconda.backend @@ -68,30 +96,46 @@ class RepoEditor: self.repo = repoObj (self.dxml, self.dialog) = gui.getGladeWidget("addrepo.glade", "addRepoDialog") + self.dxml.signal_autoconnect(self) + + self.notebook = self.dxml.get_widget("typeNotebook") self.nameEntry = self.dxml.get_widget("nameEntry") - self.baseurlButton = self.dxml.get_widget("baseurlButton") + self.typeComboBox = self.dxml.get_widget("typeComboBox") + self.baseurlEntry = self.dxml.get_widget("baseurlEntry") - self.mirrorlistButton = self.dxml.get_widget("mirrorlistButton") - self.mirrorlistEntry = self.dxml.get_widget("mirrorlistEntry") + self.mirrorlistCheckbox = self.dxml.get_widget("mirrorlistCheckbox") self.proxyCheckbox = self.dxml.get_widget("proxyCheckbox") self.proxyEntry = self.dxml.get_widget("proxyEntry") self.proxyTable = self.dxml.get_widget("proxyTable") self.usernameEntry = self.dxml.get_widget("usernameEntry") self.passwordEntry = self.dxml.get_widget("passwordEntry") - self.dialog.set_title(_("Edit Repository")) + self.nfsServerEntry = self.dxml.get_widget("nfsServerEntry") + self.nfsPathEntry = self.dxml.get_widget("nfsPathEntry") + self.nfsOptionsEntry = self.dxml.get_widget("nfsOptionsEntry") + + self.partitionComboBox = self.dxml.get_widget("partitionComboBox") + self.directoryChooser = self.dxml.get_widget("directoryChooserButton") + + # Given a method string, return the index of the typeComboBox that should + # be made active in order to match. + def _methodToIndex(self, method): + mapping = {"http": 0, "ftp": 0, "https": 0, + "cdrom": 1, + "nfs": 2, "nfsiso": 2, + "hd": 3} + + try: + return mapping[method.split(':')[0].lower()] + except: + return 0 def _enableRepo(self, repourl): # FIXME: Don't do anything here for now. return True - def _proxyToggled(self, *args): - self.proxyTable.set_sensitive(self.proxyCheckbox.get_active()) - - def _radioChanged(self, *args): - active = self.baseurlButton.get_active() - self.baseurlEntry.set_sensitive(active) - self.mirrorlistEntry.set_sensitive(not active) + def _isBaseRepo(self): + return not self.repo.addon and not self.repo.name.startswith("Driver Disk") def _validURL(self, url): return len(url) > 0 and (url.startswith("http://") or @@ -99,38 +143,92 @@ class RepoEditor: url.startswith("ftp://")) def createDialog(self): + self.dialog.set_title(_("Edit Repository")) + if self.repo: self.nameEntry.set_text(self.repo.name) - - if self.repo.mirrorlist: - self.mirrorlistEntry.set_text(self.repo.mirrorlist) - self.mirrorlistButton.set_active(True) + self.typeComboBox.set_active(self._methodToIndex(self.anaconda.methodstr)) + + if self.anaconda.methodstr.startswith("nfs"): + (method, server, dir) = self.anaconda.methodstr.split(":") + self.nfsServerEntry.set_text(server) + self.nfsPathEntry.set_text(dir) + self.nfsOptionsEntry.set_text("") + elif self.anaconda.methodstr.startswith("cdrom:"): + pass + elif self.anaconda.methodstr.startswith("hd:"): + (device, fstype, path) = self.anaconda.methodstr[3:].split(":", 3) + # find device in self.partitionComboBox and select it + self.directoryChooser.set_current_folder(path) else: - self.baseurlEntry.set_text(self.repo.baseurl[0]) - self.baseurlButton.set_active(True) - - if self.repo.proxy: - self.proxyCheckbox.set_active(True) - self.proxyTable.set_sensitive(True) - self.proxyEntry.set_text(self.repo.proxy) - self.usernameEntry.set_text(self.repo.proxy_username) - self.passwordEntry.set_text(self.repo.proxy_password) + if self.repo.mirrorlist: + self.baseurlEntry.set_text(self.repo.mirrorlist) + self.mirrorlistCheckbox.set_active(True) + else: + self.baseurlEntry.set_text(self.repo.baseurl[0]) + self.mirrorlistCheckbox.set_active(True) + + if self.repo.proxy: + self.proxyCheckbox.set_active(True) + self.proxyTable.set_sensitive(True) + self.proxyEntry.set_text(self.repo.proxy) + self.usernameEntry.set_text(self.repo.proxy_username) + self.passwordEntry.set_text(self.repo.proxy_password) + else: + self.proxyCheckbox.set_active(False) + self.proxyTable.set_sensitive(False) + else: + self.typeComboBox.set_active(0) + self.proxyCheckbox.set_active(False) + self.proxyTable.set_sensitive(False) gui.addFrame(self.dialog) - # Initialize UI elements that should be sensitive or not. - self._proxyToggled() - self._radioChanged() - - self.proxyCheckbox.connect("toggled", self._proxyToggled) - self.baseurlButton.connect("toggled", self._radioChanged) - lbl = self.dxml.get_widget("descLabel") txt = lbl.get_text() lbl.set_text(txt) self.dialog.show_all() + def _applyURL(self, repo): + if self.proxyCheckbox.get_active(): + repo.proxy = self.proxyEntry.get_text() + repo.proxy.strip() + if not self._validURL(repo.proxy): + self.intf.messageWindow(_("Invalid Proxy URL"), + _("You must provide an HTTP, HTTPS, " + "or FTP URL to a proxy.")) + return False + + repo.proxy_username = self.usernameEntry.get_text() + repo.proxy_password = self.passwordEntry.get_text() + + repourl = self.baseurlEntry.get_text() + repourl.strip() + if not self._validURL(repourl): + self.intf.messageWindow(_("Invalid Repository URL"), + _("You must provide an HTTP, HTTPS, " + "or FTP URL to a repository.")) + return False + + if self.mirrorlistCheckbox.get_active(): + repo.mirrorlist = [repourl] + else: + repo.baseurl = repourl + + repo.name = self.nameEntry.get_text() + repo.basecachedir = self.backend.ayum.conf.cachedir + return True + + def _applyMedia(self, repo): + return True + + def _applyNfs(self, repo): + return True + + def _applyHd(self, repo): + return True + def run(self, createNewRepoObj=False): while True: rc = self.dialog.run() @@ -144,53 +242,28 @@ class RepoEditor: _("You must provide a repository name.")) continue - proxy = None - proxy_username = None - proxy_password = None - - if self.proxyCheckbox.get_active(): - proxy = self.proxyEntry.get_text() - proxy.strip() - if not self._validURL(proxy): - self.intf.messageWindow(_("Invalid Proxy URL"), - _("You must provide an HTTP, HTTPS, " - "or FTP URL to a proxy.")) - continue - - proxy_username = self.usernameEntry.get_text() - proxy_password = self.passwordEntry.get_text() - if createNewRepoObj: self.repo = AnacondaYumRepo(repoid=reponame.replace(" ", "")) else: self.repo.repoid = reponame.replace(" ", "") - if self.baseurlButton.get_active(): - repourl = self.baseurlEntry.get_text() - else: - repourl = self.mirrorlistEntry.get_text() + type = self.typeComboBox.get_active() - repourl.strip() - if not self._validURL(repourl): - self.intf.messageWindow(_("Invalid Repository URL"), - _("You must provide an HTTP, HTTPS, " - "or FTP URL to a repository.")) - continue - - if self.baseurlButton.get_active(): - self.repo.baseurl = [repourl] + if type == 0: + if not self._applyURL(self.repo): + continue + elif type == 1: + if not self._applyMedia(self.repo): + continue + elif type == 2: + if not self._applyNfs(self.repo): + continue else: - self.repo.mirrorlist = repourl - - self.repo.name = reponame - self.repo.basecachedir = self.backend.ayum.conf.cachedir - - if proxy: - self.repo.proxy = proxy - self.repo.proxy_username = proxy_username - self.repo.proxy_password = proxy_password + if not self._applyHd(self.repo): + continue - self.repo.enable() + repourl = self.baseurlEntry.get_text() + repourl.strip() if not self._enableRepo(repourl): continue @@ -212,6 +285,10 @@ class RepoCreator(RepoEditor): def __init__(self, anaconda): RepoEditor.__init__(self, anaconda, None) + def createDialog(self): + RepoEditor.createDialog(self) + self.dialog.set_title(_("Add Repository")) + def _enableRepo(self, repourl): try: self.backend.ayum.repos.add(self.repo) diff --git a/ui/addrepo.glade b/ui/addrepo.glade index e946dcaf2..f9487556c 100644 --- a/ui/addrepo.glade +++ b/ui/addrepo.glade @@ -5,11 +5,12 @@ <widget class="GtkDialog" id="addRepoDialog"> <property name="width_request">440</property> - <property name="title" translatable="yes" context="yes">Add Repository</property> + <property name="height_request">400</property> + <property name="visible">True</property> + <property name="title" translatable="yes">Add Repository</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_CENTER</property> <property name="modal">False</property> - <property name="default_height">260</property> <property name="resizable">True</property> <property name="destroy_with_parent">False</property> <property name="decorated">True</property> @@ -20,37 +21,44 @@ <property name="focus_on_map">True</property> <property name="urgency_hint">False</property> <property name="has_separator">True</property> + <signal name="destroy" handler="on_addRepoDialog_destroy" last_modification_time="Thu, 24 Apr 2008 14:22:26 GMT"/> <child internal-child="vbox"> - <widget class="GtkVBox" id="dialog1-vbox"> + <widget class="GtkVBox" id="dialog-vbox1"> <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"> + <widget class="GtkHButtonBox" id="dialog-action_area1"> <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="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> + <signal name="clicked" handler="on_cancelButton_clicked" last_modification_time="Thu, 24 Apr 2008 14:25:58 GMT"/> </widget> </child> <child> <widget class="GtkButton" id="okButton"> <property name="visible">True</property> + <property name="can_default">True</property> + <property name="can_focus">True</property> <property name="label">gtk-ok</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">-5</property> + <signal name="clicked" handler="on_okButton_clicked" last_modification_time="Thu, 24 Apr 2008 14:25:51 GMT"/> </widget> </child> </widget> @@ -64,15 +72,14 @@ <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> + <property name="spacing">5</property> <child> <widget class="GtkLabel" id="descLabel"> <property name="visible">True</property> - <property name="label" translatable="yes" context="yes">Please provide the location where your additional software can be installed from.</property> + <property name="label" translatable="yes">Please provide the configuration information for this software repository.</property> <property name="use_underline">False</property> <property name="use_markup">False</property> <property name="justify">GTK_JUSTIFY_LEFT</property> @@ -81,7 +88,7 @@ <property name="xalign">0.5</property> <property name="yalign">0.5</property> <property name="xpad">0</property> - <property name="ypad">0</property> + <property name="ypad">5</property> <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> <property name="width_chars">-1</property> <property name="single_line_mode">False</property> @@ -95,39 +102,47 @@ </child> <child> - <widget class="GtkHBox" id="hbox1"> + <widget class="GtkTable" id="table5"> <property name="visible">True</property> + <property name="n_rows">2</property> + <property name="n_columns">2</property> <property name="homogeneous">False</property> - <property name="spacing">6</property> + <property name="row_spacing">5</property> + <property name="column_spacing">5</property> <child> <widget class="GtkLabel" id="nameLabel"> <property name="visible">True</property> - <property name="label" translatable="yes" context="yes"><b>Repository _name:</b></property> + <property name="label" translatable="yes"><b>Repository _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="xalign">0.5</property> <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="mnemonic_widget">nameEntry</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> + <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="nameEntry"> <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> @@ -137,304 +152,854 @@ <property name="activates_default">False</property> </widget> <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> + <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="y_options"></property> </packing> </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - - <child> - <widget class="GtkTable" id="table1"> - <property name="visible">True</property> - <property name="n_rows">2</property> - <property name="n_columns">2</property> - <property name="homogeneous">False</property> - <property name="row_spacing">12</property> - <property name="column_spacing">6</property> <child> - <widget class="GtkRadioButton" id="baseurlButton"> + <widget class="GtkLabel" id="typeLabel"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Repository _URL</property> + <property name="label" translatable="yes"><b>Repository _type:</b></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="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.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="left_attach">0</property> <property name="right_attach">1</property> - <property name="top_attach">0</property> - <property name="bottom_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="GtkRadioButton" id="mirrorlistButton"> + <widget class="GtkComboBox" id="typeComboBox"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Repository _Mirror</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="items" translatable="yes">HTTP/FTP +CD/DVD +NFS +Hard Drive</property> + <property name="add_tearoffs">False</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">baseurlButton</property> + <signal name="changed" handler="on_typeComboBox_changed" last_modification_time="Thu, 24 Apr 2008 13:48:24 GMT"/> </widget> <packing> - <property name="left_attach">0</property> - <property name="right_attach">1</property> + <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">fill</property> - <property name="y_options"></property> + <property name="y_options">fill</property> </packing> </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkNotebook" id="typeNotebook"> + <property name="visible">True</property> + <property name="show_tabs">False</property> + <property name="show_border">False</property> + <property name="tab_pos">GTK_POS_TOP</property> + <property name="scrollable">False</property> + <property name="enable_popup">False</property> <child> - <widget class="GtkEntry" id="baseurlEntry"> + <widget class="GtkVBox" id="urlVBox"> <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="homogeneous">False</property> + <property name="spacing">5</property> + + <child> + <widget class="GtkHBox" id="hbox3"> + <property name="visible">True</property> + <property name="homogeneous">False</property> + <property name="spacing">5</property> + + <child> + <widget class="GtkLabel" id="label20"> + <property name="visible">True</property> + <property name="label" translatable="yes">Repository _URL</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="mnemonic_widget">baseurlEntry</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="GtkEntry" id="baseurlEntry"> + <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> + </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> + + <child> + <widget class="GtkCheckButton" id="mirrorlistCheckbox"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">URL is a _mirror list</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="toggled" handler="on_mirrorlistCheckbox_toggled" last_modification_time="Thu, 24 Apr 2008 15:23:14 GMT"/> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkCheckButton" id="proxyCheckbox"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Configure _proxy</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="toggled" handler="on_proxyCheckbox_toggled" last_modification_time="Thu, 24 Apr 2008 13:49:32 GMT"/> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + + <child> + <widget class="GtkTable" id="proxyTable"> + <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">10</property> + <property name="column_spacing">5</property> + + <child> + <widget class="GtkLabel" id="label11"> + <property name="visible">True</property> + <property name="label" translatable="yes">Proxy U_RL</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</property> + <property name="yalign">0.5</property> + <property name="xpad">10</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">proxyEntry</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="GtkLabel" id="label12"> + <property name="visible">True</property> + <property name="label" translatable="yes">Proxy u_sername</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</property> + <property name="yalign">0.5</property> + <property name="xpad">10</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">usernameEntry</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="GtkLabel" id="label13"> + <property name="visible">True</property> + <property name="label" translatable="yes">Proxy pass_word</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</property> + <property name="yalign">0.5</property> + <property name="xpad">10</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">passwordEntry</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="GtkEntry" id="proxyEntry"> + <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> + </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="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="usernameEntry"> + <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> + </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="passwordEntry"> + <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> + </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> + </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="left_attach">1</property> - <property name="right_attach">2</property> - <property name="top_attach">0</property> - <property name="bottom_attach">1</property> - <property name="y_options"></property> + <property name="tab_expand">False</property> + <property name="tab_fill">True</property> </packing> </child> <child> - <widget class="GtkEntry" id="mirrorlistEntry"> + <widget class="GtkLabel" id="label21"> <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="label" translatable="yes"></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> </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> + <property name="type">tab</property> </packing> </child> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> - <child> - <widget class="GtkCheckButton" id="proxyCheckbox"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">_Proxy configuration</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> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> - </packing> - </child> + <child> + <placeholder/> + </child> - <child> - <widget class="GtkTable" id="proxyTable"> - <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">12</property> - <property name="column_spacing">6</property> + <child> + <widget class="GtkLabel" id="label22"> + <property name="visible">True</property> + <property name="label" translatable="yes"></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> + </widget> + <packing> + <property name="type">tab</property> + </packing> + </child> <child> - <widget class="GtkLabel" id="label2"> + <widget class="GtkLabel" id="label19"> <property name="visible">True</property> - <property name="label" translatable="yes">Proxy U_RL:</property> - <property name="use_underline">True</property> - <property name="use_markup">True</property> + <property name="label" translatable="yes"></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</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="mnemonic_widget">proxyEntry</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> + <property name="tab_expand">False</property> + <property name="tab_fill">True</property> </packing> </child> <child> - <widget class="GtkLabel" id="label3"> + <widget class="GtkLabel" id="label23"> <property name="visible">True</property> - <property name="label" translatable="yes">Proxy u_sername:</property> - <property name="use_underline">True</property> - <property name="use_markup">True</property> + <property name="label" translatable="yes"></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</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="mnemonic_widget">usernameEntry</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> + <property name="type">tab</property> </packing> </child> <child> - <widget class="GtkLabel" id="label4"> + <placeholder/> + </child> + + <child> + <widget class="GtkLabel" id="label24"> <property name="visible">True</property> - <property name="label" translatable="yes">Proxy pass_word:</property> - <property name="use_underline">True</property> - <property name="use_markup">True</property> + <property name="label" translatable="yes"></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</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="mnemonic_widget">passwordEntry</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> + <property name="type">tab</property> </packing> </child> <child> - <widget class="GtkEntry" id="proxyEntry"> + <widget class="GtkTable" id="table3"> <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="n_rows">3</property> + <property name="n_columns">2</property> + <property name="homogeneous">False</property> + <property name="row_spacing">10</property> + <property name="column_spacing">5</property> + + <child> + <widget class="GtkLabel" id="label14"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Server</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</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">nfsServerEntry</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="GtkLabel" id="label15"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Path</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</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">nfsPathEntry</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="GtkLabel" id="label16"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Options</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</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">nfsOptionsEntry</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="GtkEntry" id="nfsServerEntry"> + <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> + </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="y_options"></property> + </packing> + </child> + + <child> + <widget class="GtkEntry" id="nfsPathEntry"> + <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> + </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="nfsOptionsEntry"> + <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> + </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> + </packing> + </child> </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="y_options"></property> + <property name="tab_expand">False</property> + <property name="tab_fill">True</property> </packing> </child> <child> - <widget class="GtkEntry" id="usernameEntry"> + <widget class="GtkLabel" id="label25"> <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="label" translatable="yes"></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> </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> + <property name="type">tab</property> + </packing> + </child> + + <child> + <placeholder/> + </child> + + <child> + <widget class="GtkLabel" id="label26"> + <property name="visible">True</property> + <property name="label" translatable="yes"></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> + </widget> + <packing> + <property name="type">tab</property> </packing> </child> <child> - <widget class="GtkEntry" id="passwordEntry"> + <widget class="GtkTable" id="table4"> <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="n_rows">2</property> + <property name="n_columns">2</property> + <property name="homogeneous">False</property> + <property name="row_spacing">10</property> + <property name="column_spacing">5</property> + + <child> + <widget class="GtkLabel" id="label17"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Partition</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</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="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="GtkLabel" id="label18"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Directory</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</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="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="GtkComboBox" id="partitionComboBox"> + <property name="visible">True</property> + <property name="add_tearoffs">False</property> + <property name="focus_on_click">True</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="y_options">fill</property> + </packing> + </child> + + <child> + <widget class="GtkFileChooserButton" id="directoryChooserButton"> + <property name="visible">True</property> + <property name="title" translatable="yes">Select A Directory</property> + <property name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property> + <property name="local_only">True</property> + <property name="show_hidden">False</property> + <property name="do_overwrite_confirmation">False</property> + <property name="width_chars">-1</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">fill</property> + <property name="y_options">fill</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="tab_expand">False</property> + <property name="tab_fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkLabel" id="label27"> + <property name="visible">True</property> + <property name="label" translatable="yes"></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> + </widget> + <packing> + <property name="type">tab</property> + </packing> + </child> + + <child> + <placeholder/> + </child> + + <child> + <widget class="GtkLabel" id="label28"> + <property name="visible">True</property> + <property name="label" translatable="yes"></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> + </widget> + <packing> + <property name="type">tab</property> </packing> </child> </widget> <packing> <property name="padding">0</property> <property name="expand">True</property> - <property name="fill">True</property> + <property name="fill">False</property> </packing> </child> </widget> |