Follow up to r77411. Patch by DieBuche
authorDerk-Jan Hartman <hartman@users.mediawiki.org>
Sun, 5 Dec 2010 22:41:06 +0000 (22:41 +0000)
committerDerk-Jan Hartman <hartman@users.mediawiki.org>
Sun, 5 Dec 2010 22:41:06 +0000 (22:41 +0000)
1. Adds a line css to actually fix Bug 3770 (Sorry, I had forgotten to paste it
there as well)
2. Fixes a problem, where the box size would be slighty higher if the image
thumb has a height of less than 8px
3. Normalize the calculation of the vertical padding to be exactly the same one
as the horizontal padding. (This is only relevant for unusually large
galleries, eg. previously it returned a not-exactly-square box if you specified
500px as both width and height)

includes/ImageGallery.php
skins/common/shared.css

index 31821d4..b12648c 100644 (file)
@@ -257,11 +257,11 @@ class ImageGallery
 
                        if( !$img ) {
                                # We're dealing with a non-image, spit out the name and be done with it.
-                               $thumbhtml = "\n\t\t\t".'<div style="height: '.($this->mHeights*1.25+2).'px;">'
+                               $thumbhtml = "\n\t\t\t".'<div style="height: '.(30 + $this->mHeights).'px;">'
                                        . htmlspecialchars( $nt->getText() ) . '</div>';
                        } elseif( $this->mHideBadImages && wfIsBadImage( $nt->getDBkey(), $this->getContextTitle() ) ) {
                                # The image is blacklisted, just show it as a text link.
-                               $thumbhtml = "\n\t\t\t".'<div style="height: '.($this->mHeights*1.25+2).'px;">' .
+                               $thumbhtml = "\n\t\t\t".'<div style="height: '.(30 + $this->mHeights).'px;">' .
                                        $sk->link(
                                                $nt,
                                                htmlspecialchars( $nt->getText() ),
@@ -272,10 +272,10 @@ class ImageGallery
                                        '</div>';
                        } elseif( !( $thumb = $img->transform( $params ) ) ) {
                                # Error generating thumbnail.
-                               $thumbhtml = "\n\t\t\t".'<div style="height: '.($this->mHeights*1.25+2).'px;">'
+                               $thumbhtml = "\n\t\t\t".'<div style="height: '.(30 + $this->mHeights).'px;">'
                                        . htmlspecialchars( $img->getLastError() ) . '</div>';
                        } else {
-                               $vpad = floor( ( 1.25*$this->mHeights - $thumb->height ) /2 ) - 2;
+                               $vpad = floor(( 30 + $this->mHeights - $thumb->height ) /2);
                                
                                $imageParameters = array(
                                        'desc-link' => true,
@@ -285,13 +285,15 @@ class ImageGallery
                                if ( $text == '' ) {
                                        $imageParameters['alt'] = $nt->getText();
                                }
-
+                               
+                               # Set both fixed width and height. Otherwise we might have problems
+                               # with the vertical centering of images where height<line-size
                                $thumbhtml = "\n\t\t\t".
-                                       '<div class="thumb" style="padding: ' . $vpad . 'px 0; width: ' .($this->mWidths+30).'px;">'
+                                       '<div class="thumb" style="width: ' .($this->mWidths+30).'px; height: ' .($this->mHeights+30).'px;">'
                                        # Auto-margin centering for block-level elements. Needed now that we have video
                                        # handlers since they may emit block-level elements as opposed to simple <img> tags.
                                        # ref http://css-discuss.incutio.com/?page=CenteringBlockElement
-                                       . '<div style="margin-left: auto; margin-right: auto; width: ' .$this->mWidths.'px;">'
+                                       . '<div style="margin:'.$vpad.'px auto;">'
                                        . $thumb->toHtml( $imageParameters ) . '</div></div>';
 
                                // Call parser transform hook
index e64609e..b64e6c3 100644 (file)
@@ -823,6 +823,7 @@ div.gallerytext {
        overflow: hidden;
        font-size: 94%;
        padding: 2px 4px;
+       word-wrap: break-word;
 }
 
 table.mw-enhanced-rc {