Example #1
0
    def initGui(self):
        self.builder = gtk.Builder()
        self.builder.add_from_file(os.path.join("gui", "glade", "PreferencesDialog.glade"))

        dialog = self.builder.get_object("PreferencesDialog")
        dialog.connect("response", self.on_response)
        self.builder.get_object("notebook").connect("switch-page", self.on_notebook_switch_page)
        dialog.show()

        self.genderComboBox = gtk.combo_box_new_text()
        self.genderComboBox.append_text("Female")
        self.genderComboBox.append_text("Male")
        self.genderComboBox.show()
        self.builder.get_object("genderBox").pack_end(self.genderComboBox, False, False)

        self.dobEntry = MaskEntry()
        self.dobEntry.set_mask("%4d-%2d-%2d")
        self.dobEntry.show()
        self.builder.get_object("dobBox").pack_end(self.dobEntry, False, False)

        try:
            self.builder.get_object("autoLoginButton").set_active(self.mxit.settings["autoLogin"])
            self.builder.get_object("contactInviteAlertButton").set_active(self.mxit.settings["contactInviteAlert"])
            self.builder.get_object("contactOnlineAlertButton").set_active(self.mxit.settings["contactOnlineAlert"])
            self.builder.get_object("messageAlertButton").set_active(self.mxit.settings["newMessageAlert"])
            self.builder.get_object("rememberMoodButton").set_active(self.mxit.settings["rememberMood"])
        except KeyError:
            self.builder.get_object("contactInviteAlertButton").set_active(True)
            self.builder.get_object("contactOnlineAlertButton").set_active(True)
            self.builder.get_object("messageAlertButton").set_active(True)
            self.builder.get_object("autoLoginButton").set_active(True)
            self.builder.get_object("rememberMoodButton").set_active(True)
Example #2
0
class RegistrationWindow:
    def __init__(self, applicationSession):
        self.applicationSession = applicationSession
        
        self.builder = gtk.Builder()
        self.builder.add_from_file(os.path.join('gui', 'glades', 'RegistrationWindow.glade'))
        
        self.dialog = self.builder.get_object('RegistrationDialog')
        
        self.dobEntry = MaskEntry()
        self.dobEntry.set_mask('%4d-%2d-%2d')
        self.dobEntry.set_text('yyyy-mm-dd')
        dobHBox = self.builder.get_object('dobHBox')
        dobHBox.pack_end(self.dobEntry, False, False, 0)
        self.dobEntry.show()
        
        self.dialog.connect('response', self.on_registerButton_activated)
        self.dialog.show()
        
    def on_registerButton_activated(self, *args):
        nickname = self.builder.get_object('nicknameEntry').get_text()
        pin = self.builder.get_object('pinEntry').get_text()
        dob = self.dobEntry.get_text()
        if self.builder.get_object('maleButton').get_active():
            gender = 'male'
        else:
            gender = 'female'
        location = self.builder.get_object('locationEntry').get_text()
        language = self.builder.get_object('languageEntry').get_text()
        
        if not nickname:
            errorDialog("Please enter a nickname")
            return
            
        try:
            int(pin)
            if len(str(pin)) <4:
                raise ValueError
        except ValueError:
            errorDialog("Password must be a number and more than 4 digits")
            return
        self.applicationSession['tempPassword'] = pin
        
        #Todo: use a regular expression to check whether in correct format
        if len(dob) < 10:
            errorDialog("Please enter your Date of Birth")
            return
            
        if not len(location):
            errorDialog("Please enter a location")
            return
            
        if not len(language):
            errorDialog("Please enter a language")
            return
        
        message = RegistrationMessage(pin, nickname, dob, gender, location, language, self.applicationSession)
        self.applicationSession['protocolInstance'].sendMsg(message)
        
        self.dialog.destroy()
Example #3
0
 def __init__(self, applicationSession):
     self.applicationSession = applicationSession
     
     self.builder = gtk.Builder()
     self.builder.add_from_file(os.path.join('gui', 'glades', 'RegistrationWindow.glade'))
     
     self.dialog = self.builder.get_object('RegistrationDialog')
     
     self.dobEntry = MaskEntry()
     self.dobEntry.set_mask('%4d-%2d-%2d')
     self.dobEntry.set_text('yyyy-mm-dd')
     dobHBox = self.builder.get_object('dobHBox')
     dobHBox.pack_end(self.dobEntry, False, False, 0)
     self.dobEntry.show()
     
     self.dialog.connect('response', self.on_registerButton_activated)
     self.dialog.show()
Example #4
0
class PreferencesDialog:
    _loadingProfile = False
    _profileLoaded = False

    def __init__(self, mxit):
        self.mxit = mxit
        self.initGui()

    def initGui(self):
        self.builder = gtk.Builder()
        self.builder.add_from_file(os.path.join("gui", "glade", "PreferencesDialog.glade"))

        dialog = self.builder.get_object("PreferencesDialog")
        dialog.connect("response", self.on_response)
        self.builder.get_object("notebook").connect("switch-page", self.on_notebook_switch_page)
        dialog.show()

        self.genderComboBox = gtk.combo_box_new_text()
        self.genderComboBox.append_text("Female")
        self.genderComboBox.append_text("Male")
        self.genderComboBox.show()
        self.builder.get_object("genderBox").pack_end(self.genderComboBox, False, False)

        self.dobEntry = MaskEntry()
        self.dobEntry.set_mask("%4d-%2d-%2d")
        self.dobEntry.show()
        self.builder.get_object("dobBox").pack_end(self.dobEntry, False, False)

        try:
            self.builder.get_object("autoLoginButton").set_active(self.mxit.settings["autoLogin"])
            self.builder.get_object("contactInviteAlertButton").set_active(self.mxit.settings["contactInviteAlert"])
            self.builder.get_object("contactOnlineAlertButton").set_active(self.mxit.settings["contactOnlineAlert"])
            self.builder.get_object("messageAlertButton").set_active(self.mxit.settings["newMessageAlert"])
            self.builder.get_object("rememberMoodButton").set_active(self.mxit.settings["rememberMood"])
        except KeyError:
            self.builder.get_object("contactInviteAlertButton").set_active(True)
            self.builder.get_object("contactOnlineAlertButton").set_active(True)
            self.builder.get_object("messageAlertButton").set_active(True)
            self.builder.get_object("autoLoginButton").set_active(True)
            self.builder.get_object("rememberMoodButton").set_active(True)

    def on_notebook_switch_page(self, notebook, dont_use, page, *args):
        if page == 0 or self._loadingProfile:
            return
        self.mxit["get_profile_callback"] = self.get_profile_callback
        message = GetProfileMessage()
        self.mxit.sendMsg(message)

    def get_profile_callback(self, message):
        self.builder.get_object("loadingLabel").set_property("visible", False)
        self.builder.get_object("profileBox").set_property("visible", True)

        self.genderComboBox.set_active(int(message[0][3]))
        self.dobEntry.set_text(message[0][2])

        self.builder.get_object("nicknameEntry").set_text(message[0][0])
        self.builder.get_object("numberEntry").set_text(self.mxit.settings["loginname"])
        self.builder.get_object("passwordEntry").set_text(self.mxit.settings["password"])
        if message[0][1] == "1":
            self.builder.get_object("hideNumberButton").set_active(True)
        self._profileLoaded = True

    def on_response(self, dialog, response_id, *args):
        dialog.destroy()

        self.mxit.settings["contactInviteAlert"] = self.builder.get_object("contactInviteAlertButton").get_active()
        self.mxit.settings["contactOnlineAlert"] = self.builder.get_object("contactOnlineAlertButton").get_active()
        self.mxit.settings["newMessageAlert"] = self.builder.get_object("messageAlertButton").get_active()
        self.mxit.settings["autoLogin"] = self.builder.get_object("autoLoginButton").get_active()
        self.mxit.settings["rememberMood"] = self.builder.get_object("rememberMoodButton").get_active()

        if self._profileLoaded:
            nickname = self.builder.get_object("nicknameEntry").get_text()
            password = self.builder.get_object("passwordEntry").get_text()
            dob = self.dobEntry.get_text()
            hideMobileNumber = self.builder.get_object("hideNumberButton").get_active()
            if self.genderComboBox.get_active() == 1:
                gender = "m"
            else:
                gender = "f"
            message = UpdateProfileMessage(password, nickname, hideMobileNumber, dob, gender, self.mxit)
            self.mxit.sendMsg(message)