[longomatch/newui: 154/157] Manage player frame widget sensitivity only with LoadPlayer and ClearPlayerFrame (could be renamed ?



commit 8f8c5bd175455cb26465c811913ff973c97bac7e
Author: Julien Moutte <julien fluendo com>
Date:   Fri Aug 29 19:01:10 2014 +0200

    Manage player frame widget sensitivity only with LoadPlayer and ClearPlayerFrame (could be renamed ?). 
Simplify the code.

 LongoMatch.GUI/Gui/Component/TeamTemplateEditor.cs |   27 +++++++++++++------
 1 files changed, 18 insertions(+), 9 deletions(-)
---
diff --git a/LongoMatch.GUI/Gui/Component/TeamTemplateEditor.cs 
b/LongoMatch.GUI/Gui/Component/TeamTemplateEditor.cs
index 2774ae4..9ba7808 100644
--- a/LongoMatch.GUI/Gui/Component/TeamTemplateEditor.cs
+++ b/LongoMatch.GUI/Gui/Component/TeamTemplateEditor.cs
@@ -49,13 +49,12 @@ namespace LongoMatch.Gui.Component
                {
                        this.Build ();
 
-                       playerimage.Pixbuf = IconTheme.Default.LoadIcon ("longomatch-player-pic", 45, 
IconLookupFlags.ForceSvg);
-                       playerframe.Sensitive = false;
-
                        teamtagger = new TeamTagger (new WidgetWrapper (drawingarea));
                        teamtagger.PlayersSelectionChangedEvent += HandlePlayersSelectionChangedEvent;
 
                        ConnectSignals ();
+
+                       ClearPlayerFrame ();
                }
                
                protected override void OnDestroyed ()
@@ -88,11 +87,10 @@ namespace LongoMatch.Gui.Component
                                teamnameentry.Text = template.TeamName;
                                FillFormation ();
                                teamtagger.LoadTeams (template, null, Config.HHalfFieldBackground);
-                               ignoreChanges = false;
-                               Edited = false;
                                // Start with disabled widget until something get selected
                                ClearPlayerFrame ();
-                               playerframe.Sensitive = false;
+                               ignoreChanges = false;
+                               Edited = false;
                        }
                }
 
@@ -189,7 +187,10 @@ namespace LongoMatch.Gui.Component
                }
                
                void LoadPlayer (Player p) {
+                       ignoreChanges = true;
+
                        loadedPlayer = p;
+
                        nameentry.Text = p.Name ?? "";
                        lastnameentry.Text = p.LastName ?? "";
                        nicknameentry.Text = p.NickName ?? "";
@@ -201,11 +202,19 @@ namespace LongoMatch.Gui.Component
                        bdaydatepicker.Date = p.Birthday;
                        mailentry.Text = p.Mail ?? "";
                        playerimage.Pixbuf = PlayerPhoto (p);
+
+                       playerframe.Sensitive = true;
+
+                       ignoreChanges = false;
                }
 
                void ClearPlayerFrame () {
                        ignoreChanges = true;
 
+                       playerframe.Sensitive = false;
+
+                       loadedPlayer = null;
+
                        nameentry.Text = "";
                        lastnameentry.Text = "";
                        nicknameentry.Text = "";
@@ -247,15 +256,15 @@ namespace LongoMatch.Gui.Component
                
                void PlayersSelected (List<Player> players) {
                        ignoreChanges = true;
-                       playerframe.Sensitive = players.Count == 1;
+
                        selectedPlayers = players;
                        deletebutton.Sensitive = players.Count != 0;
-                       playerframe.Sensitive = players.Count != 0;
                        if (players.Count == 1) {
                                LoadPlayer (players[0]);
                        } else {
-                               loadedPlayer = null;
+                               ClearPlayerFrame ();
                        }
+
                        ignoreChanges = false;
                }
                


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]