Index: src/mlx/gui/flight.py
===================================================================
--- src/mlx/gui/flight.py	(revision 1160)
+++ src/mlx/gui/flight.py	(revision 1167)
@@ -67,4 +67,29 @@
 comboModel.append(("N/A",))
 comboModel.append(("VECTORS",))
+
+approachModel = Gtk.ListStore(GObject.TYPE_STRING)
+approachModel.append(("ILS",))
+approachModel.append(("RNAV",))
+approachModel.append(("RNAV X",))
+approachModel.append(("RNAV Y",))
+approachModel.append(("RNAV Z",))
+approachModel.append(("RNP",))
+approachModel.append(("RNP X",))
+approachModel.append(("RNP Y",))
+approachModel.append(("RNP Z",))
+approachModel.append(("LOC",))
+approachModel.append(("LOC DME",))
+approachModel.append(("LOC DME X",))
+approachModel.append(("LOC DME Y",))
+approachModel.append(("LOC DME Z",))
+approachModel.append(("LCTR",))
+approachModel.append(("VOR",))
+approachModel.append(("VOR DME",))
+approachModel.append(("VOR DME X",))
+approachModel.append(("VOR DME Y",))
+approachModel.append(("VOR DME Z",))
+approachModel.append(("NDB",))
+approachModel.append(("VISUAL",))
+approachModel.append(("OTHER",))
 
 #-----------------------------------------------------------------------------
@@ -5433,8 +5458,10 @@
         table.attach(label, 1, 2, row, row + 1)
 
-        self._approachType = Gtk.Entry()
-        self._approachType.set_width_chars(10)
+        self._approachType = Gtk.ComboBox(model = approachModel)
+        renderer = Gtk.CellRendererText()
+        self._approachType.pack_start(renderer, True)
+        self._approachType.add_attribute(renderer, "text", 0)
         self._approachType.set_tooltip_text(xstr("landing_approach_tooltip"))
-        self._approachType.connect("changed", self._upperChanged)
+        self._approachType.set_sensitive(False)
         table.attach(self._approachType, 2, 4, row, row + 1)
         label.set_mnemonic_widget(self._approachType)
@@ -5490,5 +5517,6 @@
     def approachType(self):
         """Get the approach type."""
-        return self._approachType.get_text()
+        index = self._approachType.get_active()
+        return self._approachType.get_model()[index][0]
 
     @property
@@ -5541,5 +5569,5 @@
         self._runway.set_sensitive(True)
 
-        self._approachType.set_text("")
+        self._approachType.set_active(0)
         self._approachType.set_sensitive(True)
 
@@ -5582,5 +5610,5 @@
                      self.transition is not None) and \
                     self._runway.get_text()!="" and \
-                    self._approachType.get_text()!="" and \
+                    self.approachType is not None and \
                     self.vref is not None
         self._button.set_sensitive(sensitive)
@@ -6030,4 +6058,8 @@
             self._gate.set_sensitive(False)
 
+
+    def prepareShow(self):
+        """Prepare the page for showing by updating the times and
+        the buttons as well."""
         self._updateTimes()
 
@@ -6038,11 +6070,14 @@
         timesCorrect = not self._tooBigTimeDifference or \
                        gui.hasComments or gui.hasDelayCode
+        otherApproach = self._wizard.approachType=="OTHER" and \
+            not gui.hasComments
         sensitive = gui.flight is not None and \
                     gui.flight.stage==const.STAGE_END and \
                     (self._gatesModel.get_iter_first() is None or
                      self._gate.get_active()>=0) and \
-                     faultsExplained and timesCorrect
-
-        self._updateHelp(faultsExplained, timesCorrect)
+                     faultsExplained and timesCorrect and \
+                     not otherApproach
+
+        self._updateHelp(faultsExplained, timesCorrect, otherApproach)
 
         wasSensitive = self._saveButton.get_sensitive()
@@ -6181,5 +6216,5 @@
         self.updateButtons()
 
-    def _updateHelp(self, faultsExplained, timesCorrect):
+    def _updateHelp(self, faultsExplained, timesCorrect, otherApproach):
         """Update the help text according to the actual situation."""
         if not faultsExplained:
@@ -6187,4 +6222,6 @@
         elif not timesCorrect:
             self.setHelp(xstr("finish_help") + xstr("finish_help_wrongtime"))
+        elif otherApproach:
+            self.setHelp(xstr("finish_help") + xstr("finish_help_otherappr"))
         else:
             self.setHelp(xstr("finish_help") + xstr("finish_help_goodtime"))
