Beispiel #1
0
        /// <summary>
        /// Active l'édition du mot de passe
        /// </summary>
        private void BtnPwd_Click(object sender, EventArgs e)
        {
            _pwdHasChange = true; // à faire au tout début pour éviter tout problème avec le TextChange

            // Récupère le bouton et le rend invisible
            Button btn = (Button)sender;

            btn.Visible = false;

            tbxPwd.ReadOnly = false;        // Active l'édition du champs
            tbxPwd.Text     = String.Empty; // Efface la TextBox pour ne pas garder le mdp encrypter qui s'y trouvait

            // Affiche le Label et la TextBox de confirmation
            tbxPwdConfirm.Visible = true;
            lblPwdConfirm.Visible = true;

            // Ajoute un bouton qui permet d'annuler la modification du mot de passe
            Design.AddEditButtonForControl(tbxPwdConfirm, gbxInformation, "BtnPwdConfirm", "Wingdings 2", "Ò", BtnPwdConfirm_Click, EDIT_TAG);
        }
Beispiel #2
0
        /// <summary>
        /// Active ou désactive le mode d'édition du profil
        /// </summary>
        /// <param name="inEdit">Si true alors on active l'édition, sinon on la désactive</param>
        private void EditMode(bool inEdit)
        {
            // Gestion de la visibilité des champs non-dynamique
            #region ControlsVisibility
            lblPwd.Visible          = !lblPwd.Visible;
            tbxPwd.Visible          = !tbxPwd.Visible;
            lblRooms.Visible        = !lblRooms.Visible;
            lblFriends.Visible      = !lblFriends.Visible;
            btnSave.Visible         = !btnSave.Visible;
            btnCancel.Visible       = !btnCancel.Visible;
            tbxNewHobbie.Visible    = !tbxNewHobbie.Visible;
            tbxEmail.ReadOnly       = !tbxEmail.ReadOnly;
            tbxPhone.ReadOnly       = !tbxPhone.ReadOnly;
            rtbDescription.ReadOnly = !rtbDescription.ReadOnly;
            #endregion ControlsVisibility

            if (inEdit) // Mode edition on
            {
                // On gère la visibilité des liens avec des valeures fixe pour éviter un bug
                // il y avait une chance que les liens restaient visible à cause de l'ajout/du retrait d'onglet
                lnkEditProfil.Visible  = false;
                lnkEditProfil2.Visible = false;

                // On retire les pages d'onglet qui ne correspondent pas à celle du profil
                tcWindows.TabPages.Remove(tpHome);
                tcWindows.TabPages.Remove(tpFriends);
                tcWindows.TabPages.Remove(tpRooms);
                tcWindows.TabPages.Remove(tpSettings);

                // On récupère le mot de passe de l'utilisateur et on l'affiche dans le textbox
                tbxPwd.Text = _requestsSQL.GetUserPasswordByUsername(_frmLogin.Username);

                // On ajoute des boutons qui permettront d'éditer les différentes informations de l'utilisateur
                Design.AddEditButtonForControl(tbxPwd, gbxInformation, "BtnPwd", "Wingdings", "!", BtnPwd_Click, EDIT_TAG);
                _btnNewHobbies         = Design.AddEditButtonForControl(tbxNewHobbie, gbxInformation, "BtnNewHobbie", "Wingdings 2", "Ì", BtnNewHobbie_Click, EDIT_TAG);
                _btnNewHobbies.Enabled = false;

                // On ajoute la colonne des boutons
                if (!dgvHobbies.Columns.Contains("ColumnButton"))
                {
                    dgvHobbies.Columns.Add(ColumnButton);
                }

                // TODO : Bordure en traitillé pour l'avatar
                //_rePaint = true;
                //pbxAvatar2.Refresh();

                // Ajout d'une bordure et changement du curseur sur les picturebox
                // pour indiqué que l'on peut changer l'image en cliquant dessus
                _rePaint = true;
                pbxBackground2.Refresh();
                pbxAvatar2.Cursor     = Cursors.Hand;
                pbxBackground2.Cursor = Cursors.Hand;
            }
            else // Mode edition off
            {
                // On gère la visibilité des liens avec des valeures fixe pour éviter un bug
                // il y avait une chance que les liens restaient visible à cause de l'ajout/du retrait d'onglet
                lnkEditProfil.Visible  = true;
                lnkEditProfil2.Visible = true;

                // Gestion des onglets
                #region TabPages
                // Ajoute les pages d'onglet de l'application
                tcWindows.TabPages.Add(tpHome);
                // on doit retirer l'onglet du profil puis le rajouter pour avoir les onglets dans le bonne ordre
                // mais on ne doit pas le retirer si il s'agit du dernier onglet présent, il faut d'abord en ajouter un autre
                tcWindows.TabPages.Remove(tpProfil);
                tcWindows.TabPages.Add(tpProfil);
                tcWindows.TabPages.Add(tpFriends);
                tcWindows.TabPages.Add(tpRooms);
                tcWindows.TabPages.Add(tpSettings);
                #endregion TabPages

                DisposeEditsControls(); // Supprime les composants dynamiques de l'édition

                string hobbies = _requestsSQL.GetUserHobbiesByUsername(_frmLogin.Username);
                UpdateHobbies(dgvHobbies, hobbies); // Met à jour le DataGridView des hobbies

                // On (ré)affiche la bonne image pour si jamais l'utilisateur avait annulé sa modification du profil
                // TODO : les images sont mal enregistrer (en local)
                pbxAvatar2.Image     = _imgAvatar;
                pbxBackground2.Image = _imgBackground;

                pbxAvatar2.Cursor     = Cursors.Arrow;
                pbxBackground2.Cursor = Cursors.Arrow;
            }
            _inEdit = inEdit;
        }