WordPress.org

Make WordPress Core

Ticket #17136: html.mode.2.diff

File html.mode.2.diff, 40.5 KB (added by koopersmith, 4 years ago)
  • wp-includes/js/tinymce/plugins/wplink/js/wplink.dev.js

     
    99                riverBottomThreshold: 5, 
    1010                keySensitivity: 100, 
    1111                lastSearch: '', 
    12                 textarea: edCanvas, 
     12                textarea: function() { return edCanvas; }, 
    1313 
    1414                init : function() { 
    1515                        inputs.dialog = $('#wp-link'); 
     
    4949                        wpLink.range = null; 
    5050 
    5151                        if ( ! wpLink.isMCE() && document.selection ) { 
    52                                 wpLink.textarea.focus(); 
     52                                wpLink.textarea().focus(); 
    5353                                wpLink.range = document.selection.createRange(); 
    5454                        } 
    5555                }, 
     
    127127 
    128128                onClose: function() { 
    129129                        if ( ! wpLink.isMCE() ) { 
    130                                 wpLink.textarea.focus(); 
     130                                wpLink.textarea().focus(); 
    131131                                if ( wpLink.range ) { 
    132132                                        wpLink.range.moveToBookmark( wpLink.range.getBookmark() ); 
    133133                                        wpLink.range.select(); 
     
    152152 
    153153                htmlUpdate : function() { 
    154154                        var attrs, html, start, end, cursor, 
    155                                 textarea = wpLink.textarea; 
     155                                textarea = wpLink.textarea(); 
    156156 
    157157                        if ( ! textarea ) 
    158158                                return; 
  • wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.js

     
    1 (function(){tinymce.create("tinymce.plugins.wpFullscreenPlugin",{init:function(a,c){var d=this,g=0,e={},f=tinymce.DOM;a.addCommand("wpFullScreenClose",function(){if(a.getParam("wp_fullscreen_is_enabled")){f.win.setTimeout(function(){tinyMCE.remove(a);f.remove("wp_mce_fullscreen_parent");tinyMCE.settings=tinyMCE.oldSettings},10)}});a.addCommand("wpFullScreenSave",function(){var h=tinyMCE.get("wp_mce_fullscreen"),i;h.focus();i=tinyMCE.get(h.getParam("wp_fullscreen_editor_id"));i.setContent(h.getContent({format:"raw"}),{format:"raw"})});a.addCommand("wpFullScreenSaveContent",function(){a.execCommand("wpFullScreenSave");tinyMCE.triggerSave()});a.addCommand("wpFullScreenOpen",function(){var i=a.getDoc(),h=i.body;tinyMCE.oldSettings=tinyMCE.settings;tinymce.each(a.settings,function(j,k){e[k]=j});e.id="wp_mce_fullscreen";e.wp_fullscreen_is_enabled=true;e.wp_fullscreen_editor_id=a.id;e.theme_advanced_resizing=false;e.theme_advanced_toolbar_location="external";e.theme_advanced_statusbar_location="none";e.content_css=e.wp_fullscreen_content_css||"";e.height=tinymce.isIE?h.scrollHeight:h.offsetHeight;e.save_onsavecallback=function(){a.setContent(tinyMCE.get(e.id).getContent({format:"raw"}),{format:"raw"});a.execCommand("mceSave")};tinymce.each(a.getParam("wp_fullscreen_settings"),function(l,j){e[j]=l});d.fullscreenEditor=new tinymce.Editor("wp_mce_fullscreen",e);d.fullscreenEditor.onInit.add(function(){d.fullscreenEditor.setContent(a.getContent());d.fullscreenEditor.focus()});fullscreen.on();d.fullscreenEditor.render()});a.addButton("fullscreen",{title:"fullscreen.desc",cmd:"wpFullScreenOpen"});if(a.getParam("fullscreen_is_enabled")||!a.getParam("wp_fullscreen_is_enabled")){return}function b(){var k=a.getDoc(),h=k.body,m=k.documentElement,j=tinymce.DOM,l,i;if(tinymce.isIE){i=h.scrollHeight}else{if(tinymce.isWebKit){i=h.offsetHeight}else{i=m.offsetHeight}}l=(i>300)?i:300;if(g!=l){g=l;j.setStyle(j.get(a.id+"_ifr"),"height",l+"px")}}a.onInit.add(function(i,h){i.onChange.add(b);i.onSetContent.add(b);i.onPaste.add(b);i.onKeyUp.add(b);i.onPostRender.add(b);i.getBody().style.overflowY="hidden";i.dom.setStyle(i.getBody(),"paddingBottom",i.getParam("autoresize_bottom_margin",50)+"px")});if(a.getParam("autoresize_on_init",true)){a.onLoadContent.add(function(i,h){setTimeout(function(){b()},1200)})}a.addCommand("mceAutoResize",b)},getInfo:function(){return{longname:"WP Fullscreen",author:"WordPress",authorurl:"http://wordpress.org",infourl:"",version:"1.0"}}});tinymce.PluginManager.add("wpfullscreen",tinymce.plugins.wpFullscreenPlugin)})(); 
    2  No newline at end of file 
     1(function(){tinymce.create("tinymce.plugins.wpFullscreenPlugin",{init:function(a,c){var d=this,g=0,e={},f=tinymce.DOM;a.addCommand("wpFullScreenClose",function(){if(a.getParam("wp_fullscreen_is_enabled")){f.win.setTimeout(function(){tinyMCE.remove(a);f.remove("wp_mce_fullscreen_parent");tinyMCE.settings=tinyMCE.oldSettings;tinyMCE.activeEditor.execCommand("wpFullScreenClosed")},10)}});a.addCommand("wpFullScreenClosed",function(){d.fullscreenEditor=null});a.addCommand("wpFullScreenSave",function(){var h=tinyMCE.get("wp_mce_fullscreen"),i;h.focus();i=tinyMCE.get(h.getParam("wp_fullscreen_editor_id"));i.setContent(h.getContent({format:"raw"}),{format:"raw"})});a.addCommand("wpFullScreenSaveContent",function(){a.execCommand("wpFullScreenSave");tinyMCE.triggerSave()});a.addCommand("wpFullScreenInit",function(){if(d.fullscreenEditor||a.id=="wp_mce_fullscreen"){return}var i=a.getDoc(),h=i.body;tinyMCE.oldSettings=tinyMCE.settings;tinymce.each(a.settings,function(j,k){e[k]=j});e.id="wp_mce_fullscreen";e.wp_fullscreen_is_enabled=true;e.wp_fullscreen_editor_id=a.id;e.theme_advanced_resizing=false;e.theme_advanced_toolbar_location="external";e.theme_advanced_statusbar_location="none";e.content_css=e.wp_fullscreen_content_css||"";e.height=tinymce.isIE?h.scrollHeight:h.offsetHeight;e.save_onsavecallback=function(){a.setContent(tinyMCE.get(e.id).getContent({format:"raw"}),{format:"raw"});a.execCommand("mceSave")};tinymce.each(a.getParam("wp_fullscreen_settings"),function(l,j){e[j]=l});d.fullscreenEditor=new tinymce.Editor("wp_mce_fullscreen",e);d.fullscreenEditor.onInit.add(function(){if(!fullscreen.visible&&fullscreen.mode()==="tinymce"){d.fullscreenEditor.setContent(a.getContent());d.fullscreenEditor.focus()}});d.fullscreenEditor.render()});a.addCommand("wpFullScreenOpen",function(){fullscreen.on("tinymce")});a.onInit.add(function(){if(!fullscreen.visible){return}if(a.id==="wp_mce_fullscreen"){fullscreen.mode("tinymce")}else{a.execCommand("wpFullScreenInit")}});if(a.id=="wp_mce_fullscreen"){setTimeout(function(){a.onNodeChange.add(function(j,h,k,i){tinymce.each(fullscreen.tinymce.commands,function(l,n){var o=h.get(n),m=fullscreen.Button(n);if(o){m.disabled(!!o.disabled);m.active(!!o.active)}})})},100)}a.addButton("fullscreen",{title:"fullscreen.desc",cmd:"wpFullScreenOpen"});if(a.getParam("fullscreen_is_enabled")||!a.getParam("wp_fullscreen_is_enabled")){return}function b(){var k=a.getDoc(),h=k.body,m=k.documentElement,j=tinymce.DOM,l,i;if(tinymce.isIE){i=h.scrollHeight}else{if(tinymce.isWebKit){i=h.offsetHeight}else{i=m.offsetHeight}}l=(i>300)?i:300;if(g!=l){g=l;j.setStyle(j.get(a.id+"_ifr"),"height",l+"px")}}a.onInit.add(function(i,h){i.onChange.add(b);i.onSetContent.add(b);i.onPaste.add(b);i.onKeyUp.add(b);i.onPostRender.add(b);i.getBody().style.overflowY="hidden";i.dom.setStyle(i.getBody(),"paddingBottom",i.getParam("autoresize_bottom_margin",50)+"px")});if(a.getParam("autoresize_on_init",true)){a.onLoadContent.add(function(i,h){setTimeout(function(){b()},1200)})}a.addCommand("mceAutoResize",b)},getInfo:function(){return{longname:"WP Fullscreen",author:"WordPress",authorurl:"http://wordpress.org",infourl:"",version:"1.0"}}});tinymce.PluginManager.add("wpfullscreen",tinymce.plugins.wpFullscreenPlugin)})(); 
     2 No newline at end of file 
  • wp-includes/js/tinymce/plugins/wpfullscreen/editor_plugin.dev.js

     
    1818                                                tinyMCE.remove(ed); 
    1919                                                DOM.remove('wp_mce_fullscreen_parent'); 
    2020                                                tinyMCE.settings = tinyMCE.oldSettings; // Restore old settings 
     21                                                tinyMCE.activeEditor.execCommand('wpFullScreenClosed'); 
    2122                                        }, 10); 
    2223                                } 
    2324                        }); 
    24                          
     25 
     26                        ed.addCommand('wpFullScreenClosed', function() { 
     27                                t.fullscreenEditor = null; 
     28                        }); 
     29 
    2530                        ed.addCommand('wpFullScreenSave', function() { 
    2631                                var ed = tinyMCE.get('wp_mce_fullscreen'), edd; 
    2732 
     
    3035 
    3136                                edd.setContent( ed.getContent({format : 'raw'}), {format : 'raw'} ); 
    3237                        }); 
    33                          
     38 
    3439                        ed.addCommand('wpFullScreenSaveContent', function() { 
    3540                                ed.execCommand('wpFullScreenSave'); 
    3641                                tinyMCE.triggerSave(); 
    3742                        }); 
    38                          
    39                         ed.addCommand('wpFullScreenOpen', function() { 
     43 
     44                        ed.addCommand('wpFullScreenInit', function() { 
     45                                // Only init the editor if necessary. 
     46                                if ( t.fullscreenEditor || ed.id == 'wp_mce_fullscreen' ) 
     47                                        return; 
     48 
    4049                                var d = ed.getDoc(), b = d.body; 
    4150 
    4251                                tinyMCE.oldSettings = tinyMCE.settings; // Store old settings 
     
    6473 
    6574                                t.fullscreenEditor = new tinymce.Editor('wp_mce_fullscreen', s); 
    6675                                t.fullscreenEditor.onInit.add(function() { 
    67                                         t.fullscreenEditor.setContent(ed.getContent()); 
    68                                         t.fullscreenEditor.focus(); 
     76                                        if ( ! fullscreen.visible && fullscreen.mode() === 'tinymce' ) { 
     77                                                t.fullscreenEditor.setContent( ed.getContent() ); 
     78                                                t.fullscreenEditor.focus(); 
     79                                        } 
    6980                                }); 
    7081 
    71                                 fullscreen.on(); 
    7282                                t.fullscreenEditor.render(); 
    7383                        }); 
    7484 
     85                        ed.addCommand('wpFullScreenOpen', function() { 
     86                                fullscreen.on('tinymce'); 
     87                        }); 
     88 
     89                        ed.onInit.add( function() { 
     90                                if ( ! fullscreen.visible ) 
     91                                        return; 
     92 
     93                                if ( ed.id === 'wp_mce_fullscreen' ) 
     94                                        fullscreen.mode('tinymce'); 
     95                                else 
     96                                        ed.execCommand('wpFullScreenInit'); 
     97                        }); 
     98 
     99                        if ( ed.id == 'wp_mce_fullscreen' ) { 
     100                                // Ensure event is bound after theme events. 
     101                                setTimeout( function() { 
     102                                        // Keep external buttons in sync with tinymce buttons 
     103                                        ed.onNodeChange.add( function( edi, cm, n, co ) { 
     104                                                tinymce.each( fullscreen.tinymce.commands, function( v, key ) { 
     105                                                        var control = cm.get( key ), 
     106                                                                button  = fullscreen.Button( key ); 
     107 
     108                                                        if ( control ) { 
     109                                                                button.disabled( !! control.disabled ); 
     110                                                                button.active( !! control.active ); 
     111                                                        } 
     112                                                }); 
     113                                        }); 
     114                                }, 100 ); 
     115                        } 
     116 
    75117                        // Register buttons 
    76118                        ed.addButton('fullscreen', {title : 'fullscreen.desc', cmd : 'wpFullScreenOpen'}); 
    77119 
     120 
    78121                        // END fullscreen 
    79122//---------------------------------------------------------------- 
    80123                        // START autoresize 
  • wp-includes/js/quicktags.dev.js

     
    259259        } 
    260260        document.write('<input type="button" id="ed_spell" class="ed_button" onclick="edSpell(edCanvas);" title="' + quicktagsL10n.dictionaryLookup + '" value="' + quicktagsL10n.lookup + '" />'); 
    261261        document.write('<input type="button" id="ed_close" class="ed_button" onclick="edCloseAllTags();" title="' + quicktagsL10n.closeAllOpenTags + '" value="' + quicktagsL10n.closeTags + '" />'); 
     262        document.write('<input type="button" id="ed_fullscreen" class="ed_button" onclick="fullscreen.on(\'html\');return false;" title="' + quicktagsL10n.toggleFullscreen + '" value="' + quicktagsL10n.fullscreen + '" />'); 
    262263//      edShowLinks(); // disabled by default 
    263264        document.write('</div>'); 
    264265} 
  • wp-includes/script-loader.php

     
    8686                'enterURL' => __('Enter the URL'), 
    8787                'enterImageURL' => __('Enter the URL of the image'), 
    8888                'enterImageDescription' => __('Enter a description of the image'), 
     89                'fullscreen' => __('fullscreen'), 
     90                'toggleFullscreen' => esc_attr( __('Toggle fullscreen mode') ), 
    8991                'l10n_print_after' => 'try{convertEntities(quicktagsL10n);}catch(e){};' 
    9092        ) ); 
    9193 
     
    9395 
    9496        $scripts->add( 'editor', "/wp-admin/js/editor$suffix.js", array('utils','jquery'), '20110411' ); 
    9597        $scripts->add_data( 'editor', 'group', 1 ); 
    96          
    97         $scripts->add( 'wp-fullscreen', "/wp-admin/js/wp-fullscreen$suffix.js", array('jquery'), '20110425a' ); 
     98 
     99        $scripts->add( 'wp-fullscreen', "/wp-admin/js/wp-fullscreen$suffix.js", array('jquery'), '20110428' ); 
    98100        $scripts->add_data( 'wp-fullscreen', 'group', 1 ); 
     101        $scripts->localize( 'wp-fullscreen', 'fullscreenL10n', array( 
     102                'bold' => __('Bold (Ctrl + B)'), 
     103                'italic' => __('Italic (Ctrl + I)'), 
     104                'bullist' => __('Unordered list (Alt + Shift + U)'), 
     105                'numlist' => __('Ordered list (Alt + Shift + O)'), 
     106                'image' => __('Insert/edit image (Alt + Shift + M)'), 
     107                'link' => __('Insert/edit link (Alt + Shift + A)'), 
     108                'unlink' => __('Unlink (Alt + Shift + S)'), 
     109                'html' => __('HTML'), 
     110                'visual' => __('Visual'), 
     111                'l10n_print_after' => 'try{convertEntities(fullscreenL10n);}catch(e){};', 
     112        ) ); 
    99113 
    100114        $scripts->add( 'prototype', '/wp-includes/js/prototype.js', false, '1.6.1'); 
    101115 
     
    271285        $scripts->add( 'admin-bar', "/wp-includes/js/admin-bar$suffix.js", false, '20110131' ); 
    272286        $scripts->add_data( 'admin-bar', 'group', 1 ); 
    273287 
    274         $scripts->add( 'wplink', "/wp-includes/js/tinymce/plugins/wplink/js/wplink$suffix.js", array( 'jquery', 'wpdialogs' ), '20110421' ); 
     288        $scripts->add( 'wplink', "/wp-includes/js/tinymce/plugins/wplink/js/wplink$suffix.js", array( 'jquery', 'wpdialogs' ), '20110428' ); 
    275289        $scripts->add_data( 'wplink', 'group', 1 ); 
    276290        $scripts->localize( 'wplink', 'wpLinkL10n', array( 
    277291                'title' => __('Insert/edit link'), 
  • wp-admin/includes/post.php

     
    17251725        $width = isset($content_width) && 800 > $content_width ? $content_width : 800; 
    17261726        $width = $width + 10; // compensate for the padding 
    17271727        $save = $post->post_status == 'publish' ? __('Update') : __('Save'); 
    1728 ?>  
     1728?> 
    17291729<div id="wp-fullscreen-body"> 
    17301730<div id="fullscreen-topbar" class="fade-600"> 
    17311731        <div id="wp-fullscreen-info"> 
    17321732                <span id="wp-fullscreen-saved"> </span> 
    17331733                <span class="autosave-message">&nbsp;</span> 
    1734                 <span id="wp-fullscreen-last-edit"> </span>  
     1734                <span id="wp-fullscreen-last-edit"> </span> 
    17351735        </div> 
    17361736 
    17371737        <div id="wp-fullscreen-toolbar"> 
    1738                 <div id="wp-fullscreen-close"><a href="#" onclick="fullscreen.off();return false;"><?php _e('Back'); ?></a></div> 
    1739                 <div id="wp-fullscreen-save"><input type="button" class="button-primary" value="<?php echo $save; ?>" onclick="fullscreen.save();" /></div> 
    1740                 <div id="wp-fullscreen-buttons" style="width:<?php echo $width; ?>px;" class="wp_themeSkin"> 
    1741                         <div> 
    1742                         <a title="<?php _e('Bold (Ctrl + B)'); ?>" aria-labelledby="wp_fs_bold_voice" onclick="fullscreen.b();return false;" class="mceButton mceButtonEnabled mce_bold" href="javascript:;" id="wp_fs_bold" role="button" tabindex="-1" aria-pressed="false"> 
    1743                         <span class="mceIcon mce_bold"></span> 
    1744                         <span id="wp_fs_bold_voice" style="display: none;" class="mceVoiceLabel mceIconOnly"><?php _e('Bold (Ctrl + B)'); ?></span> 
    1745                         </a> 
     1738                <div id="wp-fullscreen-resources" style="display:none;"> 
     1739                        <div id="wp-fullscreen-button-template" class="wp-fullscreen-button"> 
     1740                                <a class="mceButton mceButtonEnabled" href="javascript:;" role="button" tabindex="-1" aria-pressed="false"> 
     1741                                        <span class="mceIcon"></span> 
     1742                                        <span style="display: none;" class="mceVoiceLabel mceIconOnly"></span> 
     1743                                </a> 
    17461744                        </div> 
    1747  
    1748                         <div> 
    1749                         <a title="<?php _e('Italic (Ctrl + I)'); ?>" aria-labelledby="wp_fs_italic_voice" onclick="fullscreen.i();return false;" class="mceButton mceButtonEnabled mce_italic" href="javascript:;" id="wp_fs_italic" role="button" tabindex="-1" aria-pressed="false"> 
    1750                         <span class="mceIcon mce_italic"></span> 
    1751                         <span id="wp_fs_italic_voice" style="display: none;" class="mceVoiceLabel mceIconOnly"><?php _e('Italic (Ctrl + I)'); ?></span> 
    1752                         </a> 
     1745                        <div class="wp-fullscreen-separator"> 
     1746                                <span tabindex="-1" aria-orientation="vertical" role="separator" class="mceSeparator"></span> 
    17531747                        </div> 
     1748                </div> 
    17541749 
    1755                         <div> 
    1756                         <span tabindex="-1" aria-orientation="vertical" role="separator" class="mceSeparator"></span> 
    1757                         </div> 
    1758  
    1759                         <div> 
    1760                         <a title="<?php _e('Unordered list (Alt + Shift + U)'); ?>" aria-labelledby="wp_fs_bullist_voice" onclick="fullscreen.ul();return false;" onmousedown="return false;" class="mceButton mceButtonEnabled mce_bullist" href="javascript:;" id="wp_fs_bullist" role="button" tabindex="-1" aria-pressed="false"> 
    1761                         <span class="mceIcon mce_bullist"></span> 
    1762                         <span id="wp_fs_bullist_voice" style="display: none;" class="mceVoiceLabel mceIconOnly"><?php _e('Unordered list (Alt + Shift + U)'); ?></span> 
    1763                         </a> 
    1764                         </div> 
    1765  
    1766                         <div> 
    1767                         <a title="<?php _e('Ordered list (Alt + Shift + O)'); ?>" aria-labelledby="wp_fs_numlist_voice" onclick="fullscreen.ol();return false;" class="mceButton mceButtonEnabled mce_numlist" href="javascript:;" id="wp_fs_numlist" role="button" tabindex="-1" aria-pressed="false"> 
    1768                         <span class="mceIcon mce_numlist"></span> 
    1769                         <span id="wp_fs_numlist_voice" style="display: none;" class="mceVoiceLabel mceIconOnly"><?php _e('Ordered list (Alt + Shift + O)'); ?></span> 
    1770                         </a> 
    1771                         </div> 
    1772  
    1773                         <div> 
    1774                         <span tabindex="-1" aria-orientation="vertical" role="separator" class="mceSeparator"></span> 
    1775                         </div> 
    1776  
    1777                         <div> 
    1778                         <a title="<?php _e('Insert/edit image (Alt + Shift + M)'); ?>" aria-labelledby="wp_fs_image_voice" onclick="jQuery('#add_image').click();return false;" class="mceButton mceButtonEnabled mce_image" href="javascript:;" id="wp_fs_image" role="button" tabindex="-1"> 
    1779                         <span class="mceIcon mce_image"></span> 
    1780                         <span id="wp_fs_image_voice" style="display: none;" class="mceVoiceLabel mceIconOnly"><?php _e('Insert/edit image (Alt + Shift + M)'); ?></span> 
    1781                         </a> 
    1782                         </div> 
    1783  
    1784                         <div> 
    1785                         <span tabindex="-1" aria-orientation="vertical" role="separator" class="mceSeparator"></span> 
    1786                         </div> 
    1787  
    1788                         <div> 
    1789                         <a title="<?php _e('Insert/edit link (Alt + Shift + A)'); ?>" aria-labelledby="wp_fs_link_voice" onclick="fullscreen.link();return false;" class="mceButton mce_link mceButtonEnabled" href="javascript:;" id="wp_fs_link" role="button" tabindex="-1" aria-pressed="false"> 
    1790                         <span class="mceIcon mce_link"></span> 
    1791                         <span id="wp_fs_link_voice" style="display: none;" class="mceVoiceLabel mceIconOnly"><?php _e('Insert/edit link (Alt + Shift + A)'); ?></span> 
    1792                         </a> 
    1793                         </div> 
    1794  
    1795                         <div> 
    1796                         <a title="<?php _e('Unlink (Alt + Shift + S)'); ?>" aria-labelledby="wp_fs_unlink_voice" onclick="fullscreen.unlink();return false;" class="mceButton mce_unlink mceButtonEnabled" href="javascript:;" id="wp_fs_unlink" role="button" tabindex="-1" aria-pressed="false"> 
    1797                         <span class="mceIcon mce_unlink"></span> 
    1798                         <span id="wp_fs_unlink_voice" style="display: none;" class="mceVoiceLabel mceIconOnly"><?php _e('Unlink (Alt + Shift + S)'); ?></span> 
    1799                         </a> 
    1800                         </div> 
    1801  
     1750                <div id="wp-fullscreen-close"><a href="#" onclick="fullscreen.off();return false;"><?php _e('Back'); ?></a></div> 
     1751                <div id="wp-fullscreen-save"><input type="button" class="button-primary" value="<?php echo $save; ?>" onclick="fullscreen.save();" /></div> 
     1752                <div id="wp-fullscreen-central-toolbar" style="width:<?php echo $width; ?>px;"> 
     1753                        <div id="wp-fullscreen-mode-bar"><div id="wp-fullscreen-modes"></div></div> 
     1754                        <div id="wp-fullscreen-button-bar"><div id="wp-fullscreen-buttons" class="wp_themeSkin"></div></div> 
    18021755                        <div id="wp-fullscreen-count"><?php _e('Word Count:'); ?> <span class="word-count">0</span></div> 
    18031756                </div> 
    18041757        </div> 
  • wp-admin/js/wp-fullscreen.dev.js

     
    11/** 
    2  * PubSub -- A lightweight publish/subscribe implementation. Private use only! 
     2 * PUBSUB 
     3 * 
     4 * A lightweight publish/subscribe implementation. 
     5 * Private use only! 
    36 */ 
    47var PubSub, fullscreen, wptitlehint; 
    58 
     
    3841}; 
    3942 
    4043PubSub.prototype.publish = function( topic, args ) { 
    41         var i, l, 
     44        var i, l, broken, 
    4245                topics = this.topics[ topic ]; 
    4346 
    4447        if ( ! topics ) 
     
    4750        args = args || []; 
    4851 
    4952        for ( i = 0, l = topics.length; i < l; i++ ) { 
    50                 topics[i].apply( null, args ); 
     53                broken = ( topics[i].apply( null, args ) === false || broken ); 
    5154        } 
     55        return ! broken; 
    5256}; 
    5357 
    54 // Distraction Free Writing (wp-fullscreen) access the API globally using the fullscreen variable. 
     58/** 
     59 * FULLSCREEN 
     60 * 
     61 * Distraction free writing. 
     62 * Access the API globally using the fullscreen variable. 
     63 */ 
     64 
    5565(function($){ 
    5666        var api, ps, bounder; 
    5767 
     
    97107        /** 
    98108         * ON / OFF API 
    99109         */ 
    100         api.on = function() { 
    101                 if ( ! api.ui.element ) 
    102                         api.ui.init(); 
     110        /** 
     111         * on() 
     112         * 
     113         * Turns fullscreen on. 
     114         * 
     115         * @param string mode Optional. Switch to the given mode before opening. 
     116         */ 
     117        api.on = function( mode ) { 
     118                if ( api.visible ) 
     119                        return; 
    103120 
    104                 if ( ! api.visible ) 
    105                         api.ui.fade( 'show', 'showing', 'shown' ); 
     121                api.mode( mode ); 
     122                api.ui.fade( 'show', 'showing', 'shown' ); 
    106123        }; 
    107124 
     125        /** 
     126         * off() 
     127         * 
     128         * Turns fullscreen off. 
     129         */ 
    108130        api.off = function() { 
    109                 if ( api.ui.element && api.visible ) 
    110                         api.ui.fade( 'hide', 'hiding', 'hidden' ); 
     131                if ( ! api.visible ) 
     132                        return; 
     133 
     134                api.ui.fade( 'hide', 'hiding', 'hidden' ); 
    111135        }; 
    112136 
    113137        /** 
     138         * MODE API 
     139         */ 
     140        (function(){ 
     141                var mode = 'html'; 
     142 
     143                /** 
     144                 * mode() 
     145                 * 
     146                 * @return string - The fullscreen mode. 
     147                 * 
     148                 * mode( to ) 
     149                 * 
     150                 * @param string to - The fullscreen mode to switch to. 
     151                 * @event switchMode 
     152                 * @eventparam string to   - The new mode. 
     153                 * @eventparam string from - The old mode. 
     154                 */ 
     155                api.mode = function( to ) { 
     156                        if ( ! to ) 
     157                                return mode; 
     158 
     159                        var from = mode; 
     160 
     161                        // Don't switch if the mode is the same. 
     162                        if ( mode == to ) 
     163                                return; 
     164 
     165                        // Only fire the switch event when visible. 
     166                        if ( ! api.visible || ps.publish( 'switchMode', [ to, from ] ) ) { 
     167                                mode = to; 
     168                                ps.publish( 'switchedMode', [ to, from ] ); 
     169                        } 
     170                }; 
     171        })(); 
     172 
     173        /** 
     174         * MODE TOGGLE BUTTONS 
     175         */ 
     176        api.modes = { 
     177                order: 'tinymce html', 
     178                labels: { 
     179                        html: fullscreenL10n.html, 
     180                        tinymce: fullscreenL10n.visual 
     181                }, 
     182                refresh: function( slug, label ) { 
     183                        var modes = $('#wp-fullscreen-modes'), 
     184                                slugs = api.modes.order.split(' '); 
     185 
     186                        modes.detach().children().detach().removeClass('active'); 
     187 
     188                        $.each( slugs, function( i, slug ) { 
     189                                modes.append( api.modes.element( slug ) ); 
     190                        }); 
     191 
     192                        api.modes.element( api.mode() ).addClass('active'); 
     193 
     194                        modes.appendTo('#wp-fullscreen-mode-bar'); 
     195                }, 
     196                _elements: {}, 
     197                element: function( slug ) { 
     198                        if ( api.modes._elements[ slug ] ) 
     199                                return api.modes._elements[ slug ]; 
     200 
     201                        var label = api.modes.labels[ slug ] || slug; 
     202                                mode = $('<a href="javascript:;">' + label + '</a>'); 
     203 
     204                        mode.click( function( e ) { 
     205                                api.mode( slug ); 
     206                                e.preventDefault(); 
     207                        }); 
     208 
     209                        return api.modes._elements[ slug ] = mode; 
     210                } 
     211        } 
     212 
     213        /** 
    114214         * GENERAL 
    115215         */ 
    116216 
    117217        api.save = function() { 
    118218                $('#title').val( $('#wp-fullscreen-title').val() ); 
    119                 tinyMCE.execCommand('wpFullScreenSaveContent'); 
     219 
     220                if ( api.mode() === 'tinymce' ) 
     221                        tinyMCE.execCommand('wpFullScreenSaveContent'); 
     222 
    120223                $('#hiddenaction').val('wp-fullscreen-save-post'); 
    121224 
    122225                $.post( ajaxurl, $('form#post').serialize(), function(r){ 
     
    129232                }, 'json'); 
    130233        } 
    131234 
    132         set_title_hint = function(title) { 
    133                 if ( !title.val().length ) 
     235        set_title_hint = function( title ) { 
     236                if ( ! title.val().length ) 
    134237                        title.siblings('label').css( 'visibility', '' ); 
    135238                else 
    136239                        title.siblings('label').css( 'visibility', 'hidden' ); 
     
    164267                        .bind( 'mousemove.fullscreen', function(e) { bounder( 'showToolbar', 'hideToolbar', 2500 ); } ); 
    165268        }); 
    166269 
     270 
     271        // This event occurs before the overlay blocks the UI. 
    167272        ps.subscribe( 'show', function() { 
     273                var textarea; 
     274 
     275                if ( ! api.textarea ) { 
     276                        textarea = $('#wp_mce_fullscreen'); 
     277                        api.textarea = textarea[0]; 
     278                        api.grow( textarea ); 
     279                } 
     280 
     281                if ( api.mode() === 'tinymce' ) { 
     282                        // Initialize the editor. 
     283                        api.tinymce.editor(); 
     284 
     285                } else if ( api.mode() === 'html' ) { 
     286                        // Copy the content from the editor's textarea. 
     287                        api.textarea.value = edCanvas.value; 
     288                } 
     289 
     290                // Map the textarea to edCanvas, store the old edCanvas. 
     291                api._edCanvas = edCanvas; 
     292                edCanvas = api.textarea; 
     293        }); 
     294 
     295        // This event occurs while the overlay blocks the UI. 
     296        ps.subscribe( 'showing', function() { 
     297                // Update the fullscreen fields 
    168298                var title = $('#wp-fullscreen-title').val( $('#title').val() ); 
    169                 this.set_title_hint(title); 
     299                set_title_hint( title ); 
     300                $('#wp-fullscreen-last-edit').html( $('#last-edit').html() ); 
     301 
     302                // Show the fullscreen UI 
     303                $('#wp-fullscreen-body').show(); 
     304                $( document.body ).addClass( 'fullscreen-active' ); 
     305                api.buttons.refresh(); 
     306                api.modes.refresh(); 
     307 
     308                // Bind toolbar fading events 
    170309                $( document ).bind( 'mousemove.fullscreen', function(e) { bounder( 'showToolbar', 'hideToolbar', 2500 ); } ); 
     310                bounder( 'showToolbar', 'hideToolbar', 2500 ); 
    171311        }); 
    172312 
     313        // This event occurs after the overlay blocks the UI. 
     314        ps.subscribe( 'shown', function() { 
     315                api.visible = true; 
     316        }); 
     317 
     318        // This event occurs before the overlay blocks the UI. 
    173319        ps.subscribe( 'hide', function() { 
    174                 var title = $('#title').val( $('#wp-fullscreen-title').val() ); 
    175                 this.set_title_hint(title); 
    176                 tinyMCE.execCommand('wpFullScreenSave'); 
     320                if ( api.mode() === 'tinymce' ) 
     321                        tinyMCE.execCommand('wpFullScreenSave'); 
     322 
     323                // Unbind all fullscreen events on the document (including mousemove) 
    177324                $( document ).unbind( '.fullscreen' ); 
    178325        }); 
    179326 
    180         ps.subscribe( 'showing', function() { 
    181                 $('#wp-fullscreen-body').show(); 
    182                 $( document.body ).addClass( 'fullscreen-active' ); 
    183                 bounder( 'showToolbar', 'hideToolbar', 3000 ); 
    184                 $('#wp-fullscreen-last-edit').html( $('#last-edit').html() ); 
    185         }); 
     327        // This event occurs while the overlay blocks the UI. 
     328        ps.subscribe( 'hiding', function() { 
     329                var mode, title; 
    186330 
    187         ps.subscribe( 'hiding', function() { 
     331                // Update the normal fields 
     332                title = $('#title').val( $('#wp-fullscreen-title').val() ); 
     333                set_title_hint( title ); 
     334                $('#last-edit').html( $('#wp-fullscreen-last-edit').html() ); 
     335 
     336                // Restore and update edCanvas. 
     337                edCanvas = api._edCanvas; 
     338                edCanvas.value = api.textarea.value; 
     339 
     340                // Hide the fullscreen UI 
    188341                $('#wp-fullscreen-body').hide(); 
    189342                $( document.body ).removeClass( 'fullscreen-active' ); 
    190                 $('#last-edit').html( $('#wp-fullscreen-last-edit').html() ); 
    191         }); 
    192343 
    193         ps.subscribe( 'shown', function() { 
    194                 api.visible = true; 
     344                // Destroy the tinyMCE editor if it has been instantiated. 
     345                if ( tinyMCE ) // This should be run regardless of mode. 
     346                        tinyMCE.execCommand('wpFullScreenClose'); 
     347 
     348                // Clear the textarea. 
     349                api.textarea.value = ''; 
     350 
     351                // Make sure the correct editor is displaying. 
     352                mode = api.mode(); 
     353                if ( mode == 'tinymce' || mode == 'html' ) 
     354                        switchEditors.go( 'content', mode ); 
    195355        }); 
    196356 
     357        // This event occurs after the overlay blocks the UI. 
    197358        ps.subscribe( 'hidden', function() { 
    198359                api.visible = false; 
     360 
    199361                $('#wp_mce_fullscreen').removeAttr('style'); 
    200                 tinyMCE.execCommand('wpFullScreenClose'); 
    201362        }); 
    202363 
     364        ps.subscribe( 'switchMode', function( to, from ) { 
     365                var ed; 
     366 
     367                if ( to === 'tinymce' || from === 'tinymce' ) { 
     368                        ed = api.tinymce.editor(); 
     369 
     370                        // Don't switch modes if there was an error fetching the editor. 
     371                        // If the editor is rendering, it will trigger the switch when initialized. 
     372                        if ( ! ed ) 
     373                                return false; 
     374                } 
     375 
     376                if ( from ==='html' && to === 'tinymce' ) { 
     377                        api.textarea.value = switchEditors.wpautop( api.textarea.value ); 
     378                        ed.show(); 
     379                } else if ( from ==='tinymce' && to === 'html' ) { 
     380                        ed.hide(); 
     381                } 
     382        }); 
     383 
     384        ps.subscribe( 'switchedMode', function( to, from ) { 
     385                api.buttons.refresh(); 
     386                api.modes.refresh(); 
     387 
     388                if ( to === 'html' ) 
     389                        api.grow.resize( api.textarea ); 
     390        }); 
     391 
     392 
    203393        /** 
    204          * Buttons 
     394         * BUTTONS 
    205395         */ 
    206         api.b = function() { 
    207                 tinyMCE.execCommand('Bold'); 
    208         } 
     396        api.Button = function( slug ) { 
     397                if ( ! ( this instanceof api.Button ) ) { 
     398                        // Get the instance and create a new one if necessary. 
     399                        if ( ! api.Button.buttons[ slug ] ) 
     400                                api.Button.buttons[ slug ] = new api.Button( slug ); 
     401                        return api.Button.buttons[ slug ]; 
     402                } 
    209403 
    210         api.i = function() { 
    211                 tinyMCE.execCommand('Italic'); 
    212         } 
     404                this.slug   = slug; 
     405                this.action = {}; 
    213406 
    214         api.ul = function() { 
    215                 tinyMCE.execCommand('InsertUnorderedList'); 
    216         } 
     407                api.Button.buttons[ slug ] = this; 
     408        }; 
    217409 
    218         api.ol = function() { 
    219                 tinyMCE.execCommand('InsertOrderedList'); 
    220         } 
     410        api.Button.buttons = {}; 
    221411 
    222         api.link = function() { 
    223                 tinyMCE.execCommand('WP_Link'); 
    224         } 
     412        $.extend( api.Button.prototype, { 
     413                set: function( modes, callback ) { 
     414                        var self = this; 
     415                        if ( typeof modes === 'string' ) 
     416                                modes = [ modes ]; 
     417                        $.each( modes, function( i, mode ) { 
     418                                self.action[ mode ] = callback; 
     419                        }); 
     420                }, 
     421                get: function( mode ) { 
     422                        return this.action[ mode ]; 
     423                }, 
     424                run: function() { 
     425                        var callback = this.get( api.mode() ); 
    225426 
    226         api.unlink = function() { 
    227                 tinyMCE.execCommand('unlink'); 
     427                        if ( ! this.disabled() && callback ) 
     428                                return callback(); 
     429                }, 
     430                element: function( element ) { 
     431                        var self = this; 
     432                        if ( ! element ) { 
     433                                if ( ! this._element ) 
     434                                        this.elementTemplate(); 
     435                                return this._element; 
     436                        } 
     437 
     438                        this._element = element.detach(); 
     439                        // Ensure the proper classes are set. 
     440                        $.each([ 'disabled', 'active' ], function( i, fn ) { 
     441                                self[ fn ]( self[ fn ]() ); 
     442                        }); 
     443                        // Run when the element clicked. 
     444                        element.click( function( e ) { 
     445                                self.run(); 
     446                                e.preventDefault(); 
     447                        }); 
     448                }, 
     449 
     450                elementTemplate: function() { 
     451                        if ( ! api.Button.template || ! api.Button.template.length ) 
     452                                return; 
     453 
     454                        var slug  = this.slug, 
     455                                el    = api.Button.template.clone(), 
     456                                a     = el.children('a'), 
     457                                label = fullscreenL10n[ slug ] || ''; 
     458 
     459                        el.attr( 'id', 'wp-fs-button-' + slug ); 
     460                        a.addClass( 'mce_' + slug ).attr({ 
     461                                title: label, 
     462                                'aria-labelledby': 'wp-fs-voice-' + slug 
     463                        }); 
     464                        a.children('.mceIcon').addClass( 'mce_' + slug ); 
     465                        a.children('.mceVoiceLabel').attr( 'id', 'wp-fs-voice-' + slug ).text( label ); 
     466 
     467                        this.element( el ); 
     468                } 
     469        }); 
     470 
     471        $(document).ready( function() { 
     472                api.Button.template = $('#wp-fullscreen-button-template'); 
     473        }); 
     474 
     475        /** 
     476         * Create disabled and active functions. 
     477         * 
     478         * These functions act as getters/setters. 
     479         * They also toggle the appropriate classnames on the element. 
     480         */ 
     481        $.each([ 'disabled', 'active' ], function( i, fn ) { 
     482                var key = '_' + fn; 
     483 
     484                api.Button.prototype[ fn ] = function( change ) { 
     485                        if ( typeof change == 'undefined' ) 
     486                                return this[ key ]; 
     487 
     488                        this[ key ] = !! change; 
     489 
     490                        if ( this.element() ) 
     491                                this.element().toggleClass( fn, this[ key ] ); 
     492                }; 
     493        }); 
     494 
     495        api.buttons = { 
     496                order: { 
     497                        tinymce: 'bold italic | bullist numlist | image | link unlink', 
     498                        html: 'image link' 
     499                }, 
     500                refresh: function() { 
     501                        var toolbar = $('#wp-fullscreen-buttons'), 
     502                                sep     = $('#wp-fullscreen-resources .wp-fullscreen-separator'), 
     503                                order   = api.buttons.order[ api.mode() ] || '', 
     504                                slugs   = order.split(' '); 
     505 
     506                        if ( ! toolbar.length ) 
     507                                return; 
     508 
     509                        // Detach the toolbar from the DOM. 
     510                        toolbar.detach(); 
     511                        // Remove separators 
     512                        toolbar.children('.wp-fullscreen-separator').remove(); 
     513                        // Detach old buttons 
     514                        toolbar.children().detach(); 
     515 
     516                        // Arrange current buttons 
     517                        $.each( slugs, function( i, slug ) { 
     518                                var button; 
     519 
     520                                // A pipe indicates a separator 
     521                                if ( slug == '|' ) { 
     522                                        toolbar.append( sep.clone() ); 
     523                                // Otherwise attempt to fetch the element and append it. 
     524                                } else { 
     525                                        button = api.Button( slug ); 
     526                                        button.disabled( false ); 
     527                                        button.active( false ); 
     528 
     529                                        if ( button.element() ) 
     530                                                toolbar.append( button.element() ); 
     531                                } 
     532                        }); 
     533 
     534                        // Add the toolbar back to the DOM 
     535                        toolbar.prependTo('#wp-fullscreen-button-bar'); 
     536                } 
    228537        } 
    229538 
    230539        /** 
    231          * UI elements (used for transitioning) 
     540         * TINYMCE 
    232541         */ 
    233         api.ui = { 
     542        api.tinymce = { 
     543 
    234544                /** 
    235                  * Undefined api.ui properties: 
    236                  * element, topbar 
     545                 * editor() 
     546                 * 
     547                 * Fetches the fullscreen TinyMCE editor. 
     548                 * 
     549                 * Checks for errors. 
     550                 * Will initialize the editor if necessary. 
     551                 * 
     552                 * @return false | tinymce.Editor 
    237553                 */ 
     554                editor: function() { 
     555                        var ed; 
    238556 
     557                        if ( ! tinyMCE ) 
     558                                return false; 
     559 
     560                        ed = tinyMCE.get('wp_mce_fullscreen'); 
     561 
     562                        if ( ed ) { 
     563                                return ed; 
     564                        } else if ( tinyMCE.activeEditor ) { 
     565                                tinyMCE.activeEditor.execCommand('wpFullScreenInit'); 
     566                        } else { 
     567                                switchEditors.go( 'content', 'tinymce' ); 
     568                        } 
     569 
     570                        return false; 
     571                }, 
     572 
     573                commands: { 
     574                        bold:    'Bold', 
     575                        italic:  'Italic', 
     576                        bullist: 'InsertUnorderedList', 
     577                        numlist: 'InsertOrderedList', 
     578                        link:    'WP_Link', 
     579                        unlink:  'unlink' 
     580                } 
     581        }; 
     582 
     583        $.each( api.tinymce.commands, function( key, command ) { 
     584                api.Button( key ).set( 'tinymce', function() { tinyMCE.execCommand( command ); }); 
     585        }); 
     586 
     587        api.Button('link').set( 'html', function() { wpLink.open(); }); 
     588        api.Button('image').set([ 'html', 'tinymce' ], function() { 
     589                $('#add_image').click(); 
     590        }); 
     591 
     592        /** 
     593         * UI ELEMENTS 
     594         * 
     595         * Used for transitioning between states. 
     596         * 
     597         * Undeclared api.ui properties: element, topbar 
     598         */ 
     599        api.ui = { 
    239600                init: function() { 
    240                         var topbar = api.ui.topbar  = $('#fullscreen-topbar'); 
     601                        var topbar = api.ui.topbar = $('#fullscreen-topbar'); 
    241602                        api.ui.element = $('#fullscreen-fader'); 
    242603 
    243604                        if ( wptitlehint ) 
     
    254615                }, 
    255616 
    256617                fade: function( before, during, after ) { 
    257                         if ( before ) 
    258                                 ps.publish( before ); 
     618                        if ( ! api.ui.element ) 
     619                                api.ui.init(); 
    259620 
     621                        // If any callback bound to before returns false, bail. 
     622                        if ( before && ! ps.publish( before ) ) 
     623                                return; 
     624 
    260625                        api.fade.In( api.ui.element, 600, function() { 
    261626                                if ( during ) 
    262627                                        ps.publish( during ); 
     
    332697                })() 
    333698        }; 
    334699 
    335         /* 
    336         api.editor = function() { 
    337                 return $('#content, #content_ifr').filter(':visible'); 
     700 
     701        /** 
     702         * GROW API 
     703         * 
     704         * Automatically updates textarea height. 
     705         */ 
     706        api.grow = function( element ) { 
     707                element = element.filter( 'textarea:not[.grow]' ); 
     708                element.addClass( 'grow' ).css({ 
     709                        overflow: 'hidden', 
     710                        resize: 'none' 
     711                }); 
     712                element.bind( 'keydown.grow keypress.grow focus.grow', api.grow.resizeEvent ); 
     713 
     714                element.each( function() { 
     715                        var t = $(this); 
     716 
     717                        // Ensure a minHeight is set. Default to the height. 
     718                        if ( ! this.style.minHeight && this.style.minHeight !== 0 ) 
     719                                this.style.minHeight = this.style.height; 
     720 
     721                        t.bind( 'grow', function() { 
     722                                // If the textarea causes the window's scrollbars, remember the offset. 
     723                                // Otherwise, the scrollbars will jump when we revert to minHeight. 
     724                                var scroll = api.grow.window.scrollTop(); 
     725 
     726                                // Set to the minHeight so the textarea shrinks appropriately. 
     727                                textarea.style.height = textarea.style.minHeight; 
     728 
     729                                if ( textarea.scrollHeight > textarea.clientHeight ) 
     730                                        textarea.style.height = textarea.scrollHeight + 'px'; 
     731 
     732                                api.grow.window.scrollTop( scroll ); 
     733                        }); 
     734 
     735                        // Initial resize. 
     736                        if ( t.is(':visible') ) 
     737                                api.grow.resize( this ); 
     738                }); 
     739 
     740                return element; 
    338741        }; 
    339         */ 
    340742 
     743        api.grow.window = $(window); 
     744 
     745        api.grow.resizeEvent = function( e ) { 
     746                var textarea = this; 
     747                setTimeout( function() { 
     748                        api.grow.resize( textarea ); 
     749                }, 1 ); 
     750        }; 
     751 
     752        api.grow.resize = function( textarea ) { 
     753                // If the textarea causes the window's scrollbars, remember the offset. 
     754                // Otherwise, the scrollbars will jump when we revert to minHeight. 
     755                var scroll = api.grow.window.scrollTop(); 
     756 
     757                // Set to the minHeight so the textarea shrinks appropriately. 
     758                textarea.style.height = textarea.style.minHeight; 
     759 
     760                if ( textarea.scrollHeight > textarea.clientHeight ) 
     761                        textarea.style.height = textarea.scrollHeight + 'px'; 
     762 
     763                api.grow.window.scrollTop( scroll ); 
     764        }; 
     765 
    341766})(jQuery); 
  • wp-admin/css/wp-admin.dev.css

     
    657657        width: 100%; 
    658658        min-height: 300px; 
    659659        border: 0; 
     660        background: transparent; 
     661        line-height: 1.6em; 
     662        padding: 0; 
     663        outline: none; 
     664        resize: none; 
    660665} 
    661666 
    662667/* =Top bar 
     
    672677        min-width: 800px; 
    673678        width: 100%; 
    674679        height: 62px; 
    675         background: #d9d9d9; 
    676         background: -moz-linear-gradient(bottom,  #d7d7d7,  #e4e4e4); 
    677         background: -webkit-gradient(linear, left bottom, left top, from(#d7d7d7), to(#e4e4e4)); 
     680        background-color: #d9d9d9; 
     681        background-image: -moz-linear-gradient(bottom,  #d7d7d7,  #e4e4e4); 
     682        background-image: -webkit-gradient(linear, left bottom, left top, from(#d7d7d7), to(#e4e4e4)); 
    678683} 
    679684 
    680685#wp-fullscreen-toolbar { 
     
    682687        clear: both; 
    683688} 
    684689 
     690#wp-fullscreen-mode-bar, 
     691#wp-fullscreen-button-bar, 
    685692#wp-fullscreen-close { 
    686693        float: left; 
    687694} 
    688695 
    689696#wp-fullscreen-save, 
    690 #wp-fullscreen-buttons #wp-fullscreen-count { 
     697#wp-fullscreen-count { 
    691698        float: right; 
    692699} 
    693700 
     
    701708        padding: 3px 10px; 
    702709} 
    703710 
    704 #wp-fullscreen-buttons { 
     711#wp-fullscreen-central-toolbar { 
    705712        margin: auto; 
    706713        padding: 0; 
    707714} 
     
    710717        float: left; 
    711718} 
    712719 
     720#wp-fullscreen-mode-bar { 
     721        padding-right: 14px; 
     722} 
     723#wp-fullscreen-modes a { 
     724        display: block; 
     725        font-size: 11px; 
     726        text-decoration: none; 
     727        float: left; 
     728        margin: 1px 0 0 0; 
     729        padding: 2px 6px 2px; 
     730        border-width: 1px 1px 1px 0; 
     731        border-style: solid; 
     732        border-color: #bbb; 
     733        color: #777; 
     734        text-shadow: 0 1px 0 #fff; 
     735        background-color: #f4f4f4; 
     736        background-image: -moz-linear-gradient(bottom,  #e4e4e4,  #f9f9f9); 
     737        background-image: -webkit-gradient(linear, left bottom, left top, from(#e4e4e4), to(#f9f9f9)); 
     738} 
     739#wp-fullscreen-modes a:hover, 
     740#wp-fullscreen-modes .active { 
     741        color: #333; 
     742        border-color: #999; 
     743        background-color: #eee; 
     744        background-image: -moz-linear-gradient(bottom,  #f9f9f9,  #e0e0e0); 
     745        background-image: -webkit-gradient(linear, left bottom, left top, from(#f9f9f9), to(#e0e0e0)); 
     746} 
     747#wp-fullscreen-modes a:first-child { 
     748        border-width: 1px; 
     749        -moz-border-radius: 4px 0 0 4px; 
     750        -webkit-border-top-left-radius: 4px; 
     751        -webkit-border-bottom-left-radius: 4px; 
     752        -khtml-border-top-left-radius: 4px; 
     753        -khtml-border-bottom-left-radius: 4px; 
     754        border-top-left-radius: 4px; 
     755        border-bottom-left-radius: 4px; 
     756} 
     757#wp-fullscreen-modes a:last-child { 
     758        -moz-border-radius: 0 4px 4px 0; 
     759        -webkit-border-top-right-radius: 4px; 
     760        -webkit-border-bottom-right-radius: 4px; 
     761        -khtml-border-top-right-radius: 4px; 
     762        -khtml-border-bottom-right-radius: 4px; 
     763        border-top-right-radius: 4px; 
     764        border-bottom-right-radius: 4px; 
     765} 
     766 
     767 
     768#wp-fullscreen-buttons .active a { 
     769        background: inherit; 
     770} 
     771 
     772#wp-fullscreen-buttons .hidden { 
     773        display: none; 
     774} 
     775 
     776#wp-fullscreen-buttons .disabled { 
     777        opacity: 0.5; 
     778} 
     779 
    713780/* =Thickbox Adjustments 
    714781-------------------------------------------------------------- */ 
    715782.fullscreen-active #TB_overlay { 
     
    40764143        margin: 20px 0; 
    40774144} 
    40784145 
    4079 .pressthis a {  
     4146.pressthis a { 
    40804147        display: inline-block; 
    40814148        width: 113px; 
    40824149        position: relative; 
     
    40964163                rgb(216,216,216) 77% 
    40974164        ); 
    40984165        background-repeat: no-repeat; 
    4099         background-image-position: 10px 8px;     
     4166        background-image-position: 10px 8px; 
    41004167        border-radius: 5px; 
    41014168        -webkit-border-radius: 5px; 
    41024169        -moz-border-radius: 5px; 
    4103         -o-border-radius: 5px;   
     4170        -o-border-radius: 5px; 
    41044171        border: 1px #b4b4b4 solid; 
    4105         font: normal normal normal 14px/16px Georgia, "Times New Roman", "Bitstream Charter", Times, serif;      
     4172        font: normal normal normal 14px/16px Georgia, "Times New Roman", "Bitstream Charter", Times, serif; 
    41064173        text-decoration: none; 
    41074174        text-shadow: #fff 0 1px 0px; 
    41084175        -webkit-text-shadow: #fff 0 1px 0px; 
     
    41194186        transform: skew(20deg) rotate(9deg); 
    41204187        -webkit-transform: skew(20deg) rotate(9deg); 
    41214188        -moz-transform: skew(20deg) rotate(9deg); 
    4122         box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7);  
    4123         -webkit-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7);  
    4124         -moz-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7);  
     4189        box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7); 
     4190        -webkit-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7); 
     4191        -moz-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7); 
    41254192} 
    41264193 
    41274194.pressthis a span { 
    4128         background: url(../images/press-this.png) no-repeat 10px 7px ;  
     4195        background: url(../images/press-this.png) no-repeat 10px 7px ; 
    41294196        padding: 8px 0 8px 32px; 
    41304197        display: inline-block; 
    41314198} 
    41324199 
    4133 .pressthis a:after {  
    4134         content: '';  
    4135         width: 70%;  
     4200.pressthis a:after { 
     4201        content: ''; 
     4202        width: 70%; 
    41364203        height: 55%; 
    4137         z-index: -1;  
    4138         position: absolute;  
    4139         right: 10px;  
    4140         bottom: 9px;  
    4141         background: transparent;   
     4204        z-index: -1; 
     4205        position: absolute; 
     4206        right: 10px; 
     4207        bottom: 9px; 
     4208        background: transparent; 
    41424209        transform: skew(20deg) rotate(6deg); 
    41434210        -webkit-transform: skew(20deg) rotate(6deg); 
    41444211        -moz-transform: skew(20deg) rotate(6deg); 
    4145         box-shadow: 0 10px 8px rgba(0, 0, 0, 0.6);  
    4146         -webkit-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.6);  
    4147         -moz-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.6);  
    4148 }  
     4212        box-shadow: 0 10px 8px rgba(0, 0, 0, 0.6); 
     4213        -webkit-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.6); 
     4214        -moz-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.6); 
     4215} 
    41494216 
    41504217 
    41514218/*------------------------------------------------------------------------------