@@ -295,6 +295,8 @@ function disposeImages(data = false)
295295 let marginVertical = _margin . top ;
296296 let marginHorizontalsHorizontal = readingHorizontalsMargin ( data ) . left ;
297297
298+ const forceSinglePage = ( _config . readingForceSinglePage && ! _config . readingWebtoon ) ? true : false ;
299+
298300 let contentRight = template . _contentRight ( ) ;
299301 let rect = contentRight . firstElementChild . getBoundingClientRect ( ) ;
300302
@@ -384,7 +386,7 @@ function disposeImages(data = false)
384386 marginTop0 = marginTop1 = contentHeight / 2 - imageHeight / 2 ;
385387 }
386388
387- if ( readingViewIs ( 'scroll' ) )
389+ if ( readingViewIs ( 'scroll' ) && ! forceSinglePage )
388390 marginTop0 = marginTop1 = marginVertical ;
389391
390392 let imgHeight0 = ( clipVertical > 0 ? ( imageHeight0 / ( 1 - clipVertical ) ) : imageHeight0 ) ;
@@ -570,7 +572,7 @@ function disposeImages(data = false)
570572 }
571573 }
572574
573- if ( readingViewIs ( 'scroll' ) )
575+ if ( readingViewIs ( 'scroll' ) && ! forceSinglePage )
574576 marginTop = marginVertical ;
575577
576578 let imgHeight = ( clipVertical > 0 ? ( imageHeight / ( 1 - clipVertical ) ) : imageHeight ) ;
@@ -3076,9 +3078,9 @@ function changePagesView(mode, value, save)
30763078 dom . query ( '.reading-view-' + value ) . addClass ( 'active' ) ;
30773079
30783080 if ( value != 'scroll' )
3079- template . globalElement ( '.reading-ajust-to-width' ) . addClass ( 'disable-pointer' ) ;
3081+ template . globalElement ( '.reading-ajust-to-width, .reading-force-single-page ' ) . addClass ( 'disable-pointer' ) ;
30803082 else
3081- template . globalElement ( '.reading-ajust-to-width' ) . removeClass ( 'disable-pointer' ) ;
3083+ template . globalElement ( '.reading-ajust-to-width, .reading-force-single-page ' ) . removeClass ( 'disable-pointer' ) ;
30823084
30833085 if ( readingIsEbook ) handlebarsContext . loading = true ;
30843086 template . loadContentRight ( 'reading.content.right.html' , true ) ;
@@ -3151,12 +3153,12 @@ function changePagesView(mode, value, save)
31513153
31523154 if ( value )
31533155 {
3154- template . globalElement ( '.reading-view, .reading-reading-manga, .reading-double-page, .reading-do-not-apply-to-horizontals, .reading-blank-page, .reading-ajust-to-width, .reading-not-enlarge-more-than-original-size, .reading-margin-vertical' ) . addClass ( 'disable-pointer' ) ;
3156+ template . globalElement ( '.reading-view, .reading-reading-manga, .reading-double-page, .reading-do-not-apply-to-horizontals, .reading-blank-page, .reading-ajust-to-width, .reading-not-enlarge-more-than-original-size, .reading-margin-vertical, .reading-force-single-page ' ) . addClass ( 'disable-pointer' ) ;
31553157 }
31563158 else
31573159 {
31583160 if ( _config . readingView == 'scroll' )
3159- template . globalElement ( '.reading-ajust-to-width' ) . removeClass ( 'disable-pointer' ) ;
3161+ template . globalElement ( '.reading-ajust-to-width, .reading-force-single-page ' ) . removeClass ( 'disable-pointer' ) ;
31603162
31613163 if ( _config . readingDoublePage )
31623164 template . globalElement ( '.reading-do-not-apply-to-horizontals, .reading-blank-page' ) . removeClass ( 'disable-pointer' ) ;
@@ -3279,6 +3281,17 @@ function changePagesView(mode, value, save)
32793281
32803282 read ( readingCurrentPath , imageIndex , false , readingIsCanvas , readingIsEbook ) ;
32813283 }
3284+ else if ( mode == 20 ) // Force show single page in scroll mode
3285+ {
3286+ updateReadingPagesConfig ( 'readingForceSinglePage' , value ) ;
3287+
3288+ disposeImages ( ) ;
3289+ calculateView ( ) ;
3290+ stayInLine ( ) ;
3291+
3292+ render . resized ( readingDoublePage ( ) ) ;
3293+ // updateEbook(true);
3294+ }
32823295}
32833296
32843297function change ( key , value )
0 commit comments