/// /// Creates the mood window dialog but does not display it. /// (use Run()). /// /// cred and mood are directly modified on successful validation. /// public MoodDialog( Gtk.Window parent, IEngine backend, Credentials cred, Mood mood, DefaultField defaultField ) { Debug.Assert( null != backend ); _backend = backend; // Save for later... Glade.XML glade = new Glade.XML( null, "tam.GtkPlayer.exe.glade", "_moodDialog", null ); glade.Autoconnect( this ); Debug.Assert( null != _moodDialog ); Debug.Assert( null != _userCombo ); Debug.Assert( null != _moodCombo ); _moodDialog.TransientFor = parent; // Set up the available users list. Credentials [] credList = backend.GetUserList(); string [] credNameList = new string[ credList.Length ]; for (int i = 0; i < credList.Length; i++) credNameList[i] = ((Credentials)credList[i]).name; _userCombo.PopdownStrings = credNameList; // Set default values for the entry fields AFTER the dropdown // lists are initialized, otherwise it will default to the first // value in the list if (null != cred) _userCombo.Entry.Text = cred.name; _UpdateUserBtns(); if (null != mood) _moodCombo.Entry.Text = mood.name; _UpdateMoodBtns(); switch (defaultField) { case DefaultField.USER: default: _userCombo.Entry.GrabFocus(); break; case DefaultField.MOOD: _moodCombo.Entry.GrabFocus(); break; } }
/// /// Show the "who the heck are you"? Dialog /// protected void _UserBtnClick( object sender, EventArgs args ) { try { _Trace( "[_UserBtnClick]" ); MoodDialog moodWin = new MoodDialog( _mainWindow, backend, _credentials, _mood, MoodDialog.DefaultField.USER ); moodWin.Run(); if (moodWin.isOk) { // get new/existing user's credentials from backend _credentials = backend.GetUser( moodWin.userName ); if (null == _credentials) _credentials = backend.CreateUser( moodWin.userName ); backend.RenewLogon( _credentials ); if ("" == moodWin.moodName) { _mood = null; } else { // Find the mood that matches this name _mood = backend.GetMood( _credentials, moodWin.moodName ); if (null == _mood) { _mood = backend.CreateMood( _credentials, moodWin.moodName ); } backend.SetMood( _credentials, _mood ); } } } catch (Exception e) { _TraceError( e.ToString() ); } }
// // Get the current mood. May return null for either or both // public void GetCurrentMood( uint userId, ref Mood mood ) { Backend.theBackend.GetCurrentMood( userId, ref mood ); }
// // Get the current mood. May return null for either or both // if no current user or mood exists. // public void GetCurrentMood( uint userId, ref Mood mood ) { lock (_serializer) { Contributor contrib = (Contributor)_controllers[userId]; if (null == contrib) { throw new ApplicationException( "User is not logged in" ); } mood = contrib.mood; } }
internal Contributor( UserInfo userInfo, Mood initMood ) { user = userInfo; mood = initMood; lastPing = DateTime.Now; }
public void Copy( Mood other ) { _name = other._name; _id = other._id; }