2014-10-27 23:29:04 +01:00
# -*- coding: utf-8 -*-
import wx
class updateProfile ( wx . Dialog ) :
def __init__ ( self , parent ) :
super ( updateProfile , self ) . __init__ ( parent = None , id = - 1 )
self . SetTitle ( _ ( u " Update your profile " ) )
panel = wx . Panel ( self )
labelName = wx . StaticText ( panel , - 1 , _ ( u " Name (20 characters maximum) " ) )
self . name = wx . TextCtrl ( panel , - 1 )
self . name . SetFocus ( )
dc = wx . WindowDC ( self . name )
dc . SetFont ( self . name . GetFont ( ) )
self . name . SetSize ( dc . GetTextExtent ( " 0 " * 20 ) )
labelLocation = wx . StaticText ( panel , - 1 , _ ( u " Location " ) )
self . location = wx . TextCtrl ( panel , - 1 )
dc = wx . WindowDC ( self . location )
dc . SetFont ( self . location . GetFont ( ) )
self . location . SetSize ( dc . GetTextExtent ( " 0 " * 35 ) )
labelUrl = wx . StaticText ( panel , - 1 , _ ( u " Website " ) )
self . url = wx . TextCtrl ( panel , - 1 )
dc = wx . WindowDC ( self . url )
dc . SetFont ( self . url . GetFont ( ) )
self . url . SetSize ( dc . GetTextExtent ( " 0 " * 22 ) )
labelDescription = wx . StaticText ( panel , - 1 , _ ( u " Bio (160 characters maximum) " ) )
self . description = wx . TextCtrl ( panel , - 1 , size = ( 400 , 400 ) )
dc = wx . WindowDC ( self . description )
dc . SetFont ( self . description . GetFont ( ) )
self . description . SetSize ( dc . GetTextExtent ( " 0 " * 160 ) )
self . image = None
self . upload_image = wx . Button ( panel , - 1 , _ ( u " Upload a picture " ) )
self . upload_image . Bind ( wx . EVT_BUTTON , self . onUpload_picture )
ok = wx . Button ( panel , wx . ID_OK , _ ( u " Update profile " ) )
ok . Bind ( wx . EVT_BUTTON , self . onUpdateProfile )
ok . SetDefault ( )
close = wx . Button ( panel , wx . ID_CANCEL , _ ( " Close " ) )
sizer = wx . BoxSizer ( wx . VERTICAL )
nameBox = wx . BoxSizer ( wx . HORIZONTAL )
nameBox . Add ( labelName , 0 , wx . ALL , 5 )
nameBox . Add ( self . name , 0 , wx . ALL , 5 )
sizer . Add ( nameBox , 0 , wx . ALL , 5 )
locationBox = wx . BoxSizer ( wx . HORIZONTAL )
locationBox . Add ( labelLocation , 0 , wx . ALL , 5 )
locationBox . Add ( self . location , 0 , wx . ALL , 5 )
sizer . Add ( locationBox , 0 , wx . ALL , 5 )
urlBox = wx . BoxSizer ( wx . HORIZONTAL )
urlBox . Add ( labelUrl , 0 , wx . ALL , 5 )
urlBox . Add ( self . url , 0 , wx . ALL , 5 )
sizer . Add ( urlBox , 0 , wx . ALL , 5 )
descriptionBox = wx . BoxSizer ( wx . HORIZONTAL )
descriptionBox . Add ( labelDescription , 0 , wx . ALL , 5 )
descriptionBox . Add ( self . description , 0 , wx . ALL , 5 )
sizer . Add ( descriptionBox , 0 , wx . ALL , 5 )
sizer . Add ( self . upload_image , 5 , wx . CENTER , 5 )
btnBox = wx . BoxSizer ( wx . HORIZONTAL )
btnBox . Add ( ok , 0 , wx . ALL , 5 )
btnBox . Add ( close , 0 , wx . ALL , 5 )
sizer . Add ( btnBox , 0 , wx . ALL , 5 )
panel . SetSizer ( sizer )
self . SetClientSize ( sizer . CalcMin ( ) )
def onUpload_picture ( self , ev ) :
if self . upload_image . GetLabel ( ) == _ ( u " Discard image " ) :
self . upload_image . SetLabel ( _ ( u " Upload a picture " ) )
2014-11-13 03:41:29 +01:00
self . controller . clear_file ( )
2014-10-27 23:29:04 +01:00
else :
openFileDialog = wx . FileDialog ( self , _ ( u " Select the picture to be uploaded " ) , " " , " " , _ ( " Image files (*.png, *.jpg, *.gif)|*.png; *.jpg; *.gif " ) , wx . FD_OPEN | wx . FD_FILE_MUST_EXIST )
if openFileDialog . ShowModal ( ) == wx . ID_CANCEL :
return
2014-11-13 03:41:29 +01:00
self . controller . get_file ( openFileDialog . GetPath ( ) )
2014-10-27 23:29:04 +01:00
self . upload_image . SetLabel ( _ ( u " Discard image " ) )
ev . Skip ( )
2014-11-13 03:41:29 +01:00
def get_response ( self ) :
return self . ShowModal ( )