Changeset 897
- Timestamp:
- 08/16/07 12:13:05 (1 year ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/jahwidgets/src/qt3/widgets/timelineSlider.cpp
r895 r897 152 152 } 153 153 154 int markerClamp( int i ) const155 {156 return std::max( std::min( i, activeRange->out ), activeRange->in );157 }158 159 154 int inClamp( int i ) const 160 155 { 156 // Change input point to a valid point below the current out point 161 157 i = std::max( std::min( i, activeRange->out-1 ), min ); 162 158 163 159 // And clamp above neighbouring out point 160 for ( RangeSet::const_reverse_iterator I = rangeContainer.rbegin(); 161 I != rangeContainer.rend(); 162 ++I ) 163 { 164 if ( *I == activeRange ) continue; 165 166 if ( (*I)->out < activeRange->out ) { 167 if ( i <= (*I)->out ) { 168 i = (*I)->out - 1; 169 break; 170 } 171 } 172 } 173 174 return i; 175 } 176 177 int outClamp( int i ) const 178 { 179 // Change input point to a valid point above the current in point 180 i = std::min( std::max( i, activeRange->in+1 ), max ); 181 182 // And clamp below neighbouring in point 164 183 for ( RangeSet::const_iterator I = rangeContainer.begin(); 165 184 I != rangeContainer.end(); … … 168 187 if ( *I == activeRange ) continue; 169 188 170 if ( (*I)->out > activeRange->out ) break; 171 172 if ( i <= (*I)->out ) { 173 i = (*I)->out + 1; 174 break; 175 } 176 } 177 178 return i; 179 } 180 181 int outClamp( int i ) const 182 { 183 i = std::max( std::min( i, max ), activeRange->in ); 184 185 // And clamp below neighbouring in point 186 for ( RangeSet::const_reverse_iterator I = rangeContainer.rbegin(); 187 I != rangeContainer.rend(); 188 ++I ) 189 { 190 if ( *I == activeRange ) continue; 191 192 if ( (*I)->out < activeRange->in ) break; 193 194 if ( i >= (*I)->in ) { 195 i = (*I)->in - 1; 196 break; 189 if ( (*I)->in > activeRange->in ) { 190 if ( i >= (*I)->in ) { 191 i = (*I)->in + 1; 192 break; 193 } 197 194 } 198 195 } … … 585 582 int TimelineSlider::insertRange( int in, int out ) 586 583 { 587 qDebug( "insertRange: %d %d", in, out );584 //qDebug( "insertRange: %d %d", in, out ); 588 585 589 586 // Clamp to min/max, but otherwise leave as-is … … 599 596 void TimelineSlider::removeRangeWithId( int id ) 600 597 { 601 qDebug( "removeRangeWithId: %d", id );598 //qDebug( "removeRangeWithId: %d", id ); 602 599 603 600 RangeSet::iterator I = std::find_if( m_impl->rangeContainer.begin(), … … 1043 1040 { 1044 1041 // tracking check avoids anyone messing with the value during mouse tracking 1045 if ( val != m_impl->v && m_impl->tracking != PrivateTimeline::VALUE ) 1042 if ( val != m_impl->v && ( (m_impl->tracking != PrivateTimeline::VALUE) && 1043 (m_impl->tracking != PrivateTimeline::THUMB) ) ) 1046 1044 { 1047 1045 _setValue( val );
