Changeset 151:a2584357ff6c for src/mlx/gui/flight.py
- Timestamp:
- 05/05/12 11:02:52 (12 years ago)
- Branch:
- default
- hg-Phase:
- (<MercurialRepository 1 'hg:/home/ivaradi/mlx/hg' '/'>, 'public')
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/mlx/gui/flight.py
r146 r151 2187 2187 self._saveButton = self.addButton(xstr("finish_save"), 2188 2188 sensitive = False, 2189 tooltip = xstr("finish_send_tooltip")) 2190 2191 self._sendButton = self.addButton(xstr("finish_send"), default = True, 2189 clicked = self._saveClicked, 2190 tooltip = xstr("finish_save_tooltip")) 2191 self._savePIREPDialog = None 2192 self._lastSavePath = None 2193 2194 self._sendButton = self.addButton(xstr("sendPIREP"), default = True, 2192 2195 sensitive = False, 2193 2196 clicked = self._sendClicked, 2194 tooltip = xstr(" finish_send_tooltip"))2197 tooltip = xstr("sendPIREP_tooltip")) 2195 2198 2196 2199 @property … … 2255 2258 self._gate.get_active()>=0) 2256 2259 2257 #self._saveButton.set_sensitive(sensitive)2260 self._saveButton.set_sensitive(sensitive) 2258 2261 self._sendButton.set_sensitive(sensitive) 2259 2262 … … 2266 2269 self._updateButtons() 2267 2270 2271 def _saveClicked(self, button): 2272 """Called when the Save PIREP button is clicked.""" 2273 gui = self._wizard.gui 2274 2275 bookedFlight = gui.bookedFlight 2276 tm = time.gmtime() 2277 2278 fileName = "%s %s %02d%02d %s-%s.pirep" % \ 2279 (gui.loginResult.pilotID, 2280 str(bookedFlight.departureTime.date()), 2281 tm.tm_hour, tm.tm_min, 2282 bookedFlight.departureICAO, 2283 bookedFlight.arrivalICAO) 2284 2285 dialog = self._getSaveDialog() 2286 2287 if self._lastSavePath is None: 2288 pirepDirectory = gui.config.pirepDirectory 2289 if pirepDirectory is not None: 2290 dialog.set_current_folder(pirepDirectory) 2291 else: 2292 dialog.set_current_folder(os.path.dirname(self._lastSavePath)) 2293 2294 dialog.set_current_name(fileName) 2295 result = dialog.run() 2296 dialog.hide() 2297 2298 if result==RESPONSETYPE_OK: 2299 pirep = PIREP(gui) 2300 2301 self._lastSavePath = dialog.get_filename() 2302 2303 if pirep.save(self._lastSavePath): 2304 type = MESSAGETYPE_INFO 2305 message = xstr("finish_save_done") 2306 secondary = None 2307 else: 2308 type = MESSAGETYPE_ERROR 2309 message = xstr("finish_save_failed") 2310 secondary = xstr("finish_save_failed_sec") 2311 2312 dialog = gtk.MessageDialog(parent = gui.mainWindow, 2313 type = type, message_format = message) 2314 dialog.add_button(xstr("button_ok"), RESPONSETYPE_OK) 2315 dialog.set_title(WINDOW_TITLE_BASE) 2316 if secondary is not None: 2317 dialog.format_secondary_markup(secondary) 2318 2319 dialog.run() 2320 dialog.hide() 2321 2322 def _getSaveDialog(self): 2323 """Get the PIREP saving dialog. 2324 2325 If it does not exist yet, create it.""" 2326 if self._savePIREPDialog is None: 2327 gui = self._wizard.gui 2328 dialog = gtk.FileChooserDialog(title = WINDOW_TITLE_BASE + " - " + 2329 xstr("finish_save_title"), 2330 action = FILE_CHOOSER_ACTION_SAVE, 2331 buttons = (gtk.STOCK_CANCEL, 2332 RESPONSETYPE_CANCEL, 2333 gtk.STOCK_OK, RESPONSETYPE_OK), 2334 parent = gui.mainWindow) 2335 dialog.set_modal(True) 2336 dialog.set_do_overwrite_confirmation(True) 2337 2338 filter = gtk.FileFilter() 2339 filter.set_name(xstr("loadPIREP_filter_pireps")) 2340 filter.add_pattern("*.pirep") 2341 dialog.add_filter(filter) 2342 2343 filter = gtk.FileFilter() 2344 filter.set_name(xstr("loadPIREP_filter_all")) 2345 filter.add_pattern("*.*") 2346 dialog.add_filter(filter) 2347 2348 self._savePIREPDialog = dialog 2349 2350 return self._savePIREPDialog 2351 2352 2268 2353 def _sendClicked(self, button): 2269 2354 """Called when the Send button is clicked.""" 2270 2355 pirep = PIREP(self._wizard.gui) 2271 gui = self._wizard.gui 2272 gui.beginBusy(xstr("finish_send_busy")) 2273 gui.webHandler.sendPIREP(self._pirepSentCallback, pirep) 2274 2275 def _pirepSentCallback(self, returned, result): 2276 """Callback for the PIREP sending result.""" 2277 gobject.idle_add(self._handlePIREPSent, returned, result) 2356 self._wizard.gui.sendPIREP(pirep, 2357 callback = self._handlePIREPSent) 2278 2358 2279 2359 def _handlePIREPSent(self, returned, result): 2280 2360 """Callback for the PIREP sending result.""" 2281 self._wizard.gui.endBusy()2282 secondaryMarkup = None2283 type = MESSAGETYPE_ERROR2284 if returned:2285 if result.success:2286 type = MESSAGETYPE_INFO2287 messageFormat = xstr("finish_send_success")2288 secondaryMarkup = xstr("finish_send_success_sec")2289 elif result.alreadyFlown:2290 messageFormat = xstr("finish_send_already")2291 secondaryMarkup = xstr("finish_send_already_sec")2292 elif result.notAvailable:2293 messageFormat = xstr("finish_send_notavail")2294 else:2295 messageFormat = xstr("finish_send_unknown")2296 secondaryMarkup = xstr("finish_send_unknown_sec")2297 else:2298 print "PIREP sending failed", result2299 messageFormat = xstr("finish_send_failed")2300 secondaryMarkup = xstr("finish_send_failed_sec")2301 2302 dialog = gtk.MessageDialog(parent = self._wizard.gui.mainWindow,2303 type = type, message_format = messageFormat)2304 dialog.add_button(xstr("button_ok"), RESPONSETYPE_OK)2305 dialog.set_title(WINDOW_TITLE_BASE)2306 if secondaryMarkup is not None:2307 dialog.format_secondary_markup(secondaryMarkup)2308 2309 dialog.run()2310 dialog.hide()2311 2312 2361 if self._wizard.gui.config.onlineGateSystem and returned and result.success: 2313 2362 bookedFlight = self._wizard.bookedFlight
Note:
See TracChangeset
for help on using the changeset viewer.