From 3506918ab6b86608e6e3b7919ffc1b21b0d33c86 Mon Sep 17 00:00:00 2001
From: Dries Buytaert <dries@buytaert.net>
Date: Wed, 12 Aug 2009 11:32:07 +0000
Subject: [PATCH] =?UTF-8?q?-=20Patch=20#539724=20by=20G=C3=A1bor=20Hojtsy,?=
 =?UTF-8?q?=20Bohjan:=20make=20Seven=20legends=20look=20like=20on=20the=20?=
 =?UTF-8?q?mocks.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 modules/simpletest/simpletest.test |  2 +-
 themes/seven/style.css             | 23 ++++++++++++++++++++++-
 themes/seven/template.php          | 23 +++++++++++++++++++++++
 3 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/modules/simpletest/simpletest.test b/modules/simpletest/simpletest.test
index e28b68430566..8bf2188d201b 100644
--- a/modules/simpletest/simpletest.test
+++ b/modules/simpletest/simpletest.test
@@ -232,7 +232,7 @@ class SimpleTestFunctionalTest extends DrupalWebTestCase {
     $fieldsets = $this->xpath('//fieldset');
     $info = $this->getInfo();
     foreach ($fieldsets as $fieldset) {
-      if ($fieldset->legend == $info['name']) {
+      if ($this->asText($fieldset->legend) == $info['name']) {
         return $fieldset;
       }
     }
diff --git a/themes/seven/style.css b/themes/seven/style.css
index 12848cf87278..07ccb7d4b35e 100644
--- a/themes/seven/style.css
+++ b/themes/seven/style.css
@@ -443,14 +443,35 @@ table tr.selected td {
 /* Fieldsets & Form items */
 fieldset {
   border: 1px solid #ccc;
-  padding: 9px;
+  padding: 30px 13px 13px 14px;
   margin: 0 0 10px;
 }
 
+fieldset legend span,
+fieldset legend a {
+  position: absolute;
+  margin-top: 9px;
+}
+
+fieldset legend a span {
+  position: relative;
+  margin-top: 0;
+}
+
 fieldset.collapsed {
   background: transparent;
 }
 
+html.js fieldset.collapsed legend,
+html.js fieldset.collapsed legend * {
+  display: block;
+}
+html.js fieldset.collapsed {
+  border-width: 1px;
+  margin-bottom: 10px;
+  padding: 13px;
+}
+
 fieldset fieldset {
   background: #fff;
 }
diff --git a/themes/seven/template.php b/themes/seven/template.php
index 701b54c2a1c6..9fd97f12fd3b 100644
--- a/themes/seven/template.php
+++ b/themes/seven/template.php
@@ -65,3 +65,26 @@ function seven_tablesort_indicator($style) {
     return theme('image', $theme_path . '/images/arrow-desc.png', t('sort icon'), t('sort descending'));
   }
 }
+
+/**
+ * Override of theme_fieldset().
+ *
+ * Add span to legend tag, so we can style it to be inside the fieldset.
+ */
+function seven_fieldset($element) {
+  if (!empty($element['#collapsible'])) {
+    drupal_add_js('misc/collapse.js');
+
+    if (!isset($element['#attributes']['class'])) {
+      $element['#attributes']['class'] = '';
+    }
+
+    $element['#attributes']['class'] .= ' collapsible';
+    if (!empty($element['#collapsed'])) {
+      $element['#attributes']['class'] .= ' collapsed';
+    }
+  }
+  $element['#attributes']['id'] = $element['#id'];
+
+  return '<fieldset' . drupal_attributes($element['#attributes']) . '>' . ($element['#title'] ? '<legend><span>' . $element['#title'] . '</span></legend>' : '') . (isset($element['#description']) && $element['#description'] ? '<div class="fieldset-description">' . $element['#description'] . '</div>' : '') . (!empty($element['#children']) ? $element['#children'] : '') . (isset($element['#value']) ? $element['#value'] : '') . "</fieldset>\n";
+}
-- 
GitLab