Package Gnumed :: Package timelinelib :: Package wxgui :: Package dialogs :: Package feedback :: Module controller
[frames] | no frames]

Source Code for Module Gnumed.timelinelib.wxgui.dialogs.feedback.controller

 1  # Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018  Rickard Lindberg, Roger Lindberg 
 2  # 
 3  # This file is part of Timeline. 
 4  # 
 5  # Timeline is free software: you can redistribute it and/or modify 
 6  # it under the terms of the GNU General Public License as published by 
 7  # the Free Software Foundation, either version 3 of the License, or 
 8  # (at your option) any later version. 
 9  # 
10  # Timeline is distributed in the hope that it will be useful, 
11  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
12  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
13  # GNU General Public License for more details. 
14  # 
15  # You should have received a copy of the GNU General Public License 
16  # along with Timeline.  If not, see <http://www.gnu.org/licenses/>. 
17   
18   
19  import urllib.parse 
20   
21  from timelinelib.wxgui.framework import Controller 
22   
23   
24 -class FeedbackDialogController(Controller):
25
26 - def on_init(self, webbrowser, info, subject, body):
27 self.webbrowser = webbrowser 28 self.view.SetInfoText(info) 29 self.view.SetToText("thetimelineproj-user@lists.sourceforge.net") 30 self.view.SetSubjectText(subject) 31 self.view.SetBodyText(body)
32
33 - def on_default_click(self, event):
34 attr = self._get_url_attributes() 35 url = "mailto:%s?subject=%s&body=%s" % ( 36 urllib.parse.quote(attr["to"]), 37 urllib.parse.quote(attr["subject"]), 38 urllib.parse.quote(attr["body"]), 39 ) 40 self.webbrowser.open(url)
41
42 - def on_gmail_click(self, event):
43 attr = self._get_url_attributes() 44 url = "https://mail.google.com/mail/?compose=1&view=cm&fs=1&to=%s&su=%s&body=%s" % ( 45 urllib.parse.quote(attr["to"]), 46 urllib.parse.quote(attr["subject"]), 47 urllib.parse.quote(attr["body"]), 48 ) 49 self.webbrowser.open(url)
50
51 - def on_other_click(self, event):
52 self.view.DisplayInformationMessage( 53 caption=_("Other email client"), 54 message=_("Copy and paste this email into your favorite email client and send it from there."))
55
56 - def _get_url_attributes(self):
57 return { 58 "to": self.view.GetToText().encode("utf-8"), 59 "subject": self.view.GetSubjectText().encode("utf-8"), 60 "body": self.view.GetBodyText().encode("utf-8"), 61 }
62