コード例 #1
0
ファイル: MoodWindow.cs プロジェクト: BackupTheBerlios/tamjb
        ///
        /// 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;
             }
        }
コード例 #2
0
ファイル: GtkPlayer.cs プロジェクト: BackupTheBerlios/tamjb
        ///
        /// 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() );
             }
        }
コード例 #3
0
ファイル: Engine.cs プロジェクト: BackupTheBerlios/tamjb
 //
 // 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 );
 }
コード例 #4
0
ファイル: Backend.cs プロジェクト: BackupTheBerlios/tamjb
 //
 // 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;
      }
 }
コード例 #5
0
ファイル: Backend.cs プロジェクト: BackupTheBerlios/tamjb
 internal Contributor( UserInfo userInfo, Mood initMood )
 {
     user = userInfo;
     mood = initMood;
     lastPing = DateTime.Now;
 }
コード例 #6
0
ファイル: Mood.cs プロジェクト: BackupTheBerlios/tamjb
 public void Copy( Mood other )
 {
     _name = other._name;
      _id = other._id;
 }