<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[31975] trunk/src: Customizer Theme Switcher: Navigation streamlining.</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="https://core.trac.wordpress.org/changeset/31975">31975</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"https://core.trac.wordpress.org/changeset/31975","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>ocean90</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2015-04-01 22:50:10 +0000 (Wed, 01 Apr 2015)</dd>
</dl>

<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>Customizer Theme Switcher: Navigation streamlining.

* Detach Themes section from other controls
* Move to buttons to navigate back and forth
* Change titles based on current theme status, active/previewing
* Hide the active/previewing theme from the list of available themes

props folletto for the design concepts.
props designsimply, celloexpressions for initial patches.
props Team Gandalf.
see <a href="https://core.trac.wordpress.org/ticket/31289">#31289</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunksrcwpadmincsscustomizecontrolscss">trunk/src/wp-admin/css/customize-controls.css</a></li>
<li><a href="#trunksrcwpadminjscustomizecontrolsjs">trunk/src/wp-admin/js/customize-controls.js</a></li>
<li><a href="#trunksrcwpincludesclasswpcustomizemanagerphp">trunk/src/wp-includes/class-wp-customize-manager.php</a></li>
<li><a href="#trunksrcwpincludesclasswpcustomizesectionphp">trunk/src/wp-includes/class-wp-customize-section.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunksrcwpadmincsscustomizecontrolscss"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/css/customize-controls.css</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/css/customize-controls.css     2015-04-01 22:24:21 UTC (rev 31974)
+++ trunk/src/wp-admin/css/customize-controls.css       2015-04-01 22:50:10 UTC (rev 31975)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -882,6 +882,43 @@
</span><span class="cx" style="display: block; padding: 0 10px">        animation: customize-reload .75s;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.control-section-themes .accordion-section-title {
+       cursor: default;
+}
+
+#customize-theme-controls .control-section-themes .accordion-section-title:hover,
+#customize-theme-controls .control-section-themes .accordion-section-title:focus {
+       color: #555555;
+       background-color: #fff;
+}
+
+.control-section-themes .accordion-section-title {
+       margin: 15px 0;
+}
+
+.customize-themes-panel .accordion-section-title {
+       margin: 15px -8px;
+}
+
+.control-section-themes .accordion-section-title {
+       padding-right: 100px; /* Space for the button */
+}
+
+.control-section-themes .accordion-section-title span {
+       font-size: small;
+       display: block;
+       font-weight: 400;
+}
+
+.control-section-themes .accordion-section-title .change-theme,
+.control-section-themes .accordion-section-title .customize-theme {
+       position: absolute;
+       right: 10px;
+       top: 50%;
+       margin-top: -14px;
+       font-weight: normal;
+}
+
</ins><span class="cx" style="display: block; padding: 0 10px"> .customize-themes-panel {
</span><span class="cx" style="display: block; padding: 0 10px">        display: none;
</span><span class="cx" style="display: block; padding: 0 10px">        padding: 0 8px;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -889,8 +926,14 @@
</span><span class="cx" style="display: block; padding: 0 10px">        box-sizing: border-box;
</span><span class="cx" style="display: block; padding: 0 10px">        -webkit-box-sizing: border-box;
</span><span class="cx" style="display: block; padding: 0 10px">        -moz-box-sizing: border-box;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        box-sizing: border-box;
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+.customize-themes-panel > h2 {
+       padding: 15px 8px 0 8px;
+}
+
</ins><span class="cx" style="display: block; padding: 0 10px"> .control-section.open .customize-themes-panel {
</span><span class="cx" style="display: block; padding: 0 10px">        display: block;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -933,36 +976,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">        width: 100%;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
-.wp-customizer .theme-browser .theme.active:hover,
-.wp-customizer .theme-browser .theme.active:focus {
-       cursor: default;
-}
-
-.wp-customizer .theme-browser .theme.active .more-details {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+#accordion-section-themes .accordion-section-title:after {
</ins><span class="cx" style="display: block; padding: 0 10px">         display: none;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.wp-customizer .theme-browser .theme.active .theme-name {
-       padding-right: 15px;
-}
-
-.wp-customizer .theme-browser.rendered .theme.active:hover .theme-screenshot img,
-.wp-customizer .theme-browser.rendered .theme.active:focus .theme-screenshot img {
-       opacity: 1;
-}
-
-/* Panel-like behavior */
-#accordion-section-themes .accordion-section-title:after {
-       content: "\f148";
-}
-
-.rtl #accordion-section-themes .accordion-section-title:after {
-       -webkit-transform: rotate(180deg);
-       -ms-transform: rotate(180deg);
-       transform: rotate(180deg);
-}
-
</del><span class="cx" style="display: block; padding: 0 10px"> #customize-theme-controls .control-section-themes.current-panel > h3.accordion-section-title {
</span><span class="cx" style="display: block; padding: 0 10px">        left: 0;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -980,18 +997,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">        left: 100%;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.in-themes-panel .control-panel-back:before {
-       content: "\f345";
-       left: 14px;
-}
-
-.in-themes-panel .control-panel-back {
-       left: 0;
-}
-
-.in-themes-panel .control-panel-back:before {
-}
-
</del><span class="cx" style="display: block; padding: 0 10px"> /* Details View */
</span><span class="cx" style="display: block; padding: 0 10px"> .wp-customizer .theme-overlay {
</span><span class="cx" style="display: block; padding: 0 10px">        display: none;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1039,8 +1044,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
-/** Handle cheaters. */
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+/* Handle cheaters. */
</ins><span class="cx" style="display: block; padding: 0 10px"> body.cheatin {
</span><span class="cx" style="display: block; padding: 0 10px">        font-size: medium;
</span><span class="cx" style="display: block; padding: 0 10px">        height: auto;
</span></span></pre></div>
<a id="trunksrcwpadminjscustomizecontrolsjs"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/js/customize-controls.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/customize-controls.js       2015-04-01 22:24:21 UTC (rev 31974)
+++ trunk/src/wp-admin/js/customize-controls.js 2015-04-01 22:50:10 UTC (rev 31975)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -591,7 +591,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        var section = this;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        // Expand/Collapse section/panel.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        section.container.find( '.accordion-section-title' ).on( 'click keydown', function( event ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 section.container.find( '.change-theme, .customize-theme' ).on( 'click keydown', function( event ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                        return;
</span><span class="cx" style="display: block; padding: 0 10px">                                }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -604,19 +604,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                }
</span><span class="cx" style="display: block; padding: 0 10px">                        });
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
-                       $( '#customize-header-actions' ).on( 'click keydown', '.control-panel-back', function( event ) {
-                               if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
-                                       return;
-                               }
-
-                               event.preventDefault(); // Keep this AFTER the key filter above
-
-                               if ( section.expanded() ) {
-                                       section.collapse();
-                               }
-                       });
-
</del><span class="cx" style="display: block; padding: 0 10px">                         // Theme navigation in details view.
</span><span class="cx" style="display: block; padding: 0 10px">                        section.container.on( 'click keydown', '.left', function( event ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -692,8 +679,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                container = section.closest( '.wp-full-overlay-sidebar-content' ),
</span><span class="cx" style="display: block; padding: 0 10px">                                siblings = container.find( '.open' ),
</span><span class="cx" style="display: block; padding: 0 10px">                                topPanel = overlay.find( '#customize-theme-controls > ul > .accordion-section > .accordion-section-title' ).add( '#customize-info > .accordion-section-title' ),
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                backBtn = overlay.find( '.control-panel-back' ),
-                               panelTitle = section.find( '.accordion-section-title' ).first(),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         customizeBtn = section.find( '.customize-theme' ),
+                               changeBtn = section.find( '.change-theme' ),
</ins><span class="cx" style="display: block; padding: 0 10px">                                 content = section.find( '.control-panel-content' );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        if ( expanded ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -722,8 +709,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="cx" style="display: block; padding: 0 10px">                                } );
</span><span class="cx" style="display: block; padding: 0 10px">                                topPanel.attr( 'tabindex', '-1' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                backBtn.attr( 'tabindex', '0' );
-                               backBtn.focus();
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         customizeBtn.focus();
</ins><span class="cx" style="display: block; padding: 0 10px">                         } else {
</span><span class="cx" style="display: block; padding: 0 10px">                                siblings.removeClass( 'open' );
</span><span class="cx" style="display: block; padding: 0 10px">                                section.removeClass( 'current-panel' );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -735,8 +721,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="cx" style="display: block; padding: 0 10px">                                } );
</span><span class="cx" style="display: block; padding: 0 10px">                                topPanel.attr( 'tabindex', '0' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                backBtn.attr( 'tabindex', '-1' );
-                               panelTitle.focus();
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         changeBtn.focus();
</ins><span class="cx" style="display: block; padding: 0 10px">                                 container.scrollTop( 0 );
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="cx" style="display: block; padding: 0 10px">                },
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1899,10 +1884,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        return;
</span><span class="cx" style="display: block; padding: 0 10px">                                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                if ( $( this ).hasClass( 'active' ) ) {
-                                       return;
-                               }
-
</del><span class="cx" style="display: block; padding: 0 10px">                                 var previewUrl = $( this ).data( 'previewUrl' );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                $( '.wp-full-overlay' ).addClass( 'customize-loading' );
</span></span></pre></div>
<a id="trunksrcwpincludesclasswpcustomizemanagerphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/class-wp-customize-manager.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/class-wp-customize-manager.php      2015-04-01 22:24:21 UTC (rev 31974)
+++ trunk/src/wp-includes/class-wp-customize-manager.php        2015-04-01 22:50:10 UTC (rev 31975)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1148,9 +1148,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">                /* Themes */
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $this->add_section( new WP_Customize_Themes_Section( $this, 'themes', array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'title' => sprintf( __( 'Theme: %s' ), $this->theme()->display('Name') ),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'title'      => $this->theme()->display( 'Name' ),
</ins><span class="cx" style="display: block; padding: 0 10px">                         'capability' => 'switch_themes',
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'priority' => 0,
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'priority'   => 0,
</ins><span class="cx" style="display: block; padding: 0 10px">                 ) ) );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Themes Setting (unused - the theme is considerably more fundamental to the Customizer experience).
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1163,10 +1163,14 @@
</span><span class="cx" style="display: block; padding: 0 10px">                // Theme Controls.
</span><span class="cx" style="display: block; padding: 0 10px">                $themes = wp_prepare_themes_for_js();
</span><span class="cx" style="display: block; padding: 0 10px">                foreach ( $themes as $theme ) {
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        if ( $theme['active'] ) {
+                               continue;
+                       }
+
</ins><span class="cx" style="display: block; padding: 0 10px">                         $theme_id = 'theme_' . $theme['id'];
</span><span class="cx" style="display: block; padding: 0 10px">                        $this->add_control( new WP_Customize_Theme_Control( $this, $theme_id, array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                'theme' => $theme,
-                               'section' => 'themes',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         'theme'    => $theme,
+                               'section'  => 'themes',
</ins><span class="cx" style="display: block; padding: 0 10px">                                 'settings' => 'active_theme',
</span><span class="cx" style="display: block; padding: 0 10px">                        ) ) );
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span></span></pre></div>
<a id="trunksrcwpincludesclasswpcustomizesectionphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/class-wp-customize-section.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/class-wp-customize-section.php      2015-04-01 22:24:21 UTC (rev 31974)
+++ trunk/src/wp-includes/class-wp-customize-section.php        2015-04-01 22:50:10 UTC (rev 31975)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -341,17 +341,42 @@
</span><span class="cx" style="display: block; padding: 0 10px">                $classes = 'accordion-section control-section control-section-' . $this->type;
</span><span class="cx" style="display: block; padding: 0 10px">                ?>
</span><span class="cx" style="display: block; padding: 0 10px">                <li id="accordion-section-<?php echo esc_attr( $this->id ); ?>" class="<?php echo esc_attr( $classes ); ?>">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        <h3 class="accordion-section-title" tabindex="0">
-                               <?php echo esc_html( $this->title ); ?>
-                               <span class="screen-reader-text"><?php _e( 'Press return or enter to expand' ); ?></span>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 <h3 class="accordion-section-title">
+                               <?php
+                               if ( $this->manager->is_theme_active() ) {
+                                       /* translators: %s: theme name */
+                                       printf( __( '<span>Active theme</span> %s' ), $this->title );
+                               } else {
+                                       /* translators: %s: theme name */
+                                       printf( __( '<span>Previewing theme</span> %s' ), $this->title );
+                               }
+                               ?>
+
+                               <button type="button" class="button change-theme"><?php _ex( 'Change', 'theme' ); ?></button>
</ins><span class="cx" style="display: block; padding: 0 10px">                         </h3>
</span><span class="cx" style="display: block; padding: 0 10px">                        <div class="customize-themes-panel control-panel-content themes-php">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                <h2><?php esc_html_e( 'Themes' ); ?>
-                                       <span class="title-count theme-count"><?php echo count( $this->controls ) - 1; ?></span>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         <h2>
+                                       <?php _e( 'Themes' ); ?>
+                                       <span class="title-count theme-count"><?php echo count( $this->controls ) + 1 /* Active theme */; ?></span>
</ins><span class="cx" style="display: block; padding: 0 10px">                                 </h2>
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+                               <h3 class="accordion-section-title customize-section-title">
+                                       <?php
+                                       if ( $this->manager->is_theme_active() ) {
+                                               /* translators: %s: theme name */
+                                               printf( __( '<span>Active theme</span> %s' ), $this->title );
+                                       } else {
+                                               /* translators: %s: theme name */
+                                               printf( __( '<span>Previewing theme</span> %s' ), $this->title );
+                                       }
+                                       ?>
+                                       <button type="button" class="button customize-theme"><?php _e( 'Customize' ); ?></button>
+                               </h3>
+
</ins><span class="cx" style="display: block; padding: 0 10px">                                 <div class="theme-overlay" tabindex="0" role="dialog" aria-label="<?php esc_attr_e( 'Theme Details' ); ?>"></div>
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                                 <div id="customize-container"></div>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                <?php if ( 6 < count( $this->controls ) ) : ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         <?php if ( count( $this->controls ) > 4 ) : ?>
</ins><span class="cx" style="display: block; padding: 0 10px">                                         <p><label for="themes-filter">
</span><span class="cx" style="display: block; padding: 0 10px">                                                <span class="screen-reader-text"><?php _e( 'Search installed themes...' ); ?></span>
</span><span class="cx" style="display: block; padding: 0 10px">                                                <input type="search" id="themes-filter" placeholder="<?php esc_attr_e( 'Search installed themes...' ); ?>" />
</span></span></pre>
</div>
</div>

</body>
</html>