- Use standard button styles for the Quicktags buttons.
- Better style for the TinyMCE buttons (hover/focus/active/disabled).
- Move the fullscreen (DFW) button to the right.
- Better style for the Visual/Text buttons in DFW.
Props avryl, see #27279

git-svn-id: https://develop.svn.wordpress.org/trunk@27857 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Andrew Ozz 2014-03-29 23:57:13 +00:00
parent d9a2370aab
commit d6e6560980
7 changed files with 143 additions and 156 deletions

View File

@ -439,7 +439,8 @@
api.refreshButtons = function( fade ) { api.refreshButtons = function( fade ) {
if ( s.mode === 'html' ) { if ( s.mode === 'html' ) {
$('#wp-fullscreen-mode-bar').removeClass('wp-tmce-mode').addClass('wp-html-mode'); $('#wp-fullscreen-mode-bar').removeClass('wp-tmce-mode').addClass('wp-html-mode')
.find('a').removeClass( 'active' ).filter('.wp-fullscreen-mode-html').addClass( 'active' );
if ( fade ) { if ( fade ) {
$('#wp-fullscreen-button-bar').fadeOut( 150, function(){ $('#wp-fullscreen-button-bar').fadeOut( 150, function(){
@ -449,7 +450,8 @@
$('#wp-fullscreen-button-bar').addClass('wp-html-mode'); $('#wp-fullscreen-button-bar').addClass('wp-html-mode');
} }
} else if ( s.mode === 'tinymce' ) { } else if ( s.mode === 'tinymce' ) {
$('#wp-fullscreen-mode-bar').removeClass('wp-html-mode').addClass('wp-tmce-mode'); $('#wp-fullscreen-mode-bar').removeClass('wp-html-mode').addClass('wp-tmce-mode')
.find('a').removeClass( 'active' ).filter('.wp-fullscreen-mode-tinymce').addClass( 'active' );
if ( fade ) { if ( fade ) {
$('#wp-fullscreen-button-bar').fadeOut( 150, function(){ $('#wp-fullscreen-button-bar').fadeOut( 150, function(){

View File

@ -669,8 +669,10 @@ final class _WP_Editors {
if ( self::$has_tinymce ) if ( self::$has_tinymce )
wp_enqueue_script('editor'); wp_enqueue_script('editor');
if ( self::$has_quicktags ) if ( self::$has_quicktags ) {
wp_enqueue_script('quicktags'); wp_enqueue_script( 'quicktags' );
wp_enqueue_style( 'buttons' );
}
if ( in_array('wplink', self::$plugins, true) || in_array('link', self::$qt_buttons, true) ) { if ( in_array('wplink', self::$plugins, true) || in_array('link', self::$qt_buttons, true) ) {
wp_enqueue_script('wplink'); wp_enqueue_script('wplink');
@ -1115,10 +1117,12 @@ final class _WP_Editors {
<div id="wp-fullscreen-close"><a href="#" onclick="wp.editor.fullscreen.off();return false;"><?php _e('Exit fullscreen'); ?></a></div> <div id="wp-fullscreen-close"><a href="#" onclick="wp.editor.fullscreen.off();return false;"><?php _e('Exit fullscreen'); ?></a></div>
<div id="wp-fullscreen-central-toolbar" style="width:<?php echo $width; ?>px;"> <div id="wp-fullscreen-central-toolbar" style="width:<?php echo $width; ?>px;">
<div id="wp-fullscreen-mode-bar"><div id="wp-fullscreen-modes"> <div id="wp-fullscreen-mode-bar">
<a href="#" onclick="wp.editor.fullscreen.switchmode('tinymce');return false;"><?php _e( 'Visual' ); ?></a> <div id="wp-fullscreen-modes" class="button-group">
<a href="#" onclick="wp.editor.fullscreen.switchmode('html');return false;"><?php _ex( 'Text', 'Name for the Text editor tab (formerly HTML)' ); ?></a> <a class="button wp-fullscreen-mode-tinymce" href="#" onclick="wp.editor.fullscreen.switchmode( 'tinymce' ); return false;"><?php _e( 'Visual' ); ?></a>
</div></div> <a class="button wp-fullscreen-mode-html" href="#" onclick="wp.editor.fullscreen.switchmode( 'html' ); return false;"><?php _ex( 'Text', 'Name for the Text editor tab (formerly HTML)' ); ?></a>
</div>
</div>
<div id="wp-fullscreen-button-bar"><div id="wp-fullscreen-buttons" class="mce-toolbar"> <div id="wp-fullscreen-button-bar"><div id="wp-fullscreen-buttons" class="mce-toolbar">
<?php <?php

View File

@ -144,10 +144,12 @@ div.mce-panel {
div.mce-toolbar-grp { div.mce-toolbar-grp {
border-bottom: 1px solid #dedede; border-bottom: 1px solid #dedede;
background: #f5f5f5; background: #f5f5f5;
padding: 3px 35px 3px 3px;
position: relative;
} }
.mce-toolbar { .mce-toolbar .mce-btn-group {
padding: 1px 3px; margin: 0;
} }
div.mce-statusbar { div.mce-statusbar {
@ -159,48 +161,62 @@ div.mce-path {
margin: 0; margin: 0;
} }
.mce-toolbar .mce-btn { .mce-toolbar .mce-btn,
.qt-fullscreen {
border-color: transparent; border-color: transparent;
background: transparent; background: transparent;
-webkit-box-shadow: none; -webkit-box-shadow: none;
box-shadow: none; box-shadow: none;
text-shadow: none; text-shadow: none;
cursor: pointer;
} }
#wp-fullscreen-buttons .mce-btn, #wp-fullscreen-buttons .mce-btn,
.mce-toolbar .mce-btn-group .mce-btn { .mce-toolbar .mce-btn-group .mce-btn,
.qt-fullscreen {
border: 1px solid transparent; border: 1px solid transparent;
margin: 0 1px; margin: 2px;
-webkit-border-radius: 2px; background-image: none;
border-radius: 2px; -webkit-border-radius: 3px;
border-radius: 3px;
-webkit-filter: none; -webkit-filter: none;
filter: none; filter: none;
} }
#wp-fullscreen-buttons .mce-btn:hover, #wp-fullscreen-buttons .mce-btn:hover,
.mce-toolbar .mce-btn-group .mce-btn:hover { .mce-toolbar .mce-btn-group .mce-btn:hover,
-webkit-box-shadow: 0 0 transparent; #wp-fullscreen-buttons .mce-btn:focus,
box-shadow: 0 0 transparent; .mce-toolbar .mce-btn-group .mce-btn:focus,
border-color: #bbb; .qt-fullscreen:hover,
background: #eee; .qt-fullscreen:focus {
background-image: -webkit-gradient(linear, left bottom, left top, from(#e5e5e5), to(#fff)); background: #fafafa;
background-image: -webkit-linear-gradient(bottom, #e5e5e5, #fff); border-color: #999;
background-image: linear-gradient(to top, #e5e5e5, #fff); color: #222;
-webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
box-shadow: inset 0 1px 0 #fff, 0 1px 0 rgba( 0, 0, 0, 0.08 );
} }
.mce-toolbar .mce-btn-group .mce-btn.mce-active { .mce-toolbar .mce-btn-group .mce-btn.mce-active,
-webkit-box-shadow: 0 0 transparent; #wp-fullscreen-buttons .mce-btn.mce-active,
box-shadow: 0 0 transparent; .mce-toolbar .mce-btn-group .mce-btn:active,
border-color: #bbb; #wp-fullscreen-buttons .mce-btn:active {
background: #eee; background: #eee;
background-image: -webkit-gradient(linear, left bottom, left top, from(#f6f6f6), to(#e3e3e3)); border-color: #999;
background-image: -webkit-linear-gradient(bottom, #f6f6f6, #e3e3e3); color: #333;
background-image: linear-gradient(to top, #f6f6f6, #e3e3e3); -webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
} }
.mce-toolbar .mce-btn-group .mce-disabled.mce-btn:hover { .mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover,
border-color: transparent; #wp-fullscreen-buttons .mce-btn.mce-disabled:hover,
background: transparent; .mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,
#wp-fullscreen-buttons .mce-btn.mce-disabled:focus {
color: #aaa;
background: none;
border-color: #ddd;
text-shadow: 0 1px 0 #fff;
-webkit-box-shadow: none;
box-shadow: none;
} }
.mce-toolbar .mce-btn-group .mce-first, .mce-toolbar .mce-btn-group .mce-first,
@ -208,7 +224,8 @@ div.mce-path {
border-color: transparent; border-color: transparent;
} }
.mce-toolbar .mce-btn button { .mce-toolbar .mce-btn button,
.qt-fullscreen {
padding: 2px 3px; padding: 2px 3px;
line-height: normal; line-height: normal;
} }
@ -217,10 +234,6 @@ div.mce-path {
text-shadow: none; text-shadow: none;
} }
.mce-toolbar .mce-btn:focus {
outline: 1px solid #888;
}
.mce-toolbar .mce-btn-group > div { .mce-toolbar .mce-btn-group > div {
white-space: normal; white-space: normal;
} }
@ -230,7 +243,7 @@ div.mce-path {
} }
.mce-toolbar .mce-colorbutton .mce-preview { .mce-toolbar .mce-colorbutton .mce-preview {
margin-left: -17px; margin-left: -16px;
padding: 0; padding: 0;
width: 18px; width: 18px;
} }
@ -430,25 +443,6 @@ div.mce-menu .mce-menu-item-sep,
text-shadow: 0 -1px 0 rgba(0,0,0,0.1); text-shadow: 0 -1px 0 rgba(0,0,0,0.1);
} }
@media screen and ( max-width: 782px ) {
.mce-toolbar .mce-btn button {
padding: 5px 6px;
}
#wp-fullscreen-buttons .mce-btn,
.mce-toolbar .mce-btn-group .mce-btn {
margin: 0 3px;
}
.mce-toolbar .mce-colorbutton .mce-preview {
margin-left: -20px;
}
.mce-window .mce-btn {
padding: 2px 0;
}
}
/* Charmap modal */ /* Charmap modal */
.mce-charmap { .mce-charmap {
margin: 3px; margin: 3px;
@ -502,21 +496,25 @@ div.mce-menu .mce-menu-item-sep,
padding: 0; padding: 0;
} }
.mce-toolbar .mce-btn:hover .mce-ico, .qt-fullscreen {
.mce-toolbar .mce-btn.mce-active .mce-ico, color: #777;
.mce-toolbar .mce-btn:hover .mce-caret, line-height: 20px;
.mce-toolbar .mce-btn.mce-active .mce-caret { width: 28px;
color: #333; height: 26px;
} text-align: center;
text-shadow: none;
.mce-toolbar .mce-btn.mce-active .mce-open {
border-left-color: #bdbdbd;
} }
.mce-toolbar .mce-btn .mce-open { .mce-toolbar .mce-btn .mce-open {
line-height: 20px; line-height: 20px;
} }
.mce-toolbar .mce-btn:hover .mce-open,
.mce-toolbar .mce-btn:focus .mce-open,
.mce-toolbar .mce-btn.mce-active .mce-open {
border-left-color: #999;
}
i.mce-i-bold, i.mce-i-bold,
i.mce-i-italic, i.mce-i-italic,
i.mce-i-bullist, i.mce-i-bullist,
@ -561,6 +559,14 @@ i.mce-i-hr,
padding-right: 2px; padding-right: 2px;
} }
.qt-fullscreen {
font: normal 20px/1 'dashicons';
vertical-align: top;
speak: none;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
i.mce-i-bold:before { i.mce-i-bold:before {
content: '\f200'; content: '\f200';
} }
@ -614,7 +620,8 @@ i.mce-i-spellchecker:before {
} }
i.mce-i-fullscreen:before, i.mce-i-fullscreen:before,
i.mce-i-wp_fullscreen:before { i.mce-i-wp_fullscreen:before,
.qt-fullscreen:before {
content: '\f211'; content: '\f211';
} }
@ -688,7 +695,7 @@ i.mce-i-hr:before {
} }
.mce-i-wp_code:before { .mce-i-wp_code:before {
content: "\e017"; content: '\e017';
} }
/* Editors */ /* Editors */
@ -839,44 +846,12 @@ i.mce-i-hr:before {
.quicktags-toolbar { .quicktags-toolbar {
border-bottom-style: solid; border-bottom-style: solid;
border-bottom-width: 1px; border-bottom-width: 1px;
padding: 2px 8px 0; padding: 3px 35px 3px 3px;
min-height: 29px; position: relative;
} }
.quicktags-toolbar > div { .wp-core-ui .quicktags-toolbar input.button.button-small {
padding: 2px 4px 0; margin: 2px;
}
.quicktags-toolbar input {
margin: 2px 1px 4px;
line-height: 18px;
display: inline-block;
min-width: 26px;
padding: 2px 4px;
font: 12px/18px "Open Sans", sans-serif;
color: #464646;
cursor: pointer;
border: 1px solid #c3c3c3;
-webkit-border-radius: 3px;
border-radius: 3px;
background: #eee;
background-image: -webkit-gradient(linear, left bottom, left top, from(#e3e3e3), to(#fff));
background-image: -webkit-linear-gradient(bottom, #e3e3e3, #fff);
background-image: linear-gradient(to top, #e3e3e3, #fff);
}
.quicktags-toolbar input:hover {
border-color: #aaa;
background: #ddd;
}
.quicktags-toolbar input:focus {
border-color: #777;
outline: 0;
}
.quicktags-toolbar input:active {
border-color: #aaa;
} }
.quicktags-toolbar input[value="link"] { .quicktags-toolbar input[value="link"] {
@ -895,6 +870,49 @@ i.mce-i-hr:before {
font-weight: bold; font-weight: bold;
} }
.mce-toolbar .mce-btn-group .mce-btn.mce-wp-fullscreen,
.qt-fullscreen {
position: absolute;
top: 0;
right: 0;
margin-top: 5px;
margin-right: 5px;
}
@media screen and ( max-width: 782px ) {
.mce-toolbar .mce-btn button,
.qt-fullscreen {
padding: 7px 8px;
}
.qt-fullscreen {
width: 38px;
height: 34px;
}
.mce-toolbar .mce-colorbutton .mce-preview {
margin-left: -21px;
}
.mce-window .mce-btn {
padding: 2px 0;
}
div.mce-toolbar-grp,
.quicktags-toolbar {
padding-right: 46px;
}
}
@media screen and ( min-width: 782px ) {
.wp-core-ui .quicktags-toolbar input.button.button-small {
/* .button-small is normaly 11px, but a bit too small for these buttons. */
font-size: 12px;
height: 26px;
line-height: 24px;
}
}
#wp_editbtns, #wp_editbtns,
#wp_gallerybtns { #wp_gallerybtns {
padding: 2px; padding: 2px;
@ -1424,8 +1442,12 @@ i.mce-i-hr:before {
/* =Overlay Body /* =Overlay Body
-------------------------------------------------------------- */ -------------------------------------------------------------- */
#wp-fullscreen-body { #wp-fullscreen-body,
.mce-fullscreen {
z-index: 100010; z-index: 100010;
}
#wp-fullscreen-body {
display: none; display: none;
} }
@ -1438,7 +1460,6 @@ i.mce-i-hr:before {
bottom: 30px; bottom: 30px;
top: 60px; top: 60px;
z-index: 100015; z-index: 100015;
} }
.wp-fullscreen-wrap .wp-editor-container, .wp-fullscreen-wrap .wp-editor-container,
@ -1500,7 +1521,7 @@ i.mce-i-hr:before {
-------------------------------------------------------------- */ -------------------------------------------------------------- */
#fullscreen-topbar { #fullscreen-topbar {
background: #f5f5f5; background: #f5f5f5;
border-bottom: 1px solid #fff; border-bottom: 1px solid #dedede;
height: 45px; height: 45px;
position: fixed; position: fixed;
left: 0; left: 0;
@ -1553,51 +1574,6 @@ i.mce-i-hr:before {
padding: 3px 14px 0 0; padding: 3px 14px 0 0;
} }
#wp-fullscreen-modes a {
display: block;
font-size: 11px;
text-decoration: none;
float: left;
margin: 1px 0 0 0;
padding: 2px 6px 2px;
border-width: 1px 1px 1px 0;
border-style: solid;
border-color: #bbb;
color: #777;
text-shadow: 0 1px 0 #fff;
background-color: #f4f4f4;
background: #f4f4f4;
background-image: -webkit-gradient(linear, left bottom, left top, from(#e4e4e4), to(#f9f9f9));
background-image: -webkit-linear-gradient(bottom, #e4e4e4, #f9f9f9);
background-image: linear-gradient(to top, #e4e4e4, #f9f9f9);
}
#wp-fullscreen-modes a:hover,
.wp-html-mode #wp-fullscreen-modes a:last-child,
.wp-tmce-mode #wp-fullscreen-modes a:first-child {
color: #333;
border-color: #999;
background: #eee;
background-image: -webkit-gradient(linear, left top, left bottom, from(#e4e4e4), to(#f9f9f9));
background-image: -webkit-linear-gradient(top, #e4e4e4, #f9f9f9);
background-image: linear-gradient(to bottom, #e4e4e4, #f9f9f9);
}
#wp-fullscreen-modes a:first-child {
border-width: 1px;
-webkit-border-top-left-radius: 3px;
border-top-left-radius: 3px;
-webkit-border-bottom-left-radius: 3px;
border-bottom-left-radius: 3px;
}
#wp-fullscreen-modes a:last-child {
-webkit-border-top-right-radius: 3px;
border-top-right-radius: 3px;
-webkit-border-bottom-right-radius: 3px;
border-bottom-right-radius: 3px;
}
#wp-fullscreen-buttons .hidden { #wp-fullscreen-buttons .hidden {
display: none; display: none;
} }

View File

@ -406,7 +406,10 @@ function edButton(id, display, tagStart, tagEnd, access) {
}; };
qt.Button.prototype.html = function(idPrefix) { qt.Button.prototype.html = function(idPrefix) {
var access = this.access ? ' accesskey="' + this.access + '"' : ''; var access = this.access ? ' accesskey="' + this.access + '"' : '';
return '<input type="button" id="' + idPrefix + this.id + '"' + access + ' class="ed_button" title="' + this.title + '" value="' + this.display + '" />'; if ( this.id === 'fullscreen' ) {
return '<button type="button" id="' + idPrefix + this.id + '"' + access + ' class="ed_button qt-fullscreen" title="' + this.title + '"></button>';
}
return '<input type="button" id="' + idPrefix + this.id + '"' + access + ' class="ed_button button button-small" title="' + this.title + '" value="' + this.display + '" />';
}; };
qt.Button.prototype.callback = function(){}; qt.Button.prototype.callback = function(){};

View File

@ -57,6 +57,7 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
cmd: 'WP_Adv', cmd: 'WP_Adv',
onPostRender: function() { onPostRender: function() {
wpAdvButton = this; wpAdvButton = this;
wpAdvButton.active( getUserSetting( 'hidetb' ) === '1' ? true : false );
} }
}); });

View File

@ -91,7 +91,8 @@ tinymce.PluginManager.add( 'wpfullscreen', function( editor ) {
editor.addButton( 'wp_fullscreen', { editor.addButton( 'wp_fullscreen', {
tooltip: 'Distraction Free Writing', tooltip: 'Distraction Free Writing',
shortcut: 'Alt+Shift+W', shortcut: 'Alt+Shift+W',
onclick: toggleFullscreen onclick: toggleFullscreen,
classes: 'wp-fullscreen btn widget' // This overwrites all classes on the container!
}); });
editor.addMenuItem( 'wp_fullscreen', { editor.addMenuItem( 'wp_fullscreen', {

View File

@ -4,7 +4,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '3.9-beta3-27851-src'; $wp_version = '3.9-beta3-27857-src';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.