Changeset 7623


Ignore:
Timestamp:
03/13/19 08:48:37 (3 months ago)
Author:
avneesh-singh
Message:

Added todo time in command

Location:
trunk/Obi/Obi
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Obi/Obi/Commands/Node/ToggleNodeTODO.cs

    r4305 r7623  
    99        private EmptyNode mNode;         // the empty node 
    1010        private bool mOriginalStatus;  // original used status of the node 
     11        private double m_ToDoTime; // time in phrase at which Todo is marked 
    1112 
    1213        /// <summary> 
     
    1415        /// </summary> 
    1516        public ToggleNodeTODO (ProjectView.ProjectView view, EmptyNode node) 
     17            : this (view, node, 0) 
     18            { 
     19    } 
     20 
     21        /// <summary> 
     22        /// Change the used status of a single node. 
     23        /// </summary> 
     24        public ToggleNodeTODO (ProjectView.ProjectView view, EmptyNode node, double time) 
    1625            : base(view) 
    1726        { 
    1827            mNode = node; 
    1928            mOriginalStatus = node.TODO; 
     29            m_ToDoTime = time; 
    2030            SetDescriptions(Localizer.Message("toggle_TODO")); 
    2131        } 
     
    2636        public override void Execute() 
    2737        { 
    28             mNode.SetTODO ( !mOriginalStatus ); 
     38            mNode.SetTODO ( !mOriginalStatus, m_ToDoTime); 
    2939        } 
    3040 
    3141        public override void UnExecute() 
    3242        { 
    33             mNode.SetTODO(mOriginalStatus); 
     43            mNode.SetTODO(mOriginalStatus, m_ToDoTime); 
    3444            base.UnExecute(); 
    3545        } 
  • trunk/Obi/Obi/EmptyNode.cs

    r7622 r7623  
    383383        /// </summary> 
    384384        /// <param name="todo"></param> 
    385         public void SetTODO(bool todo) 
     385        public void SetTODO(bool todo, double time) 
    386386        { 
    387387            if (todo != TODO) 
    388388            { 
    389389                TODO = todo; 
     390                if (mTODO) 
     391                { 
     392                    if (time > 0) m_TODOCursorPosition = time; 
     393                } 
     394                else 
     395                { 
     396                    m_TODOCursorPosition = 0; 
     397                } 
    390398                if (ChangedTODOStatus != null) ChangedTODOStatus(this, new NodeEventArgs<EmptyNode>(this)); 
    391399            } 
  • trunk/Obi/Obi/ProjectView/TransportBar.cs

    r7569 r7623  
    40684068                { 
    40694069                    mView.Presentation.Changed -= new EventHandler<urakawa.events.DataModelChangedEventArgs>(Presentation_Changed); 
     4070                    if (node is PhraseNode && node.Duration > 0 && mCurrentPlaylist != null) 
     4071                    { 
     4072                        mView.Presentation.UndoRedoManager.Execute(new Commands.Node.ToggleNodeTODO(mView, node, mCurrentPlaylist.CurrentTimeInAsset)); 
     4073                } 
     4074                else 
     4075                    { 
    40704076                    mView.Presentation.UndoRedoManager.Execute(new Commands.Node.ToggleNodeTODO(mView, node)); 
     4077                } 
    40714078                    mView.Presentation.Changed += new EventHandler<urakawa.events.DataModelChangedEventArgs>(Presentation_Changed); 
    40724079                } 
    40734080 
    4074                 if (node != null && node is PhraseNode && node.Duration > 0 && mCurrentPlaylist != null) 
    4075                 { 
    4076                     node.TODOCursorPosition = mCurrentPlaylist.CurrentTimeInAsset; 
    4077                 } 
    4078                 else if (node != null && Math.Abs(node.TODOCursorPosition) > 0) 
    4079                 { 
    4080                     node.TODOCursorPosition = 0; 
    4081                 } 
    40824081            } 
    40834082        else if (mView.Selection != null && mView.Selection.Node is EmptyNode) 
     
    40854084            node  = (EmptyNode)mView.Selection.Node; 
    40864085            mView.Presentation.Changed -= new EventHandler<urakawa.events.DataModelChangedEventArgs> ( Presentation_Changed ); 
    4087             mView.Presentation.UndoRedoManager.Execute ( new Commands.Node.ToggleNodeTODO ( mView, node ) ); 
     4086            if (node != null && node is PhraseNode && node.Duration > 0 && mView.Selection is AudioSelection) 
     4087            { 
     4088                AudioSelection selection = mView.Selection as AudioSelection; 
     4089                double todoTime = selection.AudioRange.HasCursor ? selection.AudioRange.CursorTime : 
     4090                    selection.AudioRange.SelectionBeginTime; 
     4091                if (todoTime > 0 && todoTime < node.Duration) mView.Presentation.UndoRedoManager.Execute(new Commands.Node.ToggleNodeTODO(mView, node, todoTime)); 
     4092            } 
     4093            else 
     4094            { 
     4095                mView.Presentation.UndoRedoManager.Execute(new Commands.Node.ToggleNodeTODO(mView, node)); 
     4096            } 
    40884097            mView.Presentation.Changed += new EventHandler<urakawa.events.DataModelChangedEventArgs> ( Presentation_Changed ); 
    4089                 if (node != null && node is PhraseNode && node.Duration > 0 && mView.Selection is AudioSelection) 
    4090                 { 
    4091                     AudioSelection selection = mView.Selection as AudioSelection; 
    4092                     node.TODOCursorPosition = selection.AudioRange.HasCursor ? selection.AudioRange.CursorTime : 
    4093                         selection.AudioRange.SelectionBeginTime; 
    4094                 } 
    4095                 else if (node != null && Math.Abs(node.TODOCursorPosition) > 0) 
    4096                 { 
    4097                     node.TODOCursorPosition = 0; 
    4098                 } 
     4098                 
    40994099            } 
    41004100            
Note: See TracChangeset for help on using the changeset viewer.