summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lumens <clumens@redhat.com>2009-11-30 16:34:26 -0500
committerChris Lumens <clumens@redhat.com>2009-12-11 17:15:38 -0500
commit9981ff173dbf11e7b33b30bdad2c2ea2dd065a9f (patch)
treeefc763f3ef89876d26eea6f24a1fcc1b307d6573
parent2984bbb90f3be6568cdeb9af1834b56ba245c92f (diff)
downloadanaconda-9981ff173dbf11e7b33b30bdad2c2ea2dd065a9f.tar.gz
anaconda-9981ff173dbf11e7b33b30bdad2c2ea2dd065a9f.tar.xz
anaconda-9981ff173dbf11e7b33b30bdad2c2ea2dd065a9f.zip
Add an interface to select the fancy filtering UI vs. the regular one.
Most Fedora users don't need to see the advanced filtering UI with all its multipath tabs and advanced storage buttons and search interfaces. So, provide an introductory screen that allows skipping all that stuff.
-rw-r--r--dispatch.py1
-rwxr-xr-xgui.py1
-rw-r--r--installclass.py1
-rw-r--r--iw/filter_type.py80
-rw-r--r--kickstart.py2
-rw-r--r--text.py1
-rw-r--r--upgrade.py1
7 files changed, 86 insertions, 1 deletions
diff --git a/dispatch.py b/dispatch.py
index 3c0db0cc7..5bcaab9cc 100644
--- a/dispatch.py
+++ b/dispatch.py
@@ -69,6 +69,7 @@ installSteps = [
("language", ),
("keyboard", ),
("betanag", betaNagScreen, ),
+ ("filtertype", ),
("filter", ),
("storageinit", storageInitialize, ),
("findrootparts", findRootParts, ),
diff --git a/gui.py b/gui.py
index 89feee026..fc93af4fb 100755
--- a/gui.py
+++ b/gui.py
@@ -63,6 +63,7 @@ stepToClass = {
"language" : ("language_gui", "LanguageWindow"),
"keyboard" : ("kbd_gui", "KeyboardWindow"),
"welcome" : ("welcome_gui", "WelcomeWindow"),
+ "filtertype" : ("filter_type", "FilterTypeWindow"),
"filter" : ("filter_gui", "FilterWindow"),
"zfcpconfig" : ("zfcp_gui", "ZFCPWindow"),
"partition" : ("partition_gui", "PartitionWindow"),
diff --git a/installclass.py b/installclass.py
index 8cdb880b7..9978d805c 100644
--- a/installclass.py
+++ b/installclass.py
@@ -89,6 +89,7 @@ class BaseInstallClass(object):
"language",
"keyboard",
"welcome",
+ "filtertype",
"filter",
"storageinit",
"findrootparts",
diff --git a/iw/filter_type.py b/iw/filter_type.py
new file mode 100644
index 000000000..6e17f8bb2
--- /dev/null
+++ b/iw/filter_type.py
@@ -0,0 +1,80 @@
+#
+# Copyright (C) 2009 Red Hat, Inc. All rights reserved.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# Author(s): Chris Lumens <clumens@redhat.com>
+#
+
+import gtk
+import gobject
+import math
+
+from constants import *
+import gui
+from partition_ui_helpers_gui import *
+from pixmapRadioButtonGroup_gui import pixmapRadioButtonGroup
+
+from iw_gui import *
+from flags import flags
+from storage.deviceaction import *
+
+import gettext
+_ = lambda x: gettext.ldgettext("anaconda", x)
+
+class FilterTypeWindow(InstallWindow):
+ def __init__(self, ics):
+ InstallWindow.__init__(self, ics)
+ ics.setTitle("Filter Type")
+ ics.setNextEnabled(True)
+
+ def getNext(self):
+ if self.buttonGroup.getCurrent() == "simple":
+ self.anaconda.id.simpleFilter = True
+ else:
+ self.anaconda.id.simpleFilter = False
+
+ return None
+
+ def getScreen(self, anaconda):
+ self.anaconda = anaconda
+ self.intf = anaconda.intf
+
+ vbox = gtk.VBox()
+ label = gtk.Label(_("What type of devices will your installation "
+ "involve?"))
+ label.set_alignment(0.0, 0.0)
+ vbox.pack_start(label, expand=False, fill=False)
+
+ self.buttonGroup = pixmapRadioButtonGroup()
+ self.buttonGroup.addEntry("simple", _("Basic Storage Devices"),
+ descr=_("Installs or upgrades to typical types "
+ "of storage devices. If you're not sure "
+ "which option is right for you, this is "
+ "probably it."))
+ self.buttonGroup.addEntry("complex", _("Specialized Storage Devices"),
+ descr=_("Installs or upgrades to devices such as "
+ "Storage Area Networks (SANs) or mainframe "
+ "attached disks (DASD), usually in an "
+ "enterprise environment"))
+
+ widget = self.buttonGroup.render()
+ vbox.pack_start(widget, expand=True, fill=True)
+
+ if self.anaconda.id.simpleFilter == True:
+ self.buttonGroup.setCurrent("simple")
+ else:
+ self.buttonGroup.setCurrent("complex")
+
+ return vbox
diff --git a/kickstart.py b/kickstart.py
index 569123570..7b9236a20 100644
--- a/kickstart.py
+++ b/kickstart.py
@@ -349,7 +349,7 @@ class IgnoreDisk(commands.ignoredisk.F8_IgnoreDisk):
def execute(self, anaconda):
anaconda.id.storage.ignoredDisks = self.ignoredisk
anaconda.id.storage.exclusiveDisks = self.onlyuse
- self.handler.skipSteps.extend(["filter"])
+ self.handler.skipSteps.extend(["filter", "filtertype"])
class IscsiData(commands.iscsi.F10_IscsiData):
def execute(self, anaconda):
diff --git a/text.py b/text.py
index c984f8ba8..3691e21b6 100644
--- a/text.py
+++ b/text.py
@@ -549,6 +549,7 @@ class InstallInterface:
self.screen.finish()
def setSteps(self, anaconda):
+ anaconda.dispatch.skipStep("filtertype")
anaconda.dispatch.skipStep("filter")
anaconda.dispatch.skipStep("cleardisksel")
anaconda.dispatch.skipStep("basepkgsel")
diff --git a/upgrade.py b/upgrade.py
index f9caa11ca..f878812a4 100644
--- a/upgrade.py
+++ b/upgrade.py
@@ -265,6 +265,7 @@ def setSteps(anaconda):
"language",
"keyboard",
"welcome",
+ "filtertype",
"filter",
"cleardisksel",
"installtype",