Ignore:
Timestamp:
03/14/22 08:46:34 (2 years ago)
Author:
István Váradi <ivaradi@…>
Branch:
python3
hg-Phase:
(<MercurialRepository 1 'hg:/home/ivaradi/mlx/hg' '/'>, 'public')
Message:

Updates for the new crew and passenger handling (re #357)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/mlx/gui/pirep.py

    r999 r1033  
    336336                                    bookedFlight.arrivalTime.minute))
    337337
    338         self._numPassengers.set_text(str(bookedFlight.numPassengers))
    339         self._numCrew.set_text(str(bookedFlight.numCrew))
     338        self._numPassengers.set_text(str(bookedFlight.numPassengers) + " + " +
     339                                     str(bookedFlight.numChildren) + " + " +
     340                                     str(bookedFlight.numInfants))
     341        self._numCrew.set_text(str(bookedFlight.numCockpitCrew) + " + " +
     342                               str(bookedFlight.numCabinCrew))
    340343        self._bagWeight.set_text(str(bookedFlight.bagWeight))
    341344        self._cargoWeight.set_text(str(bookedFlight.cargoWeight))
     
    378381            self._rating.set_text("%.1f %%" % (rating,))
    379382
    380         self._flownNumCrew.set_text("%d" % (pirep.numCrew,))
     383        self._flownNumCabinCrew.set_text("%d" % (pirep.numCabinCrew,))
    381384        self._flownNumPassengers.set_text("%d" % (pirep.numPassengers,))
    382385        self._flownBagWeight.set_text("%.0f" % (pirep.bagWeight,))
     
    696699                                    width = 4)
    697700
    698         self._flownNumCrew = \
     701        self._flownNumCabinCrew = \
    699702            PIREPViewer.tableAttach(table, 1, 0,
    700703                                    xstr("pirepView_numCrew"),
     
    898901                                    bookedFlight.arrivalTime.minute))
    899902
    900         self._numPassengers.set_text(str(bookedFlight.numPassengers))
    901         self._numCrew.set_text(str(bookedFlight.numCrew))
     903        self._numPassengers.set_text(str(bookedFlight.numPassengers) + " + " +
     904                                     str(bookedFlight.numChildren) + " + " +
     905                                     str(bookedFlight.numInfants))
     906        self._numCrew.set_text(str(bookedFlight.numCockpitCrew) + " + " +
     907                               str(bookedFlight.numCabinCrew))
    902908        self._bagWeight.set_text(str(bookedFlight.bagWeight))
    903909        self._cargoWeight.set_text(str(bookedFlight.cargoWeight))
     
    943949            self._rating.set_text("%.1f %%" % (rating,))
    944950
    945         self._flownNumCrew.set_value(pirep.numCrew)
     951        self._flownNumCabinCrew.set_value(pirep.numCabinCrew)
    946952        self._flownNumPassengers.set_value(pirep.numPassengers)
     953        self._flownNumChildren.set_value(pirep.numChildren)
     954        self._flownNumInfants.set_value(pirep.numInfants)
    947955        self._flownBagWeight.set_value(pirep.bagWeight)
    948956        self._flownCargoWeight.set_value(pirep.cargoWeight)
     
    13621370        table.set_homogeneous(False)
    13631371
    1364         self._flownNumPassengers = \
    1365             PIREPEditor.tableAttachSpinButton(table, 0, 0,
    1366                                               xstr("pirepView_numPassengers"),
    1367                                               300)
    1368         self._flownNumPassengers.connect("value-changed", self._updateButtons)
    1369         self._flownNumPassengers.set_tooltip_text(xstr("payload_pax_tooltip"))
    1370 
    1371         self._flownNumCrew = \
    1372             PIREPEditor.tableAttachSpinButton(table, 2, 0,
     1372        label = Gtk.Label("<b>" + xstr("pirepView_numPassengers") + "</b>")
     1373        label.set_use_markup(True)
     1374        alignment = Gtk.Alignment(xalign = 0.0, yalign = 0.5,
     1375                                  xscale = 0.0, yscale = 0.0)
     1376        alignment.add(label)
     1377        table.attach(alignment, 0, 1, 0, 1)
     1378
     1379
     1380
     1381        self._flownNumPassengers = button = Gtk.SpinButton()
     1382        button.set_range(min = 0, max = 300)
     1383        button.set_increments(step = 1, page = 10)
     1384        button.set_numeric(True)
     1385        button.set_width_chars(2)
     1386        button.set_alignment(1.0)
     1387        button.connect("value-changed", self._updateButtons)
     1388        button.set_tooltip_text(xstr("payload_pax_tooltip"))
     1389
     1390        self._flownNumChildren = button = Gtk.SpinButton()
     1391        button.set_range(min = 0, max = 300)
     1392        button.set_increments(step = 1, page = 10)
     1393        button.set_numeric(True)
     1394        button.set_width_chars(2)
     1395        button.set_alignment(1.0)
     1396        button.connect("value-changed", self._updateButtons)
     1397        button.set_tooltip_text(xstr("payload_pax_children_tooltip"))
     1398
     1399        self._flownNumInfants = button = Gtk.SpinButton()
     1400        button.set_range(min = 0, max = 300)
     1401        button.set_increments(step = 1, page = 10)
     1402        button.set_numeric(True)
     1403        button.set_width_chars(2)
     1404        button.set_alignment(1.0)
     1405        button.connect("value-changed", self._updateButtons)
     1406        button.set_tooltip_text(xstr("payload_pax_infants_tooltip"))
     1407
     1408        paxBox = Gtk.HBox()
     1409        paxBox.pack_start(self._flownNumPassengers, False, False, 0)
     1410        paxBox.pack_start(Gtk.Label("+"), False, False, 4)
     1411        paxBox.pack_start(self._flownNumChildren, False, False, 0)
     1412        paxBox.pack_start(Gtk.Label("+"), False, False, 4)
     1413        paxBox.pack_start(self._flownNumInfants, False, False, 0)
     1414        paxBox.set_halign(Gtk.Align.END)
     1415
     1416        table.attach(paxBox, 1, 4, 0, 1)
     1417
     1418        self._flownNumCabinCrew = \
     1419            PIREPEditor.tableAttachSpinButton(table, 4, 0,
    13731420                                              xstr("pirepView_numCrew"),
    13741421                                              10)
    1375         self._flownNumCrew.connect("value-changed", self._updateButtons)
    1376         self._flownNumCrew.set_tooltip_text(xstr("payload_crew_tooltip"))
     1422        self._flownNumCabinCrew.connect("value-changed", self._updateButtons)
     1423        self._flownNumCabinCrew.set_tooltip_text(xstr("payload_crew_tooltip"))
    13771424
    13781425        self._flownBagWeight = \
     
    14931540                                 buffer.get_end_iter(), True)
    14941541
     1542        numPassengers = \
     1543            self._flownNumPassengers.get_value_as_int() + \
     1544            self._flownNumChildren.get_value_as_int() + \
     1545            self._flownNumInfants.get_value_as_int()
     1546
     1547        minCabinCrew = 0 if numPassengers==0 else \
     1548            (bookedFlight.maxPassengers // 50) + 1
     1549
    14951550        self._okButton.set_sensitive(self._modified and timesOK and
    14961551                                     self._flightInfo.faultsFullyExplained and
    1497                                      self._flownNumPassengers.get_value_as_int()>0 and
    1498                                      self._flownNumCrew.get_value_as_int()>2 and
     1552                                     numPassengers<=bookedFlight.maxPassengers and
     1553                                     self._flownNumCabinCrew.get_value_as_int()>=minCabinCrew and
    14991554                                     self._fuelUsed.get_value_as_int()>0 and
    15001555                                     self._departureRunway.get_text_length()>0 and
     
    15471602        pirep.fuelUsed = self._fuelUsed.get_value()
    15481603
    1549         pirep.numCrew = self._flownNumCrew.get_value()
     1604        pirep.numCabinCrew = self._flownNumCabinCrew.get_value()
    15501605        pirep.numPassengers = self._flownNumPassengers.get_value()
    15511606        pirep.bagWeight = self._flownBagWeight.get_value()
Note: See TracChangeset for help on using the changeset viewer.